@charset "UTF-8";
article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section{display:block}a,hr{padding:0}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{box-sizing:border-box;margin:0;padding:0;border:0;outline:0;/*font-size:100%;*/vertical-align:baseline;background:0 0}ins,mark{background-color:#ff9;color:#000}body{line-height:1}ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;font-size:100%;vertical-align:baseline;background:0 0}ins{text-decoration:none}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0}input,select{vertical-align:middle}*{box-sizing:border-box}
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	/*font-size:62.5%;*/
	font-size:0.625vw;
}
@media screen and (max-width:1600px){
	html{
		font-size:62.5%;
	}
}
body{
	color: #000;
	font-size: 1.6rem;
	margin: 0px auto;
	padding: 0px;
	font-family:-apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴPro", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	padding-top:7.6em;
}
a{
	color:#000;
	cursor:pointer;
	text-decoration:none;
	transition:opacity 0.2s ease 0s;
}
a:hover{
	opacity:0.5;
}
img{
	vertical-align:top;
}
.text_serif{
	font-family:"游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-optical-sizing: auto;
	font-feature-settings:"palt" 1;
	-webkit-font-smoothing: antialiased;
}
.text_center{
	text-align:center !important;
}
.text_right{
	text-align:right !important;
}
.text_left{
	text-align:left !important;
}
.text_bold{
	font-weight:bold;
}
.text_gray{
	color:#636363 !important;
}
.text_red{
	color:#ed0000 !important;
}
.text_blue{
	color:#00469A !important;
}
.text_empty{
	color:#ed0000 !important;
}
.text_sup{
	font-size:0.6em;
	vertical-align: super;
}
.text_notice{
	display:inline-block;
	font-size:0.8em;
	line-height:1.6em;
}
.underline{
	display: inline;
	box-shadow: 0 -10px 0 #ffff00 inset;
}
img,picture,source,
.img_flex{
	display:block;
	max-width:100%;
	min-height:auto;
}
img.inline,
.img_flex.inline{
	display:inline-block;
}
.img_icon{
	display:inline-block;
	width:100%;
	max-width:1em;
	margin:0 5px 0 0;
	vertical-align:middle;
	position:relative;
	top:-0.1em;
}
.inline{
	display:inline-block;
}
.clearfix:after{
	content:"";
	clear:both;
	height:0;
	display:block;
	visibility:hidden;
}
.left{
	float:left;
}
.right{
	float:right;
}
.alpha{
	/*backface-visibility:hidden;*/
	transition:opacity 0.2s ease 0s;
	zoom:1;
}
.alpha:hover{
	opacity:0.6;
}
.inview{
	backface-visibility:hidden;
	transition:opacity 0.8s ease 0.6s, top 0.8s ease 0.6s;
	opacity:0;
	position:relative;
	top:20px;
}
.inview.visible{
	opacity:1;
	top:0;
}
.bn_cta,
input[type=submit].bn_cta{
	display:inline-block;
	box-sizing:border-box;
	min-width: 15em;
	padding: 1.2em 2.5em;
	position:relative;
	vertical-align:middle;
	font-weight:normal;
	font-size:1.8rem;
	line-height:1;
	color:#fff;
	text-decoration:none;
	text-align:center;
	cursor:pointer;
	font-feature-settings:"palt" 1;
	letter-spacing:0.05em;
	background: linear-gradient(to right,  #855d23 0%,#c09044 100%);
	border-radius:2em;
	transition:opacity 0.3s ease 0s, color 0.3s ease 0s, background 0.3s ease 0s, filter 0.3s ease 0s;
	filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.1));
}
.bn_cta:hover,
input[type=submit].bn_cta:hover{
	opacity:1;
	background-color:#0067CE;
	filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0));
}
.bn_cta.recruit{
	background-color:#00B4CC;
	&:hover{
		background-color:#00CCDB;
	}
}

.bn_cta.bn_link{
	background:#fff;
	color:#000;
	border: solid 1px #8e6954;
}

/* ============================================================
header
============================================================ */
#header{
	width:100%;
	height: auto;
	overflow:visible;
	position:fixed;
	top:0;
	z-index:100;
	box-sizing:border-box;
	background:url(../img/img_header_bg.webp) no-repeat center center/cover #6d4725;
	box-shadow:0px 0px 4px rgba(0, 0, 0, 0.4);
	img,picture,source{
		display:block;
		max-width:100%;
		min-height:auto;
	}
	img.inline{
		display:inline-block;
	}
	.img_icon{
		display:inline-block;
		width:100%;
		max-width:1em;
		margin:0 5px 0 0;
		vertical-align:middle;
		position:relative;
		top:-0.1em;
	}
}
.header_inner{
	padding:14px 14px 20px;
}
.header_top{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:0 0 15px;
}
.header_logo{
	width:40%;
	max-width:280px;
	flex-shrink:0;
	img{
		filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
	}
}
.header_contact{
	text-align:right;
}
.header_contact_tel{
	display:inline-block;
	margin:0 0 5px;
	padding:0 0 0 45px;
	letter-spacing:0.02em;
	position:relative;
	&:before{
		content:"";
		display:block;
		width:40px;
		height:40px;
		position:absolute;
		left:0;
		top:6px;
		background:url(../img/icon_header_tel.svg) no-repeat center left/contain;
	}
}
.header_contact_tel_title{
	font-size:1.8rem;
	color:#fff;
	line-height: 1;
}
.header_contact_tel_num{
	font-size:3.6rem;
	color:#ddb97a;
	line-height: 1;
}
.header_contact_sub{
	display:flex;
	justify-content:flex-end;
	grid-gap:15px;
	a{
		display:inline-block;
		color:#fff;
		font-size:0.85em;
		letter-spacing:0;
		line-height: 1;
	}
}
.pc_menu{
	display:flex;
	align-items:center;
	justify-content:center;
	grid-gap:2vw;
	flex-grow:1;
	box-sizing:border-box;
	text-align:right;
}
#header .menu_link{
	line-height:1;
	a,label{
		text-decoration:none;
		font-weight: 600;
		font-size:1.1em;
		line-height:1;
		color:#fff;
		cursor:pointer;
		letter-spacing:0;
		transition:color 0.2s ease 0s, opacity 0.2s ease 0s;
		@media screen and (min-width:769px) and (max-width:1140px){
			font-size:1.5vw;
		}
		&:hover{
			color:#ddb97a;
			opacity:1;
		}
	}
}
#header .menu_link.active a,
#header .menu_link.current-menu-item a{
	color:#ddb97a;
	opacity:1;
}
.header_submenu_check:checked ~ .header_submenu_open,
.header_submenu_open.active{
	color:#ddb97a !important;
	opacity:1;
}
.header_submenu_check{
	display:none;
}
.header_submenu{
	width:100%;
	max-height:0;
	overflow:hidden;
	position:absolute;
	left:0;
	z-index:0;
	margin-top:19px;
	background:#3a2210;
	color:#fff;
	opacity:0;
	transition:max-height 0.7s ease 0s, opacity 0.4s ease 0s;
	cursor:default;
	box-shadow: 0px 3px 0px 0px rgba(0,0,0,0.08);
}
.header_submenu_check:checked ~ .header_submenu{
	max-height:800px;
	opacity:1;
}
.header_submenu_dummy{
	display:block;
	width:100%;
	height:100vh;
	position:fixed;
	top:138px;
	left:0;
	cursor: default;
	pointer-events:none;
	user-select:none;
	-moz-user-select:none;
	-webkit-user-select:none;
	-ms-user-select:none;
	background:rgba(0,0,0,0);
	transition:background 0.2s ease 0s;
}
.header_submenu_check:checked ~ .header_submenu_dummy{
	height:100vh;
	pointer-events:initial;
	user-select:initial;
	-moz-user-select:initial;
	-webkit-user-select:initial;
	-ms-user-select:initial;
	cursor: default;
	background:rgba(0,0,0,0.7);
}
.header_submenu_inner{
	display:flex;
	grid-gap:2.5%;
	width:94%;
	padding:40px 0;
	margin:0 auto;
	box-sizing:border-box;
	text-align:left;
}
.header_submenu_column{
	width:23%;
}
.header_submenu_column_title{
	padding:0 0 12px;
	margin:0 0 15px;
	border-bottom:solid 1px rgba(255,255,255,0.2);
	 a{
		line-height:1em;
		font-size:1.4em;
		letter-spacing:0;
		color: #ddb97a;
	}
	a:hover{
		opacity:0.6;
	}
}
.header_submenu_column_link{
	a{
		display:block;
		font-size:1em;
		font-weight:bold;
		font-family:-apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴPro", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
		letter-spacing:0;
		line-height:1.3em;
	}
	a:not(:last-child){
		margin:0 0 10px;
		padding:0 0 10px;
		border-bottom:solid 1px rgba(255,255,255,0.2);
	}
	img{
		margin:0 0 10px;
		transition:opacity 0.4s ease 0s;
		&:hover{
			opacity:0.6;
		}
	}
}

/* ============================================================
contents_wrapper
============================================================ */
.contents_wrapper{
	width:100%;
	position:relative;
	z-index:1;
	&.bg_tex{
		background:#f4f4f4;
	}
}
.contents_inner{
	width:100%;
	max-width:75em;
	margin-left:auto;
	margin-right:auto;
	padding-top:6em;
	padding-bottom:6em;
	padding-left:0 !important;
	padding-right:0 !important;
	box-sizing:border-box;
	position:relative;
	@media screen and (max-width:1220px){
		max-width:90%;
	}
	&.wide{
		max-width:100%;
	}
}
.contents_heading{
	margin:0 0 3em;
}
.contents_heading_en{
	margin:0 0 1.4em;
	position:relative;
	font-size:1.4rem;
	color:#a0a0a0;
	line-height:1em;
	letter-spacing:0.1em;
	&:after{
		content:"";
		display:block;
		width:3em;
		height:1px;
		background:#ccc;
		position:absolute;
		left:50%;
		bottom:-1em;
		margin-left:-1.5em;
	}
}
.contents_heading_ja{
	font-size:4rem;
	font-weight:normal;
	color:#636363;
	line-height:1.3em;
}

/* ============================================================
contents_index_mainvisual
============================================================ */
#contents_index_mainvisual{
	background: #3a2210;
	.contents_inner{
		padding:0 !important;
	}
	.mainvisual_video_wrap{
		position:relative;
	}
	#loading{
		position:absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width:100px;
	}
	video{
		display:block;
	}
}
.top_mainvisual_slide_nav{
	opacity:0;
	transition:opacity 0.4s ease 0s;
	&.slick-initialized{
		padding:10px 0;
		opacity:1;
	}
	figure{
		padding:10px 15px;
		cursor:pointer;
	}
	picture{
		display:block;
		opacity:0.4;
		border:solid 1px rgba(255,255,255,0.3);
		filter: drop-shadow(0px 0px 3px rgba(255,255,255,0));
		transition:opacity 0.4s ease 0s, border 0.4s ease 0s, filter 0.4s ease 0s;
	}
	.slick-current.slick-active picture{
		opacity:1;
		border:solid 1px rgba(255,255,255,1);
		filter: drop-shadow(0px 0px 3px rgba(255,255,255,0.6));
	}
}

/* =========================================================
top_mainvisual
========================================================= */
#top_mainvisual{
	max-width:1680px;
	margin:0 auto;
	position:relative;
	overflow:hidden;
}
#top_mainvisual:before{
	content:"";
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	transform: translate3d(0, 0, 0);
	animation: mv-anime 30s linear infinite;
	will-change: transform;
	backface-visibility: hidden;
	background:url(./images/top/bg_mainvisual_02.jpg) no-repeat center center/cover;
}
@keyframes mv-anime{
	0%{ transform: scale(1.3); }
	50%{ transform: scale(1); }
	100%{ transform: scale(1.3); }
}
#top_mainvisual > div{
	display:flex;
	align-items:center;
	height:590px;
	position:relative;
	z-index:1;
}
#top_mainvisual h1{
	max-width:680px;
}

/* =========================================================
top_mainvisual_slide
========================================================= */
#top_mainvisual_slide{
	background: #3a2210;
}

.top_mainvisual_slide_inner{
	max-height:1350px;
	overflow:hidden;
	opacity:0;
	max-width:1480px;
	margin:0 auto;
	transition:opacity 0.3s ease 0s;
}
.top_mainvisual_slide_inner.slick-initialized{
	max-height:100%;
	overflow:visible;
	opacity:1;
}
.top_mainvisual_slide_inner figure{
	img{
		width:100%;
	}
}

/* ============================================================
contents_index_typicalcase
============================================================ */
#contents_index_typicalcase{
	border-bottom:solid 1px #ddd;
	.contents_inner{
		max-width:100%;
	}
}
.index_typicalcase_logo{
	max-width:5em;
	margin:0 auto 0.2em;
}
.index_typicalcase_title{
	margin:0 auto 0.89em;
	font-size:4rem;
	font-weight:normal;
	text-align:center;
	color:#636363;
}
.index_typicalcase_menu{
	display:flex;
	flex-wrap:wrap;
	flex-direction:row;
	justify-content:space-between;
	row-gap:0.4em;
	max-width:65em;
	margin:0 auto 2em;
	@media screen and (max-width:1220px){
		max-width:90%;
	}
}
.index_typicalcase_menu_bn{
	display:flex;
	align-items:center;
	justify-content:center;
	width:32%;
	padding:0.8em 0;
	background:#fff;
	border:solid 1px #8e6954;
	border-radius:4px;
	text-align:center;
	font-size:1.6rem;
	line-height:1.2em;
	letter-spacing:0;
	color:#636363;
	cursor:pointer;
	filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.1));
	transition:background 0.4s ease 0s, filter 0.4s ease 0s;
	&:hover, &.current{
		background:#8e6954;
		color:#fff;
	}
}
.slick-dotted.slick-slider.index_slide_dot{
	margin-bottom:3em;
	.slick-dots{
		bottom: -2em;
		left:0;
	}
	.slick-dots li {
		margin: 0 2px;
	}
	.slick-dots li button:before{
		font-size: 12px;
		opacity:0.2;
		transition:color 0.2s ease 0s;
	}
	.slick-dots li:hover button:before,
	.slick-dots li.slick-active button:before{
		opacity:1;
		color:#ddb97a;
	}
}
.slick-slider.swipe_alert:after{
	content:"";
	display:block;
	width:6em;
	height:6em;
	background:url(../img/img_slide_bn.webp) no-repeat center center/cover;
	position:absolute;
	top:50%;
	left:50%;
	margin-left:-3em;
	margin-top:-3em;
	pointer-events:none;
	user-select:none;
	-moz-user-select:none;
	-webkit-user-select:none;
	-ms-user-select:none;
	transition:all 0.3s ease 0s;
}
.slick-slider.swipe_alert_disable:after{
	opacity:0;
}

.index_typicalcase_slide_inner{
	max-width:750px;
	margin:0 auto;
	overflow:hidden;
	&.hide{
		max-height:0;
	}
	&.visible{
		max-height:800px;
	}
	&.slick-track{
		filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.3));
	}
}
.index_typicalcase_slide{
	a, figure{
		display:block;
	}
}
.index_typicalcase_dr{
	display:flex;
	align-items:center;
	justify-content:center;
	grid-gap:0.5em;
	margin:1.5em 0;
	figure{
		width:4em;
	}
	p{
		font-size:1.6rem;
		line-height:1em;
	}
	span{
		color:#636363;
	}
	strong{
		font-size:1.3em;
		font-weight:normal;
	}
}

/* ============================================================
contents_index_about
============================================================ */
#contents_index_about{
	border-bottom:solid 1px #ddd;
}
.index_about_heading{
	padding:1em 0 0;
	margin:0 auto 3em;
	background:url(../img/img_index_about_heading_bg.svg) no-repeat top left 20vw/6em;
}
.index_about_title_logo{
	max-width:25em;
	margin:0 auto 0.5em;
}
.index_about_title{
	font-size:2.8rem;
	font-weight:normal;
}
.index_about_images{
	display:flex;
	flex-wrap:wrap;
	flex-direction:row;
	justify-content:space-between;
	row-gap:0.5em;
	figure{
		width:calc(50% - 0.25em);
	}
}

/* ============================================================
contents_index_voice
============================================================ */
#contents_index_voice {
	border-bottom: solid 1px #ddd;
}
.index_voice_slide{
	figure{
		padding:0.4em;
		opacity:0.3;
		transition:opacity 0.2s ease 0s;
		&.slick-current,
		&.slick-active{
			opacity:1;
		}
	}
	figcaption{
		display:block;
		margin:1em 0 0;
		line-height:1em;
		text-align:center;
		font-size:0.9em;
	}
}
/* ============================================================
contents_index_monitor
============================================================ */
.index_voice_slide,
.index_monitor_slide,
.index_youtube_slide,
.index_instagram_slide,
.index_popular_slide{
	max-width:100%;
	margin:0 auto;
	margin-top:-0.5em;
	a{
		display:block;
		padding:0.4em;
		opacity:0.3;
		transition:opacity 0.2s ease 0s;
		&.slick-current,
		&.slick-active{
			opacity:1;
		}
	}
	img{
		width:100%;
		max-width:unset;
		filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.3));
	}
}

/* ============================================================
contents_index_column
============================================================ */
#contents_index_column,
#contents_index_downtime{
	background:url(../img/img_index_column_bg.webp);
	.entry_archive_item_slide{
		padding:0.4em;
		opacity:0.3;
		transition:opacity 0.2s ease 0s;
		&.slick-current,
		&.slick-active{
			opacity:1;
		}
	}
	.slick-track {
		display: flex;
	}
	.slick-slide {
		height: auto !important;
	}
	.entry_archive_item{
		height:100%;
		border:none;
	}
	.entry_cat {
		padding: 0.7em 1em 0.5em;
	}
	.entry_archive_item_title{
		margin:0;
		font-size:1.5rem;
	}
	.entry_archive_item_title a{
		text-decoration:none;
	}
}

/* ============================================================
contents_index_popular
============================================================ */
#contents_index_popular{
	border-bottom:solid 1px #ddd;
	.contents_inner{
		padding-bottom:0;
	}
	.contents_heading_ja{
		line-height:1.3;
	}
	.contents_heading_ja small{
		font-size:2.6rem;
	}
	.contents_heading_ja strong{
		font-size:5rem;
		font-weight:normal;
		letter-spacing:0.25em;
	}
}

.index_popular_banner{
	max-width:90%;
	margin:5em auto 3em;
	a,figure{
		display:block;
		max-width:750px;
		margin:0 auto 1em;
		filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.3));
		&:last-child{
			margin:0 auto;
		}
	}
}
.index_popular_menu{
	display:flex;
	justify-content:space-between;
	max-width:60em;
	margin:0 auto 2em;
	a{
		display:block;
		width:calc(100%/6);
		padding:1.2em 0.2em;
		text-align:center;
		text-decoration:none;
	}
	a:nth-child(1),	a:nth-child(4){
		border-left:none;
	}
	img{
		max-width:5em;
		margin:0 auto 1em;
	}
	span{
		display:block;
		font-size:1.7rem;
		line-height:1;
	}
}

/* ============================================================
contents_index_downtime
============================================================ */
#contents_index_downtime{
	.entry_archive_item_thumb {
	    padding-top: 100%;
	}
}

/* ============================================================
contents_index_dr
============================================================ */
#contents_index_dr{
	border-bottom:solid 1px #ddd;
	.contents_inner{
		padding-top:4em;
		background:url(../img/img_index_dr_bg.svg) no-repeat top 2em center/30em;
	}
	.contents_heading_ja{
		line-height:1.3;
	}
	.contents_heading_ja small{
		font-size:2rem;
	}
	.contents_heading_ja strong{
		font-size:5rem;
		font-weight:normal;
	}
}
.index_dr_slide{
	max-width:65em;
	margin:0 auto;
	&.slick-slider.swipe_alert:after {
		visibility: hidden;
	}
}
.index_dr_slide_item{
	display:block;
	padding:0.25em;
}
.index_dr_slide_item_inner{
	padding:0.5em;
	background:#fff;
	filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.3));
}
.index_dr_slide_item_text{
	padding:0.6em 0 0;
	text-align:center;
	p{
		line-height:1em;
	}
}
.index_dr_slide_position{
	font-size:1.3rem;
}
.index_dr_slide_name{
	margin:0.2em 0 0.4em;
	font-size:2rem;
}
.index_dr_slide_name_en{
	font-size:1.1rem;
}

/* ============================================================
contents_index_youtube
============================================================ */
#contents_index_youtube{
	background:#383838;
	border-bottom:solid 1px #ddd;
	.contents_inner{
		padding-top:5em;
		background:url(../img/img_index_youtube_bg.svg) no-repeat top 2em center/30em;
	}
}
.index_youtube_title{
	max-width:20em;
	margin:0 auto 1em;
}
.index_youtube_slide{
	margin:0 auto 3.5em !important;
	.slick-track {
		display: flex;
	}
	.slick-slide {
		height: auto !important;
	}
	a{
		display:flex !important;
		align-items:center;
		padding:0;
		margin:0.5em;
		background:#000;
	}
	&.index_slide_dot{
		.slick-dots li:not(:hover):not(.slick-active) button:before{
			color:#fff;
		}
	}
}

/* ============================================================
contents_index_instagram
============================================================ */
.index_instagram_slide{
	max-width:75em;
	margin:0 auto;
	&.slick-slider.swipe_alert:after {
		visibility: hidden;
	}
}

/* ============================================================
contents_index_concept
============================================================ */
#contents_index_concept{
	background:#fdd6a2;
	.contents_inner{
		padding-top:4em;
		padding-bottom:0;
	}
}
.index_concept_main{
	max-width:50em;
	margin:0 auto;
	position:relative;
	left:-5em;
}
.index_concept_text{
	padding:1em 0.5em;
	background: url(../img/img_header_bg.webp) no-repeat center center / cover #6d4725;
	color:#fff;
	font-size:2.4rem;
	filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.3));
}

/* ============================================================
contents_index_news
============================================================ */
.index_news_wrap{
	max-width:65em;
	margin:0 auto 2em;
}
.index_news_item{
	display:block;
	padding:1em;
	margin:0 0 0.6em;
	background:#fff;
	filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.3));
	&:last-child{
		margin:0;
	}
	.entry_archive_item_title {
		margin:0.3em 0 0;
		font-size: 1.8rem;
	}
}

/* ============================================================
contents_index_qa
============================================================ */
#contents_index_qa{
	background:#f4ebe6;
}
.index_qa_item{
	max-width:65em;
	margin:0 auto 1em;
	padding:2.5rem;
	box-sizing:border-box;
	position:relative;
	background:#fff;
	&:last-child{
		margin:0 auto;
	}
}
.index_qa_body{
	display: flex;
	justify-content: flex-start;
}
.index_qa_body.question{
	align-items:center;
	margin:0 0 0.7em;
	padding:0 0 0.7em;
	border-bottom:solid 1px #ddd;
}
.index_qa_icon{
	font-size:2rem;
	font-weight:bold;
	color:#fff;
	span{
		display:block;
		width:1.8em;
		line-height:1.8em;
		border-radius:1.8em;
		text-align:center;
		background:#a5a5a5;
	}
	.answer & span{
		background:#543218;
	}
}
.index_qa_text{
	padding:0 0 0 1em;
	flex-grow:1;
	.question &{
		font-weight:bold;
		font-size:1.8rem;
		line-height:1.3em;
	}
	.answer &{
		font-size:1.5rem;
	}
}

/* ============================================================
contents_index_recruit
============================================================ */
#contents_index_recruit{
	.contents_inner{
		padding-top:2em;
		padding-bottom:2em;
	}
}

/* ============================================================
contents_index_menu_bottom
============================================================ */
#contents_index_menu_bottom{
	.contents_inner{
		padding-top:0;
		padding-bottom:0;
		text-align:center;
	}
}
.index_menu_bottom{
	a{
		display:block;
		padding:1.2em 0;
		border-bottom:solid 1px #ddd;
		font-size:1.8rem;
		line-height:1;
		color:#636363;
	}
}

/* ============================================================
contents_index_sns
============================================================ */
#contents_index_sns{
	.contents_inner{
	}
}
.index_sns_wrap{
	display:flex;
	justify-content:center;
	grid-gap:1em;
	a{
		display:block;
		width:3.6em;
	}
}

/* ============================================================
contents_index_access
============================================================ */
#contents_index_access{
	.contents_inner{
		padding-bottom:2em;
	}
}
.index_access_paragraph{
	max-width:40em;
	margin:0 auto;
}
.index_access_paragraph:not(:last-child){
	margin:0 auto 1em;
	padding:0 0 1em;
	border-bottom:solid 1px #ddd;
}
.index_access_title{
	margin:0 0 0.4em;
	font-weight:normal;
	font-size:2.2rem;
}
.index_access_desc{
	font-size:1.6rem;
	li{
		margin: 0 0 0.2em 1.5em;
		list-style:disc;
		list-style-type:disc;
		font-size:1.5rem;
		&:last-child{
			margin-bottom:0;
		}
	}
}
.index_access_map{
	iframe{
		display:block;
	}
}

/* ============================================================
contents_index_copyright
============================================================ */
#contents_index_copyright{
	.contents_inner{
		padding-top:1em;
		padding-bottom:7em;
	}
	p{
		font-size:1.1rem;
	}
}

/* ============================================================
index_cta_bottom
============================================================ */
#index_cta_bottom{
	position:fixed;
	width:100%;
	bottom: -6em;
	z-index:4;
	padding:1em 0.5em;
	background:url(../img/img_index_cta_bottom_bg.webp) no-repeat center center/cover;
	transition: all 0.4s ease 0s;
	&.scroll{
		bottom:0;
	}
}
.index_cta_bottom_text{
	margin:0 0 0.6em;
	color:#fff;
	line-height:1;
	font-size:1.6rem;
	span{
		display:inline-block;
		color:#ddb97a;
		margin:0 0.3em 0 0;
	}
}
.index_cta_bn_wrap{
	display:flex;
	justify-content:center;
	grid-gap:0.3em;
	.bn_cta{
		min-width:0;
		padding: 0.5em 0.8em;
		font-size:1.8rem;
		letter-spacing:0;
	}
}

/* ============================================================
contents_about
============================================================ */
body.page-id-6{
	.contents_inner{
		padding-top:0;
		padding-bottom:0;
	}
}
body.page-id-6 .about_heading_h2{
	padding:28px 10px;
	box-sizing:border-box;
	background: linear-gradient(to right,  #6b4d00 0%,#b2830d 30%,#b2830d 70%,#6b4d00 100%);
	color:#fff !important;
	font-size:4.3rem;
	line-height:1;
	text-align:center;
	border-top:solid 1px #e5cb89;
	border-bottom:solid 1px #e5cb89;
	font-feature-settings: "palt" 1;
}
/* =====================================
contents_about_intro
===================================== */
.about_intro_image{
	background:url(../img/bg_about_intro.jpg) no-repeat center center/cover;
	border-bottom:solid 1px #e5cb89;
}
.about_intro_image img{
	width:100%;
	max-width:470px;
	margin:0 auto;
}
body.page-id-6 .about_intro_title{
	margin:0 0 40px;
	font-size:3rem;
	line-height:1.4em;
	color:#ba8e16;
	text-align:left;
}
.about_intro_text{
	display:inline-block;
}
.about_intro_text p:not(:last-child){
	margin:0 0 1em;
}

/* =====================================
contents_about_open
===================================== */
.about_open_text{
	font-size:1.7rem;
}

/* =====================================
contents_about_access
===================================== */
.about_access_inner{
	margin:0 auto 25px;
	padding:0 0 25px;
	border-bottom:solid 1px #ddd;
}
.about_access_inner:last-child{
	margin:0 auto;
	padding:0;
	border-bottom:none;
}
body.page-id-6 #container .inner .about_access_title{
	margin:0 0 20px !important;
	font-size:2.7rem !important;
	line-height:1.4em !important;
	color:#ba8e16 !important;
	text-align:left !important;
}

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

	/* =====================================
	contents_about_intro
	===================================== */
	.about_intro_image img{
		max-width:180px;
	}
	.about_intro_title{
		margin:0 0 20px;
		font-size:2rem;
	}
	.about_intro_title br{
		display:none;
	}
	
	/* =====================================
	contents_about_open
	===================================== */
	.about_open_text{
		font-size:1.5rem;
	}

	/* =====================================
	contents_about_access
	===================================== */
	.about_access_title{
		margin:0 0 15px;
		font-size:2rem;
	}

}


/* ============================================================
施術内容一覧
============================================================ */

/* =====================================
contents_services_archive
===================================== */
.services_archive_menu{
	display:flex;
	flex-wrap:wrap;
	flex-direction:row;
	justify-content:space-between;
	width:100%;
	margin:30px auto 0;
}
.services_archive_item{
	width:48%;
	margin-bottom:4%;
	border:solid 1px #eee;
}
.services_archive_item_header{
	margin:0 !important;
}
.services_archive_item_inner{
	display:flex;
	flex-wrap:wrap;
	flex-direction:row;
	justify-content:space-between;
	padding:1em;
	gap:1em;
	> a, > div{
		display:flex;
		align-items:center;
		justify-content:center;
		width:calc(50% - 0.5em);
		padding:0.8em 0;
		background:#fff;
		border:solid 1px #8e6954;
		border-radius:4px;
		text-align:center;
		font-size:1.6rem;
		line-height:1.2em;
		letter-spacing:0;
		color:#636363;
		filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.1));
		transition:background 0.4s ease 0s, filter 0.4s ease 0s;
	}
	> a{
		cursor:pointer;
		&:hover, &.current{
			background:#8e6954;
			color:#fff;
		}
	}
}

@media screen and (max-width:768px) {
	body.page #main .inner.services{
		width:100%;
		.breadcrumbs {
			width: 95%;
		}
	}
	.services_archive_menu{
		display:block;
		margin:10px auto 0;
	}
	.services_archive_item{
		width:100%;
		margin-bottom:30px;
		border:none;
	}
	.services_archive_item_inner{
		gap:0.7em 0.3em;
		> a, > div{
			width: calc(50% - 0.5em);
			min-height:3.3em;
			padding:0.3em 0;
			font-size:1.3rem;
		}
	}
}


/* ============================================================
Responsive
============================================================ */
@media screen and (min-width:769px){
	.pc_hide{
		display:none !important;
	}
}
@media screen and (max-width:768px) {
	body {
		padding-top: 59px;
	}
	.sp_hide{
		display:none !important;
	}
	.bn_cta,
	input[type=submit].bn_cta{
		display:block;
		font-size:1.5rem;
		padding:1.2em 1em;
	}
	.bn_cta.bn_link{
		display:inline-block;
	}

	/* ============================================================
	header
	============================================================ */
	#header{
	}
	.header_inner{
		display:flex;
		justify-content:space-between;
		align-items:center;
		padding:10px;
	}
	.header_top{
		display:block;
		width:47%;
		flex-shrink:0;
		padding:0;
	}
	.header_logo{
		width:100%;
	}
	.pc_menu{
		display:none;
	}
	#nav_input{
		display:none;
	}
	#nav_drawer{
		position:relative;
		height:auto;
		padding:0;
		clear:both;
	}
	#nav_open{
		display:block;
		width:40px;
		height:40px;
		vertical-align:middle;
		cursor:pointer;
		filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.1));
	}
	#nav_close{
		visibility: hidden;
		position:fixed;
		z-index:99;
		top:0;
		left:0;
		width:100%;
		height:100%;
		background:rgba(0,0,0,0);
		transition:background 0.3s ease 0s;
		cursor:pointer;
	}
	#nav_input:checked ~ #nav_close{
		visibility: visible;
		background:rgba(0,0,0,0.6);
	}
	#nav_content{
		max-height:100vh;
		box-sizing:border-box;
		padding:0 0 30px;
		overflow:auto;
		overflow-x:hidden;
		position:fixed;
		top:0;
		right:-100%;
		z-index:9999;
		width:90%;
		max-width:330px;
		height:100%;
		font-weight:normal;
		background:url(../img/img_header_bg_content_sp.webp) no-repeat center center/cover #6d4725;
		will-change: transform, transition;
		-webkit-transform:translateX(105%);
		transform:translateX(105%);
		transition:transform 0.5s ease-in-out, right 0.5s ease-in-out;
	}
	#nav_input:checked ~ #nav_content{
		right:0;
		-webkit-transform:translateX(0%);
		transform:translateX(0%);
	}

	#menu_close{
		display:block;
		padding:10px 10px 0 !important;
		text-align:right;
	}
	#menu_close img{
		width:40px;
		height:40px;
		cursor:pointer;
		vertical-align:middle;
	}
	.drawer_menu{
		width:100%;
		margin:20px 0 0;
		padding:0 20px;
		box-sizing:border-box;
	}
	.drawer_menu .menu_link{
		padding:0 0 12px;
		margin:0 0 15px;
		border-bottom:solid 1px rgba(255,255,255,0.2);
		line-height:1;
		position:relative;
	}
	.drawer_menu .menu_link a{
		font-size:1.6rem;
		font-weight:normal;
	}
	.drawer_cta{
		padding:10px 20px 0;
		.img_icon{
			max-width: 1.3em;
		}
		.bn_cta{
			filter:none;
			padding: 0.6em 0 0.5em;
			min-width:0;
			font-size:1.7em;
			font-weight:normal;
			small{
				font-size:0.7em;
			}
		}
	}

	/* ============================================================
	contents_wrapper
	============================================================ */
	.contents_inner{
		padding-top:2.5em;
		padding-bottom:2.5em;
	}
	.contents_heading{
		margin:0 0 1.5em;
	}
	.contents_heading_en{
		margin:0 0 1.4em;
		font-size:1.2rem;
	}
	.contents_heading_ja{
		font-size:2.8rem;
	}

	/* ============================================================
	contents_index_mainvisual
	============================================================ */
	#contents_index_mainvisual{
		.mainvisual_video_wrap{
			width: 100%;
			aspect-ratio: 9 / 16;
			object-fit: cover;
			background:url(../img/img_mainvisual_video_bg_sp.webp) no-repeat center center/cover;
		}
		#loading{
			width:60px;
		}
	}
	.top_mainvisual_slide_nav{
		&.slick-initialized{
			padding:5px 0;
		}
		figure{
			padding:5px;
		}
	}

	/* =========================================================
	top_mainvisual
	========================================================= */
	@keyframes mv-anime{
		0%{ transform: scale(1.7); }
		50%{ transform: scale(1.3); }
		100%{ transform: scale(1.7); }
	}
	#top_mainvisual > div{
		display:block;
		height:auto;
		padding:0 2%;
		box-sizing:border-box;
	}
	#top_mainvisual h1{
		width: 80%;
		padding: 12px 0;
	}

	/* ============================================================
	contents_index_typicalcase
	============================================================ */
	.index_typicalcase_logo{
		max-width:3em;
		margin:0 auto 0.2em;
	}
	.index_typicalcase_title{
		margin:0 auto 0.3em;
		font-size:2.8rem;
	}
	.index_typicalcase_menu{
		margin:0 auto 1em;
	}
	.index_typicalcase_menu_bn{
		padding:0.4em 0;
		font-size:1.3rem;
	}
	.index_typicalcase_dr{
		margin:0 0 1em;
		figure{
			width:2.5em;
		}
		p{
			font-size:1.4rem;
		}
	}

	/* ============================================================
	contents_index_about
	============================================================ */
	#contents_index_about{
		.contents_inner{
			padding-top: 2em;
		}
	}
	.index_about_heading{
		padding:1em 0 0;
		margin:0 auto 1em;
		background:url(../img/img_index_about_heading_bg.svg) no-repeat top left 1em/3em;
	}
	.index_about_title_logo{
		max-width:16em;
		margin:0 auto 0.5em;
	}
	.index_about_title{
		font-size:1.6rem;
	}

	/* ============================================================
	contents_index_popular
	============================================================ */
	#contents_index_popular{
		.contents_heading_ja small{
			font-size:1.6rem;
		}
		.contents_heading_ja strong{
			font-size:3rem;
		}
	}
	.index_popular_slide{
		a{
			padding:0;
			}
	}
	.index_popular_menu{
		flex-wrap:wrap;
		flex-direction:row;
		margin:0 auto;
		a{
			width:calc(100%/3);
			padding:1.2em 0.2em;
			border-top:solid 1px #ddd;
			border-left:solid 1px #ddd;
		}
		a:nth-child(1),	a:nth-child(4){
			border-left:none;
		}
		img{
			max-width:3.8em;
			margin:0 auto 0.5em;
		}
		span{
			font-size:1.3rem;
		}
	}
	
	/* ============================================================
	contents_index_dr
	============================================================ */
	#contents_index_dr{
		.contents_inner{
			padding-top:4em;
			background:url(../img/img_index_dr_bg.svg) no-repeat top 2em center/15em;
		}
		.contents_heading_ja small{
			font-size:1.6rem;
		}
		.contents_heading_ja strong{
			font-size:3rem;
		}
	}
	.index_dr_slide{
		&.slick-slider.swipe_alert:after {
			visibility:visible;
		}
	}
	
	/* ============================================================
	contents_index_youtube
	============================================================ */
	#contents_index_youtube{
		.contents_inner{
			padding-top:5em;
			background:url(../img/img_index_youtube_bg.svg) no-repeat top 2em center/20em;
		}
	}
	.index_youtube_title{
		max-width:11em;
		margin:0 auto 0.5em;
	}

	/* ============================================================
	contents_index_instagram
	============================================================ */
	.index_instagram_slide{
		&.slick-slider.swipe_alert:after {
			visibility: visible;
		}
	}
	
	/* ============================================================
	contents_index_concept
	============================================================ */
	#contents_index_concept{
		.contents_inner{
			padding-top:0;
		}
	}
	.index_concept_main{
		left:0;
	}
	.index_concept_text{
		font-size:1.5rem;
	}
	
	/* ============================================================
	contents_index_news
	============================================================ */
	.index_news_item{
		.entry_archive_item_title {
			font-size: 1.4rem;
		}
	}

	/* ============================================================
	contents_index_qa
	============================================================ */
	.index_qa_item{
		padding:1.5rem;
	}
	.index_qa_icon{
		font-size:1.6rem;
	}
	.index_qa_text{
		.question &{
			font-size:1.5rem;
		}
		.answer &{
			font-size:1.3rem;
		}
	}

	/* ============================================================
	contents_index_recruit
	============================================================ */
	#contents_index_recruit{
		.contents_inner{
			padding:0;
		}
	}

	/* ============================================================
	contents_index_menu_bottom
	============================================================ */
	#contents_index_menu_bottom{
		.contents_inner{
			text-align:left;
		}
	}
	.index_menu_bottom{
		a{
			font-size:1.6rem;
		}
	}
	
	/* ============================================================
	contents_index_access
	============================================================ */
	.index_access_title{
		font-size:1.8rem;
	}
	.index_access_desc{
		font-size:1.5rem;
	}
	
	/* ============================================================
	index_cta_bottom
	============================================================ */
	#index_cta_bottom{
		padding:0.6em 0.5em;
	}
	.index_cta_bottom_text{
		font-size:1.4rem;
	}

}