@charset "utf-8";

/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}

html {
	font-size: 62.5%;
}

body,
table,
input,
textarea,
select,
option {
	font-family: 'Shippori Mincho', serif;
}

article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
	display: block;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}

a,
a:link {
	color: #000;
	text-decoration: none;
}

a:visited {
	color: #000;
}

a:hover {
	color: #000;
}

a:active {
	color: #000;
}

*, *::before, *::after { box-sizing:border-box; }


/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1180px;
	color: #000;
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 700;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
	width: 100%;
}

#container {
	text-align: left;
	opacity: 0.1;
	animation: fadeIn 1.5s ease-out forwards;
}

@keyframes fadeIn {
	from {
		opacity: 0.1;
	}

	to {
		opacity: 1;
	}
}

#main {
	display: block;
}

.mainBox {
	width: 1100px;
	margin: 0 auto;
	flex-direction: row-reverse;
}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}

	#gHeader .menu,
	.menuBox {
		display: none !important;
	}
}

@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.5rem;
		width: 100%;
	}

	body.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}

	#container {
		padding-top: 17.18vw;
		overflow-x: hidden;
	}

	.mainBox {
		width: auto;
		display: block !important;
	}

	a:hover,
	a:hover img {
		opacity: 1 !important;
	}

	.pc {
		display: none !important;
	}

	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	padding: 49px 0 26px;
	background-color: #F5EFE8;
}

#gHeader .hBox {
	width: 1100px;
	margin: 0 auto 49px;
}

#gHeader .hBox .logo {
	width: 226px;
}

#gHeader .hBox .linkUl {
	margin-top: 14px;
	width: calc(100% - 420px);
	justify-content: flex-end;
}

#gHeader .hBox .linkUl li {
	text-align: center;
	position: relative;
}

#gHeader .hBox .linkUl li:first-child:before {
	background: none;
}

#gHeader .hBox .linkUl li::before {
	width: 1px;
	height: 19px;
	position: absolute;
	left: 0;
	top: 2px;
	border-radius: 20px;
	background-color: #957575;
	content: "";
}

#gHeader .hBox .linkUl li img {
	margin-right: 14px;
	display: inline-block;
	vertical-align: middle;
}

#gHeader .hBox .linkUl li a {
	padding: 0 37px;
	display: inline-block;
	color: #957575;
	font-size: min(3.73vw, 1.4rem);
}

#gHeader .hBox .linkUl li:last-child a {
	padding-right: 0;
}

#gHeader .hBox .linkUl li:nth-of-type(2) img {
	vertical-align:middle;
}

#gHeader .hBox .linkUl li:first-of-type img {
	vertical-align:middle;
}

#gHeader .hBox .linkUl li:nth-of-type(3) img {
	vertical-align: middle;
	margin-right: 12px;
}

#gHeader .hBox .linkUl li a:hover {
	opacity: 0.7;
}

@media all and (max-width: 896px) {
#gHeader { position:fixed; left:0; top:0; width:100%; height:17.18vw; background:#F5EFE8; box-sizing:border-box; padding:0; z-index:99; }
#gHeader .hBox { width:auto; margin:0; }
#gHeader .hBox .logo { display:flex; justify-content:center; align-items:center; width:100%; height:17.18vw; }
#gHeader .hBox .logo img { width:32.94vw; height:auto; }

	#gHeader .hBox .linkUl {
		display: none;
	}

	#gHeader .menu {
		position: absolute;
		left: 16px;
		top: 16px;
		width: 27px;
	}

	.menuBox {
		display: none;
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		overflow-y: auto;
		box-sizing: border-box;
		background: rgba(35, 35, 35, 0.2);
		z-index: 101;
	}

	.menuInfo {
		width: 323px;
		padding: 18px 0 50px;
		min-height: 100%;
		box-sizing: border-box;
		position: relative;
		background-color: #fff;
		width: 94vw;
	}

	.menuBox .close {
		position: absolute;
		left: 16px;
		top: 16px;
		width: 28px;
	}

	.menuBox .logo {
		width: 184px;
		margin: 0 auto 20px;
	}

	.menuBox .menuUl li {
		width: 50%;
		border-bottom: 1px solid #fff;
		border-right: 1px solid #fff;
		box-sizing: border-box;
	}

	.menuBox .menuUl li:nth-child(2n) {
		border-right: none;
	}

	.menuBox .menuUl a {
		display: block;
		text-align: center;
		color: #fff;
		font-weight: 500;
		font-size: 1.4rem;
		letter-spacing: 0.05em;
		/*background: url("../img/menu_icon01.webp") no-repeat bottom 6px center, url("../img/menu_bg01.webp") no-repeat left top;*/
		background: url("../img/menu_icon01.webp") no-repeat bottom 6px center #BF967D;
		background-size: 10px auto, 100% 100%;
	}

	.menuBox .menuUl li:nth-child(2) a {
		color: #fff;
		letter-spacing: -0.05em;
		/*		background: url("../img/menu_icon01.webp") no-repeat bottom 6px center, url("../img/menu_bg02.webp") no-repeat left top;*/
		background: url("../img/menu_icon01.webp") no-repeat bottom 6px center #C9AE98;
		background-size: 10px auto, 100% 100%;
	}

	.menuBox .menuUl li:nth-child(3) a {
		/*		background: url("../img/menu_icon01.webp") no-repeat bottom 6px center, url("../img/menu_bg03.webp") no-repeat left top;*/
		background: url("../img/menu_icon01.webp") no-repeat bottom 6px center #C8A26A;
		background-size: 10px auto, 100% 100%;
	}

	.menuBox .menuUl li:nth-child(4) a {
		/*		background: url("../img/menu_icon01.webp") no-repeat bottom 6px center, url("../img/menu_bg04.webp") no-repeat left top;*/
		background: url("../img/menu_icon01.webp") no-repeat bottom 6px center #D3968F;
		background-size: 10px auto, 100% 100%;
	}

	.menuBox .menuUl span {
		padding: 26px 0 24px;
		display: block;
		background: url("../img/menu_icon02.webp") no-repeat center top 8px;
		background-size: 18px auto;
	}

	.menuBox .menuUl li:nth-child(2) span {
		background: url("../img/menu_icon12.webp") no-repeat center top 8px;
		background-size: 18px auto;
	}

	.menuBox .menuUl li:nth-child(3) span {
		background: url("../img/menu_icon04.webp") no-repeat center top 8px;
		background-size: 19px auto;
	}

	.menuBox .menuUl li:nth-child(4) span {
		background: url("../img/menu_icon05.webp") no-repeat center top 6px;
		background-size: 23px auto;
	}

	.menuBox .menuLink {
		padding: 19px 0;
		background-color: #F5F5F5;
	}

	.menuBox .menuLink li:first-child {
		margin-bottom: 11px;
	}

	.menuBox .menuLink a {
		display: block;
		padding: 34px 0 13px;
		text-align: center;
		font-weight: 500;
		font-size: 1.4rem;
		letter-spacing: 0.05em;
		background: url("../img/menu_icon06.webp") no-repeat top 10px center, url("../img/menu_icon09new.webp") no-repeat right 20px center #eacdc9;
		background-size: 21px auto, 14px auto;
		border-top: 1px solid #fff;
		border-bottom: 1px solid #fff;
	}

	.menuBox .menuLink li:last-child a {
		background: url("../img/menu_icon07.webp") no-repeat top 10px center, url("../img/menu_icon09new.webp") no-repeat right 20px center #C18C9F;
		background-size: 22px auto, 14px auto;
	}

	.menuBox .menuList>li>span {
		padding: 14px 16px;
		display: block;
		font-size: 1.7rem;
		letter-spacing: 0.05em;
		background: #F5F5F5 url("../img/menu_icon11.webp") no-repeat center right 16px;
		background-size: 14px auto;
		border-top: 1px solid #957575;
		color: #6B6A6E;
	}

	.menuBox .menuList>li>span.icon {
		padding-left: 40px;
		position: relative;
	}

	.menuBox .menuList>li>span.icon:before {
		margin-top: -7px;
		position: absolute;
		left: 16px;
		top: 50%;
		background: url("../img/menu_icon10.webp") no-repeat;
		background-size: 17px auto;
		width: 17px;
		height: 17px;
		content: "";
	}

	.menuBox .menuList>li>span.on {
		background-image: url("../img/menu_icon11_on.webp");
	}

	.menuBox .menuList .menuNavi01 {
		display: block;
		border-top: 1px solid #816F1B;
	}

	.menuBox .menuNavi01 a {
		padding: 13px 10px 13px 29px;
		display: block;
		font-size: 1.5rem;
		letter-spacing: -0.05em;
		font-weight: 600;
		border-bottom: 1px dotted #DEDEDE;
		background: url("../img/icon08.webp") no-repeat left 15px center;
		background-size: 8px auto;
	}

	.menuBox .menuList .menuNavi02 {
		display: none;
		border-top: 1px solid #957575;
	}

	.menuBox .menuList .menuNavi02>li {
		border-bottom: 1px solid #E1E1E1;
	}

	.menuBox .menuList .menuNavi02 span {
		padding: 19px 16px;
		display: block;
		color: #957575;
		position: relative;
		letter-spacing: 0.02em;
		background: url("../img/icon09.webp") no-repeat right 15px center;
		background-size: 16px auto;
	}

	.menuBox .menuList .menuNavi02 span.on {
		background-image: url("../img/icon09_on.webp");
	}

	.menuBox .menuList .menuNavi02 span::after {
		width: 1px;
		height: 32px;
		margin-top: -16px;
		position: absolute;
		right: 45px;
		top: 50%;
		background: #e9e9e9;
		content: "";
	}

	.menuBox .menuList .subNavi {
		display: none;
		margin: -9px 20px 15px;
	}

	.menuBox .menuList .subNavi a {
		padding: 9px 2px 10px 30px;
		display: block;
		font-size: 1.5rem;
		/* font-weight: 500; */
		font-weight: normal;
		letter-spacing: 0.025em;
		border-bottom: 1px dotted #e9e9e9;
		background: url("../img/icon08.webp") no-repeat left 12px center;
		background-size: 8px auto;
		font-family: 'Zen Kaku Gothic New', sans-serif;
	}
}

/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {
	width: 1100px;
	margin: 0 auto;
}

#gNavi li {
	width: 150px;
	position: relative;
	text-align: center;
}

#gNavi li::before {
	width: 1px;
	height: 12px;
	position: absolute;
	left: 0;
	top: 7px;
	background-color: #957575;
	content: "";
}

#gNavi li:first-child:before {
	display: none;
}

#gNavi li a {
	padding: 0 5px;
	display: block;
	letter-spacing: 0.02em;
	color: #957575;
	font-weight: 400;
}

#gNavi li:first-child a {
	padding-left: 0;
	text-align: left;
}

#gNavi li:last-child a {
	padding-right: 0;
	text-align: right;
}

#gNavi .navi01 {
	width: 80px;
}

#gNavi .navi02 {
	width: 160px;
}

#gNavi .navi03 {
	width: 200px;
}

#gNavi .navi04 {
	width: 190px;
}

#gNavi .navi05 {
	width: 160px;
}

#gNavi .navi06 {
	width: 180px;
}

#gNavi .navi07 {
	width: 100px;
}

#gNavi li .ico,
#gNavi li .kore {
	position: relative;
	display: inline-block;
}

#gNavi li .ico::before,
#gNavi li .kore::before {
	display: none;
	width: 8px;
	height: 8px;
	position: absolute;
	margin-left: -4px;
	left: 50%;
	bottom: -14px;
	background: url("../img/icon04.webp") no-repeat;
	background-size: 8px;
	content: "";
}

#gNavi .on a .ico::before,
#gNavi li a:hover .ico::before,
#gNavi li .kore::before
 { display: block; display:block !important; }

@media all and (max-width: 896px) {
#gNavi { display: none; }
}




#mega1,
#mega2 {
	position: absolute;
	width: 100%;
	min-height:185px;
	top: 195px;
	left: 0;
	z-index: 100;
	background:rgba(233,226,226,0.9);
	padding: 30px 0;
	box-sizing: border-box;
	display: none;
}

#mega1 ul,
#mega2 ul {
	overflow: hidden;
	width: 1000px;
	margin: 0 auto;
}

#mega1 li,
#mega2 li {
	float: left;
	width: 250px;
}

#mega1 ul a,
#mega2 ul a {
	display: block;
	background-image: url("../../img/home/arrow4.svg");
	background-repeat: no-repeat;
	background-position: left center;
	padding: 10px 0 10px 20px;
	font-size: 1.4rem;
	font-weight: 400;
}

#mega1 ul a:hover,
#mega2 ul a:hover {
	color: #957575;
}


@media screen and (min-width:897px){

}




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

#header-nav {}
#btn-main-navi { position:absolute; position:fixed; top:0; left:0; width:17.18vw; height:17.18vw; background:#F4EFE9; text-align:center; margin:0 auto; z-index:999999; }
#btn-main-navi span:nth-child(1) { position:absolute; top:4.35vw; left:5.26vw; width:6.66vw; height:0.26vw; background:#92747D; }
#btn-main-navi span:nth-child(2) { position:absolute; top:6.41vw; left:5.26vw; width:6.66vw; height:0.26vw; background:#92747D; }
#btn-main-navi span:nth-child(3) { position:absolute; top:8.35vw; left:5.26vw; width:6.66vw; height:0.26vw; background:#92747D; }
#btn-main-navi strong { position:absolute; top:10.25vw; left:50%; width:12vw; margin:0 0 0 -6.15vw; font-size:1.79vw; color:#92747D; font-weight:500; white-space:nowrap; }
#btn-main-navi strong em { font-style:normal; }
#btn-main-navi strong em:last-child { display:none; }
.btn-hn-on { background:#907675 !important; }
.btn-hn-on strong { color:#fff !important; transition:all 0.2s linear; }
.btn-hn-on strong em:first-child { display:none; transition:all 0.2s linear; }
.btn-hn-on strong em:last-child { display:block !important; transition:all 0.2s linear; }
.btn-hn-on span:nth-child(1) { top:6.15vw !important; left:4.61vw !important; width:7.69vw !important; background:#fff !important; transform:rotate(45deg); transition:all 0.2s linear; }
.btn-hn-on span:nth-child(2) { display:none; }
.btn-hn-on span:nth-child(3) { top:6.15vw !important; left:4.61vw !important; width:7.69vw !important; background:#fff !important; transform:rotate(-45deg); transition:all 0.2s linear; }



#header-nav-menu { opacity:0; position:fixed; top:0; left:0; width:100%; height:100vh; background:rgba(0,0,0,0); overflow-y:scroll; transition:all 0.4s linear; z-index:-1; }
#header-nav-menu.clicked { opacity:1; left:0; background:rgba(0,0,0,0.4); z-index:999995; transition:all 0.2s linear; }
#u46 { position:fixed; bottom:0; right:calc(-100% + 81.28vw); width:calc(100% - 81.28vw); height:100vh; z-index:999996; }
#u46.modal { right:0; }
#header-info { position:absolute; left:-100%; width:81.28vw; background:#F4EFE9; padding:17.18vw 0 0; position:relative; transition:all 0.4s linear; z-index:999997; }
#header-info.slide-lr { left:0; transition:all 0.2s linear; }



#header-btn-sns { display:flex; flex-flow:row wrap; justify-content:space-between; background:#E5DFD8; padding:5.13vw 4.1vw 4.1vw; }
#header-btn-sns li { width:35.89vw; margin:0 0 1.03vw; }
#header-btn-sns li a { display:flex; align-items:center; height:12.3vw; padding:0 4.1vw 0 12.8vw; font-size:3.33vw; font-weight:500; color:#fff; }
#header-btn-sns li:nth-child(1) a { background:url(/common/img/ico_header_menu_tel.svg) 4.1vw center/5.13vw auto no-repeat, url(/common/img/ico_header_arrows_w.webp) right 2.05vw center/0.72vw auto no-repeat, #4B3D3D; }
#header-btn-sns li:nth-child(2) a { background:url(/common/img/ico_header_menu_internet.svg) 5.13vw center/3.07vw auto no-repeat, url(/common/img/ico_header_arrows_w.webp) right 2.05vw center/0.72vw auto no-repeat, #4B3D3D; }
#header-btn-sns li:nth-child(3) a { background:url(/common/img/ico_header_menu_line.svg) 4.1vw center/5.64vw auto no-repeat, url(/common/img/ico_header_arrows_w.webp) right 2.05vw center/0.72vw auto no-repeat, #00B900; }
#header-btn-sns li:nth-child(4) a { background:url(/common/img/ico_header_menu_contact.svg) 4.1vw center/6.15vw auto no-repeat, url(/common/img/ico_header_arrows_w.webp) right 2.05vw center/0.72vw auto no-repeat, #8B787D; }

#header-bnr { width:73.07vw; margin:0 auto; padding:5.13vw 0; }
#header-bnr a { display:block; }
#header-bnr img { width:100%; height:auto; }

#header-search { padding:0 4.1vw 3.08vw; }
#header-search li { border:1px #8B787D solid; margin:0 0 2.05vw; }
#header-search li a { display:flex; align-items:center; height:12.3vw; padding:0 0 0 15.89vw; font-size:4.1vw; font-weight:400; }
#header-search li:nth-child(1) a { background:url(/common/img/ico_header_search.svg) 4.1vw center/6.15vw auto no-repeat, url(/common/img/ico_header_arrows_b.webp) right 2.05vw center/1.03vw auto no-repeat; }
#header-search li:nth-child(2) a { background:url(/common/img/ico_header_faq.svg) 4.1vw center/6.15vw auto no-repeat, url(/common/img/ico_header_arrows_b.webp) right 2.05vw center/1.03vw auto no-repeat; }
#header-search li:nth-child(3) a { background:url(/common/img/ico_header_price.svg) 4.1vw center/6.15vw auto no-repeat, url(/common/img/ico_header_arrows_b.webp) right 2.05vw center/1.03vw auto no-repeat; }



#header-nav-ul {}
#header-nav-ul > li { position:relative; }
.header-nav-span { display:flex; align-items:center; height:12.3vw; background:#4B3D3D url(/common/img/ico_header_nav_span.webp) right 4.1vw center/3.08vw auto no-repeat; padding:0 4.1vw; font-size:4.1vw; color:#fff; font-weight:500; }
.sub-nav-ul {padding-bottom: 48px; background-color: #e5dfd8;}
.sub-nav-li { background:#E5DFD8; border-bottom:0.5px #B7B1A9 solid; }
.menuNavi01 > li { background:#f4efe9 url(/common/img/ico_header_arrows_b.webp) 4.1vw 5.1vw/1.03vw auto no-repeat; }
.sub-nav-li > a { display:flex; align-items:center; height:12.3vw; padding:0 4.1vw 0 8.2vw; font-size:3.59vw; font-weight:400; position:relative; }
.menuNavi02 > li { position:relative; }
.menuNavi02 > li:before { content:""; position:absolute; top:6.15vw; left:4.1vw; width:2.05vw; height:0.25vw; background:#8B787D; }
.sub-nav-li > span { display:flex; align-items:center; height:12.3vw; padding:0 4.1vw 0 8.2vw; font-size:3.59vw; font-weight:400; position:relative; }
.sub-nav-li > span:before { content:""; position:absolute; top:50%; right:4.1vw; width:3.08vw; height:0.25vw; background:#000; }
.sub-nav-li > span:after { content:""; position:absolute; top:50%; right:4.1vw; width:3.08vw; height:0.25vw; background:#000; transform:rotate(90deg); }
.mago-nav-ul { border-top:0.5px #B7B1A9 solid; }
.menuNavi02 .mago-nav-ul { display:none; }
.mago-nav-ul li { border-bottom:0.5px #B7B1A9 solid; }
.mago-nav-ul li:last-child { border-bottom: 0; }
.mago-nav-ul li a { display:flex; align-items:center; height:12.3vw; background:#F4EFE9 url(/common/img/ico_header_arrows_b.webp) 8.2vw center/1.03vw auto no-repeat; padding:0 4.1vw 0 12.3vw; font-size:3.59vw; font-weight:400; }
.menuNavi01 .mago-nav-ul li a { background:#f4f4f4 url(/common/img/ico_header_arrows_b.webp) 8.2vw center/1.03vw auto no-repeat; }
.mago-on:after { display:none; }



#boc-wrap { height:61.53vw; overflow:hidden; }
.boc-all { height:auto !important; }
.btn-open-close {}
.btn-open-close span { display:flex; justify-content:center; width:100%; text-align:center; font-size:3.07vw; color:#4B3D3D; font-weight:500; transition:all 0.4s linear; }
.boc-off { display:none !important; }
.btn-op { position:absolute; bottom:0; left:0; align-items:end; height:24.6vw; background:linear-gradient(to bottom, rgba(244,239,233,0) -1%,rgba(244,239,233,0) 0%,rgba(244,239,233,1) 50%,rgba(244,239,233,1) 100%); padding:0 0 4.1vw; }
.btn-cl { position:static; align-items:center; height:12.3vw; background:#F4EFE9; }



.clicked-nav { overflow:hidden; }
#gHeader { z-index:999998; }


}



@media screen and (min-width:897px){
#header-nav { display:none; }
}






/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
	width: 1100px;
	margin: 0 auto 23px;
}

#pagePath li {
	display: inline;
	font-size: min(3.2vw, 1.3rem);
	font-weight: 400;
	color: #b9b9b9;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}

#pagePath li a {
	margin-right: 3px;
	color: #957575;
	text-decoration: underline;
}

#pagePath li:first-child a {
	color: #957575;
	text-decoration: underline;
}

@media all and (min-width: 897px) {
	#pagePath li a:hover {
		text-decoration: none;
	}

	#pagePath li:first-child a:hover {
		text-decoration: none;
	}
}

@media all and (max-width: 896px) {
	#pagePath {
		width: auto;
		margin: 0 16px 42px;
		line-height: 1.3;
	}

	#pagePath li a {
		margin-right: 3px;
	}
}

/*------------------------------------------------------------
	conts
------------------------------------------------------------*/
#conts {
	max-width: 750px;
	width: 100%;
	box-sizing: border-box;

	img {
		width: 100%;
	}
}

@media all and (max-width: 896px) {
	#conts {
		margin: 0 4vw;
		width: auto;
	}
}

/*------------------------------------------------------------
	sideBar
------------------------------------------------------------*/
#sideBar {
	width: 300px;
	box-sizing: border-box;
}

#sideBar .title {
	padding: 22px 5px 20px;
	font-size: min(4.26vw, 1.8rem);
	text-align: center;
	letter-spacing: 0.15em;
	background-color: #6b6a6e;
	border-bottom: 0;
	color: #fff;
	font-weight: 400;
}

#sideBar .sNavi {
	margin-bottom: -1px;
}

#sideBar .sNavi li a {
	display: block;
	background:#fbfbfb url("../img/icon07.webp") no-repeat left 272px center / 10px;
	padding: 16px 17px 16px;
	letter-spacing: 0.08em;
	border-bottom: .5px dotted #ccc;
	font-weight:400;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-size: min(3.73vw, 1.4rem);
}

#sideBar .sNavi li a:hover {
	opacity: 0.7;
}

#sideBar .naviBox {

}

#sideBar .naviBox li a {
	border-bottom: none;
	background-color: #fbfbfb;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}

#sideBar .naviBox .subNavi a {
	padding: 14px 0 15px 35px;
	font-size: 1.4rem;
	font-weight: 400;
	border-bottom: .5px dotted #ccc;
	background: url("../img/icon08.webp") no-repeat left 22px center / 8px;
}

#sideBar .sideDl {
	margin-bottom: 7px;
	background-color: #fbfbfb;
}

#sideBar .sideDl dt {
	padding: 22px 0 21px;
	position: relative;
	text-align: center;
	color: #fff;
	cursor: pointer;
	font-size: 1.8rem;
	letter-spacing: 0.15em;
	background: url("../img/side_bg01.webp") no-repeat;
	background-size: 100% 100%;
	font-weight: 400;
}

#sideBar .sideDl dt:before {
	position: absolute;
	right: 16px;
	top: 50%;
	margin-top: -8px;
	background: url("../img/icon24.webp") no-repeat center center;
	background-size: 15px auto;
	width: 15px;
	height: 15px;
	content: "";
}

#sideBar .sideDl dt.on:before {
	background-image: url("../img/icon24_on.webp");
}

#sideBar .sideDl dd {
	display: none;
}

#sideBar .sideDl dd a {
	padding: 14px 0 15px 35px;
	font-size: 1.4rem;
	font-weight: 400;
	display: block;
	border-bottom: .5px dotted #ccc;
	background: url("../img/icon08.webp") no-repeat left 22px center / 8px;
	font-family: 'Zen Kaku Gothic New', sans-serif;

	&:hover {
		opacity: .7;
	}
}

#sideBar .sideDl dd li {
	width: 100%;
}




#aside-ul {margin-bottom: 32px;}
#aside-ul li { margin:0 0 7px; }
#aside-ul li a { display:block; height:104px; line-height:104px; text-align:center; padding:10px 0 0; font-size:1.6rem; color:#000; font-weight: 500; }
#aside-ul li:first-child a { background:url(/common/img/menu_icon06.webp) top 20px center no-repeat #fbf3f3; border: 1px solid #e5beb9; color: #88615b; background-size:20px auto; }
#aside-ul li:last-child a { background:url(/common/img/menu_icon06.webp) top 20px center no-repeat #f2e3e9; border: 1px solid #C18C9F; color: #945f72;  background-size:20px auto; }
#aside-ul li a:hover { opacity:0.7; transition:1s ease; }

.side-btn-ac { display:block; background:#fbfbfb; border-bottom:.5px dotted #ccc; padding:16px 24px 16px 17px; font-weight:400; font-family: 'Zen Kaku Gothic New', sans-serif; font-size: min(3.73vw, 1.4rem); letter-spacing:0.08em; cursor:pointer; position:relative; }
.side-btn-ac:after { content:""; position:absolute; top:24px; right:20px; width:10px; height:10px; background:url(/common/img/icon07.webp) center center/100% auto no-repeat; transform:rotate(90deg); }
.side-btn-ac:hover { opacity:0.7; }
.side-btn-ac-on:after { transform:rotate(-90deg) !important; }
.subNavi { display:none; }
.jspContainer {}

@media screen and (min-width: 897px) {
.jspPane { margin-left: 0 !important; }
}




/*------------------------------------------------------------
		Archive
	------------------------------------------------------------*/
#sideBar .sideArchv {
	margin-bottom: 7px;
}

#sideBar .sideArchv .titleArchv {
	padding: 22px 0 21px;
	position: relative;
	text-align: center;
	color: #fff;
	cursor: pointer;
	font-size: 1.8rem;
	letter-spacing: 0.15em;
	background: url("../img/side_bg01.webp") no-repeat;
	background-size: 100% 100%;
	font-weight: 400;
}

#sideBar .sideArchv .titleArchv:before {
	position: absolute;
	right: 16px;
	top: 50%;
	margin-top: -8px;
	background: url("../img/icon24.webp") no-repeat center center;
	background-size: 15px auto;
	width: 15px;
	height: 15px;
	content: "";
}

#sideBar .sideArchv .titleArchv.on:before {
	background-image: url("../img/icon24_on.webp");
}

#sideBar .sideArchv .sNavi {
	margin-bottom: -1px;
}

#sideBar .sideArchv li a {
	padding: 18px 0 15px 55px;
	/**/
	display: block;
	font-size: 1.5rem;
	font-weight: 400;
	border-bottom: 1px dotted #b9b9b9;
	background: url("../img/icon08.webp") no-repeat left 38px center / 8px #ffffff;
	/**/
}

#sideBar .sideArchv li a:hover {
	opacity: 0.7;
}

#sideBar .naviBoxArchv .sNavi>li {
	border-bottom: none;
	/*background-color: #f9f9f9;
		padding:18px 0 0 0;*/
}

#sideBar .naviBoxArchv .sNavi>li span {
	padding-left: 18px;
	font-weight: 400;
	font-size: 1.4rem;
}

/*archiv*/
#sideBar .naviBoxArchv .sNavi>li span {
	display: block;
	cursor: pointer;
	padding: 13px 0 13px 38px;
	border-bottom: 1px dotted #b9b9b9;
	background: url(../img/icon08.webp) no-repeat left 22px center / 8px #ffffff;
}

#sideBar .naviBoxArchv .subNavi {
	/*
		margin-top:15px;
		background:red;
*/
}

@media all and (max-width: 896px) {
	#sideBar {
		display: none;
	}
}

#sideBar .sideArchv .closed {
	display: none;
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	margin: 60px 0 0;
	padding-top: 60px;
	background-image: -moz-linear-gradient(-90deg, #FBFBFB 0%, #E1E1E1 100%);
	background-image: -webkit-linear-gradient(-90deg, #FBFBFB 0%, #E1E1E1 100%);
	background-image: -ms-linear-gradient(-90deg, #FBFBFB 0%, #E1E1E1 100%);
}

#gFooter .fBox {
	width: 1106px;
	margin: 0 auto;
}

#gFooter .fLogo {
	margin-bottom: 21px;
	width: 269px;
}

#gFooter .fText {
	margin: 0 0 38px 5px;
	font-weight: 400;
	font-size: 1.7rem;
	line-height: 1.7;
	letter-spacing: 0.125em;
}

#gFooter .fInfo {
	margin-bottom: 50px;
}

#gFooter .fLeft {
	width: 430px;
}

#gFooter .fRight {
	width: 500px;
}

#gFooter .fInfo .fTitle {
	margin-bottom: 26px;
	padding-left: 19px;
	font-size: min(4.26vw, 1.8rem);
	background: url("../img/icon36.webp") no-repeat left top 10px;
	background-size: 10px auto;
	font-weight: 500;
}

#gFooter .fInfo .telUl {
	margin-bottom: 32px;
}

#gFooter .fInfo .telUl li:not(:last-child) {
	margin-bottom: 5px;
}

#gFooter .fInfo .telUl a,
#gFooter .fInfo .telUl span {
	padding: 0 0 0 62px;
	display: inline-block;
	vertical-align: top;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	background: url("../img/icon30.webp") no-repeat left 22px top 9px;
	background-size: 19px auto;
}

#gFooter .fInfo .telUl span {
	background: url("../img/icon31.webp") no-repeat left 20px top 14px;
	background-size: 26px auto;
}

#gFooter .fInfo .telUl li:last-child span {
	background: url("../img/icon32.webp") no-repeat left 20px top 9px;
	background-size: 26px auto;
}

#gFooter .fInfo .fTitle01 {
	margin: 0 0 30px 7px;
	letter-spacing: 0.075em;
	position: relative;
}

#gFooter .fInfo .fTitle01 .time {
	position: absolute;
	right: 56px;
	top: -4px;
	font-size: 1.9rem;
	letter-spacing: 0;
}

#gFooter .fInfo .fTitle01 .time span {
	font-weight: 400;
}

#gFooter .fInfo table {
	width: calc(100% - 26px);
	border-collapse: collapse;
}

@media screen and (min-width: 897px) {
	#gFooter .fInfo table {
		margin-left: 26px;
	}
}

#gFooter .fInfo table th,
#gFooter .fInfo table td {
	padding: 15px 0 0;
	font-size: min(4vw, 1.6rem);
	vertical-align: middle;
	text-align: center;
	letter-spacing: 0.02em;
	box-sizing: border-box;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
}

#gFooter .fInfo table {
	tr {
		&:first-child {
			th {
				text-align: left;
			}
		}
	}
}

#gFooter .fInfo table thead th,
#gFooter .fInfo table thead td {
	padding: 0 0 11px;
	border-bottom: 1px solid #707070;
	font-weight: 400;
}

#gFooter .fInfo table tbody th {
	padding-top: 3px;
	width: 37%;
	font-size: min(4vw, 1.5rem);
	font-weight: 400;
}

#gFooter .fInfo table img {
	width: 11px;
}

#gFooter .fRight .fTitle {
	margin-bottom: 19px;
	letter-spacing: 0.075em;
	font-weight: 500;
}

#gFooter .fRight .text {
	padding: 0 0 13px 56px;
	font-size: 1.7rem;
	letter-spacing: 0.02em;
	line-height: 2.5;
	font-weight: 400;
	background: url("../img/icon33.webp") no-repeat left 20px top 10px;
	background-size: 19px auto;
}

#gFooter .fRight .text span {
	display: block;
	font-weight: 700;
}

#gFooter .fRight .txt {
	margin: 0 0 39px 16px;
	font-size: 1.7rem;
	font-weight: 400;
}

#gFooter .fRight .txt span {
	font-weight: 700;
}

#gFooter .fLink {
	width: 417px;
	margin: 0 auto 105px;
}

#gFooter .fLink a {
	padding: 18px 0 21px;
	display: block;
	text-align: center;
	color: #fff;
	position: relative;
	font-size: 1.5rem;
	font-weight: normal;
	background: url("../img/icon35.webp") no-repeat right 15px center #9E8181;
	background-size: 9px auto;
}

#gFooter .fLink a:hover {
	opacity: 0.7;
}

#gFooter .fLink a:before,
#gFooter .fLink a:after {
	position: absolute;
	left: 0;
	top: 7px;
	right: 0;
	height: 1px;
	background-color: #fff;
	content: "";
}

#gFooter .fLink a:after {
	top: auto;
	bottom: 6px;
}

#gFooter .fLink a>span {
	margin-top: 9px;
	display: block;
	letter-spacing: 0.02em;
}

#gFooter .fLink a span span {
	padding: 0 27px;
	min-height: 28px;
	display: inline-block;
	background: url("../img/icon34.webp") no-repeat left top 3px;
	background-size: 18px auto;
}

#gFooter .fNavi {
	margin: 0 0 80px;
}

#gFooter .fNavi>li {
	width: 460px;
}

#gFooter .fNavi>li:last-child {
	width: 500px;
}

#gFooter .fNavi>li>a {
	margin-bottom: 24px;
	padding-bottom: 15px;
	display: block;
	font-size: 1.7rem;
	font-weight: 500;
	border-bottom: 1px solid #957575;
}

#gFooter .fNavi>li>a:hover {
	opacity: 0.7;
}

#gFooter .fNavi>li:first-child>a {
	padding-left: 29px;
	position: relative;
}

#gFooter .fNavi>li:first-child>a:before {
	position: absolute;
	left: 0;
	top: 5px;
	background: url("../img/menu_icon10.webp") no-repeat;
	background-size: 19px auto;
	width: 19px;
	height: 19px;
	content: "";
}

#gFooter .fNavi ul {
	margin-top: -16px;
}

#gFooter .fNavi ul li {
	width: 220px;
	margin-top: 16px;
}

#gFooter .fNavi ul li:nth-child(2n) {
	width: 200px;
}

#gFooter .fNavi>li:last-child ul li:nth-child(odd) {
	width: 250px;
}

#gFooter .fNavi>li:last-child ul li:nth-child(2n) {
	width: 225px;
}

#gFooter .fNavi ul a {
	padding-left: 23px;
	display: block;
	font-weight: 400;
	letter-spacing: 0.05em;
	background: url("../img/icon08.webp") no-repeat left 6px center;
	background-size: 8px auto;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-size: min(4vw, 1.5rem);
}

#gFooter .fNavi ul a:hover {
	opacity: 0.7;
}

#gFooter address {
	padding: 16px 0;
	text-align: center;
	font-style: normal;
	background-color: #212121;
	color: #fff;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-size: min(2.66vw, 1.3rem);
	font-weight: 400;

	a {
		color: #fff;
	}
}

.pageTop {
	position: fixed;
	right: 40px;
	bottom: 40px;
	width: 48px;
	z-index: 90;
}

.pageTop a:hover {
	opacity: 0.7;
}

#gFooter .access__subheading {
	text-align: center;
	color: #957575;
	font-weight: bold;
	font-size: 1.8rem;
	margin-bottom: 22px;
}

#gFooter .access__heading {
	text-align: center;
	font-size: 2.8rem;
	color: #6B6A6E;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom: 85px;
}

.google_maps_wrap {
	margin-bottom: 80px;

	iframe {
		aspect-ratio: 3 / 1;
		width: 100% !important;
		height: 100% !important;
	}
}

@media screen and (max-width: 897px) {
	.google_maps_wrap {
		width: calc(100% + 15px * 2);
		margin: 0 0 24px -15px;

		iframe {
			aspect-ratio: 1 / 1;
		}
	}
}

.howto__ride-wrap {
	background: #fff;
	padding: 40px;
	margin-bottom: 32px;
}

.howto__ride-wrap h3 {
	margin-bottom: 42px;
	color: #957575;
	font-size: 2rem;
	letter-spacing: 0.075em;
	font-weight: 500;
}

.howto__ride-wrap h3.howto__ride-area {
	margin-bottom: 8px;
}

.howto__ride-wrap dl:not(:last-of-type) {
	margin-bottom: 45px;
}

.howto__ride-wrap dl:last-of-type {
	padding-bottom: 23px;
	margin-bottom: 24px;
	border-bottom: 1px solid #E0E0E0;
}

.howto__ride-wrap dt {
	font-weight: bold;
	margin-bottom: 10px;
	padding-left: 30px;
	color: #6B6A6E;
}

.howto__ride-wrap .howto__ride-train dt {
	background: url(/img/case_detail/icon-train.webp) left center no-repeat;
	background-size: 19px;
}

.howto__ride-wrap .howto__ride-taxi dt {
	background: url(/img/case_detail/icon-taxi.webp) left center no-repeat;
	background-size: 16px;
}

.howto__ride-wrap .howto__ride-car dt {
	background: url(/img/case_detail/icon-car.webp) left center no-repeat;
	background-size: 18px;
}

.howto__ride-wrap dd {
	padding-left: 30px;
	font-weight: normal;
	color: #212121;
}

.howto__ride-txt {
	font-weight: normal;
	color: #212121;
}

@media all and (max-width: 896px) {
	.howto__ride-txt {
		font-size: 1.4rem;
	}
}


@media all and (max-width: 896px) {
	#gFooter {
		padding: 42px 15px 0;
	}

	#gFooter .fBox {
		width: auto;
	}

	#gFooter .fLogo {
		margin: 0 auto 37px;
		width: 220px;
	}

	#gFooter .fText {
		margin: 0 0 29px;
		font-size: 1.5rem;
		letter-spacing: 0.075em;
	}

	#gFooter .fInfo {
		margin-bottom: 40px;
		display: block;
	}

	#gFooter .fLeft {
		margin-bottom: 39px;
		width: auto;
	}

	#gFooter .fRight {
		width: auto;
	}

	#gFooter .fInfo .fTitle {
		margin-bottom: 19px;
		padding-left: 17px;
		background-position: left 4px top 10px;
		background-size: 7px auto;
	}

	#gFooter .fInfo .telUl {
		margin-bottom: 28px;
	}

	#gFooter .fInfo .telUl li:not(:last-child) {
		margin-bottom: 4px;
	}

	#gFooter .fInfo .telUl a,
	#gFooter .fInfo .telUl span {
		padding: 0 0 0 40px;
		font-size: 1.7rem;
		letter-spacing: 0.02em;
		background: url("../img/icon30.webp") no-repeat left 8px top 9px;
		background-size: 13px auto;
	}

	#gFooter .fInfo .telUl span {
		background: url("../img/icon31.webp") no-repeat left 4px top 10px;
		background-size: 22px auto;
	}

	#gFooter .fInfo .telUl li:last-child span {
		background: url("../img/icon32.webp") no-repeat left 6px top 9px;
		background-size: 18px auto;
	}

	#gFooter .fInfo .fTitle01 {
		margin: 0 0 23px;
	}

	#gFooter .fInfo .fTitle01 .time {
		position: static;
		font-size: 1.4rem;
		letter-spacing: 0;
		margin-left: 23px;
		display: inline-block;
	}

	#gFooter .fInfo table th,
	#gFooter .fInfo table td {
		padding: 22px 0 0;
	}

	#gFooter .fInfo table thead th,
	#gFooter .fInfo table thead td {
		padding: 0 0 16px;
	}

	#gFooter .fInfo table tbody th {
		padding-top: 16px;
		vertical-align: top;
	}

	#gFooter .fInfo table img {
		width: 9px;
	}

	#gFooter .fRight .fTitle {
		margin-bottom: 24px;
	}

	#gFooter .fRight .text {
		padding: 0 0 18px 46px;
		font-size: 1.4rem;
		line-height: 2.28;
		background-position: left 20px top 8px;
		background-size: 14px auto;
	}

	#gFooter .fRight .txt {
		font-size: 1.4rem;
	}

	#gFooter .fLink {
		width: auto;
		max-width: 342px;
		margin: 0 auto 96px;
	}

	#gFooter .fLink a {
		padding: 15px 5px 12px;
		font-size: 1.4rem;
		background-position: right 12px center;
		background-size: 6px auto;
	}

	#gFooter .fLink a>span {
		margin-top: 5px;
		font-size: 1.5rem;
	}

	#gFooter .fLink a span span {
		padding: 0 20px;
		min-height: 28px;
		background-size: 15px auto;
	}

	#gFooter .fNavi {
		margin: 0 -15px;
		display: block;
	}

	#gFooter .fNavi>li {
		width: auto !important;
	}

	#gFooter .fNavi>li:not(:last-child) {
		padding-bottom: 0;
		background: #e9e9e9;
	}

	#gFooter .fNavi>li>a {
		margin-bottom: 0;
		padding: 23px 16px 24px;
		border-bottom: none;
		background: #e9e9e9;
		color: #957575;
		border-bottom: .5px dashed #8B787D;
	}

	#gFooter .fNavi>li:first-child>a {
		padding-left: 40px;
		color: #957575;
	}

	#gFooter .fNavi>li:first-child>a:before {
		left: 16px;
		top: 50%;
		background-size: 17px auto;
		width: 17px;
		height: 17px;
		transform: translateY(-50%);
	}

	#gFooter .fNavi ul {
		padding-top: 0;
		margin-top: 0;
		background-color: #e9e9e9;
	}

	#gFooter .fNavi ul li {
		width: 50% !important;
		margin-top: 0;
		box-sizing: border-box;
	}

	#gFooter .fNavi ul li:nth-child(2n) {
		border-right: none;
	}

	#gFooter .fNavi ul a {
		height: min(18.13vw, 68px);
		display: flex;
		align-items: center;
		padding: 14px 14px 14px 31px;
		font-size: min(3.78vw, 1.4rem);
		font-weight: 400;
		letter-spacing: 0;
		background: url(../img/icon39.webp) no-repeat 16px center;
		background-size: 10px;
		box-sizing: border-box;
		border-bottom: .5px solid #b9b9b9;

		&:nth-of-type(odd) {
			border-right: .5px solid #b9b9b9;
		}
	}

	#gFooter address {
		margin: 0 -15px;
		padding: 24px 10px 96px;
	}

	.pageTop { right:4.1vw; bottom:24.61vw; width:8.97vw; }

	#gFooter .access__subheading {
		margin-bottom: 5px;
		font-size: 1.3rem;
	}

	#gFooter .access__heading {
		font-size: 2.2rem;
		margin-bottom: 59px;
	}

	.howto__ride-wrap {
		padding: 32px 20px;
		margin-bottom: 40px;
	}

	.howto__ride-wrap h3 {
		margin-bottom: 24px;
		font-size: 1.8rem;
		letter-spacing: 0.025em;
	}

	.howto__ride-wrap h3.howto__ride-area {
		margin-bottom: 32px;
	}

	.howto__ride-wrap dd {
		padding-left: 0;
		font-size: 1.4rem;
	}

	.howto__ride-wrap dl:not(:last-of-type) {
		margin-bottom: 37px;
	}
}

.youtube__wrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube__wrap iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}




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

#bottom-nav { position:fixed; bottom:0; left:0; width:100%; z-index:999994; }
#bottom-nav ul { display:flex; flex-flow:row nowrap; }
#bottom-nav li { width:calc(100% / 4); }
#bottom-nav li a { display:flex; justify-content:center; align-items:center; height:20.51vw; padding:11.3vw 0 0; font-size:2.56vw; color:#fff; font-weight:700; }
#bottom-nav li:nth-child(1) a { background:#4B3D3D url(/common/img/ico_header_menu_tel.svg) center 4.1vw/8.2vw auto no-repeat; border-right:1px #8E888A solid; }
#bottom-nav li:nth-child(2) a { background:#4B3D3D url(/common/img/ico_header_menu_internet.svg) center 4.1vw/5.13vw auto no-repeat; }
#bottom-nav li:nth-child(3) a { background:#00B900 url(/common/img/ico_header_menu_line.svg) center 4.1vw/8.97vw auto no-repeat; }
#bottom-nav li:nth-child(4) a { background:#8B787D url(/common/img/ico_header_menu_contact.svg) center 4.1vw/10.25vw auto no-repeat; }

}

@media screen and (min-width:897px){
#bottom-nav { display:none; }
}





/*================================
-231215 add
=================================*/

.mb0 {
	margin-bottom: 0 !important;
}

.mb24 {
	margin-bottom: 24px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

/*@media all and (min-width: 0px) and (max-width: 896px) {
	.layout-mv-wrapper {
		height: 77.9svh;
		overflow: hidden;
	}

	.layout-banner-wrapper {
		height: 21.6svh;
		overflow: hidden;
	}

	.layout-banner-wrapper .slick-initialized .slick-slide {
		overflow: hidden;
    	height: 16.7svh;
	}
}*/

/* 見出し下に下線を追加する */

.headLine-bar {
	padding-bottom: 12px;
    border-bottom: 1px solid #e1e1e1;
    margin-bottom: 16px;
}

/*================================
-260108 add
=================================*/

/* 動画コンテンツ */
.layout-movie-box {
	aspect-ratio: 16/9;
	max-width: 600px !important;
    margin: min(10.66vw, 40px) auto !important;

	iframe {
		width: 100%;
		height: 100%;
	}
}

/* 症例の副作用・リスク */
.layout-table-lisk { padding: 0 !important }

.layout-table-lisk-inner {
	overflow-y: scroll;
	padding: min(3.2vw, 12px) min(4.26vw, 16px);
    height: 80px;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: min(4.26vw, 16px);

	> li {
		font-size: min(3.73vw, 13px);
		line-height: 1.4;
		padding-left: min(3.73vw, 13px);
		position: relative;

		&::before {
			content: "・";
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
		}
	}
}

/* 注釈・挨拶・枠線ボックス */
.layout-att-box,
.layout-greet-box,
.layout-border-box,
.layout-border-box02 {
	margin: min(10.66vw, 40px) 0;
	padding: min(8.53vw, 32px) min(5.33vw, 40px);
	border: 2px solid #e9e9e9;

	.pho {
		max-width: 600px !important;
    	margin: 0 auto min(10.66vw, 40px) !important;
		width: 100% !important;
	}

	.headLine,
	.headLine04 {
		position: relative;
		margin-bottom: min(5.8vw, 24px);
		padding-bottom: min(2.13vw, 8px);
		font-size: min(4.26vw, 1.8rem);
		border-bottom: 1px solid #6B6A6E;
		letter-spacing: 0.05em;
		line-height: 1.6;
		font-weight: 500;
	}

	.number {
			padding-left: min(8.53vw, 40px);

			span {
				position: absolute;
				top: -8px;
				left: 0;
				font-size: min(7.46vw, 2.6rem);
				display: inline-block;
				color: #957575;
				font-weight: 400;
				z-index: 2;
		}
	}

	.headLine04 {
		font-size: min(4.26vw, 1.7rem);
		padding-left: 0;
		border-left: 0;
	}

	.headline-b {
		font-size: min(4.26vw, 1.8rem);
        background-color: #6B6A6E;
        letter-spacing: 0.05em;
        line-height: 1.6;
        font-weight: 500;
        margin-bottom: min(8.53vw, 32px);
        padding: min(2.13vw, 8px) 0;
        position: relative;
        text-align: center;
        color: #fff;
	}

	.headline-number {
		font-size: min(4.26vw, 1.8rem);
        letter-spacing: 0.05em;
        line-height: 1.6;
        font-weight: 500;
        margin-bottom: min(4.26vw, 16px);
        padding: min(2.13vw, 8px) 0 min(3.73vw, 14px);
        position: relative;
		text-align: center;
		background-color: #867a7a;
		color: #fff;

		> span {
            font-size: min(7.46vw, 2.6rem);
			margin-right: min(4.26vw, 16px);
            display: inline-block;
            color: #fff;
            font-weight: 400;
            z-index: 2;
			line-height: 1.2;
		}
	}

	.comLink {
		a {
			border-right: 0 !important;
			padding-right: 0 !important;
		}
	}

	p + .comLink { margin: 40px auto 0 !important; }
}

.layout-border-box02 {
	margin: min(10.66vw, 56px) 0;
	background-color: #707070;
	border: 0;
	position: relative;

	.pho {
    	margin: min(5.33vw, 20px) auto min(10.66vw, 20px) !important;
	}
}

@media screen and (max-width: 896px) {
	.layout-border-box02 {
		width: calc(100% + 4vw * 2);
        margin-left: -4vw;
	}
}

/* 主訴一覧リスト */
.layout-features-contents {

	.pho {
		max-width: 500px !important;
		margin: min(10.66vw, 40px) auto !important;
	}
}

@media screen and (max-width: 896px) {
	.layout-features-contents {

		.pho {
			width: 90% !important;
		}

		/* .pho + .layout-features-table {
			margin-top: -24px;
		} */
	}
}


@media screen and (max-width: 896px) {
	.layout-border-box02 {
		.pho {
			margin: 0 auto !important;
		}
	}
}

.layout-box-item-2fr {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 64px;
	margin-bottom: 24px;
}

@media screen and (max-width: 896px) {
	.layout-box-item-2fr {
		grid-template-columns: repeat(1, 1fr);
		gap: 0;

		.pho {
			order: 1;
			width: 90% !important;
			margin-bottom: 32px !important;
		}

		.text {
			order: 2;
		}
	}
}

.layout-att-box + .layout-att-box,
.layout-border-box + .layout-border-box {
	margin-top: -32px;
}

.layout-att-box {
	background-color: #fbfbfb;

	p {
		font-size: min(4vw, 1.5rem) !important;

		&:last-child {
			margin-bottom: 0 !important;
		}
	}
}

@media screen and (min-width: 897px) {
	.layout-att-box {
		p {
			line-height: 1.8 !important;
		}
	}
}

@media screen and (max-width: 896px) {
	.layout-att-box {
		p {
			line-height: 1.6 !important;
		}
	}
}

.layout-greet-box {
	padding: min(8.53vw, 56px) min(5.33vw, 40px);

	p {
		font-family: 'Shippori Mincho', serif !important;
	}
}

.layout-border-box {
	padding: min(8.53vw, 56px) min(5.33vw, 40px);
}

/* タイプ別メニュー */
.layout-list-menu {
	margin: min(10.66vw, 40px) auto;
    padding: min(8.53vw, 32px) min(5.33vw, 40px);
    background-color: #6b6a6e;

	.headline {
		margin-bottom: 32px;
		position: relative;
		font-size: min(4.8vw, 2rem);
		text-align: center;
		font-weight: 500;
		color: #fff;

		&::before {
			content: "";
			position: absolute;
			width: 100%;
			height: 1px;
			background-color: #ccc;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
		}

		> span {
			position: relative;
			padding: 0 min(4.26vw, 16px);
			background-color: #6b6a6e;
			z-index: 5;
		}
	}
}

/* コンテンツ用の別途メニューリスト */
@media screen and (max-width: 896px) {
.layout-list-menu {
	width: calc(100% + 4vw * 2);
	margin-left: -4vw;
}
}

.layout-list-menu-list {
	display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;

		> li {
			position: relative;

			&:hover {
				opacity: .9;
			}
		}

		.image {
			position: absolute;
			width: 56px;
			height: 56px;
			top: 0;
			left: 0;
			z-index: 2;
			overflow: hidden;
			pointer-events: none;

			> img {
				width: 100%;
				height: auto;
				aspect-ratio: 1 / 1;
				object-fit: cover;
				background-color: #ccc;
			}
		}

		a {
			display: flex;
			align-items: center;
			height: 56px;
			/* font-family: 'Zen Kaku Gothic New', sans-serif; */
			background-color: #f5f5f5;
			font-weight: 400;
			font-size: min(4vw, 1.5rem);
			padding-left: calc(56px + min(8.53vw, 32px));
			color: #4b3d3d;

			&::before {
				position: absolute;
				content: "";
				background-image: url(../img/icon10.webp);
				background-repeat: no-repeat;
				background-size: 6px;
				transform: translateY(-50%);
				width: 6px;
				height: 8px;
				top: 50%;
				left: calc(56px + min(4.26vw, 16px));
			}
		}
}

@media screen and (max-width: 896px) {
	.layout-list-menu-list {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* チェックリスト（少し豪華） */
.layout-point-list {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: min(2.13vw, 12px);
	max-width: 600px;
	margin: min(5.33vw, 24px) auto min(2.13vw, 24px);

	.list {
		position: relative;
		padding: min(4.26vw, 16px) min(4.26vw, 16px) min(4.26vw, 16px) min(15.86vw, 72px);
		display: flex;
		align-items: center;
		height: min(27.73vw, 104px);
		line-height: 1.6;
		z-index: 5;

		&::before {
			position: absolute;
			content: "";
			font-size: min(10.66vw, 5rem);
			left: min(5.33vw, 12px);
			width: min(4vw, 40px);
			height: min(10.66vw, 5rem);
			line-height: min(10.66vw, 56px);
			display: flex;
			font-weight: 400;
			justify-content: center;
			align-items: center;
			transform: translateY(-50%);
			top: calc(50% - 2px);
			color: #d3968f;
			z-index: 5;
		}

		&::after {
			position: absolute;
			content: "";
			top: min(5.33vw, 20px);
			left: min(8.53vw, 40px);
			width: min(4.26vw, 16px);
			height: min(4.26vw, 16px);
			background: url("/common/img/icon-star.svg") no-repeat center center / 100%;
			z-index: 5;
		}
	}

	> li {
		margin-bottom: 0;
		letter-spacing: 0.05em;
		background-color: #fbfbfb;
		display: flex;
		align-items: center;
		font-weight: 400;
		font-size: min(4vw, 1.6rem);
		color: #4b3d3d;
		line-height: 1.8;
		overflow: hidden;
		position: relative;
		width: 100%;

		&::before {
			content: "";
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			left: -40px;
			display: block;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: min(50vw, 200px) 0px 0px min(50vw, 200px);
			border-color: transparent transparent transparent #f4efe9;
			z-index: 1;
		}

		&:after {
			content: "";
			position: absolute;
			left: 50%;
			top: 50%;
			width: min(100% - 8px);
			height: min(100% - 8px);
			border: .5px solid #ccc;
			pointer-events: none;
			transform: translate(-50%, -50%);
			z-index: 2;
		}

		&:nth-of-type(1) {
			.list {
				&::before {
					content: "１";
				}
			}
		}

		&:nth-of-type(2) {
			.list {
				&::before {
					content: "２";
				}
			}
		}

		&:nth-of-type(3) {
			.list {
				&::before {
					content: "３";
				}
			}
		}
	}
}

@media screen and (min-width: 897px) {
	.layout-point-list {
		> li {
			justify-content: center;
		}

		.list {
			max-width: 600px;
			width: 100%;
		}
	}
}

@media screen and (max-width: 896px) {
	.layout-point-list {

		> li {
			line-height: 1.6;

			.list {
				&::before {
					left: min(5.33vw, 20px);
				}
			}
		}
	}

	/* .layout-border-box {
		.pho + .layout-point-list {
			margin-top: min(-5.33vw, -20px);
		}
	} */
}

/* 料金表（横スライド） */
.layout-slide-figcaption {
	background-color: #fcf8e8;
	padding: min(2.13vw, 8px) min(4.26vw, 16px);
	margin: 64px auto 24px;
	display: flex;
	justify-content: center;
	font-weight: 500;
}

@media screen and (max-width: 896px) {
	.layout-slide-figcaption {
		margin: 40px auto 24px;
	}
}

.layout-swipe-slide {
	position: relative;

	&::before {
		content: "";
		position: absolute;
		width: .5px;
		height: calc(100% - 14px);
		background-color: #ccc;
		top: 0;
		left: 140px;
		z-index: 6;
	}

	> .inner {
		overflow-x: scroll;
		border: .5px solid #ccc;
	}
}

@media screen and (max-width: 896px) {
	.layout-swipe-slide {
		&::before {
			height: 100%;
		}
	}
}

.layout-slide-table {
	border-collapse: collapse;
	position: relative;

	td, th {
		border-collapse: collapse;
		border: .5px solid #ccc;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		font-weight: 400;
		letter-spacing: 0.02em;
		box-sizing: border-box;
		line-height: 1.4;
		font-size: min(3.46vw, 1.3rem);
	}

	th {
		padding: min(3.2vw, 12px) min(4.26vw, 16px);
	}

	td {
		padding: min(3.2vw, 12px) min(2.13vw, 8px);
		text-align: justify;

		> span {
			display: inline-block;
			font-size: min(2.93vw, 1.2rem) !important;
		}
	}

		th:first-child,
		td:first-child {
			position: sticky;
			left: -0.5px;
			border-right: .5px solid #ccc;
			background: #707070;
			min-width: 140px !important;
			z-index: 2;
		}

	tr:nth-of-type(odd) {
		td {
			background-color: #fbfbfb;
		}
	}

	.th-left {
		min-width: 140px;
		background-color: #707070;
    	text-align: left;
		color: #fff;
	}

	.th-top {
		min-width: 150px;
		background-color: #ebebeb;
    	text-align: center;
		padding: min(2.13vw, 8px);
	}
}


.layout-slide-table-button {
	margin: 56px auto 0;
	display: flex;
	justify-content: center;

	a {
		max-width: 320px;
		width: 100%;
		color: #8b787d;
        font-weight: 600 !important;
        background-color: initial;
        font-size: min(4vw, 1.5rem);
		height: min(15.46vw, 58px);
		border: .5px solid #8b787d;
		display: flex;
		align-items: center;
		justify-content: center;

		span {
			position: relative;
			padding-left: min(calc(4vw * 1.5), calc(1.5rem * 1.5));

				&::before {
				content: "▶";
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
			}
		}

		&:hover {
			opacity: 0.7;
			transition: ease .5s;
		}
	}
}

@media screen and (max-width: 896px) {
	.layout-slide-table-button {
		a {
			border: 1px solid #8b787d;
		}
	}
}

/* 画像枠線 */
.layout-image-border {
	border: .5px solid #ccc;
}

/* ボタン（横並び） */
.layout-button-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(2.13vw, 8px);
	margin-top: 40px;

	a {
		color: #8b787d;
        font-weight: 600 !important;
        background-color: initial;
        font-size: min(4vw, 1.5rem);
		height: min(15.46vw, 58px);
		border: .5px solid #8b787d;
		display: flex;
		align-items: center;
		justify-content: center;

		span {
			position: relative;
			padding-left: min(calc(4vw * 1.5), calc(1.5rem * 1.5));

				&::before {
				content: "▶";
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
			}
		}

		&:hover {
			opacity: 0.7;
			transition: ease .5s;
		}
	}
}

@media screen and (max-width: 896px) {
	.layout-button-list {
		a {
			border: 1px solid #8b787d;
		}
	}
}

/* 治療の流れ */
.layout-flow-box {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: min(10.66vw, 40px);
	margin: min(10.66vw, 40px) 0;

	> li {
		border: .5px solid #dec7bf;
		padding: min(8.53vw, 24px) min(5.33vw, 40px);
		position: relative;
		background-color: #fbfbfb;

		&::before {
			position: absolute;
			left: 50%;
			bottom: -31px;
			background: url(../img/icon25.webp) no-repeat;
			background-size: 16px auto;
			width: 16px;
			height: 16px;
			content: "";
			transform: translateX(-50%);
		}

		p:last-child {
			margin-bottom: 0 !important;
		}

		&:last-child {
			&::before {
				content: none;
			}
		}

		> .headline {
			font-size: min(4.26vw, 1.8rem);
			border-bottom: 1px dashed #ccc;
			letter-spacing: 0.05em;
			line-height: 1.6;
			font-weight: 500;
			margin-bottom: min(5.8vw, 25px);
			padding: 0 0  min(2.13vw, 8px) min(8.53vw, 40px);
			position: relative;

			.number {
				position: absolute;
				top: -8px;
				left: 0;
				font-size: min(7.46vw, 2.6rem);
				display: inline-block;
				color: #957575;
				font-weight: 400;
				z-index: 2;
			}

			.small {
				font-size: min(3.73vw, 1.4rem);
			}
		}

		.list {
			padding-left: min(5.33vw, 20px);
			font-size: min(3.73vw, 15px) !important;
			position: relative;
			margin-bottom: 0 !important;

		&::before {
			content: "・";
			color: #957575;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
		}
		}
	}
}

.layout-flow-box-att {
	padding-top: min(10.66vw, 40px);
	margin-top: min(10.66vw, 40px);
	border-top: .5px solid #957575;

	.headline-att {
		border-left: 6px solid #ccc;
		padding-left: min(4vw, 1.6rem);
		font-size: min(4vw, 1.6rem);
		letter-spacing: 0.05em;
		line-height: 1.4;
		font-weight: 500;
		margin-bottom: min(4.26vw, 16px);
		position: relative;
	}
}

/* 主訴一覧リスト */
.layout-features-contents {

	.pho {
		max-width: 500px !important;
		margin: min(10.66vw, 40px) auto !important;
	}
}

/* @media screen and (max-width: 896px) {
	.layout-features-contents {
		.pho + .layout-features-table {
			margin-top: -24px;
		}
	}
} */

.layout-features-table {
	border-collapse: collapse;
	margin: min(10.66vw, 40px) 0;
	width: 100%;
	background-color: #fbfbfb;

	td, th {
		border-collapse: collapse;
    	vertical-align: middle;
		padding: min(3.2vw, 12px) min(4.26vw, 16px);
		line-height: 1.6;

		p {
			margin-bottom: 0 !important;
			font-size: min(3.46vw, 1.5rem) !important;
			line-height: 1.6 !important;
		}

		.list,
		.list-negative {
			padding-left: min(6.4vw, 24px);
			position: relative;

			&::before {
				position: absolute;
				content: "";
				left: 0;
				top: calc(50% - 2px);
				width: 14px;
				height: 7px;
				transform: rotate(-45deg) translateY(-50%);
			}
		}

		.list {
			&::before {
				border-left: 1px solid #00b900;
				border-bottom: 1px solid #00b900;
			}
		}

		.list-negative {
			&::before {
				border-left: 1px solid #707070;
				border-bottom: 1px solid #707070;
			}
		}
	}

	tr {
		&:first-child {
			th {
				border-top: .5px solid #ccc;
			}

			td {
				border-top: .5px dashed #ccc;
			}
		}
	}

	.point {
		background-color: #ffffff;
	}

	th {
		background-color: #f5f0ee;
		color: #000;
		font-size: min(4vw, 1.5rem);
		border-bottom: .5px solid #ccc;
		font-weight: 400;
		letter-spacing: 0.05em;
	}

	td {
		border-bottom: .5px dashed #ccc;
		padding-left: min(4.26vw, 16px);
	}
}

@media screen and (min-width: 897px) {
		.layout-features-table {
		th {
			width: 20%;
			vertical-align: top;
			padding: min(3.2vw, 20px) min(4.26vw, 16px);
		}

		td {
			height: min(16vw, 64px);
		}
	}
}

@media screen and (max-width: 896px) {
	.layout-features-table {
		th, td {
			display: flex;
			align-items: center;
		}

		th {
			height: min(16vw, 60px);
			text-align: center;
			justify-content: center;
            display: flex;
		}

		td {
			min-height: min(16vw, 60px);
			align-items: center;
		}
	}
}

/* デメリット・リスク */
.layout-list-lisk {
	li::before {
		border-left: 1px solid #707070 !important;
		border-bottom: 1px solid #707070 !important;
	}
}

/* 他院比較表 */
.layout-quality {
    margin: min(10.66vw, 40px) auto;

	> .inner {
		margin: auto;
	}

	.pho {
		max-width: 600px;
    	margin: 0 auto min(10.66vw, 40px);
	}
}

@media screen and (max-width: 896px) {
	.layout-quality {
		.pho {
    		width: 90%;
		}
	}
}

.layout-quality-table {
	border-collapse: collapse;
	margin: 0 auto;
	width: 100%;
	background-color: #fbfbfb;
	position: relative;
	border: 1px solid #dec7bf;

	td, th {
		border-collapse: collapse;
    	vertical-align: middle;
		padding: min(3.2vw, 12px) min(1.06vw, 16px);
		line-height: 1.6;
		font-size: min(3.2vw, 1.4rem);
		text-align: center;
	}

	th {
		background-color: #6b6a6e;
		color: #fff;
		font-size: min(3.2vw, 1.4rem);
		border-bottom: .5px solid #ccc;
		font-weight: 400;
		letter-spacing: 0.05em;
		border-right: .5px solid #ccc;
		height: 72px;
	}

	td {
		border-bottom: .5px dashed #ccc;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		font-weight: 400;
		height: 72px;
	}

	.th-top,
	.th-top02 {
		font-size: min(3.73vw, 1.6rem);
		text-align: center;
		width: 39%;
		line-height: 1.2;
		color: #000;
	}

	.th-top {
		background-color: #e9e9e9;
	}

	.th-top02 {
		color: #986a42;
		background-color: #fff0bb;
		border-left: 1px solid #cd9059;
		border-right: 1px solid #cd9059;
		padding-bottom: 26px;
		font-size: min(4.26vw, 1.9rem);
		position: relative;

		&::before {
			content: "";
			position: absolute;
			width: calc(100% + 2px);
			height: 20px;
			background-color: #fff0bb;
			border-top: 1px solid #cd9059;
			border-left: 1px solid #cd9059;
			border-right: 1px solid #cd9059;
			border-bottom: 1px solid #fff0bb;
			top: -20px;
			left: -1px;
			z-index: 1;
		}
	}

	.th-color {
		background-color: #fcf8e8;
		border-left: 1px solid #cd9059;
		border-right: 1px solid #cd9059;
	}
}

/* 記事画像横並び */
.layout-pho-2fr {
	margin: min(10.66vw, 40px) auto;
    display: flex;
    justify-content: center;

	> .image {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: min(2.13vw, 16px);
		/* max-width: 600px; */
		margin: 0 auto;

		img {
			width: 100%;
			height: auto;
			display: block;
		}
	}
}

/* 文字位置変更 */
#conts .layout-text-right {
	text-align: right !important;
}

#conts .layout-text-center {
	text-align: center !important;
}

@media screen and (min-width: 897px) {
	#conts .layout-text-center-pc {
		text-align: center !important;
	}
}

/* 小文字注釈 */
#conts .layout-text-small-att {
		font-size: min(3.73vw, 13px) !important;
		line-height: 1.4;
		padding-left: min(3.73vw, 13px);
		position: relative;

		&::before {
			content: "※";
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
		}
}

.layout-text-list {
		position: relative;
		padding-left: min(3.73vw, 13px);

		&::before {
			content: "・";
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
		}
}

/* @media screen and (max-width: 896px) {
	.layout-pho-2fr {
		width: 90%;
	}
} */

@media (max-width: 896px) {
#sub-aside-contact { border-top:0.5px #ccc solid; border-bottom:0.5px #ccc solid; margin:0 -4.1vw 20.51vw; }
#sub-aside-contact dt { height:59.74vw; font-weight:400; line-height:1.8; background:url(/img/templete/photo03.webp) right 0 bottom -2px/100% auto no-repeat; padding:17.94vw 0 0 4.1vw; font-size:4.1vw; color:#6B6A6E; }
#sub-aside-contact dt strong { font-size:5.13vw; }
#sub-aside-contact dd { background:#fbfbfb; padding:6.15vw 4.1vw; position:relative; }
#sub-aside-contact dd:before { content:""; position:absolute; top:0; left:0; width:0; height:0; border-style:solid; border-color:#f2f2f2 transparent transparent transparent; border-width:29.23vw 29.23vw 0 0; z-index:1; }
#sub-aside-contact dd:after { content:""; position:absolute; bottom:0; right:0; width:0; height:0; border-style:solid; border-color:transparent transparent #f2f2f2 transparent; border-width:0 0 29.23vw 29.23vw; z-index:1; }

#sub-aside-contact dd ul { display:flex; flex-flow:row wrap; justify-content:space-between; position:relative; z-index:2; }
#sub-aside-contact dd li { width:44.87vw; }
#sub-aside-contact dd li:nth-child(1) { width:100%; margin:0 0 2.05vw; }
#sub-aside-contact dd li:nth-child(2) {}
#sub-aside-contact dd li:nth-child(3) {}
#sub-aside-contact dd li a { display:flex; justify-content:center; align-items:center; font-size:3.78vw; color:#fff; font-weight:500; }
#sub-aside-contact dd li:nth-child(1) a { flex-flow:column nowrap; height:24.61vw; background:url(/common/img/ico_header_menu_contact.svg) 30.77vw 4.1vw/8.16vw auto no-repeat, url(/common/img/ico_header_arrows_w.webp) right 2.05vw center/1.03vw auto no-repeat #8B787D; }
#sub-aside-contact dd li:nth-child(1) a em { display:block; padding:0 0 0 10.25vw; font-weight:500; font-style:normal; }
#sub-aside-contact dd li:nth-child(1) a span { display:block; width:75.38vw; height:7.18vw; line-height:7.18vw; background:#fff; border-radius:7.18vw; text-align:center; margin:3.07vw 0 0; font-size:3.33vw; color:#8B787D; font-weight:500; font-family:'Zen Kaku Gothic New', sans-serif; }
#sub-aside-contact dd li:nth-child(2) a { height:16.41vw; background:url(/common/img/ico_header_menu_line.svg) 7.69vw center/8.21vw auto no-repeat, url(/common/img/ico_header_arrows_w.webp) right 2.05vw center/1.03vw auto no-repeat #00B900; padding:0 0 0 10.25vw; }
#sub-aside-contact dd li:nth-child(3) a { height:16.41vw; background:url(/common/img/ico_header_menu_internet.svg) 7.69vw center/4.57vw auto no-repeat, url(/common/img/ico_header_arrows_w.webp) right 2.05vw center/1.03vw auto no-repeat #4B3D3D; padding:0 0 0 10.25vw; }


.btn-icon {display: flex; flex-direction: column; gap:2vw;}
.btn-icon a {background: initial; padding: 0 2vw; display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap;
height: 14.8vw; box-sizing: border-box; font-size: 1.5rem; background-color: #fbfbfb; border: 1px solid #ccc; color: #000; position: relative; font-weight: 400; text-align: center;}
.btn-icon a::after { position: absolute; content: ""; top: 50%; right: 16px; width: 4px; height: 4px; border-top: 1px solid #8b787d; border-right: 1px solid #8b787d; transform: rotate(45deg) translateY(-50%);}
.btn-icon a:hover { opacity: 0.7; transition: ease .5s; }

.btn-icon .icon01 {display: inline-block; margin-right: 5vw; width: 9vw; height: 9vw; background: url("/assets/upload/body/icon01.svg") center no-repeat; background-size: 100%;}
.btn-icon .icon02 {display: inline-block; margin-right: 5vw; width: 9vw; height: 9vw; background: url("/assets/upload/body/icon02.svg") center no-repeat; background-size: 100%;}
.btn-icon .icon03 {display: inline-block; margin-right: 5vw; width: 9vw; height: 9vw; background: url("/assets/upload/body/icon03.svg") center no-repeat; background-size: 100%;}
.btn-icon .icon04 {display: inline-block; margin-right: 5vw; width: 9vw; height: 9vw; background: url("/assets/upload/body/icon04.svg") center no-repeat; background-size: 100%;}
.btn-icon .icon05 {display: inline-block; margin-right: 5vw; width: 9vw; height: 9vw; background: url("/assets/upload/body/icon05.svg") center no-repeat; background-size: 100%;}
.btn-icon .icon06 {display: inline-block; margin-right: 5vw; width: 9vw; height: 9vw; background: url("/assets/upload/body/icon06.svg") center no-repeat; background-size: 100%;}
}

@media (min-width: 897px) {
#sub-aside-contact { display:flex; flex-flow:row-reverse nowrap; width:750px; border:0.5px #ccc solid; margin:0 0 16px; }
#sub-aside-contact dt { width:380px; height:232px; font-weight:400; line-height:1.8; background:url(/img/templete/photo03.webp) right 0 bottom -2px/100% auto no-repeat; padding:65px 0 0 16px; font-size:16px; color:#6B6A6E; }
#sub-aside-contact dt strong { font-size:20px; }
#sub-aside-contact dd { width:370px; background:#fbfbfb; padding:32px 24px; position:relative; }
#sub-aside-contact dd:before { content:""; position:absolute; top:0; left:0; width:0; height:0; border-style:solid; border-color:#f2f2f2 transparent transparent transparent; border-width:114px 114px 0 0; z-index:1; }
#sub-aside-contact dd:after { content:""; position:absolute; bottom:0; right:0; width:0; height:0; border-style:solid; border-color:transparent transparent #f2f2f2 transparent; border-width:0 0 114px 114px; z-index:1; }

#sub-aside-contact dd ul { display:flex; flex-flow:row wrap; justify-content:space-between; position:relative; z-index:2; }
#sub-aside-contact dd li { width:157px; }
#sub-aside-contact dd li:nth-child(1) { width:100%; margin:0 0 8px; }
#sub-aside-contact dd li:nth-child(2) {}
#sub-aside-contact dd li:nth-child(3) {}
#sub-aside-contact dd li a { display:flex; justify-content:center; align-items:center; font-size:15px; color:#fff; font-weight:500; }
#sub-aside-contact dd li:nth-child(1) a { flex-flow:column nowrap; height:96px; background:url(/common/img/ico_header_menu_contact.svg) 105px 16px/32px auto no-repeat, url(/common/img/ico_header_arrows_w.webp) right 8px center/4px auto no-repeat #8B787D; }
#sub-aside-contact dd li:nth-child(1) a em { display:block; padding:0 0 0 40px; font-weight:500; font-style:normal; }
#sub-aside-contact dd li:nth-child(1) a span { display:block; width:258px; height:28px; line-height:28px; background:#fff; border-radius:28px; text-align:center; margin:12px 0 0; font-size:12px; color:#8B787D; font-weight:500; font-family:'Zen Kaku Gothic New', sans-serif; }
#sub-aside-contact dd li:nth-child(2) a { height:64px; background:url(/common/img/ico_header_menu_line.svg) 20px center/32px auto no-repeat, url(/common/img/ico_header_arrows_w.webp) right 8px center/4px auto no-repeat #00B900; padding:0 0 0 40px; }
#sub-aside-contact dd li:nth-child(3) a { height:64px; background:url(/common/img/ico_header_menu_internet.svg) 20px center/18px auto no-repeat, url(/common/img/ico_header_arrows_w.webp) right 8px center/4px auto no-repeat #4B3D3D; padding:0 0 0 30px; }


/* .btn-icon {display: flex; flex-direction: row; gap:24px; justify-content: center; flex-wrap: wrap;} */
.btn-icon {display: grid; grid-template-columns: repeat(2, 1fr); gap:8px; justify-content: center;}
.btn-icon a {min-width: 340px; background: initial; padding: 0 24px; display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; height: 58px; box-sizing: border-box; font-size: 1.5rem; background-color: #fbfbfb; border: 1px solid #ccc; color: #000; position: relative; font-weight: 400; text-align: center;}
.btn-icon a::after { position: absolute; content: ""; top: 50%; right: 16px; width: 4px; height: 4px; border-top: 1px solid #8b787d; border-right: 1px solid #8b787d; transform: rotate(45deg) translateY(-50%);}
.btn-icon a:hover { opacity: 0.7; transition: ease .5s; }

.btn-icon .icon01 {display: inline-block; margin-right: 24px; width: 40px; height: 40px; background: url("/assets/upload/body/icon01.svg") center no-repeat; background-size: 100%;}
.btn-icon .icon02 {display: inline-block; margin-right: 24px; width: 40px; height: 40px; background: url("/assets/upload/body/icon02.svg") center no-repeat; background-size: 100%;}
.btn-icon .icon03 {display: inline-block; margin-right: 24px; width: 40px; height: 40px; background: url("/assets/upload/body/icon03.svg") center no-repeat; background-size: 100%;}
.btn-icon .icon04 {display: inline-block; margin-right: 24px; width: 40px; height: 40px; background: url("/assets/upload/body/icon04.svg") center no-repeat; background-size: 100%;}
.btn-icon .icon05 {display: inline-block; margin-right: 24px; width: 40px; height: 40px; background: url("/assets/upload/body/icon05.svg") center no-repeat; background-size: 100%;}
.btn-icon .icon06 {display: inline-block; margin-right: 24px; width: 40px; height: 40px; background: url("/assets/upload/body/icon06.svg") center no-repeat; background-size: 100%;}
}

/*================================
-症例タブ
=================================*/

.layout-case-tab {
	.tab-kaisetsu {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: min(2.13vw, 8px);
		margin-bottom: min(5.33vw, 40px);
	}

	.tab-kaisetsu li {
		display: flex;
		justify-content: center;
		align-items: center;
		height: min(12.8vw, 48px);
		background: #fdfdfd;
		border: .5px solid #8b787d;
		color: #8b787d;
		font-size: min(3.73vw, 16px);
		position: relative;
		transition: all .3s;
		letter-spacing: .05rem;

		&::before {
			content: "▼";
			position: absolute;
			right: min(2.13vw, 20px);
			top: 50%;
			transform: translateY(-50%);
			z-index: 5;
			font-size: min(3.2vw, 13px);
		}
	}

	.img-kaisetsu {
		padding-top: min(4.26vw, 16px);
		aspect-ratio: 1 / 1;
		border: .5px solid #ccc;
		margin: 0 auto !important;
	}

	.img-kaisetsu-01 {}

	.img-kaisetsu-02 {
		display: none;
	}

	.tab-kaisetsu-on,
	.tab-kaisetsu li:hover {
		background: #8b787d !important;
		color: #fff !important;
		cursor: pointer !important;
		transition: all .3s;
	}
}

@media screen and (max-width: 896px) {
	.layout-case-tab {
		.img-kaisetsu {
			margin: 0 auto min(-5.33vw, -20px) !important;
		}
	}
}
