@charset "UTF-8";

:root{
	--body : #323232;
	--link : #323232;
	--primary : #c80023;
}

/*--------------------------------------------
NEWS
---------------------------------------------*/

@media screen and (max-width: 768px){
	body.news #column{
		margin-top : calc( ( 80 - 1 ) * 100vw / 768 );
		padding-left : 0;
		padding-right : 0;
	}
}

@media print,screen and (min-width: 769px){
	body.news #column{
		margin-top : 76px;
	}
	body.news #column #news , body.news #column #sidebar{
		padding-bottom : 76px;
	}
}

#news picture img{
	width : 100%;
	height : auto;
}

#news .newsCategories{
	letter-spacing : .04em;
	text-indent : .04em;
}

#news time{
	display : block;
	letter-spacing : .03em;
	font-weight : 700;
	padding-top : 15px;
}

#news h2{
	font-size : 2.4rem;
	line-height : 1.0667;
	margin-top : -1px;
	margin-bottom : 1em;
}

#news h3{
	font-weight : 700;
	letter-spacing : .03em;
}

@media screen and (max-width: 768px){
	#news{
		padding-left : calc( 44 * 100% / 768 );
		padding-right : calc( 44 * 100% / 768 );
	}
	#news h2{
		font-size : 3.6rem;
		line-height : 1.0556;
		font-weight : 700;
	}
	#news > ul{
		margin-top : calc( ( 16 - 1 ) * 100vw / 768 );
	}
	#news > ul > li + li{
		margin-top : calc( 74 * 100vw / 768 );
	}
	#news > ul > li > a > div{
		margin-top : calc( 34 * 100vw / 768 );
	}
	#news .newsCategories{
		margin-left : calc( -8 * 100% / 680 );
	}
	#news .newsCategories > li{
		min-width : calc( 164 * 100% / 688 );
		height : calc( 36 * 100vw / 768 );
		font-size : 2.6rem;
		margin-left : calc( 8 * 100% / 688 );
	}
	#news time{
		font-size : 2.6rem;
		margin-top : calc( 12 * 100vw / 768 );
	}
	#news h3{
		margin-top : calc( ( 40 - 8 ) * 100vw / 768 );
		font-size : 2.6rem;
		line-height : 1.6154;
	}
	#news .link-detail01{
		margin-top : calc( ( 21 - 8 ) * 100vw / 768 );
	}
	#news #pagination{
		margin-top : calc( 150 * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	#news > ul > li{
		padding-bottom : 32px;
		border-bottom : 1px solid #383838;
		margin-bottom : 32px;
	}
	#news > ul > li + li{
	}
	#news > ul > li > a{
		display : flex;
		align-items : flex-start;
		justify-content : space-between;
	}
	#news picture{
		width : calc( 360 * 100% / 1020 );
	}
	#news > ul > li > a > div{
		width : calc( 638 * 100% / 1020 );
	}
	#news .newsCategories{
		margin-left : -6px;
	}
	#news .newsCategories > li{
		min-width : 82px;
		height : 18px;
		font-size : 1.4rem;
		margin-left : 6px;
	}
	#news time{
		font-size : 1.6rem;
		margin-top : 5px;
	}
	#news h3{
		margin-top : calc( 32px - 3px );
		font-size : 2.4rem;
		line-height : 1.25;
	}
	#news .link-detail01{
		justify-content : flex-start;
		margin-top : calc( 28px - 3px );
		justify-content : flex-end;
		margin-top : 1em;
	}
	#news #pagination{
		margin-top : calc( 68px - 32px );
	}
}

/*--------------------------------------------
ABOUT
---------------------------------------------*/

#about p{
	letter-spacing : .03em;
}

@media screen and (max-width: 768px){
	#about{
		margin-top : calc( 60 * 100vw / 768 );
		padding-bottom : calc( ( 132 - 6 ) * 100vw / 768 );
	}
	#about li + li{
		margin-top : calc( ( 65 - 6 ) * 100vw / 768 );
		border-top : 1px solid #383838;
		padding-top : calc( 54 * 100vw / 768 );
	}
	#about p{
		font-size : 2.6rem;
	}
	#about p:not([lang]){
		line-height : 1.6923;
	}
	#about p[lang]{
		margin-top : calc( ( 36 - 9 - 6 ) * 100vw / 768 );
		line-height : 1.4615;
	}
	#about li .row{
		margin-top : calc( ( 30 - 9 ) * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	#about{
		margin-top : 78px;
		padding-bottom : calc( 92px - 6px );
	}
	#about li + li{
		margin-top : calc( 36px - 6px );
		border-top : 1px solid #383838;
		padding-top : 45px;
	}
	#about p{
		font-size : 1.6rem;
		line-height : 1.75;
	}
	#about li .row{
		margin-top : calc( 24px - 6px );
	}
}

/*--------------------------------------------
CONTACT
---------------------------------------------*/

#contact > p , #contact .mw_wp_form.mw_wp_form_complete p{
	letter-spacing : .03em;
}

#contact dt{
	background-color : #eeefef;
}

#contact dt label{
	font-weight : 700;
	letter-spacing : .03em;
}

#contact input[type="text"] , #contact input[type="email"] , #contact textarea{
	border-style : solid;
	border-color : #b3b3b3;
}

#contact dd p{
	letter-spacing : .03em;
}

#contact .submitBack{
	display : table;
	margin-left : auto;
	margin-right : auto;
	background-color : #fff;
	text-align : center;
	letter-spacing : .03em;
	text-indent : .03em;
	font-weight : 700;
}

#contact .mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .is-input{
	display : none;
}

@media screen and (max-width: 768px){
	#contact{
		margin-top : calc( ( 72 - 8.5 ) * 100vw / 768 );
		padding-bottom : calc( 42 * 100vw / 768 );
	}
	#contact > p , #contact .mw_wp_form.mw_wp_form_complete p{
		font-size : 2.7rem;
		line-height : 1.6296;
	}
	#contact form{
		margin-top : calc( ( 92 - 8.5 ) * 100vw / 768 );
	}
	#contact dt{
		padding-left : calc( 20 * 100% / 680 );
		padding-right : calc( 20 * 100% / 680 );
		display : flex;
		align-items : center;
		height : calc( 80 * 100vw / 768 );
	}
	#contact dt label{
		font-size : 2.4rem;
		line-height : 1.9167;
	}
	#contact dd{
		padding-top : calc( 26* 100vw / 768 );
		padding-bottom : calc( 26* 100vw / 768 );
		padding-left : calc( 22 * 100% / 680 );
		padding-right : calc( 22 * 100% / 680 );
	}
	#contact input[type="text"] , #contact input[type="email"] , #contact textarea{
		border-width : calc( 2 * 100vw / 768 );
		width : 100%;
	}
	#contact input[type="text"] , #contact input[type="email"]{
		height : calc( 72 * 100vw / 768 );
	}
	#contact textarea{
		height : calc( 334 * 100vw / 768 );
	}
	#contact dd p{
		font-size : 2.4rem;
		margin-top : calc( 21 * 100vw / 768 );
		margin-bottom : calc( 21 * 100vw / 768 );
	}
	#contact .button01{
		margin-top : calc( 20 * 100vw / 768 );
	}
	#contact .submitBack{
		margin-top : calc( 120 * 100vw / 768 );
		font-size : 2.4rem;
	}
}

@media print,screen and (min-width: 769px){
	#contact{
		margin-top : calc( 76px - 6px );
		padding-bottom : 142px;
	}
	#contact > p , #contact .mw_wp_form.mw_wp_form_complete p{
		font-size : 1.6rem;
		line-height : 1.75;
	}
	#contact form{
		margin-top : calc( 76px - 6px );
		width : 100%;
		max-width : 1200px;
		margin-left : auto;
		margin-right : auto;
	}
	#contact dl{
		border-bottom : 1px solid #242425;
		width : 100%;
	}
	#contact dl > div{
		border-top : 1px solid #242425;
		display : flex;
	}
	#contact dt{
		flex-shrink : 0;
		width : 240px;
		padding-left : 12px;
		padding-right : 12px;
		padding-top : calc( 38px - 6.455px );
		padding-bottom : calc( 38px - 6.455px );
	}
	#contact dt label{
		font-size : 1.4rem;
		line-height : 1.7921;
	}
	#contact dd{
		flex-grow : 1;
		padding-top : 24px;
		padding-bottom : 24px;
		padding-left : 18px;
		padding-right : 18px;
	}
	#contact input[type="text"] , #contact input[type="email"] , #contact textarea{
		border-width : 1px;
		width : 642px;
	}
	#contact input[type="text"] , #contact input[type="email"]{
		height : 40px;
	}
	#contact textarea{
		height : 202px;
	}
	#contact dd p{
		font-size : 1.4rem;
		margin-top : 18px;
		margin-bottom : 18px;
	}
	#contact .button01{
		margin-top : 68px;
	}
	#contact .submitBack{
		margin-top : 38px;
		font-size : 1.6rem;
	}
}

/*--------------------------------------------
SEARCH
---------------------------------------------*/

@media screen and (max-width: 768px){
	body.search #column{
		margin-top : calc( 112 * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	body.search #column{
		margin-top : 78px;
	}
}

body.search #search , body.search #sidebar{
	padding-bottom : 148px;
}

#search form{
	display : flex;
	border-style : solid;
	border-color : #b3b3b3;
}

#search form input , #search form button{
	height : 100%;
}

#search form input{
	flex-grow : 1;
}

#search form button{
	flex-shrink : 0;
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	background-color : #b3b3b3;
}

#search h2{
	font-weight : 700;
	letter-spacing : .05em;
}

#search picture img{
	width : 100%;
	height : auto;
}

#search h3{
	font-weight : 700;
	letter-spacing : .03em;
}

@media screen and (max-width: 768px){
	#search{
		padding-top : calc( 34 * 100vw / 768 );
		padding-bottom : calc( 356 * 100vw / 768 );
	}
	#search form{
		width : calc( 590 * 100% / 680 );
		margin-left : auto;
		margin-right : auto;
		height : calc( 72 * 100vw / 768 );
		border-width : calc( 2 * 100vw / 768 );
	}
	#search form button{
		width : calc( 72 * 100% / 586 );
	}
	#search form button img{
		height : calc( 48 * 100vw / 768 );
	}
	#search h2{
		font-size : 3.6rem;
		margin-top : calc( 210 * 100vw / 768 );
	}
	#search ul{
		margin-top : calc( 56 * 100vw / 768 );
	}
	#search li + li{
		margin-top : calc( 72 * 100vw / 768 );
	}
	#search li a > div{
		margin-top : calc( ( 20 - 8 ) * 100vw / 768 );
	}
	#search h3{
		font-size : 2.6rem;
		line-height : 1.6154;
	}
	#search .link-detail01{
		margin-top : calc( ( 28 - 8 ) * 100vw / 768 );
	}
	#search #pagination{
		margin-top : calc( 120 * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	#search{
		padding-top : 34px;
	}
	#search form{
		width : 838px;
		height : 60px;
		border-width : 2px;
	}
	#search form button{
		width : 60px;
	}
	#search form button img{
		height : 32px;
	}
	#search h2{
		font-size : 3rem;
		margin-top : 62px;
	}
	#search ul{
		margin-top : 58px;
	}
	#search li{
		padding-bottom : 32px;
		border-bottom : 1px solid #383838;
		margin-bottom : 58px;
	}
	#search li a{
		display : flex;
		align-items : flex-start;
		justify-content : space-between;
	}
	#search li a > picture{
		width : calc( 360 * 100% / 1020 );
	}
	#search li a > div{
		width : calc( 640 * 100% / 1020 );
	}
	#search h3{
		margin-top : -3px;
		font-size : 2.4rem;
		line-height : 1.25;
	}
	#search .link-detail01{
		justify-content : flex-start;
		margin-top : calc( 30px - 3px );
	}
	#search #pagination{
		margin-top : calc( 112px - 58px );
	}
}

/*--------------------------------------------
LAYOUT01
---------------------------------------------*/

@media screen and (max-width: 768px){
	.layout01-title{
		margin-bottom : calc( ( 80 - 8.5 ) * 100vw / 768 );
		flex-wrap : wrap;
	}
	.layout01-title + #column{
		padding-left : 0;
		padding-right : 0;
	}
}

@media print,screen and (min-width: 769px){
	.layout01-title{
		margin-bottom : calc( 74px - 6px );
	}
}

@media screen and (max-width: 768px){
	#layout01{
		padding-bottom : calc( ( 86 - 8.5 ) * 100vw / 768 );
		padding-left : calc( 44 * 100% / 768 );
		padding-right : calc( 44 * 100% / 768 );
	}
}

@media print,screen and (min-width: 769px){
	#layout01{
		padding-bottom : calc( 60px - 6px );
	}
}

/*--------------------------------------------
SIDEBAR-PAGE
---------------------------------------------*/

#sidebar-page a{
	display : block;
}

#sidebar-page > ul{
	border-bottom-style : solid;
	border-bottom-color : #242425;
}

#sidebar-page > ul > li > a{
	background-color : #242425;
	color : #fff;
	letter-spacing : -.01em;
}

#sidebar-page li li a{
	display : block;
	letter-spacing : -.01em;
}

#sidebar-page li li + li , #sidebar-page ul ul{
	border-top-style : solid;
	border-top-color : #242425;
}

#sidebar-page li li li a{
	text-indent : 1em;
}

#sidebar-page li li li li a{
	text-indent : 2em;
}

@media screen and (max-width: 768px){
	#sidebar-page a{
		font-size : 3.2rem;
		line-height : 1.25;
		padding-left : calc( 32 * 100% / 768 );
		padding-right : calc( 32 * 100% / 768 );
	}
	#sidebar-page > ul{
		border-bottom-width : 1px;
	}
	#sidebar-page > ul > li > a{
		padding-top : calc( ( 48 - 4 ) * 100vw / 768 );
		padding-bottom : calc( ( 48 - 4 ) * 100vw / 768 );
	}
	#sidebar-page li li + li , #sidebar-page ul ul{
		border-top-width : 1px;
	}
	#sidebar-page li li a{
		padding-top : calc( ( 30 - 4 ) * 100vw / 768 );
		padding-bottom : calc( ( 30 - 4 ) * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	#sidebar-page a{
		font-size : 1.6rem;
		line-height : 1.25;
		padding-left : 14px;
		padding-right : 14px;
	}
	#sidebar-page > ul{
		border-bottom-width : 1px;
	}
	#sidebar-page > ul > li > a{
		padding-top : calc( 27px - 2px );
		padding-bottom : calc( 27px - 2px );
	}
	#sidebar-page li li + li , #sidebar-page ul ul{
		border-top-width : 1px;
	}
	#sidebar-page li li a{
		padding-top : calc( 20px - 2px );
		padding-bottom : calc( 20px - 2px );
	}
}