@charset "UTF-8";
/* common.css */

*,
*::before,
*::after  {
	font-family: a-otf-ud-shin-go-pr6n, noto-sans-cjk-jp, 'Noto Sans JP', sans-serif;
	font-feature-settings: "palt";
	letter-spacing: .12em;
	box-sizing: border-box;
	border-collapse: collapse;
}
body {
	/* opacity: 0; */
	transition: opacity 1.5s;
}
body.fonts-loaded {
	opacity: 1;
}
/* ----- selection ----- */
::selection {
	color: #fff;
	background-color: #967963;
}
footer ::selection {
	background-color: #856852;
}

/* ----- mouse stoker ----- */
#mouse-stalker {
	pointer-events: none;
	position: fixed;
	top:  -20px;
	left: -20px;
	width:  40px;
	height: 40px;
	background: #1c2c44;
	background: #967963;
	border-radius: 50%;
	transform: translate(0, 0);
	transition: 0.2s;
	transition-timing-function: ease-out;
	z-index: 5000;
	mix-blend-mode: difference;
	mix-blend-mode: multiply;
}
#mouse-stalker.is_active {
	top: -40px;
	left: -40px;
	width: 80px;
	height: 80px;
	transition: 0.2s;
}
@media screen and (max-width:768px) {
	#mouse-stalker {
		display: none !important;
	}
}






/* ===== Wrap ===== */
.wrap {
	width: 100%;
	margin: auto;
	padding: 0 60px;
	padding-left:  4vw;
	padding-right: 4vw;
}
.flex_box {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
/* lenis */
.site-wrapper {
	height: 100dvh;
	overflow: hidden;
}
.site-content {
	min-height:100%
}
/* SP時（Lenis無効 → ネイティブスクロール） */
@media (max-width: 767px) {
  .site-wrapper {
    height: auto;
    overflow: visible;
  }
}


/* ===== Font Family ===== */
.ff_notos  { font-family:noto-sans-cjk-jp, 'Noto Sans JP', sans-serif !important; }
.ff_singo  { font-family:a-otf-ud-shin-go-pr6n, 'Noto Sans JP', sans-serif !important; }
.ff_centry { font-family:century-gothic, 'Noto Sans JP', sans-serif !important; }
.ff_tukusi { font-family:"Noto Serif JP", serif !important; }
.ff_arial  { font-family:arial, 'Noto Sans JP', sans-serif !important; }
.ff_reimin { font-family:"a-otf-ud-reimin-pr6n", "Noto Serif JP", serif !important; }



/* ===== text ===== */
html,
h1,
h2,
h3,
h4,
a { color:inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.5em;
	letter-spacing: .15em;
}

ul,
li,
dl,
dd,
dt,
a,
p {
	font-size: 16px;
	font-size: 1.067vw;
	line-height:   1.7em;
	letter-spacing: .15em;
}
p       { text-align:justify;   }
span    { letter-spacing:.1em;  }
a       { text-decoration:none; }
a:hover { color:inherit; text-decoration:none; }

.fw_normal { font-weight:normal !important; }
.fw_500    { font-weight:500 !important;    }
.fw_bold   { font-weight:bold !important;   }

.align_left    { text-align:left !important;    }
.align_right   { text-align:right !important;   }
.align_center  { text-align:center !important;  }
.align_justify { text-align:justify !important; }

.text_indent { text-indent:-1em; padding-left:1em; }

.small { font-size:.75em; }

span.small { font-size:12px; }
.copyright,
.copyright a { font-size:12px; text-align:center; }


/* ===== 表示・非表示 ===== */
.pc_blk  { display:block !important; }
.sp_blk  { display:none !important;  }
.tab_blk { display:none !important;  }

.flex_box.pc_blk { display:flex !important; }
.flex_box.sp_blk { display:none !important; }


/* ===== 余白 ===== */
/* ----- margin Top ----- */
.marXXL_T {
	margin-top: 100px !important;
	margin-top: 6.667vw !important;
}
.marXL_T  {
	margin-top: 80px !important;
	margin-top: 5.333vw !important;
}
.marL_T   {
	margin-top: 60px !important;
	margin-top: 4vw !important;
}
.marM_T   {
	margin-top: 40px !important;
	margin-top: 2.667vw !important;
}
.marS_T   {
	margin-top: 30px !important;
	margin-top: 2vw !important;
}
.marXS_T  { 
	margin-top: 20px !important;
	margin-top: 1.333vw !important;
}
.marXXS_T {
	margin-top: 10px !important;
	margin-top: 0.667vw !important;
}
/* ----- margin Bottom ----- */
.marXXL_B {
	margin-bottom: 100px !important;
	margin-bottom: 6.667vw !important;
}
.marXL_B  {
	margin-bottom: 80px !important;
	margin-bottom: 5.333vw !important;
}
.marL_B   {
	margin-bottom: 60px !important;
	margin-bottom: 4vw !important;
}
.marM_B   {
	margin-bottom: 40px !important;
	margin-bottom: 2.667vw !important;
}
.marS_B   {
	margin-bottom: 30px !important;
	margin-bottom: 2vw !important;
}
.marXS_B  { 
	margin-bottom: 20px !important;
	margin-bottom: 1.333vw !important;
}
.marXXS_B {
	margin-bottom: 10px !important;
	margin-bottom: 0.667vw !important;
}
/* ----- padding Top ----- */
.padXXL_T {
	padding-top: 100px !important;
	padding-top: 6.667vw !important;
}
.padXL_T  {
	padding-top: 80px !important;
	padding-top: 5.333vw !important;
}
.padL_T   {
	padding-top: 60px !important;
	padding-top: 4vw !important;
}
.padM_T   {
	padding-top: 40px !important;
	padding-top: 2.667vw !important;
}
.padS_T   {
	padding-top: 30px !important;
	padding-top: 2vw !important;
}
.padXS_T  { 
	padding-top: 20px !important;
	padding-top: 1.333vw !important;
}
.padXXS_T {
	padding-top: 10px !important;
	padding-top: 0.667vw !important;
}
/* ----- padding Bottom ----- */
.padXXL_B {
	padding-bottom: 100px !important;
	padding-bottom: 6.667vw !important;
}
.padXL_B  {
	padding-bottom: 80px !important;
	padding-bottom: 5.333vw !important;
}
.padL_B   {
	padding-bottom: 60px !important;
	padding-bottom: 4vw !important;
}
.padM_B   {
	padding-bottom: 40px !important;
	padding-bottom: 2.667vw !important;
}
.padS_B   {
	padding-bottom: 30px !important;
	padding-bottom: 2vw !important;
}
.padXS_B  { 
	padding-bottom: 20px !important;
	padding-bottom: 1.333vw !important;
}
.padXXS_B {
	padding-bottom: 10px !important;
	padding-bottom: 0.667vw !important;
}


/* ===== 画像 ===== */
img { width:100%; height:auto; }


/* ===== Header menu ===== */
.page_link {
	margin-top: -10vw;
	padding-top: 10vw;
}

header {
	width: 100%;
	height: 8vw;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	top: 0;
	padding: 20px 40px;
	padding-left:  2.667vw;
	padding-right: 2.667vw;
	background-color: rgba(255,255,255,0);
	z-index: 1000;
	transition: height .3s,
				padding-top .3s,
				padding-bottom .3s,
				background-color .3s;
}
#header,
.header_wrap {
	transition: all .3s;
}

.header_logo {
	width: fit-content;
}
.header_logo,
.header_logo > a img,
.header_logo svg {
	max-height: 5.5vw;
	transition: max-height .3s;
}

.header_logo > a {
	width: fit-content;
	height: auto;
	display: block;
}
.header_logo > a img,
.header_logo svg {
	height: 100%;
	object-fit: contain;
	object-position: left;
}
.header_logo svg {
	width: 100%;
}
.header_logo .st0 {
	fill: #fff;
	transition: fill .3s;
}

#g-nav ul {
	display: flex;
	flex-wrap: nowrap;
}
#g-nav li:not(:first-of-type) {
	margin-left: 2em;
}
#g-nav li a {
	color: #fff;
	transition: color .3s;
}

/* ----- header scrolled ----- */
header.scrolled {
	height: 6vw;
	background-color: rgba(255,255,255,1);
	padding-top:    20px;
	padding-bottom: 20px;
}
header.scrolled .header_logo,
header.scrolled .header_logo > a img,
header.scrolled .header_logo svg {
	max-height: 4vw;
}
header.scrolled .header_logo .st0 {
	fill: #311303;
}
header.scrolled #g-nav li a {
	color: #311303;
}


/* ===== footer ===== */
footer {
	background-color: #967963;
}
.footer_top {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
/* ロゴ */
.footer_logo {
	width: 170px;
	width: 11.333vw;
	display: inline-block;
}
.footer_logo img {
	object-fit: contain;
	object-position: top center;
}

/* 右 */
.ft_flex {
	display: flex;
	flex-wrap: nowrap;
	align-items:stretch;
	justify-content: flex-end;
}
.footer_nav {
	margin-right: 6vw;
}
.footer_nav li + li {
	margin-top: .5em;
}
.footer_nav a {
	line-height: 1.25;
	font-weight: bold;
	font-family: century-gothic, 'Noto Sans JP', sans-serif;
	color: #fff;
}
.footer_info dt,
.footer_info dd {
	line-height: 1.25;
	color: #fff;
}
.footer_info dd p {
	color: #fff;
}

.footer_info dt {
	font-weight: bold;
	font-family: noto-sans-cjk-jp, 'Noto Sans JP', sans-serif;
	margin-bottom: .75em;
}
.footer_info dd,
.footer_info dd a,
.footer_info dd p {
	font-size: 14px;
	font-size: 0.933vw;
	font-family: noto-sans-cjk-jp, 'Noto Sans JP', sans-serif;
	font-weight: 400;
	line-height: 1.5;
}
.footer_info dd {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}
.footer_info dd + dd {
	margin-top: .75em;
}
.footer_tel:before {
	content: "";
	width:  1.1em;
	height: 1.1em;
	display: block;
	background-image: url(../../img/common/white_tel.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: .25em;
}
.footer_mail:before {
	content: "";
	width:  1em;
	height: 1em;
	display: block;
	background-image: url(../../img/common/white_mail.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: .35em;
	transform: translateY(.1em);
}
.header_sns,
.footer_sns {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
}
.header_sns li {
	width: fit-content !important;
	margin: auto !important;
}
.header_sns a,
.footer_sns a {
	font-size: 24px !important;
	font-size: 1.6vw !important;
	width:  1em;
	height: 1em;
	min-width:  1em;
	min-height: 1em;
	line-height: 1;
	display: block;
	object-fit: contain;
	object-position: center;
}
.header_sns a {
	width:      .85em !important;
	height:     .85em !important;
	min-width:  .85em !important;
	min-height: .85em !important;
}
/* バナー */
.footer_banner {
	width: 80%;
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: center;
	margin: auto;
}
.footer_banner > li {
	width: calc(100%/4);
	padding: 0 1%;
}

footer a {
	transition: opacity .5s;
	opacity: 1;
}
footer a:hover {
	opacity: .8;
}

.copy_wrap:before {
	content: "";
	width: 100%;
	height: 1px;
	display: block;
	margin: auto;
	background-color: rgba(255,255,255,0.5);
}
.copyright,
.copyright a {
	font-size: 12px;
	font-size: .8vw;
	text-align: right;
	padding-right: 0;
	color: #fff;
}
.copyright a {
	text-decoration: underline;
}


/* ===== Fixed menu ===== */
#fixed_menu {
	width: 27vw;
	display: block !important;
	position: fixed;
	right:  0;
	bottom: 0;
	background-color: rgba(255,255,255,.9);
	flex-direction: column;
	padding: 2.2vw 1.6vw;
	z-index: 800;
	opacity: 1;
	visibility: visible;
	transition: opacity .3s, visibility .3s;
	/* max */
	/* max-width: 243px; */
	/* padding: min(2.2vw,20px) min(1.6vw,15px); */
	transform: scale(.7);
	transform-origin: right bottom;
}

#fixed_menu h3 {
	width: 100%;
	margin-bottom: .85em;
}
#fixed_menu .contact_flex {
	width: 95%;
	margin-left:  auto;
	margin-right: auto;
	flex-direction: column;
}
#fixed_menu .contact_flex > *  {
	width: 100%;
	height: 6.667vw;
}
#fixed_menu .contact_tel {
	margin-bottom: 1.3vw;
}
footer.near_footer #fixed_menu {
	opacity: 0;
	visibility: hidden;
}
#fixed_menu h3,
#fixed_menu h3 strong {
	font-size: 18px;
	font-size: 1.5vw;
}







@media screen and (max-width:768px) {
	/* ===== Wrap ===== */
	body.overflowY {
		overflow-y: hidden;
	}

	.bg_wrap,
	.wrap {
		width: 100%;
		margin: auto;
		padding: 0 30px;
		padding-left:  8vw;
		padding-right: 8vw;
	}
	.bg_wrap > .wrap {
		padding-left:  0;
		padding-right: 0;
	}


	/* ===== text ===== */
	ul,
	li,
	dl,
	dd,
	dt,
	a,
	p {
		font-size: 14px;
		font-size: 3.733vw; /* 14px */
		font-size: 3.467vw; /* 13px */
	}

	.fb_normal-SP { font-weight:normal !important; }
	.fb_500-SP    { font-weight:500 !important;    }
	.fb_bold-SP   { font-weight:bold !important;   }

	.align_left-SP    { text-align:left !important;    }
	.align_right-SP   { text-align:right !important;   }
	.align_center-SP  { text-align:center !important;  }
	.align_justify-SP { text-align:justify !important; }


	/* ===== 余白 ===== */
	/* margin */
	.marXXL_T {
		margin-top: 50px !important;
		margin-top: 13.333vw !important;
	}
	.marXL_T  {
		margin-top: 40px !important;
		margin-top: 10.667vw !important;
	}
	.marL_T   {
		margin-top: 30px !important;
		margin-top: 8vw !important;
	}
	.marM_T   {
		margin-top: 20px !important;
		margin-top: 5.333vw !important;
	}
	.marS_T   {
		margin-top: 10px !important;
		margin-top: 2.667vw !important;
	}
	.marXS_T  {
		margin-top: 5px !important;
		margin-top: 1.333vw !important;
	}
	.marXXL_B {
		margin-bottom: 50px !important;
		margin-bottom: 13.333vw !important;
	}
	.marXL_B  {
		margin-bottom: 40px !important;
		margin-bottom: 10.667vw !important;
	}
	.marL_B   {
		margin-bottom: 30px !important;
		margin-bottom: 8vw !important;
	}
	.marM_B   {
		margin-bottom: 20px !important;
		margin-bottom: 5.333vw !important;
	}
	.marS_B   {
		margin-bottom: 10px !important;
		margin-bottom: 2.667vw !important;
	}
	.marXS_B  {
		margin-bottom: 5px !important;
		margin-bottom: 1.333vw !important;
	}

	/* margin SP */
	.marXXL_T-SP {
		margin-top: 50px !important;
		margin-top: 13.333vw !important;
	}
	.marXL_T-SP  {
		margin-top: 40px !important;
		margin-top: 10.667vw !important;
	}
	.marL_T-SP   {
		margin-top: 30px !important;
		margin-top: 8vw !important;
	}
	.marM_T-SP   {
		margin-top: 20px !important;
		margin-top: 5.333vw !important;
	}
	.marS_T-SP   {
		margin-top: 10px !important;
		margin-top: 2.667vw !important;
	}
	.marXS_T-SP  {
		margin-top: 5px !important;
		margin-top: 1.333vw !important;
	}
	.mar0_T-SP   {
		margin-top: 0px !important;
	}
	.marXXL_B-SP {
		margin-bottom: 50px !important;
		margin-bottom: 13.333vw !important;
	}
	.marXL_B-SP  {
		margin-bottom: 40px !important;
		margin-bottom: 10.667vw !important;
	}
	.marL_B-SP   {
		margin-bottom: 30px !important;
		margin-bottom: 8vw !important;
	}
	.marM_B-SP   {
		margin-bottom: 20px !important;
		margin-bottom: 5.333vw !important;
	}
	.marS_B-SP   {
		margin-bottom: 10px !important;
		margin-bottom: 2.667vw !important;
	}
	.marXS_B-SP  {
		margin-bottom: 5px !important;
		margin-bottom: 1.333vw !important;
	}
	.mar0_B-SP   {
		margin-bottom: 0px !important;
	}

	/* padding */
	.padXXL_T {
		padding-top: 50px !important;
		padding-top: 13.333vw !important;
	}
	.padXL_T  {
		padding-top: 40px !important;
		padding-top: 10.667vw !important;
	}
	.padL_T   {
		padding-top: 30px !important;
		padding-top: 8vw !important;
	}
	.padM_T   {
		padding-top: 20px !important;
		padding-top: 5.333vw !important;
	}
	.padS_T   {
		padding-top: 10px !important;
		padding-top: 2.667vw !important;
	}
	.padXS_T  {
		padding-top: 5px !important;
		padding-top: 1.333vw !important;
	}
	.padXXL_B {
		padding-bottom: 50px !important;
		padding-bottom: 13.333vw !important;
	}
	.padXL_B  {
		padding-bottom: 40px !important;
		padding-bottom: 10.667vw !important;
	}
	.padL_B   {
		padding-bottom: 30px !important;
		padding-bottom: 8vw !important;
	}
	.padM_B   {
		padding-bottom: 20px !important;
		padding-bottom: 5.333vw !important;
	}
	.padS_B   {
		padding-bottom: 10px !important;
		padding-bottom: 2.667vw !important;
	}
	.padXS_B  {
		padding-bottom: 5px !important;
		padding-bottom: 1.333vw !important;
	}

	/* padding（SP） */
	.padXXL_T-SP {
		padding-top: 50px !important;
		padding-top: 13.333vw !important;
	}
	.padXL_T-SP  {
		padding-top: 40px !important;
		padding-top: 10.667vw !important;
	}
	.padL_T-SP   {
		padding-top: 30px !important;
		padding-top: 8vw !important;
	}
	.padM_T-SP   {
		padding-top: 20px !important;
		padding-top: 5.333vw !important;
	}
	.padS_T-SP   {
		padding-top: 10px !important;
		padding-top: 2.667vw !important;
	}
	.padXS_T-SP  {
		padding-top: 5px !important;
		padding-top: 1.333vw !important;
	}
	.pad0_T-SP   {
		padding-top: 0px !important;
	}
	.padXXL_B-SP {
		padding-bottom: 50px !important;
		padding-bottom: 13.333vw !important;
	}
	.padXL_B-SP  {
		padding-bottom: 40px !important;
		padding-bottom: 10.667vw !important;
	}
	.padL_B-SP   {
		padding-bottom: 30px !important;
		padding-bottom: 8vw !important;
	}
	.padM_B-SP   {
		padding-bottom: 20px !important;
		padding-bottom: 5.333vw !important;
	}
	.padS_B-SP   {
		padding-bottom: 10px !important;
		padding-bottom: 2.667vw !important;
	}
	.padXS_B-SP  {
		padding-bottom: 5px !important;
		padding-bottom: 1.333vw !important;
	}
	.pad0_B-SP {
		padding-bottom: 0 !important;
	}


	/* ===== btn ( div.btn > a ) ===== */
	.btn { font-size:14px; }


	/* ===== 表示・非表示 ===== */
	.pc_blk { display:none  !important; }
	.sp_blk { display:block !important; }

	.flex_box.pc_blk { display:none !important; }
	.flex_box.sp_blk { display:flex !important; }

	.flex_box { flex-wrap:wrap; }


	/* ===== Header menu ===== */
	.page_link {
		margin-top: calc(min(18vw,120px)*-1);
		padding-top: min(18vw,120px);
	}
	main {
		margin-top: min(16vw,100px);
	}

	header {
		width:  100%;
		height:  16vw !important;
		max-height: 100px;
		padding: 0 5.333vw;
		justify-content: center;
		background-color: #fff;
	}
	.header_logo,
	.header_logo > a img,
	.header_logo svg {
		height: 11vw !important;
		max-height: 60px !important;
	}
	.header_logo svg {
		display: block;
	}
	.header_logo .st0 {
		fill: #311303 !important;
	}

	.openbtn1 {
		width:  16vw;
		height: 16vw;
		max-width:  100px;
		max-height: 100px;
		display: flex;
		align-items: center;
		justify-content: center;
		position: fixed;
		text-align: center;
		top:   0;
		right: 0;
		cursor: pointer;
		z-index: 9999;
	}
	/* ハンバーガーボタン ×に変化 */  
	.openbtn1 span {
		width: 50%;
		display: inline-block;
		position: absolute;
		height: 1px;
		background-color: #311303;
		transition: transform .4s, background-color .4s, margin .4s;
	}
	.openbtn1.active span {
		background-color: #311303;
	}
	.openbtn1 span:nth-of-type(1) {
		margin-bottom: 10px;
		margin-bottom: 5vw;
	}
	.openbtn1 span:nth-of-type(2) {
		opacity: 1;
	}
	.openbtn1 span:nth-of-type(3) {
		margin-top: 10px;
		margin-top: 5vw;
	}
	.openbtn1.active span:nth-of-type(1) {
		width: 50%;
		transform: rotate(-40deg);
		margin-bottom: 0;
	}
	.openbtn1.active span:nth-of-type(2) {
		opacity: 0;
	}
	.openbtn1.active span:nth-of-type(3) {
		width: 50%;
		transform: rotate(40deg);
		margin-top: 0;
	}
	/* ----- header scroll ----- */
	header.scrolled .openbtn1 span {
		background-color: #311303;
	}
	.openbtn1.active span {
		background-color: #311303;
	}




	/* ハンバーガーメニューの中身 */
	#header.active,
	.overflowY .header_wrap {
		background-color: #fff;
	}
	.header_logo.active .st0 {
		fill: #311303 !important;
	} 
	
	#g-nav {
		width:  100%;
		height: calc(100vh - 60px);
		position: fixed;
		top:  0;
		left: 0;
		opacity: 0;
		pointer-events: none;
		background: #000;
		background: #fff;
		transition: opacity .3s;
		z-index: -2;
	}
	#g-nav.panelactive {
		pointer-events: auto;
		opacity: 1;
		z-index: 990;
		overflow-y: scroll;
		transform: translateY(min(15.9vw,99px));
		transition: opacity .3s;
	}
	#g-nav-list {
		max-width: 600px;
		min-width: fit-content;
		margin-left:  auto;
		margin-right: auto;
		padding: min(8vw,40px) 20px 20px;
	}
	#g-nav > * {
		opacity: 0;
	}
	#g-nav.panelactive > * {
		opacity: 1;
	}
	#g-nav ul {
		display: inline;
	}
	#g-nav li a {
		width: 100%;
		font-size: min(3.2vw,18px);
		text-align: center;
		display: inline-block;
		color: #311303 !important;
	}
	#g-nav-list > ul li a:before,
	#g-nav-list > ul li:last-of-type a:after {
		content: "";
		width: 70%;
		height: .5px;
		display: block;
		background-color: #554338;
		margin: auto;
	}
	#g-nav-list > ul li a {
		padding-bottom: 1.5em;
	}
	#g-nav-list > ul li a:before {
		margin-bottom: 1.5em;
	}
	#g-nav-list > ul li:last-of-type a:after {
		margin-top: 1.5em;
	}
	#g-nav-list > ul li:last-of-type a {
		padding-bottom: 0;
	}



	#g-nav li:not(:first-of-type) {
		margin-left: 0;
	}
	/* 中身 */
	.header_tel {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		margin-top: min(10.333vw,45px);
	}
	.header_sns {
		margin-top: min(9.333vw,45px);
	}


	.header_tel dt {
        font-size: 24px;
        font-size: 6vw;
		font-size: min(6vw,35px);
        line-height: 1;
		font-weight: bold;
		letter-spacing: .05em;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-start;
		color: #584237;
        margin-bottom: .35em;
	}
	.header_tel dt:before {
		content: "";
		width: 1em;
		height: .85em;
		display: block;
		background-image: url(../../img/index/brown_tel.svg);
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		margin-right: .05em;
	}
	.header_tel dd {
        font-size: 10px;
        font-size: 2.7vw;
		font-size: min(2.7vw,16px);
		font-weight: bold;
		line-height: 1.2;
		margin-left: .5em;
		color: #584237;
	}
	.header_tel dd span {
		font-size: 10px;
		font-size: min(2.2vw,14px);
		font-weight: bold;
		line-height: 1;
		display: inline-block;
		margin-right: .5em;
		padding: .25em;
		color: #fff;
		background-color: #584237;
		transform: translateY(-.1em);
	}
	/* header インスタ */
	.header_sns a {
		font-size: 25px !important;
		line-height: 1;
	}
	/* header プライバシーリンク */
	.header_privacy {
		font-size: 10px;
		display: block;
		text-align: center;
		text-decoration: underline;
		margin: 2em auto 0;
	}
	.header_copy {
		font-size: 10px;
		display: block;
		text-align: center;
		color: #888582ff;
		margin: .75em auto 0;
	}




	/* ===== footer ===== */
	/* --- footer top --- */
	.footer_top {
		width: 100%;
		flex-wrap: wrap;
		flex-direction: column;
		padding-left:  8vw;
		padding-right: 8vw;
	}
	/* ロゴ */
	.footer_logo {
		width: 40%;
		margin-left:  auto;
		margin-right: auto;
	}
	/* footer top flex */
	.ft_flex {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
	}
	.footer_nav {
		width: 80%;
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: flex-start;
		margin-left:  auto;
		margin-right: auto;
	}
	.footer_nav li {
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.footer_nav li a {
		font-size: 16px;
		font-size: 4.267vw;
		margin-bottom: .35em;
	}
	.footer_nav li:before {
		content: "";
		width:  1px;
		height: 1em;
		display: block;
		margin: 0 .75em;
		transform: translateY(.25em);
		background-color: #fff;
	}
	.footer_nav li:first-of-type:before,
	.footer_nav li:nth-of-type(4):before {
		content: none;
	}
	.footer_nav li + li {
		margin-top: 0;
	}
	.footer_info dt {
		font-size: 16px;
		font-size: 4.267vw;
	}
	.footer_info dd,
	.footer_info dd a,
	.footer_info dd p {
		font-size: 14px;
		font-size: 3.733vw;	
	}
	/* --- footer bottom --- */
	.footer_bottom {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column-reverse;
		align-items: center;
		justify-content: center;
	}
	/* footer sns */
	.header_sns,
	.footer_sns {
		width: 100%;
		justify-content: center;
	}
	.footer_sns a {
		font-size: 25px !important;
		font-size: 6.667vw !important;
		line-height: 1;
	}
	.header_sns {
		display: flex !important;
	}
	.header_sns a {
		padding: 0 !important;
	}
	/* footer banner */
	.footer_banner {
		width: 80%;
		flex-direction: column;
	}
	.footer_banner li {
		width: 100%;
	}
	/* copyright */
	.copyright,
	.copyright a {
		font-size: 12px;
		font-size: 3.2vw;
		text-align: center;
		padding-right: 0;
	}
	.copyright a {
		width: 100%;
		display: inline-block;
		margin-top: .25em;
	}


	/* ===== Fixed menu ===== */
	.footer_padding {
		width: 100%;
		height: 29vw;
		display: block;
		background-color: #fff;
	}
	#fixed_menu {
		width: 100%;
		height: 29vw;
		max-width: unset;
		display: block !important;
		background-color: rgba(255,255,255,.9);
		padding: 4vw 5.333vw 3vw;
		z-index: 800;
		opacity: 1;
		visibility: visible;
		transition: opacity .3s, visibility .3s;
		/* max */
		transform: scale(1);
	}
	#fixed_menu h3 {
		width: 100%;
		font-size: 3.733vw;
		margin-bottom: .5em;
	}
	#fixed_menu h3 small {
		display: none !important;
	}
	#fixed_menu h3 strong {
		font-size: 3.733vw;
	}
	#fixed_menu .contact_flex {
		width: 100%;
		margin: 0;
		flex-direction: row;
	}
	#fixed_menu .contact_flex > *  {
		width: 49%;
		height: auto;
		max-height: unset;
	}
	#fixed_menu .contact_flex > a {
		font-size: 2.6vw;
		padding: 1em;
	}
	#fixed_menu .contact_tel {
		margin-bottom: 0;
	}
	#fixed_menu .contact_tel:before,
	#fixed_menu .contact_form:before {
		font-size: 4vw;
	}
	#fixed_menu .contact_tel dt {
		font-size: 2.6vw;
	}
	#fixed_menu .contact_tel dd {
		font-size: 4.5vw;
	}



	footer.near_footer #fixed_menu {
		opacity: 1 !important;
		visibility: visible !important;
	}
}





