@charset "utf-8";
/* ------------------------------------
	common
------------------------------------ */
.bg_sub-color{
	background:var(--sub-color);
}
.vivid_sub-color{
    color:#927B43;
    font-weight: bold;
    border-bottom: 2px solid #333;
}
p.ask,
span.ask,
ul.ask li{
	font-size: 1rem;
	text-indent: -1em;
	padding-left:1em;
	margin-top:15px !important;
	display: block;
	line-height:1.5;
}
.btn_area{
	margin: 0 auto;
}
.btn_area a::after{
	content: url(../img/link_icon.png);
	top:inherit;
}
/* 768px */
@media only screen and (max-width:768px) {
	main section:last-child{
		margin:0;
	}
}
/* ------------------------------------
	cont_header visual
------------------------------------ */



/* ------------------------------------
	content-1
------------------------------------ */
/* cont_header visual */
.cont_header.visual.large {
	height: 485px;
}
.cont_header.visual.large::after{
	content: none;
}
.cont_header.visual.large .wrap::after {
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
	background:url(../img/content-1/header_bk.png) center center no-repeat;
	background-size: cover;
    z-index: -1;
}
.cont_header.visual.large .wrap::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    width:614px;
    height: 100%;
	background:url(../img/content-1/header.png) no-repeat;
	background-size: contain;
    z-index:0;
}
.cont_header.visual.large .wrap{
	display: flex;
	flex-direction:column;
	justify-content: space-between;
	height:100%;
	padding-bottom:70px;
}
.cont_header.visual .wrap p{
	width: 73%;
	font-size: 2rem;
	line-height:2;
	margin: 0 0 40px 0;
}
.cont_header.visual .wrap p:nth-of-type(2){
	margin-bottom:0;
}
/* content */
.content-1 h2{
	height:50px;
	display:flex;
	align-items: center;
	padding-left:15px;
}
section.bg_sub-color{
	padding:100px 0;
	gap:60px;
	display: grid;
}
section.bg_sub-color div{
	width: 94%;
    max-width: 800px;
    margin: 0 auto !important;
}
section.bg_sub-color h2{
	font-size:2rem;
	justify-content: center;
	background:#fff;
	padding:0;
}
/* table */
table{
	width:100%;
	min-width: 800px;
	border-collapse: collapse;
}
table tbody{
	border: 1px solid;
	background:#fff;
}
table tr td{
	text-align: center;
	vertical-align: middle;
	border: 1px solid;
	line-height: 1.5;
	padding:15px;
}
table tr td:first-child{
	width:20%;
}
/* 1280px */
@media only screen and (max-width:1280px) {
	.cont_header.visual.large .wrap::before{
		right:-6%;
	}
}
/* 1152px */
@media only screen and (max-width:1152px){
	.cont_header.visual .wrap p{
		width:50%;
	}
}
/* 864px */
@media only screen and (max-width:864px) {
	.cont_header.visual.large .wrap::before{
		right:-11%;
	}
	.scroll{
		overflow-x: scroll;
	}
}
/* 800px */
@media only screen and (max-width:800px) {
	.cont_header.visual.large .wrap::before{
		right:-21%;
	}
}
/* 768px */
@media only screen and (max-width:768px) {
	.cont_header.visual.large{
		height:388px;
	}
	.cont_header.visual.large .wrap{
		padding-top:20px;
	}
	.cont_header.visual.large .wrap::before{
		background:url(../img/content-1/header_sp_before.png) center center no-repeat;
		background-size:contain;
		height: 295px;
		left:50%;
		transform: translateX(-50%);
		bottom:0;
		top:inherit;
		right: inherit;
	}
	.cont_header.visual.large .wrap::after{
		background:url(../img/content-1/header_sp_after.png) center center no-repeat;
		background-size:cover;
	}
	.cont_header.visual.large p{
		width: 100%;
		font-size: 1.6rem;
	}
}
/* ------------------------------------
	content-1 end
------------------------------------ */



/* ------------------------------------
	content-2
------------------------------------ */
.cont_header.visual.lower {
	height: 240px;
}
.content-2 .cont_header.visual::after {
	background:url(../img/content-2/header.png) center right no-repeat;
	background-size: cover;
}
/* topics_list */
.topics_list article {
	padding: 0 0 90px;
	border-bottom: 1px dashed #707070;
	margin: 0 0 45px;
}
.topics_list article:last-of-type {
	border-bottom: none;
	margin: 0;
	padding: 0;
}
.topics_list .info{
	margin-bottom: 20px;
	display: grid;
	gap: 40px;
	grid-template-columns: 1fr max-content;
}
.topics_list .info > div:first-child > div{
	font-size: 1.5rem;
	color:#666;
	line-height: normal;
}
.topics_list .info .category{
	display: inline-block;
	margin-left:15px;
	background:var(--sub-color);
	padding:3px 15px;
}
.topics_list .info p{
	margin:45px 0 60px 0;
}
.topics_list .info > div:last-child{
	width:285px;
}
.topics_list .info .btn_area{
	text-align: left;
}
.topics_list .info .btn_area a::after{
	content:url(../img/arrow.png);
	top:10px;
}
.topics_list .bg_sub-color{
	padding:30px;
	margin-top:60px;
}
.topics_list .bg_sub-color > div{
	display: grid;
	gap:40px;
	grid-template-columns: 1fr min(260px);
	align-items: center;
}
.topics_list .bg_sub-color p{
	font-size:1.4rem;
	margin-top:10px;
}
.topics_list .bg_sub-color .btn_area{
	width:100%;
}
.topics_list .bg_sub-color .btn_area a{
	font-size: 1.6rem;
}
.topics_list .bg_sub-color hr{
	margin:30px 0;
}
/* 768px */
@media only screen and (max-width: 768px) {
	.content-2 .cont_header.visual::after {
		background:url(../img/content-2/header_sp.png) center no-repeat;
		background-size: cover;
	}
	.cont_header.visual.lower {
		height: 222px;
		margin: 0 0 30px;
	}
	.topics_list article {
		padding: 0 0 30px;
		margin: 0 0 30px;
	}
	.topics_list article img {
		width: 100%;
	}
	.topics_list .info,
	.topics_list .bg_sub-color > div{
		display: flex;
		flex-direction: column;
	}
	.topics_list .bg_sub-color > div{
		align-items: inherit;
	}
	.topics_list .info p{
		margin:40px 0;
	}
	.topics_list .info .btn_area{
		text-align: center;
	}
	.content-2 main .btn_area a{
		max-width:250px;
	}
	.topics_list .info > div:last-child{
		margin: auto;
	}
}
/* ------------------------------------
	content-2 end
------------------------------------ */



/* ------------------------------------
	content-3
------------------------------------ */
.content-3 .cont_header.visual::after {
	background:url(../img/content-3/header.png) center center no-repeat;
	background-size: cover;
}
.content-3 .contents_wrap > div{
	margin-bottom:100px;
	line-height: 2;
}
.content-3 .contents_wrap section:last-of-type{
	margin-bottom:90px;
}
.content-3 h2{
	border-bottom:1px solid #707070;
	font-size: 2rem;
	padding-bottom:10px;
}
.content-3 h2 br + span{
    letter-spacing: -14px;
    padding: 0 10px 0 65px;
}

.content-3 .item_img02{
    width:235px;
    margin: 0 auto;
    text-align: center;
}
.content-3 .item_img03{
    width:250px;
    margin: 0 auto;
    text-align: center;
}
.content-3 .item_img04 img{
    width:280px;
}
.content-3 .item_img05_sp .sp{
    width:240px;
}
.content-3 .item_img06 img{
    width:280px;
}
.content-3 .item_img07{
    width:450px;
    margin: 0 auto;
}
.content-3 .item_img07_sp{
    width:450px;
    margin: 0 auto;
}
article.item{
	padding: 0 0 90px;
    border-bottom: 1px dashed #707070;
    margin: 0 0 40px;
}
article.item:first-of-type{
	margin-top:100px;
}
article.item:last-of-type{
	border:none;
	margin:0;
}
.item h3{
	font-weight: bold;
	font-size: 2.4rem;
}
.item .flex{
	gap:100px;
	margin:60px 0;
}
.item .flex > *{
	width:350px;
}
.item .flex img{
	object-fit: contain;
}
.item .flex span{
	font-size:1.4rem;
	font-weight: bold;
	display: block;
	line-height: normal;
}
.content-3 .btn_area a{
	height:74px;
}
.item .grid,
.item .bg_img{
	font-weight:bold;
	margin:60px 0;
}
.item .grid{
	gap:45px;
	grid-template-columns:calc(560px /2) 1fr;
	align-items: center;
}
.item h4{
	font-size:2.2rem;
	margin-bottom:20px;
}
.item .bg_img{
	background:url(../img/content-3/img05.png) left -200px center no-repeat;
    background-size: 85%;
	width:100%;
	height:385px;
	display: grid;
	place-content: center;
}
.item .bg_img div{
	margin-left:154px;
}
.content-3 .contents_wrap section:last-of-type figure{
	margin:45px 0 25px 0;
}
.content-3 .contents_wrap section:last-of-type figcaption{
	margin-top:25px;
	text-align: center;
}
ul.ask li{
	text-indent: -4rem;
    padding-left: 4rem;
	margin-top:0 !important;
}
ul.ask span{
	letter-spacing: 3px;
}
.content-3 .contents_wrap section .btn_ginza a{
    padding: 0 45px 0 0px;
}
/* min-901px */
/* @media only screen and (min-width: 901px) {
	.content-3 .cont_header.visual br.mb{
		display: none;
	}
} */
/* 900px */
@media only screen and (max-width: 900px) {
	.content-3 .cont_header.visual h1{
		width:83%;
	}
	.content-3 .cont_header.visual::after{
		background-position:65% center;
	}
}
/* 768px */
@media only screen and (max-width: 768px) {
	.content-3 .cont_header.visual::after{
		background:linear-gradient(to right, #EEE8DA -6%, transparent), url(../img/content-3/header_sp.png) 80% center no-repeat;
		background-size:cover;
	}
    .content-3 .item_img01 img{
        width: 350px;
        margin: 0 auto;
        text-align: center;
    }
    
    .content-3 .item_img02 img{
        width: 235px;
        margin: 0 auto;
        text-align: center;
    }
	.item .flex,
	.item .grid,
	.item .bg_img{
		align-items: center;
	}
	.item .bg_img img{
		width:auto;
	}
	.item .bg_img{
		background:none;
		height: auto;
		display: flex;
		flex-direction: column;
		gap:40px;
	}
	.item .bg_img div{
		margin-left:0;
	}
}
/* min-601px */
@media only screen and (min-width: 601px) {
	.content-3 .cont_header.visual br.sp{
		display: none !important;
	}
}
/* 480px */
@media only screen and (max-width: 480px) {
	.content-3 .cont_header.visual::after{
		background-position:76% center;
	}
    .content-3 .item_img07_sp{
        width:auto;
    }
}
/* ------------------------------------
	content-3 end
------------------------------------ */



/* ------------------------------------
	reco
------------------------------------ */
.reco .cont_header {
	background:#EEE8DA;
	margin: 0 0 50px;
}
.reco .cont_header .wrap {
    padding: 32px 0;
}
.reco .cont_header h1 {
	font-size: 2.6rem;
}
.reco h2 {
    font-size: 2rem;
    margin: 0 0 14px;
}
.reco h3 {
    font-size: 1.6rem;
    margin: 0 0 14px;
	padding: 0;
}
.reco p {
	margin: 0 0 24px;
}
.border_b {
    position: relative;
    margin: 0 0 50px !important;
    padding: 0 0 50px;
}
.border_b::after {
	content: '';
	position: absolute;
	width: 200px;
	height: 1px;
	background-color: #8C9BA5;
	bottom: 1px;
	left: 50%;
	transform: translateX(-50%);
}
/* ※list */
.ul_attn {
	margin: 0 0 30px;
}
.ul_attn li {
	position: relative;
	padding-left: 1.5em;
}
.ul_attn li span {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
}
.reco .ul_attn li {
	line-height: 2.8rem;
    font-size: 1.4rem;
}
.reco #global_footer p.copy {
	margin: 0;
}
/* 768px */
@media only screen and (max-width: 768px) {
	.border_b {
		position: relative;
		margin: 0 0 40px;
		padding: 0 0 40px;
	}
	.reco .ul_attn li {
		line-height: 2.4rem;
	}
}

/* ------------------------------------
    print
------------------------------------ */
@media print{
	body.gnav{
		padding-top:120px;
	}
	.cont_header.visual.large{
		height:290px;
	}
	.cont_header.visual.large .wrap{
		height: auto;
		padding:0;
	}
	.cont_header.visual.large .wrap::before{
		background-position:right -15% bottom;
		background-size:contain;
	}
	.cont_header.visual h1 {
		font-size: 2.8rem;
	}
	.cont_header.visual h1 small {
		font-size: 1.6rem;
	}
	.cont_header.visual.large p{
		margin:0;
		padding: 20px 0 0;
	}
	.cont_header.visual.lower {
		height: 222px;
		margin: 0 0 30px;
	}
	.content-3 .cont_header.visual::after{
		background-position:right 35% center;
	}
	.cont_header.visual p {
		width: 100% !important;
		font-size: 1.6rem;
		margin: 0.2em 0 0;
	}
}