@charset "UTF-8";

/**
 * 全体
----------------------------------------------------------------*/
/* フレックス初期設定 */
.flex{ --margin:40px; }
@media screen and (max-width: 768px){
	.flex{ --margin:20px; }
}

/* リッチフォーム初期設定 */
.form .richform{

	/* 配色 */
	--black:rgb(35,24,21);
	--gray:#ccc;
	--silver:#f5f5f5;
	--blue:rgb(36,190,221);
	--blue-disabled:rgb(145,222,238);
	--white:white;
	--red:crimson;
	--default-color:rgba(0,0,0,0);
	
	/* 内余白 */
	--padding:.4em 1em;
	--padding-top:.4em;
	--padding-left:1em;
	--padding-interval:4em;
	
	/* その他 */
	--border-radius:0;
	--border-radius-top:0;
	--border-radius-right:0;
	--border-radius-bottom:0;
	--border-radius-left:0;

}

/* フォント */


/* ボディ */
body{
	font-size:14px;
	line-height:1.7;
	color:rgb(35,24,21);
	font-family:"Roboto", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	animation:fade 1s ease-in 0s forwards;
}

/**
 * キーフレーム
----------------------------------------------------------------*/
/* フェード */
@keyframes fade{
	0%{ opacity:0; }
	1%{
		opacity:0;
		display:block;
	}
	100%{
		opacity:1;
		display:block;
	}
}

/**
 * プロトタイプ
----------------------------------------------------------------*/
img{
	display:block;
	margin:0 auto;
	max-width:100%;
}
em{
	font-style:normal;
	color:crimson;
}
strong{
	color:crimson;
	font-size:150%;
}
.big{ font-size:150%; }
p{ text-align:justify; }
.c{ text-align:center; }
.r{ text-align:right; }
.l{ text-align:left; }
.tel{
	color:inherit;
	text-decoration:none;
}
.relative{ position:relative; }
strong.big{ font-size:150%; }
strong.xbig{ font-size:200%; }
@media screen and (max-width: 768px){
	.safeimg{ max-width:240px; }
}
@media screen and (max-width: 240px){
	.safeimg{ max-width:100%; }
}
figcaption{
	font-size:16px;
	padding:10px 20px;
	text-align:center;
	font-weight:bold;
}
@media screen and (max-width: 768px){
	figcaption{ font-size:14px; }
}

/* スライドアップ */
.slideup{
	opacity:0;
	visibility:hidden;
	transform:translateY(30px);
	transition:.5s ease-out;
}
.slideuped{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}
	.slideup.delay0{ transition-delay:0s; }
	.slideup.delay1{ transition-delay:0.1s; }
	.slideup.delay2{ transition-delay:0.2s; }
	.slideup.delay3{ transition-delay:0.3s; }
	.slideup.delay4{ transition-delay:0.4s; }
	.slideup.delay5{ transition-delay:0.5s; }
	.slideup.delay6{ transition-delay:0.6s; }
	.slideup.delay7{ transition-delay:0.7s; }
	.slideup.delay8{ transition-delay:0.8s; }
	.slideup.delay9{ transition-delay:0.9s; }
	.slideup.delay10{ transition-delay:1s; }
	.slideup.delay11{ transition-delay:1.1s; }
	.slideup.delay12{ transition-delay:1.2s; }
	.slideup.delay13{ transition-delay:1.3s; }
	.slideup.delay14{ transition-delay:1.4s; }
	.slideup.delay15{ transition-delay:1.5s; }
	.slideup.delay16{ transition-delay:1.6s; }
	.slideup.delay17{ transition-delay:1.7s; }
	.slideup.delay18{ transition-delay:1.8s; }
	.slideup.delay19{ transition-delay:1.9s; }
	.slideup.delay20{ transition-delay:2s; }
	.slideup.delay21{ transition-delay:2.1s; }
	.slideup.delay22{ transition-delay:2.2s; }
	.slideup.delay23{ transition-delay:2.3s; }
	.slideup.delay24{ transition-delay:2.4s; }
	.slideup.delay25{ transition-delay:2.5s; }
	.slideup.delay26{ transition-delay:2.6s; }
	.slideup.delay27{ transition-delay:2.7s; }
	.slideup.delay28{ transition-delay:2.8s; }
	.slideup.delay29{ transition-delay:2.9s; }
	.slideup.delay30{ transition-delay:3s; }
	.slideup.delay31{ transition-delay:3.1s; }
	.slideup.delay32{ transition-delay:3.2s; }
	.slideup.delay33{ transition-delay:3.3s; }
	.slideup.delay34{ transition-delay:3.4s; }
	.slideup.delay35{ transition-delay:3.5s; }
	.slideup.delay36{ transition-delay:3.6s; }
	.slideup.delay37{ transition-delay:3.7s; }
	.slideup.delay38{ transition-delay:3.8s; }
	.slideup.delay39{ transition-delay:3.9s; }
	.slideup.delay40{ transition-delay:4s; }
	.slideup.delay41{ transition-delay:4.1s; }
	.slideup.delay42{ transition-delay:4.2s; }
	.slideup.delay43{ transition-delay:4.3s; }
	.slideup.delay44{ transition-delay:4.4s; }
	.slideup.delay45{ transition-delay:4.5s; }
	.slideup.delay46{ transition-delay:4.6s; }
	.slideup.delay47{ transition-delay:4.7s; }
	.slideup.delay48{ transition-delay:4.8s; }
	.slideup.delay49{ transition-delay:4.9s; }
@media screen and (max-width: 768px){
	.slideup{
		opacity:1;
		visibility:visible;
		transition:0s;
		transform:translateY(0);
		transition-delay:0s;
	}
}

/* slickスライドドット */
.slick-dots{
	display:flex;
	justify-content:center;
	margin:10px;
}
.slick-dots > li > button{
	margin:5px;
	border:none;
	background:rgb(233,231,231);
	border-radius:50%;
	font-size:0;
	color:rgba(0,0,0,0);
	width:10px;
	height:10px;
	transition:background .2s;
}
.slick-dots > li.slick-active > button{ background:rgb(211,242,248); }
.slick-dots > li > button:hover{ background:rgb(145,222,238); }

/* マウスオーバー */
.hoverable.opacity{
	transition:opacity .2s;
	display:block;
}
.hoverable.opacity.hover{ opacity:.7; }

/* 1カラム */
.one{ margin:40px; }
@media screen and (max-width: 768px){
	.one{ margin:20px; }
}

/* インラインリンク */
.inlinelink{
	color:rgb(36,190,221);
	transition:color .2s;
}
.inlinelink.hover{ color:rgb(123,216,234); }

/* GoogleMaps */
.gm > iframe{ height:400px; }

/* YouTube */
.yt > a{ transition:opacity .2s; }
.yt > a.hover{ opacity:.8; }
.yt{
	position:relative;
	padding-bottom:56.25%;
	height:0;
	overflow:hidden;
}
.yt > iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

/* マージン */
.tmargin{ padding-top:80px;}
.bmargin{ padding-bottom:80px; }
.tmargin.-narrow{ padding-top:40px;}
.bmargin.-narrow{ padding-bottom:40px; }
.tmargin.-min{ padding-top:20px;}
.bmargin.-min{ padding-bottom:20px; }

/* レイアウト */
.base{
	max-width:1200px;
	margin:0 auto;
}
.base.-narrow{ max-width:960px; }
.base.-xnarrow{ max-width:512px; }
@media screen and (max-width: 1080px){
	.base{ padding:0; }
}
@media screen and (max-width: 768px){
	.base.-smart{ max-width:375px; }
}

/* セーフマージン */
.safe{ padding:40px; }
.safe.-narrow{ padding:20px; }
@media screen and (max-width: 768px){
	.safe{ padding:20px; }
}

/* 分岐 */
.sp{ display:none; }
@media screen and (max-width: 768px){
	.pc{ display:none; }
	.sp{ display:block; }
}

/* 水平線 */
.hr{
	display:block;
	background:#ccc;
	border:0;
	margin:10px 0;
}

/* スクロール */
.scrollable{
	transition:opacity 1s;
	opacity:0;
}
.scrollable.scrolled{ opacity:1; }

/* リスト */
.list.space{ padding:40px 0; }
.list > li{
	font-size:16px;
	padding-left:1.5em;
	position:relative;
	padding-bottom:10px;
}
.list > li::before{
	content:'・';
	position:absolute;
	left:0;
}
@media screen and (max-width: 768px){
	.list > li{ font-size:14px; }
}

/* テーブル */
.table{ width:100%; }
.table th{
	width:160px;
	font-size:18px;
	font-weight:bold;
	vertical-align:top;
	padding:.2em .4em;
	letter-spacing:.2em;
}
.table td{
	font-size:16px;
	padding:.2em .4em;
	letter-spacing:.2em;
}
.table.min th{
	font-size:16px;
	font-weight:normal;
	width:100px;
}
.table.autoth th{ width:auto; }
@media screen and (max-width: 768px){
	.table th{ width:100px; }
	.table th,
	.table th,
	.table td,
	.table .minth{ font-size:14px; }
	.table.-responsive,
	.table.-responsive tr,
	.table.-responsive th,
	.table.-responsive td{ display:block; }
	.table.-responsive th,
	.table.-responsive td{ padding:0; }
	.table.-responsive tr:not(:first-child){ margin-top:20px; }
}

/* 段組み */
.multicolumn{ column-count:2; }
@media screen and (max-width: 768px){
	.multicolumn{ column-count:1; }
}

/* グリッド */
.grid > section{
	padding-bottom:40px;
	position:relative;
}
.grid > section > figure{ margin-bottom:20px; }
.grid > section > figure > a{
	transition:opacity .2s;
	display:block;
}
.grid > section > figure > a.hover{ opacity:.7; }
.grid > section > h2,
.grid > section > h3,
.grid > section > h4,
.grid > section > h5,
.grid > section > h6{
	font-size:120%;
	font-weight:bold;
	margin-bottom:10px;
	letter-spacing:.2em;
}
.grid > section > h2 > small,
.grid > section > h3 > small,
.grid > section > h4 > small,
.grid > section > h5 > small,
.grid > section > h6 > small{
	font-size:80%;
	font-weight:normal;
	display:block;
}
.grid.min > section > figure{ margin-bottom:10px; }
.grid.min > section > h2,
.grid.min > section > h3,
.grid.min > section > h4,
.grid.min > section > h5,
.grid.min > section > h6{
	font-size:14px;
	font-weight:normal;
}
@media screen and (max-width: 768px){
	.grid > section > h2,
	.grid > section > h3,
	.grid > section > h4,
	.grid > section > h5,
	.grid > section > h6{
		font-size:inherit;
		margin-bottom:5px;
	}
}

/* Instagramギャラリー */
.instaphotos > a{
	transition:opacity .2s;
	position:relative;
}
.instaphotos > a.hover{ opacity:.7; }
.instaphotos > a::before{
	content:'';
	display:block;
	padding-top:100%;
}
.instaphotos > a > img{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	object-fit:cover;
}

/* バナー*/
.banners{
	text-align:center;
	padding:20px;
}
.banner{
	display:inline-block;
	transition:opacity .2s;
	max-width:384px;
}
.banner.hover{ opacity:.7; }

/* ボタン */
.buttons{
	text-align:center;
	padding:10px;
}
.buttons.r{
	text-align:right;
	padding:10px 0;
}
.button{
	display:inline-block;
	padding:10px 20px;
	border:1px solid rgb(35,24,21);
	color:rgb(35,24,21);
	margin:10px;
	transition:background .2s;
	box-sizing:border-box;
	position:relative;
	min-width:200px;
	letter-spacing:.2em;
	text-align:center;
	vertical-align:middle;
	position:relative;
}
.button::before{
	content:'';
	position:absolute;
	display:block;
	top:50%;
	left:-10px;
	width:0;
	border-top:1px solid rgb(35,24,21);
	transition:width .2s;
}
.buttons.r > .button{ margin:0; }
.button.hover{ background:rgb(233,231,231); }
.button.hover.button::before{ width:20px; }
@media screen and (max-width: 768px){
	.buttons{ padding:10px 0; }
	.button{
		font-size:14px;
		line-height:30px;
		padding:5px 10px;
		min-width:calc(100% - 20px);
		width:200px;
	}
	.button::after{
		width:50px;
		height:50px;
	}
	.buttons.r{
		text-align:center;
		padding:10px;
	}
	.buttons.r > .button{ margin:10px; }
}
@media screen and (max-width: 640px){
	.button{ width:auto; }
}

/* 見出し */
#pagename{
	padding:20px 20px;
}
#pagename > h1{
	text-align:center;
	letter-spacing:.2em;
	font-size:18px;
	font-weight:bold;
}
#pagename > p{
	text-align:center;
	letter-spacing:.2em;
	font-size:14px;
	letter-spacing:.1em;
	font-weight:normal;
}
.h2{
	text-align:center;
	letter-spacing:.2em;
	padding:100px 20px 40px;
	font-size:18px;
	font-weight:bold;
}
.h2 > small{
	display:block;
	font-size:14px;
	letter-spacing:.1em;
	font-weight:normal;
}
.h3{
	letter-spacing:.2em;
	padding:100px 0 10px;
	margin:0 40px 40px;
	border-bottom:1px solid #ccc;
	font-size:18px;
	font-weight:bold;
	vertical-align:middle;
}
.h3.inside{
	padding-top:20px;
	margin-bottom:20px;
}
.h3 > small{
	padding-left:20px;
	display:inline-block;
	font-size:14px;
	letter-spacing:.1em;
	font-weight:normal;
}
.h4{
	font-size:16px;
	font-weight:bold;
	margin:5px 0;
}
@media screen and (max-width: 768px){
	.h2{ padding:40px 20px 20px; }
	.h3{
		font-size:16px;
		margin:0 20px 40px;
	}
}

/* お問い合わせボックス */
.contactbox{
	background:rgb(250,248,243);
	padding:40px 0;
}
.contactbox > .base > .flex > div > h2{
	font-size:40px;
	font-weight:bold;
}
.contactbox > .base > .flex > div > p{
	font-size:18px;
	letter-spacing:.2em;
}
.contactbox > .base > .flex > .flex{
	align-items:flex-start;
	--margin:20px;
}
.contactbox > .base > .flex > .flex > .button{
	min-width:0;
	margin:0;
	display:block;
	letter-spacing:0;
}
.contactbox > .base > .flex > .flex > .button:first-child{ margin-right: var(--margin); }
@media screen and (max-width: 1200px){
	.contactbox > .base > .flex > div > h2{ font-size:22px; }
	.contactbox > .base > .flex > div > p{ font-size:14px; }
	.contactbox > .base > .flex > div > .button{ font-size:13px; }
}

/* ダイアログ */
.dialog{
	display:none;
	opacity:0;
	position:fixed;
	z-index:10000;
}
.dialog.active{
	display:block;
	opacity:1;
	animation:fade .4s ease-in 0s forwards;
}
.dialog > dialog{
	display:block;
	border:0;
	box-shadow:0 0 20px rgba(0,0,0,.1);
	padding:60px;
	box-sizing:border-box;
	position:fixed;
	width:900px;
	height:800px;
	background:white;
	top:50%;
	bottom:50%;
	z-index:10001;
	overflow-y:scroll;
}
.dialog > .backdrop{
	background:rgba(0,0,0,0.4);
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	z-index:10000;
}
.dialog > dialog > h2,
.dialog > dialog > h3,
.dialog > dialog > h4,
.dialog > dialog > h5,
.dialog > dialog > h6{
	font-weight:bold;
	text-align:center;
	letter-spacing:.2em;
	border-bottom:1px solid #ccc;
	padding-bottom:20px;
	margin-bottom:40px;
	font-size:18px;
}
@media screen and (max-width: 940px){
	.dialog > dialog{
		width:auto;
		left:20px;
		right:20px;
	}
}
@media screen and (max-height: 840px){
	.dialog > dialog{
		height:auto;
		top:20px;
		bottom:20px;
	}
}
@media screen and (max-width: 768px){
	.dialog > dialog{
		width:auto;
		height:auto;
		padding:20px;
		left:0;
		right:0;
		top:0 !important;
		bottom:0 !important;
	}
	.dialog > dialog > .table,
	.dialog > dialog > .table > tbody > tr,
	.dialog > dialog > .table > tbody > tr > th,
	.dialog > dialog > .table > tbody > tr > td{ display:block; }
	.dialog > dialog > .table > tbody > tr > td{ margin-bottom:30px; }
}

/* タブ */
.tabs > ul{
	display:flex;
	justify-content:center;
	align-items:stretch;
	padding:40px;
}
.tabs > ul > li{ width:200px; }
.tabs > ul > li > a{
	height:100%;
	padding:10px 20px;
	display:block;
	letter-spacing:.2em;
	text-align:center;
	vertical-align:middle;
	box-sizing:border-box;
	color:rgb(35,24,21);
	border-top:1px solid rgb(35,24,21);
	border-bottom:1px solid rgb(35,24,21);
	border-right:1px solid rgb(35,24,21);
	transition:background .2s;
	position:relative;
}
.tabs > ul > li > a.hover{ background:rgb(233,231,231); }
.tabs > ul > li > a.active{ background:rgb(211,242,248); }
.tabs > ul > li > a.active.hover{
	background:rgb(36,190,221);
	color:white;
}
.tabs > ul > li > a.active::before{
	content:'';
	position:absolute;
	display:block;
	left:50%;
	bottom:-5px;
	height:10px;
	border-left:1px solid rgb(35,24,21);
	transition:bottom .2s;
}
.tabs > ul > li > a.active.hover::before{ bottom:-8px; }
.tabs > ul > li:first-child > a{ border-left:1px solid rgb(35,24,21); }
.tabs.split3 > ul{
	flex-wrap:wrap;
	justify-content:flex-start;
}
.tabs.split3 > ul > li{
	width:33.3333%;
	margin-top:-1px;
}
.tabs.split3 > ul > li:nth-child(3n+1) > a{ border-left:1px solid rgb(35,24,21); }
.tab{
	opacity:.2;
	transition:opacity .5s;
}
.tab.active{ opacity:1; }
.tab.active a{ cursor:pointer; }
.tab:not(.active) a{ cursor:auto; }
@media screen and (max-width: 768px){
	.tabs > ul{
		display:block;
	}
	.tabs > ul > li{
		width:auto;
	}
	.tabs > ul > li > a{
		border-left:1px solid rgb(35,24,21);
	}
	.tabs > ul > li:not(:first-child) > a{
		border-top:none;
	}
	.tabs > ul{ padding:40px 20px; }
	.tab:not(.active){ display:none; }
	.tabs.split3 > ul > li{ width:auto; }
}

/* 概要文 */
.summary{
	text-align:center;
	font-size:16px;
	letter-spacing:.2em;
}
@media screen and (max-width: 768px){
	.summary{ font-size:14px; }
}

/* 文章 */
.p{
	font-size:16px;
	line-height:2;
	letter-spacing:.2em;
	vertical-align:middle;
}
@media screen and (max-width: 768px){
	.p{ font-size:14px; }
}

/* ラベル */
.label{
	font-weight:bold;
	padding-right:1em;
}

/* タグ */
.tag{
	background:rgb(36,190,221);
	color:white;
	display:inline-block;
	vertical-align:middle;
	text-align:center;
	padding:0 10px;
	margin-right:4px;
}

/* スペーサー */
hr.spacer{ padding-top:1em; }

/* お問い合わせボックス */
.telbox{
	background:rgb(250,248,243);
	display:inline-block;
	margin:20px 0;
	transition:background .2s;
}
.telbox.hover{ background:rgb(247,244,237); }

/* ページャー */
.pager > ul{
	padding:20px;
	text-align:center;
}
.pager > ul > li{ display:inline-block; }
.pager > ul > li > *{
	width:20px;
	padding:10px;
	text-align:center;
	display:inline-block;
	font-size:18px;
	font-weight:bold;
}
.pager > ul > li > span{ color:rgb(35,24,21); }
.pager > ul > li > a{
	color:rgb(145,139,138);
	transition:color .2s;
}
.pager > ul > li > a.hover{ color:rgb(36,190,221); }
@media screen and (max-width: 768px){
	.pager > ul > li > *{ font-size:14px; }
}

/**
 * 投稿コンテンツ
----------------------------------------------------------------*/
#post{ padding-bottom:80px; }
#post > *{
	max-width:1024px;
	margin:0 auto;
}
#post .wp-block-columns{
	padding:40px 20px;
	box-sizing:border-box;
}
#post_post{
	padding:20px;
}
#post_post h2{
	font-size:30px;
	padding-top:20px;
}
#post_post h3{
	font-size:16px;
	padding-top:10px;
	font-weight:bold;
	color:;
}
#post_post table tr > td:first-child{ min-width:120px; }
#post_post table tr > td{ padding:10px; }
@media screen and (max-width: 768px){
	#post_post h2{ font-size:18px; }
}

/**
 * フォーム
----------------------------------------------------------------*/
/* フォーム */
.form .richform{ font-size:20px; }
.form{
	background:#f2f2f2;
	padding:60px 0;
	letter-spacing:.2em;
}
.form .req > label{
	letter-spacing:.2em;
	padding-bottom:4px;
	font-size:90%;
}
.form .req > label::before{
	content:'※';
	color:crimson;
}
.form .remarks{
	font-size:12px;
	padding-bottom:10px;
	display:block;
}
.form section{ margin-bottom:20px; }
.form h3{
	font-size:16px;
	margin:10px 0 4px;
}
.richform select{
	font-size:20px;
	padding:var(--padding);
	padding:14px;
	display:block;
	box-sizing:border-box;
	width:100%;
	border:1px solid var(--gray);
}
.form [type="submit"]{
	letter-spacing:.3em;
	min-width:200px;
}
span.wpcf7-form-control,
span.wpcf7-list-item,
span.wpcf7-spinner{ display:block !important; }
span.wpcf7-list-item{ margin-left:0; }
.richform label:not(.togglebox) > [type="radio"] + span::before, .richform label:not(.togglebox) > [type="checkbox"] + span::before,
.richform label:not(.togglebox) > [type="checkbox"] + span::after{ margin-left:0; }
.richform label:not(.togglebox) > [type="radio"] + span, .richform label:not(.togglebox) > [type="checkbox"] + span{ padding-left:30px; }
@media screen and (max-width: 768px){
	.form{ padding:20px 0; }
	.form .richform,
	.richform select{ font-size:16px; }
}

/**
 * ContactFormカスタマイズ
----------------------------------------------------------------*/
/* メッセージ：成功時 */
.wpcf7 form.sent .wpcf7-response-output{
	background:#d5edda;
	color:#185626;
	border:1px solid #c4e5cc !important;
	padding:10px
}

/* メッセージ：失敗時 */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{
	background:#f7d7da;
	color:#711d26;
	border:1px solid #f4c6cb !important;
	padding:10px
}

/* 個別：エラー文 */
.wpcf7-not-valid-tip{
	color:red !important;
	margin-top:5px;
	font-size:12px !important;
}

span.wpcf7-form-control,
span.wpcf7-list-item{ display:block !important; }
span.wpcf7-spinner{
	display:block !important;
	text-align:center;
}

/**
 * ヘッダー
----------------------------------------------------------------*/
body > header{
	background:rgba(255,255,255,.8);
	height:100px;
	position:fixed;
	align-items:center;
	top:40px;
	left:0;
	right:0;
	z-index:1000;
}
body > main{ margin-top:140px; }
@media screen and (max-width: 768px){
	body > header{
		background:rgba(255,255,255,.8);
		height:50px;
		top:0;
	}
	body > main{ margin-top:50px; }
}

/* ヘッドカード */
#hcard > div{
	display:flex;
	padding:0 40px;
	height:100px;
}
#hcard > div > #logo > a{
	width:240px;
	display:inline-block;
	transition:opacity .2s;
}
#hcard > div > #logo > a.hover{ opacity:.7; }
#hcard > div > #spmenu{
	display:flex;
	align-items:center;
	margin-left:auto;
}
#hcard > div > #spmenu > #hcta{ position:relative; }
#hcard > div > #spmenu > #hcta > a{
	width:200px;
	height:50px;
	text-align:center;
	box-sizing:border-box;
	border:1px solid rgb(35,24,21);
	padding:10px;
	font-size:16px;
	color:rgb(35,24,21);
	display:block;
	background:white;
	transition:background .2s;
}
#hcard > div > #spmenu > #hcta > a.hover{ background:rgb(233,231,231); }
#hcard > div > #spmenu > #hcta > ul{
	display:none;
	position:absolute;
	left:0;
	right:0;
	border:1px solid rgb(35,24,21);
	border-top:none;
}
#hcard > div > #spmenu > #hcta > a.hover + ul,
#hcard > div > #spmenu > #hcta > ul:hover{ display:block; }
#hcard > div > #spmenu > #hcta > ul > li > a{
	color:rgb(35,24,21);
	background:white;
	text-align:center;
	padding:10px;
	display:block;
	transition:background .2s;
}
#hcard > div > #spmenu > #hcta > ul > li > a.hover{ background:rgb(233,231,231); }
#hcard > div > #spmenu > #hcta > ul > li:not(:last-child) > a{ border-bottom:1px solid rgb(35,24,21); }
@media screen and (max-width: 768px){
	#hcard > div{
		padding:0;
		height:50px;
	}
	#hcard > div > #logo > a{ width:120px; }
	#hcard > div > #spmenu > #hcta > a{
		width:150px;
		height:30px;
		font-size:12px;
		margin-right:50px;
		padding:0;
		display:flex;
		flex-direction:column;
		justify-content:center;
		align-items:center;
	}
}

/**
 * グローバルナビゲーション
----------------------------------------------------------------*/
#gnav > ul{
	display:flex;
	padding:0 10px;
}
#gnav > ul > li{ position:relative; }
#gnav > ul > li > a{
	font-size:16px;
	display:inline-block;
	padding:0 5px;
	margin:0 5px;
	color:rgb(35,24,21);
	border-bottom:2px solid rgba(0,0,0,0);
	transition:border-color .2s;
}
#gnav > ul > li:hover,
#gnav > ul > li > a.hover{ border-color:rgb(35,24,21); }
#gnav > ul > li > ul{
	display:none;
	position:absolute;
	left:0;
	width:150px;
	z-index:1;
}
#gnav > ul > li > a:hover + ul,
#gnav > ul > li > ul:hover{ display:block; }
#gnav > ul > li > ul > li > a{
	display:block;
	padding:5px 10px;
	color:rgb(35,24,21);
	background:rgb(233,231,231);
	transition:background .2s;
}
#gnav > ul > li > ul > li > a.hover{ background:rgb(211,208,208); }
@media screen and (max-width: 1200px){
	#open{
		display:block;
		border:none;
		margin:25px 0 25px 20px;
		background:none;
		transition:background .2s;
		cursor:pointer;
	}
	#open > img{ width:50px; }
	#open.hover{ background:rgb(233,231,231); }
	#close{
		border:none;
		background:none;
		transition:background .2s;
		position:fixed;
		top:10px;
		right:10px;
		width:50px;
		height:50px;
		z-index:10001;
		cursor:pointer;
	}
	#close.hover{ background:rgb(233,231,231); }
	body.clicked #close{ display:block; }
	#gnav{
		display:none;
		position:fixed;
		top:0;
		left:0;
		right:0;
		bottom:0;
		background:rgba(255,255,255,.9);
		z-index:10000;
	}
	body.clicked #gnav{ display:block; }
	#gnav > ul{
		flex-direction:column;
		justify-content:center;
		align-items:center;
		height:100%;
	}
	#gnav > ul > li{ width:100%; }
	#gnav > ul > li > a{
		display:block;
		text-align:center;
		font-size:18px;
		padding:10px 20px;
		border:none;
		transition:background .2s;
	}
	#gnav > ul > li > a.hover{ background:rgb(233,231,231); }
	#gnav > ul > li > ul{
		display:block;
		position:static;
		width:auto;
	}
	#gnav > ul > li > ul > li > a{
		border-bottom:1px solid #ccc;
		border-left:1px solid #ccc;
		border-right:1px solid #ccc;
		text-align:center;
		margin:0 auto 20px;
		max-width:300px;
	}
	#gnav > ul > li > ul > li > a:first-child{
		border-top:1px solid #ccc;
		border-top-right-radius:4px;
		border-top-left-radius:4px;
	}
	#gnav > ul > li > ul > li > a:last-child{
		border-bottom-right-radius:4px;
		border-bottom-left-radius:4px;
	}
}
@media screen and (max-width: 768px){
	#open{
		position:fixed;
		z-index:1000;
		top:0;
		right:0;
		margin:0;
		background:rgba(255,255,255,.9);
	}
	#open.hover{ background:rgb(233,231,231); }
	body.clicked #open{ display:none; }
	#close{
		display:none;
		top:0;
		right:0;
	}
	body.clicked #close{ display:block; }
}

/**
 * 画面固定モバイルCTA
----------------------------------------------------------------*/
#mcta{ display:none; }
@media screen and (max-width: 768px){
	#mcta{
		background:rgb(79,70,67);
		position:fixed;
		bottom:0;
		left:0;
		right:0;
		z-index:1000;
		display:flex;
	}
	#mcta > a{
		width:50%;
		display:block;
		color:white;
		text-align:center;
		line-height:40px;
		font-size:16px;
		box-sizing:border-box;
		padding:20px 10px;
		transition:background .2s;
		
	}
	#mcta > a.hover{ background:rgb(35,24,21); }
	#mcta > a > img{
		width:40px;
		display:inline-block;
		margin-right:5px;
	}
	#mcta > a:first-child{ border-right:1px solid white; }
	#mcta > a:last-child{ border-left:1px solid white; }
}
@media screen and (max-width: 400px){
	#mcta > a{
		line-height:30px;
		font-size:14px;
	}
	#mcta > a > img{
		width:30px;
	}
}

/**
 * コンテンツ
----------------------------------------------------------------*/
#cont{
	min-height:800px;
	padding-bottom:100px;
}

/**
 * フッター
----------------------------------------------------------------*/
#crwrapper{
	padding:20px;
	text-align:center;
	font-size:12px;
	letter-spacing:.2em;
}
@media screen and (max-width: 768px){
	#crwrapper{ padding-bottom:100px; }
}

/**
 * スポット
----------------------------------------------------------------*/
/* リードコピー */
@media screen and (max-width: 768px){
	#spot_index_leadcopy > .flex > figure > img{ max-width:200px; }
}

/* キャンペーン */
#spot_index_campaigns > .one > ul{
	display:flex;
	gap:40px;
	justify-content:center;
}
#spot_index_campaigns.upper4 > .one > ul{ justify-content:flex-start; }
#spot_index_campaigns.upper4 > .one > ul{ flex-wrap:wrap; }
#spot_index_campaigns > .one > ul > li{ flex-basis:calc(25% - 30px); }
#spot_index_campaigns > .one > ul > li > a{
	display:block;
	transition:opacity .2s;
}
#spot_index_campaigns > .one > ul > li > a.hover{ opacity:.7; }
@media screen and (max-width: 1200px){
	#spot_index_campaigns > .one > ul{ gap:20px; }
	#spot_index_campaigns.upper2 > .one > ul{ flex-wrap:wrap; }
	#spot_index_campaigns.upper2 > .one > ul,
	#spot_index_campaigns.upper4 > .one > ul{ justify-content:flex-start; }
	#spot_index_campaigns > .one > ul > li{ flex-basis:calc(50% - 10px); }
}

/* 新着一覧 */
#spot_index_topics > .one{ display:flex; }
#spot_index_topics > .one > ul{ width:100%; }
#spot_index_topics > .one > .buttons{
	width:200px;
	padding-left:40px;
}
#spot_index_topics > .one > ul > li{ position:relative; }
#spot_index_topics > .one > ul > li > a{
	display:block;
	transition:background .2s;
	color:rgb(35,24,21);
	margin-left:-10px;
	padding-left:10px;
}
#spot_index_topics > .one > ul > li > a.hover{ background:rgb(233,231,231); }
#spot_index_topics > .one > ul > li > a > time{
	position:absolute;
	left:0;
	top:0;
	width:100px;
	padding:6px 0;
}
#spot_index_topics > .one > ul > li > a > p{ padding:6px 6px 6px 120px; }
@media screen and (max-width: 768px){
	#spot_index_topics > .one{ display:block; }
	#spot_index_topics > .one > .buttons{
		width:auto;
		padding:40px 0 0;
		text-align:center;
	}
}

/* よくある質問 */
#spot_faqs > section:not(:first-child){ padding-top:40px; }
#spot_faqs > section > *{
	box-sizing:border-box;
	min-height:80px;
	letter-spacing:.2em;
	position:relative;
	padding:23px 20px 23px 80px;
}
#spot_faqs > section > h3{
	background:rgb(250,248,243);
	font-size:18px;
	font-weight:bold;
	padding-right:80px;
	cursor:pointer;
	transition:background .2s;
}
#spot_faqs > section:not(.active) > h3{ cursor:auto; }
#spot_faqs > section > h3.hover{ background:rgb(247,244,237); }
#spot_faqs > section > h3.hover{ background:rgb(247,244,237); }
#spot_faqs > section > div{
	font-size:16px;
	display:none;
	opacity:0;
}
#spot_faqs > section.opened > div{
	display:block;
	opacity:1;
	animation:fade .4s ease-in 0s forwards;
}
#spot_faqs > section > *::before{
	content:'';
	display:inline-block;
	width:80px;
	height:80px;
	position:absolute;
	top:0;
	left:0;
	background:scroll no-repeat center center / contain;
}
#spot_faqs > section > h3::after{
	content:'';
	display:inline-block;
	width:80px;
	height:80px;
	position:absolute;
	top:0;
	right:0;
	background:url("https://cadode.photo/wp-content/themes/cadode/image/article/faqs/arrow_open.png") scroll no-repeat center center / contain;
}
#spot_faqs > section > h3::before{ background-image:url("https://cadode.photo/wp-content/themes/cadode/image/article/faqs/q.png"); }
#spot_faqs > section > div::before{ background-image:url("https://cadode.photo/wp-content/themes/cadode/image/article/faqs/a.png"); }
#spot_faqs > section.opened > h3::after{ background-image:url("https://cadode.photo/wp-content/themes/cadode/image/article/faqs/arrow_close.png"); }
@media screen and (max-width: 768px){
	#spot_faqs > section:not(:first-child){ padding-top:20px; }
	#spot_faqs > section > *{
		padding:13px 10px 13px 50px;
		min-height:70px;
	}
	#spot_faqs > section > h3{
		font-size:14px;
		padding-right:50px;
	}
	#spot_faqs > section > div{ font-size:14px; }
	#spot_faqs > section > *::before,
	#spot_faqs > section > h3::after{
		width:50px;
		height:70px;
	}
}

/* お知らせ */
#spot_topics > section{
	border-top:1px solid #ccc;
	padding:30px 0;
	display:flex;
	letter-spacing:.2em;
}
#spot_topics > section > time{
	width:240px;
	padding-top:4px;
	padding-right:20px;
}
#spot_topics > section > div > h2{
	font-size:18px;
	font-weight:bold;
	padding-bottom:10px;
}
#spot_topics > section > div > p{ font-size:16px; }
@media screen and (max-width: 768px){
	#spot_topics > section{ display:block; }
	#spot_topics > section > time{ width:auto; }
	#spot_topics > section > div > h2{ font-size:16px; }
	#spot_topics > section > div > p{ font-size:14px; }
}

/* 撮影ギャラリー：個別ページ */
#spot_cases_single figure > a:not(.zoomed){
	display:block;
	transition:opacity .2s;
}
#spot_cases_single figure > a:not(.zoomed).hover{ opacity:.7; }
/*
#spot_cases_single > .flex{ margin:-1px; }
#spot_cases_single figure{ border:1px solid white; }
#spot_cases_single figure > a:not(.zoomed) > img{
	width:300px;
	height:300px;
	object-fit:cover;
}
@media screen and (max-width: 1200px){
	#spot_cases_single figure > a:not(.zoomed) > img{
		width:25vw;
		height:25vw;
	}
}
@media screen and (max-width: 768px){
	#spot_cases_single figure > a:not(.zoomed) > img{
		width:33.3333vw;
		height:33.3333vw;
	}
}
*/
#spot_cases_single figure > a.zoomed{
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:20000;
	background:#111;
	animation:fade .4s ease-in 0s forwards;
}
#spot_cases_single figure > a.zoomed > img{
	width:auto;
	height:auto;
	position:absolute;
	top:0;
	right:0;
	left:0;
	bottom:0;
	margin:auto;
}
