@charset "utf-8";
/* ------------------------------------
	cont_header visual
------------------------------------ */
/* content-1 */
.cont_header.visual.large {
	height: 450px;
	margin:0 0 90px;
}
.cont_header.visual.large::after {
	content: none;
}

/* content-2 ~ content-4 */
.cont_header.visual.lower {
	height: 240px;
}
.content-2 .cont_header.visual::after {
	background:url(../img/content-2/header.png) center center no-repeat;
	background-size: cover;
}
.content-3 .cont_header.visual::after {
	background:url(../img/content-3/header.png) center center no-repeat;
	background-size: cover;
}
.content-4 .cont_header.visual::after {
	background:url(../img/content-4/header.png) center center no-repeat;
	background-size: cover;
}

/* 768px */
@media only screen and (max-width: 768px) {
	.cont_header.visual.lower h1{
		color:#18b00d;
		text-shadow: 2px 2px 4px #fff;
	}
	.content-2 .cont_header.visual::after,
	.content-3 .cont_header.visual::after,
	.content-4 .cont_header.visual::after{
		background-position:right 15% center;
	}
}
/* ------------------------------------
	cont_header visual end
------------------------------------ */


/* ------------------------------------
	color
------------------------------------ */
.c_sub{
	color:var(--sub-color);
}
.c_main{
	color:var(--main-color);
}
.c_green{
	color: #8CC66D;
}
.c_blue{
	color:#5EB7E8;
}
.c_orange{
	color:#F6AD3C;
}
.c_pink{
	color:#F29B87;
}
/* ------------------------------------
	background-color
------------------------------------ */
.main_color_bg{
	background: var(--main-color);
}
.sub_color_bg{
	background: var(--sub-color);
}
.blue_color_bg{
	background:#5EB7E8;
}
.green_color_bg{
	background: #8CC66D;
}
.orange_color_bg{
	background:#F6AD3C;
}
.pink_color_bg{
	background:#F29B87;
}


/* ------------------------------------
	content-1
------------------------------------ */
.cont_header.visual.large .wrap::before,
.cont_header.visual.large .wrap::after {
	content: '';
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
	background-size: cover;
}
.cont_header.visual.large .wrap::before{
	background:url(../img/content-1/header_right.png) center right no-repeat;
	right:0;
}
.cont_header.visual.large .wrap::after {
	background:url(../img/content-1/header_left.png) center center no-repeat;
	left: 0;
    z-index: -1;
}

.cont_header.visual.large .br-middle{
	display: none;
}

/* h2 */
.contents_wrap h2 span{
	color:#333;
	font-size: 1.6rem;
	font-weight: bold;
}

/* section wide */
section.wide{
	background:rgb(29,80,162,0.1);
	width: 100vw;
	margin:0 calc(50% - 50vw);
	margin-bottom:50px;
	padding:20px 0;
	display: grid;
	gap:3rem;
}
section.wide:nth-of-type(2){
	margin-bottom:80px;
}
section.wide > *{
	width:800px;
	margin:0 auto !important;
	font-weight:bold;
}

/* section project */
section.project h3{
	color:#fff;
	height:50px;
	display:flex;
	align-items: center;
	padding:0 0 0 15px;
	margin-bottom:40px;
}
section.project .flex{
	display: grid;
	grid-template-columns: 1fr 380px;
	gap:30px;
	margin-bottom:50px;
}
section.project .flex div:last-child{
	width:380px;
	height:200px;
}
section.project .flex div:last-child img{
	object-fit: cover;
    height: 100%;
}
section.project .flex.two-pieces div:last-child{
	width:calc(100% / 2 - 5px);
	display: flex;
	gap:1rem;
}
section.project .flex.two-pieces div:last-child img.bg_gray{
	object-fit: contain;
	background:#E2E2E2;
}
section.project .flex div:first-child div{
	display:flex;
	gap:25px;
	font-weight: bold;
	align-items: center;
	margin-bottom: 40px;
}
section.project .flex div:first-child div p:first-child{
	font-size:1.8rem;
	margin:0;
}
section.project .flex div:first-child div p:last-child{
	margin:0;
}
section.project .flex div:first-child div p:last-child span{
	font-size:4.5rem;
	line-height: 1;
}

/* 1050px */
@media only screen and (max-width: 1050px) {
	.cont_header.visual.large .wrap::before{
		right:-80px;
	}
}
/* 960px */
@media only screen and (max-width: 960px) {
	.cont_header.visual.large .br-middle{
		display: block;
	}
	.cont_header.visual.large h1{
		line-height: 1.3;
	}
}
/* 810px */
@media only screen and (max-width: 810px) {
	.cont_header.visual.large {
		height: auto;
	}
	section.wide > *{
		width:91%;
	}
}
/* min-769px */
@media only screen and (min-width: 769px) {
	.cont_header.visual.large img{
		display: none;
	}
}
/* 768px */
@media only screen and (max-width: 768px) {
	.cont_header.visual.large .wrap {
		display: flex;
		flex-direction: column;
		padding: 20px 0 0;
		gap:20px;
	}
	.cont_header.visual.large .wrap::before{
		content:none;
	}
	.cont_header.visual.large .wrap::after {
		background-size: cover;
		background-position: left center;
	}
	.cont_header.visual.large .wrap h1 {
		width:100%;
	}
	.cont_header.visual.large h1 small {
		font-size: 1.6rem;
	}
	.cont_header.visual.large .br-middle{
		display: none;
	}
	.cont_header.visual.large br.sp-none{
		display: none;
	}
	.cont_header.visual.large img{
		width:80%;
	}
}
/* 640px */
@media only screen and (max-width: 640px) {
	.cont_header.visual.large br.sp-none{
		display: block;
	}
}
/* 600px */
@media only screen and (max-width: 600px) {
	section.project .flex{
		grid-template-columns:none;
		gap:10px;
	}
	section.project .flex div:first-child div{
		margin-bottom:10px;
	}
	section.project .flex div:last-child{
		margin:auto;
	}
	section.project .flex.two-pieces div:last-child{
		flex-direction: column;
		height: auto;
	}
}
/* 480px */
@media only screen and (max-width: 480px) {
	.cont_header.visual.large img{
		width:100%;
	}
	section.project .flex div:last-child,
	section.project .flex.two-pieces div:last-child{
		width:80%;
	}
	.w-100{
		margin-top:-30px;
	}
	.w-100 img{
		object-fit: contain !important;		
	}
}
/* 400px */
@media only screen and (max-width: 400px) {
	.cont_header.visual.large br.sp-none{
		display:none;
	}
}
/* ------------------------------------
	content-1 end
------------------------------------ */


/* ------------------------------------
	content-2 ~ content-4 common
------------------------------------ */
.contents_wrap > div{
	margin-bottom:80px;
}
img.center{
	width:auto;
	margin:50px auto 20px;
	display: block;
}
img.center.mt-0{
	margin-top:0;
}
.twocolumn{
	justify-content: space-between;
	display: flex;
	align-items: flex-end;
	margin-bottom:5rem;
}
figcaption{
	margin-bottom:2rem;
}
figcaption span{
	width:16px;
	height:16px;
	display: inline-block;
	margin:0 1rem 2px 0;
	vertical-align: middle;
}
p.ask{
	margin-bottom:0;
	text-indent: -1.6rem;
	padding-left:1.6rem;
}

/* 768px */
@media only screen and (max-width: 768px) {
	.twocolumn{
		flex-direction: column;
		align-items: center;
		gap: 50px;
	}
}
/* ------------------------------------
	content-2 ~ content-4 common end
------------------------------------ */


/* ------------------------------------
	content-2
------------------------------------ */
span.m-left{
	margin-left:10px !important
}
span.sub_color_bg{
	border-radius: 50%;
}
span.blue_color_bg{
	border-radius: 50%;
}

/* strategy */
.strategy{
	display: grid;
	gap:20px;
	margin-top: 50px;
}
.strategy dl{
	display: flex;
	border:1px solid var(--sub-color);
}
.strategy dl:nth-of-type(2){
	border-color:#5EB7E8;
}
.strategy dl:nth-of-type(3){
	border-color:var(--main-color);
}
.strategy dl:nth-of-type(4){
	border-color: #F6AD3C;
}
.strategy dl:nth-of-type(5){
	border-color:#F29B87 ;
}
.strategy dl dt,
.strategy dl dd{
	height:60px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
.strategy dl dt{
	font-size: 5rem;
	width:60px;
}
.strategy dl dd{
	font-size:3.2rem;
	color: #fff;
	padding:0 15px;
	width:100%;
	justify-content: flex-start;
	font-weight: bold;
}

/* 768px */
@media only screen and (max-width: 768px) {
	.strategy dl dd{
		font-size:2.5rem;
		line-height:1.2;
	}
}
/* min-481px */
@media only screen and (min-width: 481px) {
	.strategy dl dd br.sp{
		display: none;
	}
}
/* min-401px */
@media only screen and (min-width: 401px) {
	.strategy dl dd.sub_color_bg br.sp{
		display: none;
	}
}

/* ------------------------------------
	content-2 end
------------------------------------ */


/* ------------------------------------
	content-3
------------------------------------ */
.content-3 .contents_wrap > div{
	margin-bottom:40px;
}
.content-3 section{
	padding: 0 0 50px;
    border-bottom: 1px dashed #707070;
    margin: 0 0 50px;
}
.content-3 section:last-child{
	border:0;
	padding:0;
}
.content-3 section h2 + p{
	margin-bottom:50px;
}
.content-3 .twocolumn{
	margin-top: 6rem;
	margin-bottom:0
}
.content-3 h3{
	margin-top:50px;
}
.content-3 span.blue_color_bg{
	border-radius: 0;
}
/* ------------------------------------
	content-3 end
------------------------------------ */


/* ------------------------------------
	stock
------------------------------------ */
.stock_info{
	margin-bottom: 50px;
	width:50%;
}
.stock_info dl{
	display: flex;
	justify-content: space-between;
	border-bottom:1px solid #acacac;
	padding:10px 0;
	font-weight: bold;
}

/* table -three_column*/
table.three_column {
	width: 100%;
	border-bottom: 2px solid #333;
	margin-bottom:20px;
}
table.three_column thead th,
table.three_column tbody th,
table.three_column tbody td{
	font-weight: bold;
	padding:10px 30px;
	vertical-align: middle;
}
table.three_column thead th,
table.three_column tbody td{
	text-align: center;
}
table.three_column tbody tr{
	height: 6rem;
	border-bottom:1px solid #8C9BA5;
}
table.three_column thead tr th{
	color:#fff;
}
table.three_column tbody th{
	width: 40%;
	background:rgb(198,227,171,.5);
}

/* figcaption ul */
figcaption ul{
	display: grid;
	grid-template-columns:repeat(2,375px);
	gap:0 50px;
	margin-top:50px;
}
figcaption ul li{
	display: flex;
	justify-content: space-between;
}
figcaption span.blue_color_bg{
	border-radius: 0;
}
figcaption ul li:nth-of-type(3) span{
	background:#FCD475;
}
figcaption ul li:nth-of-type(6) span{
	background:#38A1DB;
}

/* 768px */
@media only screen and (max-width: 768px) {
	.stock_info{
		width:100%;
	}
	figcaption ul{
		grid-template-columns: none;
	}
	table.three_column br.sp-none{
		display: none;
	}
}
/* min-641px */
@media only screen and (min-width: 641px) {
	table.three_column span{
		display: none;
	}
}
/* 640px */
@media only screen and (max-width: 640px) {
	table.three_column thead{
		display: none;
	}
	table.three_column tbody tr{
		border:none;
	}
	table.three_column tbody th{
		display: block;
		text-align: center;
		width:100%;
	}
	table.three_column tbody td{
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 30px 0 0;
	}
	table.three_column tbody tr td:nth-of-type(1){
		border-bottom: 1px solid #8c9ba5;
	}
	table.three_column tbody td span{
		padding: 10px 30px;
    	color: var(--main-color);
		display: inline-block;
	}
}
/* ------------------------------------
	content-4 end
------------------------------------ */


/* ------------------------------------
	reco
------------------------------------ */
.reco .cont_header {
	background:var(--main-color);
	color:#fff;
	margin: 0 0 50px;
}
.reco .cont_header .wrap {
    padding: 32px 0;
}
.reco h2 {
    font-size: 2rem;
    margin: 0 0 14px;
}
.reco h3 {
    font-size: 1.6rem;
    margin: 0 0 14px;
}
.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%);
}
.ul_attn li {
	text-indent: -1.4rem;
	padding-left:1.4rem;
	line-height: 2.8rem;
    font-size: 1.4rem;
}
.reco #global_footer .copy {
	margin: 0;
}

/* 768px */
@media only screen and (max-width: 768px) {
	.ul_attn li {
		line-height: 2.4rem;
	}
}
/* ------------------------------------
	reco end
------------------------------------ */


/* ------------------------------------
    print
------------------------------------ */
@media print{
	.cont_header.visual.large,
	.cont_header.visual.large .wrap{
		height: auto;
	}
	.cont_header.visual.large .wrap::before{
		background-position:right bottom 50%;
		background-size:contain;
	}
	.cont_header.visual.large .wrap::after{
		background-position:left 50% center;
	}
	.cont_header.visual.large .wrap {
		padding: 20px 0 25px;
		align-items: baseline;
		display: flex;
		flex-direction: column;
	}
	.cont_header.visual.large h1 {
		margin: 0 0 35px;
	}
	.cont_header.visual h1 small {
		font-size: 1.6rem;
	}
	.cont_header.visual.large p {
		padding: 20px 0 0;
	}
    .cont_header.visual.large img,
	table.three_column tbody td span{
        display: none;
    }
	.contents_wrap > div,
	.content-3 section h2 + p{
		margin-bottom:30px !important;
	}
	section.wide{
		width:100%;
		padding:20px;
	}
	section.wide > *{
		width:680px;
	}
	.cont_header.visual.lower {
		height: 222px !important;
	}
	.content-2 .cont_header.visual::after,
	.content-3 .cont_header.visual::after,
	.content-4 .cont_header.visual::after{
		background-position:right 10% center;
	}
	.content-3 .twocolumn,
	.content-3 h3{
		margin-top: 30px !important;;
	}
}