@charset "UTF-8";

/* reset */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,figure,footer,header,hgroup,menu,nav,section,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}article,aside,figure,footer,header,hgroup,nav,section{display:block;}img,object,embed{vertical-align: bottom;}html{overflow-y:scroll;}ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}del{text-decoration:line-through;}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help;}table{border-collapse:collapse;border-spacing:0;}th{font-weight:bold;vertical-align:bottom;}td{font-weight:inherit;vertical-align:top;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}input,select{vertical-align:middle;}pre{white-space:pre;white-space:pre-wrap;white-space:pre-line;word-wrap:break-word;}input[type="radio"]{vertical-align:text-bottom;}input[type="checkbox"]{vertical-align:bottom;*vertical-align:baseline;}select,input,textarea{font:99% sans-serif;}table{font-size:inherit;font:100%;}a:hover,a:active{outline:none;}strong,th{font-weight:bold;}td,td img{vertical-align:top;}sub,sup{font-size:75%;line-height:0;position:relative;}sup{top:-0.5em;}sub{bottom:-0.25em;}pre,code,kbd,samp{font-family:monospace,sans-serif;}label,input[type=button],input[type=submit],button{cursor:pointer;}button,input,select,textarea{margin:0;}button{width:auto;overflow:visible;}[hidden]{display:none !important;}[disabled]{cursor:not-allowed;}:focus:not(:focus-visible){outline:none;}

/* clear */
.clear:before,.clear:after{content:"\0020";display:block;height:0;overflow:hidden;}.clear:after{clear:both;}.clear{zoom:1;}

/* base */

:root {
  --COL-White: #fff;
  --COL-White-rgb: 255, 255, 255;
  --COL-Black: #000;
  --COL-Black-rgb: 0, 0, 0;
  --COL-Text: #222;
  --COL-Text-rgb: 34,34,34;
  /* Gray */
  --COL-LightGray: #F3F3F3;
  --COL-Gray: #bbb;
  --COL-DarkGray: #847B7B;
  /* others */
  --COL-Brown: #53301C;
  --COL-Brown-rgb: 83,48,28;
  --COL-Camel: #A7833E;
  --COL-Camel-rgb: 167,131,62;
  --COL-Red: #E65353;
  --GRD-Brown: linear-gradient(90deg, #7B4F4F 0%, #5C463D 100%);
  --BG-LightBrown: url(../../img/common/grd_lightbrown.png) 50% 0 repeat-y;
  --BG-DarkBrown: url(../../img/common/grd_darkbrown.jpg) 50% 0 repeat-y;

  --FNT-base: 'Zen Kaku Gothic New','游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif; /* 500 */
  --FNT-serif: 'Zen Old Mincho', serif; /* 500,700 */
  --FNT-en-sans: 'Special Elite', sans-serif; /* 400 */
  --FNT-en-serif: 'Cormorant Garamond', serif; /* 400 */
  --WGT-L: 300;
  --WGT-R: 400;
  --WGT-M: 500;
  --WGT-D: 600;
  --WGT-B: 700;
}

html {
	height: 100vh;
    overflow: auto;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
    position: relative;
    width: 100%;
    min-height: 100%;
    font-family: var(--FNT-base);
    font-weight: var(--WGT-M);
    font-style: normal;
	letter-spacing: 0.05em;
    line-height: 1;
    color: var(--COL-Text);
    background-color: var(--COL-White);
}

body.b-cielserein {
	background: url("../../img/common/bg_cielserein.png") 0 0 repeat;
}

@media screen and (min-width: 768px) {

	html { font-size: 1px; }

	@media ( max-width: 1280px ) { html { font-size: 0.078125vw; /*w1280のときの1px*/ } }

	body {
		min-width:1280rem;
		height: 100vh;
		padding-top: 104rem;
		font-size: 16rem;
	}
	body.b-cielserein {
		padding-top: 0;
	}

}
@media screen and (max-width: 767px) {

	html {
		font-size: .266666667vw;; /* base 375 */
		-webkit-font-smoothing: antialiased;
	}
	body{
		min-width: 375rem;
		min-height: 100vh;
		font-size: 14rem;
	}

}

/* 明朝 */
.serif{
	font-family: var(--FNT-serif);
	font-weight: 500;
}

/* 欧文 */
.en, .label_en, .copy_en{
    font-family: var(--FNT-en-serif);
}
body.b-cielserein{
	.en, .label_en, .copy_en{
		font-family: var(--FNT-en-sans);
	}
}
.label_en{
	text-transform: capitalize;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

p,li,dd,td {
	text-align: justify;
	text-justify: inter-ideograph;
}
body.b-en_US {
	p,li,dd,td {
		text-align: left;
	}
}

h1,h2,h3,h4,h5{
    font-weight: var(--WGT-R);
}

img {
	max-width: 100%;
	height: auto;
}
svg {
	width: 1em;
	height: 1em;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
}

i {
    font-size: 0%;
}

a:link,
a:visited,
a:hover,
a:active{
    color: var(--COL-Text);
	text-decoration: none;
	overflow-wrap: break-word;
}

a.textlink:link,
a.textlink:visited{
    color: var(--COL-Text);
	text-decoration: underline;
	text-decoration-color: rgba(var(--COL-Text-rgb), 0.6);
}
a.textlink:hover,
a.textlink:active{
    color: rgba(var(--COL-Text-rgb), 0.6);
}
a.alpha:link,
a.alpha:visited,
a.trans:link,
a.trans:visited {
	transition-property: opacity;
	opacity: 1;
}
a.alpha:hover,
a.alpha:active {
	opacity: 0.6;
}
a.trans:hover,
a.trans:active {
	opacity: 0;
}

a.btn_shadow{
	filter: drop-shadow(2px 3px 12px rgba(0,0,0,0));
	transition-property: all;
}
a.btn_shadow:hover{
	filter: drop-shadow(2px 3px 12px rgba(0,0,0,0.3));
}

@media screen and (min-width: 768px) {

	.br_sp,
	.text_sp,
	.block_sp{
		display:none;
	}
	.br_pc,
	.text_pc{
		display:inline;
	}
	.block_pc{
		display:block;
	}

	a[href^="tel:"] { pointer-events: none !important; }

	a,a > *,a::before,a::after,
	button,button::before,button::after {
	  transition-property: none;
	  transition-duration: .4s;
	  transition-timing-function: ease-in-out;
	}

}
@media screen and (max-width: 767px) {

	.br_sp,
	.text_sp{
		display:inline;
	}
	.block_sp{
		display:block;
	}
	.br_pc,
	.text_pc,
	.block_pc{
		display:none;
	}

}

/* utility */
/*
.touch_anime{transition: opacity .3s;}
@media all and (min-width:768px) {.touch_anime:not(.nopacity):hover{opacity: .7;}}
@media all and (max-width:767px) {.touch_anime:not(.nopacity).touch__start{opacity: .7;}}
.scroll_anime{transition: all 1.5s ease .1s;}
.scroll_anime.fuwa{opacity:0; transform: scale(.95);}
.scroll_anime.fuwa.scroll__start{opacity:1;transform: scale(1)}
.scroll_anime.fuwa-up{transform: translateY(50px);opacity:0;}
.scroll_anime.fuwa-up.scroll__start{transform: translateY(0px);opacity:1;}
.scroll_anime.fuwa-down{transform: translateY(-50px);opacity:0;}
.scroll_anime.fuwa-down.scroll__start{transform: translateY(0px);opacity:1;}
.scroll_anime.fuwa-right{transition: all 0.5s ease .1s;transform: translateX(-30px);opacity:0;}
.scroll_anime.fuwa-right.scroll__start{transform: translateX(0px);opacity:1;}
.scroll_anime.fuwa-left{transition: all 0.5s ease .1s;transform: translateX(30px);opacity:0;}
.scroll_anime.fuwa-left.scroll__start{transform: translateX(0px);opacity:1;}
.scroll_filter{position: relative;overflow: hidden;}
.scroll_filter::before{content: '';width: 100%;height: 100%;background: #fff;position: absolute;left:0;top:0;transition: all 3.5s ease .1s;}
.scroll_filter.filter-left.scroll__start::before{left:-100%;}
.scroll_filter.filter-right.scroll__start::before{left: 100%;}
.scroll_filter.filter-up.scroll__start::before{top:-100%;}
.scroll_filter.filter-down.scroll__start::before{top: 100%;}
*/



@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}

/******************************************************
.contents
******************************************************/

.contents{
	position: relative;
    overflow-x: hidden;
	overflow-y: hidden;
	line-height: 1.5;

	display: flex;
	flex-direction: column;
	align-items: stretch;
}


/******************************************************
.section
******************************************************/

/* .section ********************/

.section{
    width: 100%;
}
@media screen and (min-width: 768px) {
	.section{
		max-width: 1160rem;
		margin-left: auto;
		margin-right: auto;
		padding-left: calc((100vw - 1160rem)/ 2);
		padding-right: calc((100vw - 1160rem)/ 2);
		padding-top: 104rem;
		padding-bottom: 104rem;
		box-sizing: content-box;
	}
	.section.section_narrow{
		max-width: 1000rem;
		padding-left: calc((100vw - 1000rem)/ 2);
		padding-right: calc((100vw - 1000rem)/ 2);
	}
}
@media screen and (max-width: 767px) {

	.section{
		padding-top: 40rem;
		padding-bottom: 40rem;
	}

}

/* .section_body ********************/

@media screen and (min-width: 768px) {

	.section_body.col,
	.sbody_block.col{
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 40rem;
	}

	.section_body.row,
	.sbody_block.row{
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		gap: 40rem;
		.sbody_text, .sbody_img{
			width: 48.05%;
		}
	}

	.section_body.row.wrap,
	.sbody_block.row.wrap{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 40rem;
		.sbody_text, .sbody_img{
			width: 48.05%;
		}
		.sbody_text.w100, .sbody_img.w100{
			width: 100%;
		}
	}

	.section_body + .section_body{
		margin-top: 64rem;
	}

	.section_body{
		
		.sbody_text{
			p{
				line-height: 2;
			}
			p + p{
				margin-top: 1em;
			}
		}

		.sbody_list{
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start;
			align-items: flex-start;
			gap: 40rem 32rem;
			> dt{
				width: 144rem;
				font-size: 22rem;
				letter-spacing: 1.1rem;
			}
			> dd{
				width: calc(100% - 176rem);
				p{
					line-height: 1.75;
					letter-spacing: 0.8rem;
				}
				p + p{
					margin-top: 2em;
				}
			}
		}
		
		.sbody_list_line{
			display: flex;
			flex-wrap: wrap;
			align-items: stretch;
			gap: 0rem;
			> dt{
				width: 216rem;
				padding: 16rem 0;
				font-weight: var(--WGT-B);
				line-height: 1.75;
				border-bottom: 1px solid var(--LightGray);			
			}
			> dd{
				width: calc(100% - 216rem);
				padding: 16rem 0 16rem 24rem;
				border-bottom: 1px solid var(--LightGray);
				p{
					line-height: 1.75;
				}
				p + p{
					margin-top: 0.5em;
				}
			}
		}

		.sbody_list_3clm{
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start;
			gap: 32rem 40rem;
			> li{
				width: calc(33.33% - 27rem);
				.img > img{
					width: 100%;
					height: 210rem;
					object-fit: cover;
				}
				.caption{
					margin-top: 16rem;
					font-size: 14rem;
					line-height: 1.5;
					letter-spacing: 0.7rem;
					color: var(--Gray);
				}
			}
		}

		ol{
			padding-left: 1.25em;
			> li{
				line-height: 1.75;
				letter-spacing: 0.8rem;
			}
			> li + li{
				margin-top: 2em;
			}
		}

	}

}
@media screen and (max-width: 767px) {

	.section_body,
	.sbody_block{
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 32rem;
	}

	.section_body + .section_body{
		margin-top: 40rem;
	}

	.section_body{
		
		.sbody_text{
			p{
				line-height: 1.75;
			}
			p + p{
				margin-top: 1em;
			}
		}

		.sbody_list{
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 16rem;
			> dt{
				font-size: 20rem;
			}
			> dd{
				p{
					line-height: 1.75;
					letter-spacing: 0;
				}
				p + p{
					margin-top: 2em;
				}
			}
		}
		
		.sbody_list_line{
			display: flex;
			flex-direction: column;
			align-items: stretch;
			> dt{
				padding: 12rem 0 0;
				font-weight: var(--WGT-B);
				line-height: 1.75;
			}
			> dd{
				padding: 4rem 0 12rem;
				border-bottom: 1px solid var(--LightGray);	
				p{
					line-height: 1.75;
				}
				p + p{
					margin-top: 0.5em;
				}
			}
		}

		.sbody_list_3clm{
			display: flex;
			flex-direction: column;
			align-items: stretch;
			gap: 40rem;
			> li{
				.img > img{
					width: 100%;
					height: 223rem;
					object-fit: cover;
				}
				.caption{
					margin-top: 8rem;
					font-size: 12rem;
					line-height: 1.5;
					letter-spacing: 0.6rem;
					color: var(--Gray);
				}
			}
		}

		ol{
			padding-left: 1.25em;
			> li{
				line-height: 1.75;
				letter-spacing: 0;
			}
			> li + li{
				margin-top: 2em;
			}
		}
	}

}

/* 汎用 ********************/

/* 　マップ枠　 */

.box_iframe iframe{
    width: 100%;
}
@media screen and (min-width: 768px) {
	.box_iframe iframe{
		height: 400rem;
	}
}
@media screen and (max-width: 767px) {
	.box_iframe iframe{
		height: 400rem;
	}
}

/* 　ボタンの入れ物　 */

.btn_row{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.25em;
}
.btn_col{
	display: flex;
	flex-direction: column;
	gap: 0.25em;
	padding-top: 0.5em;
}
@media screen and (min-width: 768px) {
	.btn_col{
		align-items: flex-start;
	}
}
@media screen and (max-width: 767px) {
	.btn_col{
		align-items: center;
	}
}

/* 　MOREボタン　 */

.btn_box{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.75em;
	border-radius: 2rem;
	border: 1px solid var(--COL-DarkGray);
	background: var(--COL-DarkGray);
	min-width: 300rem;
	min-height: 56rem;
	padding: 12rem 20rem;
}
.btn_box .label{
	font-size: 15rem;
    font-family: var(--FNT-serif);
	line-height: 1.2;
	letter-spacing: 0.05em;
	color: var(--COL-White);
	text-align: center;
	transition-property: color;
}
.btn_box.arrow .label{
	flex-grow: 1;
	padding-left: 1.75em;
}
.btn_box .icn{
	line-height: 1;
}
.btn_box .icn > svg{
	width: 24rem;
	height: 24rem;
	fill: var(--COL-White);
}

.btn_box.small{
	height: auto;
	min-width: 216rem;
	min-height: 40rem;
	padding: 8rem 16rem;
}
.btn_box.small .label{
	font-size: 14rem;
}
.btn_box.small .icn{
}
.btn_box.small .icn > svg{
	width: 16rem;
	height: 16rem;
}

@media screen and (min-width: 768px) {
	.btn_box{
		transition: background-color 0.4s ease-out;
	}
	.btn_box .label{
		font-size: 17rem;
	}
	.btn_box.small .label{
		font-size: 15rem;
	}
	.btn_box .icn > svg{
		transition: fill 0.4s ease-out;
	}

	.btn_box:hover,
	a:hover .btn_box{
		background-color: var(--COL-White);
	}
	.btn_box:hover .label,
	a:hover .btn_box .label{
		color: var(--COL-DarkGray);
	}
	.btn_box:hover .icn > svg,
	a:hover .btn_box .icn > svg{
		fill: var(--COL-DarkGray);
	}

}
@media screen and (max-width: 767px) {

	.btn_box{
		min-width: 280rem;
		min-height: 48rem;
	}

}

/******************************************************
■ お問い合わせ contact ■
******************************************************/

/* フォーム ***************************/

.contact_form{
	background: var(--COL-White);
	box-shadow: 1px 1px 50px 0 rgba(var(--COL-Black-rgb), 0.05);
}
@media screen and (min-width: 768px) {
	.contact_form{
		padding: 64rem 120rem;
	}
}
@media screen and (max-width: 767px) {
	.contact_form{
		padding: 40rem 16rem;
	}
}

table.table_form tr th{
    width: 14em;
	padding: 0.6em;
	text-align: left;
	vertical-align: top;
	font-weight: var(--WGT-M);
	color: var(--COL-DarkGray);
}
table.table_form tr td {
	padding: 0.6em;
	text-align: left;
	vertical-align: top;
}
table.table_form tr th label{
}

table.table_form.confirm tr th{
	padding: 1em 0.6em;
}
table.table_form.confirm tr td {
	padding: 1em 0.6em;
	/*border-bottom: solid 1rem var(--LightGray);*/
}

@media screen and (max-width: 767px) {

	table.table_form tr th{
		display:block;
		width: 100%;
		padding: 0.6em 0 0;
	}
	table.table_form tr td {
		display:block;
		width: 100%;
		padding: 0.6em 0;
	}

	table.table_form.confirm tr th{
		padding: 1em 0 0;
	}
	table.table_form.confirm tr td {
		padding: 1em 0;
		/*border-bottom: solid 1rem var(--LightGray);*/
	}

}

.contact_form input[type="text"],
.contact_form textarea,
.contact_form input[type="tel"],
.contact_form input[type="email"]{
	width: 100%;
	padding:0.6em;
	background-color:var(--COL-LightGray);
	border:solid 1rem var(--COL-Gray);
	border-radius:2rem;
	-webkit-appearance: none;
}

.contact_form select,
.contact_form input[type="date"] {
	padding:0.6em;
	background-color:var(--COL-LightGray);
	border:solid 1rem var(--COL-Gray);
	border-radius:2rem;
	/* -webkit-appearance: none;セレクトボックス系は外さない */
}
.contact_form select#category{
	width: 100%;
}

.contact_form input[type="file"]{
	width: 100%;
}
.contact_form input[type="file"] + input[type="file"]{
	margin-top: 0.6em;
}

.contact_form input[type="checkbox"],
.contact_form input[type="radio"]{
	vertical-align: middle;
}

.contact_form input[type="text"]#zip1{
	width: 4em;
}
.contact_form input[type="text"]#zip2{
	width: 5em;
}
.contact_form input[type="text"]#zip3{
	width: 7em;
}
.contact_form input[type="date"].datepicker{
	width: auto;
}

#mail2,
#spref,
#address,
#address1,
#address2,
#datem2,
#dated2,
#hour2,
#strt{
	margin-top: 0.6em;
}
.contact_form .form_zip{
	display: inline-block;
}
.contact_form .form_mail2{
	display: block;
}

.must{
	display:inline-block;
	margin-left: 0.8em;
	padding: 0.1em 0.5em;
	background-color: var(--COL-DarkGray);
	color: var(--COL-White);
	font-size: 13rem;
	border-radius:4rem;
}

.form_notice{
	padding: 2em 0;
	letter-spacing: 0.05em;
}


/* .form_terms ***************/
.form_terms{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1em;
	margin: 2em 0 0;
	padding: 1em;
	/*border-top: solid 1rem var(--Gray);
	border-bottom: solid 1rem var(--Gray);*/
}
.form_terms_iframe{
  display: inline-block;
	width: 100%;
	height: 300rem;
	margin: 1em 0;
	background-color: var(--COL-White);
    border: solid 1rem var(--COL-Gray);
    overflow:auto; /* scrollからautoに変更 */
    -webkit-overflow-scrolling:touch;
}
.form_terms_iframe iframe{
  width:100%;
  height:100%;
  border:none;
  display:block;
}

@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

    .form_terms{
        padding: 1em 0;
    }

}

.form_terms_check{
	text-align: center;
}

.form_btn{
	padding: 2em 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	gap: 0.5em;
	text-align: center;
}
.form_btn.confirm{
	flex-direction: row;
}

.form_btn input[type="submit"],
.form_btn input[type="button"] {
	-webkit-appearance: none;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 8em;
	height: 48rem;
	/*font-weight: var(--WGT-B);*/
	font-family: var(--FNT-serif);
	color:var(--COL-White);
    letter-spacing: 0.05em;
	background: var(--COL-DarkGray);
	border: solid 1rem var(--COL-DarkGray);
	border-radius: 2rem;
	transition: all 0.3s ease-out;
	position: relative;
	cursor:pointer;
	line-height: 1;
}
.form_btn input[type="submit"] {
	width: 16em;
    font-size: 1.2em;
}
.form_btn input[type="submit"].backbtn,
.form_btn input[type="button"] {
}
.form_btn input[type="submit"]:hover{
    color: var(--COL-DarkGray);
	background:var(--COL-White);
}
.form_btn input[type="submit"].backbtn:hover,
.form_btn input[type="button"]:hover{
    color: var(--COL-DarkGray);
	background:var(--COL-White);
}

input[type="button"].addbtn {
	-webkit-appearance: none;
	display: inline-block;
	width: auto;
	height: auto;
	padding: 0.5em 0.8em;
	border-radius: 4rem;
	background-color: var(--COL-DarkGray);
	border: solid 1rem var(--COL-DarkGray);
	transition: all 0.3s ease-out;
	position: relative;
	cursor:pointer;
	line-height: 1;
	color:var(--COL-White);
}


/* エラーメッセージ */

.box_errmsg{
	padding-bottom: 1em;
	text-align: center;
}
.errmsg,
.mw_wp_form .error,
.wpcf7-not-valid-tip{
	display:inline-block !important;
	margin-top:3rem;
	margin-left: 5rem;
	padding:4rem 8rem;
	background-color:var(--COL-Red);
	border-radius:0;
	font-size:14rem !important;
	line-height: 1;
/*	font-weight:bold !important;*/
	color:var(--COL-White) !important;
}

/* 確認画面 */
.mw_wp_form_confirm .label_name,
.mw_wp_form_confirm .form_notice,
.mw_wp_form_confirm .form_mail2,
.mw_wp_form_confirm input[type="button"].addbtn{
	display:none;
}

.mw_wp_form_confirm .contact_lead_input,
.mw_wp_form_input .contact_lead_confirm{
    display: none;
}
.mw_wp_form_input .contact_lead_input,
.mw_wp_form_confirm .contact_lead_confirm{
    display: block;
}

/* 完了画面 */
.form_thx{
	padding: 3em 3em 2em;
	background-color: var(--COL-White);
}

.form_thx_label{
    display: flex;
    flex-direction: column;
    align-items: center;
	padding-bottom: 1.5em;
	font-size: 1.5em;
	/*font-weight: var(--WGT-B);*/
	font-family: var(--FNT-serif);
	line-height: 1.6;
	text-align: center;
}

.form_thx_text{
	padding-bottom: 3em;
}

.form_thx_text ul,
.form_thx_text p,
.mw_wp_form_complete p{
}
.form_thx_text p + ul,
.form_thx_text p + p,
.mw_wp_form_complete p + p{
	padding-top: 1em;
}


@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}



/******************************************************
.page-top
******************************************************/

.page-top{
    position: fixed;
    z-index: 300;
    opacity: 0;
	transition: opacity .5s ease-in-out;
}
@media screen and (min-width: 768px) {
	.page-top{
		right: 24rem;
		bottom: 32rem;
		width: 48rem;
		height: 48rem;
	}
}
@media screen and (max-width: 767px) {
	.page-top{
		right: 8rem;
		bottom: 8rem;
		width: 28rem;
		height: 28rem;
	}
}
.page-top > a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: 2rem;
	border: solid 1rem var(--COL-DarkGray);
	background-color: var(--COL-White);
	transition-property: background-color;
}
.page-top > a > svg{
	transform: rotate(-90deg);
	fill: var(--COL-DarkGray);
	transition: fill .5s ease-out;
}
@media screen and (min-width: 768px) {
	.page-top > a > svg{
		width: 50%;
		height: 50%;
	}
}
@media screen and (max-width: 767px) {
	.page-top > a > svg{
		width: 50%;
		height: 50%;
	}
}
.page-top > a:hover{
	background-color: var(--COL-DarkGray);
}
.page-top > a:hover > svg{
	fill: var(--COL-White);
}

.page-top.active{
    opacity: 1;
}


/******************************************************
.footer
******************************************************/

.footer{
	background-color: var(--COL-White);
}

.footer .bnrs{
	background: var(--BG-LightBrown);
	background-size: 100% auto;
}
.footer .bnrs > ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.footer .bnrs > ul > li > .bnr{
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--COL-White);
}
.footer .bnrs > ul > li > .bnr > img{
}
@media screen and (min-width: 768px) {

	.footer .bnrs{
		padding: 80rem 40rem;
	}
	.footer .bnrs > ul{
		gap: 24rem;
	}
	.footer .bnrs > ul > li > .bnr{
		width: 320rem;
		height: 120rem;
	}
	.footer .bnrs > ul > li > .bnr > img{
		max-width: 62.5%;
		max-height: 42.5%;
	}

}
@media screen and (max-width: 767px) {

	.footer .bnrs{
		padding: 48rem 16rem;
	}
	.footer .bnrs > ul{
		gap: 8rem;
	}
	.footer .bnrs > ul > li > .bnr{
		width: 160rem;
		height: 88rem;
	}
	.footer .bnrs > ul > li > .bnr > img{
		max-width: 80%;
		max-height: 28.4%;
	}

}

.footer .inner{
	display: flex;
}
.footer .inner .contact > ul{
	display: flex;
	align-items: stretch;
	gap: 8rem;
}
.footer .inner .contact > ul > li > .btn_box.tel{
	background-color: var(--COL-White);
}
.footer .inner .contact > ul > li > .btn_box.tel > .icn > svg{
	fill: var(--COL-DarkGray);
}
.footer .inner .contact > ul > li > .btn_box.mail > .icn > svg{
	width: 20rem;
	height: 20rem;
}
.footer .inner .contact > ul > li > .btn_box.tel > .label{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	color: var(--COL-DarkGray);
}
.footer .inner .contact > ul > li > .btn_box.tel > .label .label_tel{
	font-size: 1.1em;
}
.footer .inner .contact > ul > li > .btn_box.tel > .label .label_tel_time{
	font-family: var(--FNT-base);
	font-size: 0.75em;
}

.footer .inner .info{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4rem;
	font-family: var(--FNT-serif);
	line-height: 1.5;
}
.footer .inner .info .company_name{
	font-size: 1.25em;
}
.footer .inner .info .company_add{
	font-size: 0.9375em;
}
.footer .copy > small{
	font-size: 0.8125em;
	font-family: var(--FNT-serif);
	color: var(--COL-DarkGray);
}

@media screen and (min-width: 768px) {

	.footer .inner{
		display: flex;
		flex-direction: row-reverse;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
		gap: 24rem;
		width: 100%;
		max-width: 1200rem;
		margin: 0 auto;
		padding: 80rem 0 32rem;
	}
	.footer .inner .contact > ul > li{
		flex: 1;
	}
	.footer .inner .contact > ul > li > .btn_box{
		width: 220rem;
		min-width: initial;
		height: 64rem;
	}
	.footer .copy{
		width: 100%;
	}
}
@media screen and (max-width: 767px) {

	.footer .inner{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 24rem;
		padding: 40rem 40rem 24rem;
	}
	.footer .inner .contact > ul{
		flex-direction: column;
	}
	.footer .inner .contact > ul > li > .btn_box{
		padding: 8rem 20rem;
		min-height: 56rem;
	}
}





@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}


/******************************************************
汎用クラス
******************************************************/

.hidden{
	height: 0px;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0;
	margin: 0;
}

@media screen and (min-width: 768px) {

	.small{
		font-size: 14rem;
	}
	.large{
		font-size: 19rem;
	}

}
@media screen and (max-width: 767px) {

	.small{
		font-size: 12rem;
	}
	.large{
		font-size: 16rem;
	}

}


.red,
.notice{
    color: var(--COL-Red);
}
.gray{
	color:var(--COL-Gray);
}

strong{
    font-family: var(--FNT-base);
    font-weight: var(--WGT-B);
	font-style:normal;
}
em{
    font-family: var(--FNT-base);
    font-weight: var(--WGT-B);
	font-style:normal;
}

.ta_right{
	text-align:right !important;
}
.ta_left{
	text-align:left !important;
}
.ta_center{
	text-align:center !important;
}

/* indent */
.list_ind1,
.list_ind2,
.list_ind1-5{
	padding:1em 0;
}
.ind1,
.list_ind1 li{
	padding-left:1em;
	text-indent:-1em;
}
.ind2,
.list_ind2 li{
	padding-left:2em;
	text-indent:-2em;
}
.ind1-5,
.list_ind1-5 li{
	padding-left:1.5em;
	text-indent:-1.5em;
}

/* dl リスト */
.dl_row{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
.dl_row dt{
    width: 10em;
	text-align: left;
}
.dl_row dd{
    width: calc(100% - 10em);
    padding-left: 1em;
	text-align: left;
}

.dl_row.dl_line{
    border-top: solid 1px var(--COL-Text);
    border-bottom: solid 1px var(--COL-Text);
	@media screen and (max-width: 767px) {
		flex-direction: column;
	}
}
.dl_row.dl_line + .dl_row.dl_line{
	margin-top: -1px;
}
@media screen and (min-width: 768px) {
	.dl_row.dl_line dt{
	    padding: 1.5em;
	}
	.dl_row.dl_line dd{
	    padding: 1.5em;
	}
}
@media screen and (max-width: 767px) {
	.dl_row.dl_line dt{
	    width: 100%;
	    padding: 1em 0 0;
	}
	.dl_row.dl_line dd{
	    width: 100%;
	    padding: 0.75em 1em 1em;
	}
}

/* table 表 */
table {
	width: 100%;
/*	table-layout: fixed;*/
	border-collapse: collapse;
	border-spacing: 0;
}
table.table_line {
	border: 1rem solid var(--COL-Gray);
}
table.table_line th{
    font-weight: var(--WGT-R);
    color: var(--COL-White);
    line-height: 1.5;
	text-align: left;
	vertical-align: top;
	background-color: var(--COL-Gray);
	border: 1rem solid var(--COL-Gray);
}
table.table_line thead th{
	text-align: center;
	vertical-align: middle;
}
table.table_line thead + tbody th{
    color: var(--COL-Text); 
	text-align: left;
	vertical-align: top;
	background-color: var(--COL-White);
	border: 1rem solid var(--COL-Gray);
}
table.table_line td {
    line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	border: 1rem solid var(--COL-Gray);
}
table.table_line thead th,
table.table_line tbody th,
table.table_line td{
    padding: 0.5em 1.5em;
}

/* slick 読み込んでから表示 */
.slide_imgs{
    opacity: 0;
    transition: opacity .3s linear;
}
.slide_imgs.slick-initialized{
    opacity: 1;
}

/* slick で高さを揃える（縦スライド vertical: true にはNG） */
.list_slide .slick-track {
    display: flex !important;
    align-items: stretch;
}
.list_slide .slick-slide {
    height: auto !important;
}

/* slick で1つだけのドットを非表示 */
.slick-dots > li:only-child {
    display: none;
}

/* Google 翻訳 
html.translated-ltr .header { top: auto; }
html.translated-ltr.non-toolbar .header { top: 0; }
*/