@charset "UTF-8";
:root{
	--body : #000;
	--link : #000;
}
:root{
	--primaryColor : #59b260;
	--secondaryColor : #b0ccb2;
}
/*--------------------------------------------
HEADER
---------------------------------------------*/
@media print,screen and (min-width: 751px){
	#header .wrap{
		-ms-grid-columns : 110px 1fr 75px 127px;
		grid-template-columns : 110px 1fr 75px 127px;
	}
	#header .sns{
		-ms-grid-column : 3;
		-ms-grid-column-span : 1;
		    grid-column : 3/4;
		padding-right : 17px;
	}
	#header #nav{
		-ms-grid-column : 2;
		-ms-grid-column-span : 2;
		    grid-column : 2/4;
		padding-right : 17px;
	}
	#header #globalNav{
		justify-content : space-between;
	}
	#header #globalNav li + li{
		margin-left : 0;
	}
}
/*--------------------------------------------
COMMON
---------------------------------------------*/
.title01.title01-cube-primary:after{
	background-color : #b0ccb2;
	background-color : var(--secondaryColor);
}
/*--------------------------------------------
MAIN
---------------------------------------------*/
@media screen and (max-width: 750px){
	#main{
		padding-bottom : calc( 234 * 100vw / 750 );
	}
}
@media print,screen and (min-width: 751px){
	#main{
		padding-bottom : 48px;
	}
}
/*--------------------------------------------
TITLE
---------------------------------------------*/
#title{
	border-style : solid;
	border-color : #59b260;
	border-color : var(--primaryColor);
	background-color : #e6e6e6;
}
@media screen and (max-width: 750px){
	#title{
		border-top-width : calc( 20 * 100vw / 750 );
	}
	#title .wrap{
		padding-top : calc( 40 * 100vw / 750 );
		padding-bottom : calc( 40 * 100vw / 750 );
	}
}
@media print,screen and (min-width: 751px){
	#title{
		border-top-width : 13px;
	}
	#title .wrap{
		padding-top : 20px;
		padding-bottom : 34px;
	}
}
/*--------------------------------------------
ARTICLE
---------------------------------------------*/
#article .wrap:after{
	content : "";
	display : block;
	background-color : #59b260;
	background-color : var(--primaryColor);
	margin-left : auto;
	margin-right : auto;
}
#article .kv{
	overflow : hidden;
}
#article .kv > img{
	width : 100%;
	height : 100%;
	object-fit : contain;
	font-family : "object-fit: contain;";
}
#article .kv img{
	max-width : 100%;
}
#article .title{
	text-align : center;
	letter-spacing : .1em;
}
#article .title span{
	display : block;
	letter-spacing : .1em;
}
#article .content p , #article .content li{
	letter-spacing : .04em;
}
#article .content p em , #article .content li em{
	font-style: italic;
}
#article .list-count > li{
	counter-increment : no;
}
#article .list-count > li:before{
	content : "("counter(no)") ";
	white-space : pre;
}
#article .footer time{
	display : block;
}
#article .footer p , #article .footer time{
	letter-spacing : .04em;
}
@media screen and (max-width: 750px){
	#article .wrap{
		padding-top : calc( 40 * 100vw / 750 );
		padding-left : calc( 20 * 100% / 750 );
		padding-right : calc( 20 * 100% / 750 );
	}
	#article .wrap:after{
		margin-top : calc( ( 72 - 6 ) * 100vw / 750 );
		width : 100%;
		height : calc( 3 * 100vw / 750 );
	}
	#article .kv{
		margin-bottom : calc( 58 * 100vw / 750 );
	}
	#article .title{
		font-size : calc( 5.12rem + .4rem );
	}
	#article .title span{
		font-size : calc( 3.84rem + .4rem );
		margin-top : calc( 22 * 100vw / 750 );
	}
	#article .content{
		margin-top : calc( ( 60 - 7 ) * 100vw / 750 );
	}
	#article .content p , #article .content li{
		font-size : calc( 2.8rem + .4rem );
		line-height : 1.5;
	}
	#article .content p + p , #article .content .list-count + p{
		margin-top : 1.5em;
	}
	#article .footer{
		margin-top : calc( ( 86 - 7 - 6 ) * 100vw / 750 );
	}
	#article .footer p , #article .footer time{
		font-size : calc( 2.4rem + .4rem );
		line-height : 1.58;
	}
}
@media print,screen and (min-width: 751px){
	#article .wrap{
		padding-top : 40px;
	}
	#article .wrap:after{
		margin-top : calc( 44px - 4px );
		width : 900px;
		height : 3px;
	}
	#article .kv{
		margin-bottom : 48px;
	}
	#article .title{
		font-size : calc( 3.2rem + .2rem );
	}
	#article .title span{
		font-size : calc( 2.8rem + .2rem );
		margin-top : 6px;
	}
	#article .box{
		width : 700px;
		margin-left : auto;
		margin-right : auto;
	}
	#article .content{
		margin-top : calc( 48px - 5px );
	}
	#article .content p , #article .content li{
		font-size : calc( 1.4rem + .2rem );
		line-height : 1.71;
	}
	#article .content p + p , #article .content .list-count + p{
		margin-top : 1.71em;
	}
	#article .footer{
		margin-top : calc( 34px - 5px - 4px );
	}
	#article .footer p , #article .footer time{
		font-size : calc( 1.2rem + .2rem );
		line-height : 1.67;
	}
}
/*--------------------------------------------
AUTHOR
---------------------------------------------*/
#author .box{
	background-color : #e6e6e6;
}
#author picture img{
	width : 100%;
	height : auto;
}
#author h3{
	letter-spacing : .12em;
}
#author p{
	letter-spacing : .05em;
}
@media screen and (max-width: 750px){
	#author .wrap{
		padding-top : calc( 66 * 100vw / 750 );
		padding-left : calc( 20 * 100% / 750 );
		padding-right : calc( 20 * 100% / 750 );
	}
	#author .box{
		padding-top : calc( 48 * 100vw / 750 );
		padding-bottom : calc( ( 124 - 5.84 ) * 100vw / 750 );
		padding-left : calc( 24 * 100% / 710 );
		padding-right : calc( 24 * 100% / 710 );
	}
	#author picture{
		width : calc( 283 * 100% / 662 );
		margin-left : auto;
		margin-right : auto;
		margin-bottom : calc( 52 * 100vw / 750 );
	}
	#author h3{
		font-size : calc( 1.2rem + .4rem );
		font-size : calc( 2.8rem + .4rem );
	}
	#author p{
		font-size : calc( 2.332rem + .4rem );
		line-height : 1.5;
		margin-top : calc( ( 36 - 5.84 ) * 100vw / 750 );
	}
}
@media print,screen and (min-width: 751px){
	#author .wrap{
		padding-top : 40px;
	}
	#author .box{
		display : flex;
		justify-content : space-between;
		padding-top : 22px;
		padding-bottom : 22px;
		padding-left : 20px;
		padding-right : 20px;
	}
	#author picture{
		flex-shrink : 0;
		width : 176px;
		margin-right : 42px;
	}
	#author h3{
		font-size : calc( 1.2rem + .2rem );
	}
	#author p{
		font-size : calc( 1.2rem + .2rem );
		line-height : 1.42;
		margin-top : calc( 22px - 2.5px );
	}
}