@charset "utf-8";
/* CSS Document */

html,body{
	font-family:Quicksand, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	height:100%;
	margin:0;
	padding:0;
	font-size:16px;
	line-height:30px;
	color:#503530;
	background: #ede8ea;
}
ul,ol,li,dl,dt,dd,p,strong{
	list-style:none;
	margin:0;
	padding:0;
}
h1,h2,h3,h4,h5,h6{
	margin:0;
	padding:0;
	font-size:1em;
	line-height:100%;
	font-weight:normal;
}

img{
	border:none;
}
a{
	color:#503530;
	text-decoration:none;
}

@media screen and (max-width:750px){
}

/*--------------------------------------------------

  共通設定

--------------------------------------------------*/
#mainframe{
	width:100%;
	height:100%;
	height:-webkit-calc(100% - 60px);
	height:calc(100% - 60px);
	padding-top:60px;
	z-index:1;
}

#contents{
	width:960px;
	margin:0 auto;
	padding-top:150px;
	padding-bottom:160px;
}

#contents h2{
	display:block;
	width:100%;
	border-bottom:#4c4c4c dotted 1px;
	font-size:40px;
	line-height:70px;
	text-align:center;
	color:#503530;
}

#contents h3{
	display: block;
	padding: 20px 0 5px;
	font-size: 24px;
	line-height: 38px;
	text-align: center;
	font-weight: normal;
}
#contents h3:nth-of-type(n+2){
	border-top:#4c4c4c dotted 1px;
	padding-top:90px;
}
#contents > div{
	border-bottom:#4c4c4c dotted 1px;
	padding-top:90px;
}


.anchor{
	margin-top:-140px;
	padding-top:140px;
}

.pc{
	display:block;
}
.sp{
	display:none;
}

@media screen and (max-width:1023px){
#contents{
	width:94%;
	padding-bottom:30%;
}
}

@media screen and (max-width:750px){
#mainframe{
	padding-top:80px;
}

#contents{
	padding-top:20%;
}

#contents h2{
	font-size:24px;
	line-height:60px;
}

.anchor{
	margin-top:-180px;
	padding-top:180px;
}

.pc{
	display:none;
}
.sp{
	display:block;
}

}

/* ヘッダー
--------------------------------------------------*/
#header{
	position:fixed;
	left:0; top:0;
	width:100%;
	height:60px;
	background:#503530;
	z-index:10;
}
#headerIn{
	width:1200px;
	margin:0 auto;
}
#header #logo{
	position:absolute;
	left:2.6667%; top:4px;
	line-height:0;
	height: 80%;
}
#header #logo img{
	width: auto;
	height: 100%;
}


#mainNavi{
	display:block;
	width:auto;
	height:60px;
	padding:0 10%;
	text-align:center;
}
#spclose{
	display:none;
	opacity:0;
	-webkit-transition:all 0.3s ease;
	transition:all 0.3s ease;
	cursor:pointer;
}
#spclose.on{
	display:block;
	opacity:1;
}

#mainNavi li{
	display:inline-block;
	padding:0;
	margin:0 4.75%;
	font-size:18px;
	line-height:60px;
	cursor:pointer;
}
#mainNavi li a,
#mainNavi li strong{
	display:block;	
	padding:0;
	color:#ede8ea;
	font-weight:bold;
	-webkit-transition:color 0.3s ease;
	text-decoration: none;
	transition:color 0.3s ease;
}
#mainNavi li strong{
	font-weight:normal;
}
#mainNavi li.on a,
#mainNavi li:hover a,
#mainNavi li.on strong,
#mainNavi li:hover strong{
	color:rgba(255,255,255,0.5);
}

#mainNavi li .subNavi{
	overflow:hidden;
	position:absolute;
	left:0; top:60px;
	background:rgba(217,217,217,0.50);
	width:100%;
	height:0px;
	text-align:center;
	opacity:0;
	-webkit-transition:all 0.3s ease;
	transition:all 0.3s ease;
	cursor:default;
}
#mainNavi li.on .subNavi{
	height:60px;
	opacity:1;
}
#mainNavi li .subNavi li{
	display:inline-block;
	overflow:hidden;
	float:none;
	height:0;
	margin:0 2%;
	padding:0;
	opacity:0;
	-webkit-transition:all 0.3s ease;
	transition:all 0.3s ease;
}
#mainNavi li.on .subNavi li{
	height:auto;
	opacity:1;
}
#mainNavi li .subNavi li a{
	color:#4c4c4c;
}
#mainNavi li .subNavi li a.on,
#mainNavi li .subNavi li a:hover{
	color:#e60012;
}




#language{
	position:absolute;
	right:2.5%; top:22px;
	font-size:14px;
	line-height:16px;
	color:rgba(255,255,255,1);
}
#language span,
#language a{
	color:rgba(255,255,255,0.5);
}
#language a:hover{
	color:rgba(255,255,255,1);
}

@media screen and (max-width:1199px){
#headerIn{
	width:100%;
}
}

@media screen and (max-width:750px){
#header{
	height:80px;
}
#header #logo{
	left:4%; top:6px;
	background-size:100% auto;
}
#header #logo img{
}


#mainNavi{
	height:60px;
	padding:20px 0 0 14%;
}
.spclose{
	overflow:hidden;
	position:absolute;
	right:4%; top:70px;
	width:0px;
	height:0px;
	z-index:9;
	opacity:0;
	-webkit-transition:opacity 0.3s ease 0.4s;
	transition:opacity 0.3s ease 0.4s;
}
.spclose:before,
.spclose:after{
	content:"";
	overflow:hidden;
	position:absolute;
	left:5px; top:26px;
	border-top:#4d4d4d solid 2px;
	width:42px;
	height:1px;
}
.spclose.on:before{
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}
.spclose.on:after{
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
.spclose.on{
	display:block;
	top:95px;
	width:52px;
	height:52px;
	opacity:1;
}

#mainNavi li{
	display:inline-block;
	background:center top no-repeat;
	background-size:30px auto;
	margin:0 1.5%;
	font-size:14px;
	line-height:20px;
	cursor:pointer;
}
#mainNavi li:before{
	content:"●";
	float:left;
	padding:15px 0 15px 15px;
	color:#ede8ea;
}

#mainNavi li.navi strong,
#mainNavi li.navi a{
	padding-top:30px;
}
#mainNavi li .subNavi{
	top:80px;
	background:rgba(217,217,217,0.90);
}
#mainNavi li.on .subNavi{
	height:auto;
	padding:80px 0 1px;
}

#mainNavi li .subNavi li{
	display:block;
	overflow:hidden;
	position:relative;
	float:none;
	border-bottom:#4c4c4c dotted 1px;
	padding-left:16px;
	margin:0 2%;
	font-size:24px;
	line-height:79px;
	text-align:left;
}
#mainNavi li .subNavi li:last-child{
	border:none;
}

#mainNavi li .subNavi li a{
	padding-top:0;
}
#mainNavi li .subNavi li a:after{
	content:"";
	display:block;
	position:absolute;
	right:19px; top:28px;
	background:url(../images/btnicon_sp.png) 0 0 no-repeat;
	width:15px;
	height:24px;
}

#language{
	display:none;
}


/*---------------------------------------- 19/09/16 -*/

#mainNavi li.on a,
#mainNavi li:hover a,
#mainNavi li.on strong,
#mainNavi li:hover strong{
	color:#FFFFFF;
}

.spclose{
	right:4%; top:17px;
	width:44px;
	height:44px;
	opacity:1;
	
}
.spclose.on{
	display:block;
	top:15px;
	width:44px;
	height:44px;
	opacity:1;
}

.spclose:before,
.spclose:after{
	left:5px; top:26px;
	width:34px;
	height:1px;
	-webkit-transform:rotate(0deg);
	transform:rotate(0deg);
	-webkit-transition:height 0.3s 0.3s ease, top 0.3s 0.3s ease, border-bottom 0.1s 0.3s ease, transform 0.3s ease;
	transition:height 0.3s 0.3s ease, top 0.3s 0.3s ease, border-bottom 0.1s 0.3s ease, transform 0.3s ease;
}
.spclose:before{
	top:9px;
	height:10px;
	border-top:#FFFFFF solid 2px;
	border-bottom:#FFFFFF solid 2px;
}
.spclose:after{
	top:33px;
	border-top:#FFFFFF solid 2px;
}

.spclose.on:before,
.spclose.on:after{
	left:5px; top:20px;
	height:0;
	border-top:#FFFFFF solid 2px;
	-webkit-transition:height 0.3s ease, top 0.3s ease, border-bottom 0.3s ease, transform 0.3s 0.3s ease;
	transition:height 0.3s ease, top 0.3s ease, border-bottom 0.3s ease, transform 0.3s 0.3s ease;
}
.spclose.on:before{
	border-bottom:#FFFFFF solid 0px;
}


#mainNavi{
	overflow:hidden;
	display:block;
	height:0px;
	background:#221815;
	margin-top:70px;
	-webkit-transition:all 0.3s ease;
	transition:all 0.3s ease;
	padding:0 5%;
}
#mainNavi.on{
	overflow:hidden;
	overflow-y:scroll;
	display:block;
	height:calc(100vh - 100px);
	padding:10px 5%;
	margin-top:80px;
}
#mainNavi li{
	display:block;
	background:left 7px no-repeat;
	margin:0;
	font-size:21px;
	line-height:26px;
}

#mainNavi li.navi{
	background-size: 40px auto;
	margin:0 0 30px;
}
#mainNavi li.navi strong{
	padding-top:15px;
	padding-bottom:15px;
	padding-left:48px;
	text-align:left;
	cursor:pointer;
}
#mainNavi li.navi strong a{
	padding:0;
}

#mainNavi li .subNavi{
	display:none;
	position:relative;
	top:0;
	background:rgba(255,255,255,0.90);
	height:auto;
	opacity:1;
	-webkit-transition:none;
	transition:none;
}
#mainNavi li .subNavi,
#mainNavi li.on .subNavi{
	padding:1px 0;
}
#mainNavi li .subNavi li{
	line-height: 79px;
	opacity:1;
	-webkit-transition:all 0.3s ease;
	transition:all 0.3s ease;
	height:auto;
}
#mainNavi li.on .subNavi li{
}


}

@media screen and (max-width:376px){

#header #logo{
}

#header #logo a{
	display:block;
	width:36px;
	height:32px;
}
}
@media screen and (max-width:360px){

}
@media screen and (max-width:340px){
#header #logo{
	left:3%;
}

}

/* フッター
--------------------------------------------------*/
#footer{
	position:relative;
	background:#503530;
}
#footer #footerIn{
	width:960px;
	margin:0 auto;
	padding:0 32px 0;
	color:#ede8ea;
}
#Copyright{
	padding:20px 0;
	text-align:center;
	font-size:14px;
	line-height:20px;
}
#Copyright br{
	display:none;
}

@media screen and (max-width:1023px){
	#footer #footerIn{
		width:auto;
		margin:0 auto;
		padding:0 32px 0;
		color:#ede8ea;
	}
}


@media screen and (max-width:750px){

	#Copyright br{
		display:block;
	}

}


/*---------------------------------------- 25/08/18 -*/
/* Contactform
--------------------------------------------------*/
.tab-switch {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   margin: auto;
	padding-top: 30px;
}
/* 各タブボタンの設定 */
.tab-switch > label {
   flex: 1 1 auto;
   order: -1;
   position: relative;
   padding: 0.7em 1em;
   background-color: rgba(255,255,255,0.2);
	border: #503530 1px solid;
    width: 50%;
    box-sizing: border-box;
	font-size: 1.4em;
   color: #503530;
   text-align: center;
   cursor: pointer;
   transition: 0.3s all;
}
/* タブボタンのホバーおよび選択状態のスタイル */
.tab-switch > label:hover,
.tab-switch > label:has(:checked) {
   background-color: #503530;
   color: #FFFFFF;
}
.tab-switch > label:has(:checked)::after{
	content: "";
	position: absolute;
	bottom: -12px; left: 0; right: 0;
	margin: 0 auto;
	width: 0; height: 0;
	border-top:#503530 12px solid;
	border-left:transparent 15px solid;
	border-right:transparent 15px solid;
	border-bottom:none;
}
/* ラジオボタン自体は非表示 */
.tab-switch > label input {
   display: none;
}
/* タブコンテンツのスタイル */
.tab-switch > div {
   display: none;
   width: 100%;
   padding: 2em 0 0;
}
/* 選択されたタブのコンテンツを表示 */
.tab-switch > label:has(:checked) + div {
   display: block;
}

.contents_inquiry ul{
	border-top: rgba(80, 53, 48, 0.1) 2px solid;
}


.textareaBox .wpcf7-not-valid-tip{
	line-height: 2.5em;
}
.consentBox{
	padding: 30px 15px 0px;
	text-align: center;
}
.consentBox .wpcf7-list-item{
	margin-left: 0;
}
.consentBox label{
	display: flex;
}
.consentBox input[type="checkbox"]{
	width: 23px;
    height: 23px;
}
.consentBox label > span{
	padding-left: 0.3em;
	text-align: left;
}
.consentBox strong{
	font-size: 1.2em;
}
.consentBox p:not(:nth-of-type(1)){
	padding-top: 1em;
}
.consentBox .consentText{
	padding-top: 1.5em;
}
.consentBox .consentText label{
	display: flex;
    align-items: center;
}

.contents_inquiry input,
.contents_inquiry textarea,
.contents_inquiry select,
.contents_inquiry option{
	font-size: 1.1em;
    color: #503530;
}
.contents_inquiry textarea{
	line-height: 1.2em;
}
.daytime{
	display: flex;
}
.daytime .ResDay{
	width: 40%;
}
.daytime .ResTime{
	width: 45%;
	margin-left: 20px;
}
.daytimeSet a{
	text-decoration: underline;
}

@media screen and (max-width:750px){
	.tab-switch > label{
		font-size: 1.1em;
	}
	.consentBox{
		padding: 30px 0 10px;
	}
	.daytime {
    	display: block;
	}
	.daytime .ResDay{
		width: 100% !important;
	}
	.daytime .ResTime{
		width: 100%;
		margin-left: 0px;
		margin-top: 15px;
	}
	.daynumber select,
	.daytime .ResTime select,
	.daytime .ResDay input{
		overflow-clip-margin: 0px !important;
		overflow: clip !important;
		-webkit-appearance: none !important;
		appearance: none !important;
	}
	.daynumber select,
	.daytime .ResTime select{
		background: #FFF;
	}
	.daytime .ResDay input{
		background-color: transparent;
		padding-left:10em; 
	}
/*	.daytime .ResDay input::before{
		content: '　';
        display: block;
        width: 13em;
		font-size: 12px;
	}*/
	.daytime .ResDay{
		position: relative;
		background: #FFF;
	}
	.daytime .ResDay::before{
		content: '日付を選択してください：';
        display: block;
		position: absolute;
		left: 10px; top: calc(50% - 18px);
		font-size: 12px;
        line-height: 3em;
	}
}