@charset "UTF-8";
:root{
	--body : #423604;
	--link : #423604;
	--primary : #5da126;
}
/*--------------------------------------------
COLUMN
---------------------------------------------*/
@media screen and (max-width: 768px){
	#column{
		padding-bottom : calc( 60 * 100vw / 768 );
	}
	#column #article{
		padding-left : calc( 24 * 100% / 672 );
		padding-right : calc( 24 * 100% / 672 );
		padding-top : calc( 24 * 100% / 672 );
		padding-bottom : calc( 24 * 100% / 672 );
	}
}
@media print,screen and (min-width: 769px){
	#column #article{
		padding : 50px 30px;
	}
}
@media screen and (min-width: 769px) and (max-width:1485px){
	#column{
		padding-bottom : calc( 55 * 100vw / 1160 );
	}
}
@media print,screen and (min-width: 1486px){
	#column{
		padding-bottom : 59px;
	}
	#column #article{
	}
}
/*--------------------------------------------
ARTICLE
---------------------------------------------*/
#article{
	background-color : #fff;
}
#article .editor img.aligncenter{
	margin : 0 auto !important;
	display : block;
}
@media screen and (max-width: 768px){
	#article .editor img{
		max-width : 100%;
		height : auto;
		margin-left : auto !important;
		margin-right : auto !important;
		width : auto;
		display : block;
	}
	#article .editor img.alignright{
		float : none;
	}
}
@media print,screen and (min-width: 769px){
	#article .editor img.alignright{
		float : right;
		margin-left : 10px;
		margin-bottom : 10px;
		margin-top : 10px;
	}
}
/*--------------------------------------------
SIDEBAR
---------------------------------------------*/
#sidebar .box{
	background-color : #fff;
}
#sidebar h5{
	background-color : #423604;
	color : #fff;
	font-weight : 700;
	letter-spacing : .1em;
}
#sidebar ul a{
	display : block;
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	#sidebar{
		margin-top : calc( 34 * 100vw / 768 );
	}
	#sidebar .box + .box{
		margin-top : calc( 36 * 100vw / 768 );
	}
	#sidebar h5{
		text-indent : .1em;
		text-align : center;
		font-size : 3.2rem;
		line-height : 1.125;
		padding-top : calc( ( 24 - 2 ) * 100vw / 768 );
		padding-bottom : calc( ( 24 - 2 ) * 100vw / 768 );
	}
	#sidebar ul{
		padding-top : calc( ( 30 - 3.9 ) * 100vw / 768 );
		padding-bottom : calc( ( 55 - 3.9 ) * 100vw / 768 );
	}
	#sidebar ul li + li{
		margin-top : calc( 30 * 100vw / 768 );
	}
	#sidebar ul a{
		font-size : 2.6rem;
		line-height : 1.3;
		padding-left : calc( 20 * 100% / 672 );
		padding-right : calc( 20 * 100% / 672 );
	}
}
@media print,screen and (min-width: 769px){
	#sidebar h5{
		font-size : 2rem;
		line-height : 1.8;
	}
	#sidebar ul a{
		font-size : 1.8rem;
		line-height : 1.3;
	}
}
@media screen and (min-width: 769px) and (max-width:1485px){
	#sidebar{
		margin-top : calc( 40 * 100vw / 768 );
	}
	#sidebar .box{
		width : 250px;
	}
	#sidebar .box + .box{
		margin-left : calc( 20 * 100% / 1060 );
	}
	#sidebar h5{
		padding-top : calc( ( 10 - 8 ) * 100vw / 1160 );
		padding-bottom : calc( ( 10 - 8 ) * 100vw / 1160 );
		padding-left : calc( 8 * 100% / 250 );
		padding-right : calc( 8 * 100% / 250 );
	}
	#sidebar ul{
		padding-top : calc( ( 15 - 2.7 ) * 100vw / 1160 );
		padding-bottom : calc( ( 26 - 2.7 ) * 100vw / 1160 );
	}
	#sidebar ul li + li{
		margin-top : calc( 15 * 100vw / 1160 );
	}
	#sidebar ul a{
		padding-left : calc( 10 * 100% / 250 );
		padding-right : calc( 10 * 100% / 250 );
	}
}
@media print,screen and (min-width: 1486px){
	#sidebar .box + .box{
		margin-top : 21px;
	}
	#sidebar h5{
		padding-top : calc( 10px - 8px );
		padding-bottom : calc( 10px - 8px );
		padding-left : 8px;
		padding-right : 8px;
	}
	#sidebar ul{
		padding-top : calc( 15px - 2.7px );
		padding-bottom : calc( 26px - 2.7px );
	}
	#sidebar ul li + li{
		margin-top : 15px;
	}
	#sidebar ul a{
		padding-left : 10px;
		padding-right : 10px;
	}
}
/*--------------------------------------------
MAP
---------------------------------------------*/
#map .head{
	background : url(../images/ui/bg/pattern01.jpg) repeat;
}
#map .head h1{
	display : flex;
	font-weight : 700;
	letter-spacing : .1em;
}
#map .head h1[data-en]:after{
	content : attr(data-en);
	white-space : pre;
	letter-spacing : .1em;
}
#map .head form{
	display : flex;
	align-items : center;
}
#map .head form .box{
	display : flex;
	align-items : center;
	background-color : #fff;
}
#map .head form label{
	font-weight : 700;
	letter-spacing : .1em;
}
#map .head form input , #map .head form button{
	height : 100%;
	flex-shrink : 0;
}
#map .head form button{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
}
#map .map-container{
	position : relative;
}
#map .map-container > #map , #map .map-container > iframe{
	width : 100%;
	height : 100%;
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	bottom : 0;
	margin : auto;
}
#map .map-container{
	width : 100%;
}
@media screen and (max-width: 768px){
	#map .head{
		height : calc( 90 * 100vw / 768 );
	}
	#map h1{
		padding-top : calc( 12 * 100vw / 768 );
		font-size : 4.6rem;
		align-items : baseline;
	}
	#map h1[data-en]:after{
		font-size : 2.6rem;
	}
	#map form{
		position : absolute;
		top : calc( 240 * 100vw / 768 );
		left : 0;
		background-color : rgba(66,54,.4,.8);
		height : calc( 96 * 100vw / 750 );
		width : 100%;
		padding-left : calc( 48 * 100% / 750 );
		padding-right : calc( 48 * 100% / 750 );
		justify-content : space-between;
		z-index : 9;
	}
	#map form label{
		font-size : 2.6rem;
		flex-grow : 1;
		text-align : center;
		color : #fff;
	}
	#map form .box{
		height : calc( 56 * 100vw / 768 );
		width : calc( 530 * 100% / 720 );
		flex-shrink : 0;
	}
	#map form input{
		width : calc( 464 * 100% / 530 );
	}
	#map form button{
		width : calc( 66 * 100% / 530 );
	}
	#map form button img{
		height : calc( 36 * 100vw / 768 );
	}
	#map .map-container{
		height : calc( 1653 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#map .head .wrap{
		display : flex;
		align-items : flex-start;
	}
	#map .head h1{
		align-items : center;
		font-size : 3.4rem;
	}
	#map .head h1[data-en]:after{
		font-size : 2.4rem;
	}
	#map form label{
		font-size : 1.6rem;
	}
}
@media screen and (min-width: 769px) and (max-width:1485px){
	#map .head{
		height : calc( 70 * 100vw / 1160 );
	}
	#map .head .wrap{
		justify-content : space-between;
	}
	#map h1{
		padding-top : calc( 10 * 100vw / 1160 );
	}
	#map form{
		padding-top : calc( 10 * 100vw / 1160 );
	}
	#map form .box{
		margin-left : calc( 20 * 100vw / 1160 );
		height : calc( 37 * 100vw / 1160 );
		width : calc( 254 * 100vw / 1160 );
	}
	#map form input{
		width : calc( 210 * 100% / 254 );
	}
	#map form button{
		width : calc( 44 * 100% / 254 );
	}
	#map form button img{
		height : calc( 24 * 100vw / 1160 );
	}
	#map .map-container{
		height : calc( 740 * 100vw / 1160 );
	}
}
@media print,screen and (min-width: 1486px){
	#map .head{
		height : 70px;
	}
	#map .head .wrap{
		justify-content : center;
	}
	#map h1{
		padding-top : 10px;
	}
	#map form{
		padding-top : 10px;
		margin-left : 188px;
	}
	#map form label{
	}
	#map form .box{
		margin-left : 20px;
		height : 37px;
		width : 254px;
	}
	#map form input{
		width : 210px;
	}
	#map form button{
		width : 44px;
	}
	#map form button img{
		height : 24px;
	}
	#map .map-container{
		height : 740px;
	}
}
@media screen and (max-width: 768px){
	#map .gm-style-iw.gm-style-iw-c , #map .gm-style-iw-d{
		max-height : inherit!important;
		overflow : visible!important;
	}
	#map .gm-style-iw.gm-style-iw-c{
		padding : calc( 12 * 100vw / 768 )!important;
	}
}
#map .markerBox{
	font-family : var(--fontFamily);
}
#map .markerBox .box{
	display : flex;
	align-items : flex-start;
}
#map .markerBox h2{
	font-weight : 700;
	letter-spacing : .1em;
	color : #333;
}
#map .markerBox h2 a{
    text-decoration: underline !important;
    color: dodgerblue !important;
}
#map .markerBox h2 a:hover{
    color: darkgrey;
    text-decoration: none;
}
#map .markerBox dl > div{
	display : flex;
	align-items : flex-start;
}
#map .markerBox dt{
	flex-shrink : 0;
	background-color : #ffd00e;
	font-weight : 500;
	letter-spacing : .1em;
	text-indent : .1em;
	color : #333;
	display : flex;
	align-items : center;
}
#map .markerBox .box > a , #map .markerBox .box > picture{
	flex-shrink : 0;
}
#map .markerBox .box > a{
	display : block;
}
#map .markerBox .box > a picture{
	width : 100%;
}
#map .markerBox dd , #map .markerBox li{
	letter-spacing : .1em;
	font-weight : 500;
}
@media screen and (max-width: 768px){
	#map .markerBox{
		width : 100%;
	}
	#map .markerBox h2{
		font-size : 2.6rem;
		line-height : 1.2;
	}
	#map .markerBox .box{
		margin-top : calc( ( 13 - 2.6 ) * 100vw / 750 );
	}
	#map .markerBox .box > a , #map .markerBox .box > picture{
		width : calc( 200 * 100% / 624 );
		margin-right : calc( 10 * 100% / 624 );
	}
	#map .markerBox dl > div + div{
		margin-top : calc( 5 * 100vw / 750 );
	}
	#map .markerBox dt{
		font-size : 2.4rem;
		height : calc( 46 * 100vw / 750 );
		padding-left : calc( 10 * 100vw / 750 );
		margin-right : calc( 10 * 100vw / 750 );
		padding-right : calc( 12 * 100vw / 750 );
	}
	#map .markerBox dd , #map .markerBox li{
		font-size : 2.4rem;
		line-height : 1.2;
	}
	#map .markerBox dd{
		padding-top : calc( ( 11 - 2.4 ) * 100vw / 750 );
	}
	#map .markerBox .breads{
		flex-wrap : wrap;
	}
}
@media print,screen and (min-width: 769px){
	#map .markerBox h2{
		font-size : 1.6rem;
		line-height : 1.2;
	}
	#map .markerBox dt{
		font-size : 1.4rem;
	}
	#map .markerBox dd , #map .markerBox li{
		font-size : 1.4rem;
		line-height : 1.2;
	}
}
@media screen and (min-width: 769px) and (max-width:1485px){
	#map .markerBox{
		max-width : calc( 430 * 100vw / 1160 );
	}
	#map .markerBox .box{
		margin-top : calc( ( 13 - 1.6 ) * 100vw / 1160 );
	}
	#map .markerBox .box > a , #map .markerBox .box > picture{
		width : calc( 81 * 100% / 430 );
		margin-right : calc( 11 * 100% / 430 );
	}
	#map .markerBox dl > div + div{
		margin-top : calc( 5 * 100vw / 1160 );
	}
	#map .markerBox dt{
		height : calc( 22 * 100vw / 1160 );
		padding-left : calc( 5 * 100vw / 1160 );
		margin-right : calc( 5 * 100vw / 1160 );
		padding-right : calc( 5 * 100vw / 1160 );
	}
	#map .markerBox dd{
		padding-top : calc( ( 4 - 1.6 ) * 100vw / 1160 );
	}
}
@media print,screen and (min-width: 1486px){
	#map .markerBox{
		width : 430px;
	}
	#map .markerBox .box{
		margin-top : calc( 13px - 1.6px );
	}
	#map .markerBox .box > picture , #map .markerBox .box > a{
		width : 81px;
		margin-right : 11px;
	}
	#map .markerBox dl > div + div{
		margin-top : 5px;
	}
	#map .markerBox dt{
		height : 22px;
		padding-left : 5px;
		margin-right : 5px;
		padding-right : 5px;
	}
	#map .markerBox dd{
		padding-top : calc( 4px - 1.6px );
	}
}
#entries li li p{
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	#entries h3{
		font-size : 3rem;
		line-height : 1.3333;
	}
	#entries h3:after{
		margin-top : calc((21 - 5) * 100vw / 768);
		width : calc(150 * 100% / 648);
		height : calc(6 * 100vw / 768);
	}
	#entries .editor{
		margin-top : calc((27 - 7) * 100vw / 768);
	}
	#entries ul{
		margin-top : calc((47 - 7) * 100vw / 768);
	}
	#entries li li{
		display : flex;
		align-items : flex-start;
	}
	#entries li li + li{
		margin-top : calc(43 * 100vw / 768);
	}
	#entries li li p{
		margin-top : calc(10 * 100vw / 768);
	}
	#entries picture{
		width : calc(260 * 100% / 648);
		flex-shrink : 0;
	}
	#entries li li > div{
		flex-grow : 1;
		padding-left : calc(10 * 100% / 648);
		padding-right : calc(10 * 100% / 648);
	}
	#entries h4{
		margin-top : calc(-4.5 * 100vw / 768);
		font-size : 3rem;
		line-height : 1.3;
	}
	#entries li li p{
		margin-top : calc(10 * 100vw / 768);
		font-size : 2.6rem;
		line-height : 1.3;
	}
}
@media print,screen and (min-width: 769px){
	#entries h3{
		font-size : 2.8rem;
		line-height : 1.3;
	}
	#entries ul{
		display : flex;
		flex-wrap : wrap;
	}
	#entries picture{
		width : 100%;
	}
	#entries h4{
		font-size : 2.4rem;
		line-height : 1.3;
	}
	#entries li li p{
		font-size : 1.8rem;
		line-height : 1.5;
	}
}
@media screen and (min-width: 769px) and (max-width:1485px){
	#entries h3:after{
		margin-top : calc((16 - 4.2) * 100vw / 1160);
		width : calc(250 * 100% / 1000);
		height : calc(4 * 100vw / 1160);
	}
	#entries .editor{
		margin-top : calc((22 - 4.5) * 100vw / 1160);
	}
	#entries ul{
		margin-top : calc((46 - 4.5) * 100vw / 1160);
	}
	#entries li li{
		width : calc(320 * 100% / 1000);
	}
	#entries li li:not(:nth-child(3n+1)){
		margin-left : calc(20 * 100% / 1000);
	}
	#entries li li:nth-child(n+4){
		margin-top : calc((31 - 4.5) * 100vw / 1160);
	}
	#entries li li p{
		margin-top : calc(10 * 100vw / 1160);
	}
	#entries h4{
		margin-top : calc((10 - 3.6) * 100vw / 1160);
	}
}
@media print,screen and (min-width: 1486px){
	#entries h3:after{
		margin-top : calc( 16px - 4.2px );
		width : 250px;
		height : 4px;
	}
	#entries .editor{
		margin-top : calc( 22px - 4.5px );
	}
	#entries ul{
		margin-top : calc( 46px - 4.5px );
	}
	#entries li li{
		width : 320px;
	}
	#entries li li:not(:nth-child(3n+1)){
		margin-left : 20px;
	}
	#entries li li:nth-child(n+4){
		margin-top : calc( 31px - 4.5px );
	}
	#entries li li p{
		margin-top : 10px;
	}
	#entries h4{
		margin-top : calc( 10px - 3.6px );
	}
}
.mw_wp_form_input dt , .mw_wp_form_confirm dt{
	flex-shrink : 0;
}
.mw_wp_form_input dd , .mw_wp_form_confirm dd{
	flex-grow : 1;
}
@media print,screen and (min-width: 769px){
	.mw_wp_form_input dl > div , .mw_wp_form_confirm dl > div{
		display : flex;
		align-items : flex-start;
	}
}
.mw_wp_form_input dt label:required{
	display : flex;
	align-items : flex-start;
}
.mw_wp_form_input dt label:required:after{
	content : "必須";
}
.mw_wp_form_input dt span{
	display : block;
}
.mw_wp_form_confirm dt span{
	display : none;
}
.mw_wp_form_confirm dd p{
	display : none;
}
.mw_wp_form_confirm input[type="reset"]{
	display : none;
}
.mw_wp_form_confirm .confirm{
	display : none;
}
@media print, screen and (min-width: 769px){
	.sponsor_list{
		display : flex;
	}

	.sponsor_list div:first-child{
		margin-right : 20px;
        width: 250px;
	}
	.sponsor_list div:nth-of-type(2){
        width: calc(100% - 20px - 250px);
	}
	.sponsor_list div:first-child{
	}

	.sponsor_list > div{
		align-items : center;
	}
}
@media screen and (max-width: 768px){
	.sponsor_list > div{
		margin-bottom : 2em;
	}
}