@charset "utf-8";
/*
Theme Name: res
Version: 1.3.9
Author: T8,Inc.
*/
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,700&display=swap');

:root {
	--break: 1920;
	--guideline-color: #aaa;
	font-size: calc(16 / var(--break) * 100vw);
	--color01: #596652;
	--color02: #9498A0;
	--color03: #5089B2;
	--color04: #AA9F8B;
	--color05: #F1F2ED;
	--color06: #46433D;
	--color07: #4D5360;
	--color08: #5E563E;
	--color09: #222222;
	--color10: #CCC480;
	--color11: #;
	--color12: #;
	--color13: #;
	--color14: #;
	--color15: #;
	--color16: #;
	--color17: #;
	--color18: #;
	--color19: #;

	--size5px: calc(5 / var(--break) * 100vw);
	--size10px: calc(10 / var(--break) * 100vw);
	--size15px: calc(15 / var(--break) * 100vw);
	--size20px: calc(20 / var(--break) * 100vw);
	--size25px: calc(25 / var(--break) * 100vw);
	--size30px: calc(30 / var(--break) * 100vw);
	--size35px: calc(35 / var(--break) * 100vw);
	--size40px: calc(40 / var(--break) * 100vw);
	--size45px: calc(45 / var(--break) * 100vw);
	--size50px: calc(50 / var(--break) * 100vw);
	--size55px: calc(55 / var(--break) * 100vw);
	--size60px: calc(60/ var(--break) * 100vw);
	--size65px: calc(65 / var(--break) * 100vw);
	--size70px: calc(70 / var(--break) * 100vw);
	--size75px: calc(75 / var(--break) * 100vw);
	--size80px: calc(80 / var(--break) * 100vw);
	--size85px: calc(85 / var(--break) * 100vw);
	--size90px: calc(90 / var(--break) * 100vw);
	--size95px: calc(95 / var(--break) * 100vw);
	--size100px: calc(100 / var(--break) * 100vw);
	--size105px: calc(105 / var(--break) * 100vw);
	--size110px: calc(110 / var(--break) * 100vw);
	--size115px: calc(115 / var(--break) * 100vw);
	--size120px: calc(120 / var(--break) * 100vw);
	--size125px: calc(125 / var(--break) * 100vw);
	--size130px: calc(130 / var(--break) * 100vw);
	--size135px: calc(135 / var(--break) * 100vw);
	--size140px: calc(140 / var(--break) * 100vw);
	--size145px: calc(145 / var(--break) * 100vw);
	--size150px: calc(150 / var(--break) * 100vw);
	--size160px: calc(160 / var(--break) * 100vw);
	--size170px: calc(170 / var(--break) * 100vw);
	--size180px: calc(180 / var(--break) * 100vw);
	--size190px: calc(190 / var(--break) * 100vw);
	--size200px: calc(200 / var(--break) * 100vw);
}

@media(min-width: 768px) and (max-width: 1599px) {
	:root {
		--break: 1599;
	}
}

@media(min-width: 768px) and (max-width: 1299px) {
	:root {
		--break: 1299;
	}
}

@media(max-width:767px) {
	:root {
		--break: 750;
	}
}

/*サイト別フォント・カラー設定*/
.txt_link {
	color: #5e563e;
	text-decoration: underline;
}

.shi {
	font-family: shippori-mincho, sans-serif;
	font-weight: 400;
	font-style: normal;
}

.tra {
	font-family: trajan-pro-3, serif;
	font-weight: 400;
	font-style: normal;
}

/*ここまで*/
html,
body {
	font-size: 1.125rem;
	font-weight: 300;
	line-height: 2;
	color: var(--color09);
	letter-spacing: .1em;
	font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.fwn {
	font-weight: normal;
}

.fwb {
	font-weight: bold;
}

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

iframe {
	max-width: 100%;
}

video {
	max-width: 100%;
}

* {
	margin: 0;
	padding: 0;
}

li {
	list-style: none;
}

a {
	color: inherit;
	text-decoration: none;
}

#wrap {
	overflow-x: hidden;
}

.oh {
	overflow: hidden;
}

a:hover {
	opacity: .85;
	transition: .3s;
}

a.zoom {
	pointer-events: none;
}

.inner,
.inner1000,
.inner1140,
.inner1200,
.inner1340,
.inner1500 {
	max-width: 1240px;
	width: 90%;
	margin: 0 auto;
}

.inner1000 {
	max-width: 1000px;
}

.inner1140 {
	max-width: 1140px;
}

.inner1200 {
	max-width: 1200px;
}

.inner1340 {
	max-width: 1340px;
}

.inner1500 {
	max-width: 1500px;
}

.w100 {
	width: 100% !important;
}

table {
	table-layout: fixed;
}

td input {
	max-width: 100%;
}

a[href^="tel:"] {
	cursor: default;
}

a[href^="tel:"]:hover {
	opacity: 1;
}

.slick-slide {
	outline: none;
}

.adjust {
	display: none;
}

.tb_only {
	display: none;
}

.sp_only {
	display: none;
}

.sp_tb {
	display: none;
}

.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.flex.start {
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

.flex.end {
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

.flex.center {
	-webkit-justify-content: center;
	justify-content: center;
}

.flex.around {
	-webkit-justify-content: space-around;
	justify-content: space-around;
}

.flex.between {
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.flex.stretch {
	-webkit-align-items: stretch;
	align-items: stretch;
}

.flex.ai_center {
	-webkit-align-items: center;
	align-items: center;
}

.flex.ai_start {
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.flex.ai_end {
	-webkit-align-items: flex-end;
	align-items: flex-end;
}

.flex.nowrap {
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
}

.flex.column {
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.flex.row {
	-ms-flex-direction: row;
	-webkit-flex-direction: row;
	flex-direction: row;
}

.flex.c_reverse {
	-ms-flex-direction: column-reverse;
	-webkit-flex-direction: column-reverse;
	flex-direction: column-reverse;
}

.flex.r_reverse {
	-ms-flex-direction: row-reverse;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.flex.cc {
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}

.flex.ccc {
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	text-align: center;
}

.flex.cccc {
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	text-align: center;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.noshrink {
	flex: 0 0 auto;
}

.grow {
	flex: 1 1 auto;
}

.ccl {
	border-radius: 100%;
}

.bdrd5 {
	border-radius: var(--size5px);
}

.bdrd10 {
	border-radius: var(--size10px);
}

.bdrd15 {
	border-radius: var(--size15px);
}

.bdrd20 {
	border-radius: var(--size20px);
}

.bdrd25 {
	border-radius: var(--size25px);
}

.bdrd30 {
	border-radius: var(--size30px);
}

.bdrd35 {
	border-radius: var(--size35px);
}

.bdrd40 {
	border-radius: var(--size40px);
}

.bdrd45 {
	border-radius: var(--size45px);
}

.bdrd50 {
	border-radius: var(--size50px);
}

.txt_center {
	text-align: center;
}

.txt_right {
	text-align: right;
}

.txt_rl {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
}

.mgn_a {
	margin-left: auto;
	margin-right: auto;
}

.mgn_l {
	margin-left: auto;
}

.mgn_r {
	margin-right: auto;
}

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

.mb5 {
	margin-bottom: var(--size5px);
}

.mb10 {
	margin-bottom: var(--size10px);
}

.mb15 {
	margin-bottom: var(--size15px);
}

.mb20 {
	margin-bottom: var(--size20px);
}

.mb25 {
	margin-bottom: var(--size25px);
}

.mb30 {
	margin-bottom: var(--size30px);
}

.mb35 {
	margin-bottom: var(--size35px);
}

.mb40 {
	margin-bottom: var(--size40px);
}

.mb45 {
	margin-bottom: var(--size45px);
}

.mb50 {
	margin-bottom: var(--size50px);
}

.mb55 {
	margin-bottom: var(--size55px);
}

.mb60 {
	margin-bottom: var(--size60px);
}

.mb65 {
	margin-bottom: var(--size65px);
}

.mb70 {
	margin-bottom: var(--size70px);
}

.mb75 {
	margin-bottom: var(--size75px);
}

.mb80 {
	margin-bottom: var(--size80px);
}

.mb85 {
	margin-bottom: var(--size85px);
}

.mb90 {
	margin-bottom: var(--size90px);
}

.mb95 {
	margin-bottom: var(--size95px);
}

.mb100 {
	margin-bottom: var(--size100px);
}

.mb105 {
	margin-bottom: var(--size105px);
}

.mb110 {
	margin-bottom: var(--size110px);
}

.mb115 {
	margin-bottom: var(--size115px);
}

.mb120 {
	margin-bottom: var(--size120px);
}

.mb125 {
	margin-bottom: var(--size125px);
}

.mb130 {
	margin-bottom: var(--size130px);
}

.mb135 {
	margin-bottom: var(--size135px);
}

.mb140 {
	margin-bottom: var(--size140px);
}

.mb145 {
	margin-bottom: var(--size145px);
}

.mb150 {
	margin-bottom: var(--size150px);
}

.mb05em {
	margin-bottom: 0.5em;
}

.mb10em {
	margin-bottom: 1.0em;
}

.mb15em {
	margin-bottom: 1.5em;
}

.mb20em {
	margin-bottom: 2.0em;
}

.mb25em {
	margin-bottom: 2.5em;
}

.mb30em {
	margin-bottom: 3.0em;
}

.mt5 {
	margin-top: var(--size5px);
}

.mt10 {
	margin-top: var(--size10px);
}

.mt15 {
	margin-top: var(--size15px);
}

.mt20 {
	margin-top: var(--size20px);
}

.mt25 {
	margin-top: var(--size25px);
}

.mt30 {
	margin-top: var(--size30px);
}

.mt35 {
	margin-top: var(--size35px);
}

.mt40 {
	margin-top: var(--size40px);
}

.mt45 {
	margin-top: var(--size45px);
}

.mt50 {
	margin-top: var(--size50px);
}

.mt55 {
	margin-top: var(--size55px);
}

.mt60 {
	margin-top: var(--size60px);
}

.mt65 {
	margin-top: var(--size65px);
}

.mt70 {
	margin-top: var(--size70px);
}

.mt75 {
	margin-top: var(--size75px);
}

.mt80 {
	margin-top: var(--size80px);
}

.mt85 {
	margin-top: var(--size85px);
}

.mt90 {
	margin-top: var(--size90px);
}

.mt95 {
	margin-top: var(--size95px);
}

.mt100 {
	margin-top: var(--size100px);
}

.mt105 {
	margin-top: var(--size105px);
}

.mt110 {
	margin-top: var(--size110px);
}

.mt115 {
	margin-top: var(--size115px);
}

.mt120 {
	margin-top: var(--size120px);
}

.mt125 {
	margin-top: var(--size125px);
}

.mt130 {
	margin-top: var(--size130px);
}

.mt135 {
	margin-top: var(--size135px);
}

.mt140 {
	margin-top: var(--size140px);
}

.mt145 {
	margin-top: var(--size145px);
}

.mt150 {
	margin-top: var(--size150px);
}

.mt05em {
	margin-top: 0.5em;
}

.mt10em {
	margin-top: 1.0em;
}

.mt15em {
	margin-top: 1.5em;
}

.mt20em {
	margin-top: 2.0em;
}

.mt25em {
	margin-top: 2.5em;
}

.mt30em {
	margin-top: 3.0em;
}

.mr5 {
	margin-right: var(--size5px);
}

.mr10 {
	margin-right: var(--size10px);
}

.mr15 {
	margin-right: var(--size15px);
}

.mr20 {
	margin-right: var(--size20px);
}

.mr25 {
	margin-right: var(--size25px);
}

.mr30 {
	margin-right: var(--size30px);
}

.mr35 {
	margin-right: var(--size35px);
}

.mr40 {
	margin-right: var(--size40px);
}

.mr45 {
	margin-right: var(--size45px);
}

.mr50 {
	margin-right: var(--size50px);
}

.ml5 {
	margin-left: var(--size5px);
}

.ml10 {
	margin-left: var(--size10px);
}

.ml15 {
	margin-left: var(--size15px);
}

.ml20 {
	margin-left: var(--size20px);
}

.ml25 {
	margin-left: var(--size25px);
}

.ml30 {
	margin-left: var(--size30px);
}

.ml35 {
	margin-left: var(--size35px);
}

.ml40 {
	margin-left: var(--size40px);
}

.ml45 {
	margin-left: var(--size45px);
}

.ml50 {
	margin-left: var(--size50px);
}

.db {
	display: block;
}

.dib {
	display: inline-block;
}

.por {
	position: relative;
	z-index: 1;
}

.poa {
	position: absolute;
}

.zi0 {
	z-index: 0;
}

.zi1 {
	z-index: 1;
}

.zi2 {
	z-index: 2;
}

.turn_up {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.lh1 {
	line-height: 1;
}

.lh11 {
	line-height: 1.1;
}

.lh12 {
	line-height: 1.2;
}

.lh13 {
	line-height: 1.3;
}

.lh14 {
	line-height: 1.4;
}

.lh15 {
	line-height: 1.5;
}

.lh16 {
	line-height: 1.6;
}

.lh17 {
	line-height: 1.7;
}

.lh18 {
	line-height: 1.8;
}

.lh19 {
	line-height: 1.9;
}

.lh2 {
	line-height: 2;
}

.lh22 {
	line-height: 2.2;
}

.lh25 {
	line-height: 2.5;
}

.pt0 {
	padding-top: 0;
}

.pt5 {
	padding-top: var(--size5px);
}

.pt10 {
	padding-top: var(--size10px);
}

.pt15 {
	padding-top: var(--size15px);
}

.pt20 {
	padding-top: var(--size20px);
}

.pt25 {
	padding-top: var(--size25px);
}

.pt30 {
	padding-top: var(--size30px);
}

.pt35 {
	padding-top: var(--size35px);
}

.pt40 {
	padding-top: var(--size40px);
}

.pt45 {
	padding-top: var(--size45px);
}

.pt50 {
	padding-top: var(--size50px);
}

.pt55 {
	padding-top: var(--size55px);
}

.pt60 {
	padding-top: var(--size60px);
}

.pt65 {
	padding-top: var(--size65px);
}

.pt70 {
	padding-top: var(--size70px);
}

.pt75 {
	padding-top: var(--size75px);
}

.pt80 {
	padding-top: var(--size80px);
}

.pt85 {
	padding-top: var(--size85px);
}

.pt90 {
	padding-top: var(--size90px);
}

.pt95 {
	padding-top: var(--size95px);
}

.pt100 {
	padding-top: var(--size100px);
}

.pt105 {
	padding-top: var(--size105px);
}

.pt110 {
	padding-top: var(--size110px);
}

.pt115 {
	padding-top: var(--size115px);
}

.pt120 {
	padding-top: var(--size120px);
}

.pt125 {
	padding-top: var(--size125px);
}

.pt130 {
	padding-top: var(--size130px);
}

.pt135 {
	padding-top: var(--size135px);
}

.pt140 {
	padding-top: var(--size140px);
}

.pt145 {
	padding-top: var(--size145px);
}

.pt150 {
	padding-top: var(--size150px);
}

.pt160 {
	padding-top: var(--size160px);
}

.pt170 {
	padding-top: var(--size170px);
}

.pt180 {
	padding-top: var(--size180px);
}

.pt190 {
	padding-top: var(--size190px);
}

.pt200 {
	padding-top: var(--size200px);
}

.pb0 {
	padding-bottom: 0;
}

.pb5 {
	padding-bottom: var(--size5px);
}

.pb10 {
	padding-bottom: var(--size10px);
}

.pb15 {
	padding-bottom: var(--size15px);
}

.pb20 {
	padding-bottom: var(--size20px);
}

.pb25 {
	padding-bottom: var(--size25px);
}

.pb30 {
	padding-bottom: var(--size30px);
}

.pb35 {
	padding-bottom: var(--size35px);
}

.pb40 {
	padding-bottom: var(--size40px);
}

.pb45 {
	padding-bottom: var(--size45px);
}

.pb50 {
	padding-bottom: var(--size50px);
}

.pb55 {
	padding-bottom: var(--size55px);
}

.pb60 {
	padding-bottom: var(--size60px);
}

.pb65 {
	padding-bottom: var(--size65px);
}

.pb70 {
	padding-bottom: var(--size70px);
}

.pb75 {
	padding-bottom: var(--size75px);
}

.pb80 {
	padding-bottom: var(--size80px);
}

.pb85 {
	padding-bottom: var(--size85px);
}

.pb90 {
	padding-bottom: var(--size90px);
}

.pb95 {
	padding-bottom: var(--size95px);
}

.pb100 {
	padding-bottom: var(--size100px);
}

.pb105 {
	padding-bottom: var(--size105px);
}

.pb110 {
	padding-bottom: var(--size110px);
}

.pb115 {
	padding-bottom: var(--size115px);
}

.pb120 {
	padding-bottom: var(--size120px);
}

.pb125 {
	padding-bottom: var(--size125px);
}

.pb130 {
	padding-bottom: var(--size130px);
}

.pb135 {
	padding-bottom: var(--size135px);
}

.pb140 {
	padding-bottom: var(--size140px);
}

.pb145 {
	padding-bottom: var(--size145px);
}

.pb150 {
	padding-bottom: var(--size150px);
}

.pb160 {
	padding-bottom: var(--size160px);
}

.pb170 {
	padding-bottom: var(--size170px);
}

.pb180 {
	padding-bottom: var(--size180px);
}

.pb190 {
	padding-bottom: var(--size190px);
}

.pb200 {
	padding-bottom: var(--size200px);
}

.pr5 {
	padding-right: var(--size5px);
}

.pr10 {
	padding-right: var(--size10px);
}

.pr15 {
	padding-right: var(--size15px);
}

.pr20 {
	padding-right: var(--size20px);
}

.pr25 {
	padding-right: var(--size25px);
}

.pr30 {
	padding-right: var(--size30px);
}

.pr35 {
	padding-right: var(--size35px);
}

.pr40 {
	padding-right: var(--size40px);
}

.pr45 {
	padding-right: var(--size45px);
}

.pr50 {
	padding-right: var(--size50px);
}

.pr55 {
	padding-right: var(--size55px);
}

.pr60 {
	padding-right: var(--size60px);
}

.pr65 {
	padding-right: var(--size65px);
}

.pr70 {
	padding-right: var(--size70px);
}

.pr75 {
	padding-right: var(--size75px);
}

.pr80 {
	padding-right: var(--size80px);
}

.pr85 {
	padding-right: var(--size85px);
}

.pr90 {
	padding-right: var(--size90px);
}

.pr95 {
	padding-right: var(--size95px);
}

.pr100 {
	padding-right: var(--size100px);
}

.pl5 {
	padding-left: var(--size5px);
}

.pl10 {
	padding-left: var(--size10px);
}

.pl15 {
	padding-left: var(--size15px);
}

.pl20 {
	padding-left: var(--size20px);
}

.pl25 {
	padding-left: var(--size25px);
}

.pl30 {
	padding-left: var(--size30px);
}

.pl35 {
	padding-left: var(--size35px);
}

.pl40 {
	padding-left: var(--size40px);
}

.pl45 {
	padding-left: var(--size45px);
}

.pl50 {
	padding-left: var(--size50px);
}

.pl55 {
	padding-left: var(--size55px);
}

.pl60 {
	padding-left: var(--size60px);
}

.pl65 {
	padding-left: var(--size65px);
}

.pl70 {
	padding-left: var(--size70px);
}

.pl75 {
	padding-left: var(--size75px);
}

.pl80 {
	padding-left: var(--size80px);
}

.pl85 {
	padding-left: var(--size85px);
}

.pl90 {
	padding-left: var(--size90px);
}

.pl95 {
	padding-left: var(--size95px);
}

.pl100 {
	padding-left: var(--size100px);
}

.prl5 {
	padding-right: var(--size5px);
	padding-left: var(--size5px);
}

.prl10 {
	padding-right: var(--size10px);
	padding-left: var(--size10px);
}

.prl15 {
	padding-right: var(--size15px);
	padding-left: var(--size15px);
}

.prl20 {
	padding-right: var(--size20px);
	padding-left: var(--size20px);
}

.prl25 {
	padding-right: var(--size25px);
	padding-left: var(--size25px);
}

.prl30 {
	padding-right: var(--size30px);
	padding-left: var(--size30px);
}

.prl35 {
	padding-right: var(--size35px);
	padding-left: var(--size35px);
}

.prl40 {
	padding-right: var(--size40px);
	padding-left: var(--size40px);
}

.prl45 {
	padding-right: var(--size45px);
	padding-left: var(--size45px);
}

.prl50 {
	padding-right: var(--size50px);
	padding-left: var(--size50px);
}

.prl55 {
	padding-right: var(--size55px);
	padding-left: var(--size55px);
}

.prl60 {
	padding-right: var(--size60px);
	padding-left: var(--size60px);
}

.prl65 {
	padding-right: var(--size65px);
	padding-left: var(--size65px);
}

.prl70 {
	padding-right: var(--size70px);
	padding-left: var(--size70px);
}

.prl75 {
	padding-right: var(--size75px);
	padding-left: var(--size75px);
}

.prl80 {
	padding-right: var(--size80px);
	padding-left: var(--size80px);
}

.prl85 {
	padding-right: var(--size85px);
	padding-left: var(--size85px);
}

.prl90 {
	padding-right: var(--size90px);
	padding-left: var(--size90px);
}

.prl95 {
	padding-right: var(--size95px);
	padding-left: var(--size95px);
}

.prl100 {
	padding-right: var(--size100px);
	padding-left: var(--size100px);
}

.fz10 {
	font-size: .625rem;
	letter-spacing: .1em;
}

.fz12 {
	font-size: .75rem;
	letter-spacing: .1em;
}

.fz13 {
	font-size: .8125rem;
	letter-spacing: .1em;
}

.fz14 {
	font-size: .875rem;
	letter-spacing: .1em;
}

.fz15 {
	font-size: .9375rem;
	letter-spacing: .1em;
}

.fz16 {
	font-size: 1rem;
	letter-spacing: .1em;
}

.fz18 {
	font-size: 1.125rem;
	letter-spacing: .1em;
}

.fz20 {
	font-size: 1.25rem;
	letter-spacing: .1em;
}

.fz22 {
	font-size: 1.375rem;
	letter-spacing: .1em;
}

.fz24 {
	font-size: 1.5rem;
	letter-spacing: .1em;
}

.fz25 {
	font-size: 1.5625rem;
	letter-spacing: .1em;
}

.fz26 {
	font-size: 1.625rem;
	letter-spacing: .1em;
}

.fz28 {
	font-size: 1.75rem;
	letter-spacing: .1em;
}

.fz30 {
	font-size: 1.875rem;
	letter-spacing: .1em;
}

.fz32 {
	font-size: 2rem;
	letter-spacing: .1em;
}

.fz34 {
	font-size: 2.125rem;
	letter-spacing: .1em;
}

.fz36 {
	font-size: 2.25rem;
	letter-spacing: .1em;
}

.fz38 {
	font-size: 2.375rem;
	letter-spacing: .1em;
}

.fz40 {
	font-size: 2.5rem;
	letter-spacing: .1em;
}

.fz42 {
	font-size: 2.625rem;
	letter-spacing: .1em;
}

.fz44 {
	font-size: 2.75rem;
	letter-spacing: .1em;
}

.fz46 {
	font-size: 2.875rem;
	letter-spacing: .1em;
}

.fz48 {
	font-size: 3rem;
	letter-spacing: .1em;
}

.fz50 {
	font-size: 3.125rem;
	letter-spacing: .1em;
}

.fz52 {
	font-size: 3.25rem;
	letter-spacing: .1em;
}

.fz54 {
	font-size: 3.375rem;
	letter-spacing: .1em;
}

.fz56 {
	font-size: 3.5rem;
	letter-spacing: .1em;
}

.fz58 {
	font-size: 3.625rem;
	letter-spacing: .1em;
}

.fz60 {
	font-size: 3.75rem;
	letter-spacing: .1em;
}

.fz62 {
	font-size: 3.875rem;
	letter-spacing: .1em;
}

.fz64 {
	font-size: 4rem;
	letter-spacing: .1em;
}

.fz66 {
	font-size: 4.125rem;
	letter-spacing: .1em;
}

.fz68 {
	font-size: 4.25rem;
	letter-spacing: .1em;
}

.fz70 {
	font-size: 4.375rem;
	letter-spacing: .1em;
}

.fz80 {
	font-size: 5rem;
	letter-spacing: .1em;
}

.fz84 {
	font-size: 5.25rem;
	letter-spacing: .1em;
}

.fz90 {
	font-size: 5.625rem;
	letter-spacing: .1em;
}

.fz96 {
	font-size: 6rem;
	letter-spacing: .1em;
}

.fz100 {
	font-size: 6.25rem;
	letter-spacing: .1em;
}

.fz110 {
	font-size: 6.875rem;
	letter-spacing: .1em;
}

.fz120 {
	font-size: 7.5rem;
	letter-spacing: .1em;
}

.fz130 {
	font-size: 8.125rem;
	letter-spacing: .1em;
}

.fz140 {
	font-size: 8.75rem;
	letter-spacing: .1em;
}

.fz150 {
	font-size: 9.375rem;
	letter-spacing: .1em;
}

.ls0 {
	letter-spacing: 0;
}

.ls05 {
	letter-spacing: .05em;
}

.ls1 {
	letter-spacing: .1em;
}

.ls15 {
	letter-spacing: .15em;
}

.ls2 {
	letter-spacing: .2em;
}

.txt_white {
	color: #fff !important;
}

.bg_white {
	background-color: #fff !important;
}

.shadow_w {
	text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff;
}

em {
	font-style: normal;
}


.txt_col01 {
	color: var(--color01) !important;
}

.txt_col02 {
	color: var(--color02) !important;
}

.txt_col03 {
	color: var(--color03) !important;
}

.txt_col04 {
	color: var(--color04) !important;
}

.txt_col05 {
	color: var(--color05) !important;
}

.txt_col06 {
	color: var(--color06) !important;
}

.txt_col07 {
	color: var(--color07) !important;
}

.txt_col08 {
	color: var(--color08) !important;
}

.txt_col09 {
	color: var(--color09) !important;
}

.txt_col10 {
	color: var(--color10) !important;
}

.txt_col11 {
	color: var(--color11) !important;
}

.txt_col12 {
	color: var(--color12) !important;
}

.txt_col13 {
	color: var(--color13) !important;
}

.txt_col14 {
	color: var(--color14) !important;
}

.txt_col15 {
	color: var(--color15) !important;
}

.txt_col16 {
	color: var(--color16) !important;
}

.txt_col17 {
	color: var(--color17) !important;
}

.txt_col18 {
	color: var(--color18) !important;
}

.txt_col19 {
	color: var(--color19) !important;
}

.txt_col20 {
	color: var(--color20) !important;
}

.txt_col_fl01::first-letter {
	color: var(--color01) !important;
}

.txt_col_fl02::first-letter {
	color: var(--color02) !important;
}

.txt_col_fl03::first-letter {
	color: var(--color03) !important;
}

.txt_col_fl04::first-letter {
	color: var(--color04) !important;
}

.txt_col_fl05::first-letter {
	color: var(--color05) !important;
}

.txt_col_fl06::first-letter {
	color: var(--color06) !important;
}

.txt_col_fl07::first-letter {
	color: var(--color07) !important;
}

.txt_col_fl08::first-letter {
	color: var(--color08) !important;
}

.txt_col_fl09::first-letter {
	color: var(--color09) !important;
}

.txt_col_fl10::first-letter {
	color: var(--color10) !important;
}

.txt_col_fl11::first-letter {
	color: var(--color11) !important;
}

.txt_col_fl12::first-letter {
	color: var(--color12) !important;
}

.txt_col_fl13::first-letter {
	color: var(--color13) !important;
}

.txt_col_fl14::first-letter {
	color: var(--color14) !important;
}

.txt_col_fl15::first-letter {
	color: var(--color15) !important;
}

.txt_col_fl16::first-letter {
	color: var(--color16) !important;
}

.txt_col_fl17::first-letter {
	color: var(--color17) !important;
}

.txt_col_fl18::first-letter {
	color: var(--color18) !important;
}

.txt_col_fl19::first-letter {
	color: var(--color19) !important;
}

.txt_col_fl20::first-letter {
	color: var(--color20) !important;
}

.bg_col01 {
	background-color: var(--color01) !important;
}

.bg_col02 {
	background-color: var(--color02) !important;
}

.bg_col03 {
	background-color: var(--color03) !important;
}

.bg_col04 {
	background-color: var(--color04) !important;
}

.bg_col05 {
	background-color: var(--color05) !important;
}

.bg_col06 {
	background-color: var(--color06) !important;
}

.bg_col07 {
	background-color: var(--color07) !important;
}

.bg_col08 {
	background-color: var(--color08) !important;
}

.bg_col09 {
	background-color: var(--color09) !important;
}

.bg_col10 {
	background-color: var(--color10) !important;
}

.bg_col11 {
	background-color: var(--color11) !important;
}

.bg_col12 {
	background-color: var(--color12) !important;
}

.bg_col13 {
	background-color: var(--color13) !important;
}

.bg_col14 {
	background-color: var(--color14) !important;
}

.bg_col15 {
	background-color: var(--color15) !important;
}

.bg_col16 {
	background-color: var(--color16) !important;
}

.bg_col17 {
	background-color: var(--color17) !important;
}

.bg_col18 {
	background-color: var(--color18) !important;
}

.bg_col19 {
	background-color: var(--color19) !important;
}

.bg_col20 {
	background-color: var(--color20) !important;
}

.bdr_col01 {
	border-color: var(--color01) !important;
}

.bdr_col02 {
	border-color: var(--color02) !important;
}

.bdr_col03 {
	border-color: var(--color03) !important;
}

.bdr_col04 {
	border-color: var(--color04) !important;
}

.bdr_col05 {
	border-color: var(--color05) !important;
}

.bdr_col06 {
	border-color: var(--color06) !important;
}

.bdr_col07 {
	border-color: var(--color07) !important;
}

.bdr_col08 {
	border-color: var(--color08) !important;
}

.bdr_col09 {
	border-color: var(--color09) !important;
}

.bdr_col10 {
	border-color: var(--color10) !important;
}

.bdr_col11 {
	border-color: var(--color11) !important;
}

.bdr_col12 {
	border-color: var(--color12) !important;
}

.bdr_col13 {
	border-color: var(--color13) !important;
}

.bdr_col14 {
	border-color: var(--color14) !important;
}

.bdr_col15 {
	border-color: var(--color15) !important;
}

.bdr_col16 {
	border-color: var(--color16) !important;
}

.bdr_col17 {
	border-color: var(--color17) !important;
}

.bdr_col18 {
	border-color: var(--color18) !important;
}

.bdr_col19 {
	border-color: var(--color19) !important;
}

.bdr_col20 {
	border-color: var(--color20) !important;
}

.bbw {
	border-bottom: 1px solid #fff;
}

.parallax {
	width: 100%;
	background-attachment: fixed !important;
}

.parallax.is_ios,
.tab.parallax {
	background-attachment: inherit !important;
}

.ready {
	position: relative;
}

.ready a {
	pointer-events: none;
}

.ready a:hover {
	opacity: 1;
	cursor: default;
}

.ready:before {
	content: "準備中";
	color: #fff;
	text-align: center;
	width: calc(100 / var(--break) * 100vw);
	height: calc(40 / var(--break) * 100vw);
	line-height: calc(40 / var(--break) * 100vw);
	background: rgba(51, 51, 51, .7);
	font-size: 1.125rem;
	letter-spacing: .1em;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 2;
	position: absolute;
}

@media(max-width: 767px) {

	.parallax,
	.parallax.is_ios,
	.tab.parallax {
		width: 100%;
		background-attachment: inherit !important;
	}
}

@media(min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}

	.slick-slide img,
	#sb_instagram .sbi_photo_wrap {
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
	}
}

@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {
	.pc_only {
		display: none;
	}


	.sp_only {
		display: none;
	}

}

@media(max-width: 767px) {
	:root {
		font-size: 4.27vw;
	}

	html,
	body {
		font-size: 1rem;
		letter-spacing: 0;
	}

	.lum-lightbox {
		background-color: rgba(255, 255, 255, .9);
	}

	.lum-close-button:after,
	.lum-close-button:before {
		background-color: rgb(000, 000, 000);
	}

	.lum-gallery-button {
		display: none !important;
	}

	a.zoom {
		position: relative;
		display: block;
		pointer-events: auto;
	}

	a.zoom:before {
		content: "タップで拡大します";
		position: absolute;
		width: 100%;
		height: 4.27vw;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		letter-spacing: .1em;
		line-height: 4.27vw;
		text-shadow: 0 0 calc(5 / var(--break) * 100vw) #fff, 0 0 calc(5 / var(--break) * 100vw) #fff, 0 0 calc(10 / var(--break) * 100vw) #fff, 0 0 calc(10 / var(--break) * 100vw) #fff, 0 0 calc(15 / var(--break) * 100vw) #fff, 0 0 calc(15 / var(--break) * 100vw) #fff;
		text-align: center;
	}

	a.zoom:after {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		display: block;
		width: 1.5em;
		height: 1.5em;
		background-color: rgba(0, 0, 0, 0.5);
		background-image: url("images/page/icn_zoom.svg");
		background-size: 1em 1em;
		background-position: center center;
		background-repeat: no-repeat;
	}

	.lum-lightbox.lum-open {
		z-index: 10;
	}

	.lum-lightbox-image-wrapper {
		overflow-x: scroll;
	}

	.lum-lightbox-inner img {
		max-width: calc(1000 / var(--break) * 100vw);
	}

	.inner,
	.inner1000,
	.inner1140,
	.inner1200,
	.inner1340,
	.inner1500 {
		width: 100%;
		max-width: calc(702 / var(--break) * 100vw);
	}

	.pc_only {
		display: none;
	}

	.tb_only {
		display: none;
	}

	.sp_only {
		display: inherit;
	}

	.tb_pc {
		display: none;
	}

	.sp_tb {
		display: inherit;
	}

	.pt_1vw {
		padding-top: 1vw;
	}

	.pt_2vw {
		padding-top: 2vw;
	}

	.pt_3vw {
		padding-top: 3vw;
	}

	.pt_4vw {
		padding-top: 3vw;
	}

	.pt_5vw {
		padding-top: 5vw;
	}

	.pt_6vw {
		padding-top: 6vw;
	}

	.pt_7vw {
		padding-top: 7vw;
	}

	.pt_8vw {
		padding-top: 8vw;
	}

	.pt_9vw {
		padding-top: 9vw;
	}

	.pt_10vw {
		padding-top: 10vw;
	}

	.pt_11vw {
		padding-top: 11vw;
	}

	.pt_12vw {
		padding-top: 12vw;
	}

	.pt_13vw {
		padding-top: 13vw;
	}

	.pt_14vw {
		padding-top: 14vw;
	}

	.pt_15vw {
		padding-top: 15vw;
	}

	.pb_1vw {
		padding-bottom: 1vw;
	}

	.pb_2vw {
		padding-bottom: 2vw;
	}

	.pb_3vw {
		padding-bottom: 4vw;
	}

	.pb_5vw {
		padding-bottom: 5vw;
	}

	.pb_6vw {
		padding-bottom: 6vw;
	}

	.pb_7vw {
		padding-bottom: 7vw;
	}

	.pb_8vw {
		padding-bottom: 8vw;
	}

	.pb_9vw {
		padding-bottom: 9vw;
	}

	.pb_10vw {
		padding-bottom: 10vw;
	}

	.pb_11vw {
		padding-bottom: 11vw;
	}

	.pb_12vw {
		padding-bottom: 12vw;
	}

	.pb_13vw {
		padding-bottom: 13vw;
	}

	.pb_14vw {
		padding-bottom: 14vw;
	}

	.pb_15vw {
		padding-bottom: 15vw;
	}

	.ls0_sp {
		letter-spacing: 0 !important;
	}

	.ls05_sp {
		letter-spacing: .05em !important;
	}

	.ls15_sp {
		letter-spacing: .15em !important;
	}

	.ls2_sp {
		letter-spacing: .2em !important;
	}

	.txt_width {
		max-width: calc(646 / var(--break) * 100vw) !important;
		margin-left: auto;
		margin-right: auto;
	}

	.sp_width01 {
		padding-inline: 3.2% !important;
	}

	.sp_width02 {
		padding-inline: 6.4% !important;
	}

	.sp_txt01 {
		font-size: calc(32 / var(--break) * 100vw);
		line-height: 2;
		letter-spacing: 0;
	}

	.sp_left {
		text-align: left !important;
	}

	.shadow_w {
		text-shadow: 0 0 calc(5 / var(--break) * 100vw) #fff, 0 0 calc(5 / var(--break) * 100vw) #fff, 0 0 calc(10 / var(--break) * 100vw) #fff, 0 0 calc(10 / var(--break) * 100vw) #fff, 0 0 calc(15 / var(--break) * 100vw) #fff, 0 0 calc(15 / var(--break) * 100vw) #fff;
	}

	.txt_tb {
		writing-mode: horizontal-tb;
	}

	.ready:before {
		font-size: .75rem;
	}
}

/* 共通パーツ */
.wrap_common01 .list {
	width: calc(1225 / var(--break) * 100vw);
	gap: calc(35 / var(--break) * 100vw);
}

.wrap_common01 .list .item {
	border-radius: 50%;
	width: calc(280 / var(--break) * 100vw);
	height: calc(280 / var(--break) * 100vw);
	outline: solid calc(10 / var(--break) * 100vw) rgba(255, 255, 255, .5);
	color: #333;
}

.wrap_common01 .list .item .icn {
	width: calc(26 / var(--break) * 100vw);
}

.wrap_common01 .deco {
	bottom: -.18em;
	opacity: .8;
}

.row_common01 .col_txt {
	width: 50%;
}

.row_common01 .col_txt .wrap {
	width: calc(675 / var(--break) * 100vw);
	margin-left: auto;
}

.row_common01 .col_txt .ttl {
	border-bottom: solid 1px var(--color09);
	padding-bottom: calc(35 / var(--break) * 100vw);
}

.row_common01 .col_img {
	width: 49.6%;
}

.row_common01 .col_img::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: calc(20 / var(--break) * 100vw);
	left: calc(-20 / var(--break) * 100vw);
	background: var(--color04);
	z-index: 0;
	clip-path: polygon(0 0, 100% 100%, 0 100%);
}

/* 装飾グレー */
.row_common01 .col_img.deco_col02::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: calc(20 / var(--break) * 100vw);
	left: calc(-20 / var(--break) * 100vw);
	background: var(--color02);
	z-index: 0;
	clip-path: polygon(0 0, 100% 100%, 0 100%);
}

.row_common01.reverse .col_img.deco_col02::after {
	left: calc(20 / var(--break) * 100vw);
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.row_common01.reverse .col_txt .wrap {
	margin-left: 0;
	margin-right: auto;
}

.bbb {
	border-bottom: 1px solid var(--color09);
}

.hdg2 .en {
	background: linear-gradient(to top,
			#927f5c 0%,
			#927f5c 30%,
			#bfa87e 60%,
			#bfa87e 100%);
	background-clip: text;
	color: transparent;
}

.en.col_g {
	background: linear-gradient(to top, #5d626e 0%, #5d626e 30%, #979ba3 60%, #979ba3 100%);
	background-clip: text;
	color: transparent;
}

.hdg3 {
	padding: calc(5 / var(--break) * 100vw) 0;
	border-top: 1px solid var(--color08);
	border-bottom: 1px solid var(--color08);
}

.hdg3 span {
	background:
		url(images/page/bg__hdg3.jpg) center / cover no-repeat;
}

.box_common01 {
	background:
		url(images/index/deco__caries01.svg)no-repeat calc(10 / var(--break) * 100vw) calc(10 / var(--break) * 100vw) / calc(110 / var(--break) * 100vw),
		url(images/index/deco__caries02.svg)no-repeat calc(100% - calc(10 / var(--break) * 100vw)) calc(100% - calc(10 / var(--break) * 100vw)) / calc(110 / var(--break) * 100vw),
		linear-gradient(to bottom, #bfa87e 0%, #927f5c 100%);
}

@media(min-width: 768px) and (max-width:1599px) {
	.row_common01 .col_txt .wrap {
		width: auto;
	}

	.wrap_common01 .list {
		width: calc(1105 / var(--break) * 100vw);
		gap: calc(35 / var(--break) * 100vw);
	}

	.wrap_common01 .list .item {
		font-size: calc(19 / var(--break) * 100vw);
		width: calc(250 / var(--break) * 100vw);
		height: calc(250 / var(--break) * 100vw);
	}

	.wrap_common01 .list .item .icn {
		width: calc(22 / var(--break) * 100vw);
	}
}

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

	.hdg2 {
		padding-top: calc(88 / var(--break) * 100vw);
	}

	.hdg2 .en {
		font-size: calc(88 / var(--break) * 100vw);
	}

	.hdg2 .ja {
		font-size: calc(28 / var(--break) * 100vw);
	}

	.hdg3 {
		font-size: calc(26 / var(--break) * 100vw);
	}

	.row_common01 .col_txt .ttl {
		font-size: calc(30 / var(--break) * 100vw);
		padding-bottom: calc(30 / var(--break) * 100vw);
	}

	.row_common01 .col_txt {
		padding-inline: calc(60 / var(--break) * 100vw);
	}

	.box_common01 .ttl {
		font-size: calc(28 / var(--break) * 100vw);
	}

	.wrap_common01 .list {
		width: calc(915 / var(--break) * 100vw);
		gap: calc(25 / var(--break) * 100vw);
	}

	.wrap_common01 .list .item {
		width: calc(210 / var(--break) * 100vw);
		height: calc(210 / var(--break) * 100vw);
		font-size: calc(16 / var(--break) * 100vw);
		padding-top: calc(40 / var(--break) * 100vw);
		letter-spacing: 0.07em;
		outline: solid calc(7 / var(--break) * 100vw) rgba(255, 255, 255, .5);
	}

	.wrap_common01 .deco {
		font-size: calc(80 / var(--break) * 100vw);
		bottom: -.17em;
	}
}

@media(max-width: 767px) {
	.hdg2 {
		padding-top: calc(130 / var(--break) * 100vw);
		padding-bottom: calc(40 / var(--break) * 100vw);
	}

	.hdg2 .en {
		font-size: calc(80 / var(--break) * 100vw);
	}

	.hdg2 .ja {
		font-size: calc(30 / var(--break) * 100vw);
		line-height: 1.6;
		margin-top: calc(30 / var(--break) * 100vw);
	}

	.hdg3 {
		font-size: calc(40 / var(--break) * 100vw);
		line-height: 1.6;
		letter-spacing: 0;
	}

	.hdg3 span {
		padding-block: calc(20 / var(--break) * 100vw);
	}

	.row_common01 {
		flex-direction: column-reverse;
	}

	.row_common01.reverse {
		flex-direction: column;
	}

	.row_common01 .col_img {
		width: 96.8%;
		margin-left: 3.2%;
	}

	.row_common01.reverse .col_img {
		width: 96.8%;
		margin-right: 3.2%;
		margin-left: initial;
	}

	.row_common01 .col_txt {
		width: 100%;
		margin-top: 10vw;
	}

	.row_common01 .col_txt .ttl {
		font-size: calc(40 / var(--break) * 100vw);
	}
}

/* ヘッダー header
------------------------------------------------------------------*/
header {
	z-index: 10;
}

header h1 {
	width: calc(320 / var(--break) * 100vw);
}

.wrap_head01 .address01 .icn img {
	width: calc(40 / var(--break) * 100vw);
	height: calc(45 / var(--break) * 100vw);
}

header .web_head {
	margin-right: calc(110 / var(--break) * 100vw);
	width: calc(240 / var(--break) * 100vw);
	background: url(images/page/pt08.jpg);
}

.web_head a {
	outline: 1px solid #fff;
	outline-offset: calc(-5 / var(--break) * 100vw);
}

.web_head a::after {
	border-left-color: #fff !important;
}

.web_head.w600 {
	max-width: 600px;
	width: calc(600 / var(--break) * 100vw);
}

.web_head.w600 a::after {
	border-left-width: calc(15 / var(--break) * 100vw);
	border-top-width: calc(15 / var(--break) * 100vw);
	border-bottom-width: calc(15 / var(--break) * 100vw);
	bottom: calc(1 / var(--break) * 100vw);
	right: calc(10 / var(--break) * 100vw);
}


@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {
	header h1 {
		width: calc(280 / var(--break) * 100vw);
	}

	.deco__flow01 {
		width: 65%;
		margin-inline: auto;
	}

	.web_head.w600 {
		max-width: 520px;
		width: calc(520 / var(--break) * 100vw);
	}

	.web_head .txt01 {
		font-size: calc(24 / var(--break) * 100vw);
	}

	.web_head .txt02 {
		font-size: calc(32 / var(--break) * 100vw);
	}

	header .web_head a {
		max-height: calc(110 / var(--break) * 100vw);
	}

	header .web_head .txt01 {
		font-size: calc(20 / var(--break) * 100vw);
	}

	header .web_head .txt02 {
		font-size: calc(28 / var(--break) * 100vw);
	}
}

@media(max-width: 767px) {
	.web_head.w600 .txt01 {
		font-size: calc(28 / var(--break) * 100vw);
	}

	.web_head.w600 .txt02 {
		font-size: calc(38 / var(--break) * 100vw);
	}
}


/* メインイメージ main_img
------------------------------------------------------------------*/
.main_img {
	position: relative;
}

.main_img .slide_main {
	opacity: 0;
	transition: opacity .3s linear;
	pointer-events: none;
}

.wrap__main01,
.wrap__main02 {
	margin: calc(19 / var(--break) * 100vw);
}

.main_img .slide_main.slick-initialized {
	opacity: 1;
}

.main_img .slide_main li {
	min-height: calc(900 / var(--break) * 100vw);
	height: 100vh;
}


.main_img.tab .slide_main li {
	height: auto;
}

.wrap__main01 {
	background: url(images/index/main01.jpg)no-repeat center / cover;
	height: calc(100vh - calc(38 / var(--break) * 100vw));
	min-height: calc(900 / var(--break) * 100vw);
}

.wrap__main02 {
	background: url(images/index/main02.jpg)no-repeat center / cover;
	height: calc(100vh - calc(38 / var(--break) * 100vw));
	min-height: calc(900 / var(--break) * 100vw);
}

.main_ttl02 {
	padding-top: 12.5%;
	width: calc(1440 / var(--break) * 100vw);
}

.main_ttl01 {
	padding-top: 12.5%;
	width: calc(1500 / var(--break) * 100vw);
}


.wrap__main01::after {
	content: "";
	display: block;
	width: 100%;
	height: calc(40 / var(--break) * 100vw);
	background: url(images/page/pt01.png);
	position: absolute;
	bottom: 0;
}

.wrap__main01>.txt01 {
	left: -0.17lh;
	bottom: 8%;
	writing-mode: vertical-rl;
	opacity: .5;
}

.wrap__main01>.txt02 {
	right: -0.05lh;
	bottom: 12%;
	writing-mode: vertical-rl;
	opacity: .4;
}

.row__main01 {
	width: calc(1410 / var(--break) * 100vw);
}

.row__main01 .col_l {
	width: 45.7%;
	background:
		url(images/index/deco__main01.svg)no-repeat calc(10 / var(--break) * 100vw) calc(10 / var(--break) * 100vw) / calc(60 / var(--break) * 100vw),
		url(images/index/deco__main02.svg)no-repeat calc(100% - calc(8 / var(--break) * 100vw)) calc(100% - calc(8 / var(--break) * 100vw)) / calc(60 / var(--break) * 100vw),
		#5e563eE6;
}

.row__main01 .deco {
	background-image: radial-gradient(circle at center, var(--color10) 12%, transparent 12%);
	background-position: top left;
	background-repeat: repeat-x;
	background-size: 1.09em 0.3em;
	padding-top: .4em;
}

.row__main01 .col_r {
	width: 45.7%;
	background:
		url(images/index/deco__main01.svg)no-repeat calc(8 / var(--break) * 100vw) calc(8 / var(--break) * 100vw) / calc(60 / var(--break) * 100vw),
		url(images/index/deco__main02.svg)no-repeat calc(100% - calc(8 / var(--break) * 100vw)) calc(100% - calc(8 / var(--break) * 100vw)) / calc(60 / var(--break) * 100vw),
		#4d5360E6;
}

.row__main01 .icn {
	top: calc(-72 / var(--break) * 100vw);
	left: 50%;
	transform: translateX(-50%);
	width: calc(100 / var(--break) * 100vw);
}

/* main02 */
.wrap__main02::after {
	content: "";
	display: block;
	width: 100%;
	height: calc(40 / var(--break) * 100vw);
	background: url(images/page/pt01.png);
	position: absolute;
	bottom: 0;
}

.row__main02 {
	width: calc(930 / var(--break) * 100vw);
}

.main02 .main_ttl {
	padding-top: 13.5%;
}

.row__main02 .col {
	width: calc(290 / var(--break) * 100vw);
	aspect-ratio: 1 / 1;
	background: url(images/index/deco__main03.svg)no-repeat center/ contain;
}

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

	.main_ttl02 {
		padding-top: 17.5%;
		width: calc(1150 / var(--break) * 100vw);
	}

	.main_ttl01 {
		padding-top: 16.5%;
		width: calc(1200 / var(--break) * 100vw);
	}

	.row__main01 {
		width: calc(1180 / var(--break) * 100vw);
	}

	.row__main01 .col_l,
	.row__main01 .col_r {
		width: 47%;
	}

	.row__main01 .icn {
		top: calc(-60 / var(--break) * 100vw);
		width: calc(82 / var(--break) * 100vw);
	}

	.row__main01 .col_l .txt01,
	.row__main01 .col_r .txt01 {
		font-size: calc(30 / var(--break) * 100vw);
	}

	.row__main01 .col_l .txt02,
	.row__main01 .col_r .txt02 {
		font-size: calc(40 / var(--break) * 100vw);
	}
}

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

	.main_img .slide_main .slick-slide,
	.wrap__main01,
	.wrap__main02 {
		min-height: calc(760 / var(--break) * 100vw);
		height: auto;
	}

	.main_ttl02 {
		padding-top: 17%;
		width: calc(1050 / var(--break) * 100vw);
	}

	.main_ttl01 {
		padding-top: 16%;
		width: calc(1090 / var(--break) * 100vw);
	}

	.wrap__main01>.txt01,
	.wrap__main01>.txt02 {
		font-size: calc(80 / var(--break) * 100vw);
	}

	.row__main01 {
		width: calc(1000 / var(--break) * 100vw);
	}

	.row__main01 .icn {
		top: calc(-53 / var(--break) * 100vw);
		width: calc(72 / var(--break) * 100vw);
	}

	.main_ttl .ttl01 {
		font-size: calc(32 / var(--break) * 100vw);
	}

	.main_ttl .ttl02 {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.main_ttl .ttl02 span {
		font-size: calc(56 / var(--break) * 100vw);
	}


	.row__main01 .col_l .txt01,
	.row__main01 .col_r .txt01 {
		font-size: calc(22 / var(--break) * 100vw);
	}

	.row__main01 .col_l .txt02,
	.row__main01 .col_r .txt02 {
		font-size: calc(32 / var(--break) * 100vw);
	}
}

@media only screen and (max-width: 767px) {
	.main_img .slide_main {
		margin-inline: auto;
		margin-block: calc(24 / var(--break) * 100vw);
	}

	.main_img .slide_main li {
		height: auto;
	}

	.wrap__main01 {
		background: url(images/index/main01_sp.jpg)no-repeat center / cover;
		height: calc(100vh - calc(158 / var(--break) * 100vw));
	}

	.wrap__main02 {
		background: url(images/index/main02_sp.jpg)no-repeat center / cover;
		height: calc(100vh - calc(158 / var(--break) * 100vw));
	}

	.wrap__main01 .main_ttl {
		padding-top: 64.5%;
	}

	.main_ttl02 {
		padding-top: 86%;
		width: calc(625 / var(--break) * 100vw);
	}

	.main_ttl01 {
		padding-top: 64.5%;
		width: calc(625 / var(--break) * 100vw);
	}

	.wrap__main01>.txt01 {
		font-size: calc(100 / var(--break) * 100vw);
		left: -0.17lh;
		bottom: initial;
		top: calc(205 / var(--break) * 100vw);
		writing-mode: vertical-rl;
		opacity: .5;
	}

	.wrap__main01>.txt02 {
		font-size: calc(100 / var(--break) * 100vw);
		right: -0.05lh;
		bottom: 3%;
		writing-mode: vertical-rl;
		opacity: .4;
	}

	.row__main01 {
		width: 100%;
		gap: calc(50 / var(--break) * 100vw);
		top: calc(-100 / var(--break) * 100vw);
	}

	.row__main01 .col_l,
	.row__main01 .col_r {
		width: 86.7%;
	}

	.row__main01 .txt01 {
		font-size: calc(34 / var(--break) * 100vw);
	}

	.row__main01 .txt02 {
		font-size: calc(50 / var(--break) * 100vw);
	}

	.main02 .index_bnr {
		margin-inline: calc(50% - 50vw);
		width: 100vw;
	}

	.index_bnr {
		height: calc(600 / var(--break) * 100vw);
	}

	.index_bnr .address01 {
		font-size: calc(30 / var(--break) * 100vw);
		margin-top: -12vw;
	}

	.main02 .index_bnr .address01 {
		margin-top: -14.1vw;
	}

	.index_bnr .address01 .icn {
		margin-bottom: calc(-20 / var(--break) * 100vw);
		width: calc(65 / var(--break) * 100vw);
	}

	.row__main02 {
		flex-wrap: wrap !important;
		justify-content: center !important;
		width: 100%;
		gap: 0 calc(20 / var(--break) * 100vw);
		top: -16vw;
	}

	.row__main02 .col {
		width: calc(350 / var(--break) * 100vw);
	}

	.row__main02 .col .txt01 {
		font-size: calc(30 / var(--break) * 100vw);
		line-height: 2;
	}

	.row__main02 .col:last-of-type {
		margin-top: -22vw;
	}
}

/* グローバルナビゲーション gnav
------------------------------------------------------------------*/
.gnav {
	transition: .3s;
	width: 100%;
}

/* .gnav.is_fixed {
	position: fixed;
	left: 0;
	z-index: 10;
	transition: .3s;
} */
.fix_nav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	transition: .5s;
	width: 100%;
	transform: translateY(-100%);
	opacity: 0;
	background: rgba(255, 255, 255, .9);
}

.fix_nav.is_fixed {
	transition: .5s;
	transform: translateY(0);
	opacity: 1;
	z-index: 10;
}

.gnav>ul {
	max-width: ;
}

.gnav>ul>li {
	position: relative;
	-ms-flex-grow: 1;
	flex-grow: 1;
}

.gnav>ul>li>a {
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-align-items: center;
	align-items: center;
	height: calc(100 / var(--break) * 100vw);
	position: relative;
}

.gnav>ul>li>a:after {
	content: "";
	position: absolute;
	width: calc(/ var(--break) * 100vw);
	height: calc(/ var(--break) * 100vw);
	background: ;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	opacity: 0;
	transition: .3s;
}

.gnav>ul>li>a:hover:after,
.gnav>ul>li>a.active:after,
.gnav>ul>li>a.open:after {
	opacity: 1;
	transition: .3s;
}

.gnav>ul>li .en {
	/*text-transform: uppercase;*/
}

.gnav .nav_sub {
	display: none;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	/* width: calc(/ var(--break) * 100vw); */
}


@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {}

@media only screen and (max-width: 767px) {}


.gnav,
.fix_nav {
	display: none;
}

.btn_gnav_sp {
	position: fixed;
	top: 0;
	right: 0;
	height: calc(110 / var(--break) * 100vw);
	width: calc(110 / var(--break) * 100vw);
	background: var(--color09);
	z-index: 10000;
	outline: none;
	cursor: pointer;
}

.btn_gnav_sp .txt_gnav {
	position: absolute;
	width: calc(48 / var(--break) * 100vw);
	right: 0;
	left: 0;
	bottom: calc(20 / var(--break) * 100vw);
	margin: auto;
}

.btn_gnav_sp .icn_gnav {
	width: calc(40 / var(--break) * 100vw);
	height: 1px;
	position: absolute;
	top: calc(-20 / var(--break) * 100vw);
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: #fff;
	transition: transform .3s ease-in-out;
}

.btn_gnav_sp .icn_gnav:before,
.btn_gnav_sp .icn_gnav:after {
	content: "";
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	background: #fff;
	transition: transform .3s ease-in-out;
}

.btn_gnav_sp .icn_gnav:before {
	top: calc(-10 / var(--break) * 100vw);
}

.btn_gnav_sp .icn_gnav:after {
	bottom: calc(-10 / var(--break) * 100vw);
}

.open .btn_gnav_sp .icn_gnav {
	background: none;
}

.open .btn_gnav_sp .icn_gnav:before,
.open .btn_gnav_sp .icn_gnav:after {
	background: #fff;
	transition: transform .3s ease-in-out;
}

.open .btn_gnav_sp .icn_gnav:before {
	transform: rotate(45deg);
	top: 0;
}

.open .btn_gnav_sp .icn_gnav:after {
	transform: rotate(-45deg);
	bottom: 0;
}

.gnav_sp {
	padding: calc(155 / var(--break) * 100vw) 0 0;
	overflow-y: auto;
	overflow-x: hidden;
	background: rgba(255, 255, 255, .9);
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9999;
	height: 100%;
	visibility: hidden;
	opacity: 0;
	width: 80%;
	max-width: 790px;
	transition: opacity .6s ease, visibility .6s ease;
	line-height: 1.45;
}

.bg_gnav {
	visibility: hidden;
	transition: .3s;
	opacity: 0;
}

.open .bg_gnav {
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 9998;
	background: rgba(0, 0, 0, 0);
	visibility: visible;
	opacity: 1;
	transition: .3s;
	left: 0;
	top: 0;
}

.gnav_sp .nav_main {
	padding-bottom: 20vw;
}

.gnav_sp .nav_main>ul {
	padding: 0 3vw;
	display: block;
}

.gnav_sp .nav_main>ul>li {
	opacity: 0;
	transform: translateX(50%);
	transition: transform .6s ease, opacity .2s ease;
}

/* .gnav_sp .nav_main>ul>li:first-child {
	border-top: 1px solid var(--color10);
} */

.gnav_sp .nav_main>ul>li.nav_drawer {
	padding-bottom: 2.5vw;
	border-bottom: 1px solid var(--color10);
}

.gnav_sp .nav_main>ul>li>a {
	padding: calc(13 / var(--break) * 100vw) calc(50 / var(--break) * 100vw) calc(13 / var(--break) * 100vw) calc(45 / var(--break) * 100vw);
	display: -webkit-box;
	/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;
	/*--- IE10 ---*/
	display: -webkit-flex;
	/*--- safari（PC）用 ---*/
	display: flex;
	-webkit-box-pack: justify;
	/*--- Androidブラウザ用 ---*/
	-ms-flex-pack: justify;
	/*--- IE10 ---*/
	-webkit-justify-content: space-between;
	/*--- safari（PC）用 ---*/
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	/* Safari */
	flex-wrap: wrap;
	-ms-align-items: center;
	align-items: center;
	position: relative;
	letter-spacing: 0;
}

.gnav_sp .nav_main>ul>li.nav_drawer>a {
	border-bottom: none;
}

.gnav_sp .nav_main>ul>li>a:after {
	content: "";
	position: absolute;
	right: calc(26 / var(--break) * 100vw);
	top: calc(-3 / var(--break) * 100vw);
	bottom: 0;
	width: calc(16 / var(--break) * 100vw);
	height: calc(14 / var(--break) * 100vw);
	background: url("images/page/arw_nav01.svg") no-repeat center / contain;
	margin: auto;
}

.gnav_sp .nav_main>ul>li.nav_drawer>a:after {
	transform: rotate(90deg);
}

.gnav_sp .nav_main>ul>li.nav_drawer>a.open:after {
	transform: rotate(-90deg);
}

.gnav_sp .nav_main>ul>li>a .ja {
	color: var(--color09);
}

.gnav_sp .nav_main>ul>li>a .en {
	/*text-transform: uppercase;*/
	font-size: 62.5%;
	letter-spacing: .1em;
	margin-top: 1vw;
}

.gnav_sp .nav_sub {
	background: rgba(51, 51, 51, .9);
	padding: 5.5vw 8vw 7.5vw;
	/*display: none;*/
	/* クリックで開閉させる場合はコメント解除 */
}

.gnav_sp .nav_sub li {
	opacity: 0;
	transform: translateX(50%);
	transition: transform .6s ease, opacity .2s ease;
}

.gnav_sp .nav_sub li:not(:last-child) {
	margin-bottom: 2.5vw;
}

.gnav_sp .nav_sub a {
	padding: 1vw 0 1vw 6vw;
	display: block;
	position: relative;
	color: #fff;
}

.gnav_sp .nav_sub a:after {
	content: "";
	position: absolute;
	left: 0;
	top: 1vw;
	bottom: 0;
	width: 0;
	height: 0;
	border-left: calc(16 / var(--break) * 100vw) solid #fff;
	border-top: calc(12 / var(--break) * 100vw) solid transparent;
	border-bottom: calc(12 / var(--break) * 100vw) solid transparent;
	margin: auto;
}

.open .gnav_sp {
	visibility: visible;
	opacity: 1;
}

.open .gnav_sp .nav_main>ul>li,
.open .gnav_sp .nav_sub li {
	opacity: 1;
	transform: translateX(0);
	transition: transform 1s ease, opacity .9s ease;
}

@media only screen and (max-width: 767px) {
	.btn_gnav_sp {
		position: fixed;
		top: calc(25 / var(--break) * 100vw);
		right: 3.2%;
		height: calc(100 / var(--break) * 100vw);
		width: calc(100 / var(--break) * 100vw);
		z-index: 10000;
		cursor: pointer;
	}

	.btn_gnav_sp .txt_gnav {
		position: absolute;
		width: calc(60 / var(--break) * 100vw);
		right: 0;
		left: 0;
		bottom: calc(4 / var(--break) * 100vw);
		margin: auto;
	}

	.btn_gnav_sp .icn_gnav {
		top: calc(-30 / var(--break) * 100vw);
	}

	.gnav_sp .nav_main>ul>li>a .ja {
		font-size: calc(32 / var(--break) * 100vw);
		letter-spacing: 0;
		line-height: 1.4;
	}

	.gnav_sp .nav_main>ul>li>a {
		padding: calc(20 / var(--break) * 100vw) calc(15 / var(--break) * 100vw) calc(20 / var(--break) * 100vw) calc(50 / var(--break) * 100vw);
	}

	.gnav_sp .nav_main>ul>li>a:after {
		display: none;
	}

	.gnav_sp .nav_main>ul>li>a:before {
		content: "";
		position: absolute;
		left: calc(6 / var(--break) * 100vw);
		top: calc(36 / var(--break) * 100vw);
		bottom: 0;
		width: calc(29 / var(--break) * 100vw);
		height: calc(15 / var(--break) * 100vw);
		background: url(images/page/arw_nav01.svg) no-repeat center / contain;
	}

	.gnav_sp {
		height: 89%;
	}
}


/* 新着情報 index_news
------------------------------------------------------------------*/

/* ※パーフェクトスクロールバー用基本css ここからデザインに合わせて適宜変更してください */
.index_news ul {
	overflow: hidden;
	position: relative;
	padding-right: calc(20 / var(--break) * 100vw);
	max-height: 170px;
	height: auto;
	touch-action: auto !important;
	line-height: 1.75;
}

.index_news li:not(:last-of-type) {}

.index_news li dt {}

.index_news li dd {}

.index_news li dd a {
	color: #aaa;
	/* コーダーさんへに記載されている★標準テキスト：リンク色に変更*/
	text-decoration: underline;
}

/* パーフェクトスクロールバー */
.ps__thumb-y {
	background: #333333 !important;
	right: 0px !important;
	width: 4px !important;
}

.ps--active-x>.ps__rail-x,
.ps--active-y>.ps__rail-y {
	background: none !important;
	right: 0px !important;
	width: 4px !important;
	opacity: 1 !important;
}

.ps .ps__rail-x.ps--clicking,
.ps .ps__rail-x:focus,
.ps .ps__rail-x:hover,
.ps .ps__rail-y.ps--clicking,
.ps .ps__rail-y:focus,
.ps .ps__rail-y:hover {
	opacity: 1 !important;
}

@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {}

@media(max-width: 767px) {
	.index_news ul {
		padding-right: 5vw;
		max-height: calc(500 / var(--break) * 100vw);
	}

	.index_news li:not(:last-of-type) {}

	.index_news li dl {
		display: block;
	}

	.index_news li dt {
		width: 100%;
	}

	.index_news li dd {
		width: 100%;
		line-height: 1.5625;
	}

	.ps__thumb-y,
	.ps--active-x>.ps__rail-x,
	.ps--active-y>.ps__rail-y {
		width: 2px !important;
	}
}


/* 精密治療に対するおだ歯科クリニックの考え方 philosophy
------------------------------------------------------------------*/
.row__philosophy01 {
	background: url(images/index/deco__philosophy03.svg)no-repeat left top / calc(600 / var(--break) * 100vw);
}

.row__philosophy01 .col_img {
	width: 53%;
}

.row__philosophy01 .col_img img {
	max-width: 800px;
	width: calc(800 / var(--break) * 100vw);
	margin-left: auto;
	margin-top: calc(20 / var(--break) * 100vw);
	display: block;
}

.row__philosophy01 .col_txt {
	width: 56.5%;
	margin-left: -10%;
	padding-inline: calc(230 / var(--break) * 100vw) calc(210 / var(--break) * 100vw);
}

.row__philosophy01 .col_txt::before {
	content: "";
	display: block;
	width: calc(200 / var(--break) * 100vw);
	height: calc(100 / var(--break) * 100vw);
	background: url(images/index/deco__philosophy01.png)no-repeat;
	background-size: contain;
	position: absolute;
	left: 0;
	bottom: 0;
}

.row__philosophy01 .col_txt::after {
	content: "";
	display: block;
	width: calc(200 / var(--break) * 100vw);
	height: calc(100 / var(--break) * 100vw);
	background: url(images/index/deco__philosophy02.png)no-repeat;
	background-size: contain;
	position: absolute;
	right: 0;
	bottom: 0;
}

.row__philosophy01 .col_txt .ttl {
	border-bottom: 1px solid var(--color09);
}

@media(min-width: 768px) and (max-width:1599px) {
	.row__philosophy01 {
		background: url(images/index/deco__philosophy03.svg)no-repeat left top / calc(480 / var(--break) * 100vw);
	}

	.index_philosophy .hdg2 .en {
		letter-spacing: 0;
	}

	.row__philosophy01 .col_img img {
		width: 85%;
		margin-top: calc(40 / var(--break) * 100vw);
	}

	.row__philosophy01 .col_txt .ttl {
		font-size: calc(33 / var(--break) * 100vw);
	}

	.row__philosophy01 .col_txt {
		padding-inline: calc(200 / var(--break) * 100vw) calc(100 / var(--break) * 100vw);
	}
}

@media(min-width: 768px) and (max-width:1299px) {
	.row__philosophy01 .col_img img {
		width: 88%;
		margin-top: 20%;
		margin-right: 7%;
	}

	.row__philosophy01 .col_txt {
		padding-inline: calc(120 / var(--break) * 100vw) calc(60 / var(--break) * 100vw);
	}

	.row__philosophy01 .col_txt .ttl {
		font-size: calc(31 / var(--break) * 100vw);
	}
}

@media(max-width: 767px) {
	.row__philosophy01 {
		background: url(images/index/deco__philosophy03.svg) no-repeat left top / calc(380 / var(--break) * 100vw);
	}

	.row__philosophy01 .col_img {
		width: 93.6%;
		margin-inline: auto;
	}

	.row__philosophy01 .col_img img {
		width: 100%;
		margin-top: calc(40 / var(--break) * 100vw);
	}

	.row__philosophy01 .col_txt {
		width: 100%;
		margin-left: 0;
		margin-top: -7%;
		padding-block: calc(90 / var(--break) * 100vw) calc(70 / var(--break) * 100vw);
	}

	.row__philosophy01 .col_txt .ttl {
		font-size: calc(40 / var(--break) * 100vw);
		letter-spacing: 0;
	}
}

/* おだ歯科クリニックからのメッセージ Message
------------------------------------------------------------------*/
.wrap__message01 {
	background: url(images/index/bg__message01.jpg) no-repeat center / cover;
	outline: solid calc(20 / var(--break) * 100vw)rgba(255, 255, 255, .4);
	outline-offset: calc(-20 / var(--break) * 100vw);
}

.row__message01 .col_txt {
	width: 78.7%;
	padding-inline: calc(90 / var(--break) * 100vw);
}

.row__message01 .col_txt .ttl {
	border-bottom: 1px solid var(--color09);
}

.row__message01 .col_img {
	width: 25.8%;
	margin-right: -4.5%;
}

.wrap__message02 .bnr {
	width: 46.7%;
	outline: solid 1px #fff;
	outline-offset: calc(-6 / var(--break) * 100vw);
}

.wrap__message02 .icn {
	width: calc(80 / var(--break) * 100vw);
}

.wrap__message02 .arw {
	width: calc(26 / var(--break) * 100vw);
}

@media(min-width: 768px) and (max-width:1599px) {
	.row__message01 .col_txt .ttl {
		font-size: calc(33 / var(--break) * 100vw);
	}
}

@media(min-width: 768px) and (max-width:1299px) {
	.row__message01 {
		align-items: end;
	}

	.row__message01 .col_txt .ttl {
		font-size: calc(30 / var(--break) * 100vw);
	}

	.row__message01 .col_txt {
		width: 78.7%;
		padding-inline: calc(80 / var(--break) * 100vw) calc(55 / var(--break) * 100vw);
		padding-block: calc(40 / var(--break) * 100vw) calc(55 / var(--break) * 100vw);
		margin-bottom: calc(50 / var(--break) * 100vw);
	}

	.wrap__message02 .bnr {
		width: 48%;
		padding: calc(26 / var(--break) * 100vw) calc(32 / var(--break) * 100vw);
	}

	.wrap__message02 .bnr .ttl {
		font-size: calc(28 / var(--break) * 100vw);
	}

	.wrap__message02 .bnr .txt {
		font-size: calc(17.5 / var(--break) * 100vw);
	}

	.wrap__message02 .icn {
		width: calc(70 / var(--break) * 100vw);
	}

	.wrap__message02 .arw {
		width: calc(20 / var(--break) * 100vw);
	}
}

@media(max-width: 767px) {
	.index_message {
		margin-top: 0;
	}

	.index_message .hdg2 .en {
		font-size: calc(100 / var(--break) * 100vw);
	}

	.index_message .hdg2 {
		padding-top: calc(100 / var(--break) * 100vw);
		padding-bottom: 0;
	}

	.wrap__message01 {
		background: url(images/index/bg__message01_sp.jpg) no-repeat top center / cover;
		padding-bottom: calc(100 / var(--break) * 100vw);

	}

	.row__message01 {
		flex-direction: column;
		margin-top: 0;
	}

	.row__message01 .col_img {
		width: 32.5%;
		z-index: 0;
		margin: 0;
		margin-inline: auto;
	}

	.row__message01 .col_txt {
		width: 96.8%;
		margin-inline: auto;
		margin-top: -31%;
		z-index: 2;
	}

	.row__message01 .col_txt .ttl {
		font-size: calc(39.2 / var(--break) * 100vw);
		letter-spacing: 0;
	}

	.row__message01 .col_txt .txt {
		margin-top: 0;
	}

	.row__message02 {
		flex-direction: column;
		gap: calc(40 / var(--break) * 100vw);
		margin-block: calc(75 / var(--break) * 100vw);
	}

	.row__message02 .bnr {
		width: 100%;
	}

	.row__message02 .bnr .ttl {
		font-size: calc(34 / var(--break) * 100vw);
	}

	.row__message02 .bnr .txt {
		font-size: calc(20 / var(--break) * 100vw);
	}
}

/* contact
------------------------------------------------------------------*/
.index_contact {
	background:
		url(images/index/bg__contact01.png)no-repeat bottom left / 100% auto;
}

.row__contact01 .col_l {
	border: 1px solid var(--color09);
}

.box__contact01 {
	border: solid calc(50 / var(--break) * 100vw) #fff;
}

.box__contact01 .ttl {
	top: -1.45em;
	left: 50%;
	transform: translateX(-50%);
}

.box__contact01 .deco {
	width: calc(240 / var(--break) * 100vw);
	height: calc(240 / var(--break) * 100vw);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	left: calc(-4 / var(--break) * 100vw);
	top: calc(15 / var(--break) * 100vw);
	transform: translateY(-50%);
	outline: solid 1px rgba(255, 255, 255, 1);
	outline-offset: calc(-8 / var(--break) * 100vw);
}

.row__contact01 .col_l,
.row__contact01 .col_r {
	width: 48.38%;
}

.row__contact01 .col_l {
	border: solid 1px var(--color09);
}

.row__contact01 .col_r {
	max-width: initial;
}

.row__contact01 .col_r a {
	padding: calc(25 / var(--break) * 100vw) 3% calc(20 / var(--break) * 100vw);
}

.row__contact01 .col_r a::after {
	border-left-width: calc(15 / var(--break) * 100vw);
	border-top-width: calc(15 / var(--break) * 100vw);
	border-bottom-width: calc(15 / var(--break) * 100vw);
	bottom: calc(1 / var(--break) * 100vw);
	right: calc(10 / var(--break) * 100vw);
}

@media(min-width: 768px) and (max-width:1599px) {
	.index_contact {
		background:
			url(images/index/bg__contact01.png)no-repeat bottom center / cover;
	}

	.box__contact01 .txt {
		font-size: calc(28 / var(--break) * 100vw);
	}

	.box__contact01 .deco {
		width: calc(220 / var(--break) * 100vw);
		height: calc(220 / var(--break) * 100vw);
		font-size: calc(24 / var(--break) * 100vw);
	}
}

@media(min-width: 768px) and (max-width:1299px) {
	.box__contact01 {
		padding-inline: calc(50 / var(--break) * 100vw);
	}

	.box__contact01 .ttl {
		top: -1.15em;
	}

	.box__contact01 .ttl .en {
		font-size: calc(70 / var(--break) * 100vw);
	}

	.box__contact01 .txt {
		font-size: calc(23 / var(--break) * 100vw);
	}

	.box__contact01 .deco {
		width: calc(175 / var(--break) * 100vw);
		height: calc(175 / var(--break) * 100vw);
		font-size: calc(19 / var(--break) * 100vw);
	}

	.row__contact01 .time {
		font-size: calc(24 / var(--break) * 100vw);
	}

	.row__contact01 .note {
		font-size: calc(18 / var(--break) * 100vw);
	}

}

@media(max-width: 767px) {
	.index_contact {
		padding: 21vw 0 10vw;
		background: url(images/index/bg__contact01_sp.jpg)no-repeat bottom center / cover;
	}

	.index_contact .ttl {
		top: -0.62em;
	}

	.index_contact .ttl .en {
		font-size: calc(100 / var(--break) * 100vw);
	}

	.box__contact01 {
		padding: 8vw 3.2% 8vw;
		border: solid calc(30 / var(--break) * 100vw) #fff;
	}

	.box__contact01 .deco {
		width: calc(192 / var(--break) * 100vw);
		height: calc(192 / var(--break) * 100vw);
		font-size: calc(20 / var(--break) * 100vw);
		left: initial;
		right: -6%;
		top: -7%;
		transform: initial;
		padding-bottom: calc(8 / var(--break) * 100vw);
	}

	.box__contact01 .txt {
		font-size: calc(30 / var(--break) * 100vw);
		letter-spacing: 0;
		line-height: 2;
	}

	.row__contact01 {
		flex-direction: column;
		margin-top: 4.5vw;
		gap: 3vw;
	}

	.row__contact01 .col_l {
		padding: 4vw 4vw 3vw;
	}

	.row__contact01 .col_l .time {
		font-size: calc(30 / var(--break) * 100vw);
	}

	.row__contact01 .col_l .note {
		font-size: calc(22 / var(--break) * 100vw);
	}

	.row__contact01 .col_l,
	.row__contact01 .col_r {
		width: 100%;
	}

	.row__contact01 .col_r a {
		padding: 3vw 4vw;
	}

	.row__contact01 .col_r .txt01 {
		font-size: calc(28 / var(--break) * 100vw);
	}

	.row__contact01 .col_r .txt02 {
		font-size: calc(38 / var(--break) * 100vw);
	}
}

@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {}

@media(max-width: 767px) {}


/* 精密むし歯診療について caries
------------------------------------------------------------------*/
.index_caries .hdg2 {
	padding-block: calc(120 / var(--break) * 100vw) calc(40 / var(--break) * 100vw);
}

.wrap__caries01 {
	background: url(images/index/bg__caries01.jpg)no-repeat top center / calc(1920 / var(--break) * 100vw) auto;
	padding-top: calc(380 / var(--break) * 100vw);
}

.box__caries01 .ttl {
	border-bottom: solid 1px var(--color09);
	padding-bottom: calc(35 / var(--break) * 100vw);
}

.wrap__caries02 {
	background: url(images/index/bg__caries02.jpg)no-repeat top center / cover;
}

.img__caries02 {
	width: calc(990 / var(--break) * 100vw);
}

@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {
	.index_caries .hdg2 {
		padding-block: calc(90 / var(--break) * 100vw) calc(40 / var(--break) * 100vw);
	}

	.index_caries .hdg3 {
		font-size: calc(25 / var(--break) * 100vw);
		margin-bottom: calc(50 / var(--break) * 100vw);
	}

	.box__caries01 .ttl {
		font-size: calc(30 / var(--break) * 100vw);
		padding-bottom: calc(30 / var(--break) * 100vw);
	}

	.box__caries01 .txt {
		margin-top: calc(30 / var(--break) * 100vw);
	}


	.wrap__caries04 .ttl01 {
		font-size: calc(31 / var(--break) * 100vw);
	}
}

@media(max-width: 767px) {
	.index_caries {
		padding-bottom: 8vw;
	}

	.index_caries .hdg2 .ja {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.wrap__caries01 {
		padding-top: 58vw;
	}

	.box__caries01 .ttl {
		font-size: calc(40 / var(--break) * 100vw);
		letter-spacing: 0;
		line-height: 1.7;
		border-bottom: solid 1px var(--color09);
		padding-bottom: calc(35 / var(--break) * 100vw);
	}

	.wrap__caries02 {
		background: url(images/index/bg__caries02_sp.jpg) no-repeat bottom center / cover;
	}

	.wrap_common01 .list {
		width: 100%;
		margin-inline: auto;
		padding-bottom: 61vw;
	}

	.wrap_common01 .list .item {
		padding-top: calc(50 / var(--break) * 100vw);
		width: calc(320 / var(--break) * 100vw);
		height: calc(320 / var(--break) * 100vw);
		font-size: calc(26 / var(--break) * 100vw);
		letter-spacing: 0;
		justify-content: center;
	}

	.wrap_common01 .list .item .icn {
		width: calc(30 / var(--break) * 100vw);
	}

	.wrap_common01 .list .item .icn.pb40 {
		padding-bottom: calc(30 / var(--break) * 100vw);
	}

	.wrap_common01 .deco {
		font-size: calc(80 / var(--break) * 100vw);
	}

	.wrap__caries03 {
		margin-top: 0;
		padding-bottom: 1vw;
	}

	.row__caries01 {
		padding-bottom: 6vw;
	}

	.box_common01 {
		padding: 7vw 5vw;
	}

	.box_common01 .ttl {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.wrap__caries04 .ttl01 {
		font-size: calc(40 / var(--break) * 100vw);
		line-height: 1.6;
	}

	.wrap__caries04 .txt {
		margin-top: calc(30 / var(--break) * 100vw);
	}

	.img__caries02 {
		width: 100%;
	}
}

/*  あなたにあった治療方法 type
------------------------------------------------------------------*/
.index_type .ttl01 {
	background: linear-gradient(to top, #927f5c 0%, #927f5c 30%, #bfa87e 60%, #bfa87e 100%);
	background-clip: text;
	color: transparent;
	gap: calc(40 / var(--break) * 100vw);
}

.index_type .ttl01::before,
.index_type .ttl01::after {
	content: "";
	flex: 1;
	border-bottom: 1px solid var(--color06);
	margin-top: 3px;
}

.wrap__type01 {
	background:
		url(images/index/deco__type01.png) no-repeat left top / calc(300 / var(--break) * 100vw),
		url(images/index/deco__type02.png) no-repeat right top / calc(300 / var(--break) * 100vw),
		url(images/index/deco__type03.png) no-repeat left bottom / calc(300 / var(--break) * 100vw),
		url(images/index/deco__type04.png) no-repeat right bottom / calc(300 / var(--break) * 100vw);
}

.box__type01 {
	background: url(images/page/bg__hdg3.jpg) center / cover repeat-y;
}

.box__type01 .txt01 {
	border-top: 1px solid var(--color04);
	border-bottom: 1px solid var(--color04);
}

.box__type01 .txt01 span {
	background: var(--color04);
}

.box__type01 .col {
	width: 48.4%;
	outline: solid 1px var(--color08);
	outline-offset: calc(-10 / var(--break) * 100vw);
	transition: all .2s;
}

.box__type01 .col::after {
	transition: transform .2s;
	content: "";
	display: block;
	width: calc(60 / var(--break) * 100vw);
	height: calc(15 / var(--break) * 100vw);
	background: url(images/page/arw02.svg)no-repeat center / contain;
	position: absolute;
	right: calc(35 / var(--break) * 100vw);
	bottom: calc(30 / var(--break) * 100vw);
}

.box__type01 .col:hover::after {
	transform: translateX(.5em);
}

.box__type01 .col:hover {
	opacity: .85;
}

.box__type01 .col_l {
	background: url(images/index/bg__type01.svg)no-repeat center/ cover;
}

.box__type01 .col_r {
	background: url(images/index/bg__type02.svg)no-repeat center/ cover;
}

.box__type01 .btn {
	width: 100%;
	aspect-ratio: 2 / 1;
	cursor: pointer;
}

.row__type02 {
	outline: solid 1px var(--color08);
	outline-offset: calc(-10 / var(--break) * 100vw);
	padding: calc(95 / var(--break) * 100vw) calc(60 / var(--break) * 100vw) calc(90 / var(--break) * 100vw) calc(420 / var(--break) * 100vw);
}

.row__type02 .ttl {
	border-bottom: 1px solid var(--color09);
}

.type01 .row__type02 {
	background: url(images/index/bg__type03.jpg)no-repeat center / cover;
}

.type02 .row__type02 {
	background: url(images/index/bg__type04.jpg)no-repeat center / cover;
}

.type03 .row__type02 {
	background: url(images/index/bg__type05.jpg)no-repeat center / cover;
}

.type04 .row__type02 {
	background: url(images/index/bg__type06.jpg)no-repeat center / cover;
}

.type05 .row__type02 {
	background: url(images/index/bg__type07.jpg)no-repeat center / cover;
}

.type06 .row__type02 {
	background: url(images/index/bg__type08.jpg)no-repeat center / cover;
}

.wrap__type02 .btn {
	padding-block: calc(25 / var(--break) * 100vw) calc(20 / var(--break) * 100vw);
	width: calc(500 / var(--break) * 100vw);
	outline: solid 1px #fff;
	outline-offset: calc(-6 / var(--break) * 100vw);
	background:
		url(images/page/arw_01.svg)no-repeat 93% center / calc(26 / var(--break) * 100vw),
		var(--color04);
	transition: .2s;
}

.wrap__type02 .btn:hover {
	background:
		url(images/page/arw_01.svg)no-repeat 93% 57% / calc(26 / var(--break) * 100vw),
		var(--color04);
}

/* クイズ機能用スタイル */
.hide {
	display: none !important;
}

.wrap__type02:has(.result.hide) {
	padding: 0 !important;
}

.box__type01 .btn.selected {
	opacity: 0.6;
	pointer-events: none;
}

.result {
	animation: fadeInUp 0.5s ease-out;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.wrap__type03 .item {
	width: calc(33.333% - calc(34 / var(--break) * 100vw));
	color: #fff;
	background:
		linear-gradient(#fff, #fff) top 4px center,
		linear-gradient(#fff, #fff) bottom 4px center;
	background-size: 100% 1px;
	background-repeat: no-repeat;
	background-color: var(--color04);
	transition: .2s;
}

.wrap__type03 .list {
	gap: calc(70 / var(--break) * 100vw) calc(50 / var(--break) * 100vw);
}

.tab_nav.wrap__type03 {
	gap: calc(50 / var(--break) * 100vw);
	flex-wrap: nowrap;
}

.tab_nav.wrap__type03 .item {
	flex: 1;
	width: auto;
}

.wrap__type03 .item:hover {
	opacity: .8;
}

.wrap__type03 .item:hover::after {

	bottom: calc(-45 / var(--break) * 100vw);
}

.wrap__type03 .item a {
	display: block;
	padding-block: calc(40 / var(--break) * 100vw);
	width: 100%;
}

.wrap__type03 .item::after {
	content: "";
	display: block;
	width: calc(26 / var(--break) * 100vw);
	height: calc(30 / var(--break) * 100vw);
	background: url(images/page/arw_03.svg)no-repeat center / contain;
	position: absolute;
	bottom: calc(-40 / var(--break) * 100vw);
	left: 50%;
	transform: translateX(-50%);
	transition: .2s;
}

.type_common01 .deco {
	width: calc(280 / var(--break) * 100vw);
	height: calc(280 / var(--break) * 100vw);
	border-radius: 50%;
	outline: solid 1px #fff;
	outline-offset: calc(-12 / var(--break) * 100vw);
	right: 11%;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.type_common01 .head::after {
	content: "";
	display: block;
	width: 100%;
	height: calc(40 / var(--break) * 100vw);
	background: url(images/page/pt01.png);
	position: absolute;
	bottom: 0;
}

.type_common01.type01 .head {
	background: url(images/index/bg__type13.jpg)no-repeat center/ cover;
}

.type_common01.type02 .head {
	background: url(images/index/bg__type09.jpg)no-repeat center/ cover;
}

.type_common01.type03 .head {
	background: url(images/index/bg__type10.jpg)no-repeat center/ cover;
}

.type_common01.type04 .head {
	background: url(images/index/bg__type12.jpg)no-repeat center/ cover;
}

.type_common01.type05 .head {
	background: url(images/index/bg__type11.jpg)no-repeat center/ cover;
}

.type_common01.type06 .head {
	background: url(images/index/bg__type14.jpg)no-repeat center/ cover;
}


.type_common01 .row__type03 .col_txt,
.type_common01 .row__type03 .col_img {
	width: 50%;
}

.type_common01 .row__type03 .col_txt {
	background:
		url(images/index/deco__type05.svg) no-repeat left top / calc(110 / var(--break) * 100vw),
		url(images/index/deco__type06.svg) no-repeat right bottom / calc(110 / var(--break) * 100vw);
}

.box__type03 .list_default01 li {
	line-height: 1.7;
	padding-left: 0;
	padding-block: calc(15 / var(--break) * 100vw);
	border-bottom: solid 1px var(--color09);
}

.box__type03 .list_default li:not(:first-child) {
	margin-top: 0;
}

.box__type03 .list_default01 li::before {
	display: inline-block;
	background: url(images/page/icn_check02.svg) no-repeat center / contain;
	width: calc(22 / var(--break) * 100vw);
	height: calc(22 / var(--break) * 100vw);
	left: 0;
	top: 0.15lh;
	margin-right: 1em;
	position: relative;
}

.row__type04,
.row__root03 {
	gap: calc(50 / var(--break) * 100vw);
}

.row__type04 .col,
.row__root03 .col {
	width: calc(33.333% - calc(34 / var(--break) * 100vw));
	min-height: calc(140 / var(--break) * 100vw);
	flex-shrink: 0;
}

.row__type04 .col {
	background:
		url(images/index/deco__caries01.svg) no-repeat calc(10 / var(--break) * 100vw) calc(10 / var(--break) * 100vw) / calc(70 / var(--break) * 100vw),
		url(images/index/deco__caries02.svg) no-repeat calc(100% - calc(10 / var(--break) * 100vw)) calc(100% - calc(10 / var(--break) * 100vw)) / calc(70 / var(--break) * 100vw),
		linear-gradient(to bottom, #bfa87e 0%, #927f5c 100%);
}

.tbl__type01 {
	margin-bottom: 0;
}

.tbl__type01.tbl_default th {
	background: var(--color08);
	text-align: center;
}

.tbl__type01.tbl_default td {
	text-align: center;
	color: var(--color09);
}

@media(min-width: 768px) and (max-width:1599px) {
	.wrap__type01 .ttl02 {
		font-size: calc(36 / var(--break) * 100vw);
	}

	.box__type01 .btn {
		font-size: calc(27 / var(--break) * 100vw);
	}

	.wrap__type03 .item {
		width: calc(33.333% - calc(47 / var(--break) * 100vw));
	}

	.wrap__type03 .list {
		gap: calc(70 / var(--break) * 100vw);
	}

	.type_common01 .deco {
		right: 4%;
	}

	.type_common01 .head {
		padding-block: calc(90 / var(--break) * 100vw);
	}

	.type_common01.type01 .head {
		background: url(images/index/bg__type13.jpg)no-repeat 30% center/ cover;
	}

	.type_common01.type02 .head {
		background: url(images/index/bg__type09.jpg)no-repeat 30% center/ cover;
	}

	.type_common01.type03 .head {
		background: url(images/index/bg__type10.jpg)no-repeat 30% center/ cover;
	}

	.type_common01.type04 .head {
		background: url(images/index/bg__type12.jpg)no-repeat 30% center/ cover;
	}

	.type_common01.type05 .head {
		background: url(images/index/bg__type11.jpg)no-repeat 30% center/ cover;
	}

	.type_common01.type06 .head {
		background: url(images/index/bg__type14.jpg)no-repeat 30% center/ cover;
	}
}

@media(min-width: 768px) and (max-width:1299px) {
	.type_common01 .ttl .en {
		font-size: calc(30 / var(--break) * 100vw);
	}

	.type_common01 .ttl .ja {
		font-size: calc(37 / var(--break) * 100vw);
	}

	.type_common01 .deco {
		width: calc(230 / var(--break) * 100vw);
		height: calc(230 / var(--break) * 100vw);
		font-size: calc(20 / var(--break) * 100vw);
		outline-offset: calc(-10 / var(--break) * 100vw);
	}

	.wrap__type03 .item {
		width: calc(33.333% - calc(27 / var(--break) * 100vw));
	}

	.wrap__type03 .list {
		gap: calc(70 / var(--break) * 100vw) calc(40 / var(--break) * 100vw);
	}

	.box__type03 .ttl {
		font-size: calc(26 / var(--break) * 100vw);
	}

	.box__type01 .btn {
		font-size: calc(24 / var(--break) * 100vw);
	}

	.row__type04 .col .txt {
		font-size: calc(21 / var(--break) * 100vw);
	}

	.tbl__type01.tbl_default th {
		font-size: calc(21 / var(--break) * 100vw);
	}

	.wrap__type03 .item a {
		font-size: calc(20 / var(--break) * 100vw);
	}
}

@media(max-width: 767px) {
	.wrap__type01 .ttl01 {
		font-size: calc(100 / var(--break) * 100vw);
		gap: calc(40 / var(--break) * 100vw);
	}

	.wrap__type01 {
		padding-top: 12.5vw;
	}

	.quiz .ttl02 {
		font-size: calc(40 / var(--break) * 100vw);
		margin-top: 5vw;
		letter-spacing: 0.05em;
	}

	.quiz .ttl03 {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.box__type01 .txt01 {
		width: 96%;
		margin-inline: auto;
	}

	.box__type01 .col_l {
		background: url(images/index/bg__type01_sp.svg) no-repeat center / cover;
	}

	.box__type01 .col_r {
		background: url(images/index/bg__type02_sp.svg) no-repeat center / cover;
	}

	.box__type01 .btn {
		font-size: calc(30 / var(--break) * 100vw);
		letter-spacing: 0;
		line-height: 1.4;
		aspect-ratio: 285 /300;
	}

	.row__type02 {
		padding: 9vw 6vw;
	}

	.row__type02 .ttl {
		font-size: calc(40 / var(--break) * 100vw);
		text-align: center;
	}


	.type_common01.type01 .head,
	.type01 .row__type02 {
		background: url(images/index/bg__type01_sp.jpg) no-repeat bottom center / cover;
		padding-bottom: 65vw;
	}

	.type_common01.type02 .head,
	.type02 .row__type02 {
		background: url(images/index/bg__type02_sp.jpg) no-repeat bottom center / cover;
		padding-bottom: 65vw;
	}

	.type_common01.type03 .head,
	.type03 .row__type02 {
		background: url(images/index/bg__type03_sp.jpg) no-repeat bottom center / cover;
		padding-bottom: 65vw;
	}

	.type_common01.type04 .head,
	.type04 .row__type02 {
		background: url(images/index/bg__type04_sp.jpg) no-repeat bottom center / cover;
		padding-bottom: 65vw;
	}

	.type_common01.type05 .head,
	.type05 .row__type02 {
		background: url(images/index/bg__type05_sp.jpg) no-repeat bottom center / cover;
		padding-bottom: 65vw;
	}

	.type_common01.type06 .head,
	.type06 .row__type02 {
		background: url(images/index/bg__type06_sp.jpg) no-repeat bottom center / cover;
		padding-bottom: 65vw;
	}

	.wrap__type02 .btn {
		padding-block: calc(25 / var(--break) * 100vw) calc(20 / var(--break) * 100vw);
		width: calc(600 / var(--break) * 100vw);
		background: linear-gradient(to bottom, #bfa87e 0%, #927f5c 100%);
	}

	.wrap__type02 .txt {
		font-size: calc(32 / var(--break) * 100vw);
	}

	.wrap__type03 .ttl {
		font-size: calc(40 / var(--break) * 100vw);
		line-height: 1.6;
	}

	.wrap__type03 .txt {
		margin-top: 3vw;
	}

	.wrap__type03 .list {
		gap: calc(70 / var(--break) * 100vw) calc(40 / var(--break) * 100vw);
	}

	.wrap__type03 .item {
		width: calc(50% - calc(20 / var(--break) * 100vw));
		background: linear-gradient(#fff, #fff) top 2px center, linear-gradient(#fff, #fff) bottom 2px center;
		background-size: 100% 1px;
		background-repeat: no-repeat;
		background-color: var(--color04);
	}

	.wrap__type03 .item a {
		font-size: calc(26 / var(--break) * 100vw);
		height: calc(120 / var(--break) * 100vw);
		margin-top: 0;
		padding-block: 0;
		line-height: 1.6;
		display: grid;
		place-items: center;
	}

	.type_common01 .head .en {
		font-size: calc(30 / var(--break) * 100vw);
	}

	.type_common01 .head .ja {
		font-size: calc(49 / var(--break) * 100vw);
		margin-top: 2vw;
		letter-spacing: .05em;
	}

	.type_common01.type06 .head .ja {
		font-size: calc(48 / var(--break) * 100vw);
		letter-spacing: 0.05em;
	}

	.type_common01 .deco {
		font-size: calc(22 / var(--break) * 100vw);
		letter-spacing: 0;
		width: calc(224 / var(--break) * 100vw);
		height: calc(224 / var(--break) * 100vw);
		right: 1%;
		top: initial;
		bottom: -21%;
		transform: translateY(-50%);
		z-index: 2;
	}

	.row__type03 {
		flex-direction: column-reverse;
		margin-top: 11vw;
	}

	.type_common01 .row__type03 .col_txt,
	.type_common01 .row__type03 .col_img {
		width: 100%;
		margin: 0;
	}

	.type_common01 .row__type03 .col_img img {
		width: calc(500 / var(--break) * 100vw);
		margin-inline: auto;
	}

	.type_common01 .row__type03 .col_txt {
		margin-top: 9vw;
	}

	.type_common01 .row__type03 .col_txt .txt {
		margin-top: 6vw;
	}

	.box__type03 .list_default01 li {
		padding-bottom: 1vw;
		display: flex;
	}

	.box__type03 .list_default01 li::before {
		width: calc(30 / var(--break) * 100vw);
		height: calc(30 / var(--break) * 100vw);
		top: 0.27lh;
	}

	.wrap__type04 .ttl01 {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.row__type04,
	.row__root03 {
		gap: calc(20 / var(--break) * 100vw);
	}

	.row__type04 .col,
	.row__root03 .col {
		width: calc(340 / var(--break) * 100vw);
	}

	.row__root03 .col {
		padding-block: 2vw;
	}

	.row__type04 .col .txt,
	.row__root03 .col .txt {
		font-size: calc(28 / var(--break) * 100vw);
		letter-spacing: 0;
		margin-top: 0;
	}

	.tbl__type01.tbl_default td {
		padding: 2vw 3vw;
	}
}

/* 治療の流れ flow
------------------------------------------------------------------*/
.box__flow01 {
	background: initial;
	padding-left: calc(120 / var(--break) * 100vw);
	gap: calc(60 / var(--break) * 100vw);
}

.box__flow01::before {
	content: attr(data-num);
	font-family: trajan-pro-3, serif;
	font-weight: 400;
	font-style: normal;
	font-size: calc(80 / var(--break) * 100vw);
	color: #fff;
	margin-block: calc((1em - 1lh) / 2);
	line-height: 1;
	letter-spacing: 0;
	position: absolute;
	left: 0;
	top: calc(-10 / var(--break) * 100vw);
	z-index: -1;
}

.wrap__flow01 .item:nth-of-type(2n) .box__flow01:before {
	color: var(--color05);
}

.wrap__flow01 .item:not(:first-of-type)::after {
	content: "";
	position: absolute;
	width: calc(200 / var(--break) * 100vw);
	height: calc(40 / var(--break) * 100vw);
	background: url(images/index/arw__flow01.svg) no-repeat;
	background-size: contain;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
}


.box__flow01 .col_txt {
	width: calc((100% - calc(60 / var(--break) * 100vw)) - 30.6%);
}

.box__flow01 .col_img {
	width: 30.6%;
}

.wrap__flow01 .web_head.btn_default01.arw01 a:after {
	border-left: calc(16 / var(--break) * 100vw) solid #555;
	border-top: calc(16 / var(--break) * 100vw) solid transparent;
	border-bottom: calc(16 / var(--break) * 100vw) solid transparent;
	bottom: calc(0 / var(--break) * 100vw);
}


.wrap__flow03 {
	background: url(images/index/bg__flow02.svg) no-repeat;
	background-size: 100% auto;
}


.wrap__flow02 .txt02 .deco {
	background-image: radial-gradient(circle at center, var(--color10) 8%, transparent 8%);
	background-position: top left;
	background-repeat: repeat-x;
	background-size: 1.09em 0.3em;
	padding-top: 0.2em;
}

@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {
	.wrap__flow03 {
		padding-bottom: calc(60 / var(--break) * 100vw);
	}

	.wrap__flow03 .txt01 {
		font-size: calc(30 / var(--break) * 100vw);
	}

	.wrap__flow03 .txt02 {
		font-size: calc(30 / var(--break) * 100vw);
	}

	.wrap__flow02 .txt02 .deco {
		font-size: calc(48 / var(--break) * 100vw);
	}

	.wrap__flow02 .txt02 .deco {
		background-size: 1.05em 0.3em;
	}

	.wrap__flow01 .item {
		padding-inline: calc(20 / var(--break) * 100vw);
	}
}

@media(max-width: 767px) {
	.index_flow .hdg2 {
		padding-top: 12vw;
	}

	.index_flow .hdg2 .en {
		font-size: calc(100 / var(--break) * 100vw);
	}

	.index_flow .hdg2 .ja {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.box__flow01 {
		padding: 0;
		display: flex !important;
		gap: 0;
		margin-bottom: 5vw;
	}

	.box__flow01::before {
		position: static;
		margin-inline: auto;
		font-size: calc(100 / var(--break) * 100vw);
	}

	.box__flow01 .col_img {
		order: -1;
	}

	.box__flow01 .col_txt .ttl02 {
		font-size: calc(40 / var(--break) * 100vw);
		text-align: center;
		margin-top: calc(10 / var(--break) * 100vw);
		padding-bottom: calc(35 / var(--break) * 100vw);
	}

	.wrap__flow01 .item:not(:first-of-type) {
		padding-top: 10vw;
		padding-bottom: 3vw;
	}

	.deco__flow01 {
		width: 87.2%;
		margin-inline: auto;
	}

	.wrap__flow03 .txt01 {
		font-size: calc(36 / var(--break) * 100vw);
		letter-spacing: 0.05em;
		line-height: 2;
	}

	.wrap__flow03 .txt02 {
		font-size: calc(36 / var(--break) * 100vw);
		letter-spacing: 0.05em;
		line-height: 2;
		margin-top: 4vw;
	}

	.wrap__flow03 .txt02 span {
		font-size: calc(60 / var(--break) * 100vw);
		letter-spacing: 0.05em;
	}

	.wrap__flow02 .txt02 .deco {
		background-size: 1.06em 0.3em;
	}

	.wrap__flow03 {
		background-position: center;
		padding-bottom: 0;
	}
}

/* 精密根管治療について root
------------------------------------------------------------------*/
.index_root .hdg3 span {
	background: url(images/page/bg_hdg3_g.jpg) center / cover no-repeat;
}

.wrap__root02 {
	background: url(images/index/bg__recommend01.jpg) no-repeat top center / cover;
}

.tbl__root01 table {
	width: 100%;
	border-collapse: collapse;
}

.tbl__root01 tr:first-of-type th {
	padding: calc(29 / var(--break) * 100vw) calc(30 / var(--break) * 100vw);
}

.tbl__root01 tr:not(:first-of-type) th,
.tbl__root01 tr:not(:first-of-type) td {
	padding: calc(23 / var(--break) * 100vw) calc(30 / var(--break) * 100vw);
}

.tbl__root01 th,
.tbl__root01 td {
	border: 1px solid var(--color09);
	vertical-align: middle;
	font-family: shippori-mincho, sans-serif;
	text-align: center;
}

.tbl__root01 .th_item {
	background: #9498A033;
	color: var(--color09);
	width: calc(100% / 3);
}

.tbl__root01 .th_hoken {
	background: var(--color08);
	color: #fff;
	width: calc(100% / 3);

}

.tbl__root01 .th_jiyu {
	background: var(--color03);
	color: #fff;
	width: calc(100% / 3);
}

.tbl__root01 tbody tr:not(:first-child) th {
	background: #9498A033;
	color: var(--color09);
}

.tbl__root01 tbody td {
	background: #fff;
}

.tbl__root01 tbody tr:not(:first-child) td:last-child {
	background: #5089b21a;
}

.tbl__root01 tr:not(:last-child) th {
	border-bottom: 1px solid var(--color09);
}

.row__root03 .col {
	background: url(images/index/deco__caries01.svg) no-repeat calc(10 / var(--break) * 100vw) calc(10 / var(--break) * 100vw) / calc(70 / var(--break) * 100vw),
		url(images/index/deco__caries02.svg) no-repeat calc(100% - calc(10 / var(--break) * 100vw)) calc(100% - calc(10 / var(--break) * 100vw)) / calc(70 / var(--break) * 100vw),
		linear-gradient(to bottom, #979ba3 0%, #5d626e 100%);
}

.row__root05 {
	gap: calc(65 / var(--break) * 100vw);
}

.row__root05 .col {
	width: calc(33.333% - calc(44 / var(--break) * 100vw));
	aspect-ratio: 1 / 1;
	min-height: auto;
	border-radius: 50%;
	background: #fff;
	outline: solid calc(10 / var(--break) * 100vw) rgba(255, 255, 255, .5);
	flex-shrink: 0;
}

.wrap__root07 {
	background: url(images/index/bg__root01.jpg) no-repeat center center / cover;
}

.flow_02 .wrap__flow01 .item:not(:first-of-type)::after {
	background: url(images/index/arw__root01.svg) no-repeat;
	background-size: contain;
}

@media(min-width: 768px) and (max-width:1599px) {
	.wrap__root02 {
		background: url(images/index/bg__recommend01.jpg) no-repeat 86% 100% / cover;
	}
}

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

	.index_root .hdg2 {
		padding-top: calc(10 / var(--break) * 100vw);
		padding-bottom: 0;
	}

	.box__root01 .ttl {
		font-size: calc(30 / var(--break) * 100vw);
		padding-bottom: calc(30 / var(--break) * 100vw);
	}

	.box__root01 .txt {
		margin-top: calc(30 / var(--break) * 100vw);
	}

	.wrap__root02 {
		background: url(images/index/bg__recommend01.jpg) no-repeat 66% 100% / cover;
	}

	.wrap__root05 .ttl01 {
		font-size: calc(32 / var(--break) * 100vw);
	}

	.row__root03 .col .txt {
		font-size: calc(21 / var(--break) * 100vw);
		line-height: 1.6;
	}

	.wrap__root07 .ttl01 {
		font-size: calc(32 / var(--break) * 100vw);
	}

	.wrap__root07 .txt {
		font-size: calc(24 / var(--break) * 100vw);
	}

	.row__root05 {
		gap: calc(50 / var(--break) * 100vw);
	}

	.row__root05 .col {
		width: calc(33.333% - calc(54 / var(--break) * 100vw));
	}

	.row__root05 .col .txt {
		font-size: calc(21 / var(--break) * 100vw);
	}
}

@media(max-width: 767px) {
	.index_root .hdg2 .en {
		font-size: calc(100 / var(--break) * 100vw);
	}

	.index_root .hdg2 .ja {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.wrap__root01 .hdg3 {
		margin-top: 0;
	}

	.img__root01 {
		margin-top: 12vw;
	}

	.box__root01 {
		margin-top: calc(24 / var(--break) * 100vw);
		padding-top: 10vw;
	}

	.box__root01 .ttl {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.wrap__root01 {
		padding-bottom: 1vw;
	}

	.tbl__root01 .th_item {
		background: #9498A033;
		color: var(--color09);
		width: 22%;
	}

	.tbl__root01 .th_hoken {
		width: 25%;
	}

	.tbl__root01 .th_jiyu {
		width: 25%;

	}

	.wrap__root02 {
		background: url(images/index/bg__recommend01_sp.jpg) no-repeat top center / cover;
		margin-bottom: 0;
	}

	.tbl__root01 tr:not(:first-of-type) th,
	.tbl__root01 tr:not(:first-of-type) td,
	.tbl__root01 tr:not(:first-of-type) td span {
		font-size: calc(20 / var(--break) * 100vw);
	}

	.row_common01 .col_txt .wrap {
		width: 100%;
	}

	.tbl__root01 table {
		width: calc(1500 / var(--break) * 100vw);
	}

	.tbl__root01 tr:first-of-type th {
		padding: calc(30 / var(--break) * 100vw) calc(20 / var(--break) * 100vw);
		font-size: calc(24 / var(--break) * 100vw);
	}

	.tbl__root01 tbody tr:not(:first-child) th {
		padding: calc(15 / var(--break) * 100vw) calc(20 / var(--break) * 100vw);
		font-size: calc(20 / var(--break) * 100vw);
	}

	.wrap__root05 .ttl01 {
		font-size: calc(40 / var(--break) * 100vw);
		display: flex;
		align-items: center;
		justify-content: center;
		gap: calc(40 / var(--break) * 100vw);
		line-height: 1.6;
	}

	.row__root02 {
		padding-bottom: 4vw;
	}

	.wrap__root07 {
		background: url(images/index/bg__root01_sp.jpg) no-repeat top center / cover;
	}

	.wrap__root07 .ttl01 {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.wrap__root07 .txt {
		font-size: calc(26 / var(--break) * 100vw);
	}

	.row__root05 {
		gap: calc(40 / var(--break) * 100vw);
	}

	.row__root05 .col {
		width: calc(310 / var(--break) * 100vw);
		aspect-ratio: 1 / 1;
		min-height: auto;
		border-radius: 50%;
		background: #fff;
		outline: solid calc(10 / var(--break) * 100vw) rgba(255, 255, 255, .5);
		flex-direction: column;
	}

	.row__root05 .col .icn {
		width: calc(30 / var(--break) * 100vw);
	}

	.wrap__flow01 {
		background: var(--color05);
	}

	.wrap__flow01 .item:first-of-type {
		padding-top: 2vw;
	}
}

/* 症例紹介　case */
.tab__case01 .tab_nav {
	gap: calc(50 / var(--break) * 100vw);
}

.tab__case01 .tab_nav .item {
	cursor: pointer;
	background: linear-gradient(#fff, #fff) top 4px center, linear-gradient(#fff, #fff) bottom 4px center;
	background-size: 100% 1px;
	background-repeat: no-repeat;
	background-color: var(--color08);
}

.tab__case01 .tab_nav .item:not(.active) {
	background: linear-gradient(var(--color09), var(--color09)) top 4px center, linear-gradient(var(--color09), var(--color09)) bottom 4px center;
	background-size: 100% 1px;
	background-repeat: no-repeat;
	background-color: var(--color05);
}

.tab__case01 .tab_nav .item:not(.active) a {
	color: var(--color09);
}

.tab__case01 .tab_nav .item:not(.active)::after {
	filter: none;
}

.tab__case01 .tab_title .ttl {
	background: var(--color04);
}

.tab__case02 {
	background: url(images/index/bg__case01.jpg)no-repeat center/ cover;
}

.tab_contents .tab_content {
	display: none;
	opacity: 0;
}

.tab_contents .tab_content.active {
	display: block;
	animation: tabFadeIn 0.5s ease forwards;
}

.slide_case01 .slick-prev {
	left: 2.8% !important;
}

.slide_case01 .slick-next {
	right: 2.8% !important;
	transform: scaleX(-1);
}

.slide_case01 .slick-prev,
.slide_case01 .slick-next {
	width: calc(42 / var(--break) * 100vw) !important;
	height: calc(80 / var(--break) * 100vw) !important;
}

.row_case01 .col_l .en {
	border: 1px solid var(--color04);
}

.slide_case01 .tbl_default th {
	background: var(--color04);
}



@keyframes tabFadeIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media(min-width: 768px) and (max-width:1599px) {
	.tab__case01 .tab_nav {
		gap: calc(50% - calc(540 / var(--break) * 100vw));
	}
}

@media(min-width: 768px) and (max-width:1299px) {}

@media(max-width: 767px) {
	.tab__case01 .tab_nav {
		gap: calc(70 / var(--break) * 100vw) calc(100% - calc(680 / var(--break) * 100vw));
	}

	.tab__case01 .tab_nav .item {
		width: calc(340 / var(--break) * 100vw);
	}

	.area_case_common01 {
		padding-inline: calc(24 / var(--break) * 100vw);
	}

	.area_case_common01 .ttl {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.area_case_common01 td {
		line-height: 1.6;
	}

}

/* 院長挨拶 index_greeting
------------------------------------------------------------------*/
.index_greeting {
	background: #fff;
}

.wrap__greeting01 {
	background: url(images/index/img__greeting01.jpg) no-repeat 82% 20% / calc(950 / var(--break) * 100vw);
}

.row__greeting01 .col_txt {
	max-width: calc(815 / var(--break) * 100vw);
}

.row__greeting01 .col_txt .ttl {
	letter-spacing: 0.05em;
}

.row__greeting01 .deco {
	width: calc(280 / var(--break) * 100vw);
	height: calc(280 / var(--break) * 100vw);
	right: 0;
	bottom: 8%;
	border-radius: 50%;
	outline: solid 1px #fff;
	outline-offset: calc(-9 / var(--break) * 100vw);
}

.box_prof .list_default li:before {
	background: var(--color07);
}

.wrap__greeting02 {
	background: url(images/index/bg__greeting01.jpg)no-repeat bottom / 100% auto;
}

@media(min-width: 768px) and (max-width:1599px) {
	.wrap__greeting01 {
		background: url(images/index/img__greeting01.jpg) no-repeat 95% 20% / calc(880 / var(--break) * 100vw);
	}

	.wrap__greeting02 {
		background: url(images/index/bg__greeting01.jpg) no-repeat bottom center/ cover;
	}
}

@media(min-width: 768px) and (max-width:1299px) {
	.wrap__greeting01 {
		background: url(images/index/img__greeting01.jpg) no-repeat 134% 55% / 69%;
	}

	.row__greeting01 .col_txt {
		max-width: calc(680 / var(--break) * 100vw);
	}

	.row__greeting01 .col_txt .ttl {
		font-size: calc(32 / var(--break) * 100vw);
	}

	.row__greeting01 .deco {
		width: calc(200 / var(--break) * 100vw);
		height: calc(200 / var(--break) * 100vw);
		right: -3%;
		bottom: 11%;
	}

	.row__greeting01 .deco .txt01 {
		font-size: calc(19 / var(--break) * 100vw);
	}

	.row__greeting01 .deco .txt02 {
		font-size: calc(26 / var(--break) * 100vw);
		margin-top: calc(3 / var(--break) * 100vw);
	}

	.row__greeting01 .deco .txt03 {
		font-size: calc(13 / var(--break) * 100vw);
		margin-top: calc(7 / var(--break) * 100vw);
	}

	.row_prof {
		margin-top: calc(70 / var(--break) * 100vw);
	}

	.wrap__greeting02 {
		padding-block: calc(65 / var(--break) * 100vw);
	}
}

@media(max-width: 767px) {
	.wrap__greeting01 {
		background: url(images/index/img__greeting01.jpg) no-repeat top center;
		background-size: calc(700 / var(--break) * 100vw);
	}

	.wrap__greeting01 .hdg2 {
		text-align: center;
		padding-top: 80vw;
	}

	.wrap__greeting01 .hdg2 .en {
		font-size: calc(100 / var(--break) * 100vw);
	}

	.row__greeting01 {
		margin-inline: 3.2%;
		margin-top: calc(15 / var(--break) * 100vw);
	}

	.row__greeting01 .col_txt {
		padding-top: 0;
		padding-bottom: 0;
	}

	.row__greeting01 .col_txt .ttl {
		font-size: calc(40 / var(--break) * 100vw);
		text-align: center;
	}

	.row__greeting01 .col_txt .txt {
		line-height: 2;
	}

	.row__greeting01 .deco {
		text-align: center;
		bottom: initial;
		top: -66vw;
		right: -5vw;
	}

	.row__greeting01 .deco .txt01 {
		font-size: calc(26 / var(--break) * 100vw);
	}

	.row__greeting01 .deco .txt02 {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.row__greeting01 .deco .txt03 {
		font-size: calc(24 / var(--break) * 100vw);
	}

	.row_prof {
		margin-top: calc(60 / var(--break) * 100vw);
		margin-bottom: 0;
	}

	.box_prof {
		margin-bottom: calc(15 / var(--break) * 100vw);
	}

	.row_prof .box_prof .list_default li {
		font-size: calc(32 / var(--break) * 100vw);
		letter-spacing: 0;
	}

	.row_prof .box_prof .list_default li:not(:first-child) {
		margin-top: 2vw;
	}

	.wrap__greeting02 {
		background: url(images/index/bg__greeting01.jpg) no-repeat left bottom / cover;
	}
}

/* ループスライダー slide_loop
------------------------------------------------------------------*/
.slide_loop01,
.slide_loop02 {
	height: calc(130 / var(--break) * 100vw);
	overflow: hidden;
}

.slide_loop01 img,
.slide_loop02 img {
	height: calc(130 / var(--break) * 100vw);
	width: auto;
	margin-inline: calc(10 / var(--break) * 100vw)
}

.slide_loop02 {
	transform: scaleX(-1);
}

.slide_loop02 .slide_list li {
	transform: scaleX(-1);
}

@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {}

@media(max-width: 767px) {
	.index_greeting {
		padding-bottom: 0;
	}
}

/* 費用 fee
------------------------------------------------------------------*/
.index_fee .hdg3 span {
	background: var(--color04);
}

.index_fee .tbl_default th {
	background: var(--color05);
	color: var(--color09);
}

.index_fee .tbl_default tr:not(:last-child) th {
	border-bottom: solid 1px var(--color09);
}

.index_fee .wrap__fee01 .tbl_default th[colspan="2"],
.index_fee .wrap__fee02 .tbl_default th[colspan="3"] {
	background: var(--color08);
	color: #fff;
	text-align: center;
	font-size: calc(24 / var(--break) * 100vw);
	font-family: shippori-mincho, sans-serif;
	font-weight: 400;
	font-style: normal;
}

.index_fee .wrap__fee02 .tbl_default tr th.t2 {
	border-left: 1px solid var(--color09);
}

.index_fee .wrap__fee02 .tbl_default th[colspan="3"] {
	background: var(--color07);
}

/* お支払方法 */
.row_pay .col {
	width: 29.5%;
	margin-right: 5.5%;
}

.row_pay .col:nth-child(3n) {
	margin-right: 0;
}

.row_pay .icn {
	width: calc(200 / var(--break) * 100vw);
}

/* 医療費控除制度について */
.wrap__fee03 .btn_default01 a {
	border: 0;
	padding: calc(10 / var(--break) * 100vw) 3% calc(12 / var(--break) * 100vw);
}

.wrap__fee03 .btn_default01.arw02 a:after {
	width: calc(10 / var(--break) * 100vw);
	height: calc(10 / var(--break) * 100vw);
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
}

@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {
	.index_fee .tbl_default th[colspan="3"] {
		font-size: calc(22 / var(--break) * 100vw);
	}

	.wrap__fee03 .ttl {
		font-size: calc(26 / var(--break) * 100vw);
	}
}

@media(max-width: 767px) {
	.index_fee .hdg2 .en {
		font-size: calc(100 / var(--break) * 100vw);
	}

	.index_fee .hdg2 .ja {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.index_fee .tbl_default th[colspan="3"] {
		font-size: calc(32 / var(--break) * 100vw);
	}

	.wrap__fee03 .ttl {
		font-size: calc(40 / var(--break) * 100vw);
		letter-spacing: .08em;
		margin-top: 7vw;
	}

	.wrap__fee03 .box_default01 {
		padding-inline: calc(35 / var(--break) * 100vw);
		padding-bottom: 8vw;
		margin-bottom: 5vw;
	}

	.wrap__fee03 .box_default01 .ttl {
		margin-top: 2vw;
	}

	.wrap__fee03 .btn_default01 {
		max-width: 600px;
		width: calc(600 / var(--break) * 100vw);
		margin-top: 6vw;
	}

	.wrap__fee03 .btn_default01 a {
		font-size: calc(34 / var(--break) * 100vw);
		padding: calc(15 / var(--break) * 100vw) 3% calc(17 / var(--break) * 100vw);
	}

	.wrap__fee03 .btn_default01.arw02 a:after {
		width: calc(24 / var(--break) * 100vw);
		height: calc(24 / var(--break) * 100vw);
	}

	.row_pay {
		margin-top: 7vw;
	}

	.row_pay .col {
		width: 48.25%;
		margin-right: 3.5%;
		padding-inline: calc(20 / var(--break) * 100vw);
	}

	.row_pay .col:nth-child(-n+2) {
		margin-bottom: 3.5vw;
	}

}

/* 保証制度 guarantee
------------------------------------------------------------------*/
.wrap__guarantee01 {
	background: url(images/index/bg__guarantee01.jpg) no-repeat center / cover;
	padding: calc(70 / var(--break) * 100vw) 5% calc(75 / var(--break) * 100vw);
}

.tbl_guarantee table {
	width: 100%;
	border-collapse: collapse;
}

.tbl_guarantee th,
.tbl_guarantee td {
	width: 20%;
	text-align: center;
	border: 1px solid var(--color09);
}

.tbl_guarantee th {
	background: var(--color07);
	color: #fff;
	padding: calc(10 / var(--break) * 100vw);
	font-weight: 400;
	font-size: calc(22 / var(--break) * 100vw);
	font-family: shippori-mincho, sans-serif;
}

.tbl_guarantee th:not(:last-of-type) {
	border-right: 2px solid #fff;
}

.tbl_guarantee td:not(:last-of-type) {
	border-right: 2px solid var(--color09);
}

.tbl_guarantee td {
	background: #fff;
	padding: calc(5 / var(--break) * 100vw) calc(10 / var(--break) * 100vw);
	font-size: calc(24 / var(--break) * 100vw);
}

.box__guarantee01 {
	background: url(images/index/deco__type01.png) no-repeat left top / calc(200/ var(--break) * 100vw),
		url(images/index/deco__type02.png) no-repeat right top / calc(200/ var(--break) * 100vw),
		url(images/index/deco__type03.png) no-repeat left bottom / calc(200/ var(--break) * 100vw),
		url(images/index/deco__type04.png) no-repeat right bottom / calc(200/ var(--break) * 100vw);
}

.row__guarantee01 .col {
	width: 31.3%;
	max-width: 470px;
}

.row__guarantee01 .col_r {
	width: 46.7%;
	max-width: 700px;
}

.row__guarantee01 .col .label {
	padding: calc(10 / var(--break) * 100vw) calc(20 / var(--break) * 100vw);
}

.row__guarantee01 .col_l .label {
	background: url(images/page/bg_hdg3_g.jpg) center / cover no-repeat;
}

.row__guarantee01 .col_r .label {
	background: url(images/page/bg__hdg3.jpg) center / cover no-repeat;
}


.row__guarantee01 .arw {
	width: calc(23 / var(--break) * 100vw);
	height: calc(30 / var(--break) * 100vw);
	margin: 0 calc(20 / var(--break) * 100vw);
	border-top: calc(23 / var(--break) * 100vw) solid transparent;
	border-bottom: calc(23 / var(--break) * 100vw) solid transparent;
	border-left: calc(21 / var(--break) * 100vw) solid var(--color09) !important;
}

/* セカンドオピニオン */
.box__guarantee03 {
	background: var(--color05);
}

.box__guarantee03 .ttl01 {
	color: var(--color06);
	letter-spacing: 0.1em;
}

.box__guarantee03 .ttl02 {
	color: var(--color06);
}

.row__guarantee02 {
	gap: calc(20 / var(--break) * 100vw);
}

.row__guarantee02 .col {
	width: calc(320 / var(--break) * 100vw);
	max-width: 320px;
	padding: calc(40 / var(--break) * 100vw) calc(20 / var(--break) * 100vw) calc(30 / var(--break) * 100vw);
	background: linear-gradient(to bottom right, #fff 50%, var(--color05) 50%);
}

.row__guarantee02 .col .icn {
	margin-bottom: calc(20 / var(--break) * 100vw);
}

.row__guarantee02 .col .icn img {
	width: calc(40 / var(--break) * 100vw);
}

.box__guarantee03 {
	background: url(images/index/bg__guarantee02.jpg) center / cover no-repeat;
	outline: solid 1px #fff;
	outline-offset: calc(-9 / var(--break) * 100vw);
}

.box__guarantee03 .desc {
	width: calc(1020 / var(--break) * 100vw);
	max-width: 1020px;
	margin: 0 auto;
}
.ttl_gurantee01 {
	border-top-color: #4D5360;
	border-bottom-color: #4D5360;
}
.ttl_gurantee01 span {
	background: url(images/page/bg_hdg3_g.jpg) center / cover no-repeat;
}
.tbl_guarantee01 th {
	background: #5E563E;
}
@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {
	.wrap__guarantee01 .ttl {
		font-size: calc(30 / var(--break) * 100vw);
	}

	.box__guarantee01 .ttl {
		font-size: calc(31 / var(--break) * 100vw);
	}

	.row__guarantee01 .col {
		padding: calc(25 / var(--break) * 100vw);
		padding-bottom: calc(10 / var(--break) * 100vw);
	}

	.row__guarantee01 .col .label {
		font-size: calc(24 / var(--break) * 100vw);
	}

	.row__guarantee01 .col .num {
		font-size: calc(80 / var(--break) * 100vw);
	}

	.row__guarantee01 .col .unit {
		font-size: calc(32 / var(--break) * 100vw);
	}

	.box__guarantee03 {
		margin-top: calc(80 / var(--break) * 100vw);
	}
	.tbl_guarantee01 th {
		font-size: 1rem;
		letter-spacing: .1em;
	}
}

@media(max-width: 767px) {
	.index_guarantee .hdg2 {
		padding-top: 14vw;
	}

	.index_guarantee .hdg2 .ja {
		font-size: calc(40 / var(--break) * 100vw);
		margin-top: 2vw;
	}

	.wrap__guarantee01 {
		padding: 12vw 5% 13vw;
		margin-top: 0;
		background: url(images/index/bg__guarantee01_sp.jpg) no-repeat center / cover;
	}

	.wrap__guarantee01 .ttl {
		font-size: calc(34 / var(--break) * 100vw);
		line-height: 1.95;
	}
	.tbl_guarantee01 table {
		width: calc(1500 / var(--break) * 100vw);
	}
	.tbl_guarantee th:not(:last-of-type) {
		border-right: 1.5px solid #fff;
	}

	.tbl_guarantee td:not(:last-of-type) {
		border-right: 1.5px solid var(--color09);
	}

	.tbl_guarantee th,
	.tbl_guarantee td {
		font-size: calc(32 / var(--break) * 100vw);
		padding: 1vw 2vw;
	}

	.wrap__guarantee02 .ttl {
		font-size: calc(40 / var(--break) * 100vw);
		line-height: 1.6;
		letter-spacing: 0;
	}

	.row__guarantee01 {
		display: block;
		margin-top: 6vw;
	}

	.row__guarantee01 .col_l {
		width: calc(470 / var(--break) * 100vw);
		max-width: 470px;
		margin-inline: auto;
	}

	.row__guarantee01 .col_r {
		margin-inline: auto;
		width: 98%;
		max-width: initial;
	}

	.row__guarantee01 .col .price .num {
		font-size: calc(100 / var(--break) * 100vw);
	}

	.row__guarantee01 .col .price .unit {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.row__guarantee01 .col .calc {
		font-size: calc(24 / var(--break) * 100vw);
	}

	.row__guarantee01 .col .label {
		font-size: calc(28 / var(--break) * 100vw);
	}

	.row__guarantee01 .arw {
		width: calc(40 / var(--break) * 100vw);
		height: calc(40 / var(--break) * 100vw);
		margin: 3vw auto 0vw;
		transform: rotate(90deg);
	}

	.box__guarantee03 .ttl01 {
		font-size: calc(50 / var(--break) * 100vw);
	}

	.box__guarantee03 .ttl02 {
		font-size: calc(32 / var(--break) * 100vw);
	}

	.row__guarantee02 {
		gap: calc(20 / var(--break) * 100vw);
	}

	.row__guarantee02 .col {
		width: calc(300 / var(--break) * 100vw);
		max-width: 300px;
	}

	.row__guarantee02 .col .icn img {
		width: calc(40 / var(--break) * 100vw);
	}

	.row__guarantee02 .col .txt {
		font-size: calc(24 / var(--break) * 100vw);
		line-height: 1.6;
	}

	.box__guarantee03 {
		padding-bottom: 9vw;
	}

	.box__guarantee03 .desc {
		width: 87.2%;
		margin-inline: auto;
		margin-top: 5vw;
	}
}


/* 医院紹介 index_clinic
------------------------------------------------------------------*/

.row__clinic01 .col_img {
	width: 50%;
}

.row__clinic01 .col_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.row__clinic01 .col_txt {
	width: 50%;
}

.row__clinic01 .col_txt .logo {
	width: calc(320 / var(--break) * 100vw);
	max-width: 320px;
}

.row__clinic01 .col_txt .txt .icn_pin {
	width: calc(20 / var(--break) * 100vw);
	max-width: 20px;
}

.row__clinic01 .col_txt .note {
	color: var(--color09);
}

.tbl_time03 {
	margin-inline: auto;
	margin-top: calc(50 / var(--break) * 100vw);
}

.tbl_caption:first-of-type {
	margin-top: calc(15 / var(--break) * 100vw);
	line-height: 1.3;
}

.ttl01.deco {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(55 / var(--break) * 100vw);
}

.ttl01.deco::before,
.ttl01.deco::after {
	content: "";
	flex: 1;
	border-bottom: 1px solid var(--color09);
	margin-top: 3px;
}

.box__clinic02 .icn {
	width: calc(176 / var(--break) * 100vw);
	height: calc(176 / var(--break) * 100vw);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.box__clinic02 .txt02 {
	margin-left: calc(85 / var(--break) * 100vw);
}

@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {
	.index_clinic {
		margin-top: calc(80 / var(--break) * 100vw);
		padding-bottom: calc(0 / var(--break) * 100vw);
	}

	.wrap__clinic01 {
		padding-top: 0;
	}

	.box__clinic02 .icn {
		width: calc(150 / var(--break) * 100vw);
		height: calc(150 / var(--break) * 100vw);
	}

	.box__clinic02 .txt02 {
		margin-left: calc(55 / var(--break) * 100vw);
	}



}

@media(max-width: 767px) {
	.index_clinic {
		padding: 15vw 0 0;
		margin-top: 0;
	}

	.index_clinic .hdg2 {
		padding-top: 12vw;
	}

	.index_clinic .hdg2 .en {
		font-size: calc(100 / var(--break) * 100vw);
	}

	.index_clinic .hdg2 .ja {
		font-size: calc(40 / var(--break) * 100vw);
	}

	.wrap__clinic01 {
		padding-block: 0;
	}

	.row__clinic01 {
		display: block;
		margin-top: 0;
	}

	.row__clinic01 .col_img {
		width: 100%;
	}

	.row__clinic01 .col_txt {
		width: 100%;
		padding: 10vw 5%;
	}

	.row__clinic01 .col_txt .logo {
		width: calc(320 / var(--break) * 100vw);
		max-width: 320px;
	}

	.row__clinic01 .col_txt .txt .icn_pin {
		width: calc(25 / var(--break) * 100vw);
		max-width: 25px;
	}

	.row__clinic01 .col_txt .txt {
		font-size: calc(30 / var(--break) * 100vw);
		letter-spacing: 0;
		margin-top: 5vw;
	}

	.tbl_time tbody tr:last-of-type th,
	.tbl_time tbody tr:last-of-type td {
		padding: 2vw 1vw 3.5vw;
	}

	.tbl_time tbody tr:first-of-type th,
	.tbl_time tbody tr:first-of-type td {
		padding: 4vw 1vw 0;
	}


	.tbl_caption:not(:first-of-type) {
		margin-top: 0;
	}

	.ttl01.deco {
		font-size: calc(40 / var(--break) * 100vw);
		letter-spacing: 0;
		gap: calc(35 / var(--break) * 100vw);
		margin-top: 7vw;
	}

	.box__clinic02 {
		justify-content: space-between !important;
	}

	.box__clinic02 .txt02 {
		margin-left: 0;
		margin-right: calc(24 / var(--break) * 100vw);
	}

	.box__clinic02 .ttl {
		font-size: calc(36 / var(--break) * 100vw);
		letter-spacing: 0;
	}

	.box__clinic02 .txt {
		font-size: calc(28 / var(--break) * 100vw);
		letter-spacing: 0;
	}

}

/* よくある質問 qa
------------------------------------------------------------------*/
.index_qa .hdg2 .en {
	font-size: calc(100 / var(--break) * 100vw);
}

.box_qa03 .box_q .box {
	background: var(--color02);
}

.box_qa03 .box_q .txt {
	background: var(--color05);
}

.box_qa03 {
	border: 0;
}

.box_qa03 .box_q .txt .icn {
	display: block;
	position: absolute;
	right: calc(20 / var(--break) * 100vw);
	top: 0;
	bottom: 0;
	margin: auto;
	width: calc(30 / var(--break) * 100vw);
	height: calc(30 / var(--break) * 100vw);
	background: #fff;
}

.box_qa03 .box_q .txt .icn:before {
	width: 50%;
	height: 1.5px;
	background: var(--color03);
}

.box_qa03 .box_q .txt .icn:after {
	height: 50%;
	width: 1.5px;
	background: var(--color03);
}

@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {
	.box_qa03 .box_q .txt {
		font-size: calc(21 / var(--break) * 100vw);
	}
}

@media(max-width: 767px) {
	.index_qa .hdg2 {
		padding-top: 13vw;
		padding-bottom: 10vw;
	}

	.index_qa .hdg2 .ja {
		font-size: calc(40 / var(--break) * 100vw);
		margin-top: 2vw;
	}

	.box_qa03 .box_q {
		background: var(--color05);
	}

	.box_qa03 .box {
		padding-left: 2.5vw;
		padding-top: 2.5vw;
	}

	.box_qa03 .box span {
		font-size: calc(30 / var(--break) * 100vw);
	}

	.box_qa03 .box_q .txt {
		font-size: calc(32 / var(--break) * 100vw);
		padding: 4vw 9vw 4vw 4vw;
		line-height: 1.6;
		letter-spacing: 0.1em;
	}

	.box_qa03 .box_q .txt .icn {
		right: 3vw;
	}

	.box_qa03 .box_q .txt .icn:before {
		height: 1px;
	}

	.box_qa03 .box_q .txt .icn:after {
		width: 1px;
	}

	.box_qa03 .box_a {
		padding: 3vw 5% 6.5vw;
	}
}

/* フッター footer
------------------------------------------------------------------*/
.row_foot01>.col_l,
.row_foot01>.col_r {
	width: 50%;
}

.row_foot01 .logo_foot {
	width: calc(320 / var(--break) * 100vw);
}

.row_foot01 .col_r .tbl_time03 {
	margin-right: 0;
}

.row_foot02 {
	gap: calc(40 / var(--break) * 100vw);
}

.row_foot02 .col {
	width: calc(600 / var(--break) * 100vw);
	max-width: 600px;
}

.pagetop {
	position: fixed;
	right: calc(30 / var(--break) * 100vw);
	bottom: calc(30 / var(--break) * 100vw);
	z-index: 1000;
	width: calc(80 / var(--break) * 100vw);
}

.copyright {
	height: calc(80 / var(--break) * 100vw);
}

@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {}

@media(max-width: 767px) {
	.row_foot01 {
		display: block;
	}

	.row_foot01>.col_l {
		width: 100%;
		max-width: 100%;
		text-align: center;
	}

	.row_foot01>.col_r {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
	}

	.row_foot01 .address_foot {
		font-size: calc(30 / var(--break) * 100vw);
		letter-spacing: 0;
		margin-top: 5vw;
	}

	.row_foot01 .web_head {
		margin-top: 5vw;
	}

	.row_foot02 {
		margin-block: 11vw 8vw;
	}

	.copyright {
		font-size: 75%;
		letter-spacing: 0;
		padding: 4vw 0 20vw;
		height: auto;
	}

	.pagetop {
		display: none !important;
	}

	.fix {
		position: fixed;
		width: 100%;
		left: 0;
		bottom: 0;
		z-index: 9;
	}

	.fix_tel {
		width: calc(300 / var(--break) * 100dvw);
	}

	.fix_web {
		width: calc(600 / var(--break) * 100dvw);
	}

	.pagetop_sp {
		width: calc(150 / var(--break) * 100dvw);
	}

	.fix a {
		display: block;
	}
}

/* グーグルマップ
------------------------------------------------------------------*/
.map {
	position: relative;
	width: 100%;
	padding: calc(500 / var(--break) * 100vw) 0 0 0;
	overflow: hidden;
}

.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	margin-top: calc(-170 / var(--break) * 100vw);
	height: calc(100% + calc(340 / var(--break) * 100vw));
}

.btn_map {
	width: calc(300 / var(--break) * 100vw);
	font-size: 1.25rem;
	letter-spacing: .1em;
	left: calc(40 / var(--break) * 100vw);
	top: calc(30 / var(--break) * 100vw);
	z-index: 1;
}

.btn_map a {
	height: calc(60 / var(--break) * 100vw);
	background: url("images/page/icn_map.svg")no-repeat left calc(30 / var(--break) * 100vw) center / calc(16 / var(--break) * 100vw) auto;
	border: 1px solid var(--color09);
	transition: .2s;
}

.btn_map a:hover {
	opacity: .7;
}

.btn_map a::after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	right: calc(20 / var(--break) * 100vw);
	width: calc(30 / var(--break) * 100vw);
	height: 100%;
	background-image: url(./images/page/arw_btn01.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

@media(min-width: 768px) and (max-width:1599px) {}

@media(min-width: 768px) and (max-width:1299px) {
	.map iframe {
		margin-top: calc(-280 / var(--break) * 100vw);
		height: calc(100% + calc(560 / var(--break) * 100vw));
	}
}

@media(max-width: 767px) {
	.map iframe {
		margin-top: calc(-200 / var(--break) * 100vw);
		height: calc(100% + calc(400 / var(--break) * 100vw));
	}

	.btn_map {
		width: calc(600 / var(--break) * 100vw);
		margin: 0 auto calc(60 / var(--break) * 100vw);
		font-size: 1.0625rem;
		letter-spacing: 0;
		position: relative;
		left: auto;
		top: auto;
	}

	.btn_map a {
		height: calc(100 / var(--break) * 100vw);
		background-position: left 3vw center;
		background-size: calc(30 / var(--break) * 100vw) auto;
	}

	.btn_map a span {
		font-size: calc(34 / var(--break) * 100vw);
		letter-spacing: 0;
	}

	.btn_map a::after {
		right: 3vw;
		width: calc(40 / var(--break) * 100vw);
	}
}