@charset "UTF-8";
:root{
	--body : #000;
	--link : #000;
}
/*--------------------------------------------
HEAD
---------------------------------------------*/
#head{
	font-family : "Noto Sans", sans-serif;
	font-weight : 400;
}
#head .title{
	border-bottom-style : solid;
	letter-spacing : .1em;
}
#head p{
	letter-spacing : .1em;
	text-align : right;
}
@media screen and (max-width: 750px){
	#head .wrap{
		padding-top : calc( ( 80 - 7.2 ) * 100vw / 750 );
		padding-bottom : calc( ( 86 - 6 ) * 100vw / 750 );
	}
	#head .title{
		border-bottom-width : calc( 5.6 * 100vw / 750 );
		font-size : 3.6rem;
		line-height : 1.4;
		padding-bottom : calc( ( 17 - 7.2 ) * 100vw / 750 );
	}
	#head p{
		font-size : 2.4rem;
		line-height : 1.5;
		margin-top : calc( ( 24 - 6 ) * 100vw / 750 );
	}
}
@media print,screen and (min-width: 751px){
	#head .wrap{
		padding-top : calc( 36px - 3px );
		padding-bottom : calc( 40px - 6px );
	}
	#head .title{
		border-bottom-width : 3px;
		font-size : 2.2rem;
		line-height : 1.27;
		padding-bottom : calc( 10px - 3px );
	}
	#head p{
		font-size : 1.4rem;
		line-height : 1.86;
		margin-top : calc( 12px - 6px );
	}
}
/*--------------------------------------------
ARTICLE
---------------------------------------------*/
#article{
	font-family : "Noto Sans", sans-serif;
	font-weight : 400;
}
#article .title{
	font-weight : 700;
	letter-spacing : .1em;
}
@media screen and (max-width: 750px){
	#article .title{
		font-size : 5rem;
		line-height : 1.37;
		margin-top : -.185em;
	}
	#article .title + .mv{
		margin-top : calc( ( 62 - 9.2 ) * 100vw / 750 );
	}
}
@media print,screen and (min-width: 751px){
	#article .title{
		font-size : 3rem;
		line-height : 1.27;
		margin-top : -.135em;
	}
	#article .title + .mv{
		margin-top : calc( 28px - 4px );
	}
}
/*--------------------------------------------
SECTION
---------------------------------------------*/
.section p{
	letter-spacing : .08em;
}
.section p em{
	font-style : italic;
}
.section p b{
	font-weight : 700;
}
.section + .section{
	border-top-style : solid;
}
.section dl{
	display : flex;
	align-items : baseline;
	justify-content : flex-start;
}
.section dt , .section dd{
	color : #317889;
	color : var(--primaryColor);
	letter-spacing : .1em;
}
@media screen and (max-width: 750px){
	.section .wrap{
		padding-left : calc( 20 * 100% / 750 );
		padding-right : calc( 20 * 100% / 750 );
	}
	.section.pt50{
		padding-top : calc( ( 100 - 6 ) * 100vw / 750 );
	}
	.section.pb50{
		padding-bottom : calc( ( 100 - 6 ) * 100vw / 750 );
	}
	.section.pb100{
		padding-bottom : calc( 216 * 100vw / 750 );
	}
	.section p{
		font-size : 2.8rem;
		line-height : 1.5;
	}
	.section p + p{
		margin-top : 1em;
	}
	.section p + .medias{
		margin-top : calc( 28 * 100vw / 750 );
	}
	.section .medias + p{
		margin-top : 1em;
	}
	.section .medias .box + .title04.pt40 {
		padding-top : calc( 80 * 100vw / 750 );
	}
	.section + .section{
		border-top-width : calc( 4 * 100vw / 750 );
	}
	.section .title04 + .medias{
		margin-top : calc( ( 80 - 6 ) * 100vw / 750 );
	}
	.section p + .title03{
		margin-top : calc( ( 120 - 5 - 6  ) * 100vw / 750 );
	}
	.section .title04 + p{
		margin-top : calc( ( 80 - 6 - 6 ) * 100vw / 750 );
	}
	.section .title03 + .title04{
		margin-top : calc( ( 120 - 6 - 6 ) * 100vw / 750 );
	}
	.section .medias + .title04{
		margin-top : calc( ( 120 - 6 ) * 100vw / 750 );
	}
	.section > p + .title04{
		margin-top : calc( ( 120 - 6 - 6 ) * 100vw / 750 );
	}
	.section .title03 + .medias{
		margin-top : calc( ( 72 - 5 - 6 ) * 100vw / 750 );
	}
	.section .title03 + p{
		margin-top : calc( ( 80 - 5 - 6 ) * 100vw / 750 );
	}
	.section p + .medias{
		margin-top : calc( ( 66 - 6 - 6 ) * 100vw / 750 );
	}
	.section > p + .title03 , .section .title03 + p{
		margin-top : calc( ( 62 - 5 - 6 ) * 100vw / 750 );
	}
	.section .medias + .title03{
		margin-top : calc( ( 120 - 6 - 6 ) * 100vw / 750 );
	}
	.section dl{
		margin-top : calc( ( 80 - 6 - 6 ) * 100vw / 750 );
	}
	.section dl dt , .section dl dd{
		font-size : 2.4rem;
		line-height : 1.5;
	}
	.section .link02{
		margin-top : calc( 140 * 100vw / 750 );
	}
}
@media print,screen and (min-width: 751px){
	.section.pt50{
		padding-top : calc( 50px - 5px );
	}
	.section.pb50{
		padding-bottom : calc( 50px - 5px );
	}
	.section.pb100{
		padding-bottom : calc( 100px - 5px );
	}
	.section p{
		font-size : 1.4rem;
		line-height : 1.71;
	}
	.section > p + p{
		margin-top : 1.5em;
	}
	.section > p + .medias{
		margin-top : 24px;
	}
	.section .medias + p{
		margin-top : 1.5em;
	}
	.section .medias + .title03{
		margin-top : calc( 60px - 4px );
	}
	.section + .section{
		border-top-width : 1px;
	}
	.section .title04 + .medias{
		margin-top : calc( 40px - 5px );
	}
	.section p + .title03{
		margin-top : calc( 60px - 5px - 4px );
	}
	.section .title04 + p{
		margin-top : calc( 40px - 5px - 5px );
	}
	.section .title03 + .title04{
		margin-top : calc( 60px - 4px - 5px );
	}
	.section .medias + .title04{
		margin-top : calc( 60px - 5px - 15px );
	}
	.section .title03 + .medias{
		margin-top : calc( 60px - 4px );
	}
	.section .title03 + p{
		margin-top : calc( 40px - 4px - 5px );
	}
	.section > p + .title04{
		margin-top : calc( 40px - 5px - 5px );
	}
	.section dl{
		margin-top : calc( 60px - 5px - 6px );
	}
	.section dt , .section dd{
		font-size : 1.4rem;
		line-height : 1.86;
	}
	.section .link02{
		margin-top : calc( 60px - 6px );
	}
}
/*--------------------------------------------
MEDIAS
---------------------------------------------*/
.medias .media-container{
	position : relative;
}
.medias .media-container > #map , .medias .media-container > iframe{
	width : 100%;
	height : 100%;
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	bottom : 0;
	margin : auto;
}
.medias picture img{
	width : 100%;
	height : auto;
}
.medias .texts{
	background-color : rgba(0,0,0,.1);
}
.medias .texts h6 , .medias .texts p{
	letter-spacing : .08em;
}
.medias .texts h6{
	font-weight : 500;
}
.medias .texts span{
	font-style : italic;
}
.medias [class*="column"] {
	background-color : rgba(0,0,0,.1);
}
.medias [class*="column"] .texts{
	background-color : transparent;
}
@media screen and (max-width: 750px){
	.medias + .medias{
			margin-top : calc( ( 72 - 5 - 6 ) * 100vw / 750 );
	}
	.medias .media-container{
		height : calc( ( 710 * 9 / 16 ) * 100vw / 750 );
	}
	.medias picture{
		text-align : center;
	}
	.medias.media-width-320 .box{
		width : calc( 450 * 100% / 710 );
		margin-left : auto;
		margin-right : auto;
	}
	.medias .box + p{
		padding-top : 1em;
	}
	.medias .texts{
		min-height : calc( 120 * 100vw / 750 );
		padding-left : calc( 30 * 100% / 710 );
		padding-right : calc( 30 * 100% / 710 );
		padding-top : calc( ( 30 - 6 ) * 100vw / 750 );
		padding-bottom : calc( ( 30 - 6 ) * 100vw / 750 );
	}
	.medias .texts h6 , .medias .texts p{
		font-size : 2.4rem;
		line-height : 1.5;
	}
	.medias .title04 + .box{
		margin-top : calc( ( 60 - 6 ) * 100vw / 750 );
	}
	.medias.sp-order{
		display : flex;
		flex-direction : column;
	}
	.medias.sp-order .sp-order-1{
		order : 1;
	}
	.medias.sp-order .sp-order-2{
		order : 2;
	}
	.medias.sp-order .title04.sp-order-2{
		margin-top : calc( ( 66 - 6 ) * 100vw / 750 );
	}
	.medias.sp-order .sp-order-3{
		order : 3;
	}
	.medias.sp-order .box.sp-order-3{
		margin-top : calc( ( 34 - 6 ) * 100vw / 750 );
	}
	.medias.sp-order .box.sp-order-2{
		margin-top : calc( ( 60 - 6 ) * 100vw / 750 );
	}
	.medias.sp-order p.sp-order-3{
		margin-top : calc( ( 80 - 6 ) * 100vw / 750 );
	}
	.medias .box.column01 picture{
		padding-top : calc( 40 * 100vw / 750 );
		margin-right : auto;
		margin-left : auto;
		width : calc( 400 * 100% / 710 );
	}
	.medias .box.column01 .texts{
		padding-top : calc( 40 * 100vw / 750 );
		padding-bottom : calc( 40 * 100vw / 750 );
	}
	.medias.media-width-450 .box.column02 .media-container{
		height: calc( ( 630 * 9 / 16 ) * 100vw / 750 );
	}
}
@media print,screen and (min-width: 751px){
	.medias{
		overflow : hidden;
	}
	.medias + .medias{
		margin-top : 30px;
	}
	.medias.media-left .box{
		float : left;
		margin-right : 12px;
		/*margin-bottom: 12px;*/
	}
	.medias.media-right .box{
		float : right;
		margin-left : 12px;
		/*margin-bottom: 12px;*/
	}
	.medias.media-width-320 .box{
		width : 320px;
	}
	.medias.media-width-450 .box{
		width : 450px;
	}
	.medias.media-width-600 .box{
		width : 600px;
	}
	.medias.media-width-450 .media-container{
		height : calc( 450px * 9 / 16 );
	}
	.medias.media-width-600 .media-container{
		height : calc( 600px * 9 / 16 );
	}
	.medias .texts{
		min-height : 60px;
		padding-left : 20px;
		padding-right : 20px;
		padding-top : calc( 16px - 4px );
		padding-bottom : calc( 16px - 4px );
	}
	.medias .texts h6 , .medias .texts p{
		font-size : 1rem;
		line-height : 1.8;
	}
	.medias > p + p{
		margin-top : 1.5em;
	}
	.medias p + .title04{
		margin-top : calc( 44px - 5px - 5px );
	}
	.medias .box.column01{
		display : flex;
	}
	.medias .box.column01 picture{
	    flex : 1 1;
	    padding-top : 20px;
	    padding-right : 20px;
	    padding-bottom : 20px;
	    padding-left : 20px;
	}
	.medias .box.column01 .texts{
		flex : 1.5 1;
		padding-left : 0;
		padding-top : 20px;
	}
	.medias .box.column02 .media-container{
		padding : 20px;
	}
	.medias.media-width-450 .box.column02 .media-container{
		height : calc( 410px * 9 / 16 );
	}
}
/*--------------------------------------------
PAGINATION
---------------------------------------------*/
#pagination{
	position : relative;
	margin-left : auto;
	margin-right : auto;
	border-top-style : solid;
}
#pagination .box{
	display : inline-flex;
	align-items : center;
	justify-content : center;
	left : 50%;
	transform : translateX( -50% );
	position : relative;
}
#pagination .box .page-numbers , #pagination .box .current{
	display : inline-flex;
	justify-content : center;
	position : relative;
}
#pagination .box .prev{
	position : absolute;
	top : 50%;
	right : 100%;
	transform : translateY(-50%);
}
#pagination .box .next{
	position : absolute;
	top : 50%;
	left : 100%;
	transform : translateY(-50%);
}
#pagination .box a , #pagination .box .current{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
}
#pagination .box .dots{
	display : flex;
	align-items : center;
}
#pagination button{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
}
#pagination button{
	transition : background-color .5s ease-in;
	backface-visibility : hidden;
	will-change : background-color;
	background-color : rgba(35,24,21,.1);
}
#pagination button:hover , #pagination button.is-current{
	background-color : rgba(35,24,21,.3);
	opacity : 1;
}
#pagination button:not(.prev):not(.next){
	font-family : "Ubuntu", sans-serif;
}
#pagination .is-current{
	pointer-events : none;
}
#pagination .is-hidden{
	display : none;
}
@media screen and (max-width: 750px){
	#pagination{
		width : calc( 680 * 100% / 750 );
		border-top-width : calc( 3 * 100vw / 750 );
		padding-top : calc( 88 * 100vw / 750 );
	}
	#pagination button{
		height : calc( 58 * 100vw / 750 );
		margin-left : calc( 17 * 100vw / 750 );
		margin-right : calc( 17 * 100vw / 750 );
	}
	#pagination button:not(.prev):not(.next){
		width : calc( 62 * 100vw / 750 );
		font-size : 2.7rem;
	}
	#pagination .prev , #pagination .next{
		width : calc( 136 * 100vw / 750 );
	}
	#pagination .prev img , #pagination .next img{
		height : calc( 28 * 100vw / 750 );
	}
}
@media print,screen and (min-width: 751px){
	#pagination{
		border-top-width : 3px;
		padding-top : 42px;
		width : 900px;
	}
	#pagination button{
		height : 32px;
		margin-left : 10px;
		margin-right : 10px;
	}
	#pagination button:not(.prev):not(.next){
		width : 34px;
		font-size : 1.5rem;
	}
	#pagination .prev , #pagination .next{
		width : 76px;
	}
	#pagination .prev img , #pagination .next img{
		height : 16px;
	}
}
/*--------------------------------------------
MAIN VIAUAL
---------------------------------------------*/
.mv{
	width : 100%;
}
.mv .media-container{
	position : relative;
}
.mv .media-container > #map , .mv .media-container > iframe{
	width : 100%;
	height : 100%;
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	bottom : 0;
	margin : auto;
}
.mv picture img{
	width : 100%;
	height : auto;
}
.mv .texts{
	font-family : "Ubuntu", sans-serif;
	text-align : right;
}
.mv .texts span{
	font-style : italic;
}
@media screen and (max-width: 750px){
	.mv{
		margin-bottom : calc( ( 86 - 7 ) * 100vw / 750 );
	}
	.mv .media-container{
		height : calc( ( 710 * 9 / 16 ) * 100vw / 750 );
	}
	.mv .texts{
		min-height : calc( 100 * 100vw / 750 );
		padding-left : calc( 30 * 100% / 710 );
		padding-right : calc( 30 * 100% / 710 );
		padding-top : calc( ( 24 - 3 ) * 100vw / 750 );
		padding-bottom : calc( ( 24 - 3 ) * 100vw / 750 );
	}
	.mv .texts h6 , .mv .texts p{
		font-size : 2.4rem;
		line-height : 1.25;
	}
}
@media print,screen and (min-width: 751px){
	.mv{
		margin-bottom : 30px;
	}
	.mv .media-container{
		height : calc( 900px * 9 / 16 );
	}
	.mv .texts{
		min-height : 44px;
		padding-left : 30px;
		padding-right : 30px;
		padding-top : calc( 12px - 4px );
		padding-bottom : calc( 12px - 4px );
	}
	.mv .texts h6 , .mv .texts p{
		font-size : 1rem;
		line-height : 1.8;
	}
}