html,
body {
	line-height: 1.5;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .075em
}

body {
	position: relative;
	font-size: 1rem;
	font-family:
		"Hiragino Sans",
		"Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ ProN W3",
		sans-serif;
	color: var(--clr_base);
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}

::selection {
	background: #b3d4fc;
	text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
	resize: vertical;
}

/* ==========================================================================
   Commons styles
   ========================================================================== */
a {
	text-decoration: none;
	color: inherit
}

a:focus,
*:focus {
	outline: none;
}

/*a[href^="tel:"] {
	pointer-events: none;
	cursor: text;
}*/
img {
	border: 0px;
}

dd {
	margin: 0
}

p,
h1,
h2,
h3,
h4,
h5 {
	margin: 0;
	padding: 0
}

figure {
	margin: 0;
	padding: 0
}

ul,
li,
dl,
ol {
	margin: 0;
	padding: 0;
	list-style: none
}

.b {
	font-weight: bold
}

.fw_n {
	font-weight: normal
}

.tx_und {
	text-decoration: underline
}

.tx_cent {
	text-align: center
}

.tx_right {
	text-align: right
}

.tx_left {
	text-align: left
}

.disp_blk {
	display: block
}

.disp_non {
	display: none
}

.marker_tp_1 {
	background: rgba(0, 0, 0, 0) linear-gradient(transparent 75%, #ffff00 0%) repeat scroll 0 0;
}

/*-------------------------------------
色設定
--------------------------------------*/
:root {
	--clr_wht: #FFF;
	--clr_blk: #000000;
	--clr_base: #3d3d3d;
	--clr_brown: #7e5c36;
	--clr_brown_2: #d38431;
	--clr_brown_3: #9b4646;
	--clr_brown_4: #422f17;
	--clr_brown_5: #633b18;

	--clr_glay: #6b6662;
}

/*-------------------------------------
背景色/文字色
--------------------------------------*/
.bg_clr_wht {
	background-color: #FFF
}

.fc_wht {
	color: #FFF
}

.fc_blk {
	color: var(--clr_blk)
}

.fc_brown {
	color: var(--clr_brown)
}

.fc_brown_2 {
	color: var(--clr_brown_2)
}

.fc_brown_3 {
	color: var(--clr_brown_3)
}

.fc_brown_4 {
	color: var(--clr_brown_4)
}

.fc_brown_5 {
	color: var(--clr_brown_5)
}

.fc_glay {
	color: var(--clr_glay)
}

.txs_12 {
	font-size: 12px;
}

.txs_13 {
	font-size: 13px;
}

.txs_14 {
	font-size: 14px;
}

.txs_15 {
	font-size: clamp(13px, 0.78vw, 15px);
}

.txs_16 {
	font-size: clamp(14px, 0.833vw, 16px);
}

.txs_17 {
	font-size: clamp(14px, 0.88vw, 17px);
}

.txs_18 {
	font-size: clamp(15px, 0.93vw, 18px);
}

.txs_19 {
	font-size: clamp(15px, 0.98vw, 19px);
}

.txs_20 {
	font-size: clamp(16px, 1.04vw, 20px);
}

.txs_21 {
	font-size: clamp(16px, 1.09vw, 21px);
}

.txs_22 {
	font-size: clamp(16px, 1.14vw, 22px);
}

.txs_23 {
	font-size: clamp(16px, 1.19vw, 23px);
}

.txs_24 {
	font-size: clamp(16px, 1.25vw, 24px);
}

.txs_25 {
	font-size: clamp(16px, 1.3vw, 25px);
}

.txs_26 {
	font-size: clamp(16px, 1.35vw, 26px);
}

.txs_27 {
	font-size: clamp(16px, 1.41vw, 27px);
}

.txs_28 {
	font-size: clamp(16px, 1.4583vw, 28px);
}

.txs_29 {
	font-size: clamp(16px, 1.51vw, 29px);
}

.txs_30 {
	font-size: clamp(16px, 1.56vw, 30px);
}

.txs_31 {
	font-size: clamp(22px, 1.61vw, 31px);
}

.txs_32 {
	font-size: clamp(16px, 1.66vw, 32px);
}

.txs_33 {
	font-size: clamp(16px, 1.71vw, 33px);
}

.txs_34 {
	font-size: clamp(16px, 1.77vw, 34px);
}

.txs_35 {
	font-size: clamp(16px, 1.82vw, 35px);
}

.txs_36 {
	font-size: clamp(18px, 1.88vw, 36px);
}

.txs_37 {
	font-size: clamp(18px, 1.93vw, 37px);
}

.txs_38 {
	font-size: clamp(18px, 1.97vw, 38px);
}

.txs_39 {
	font-size: clamp(18px, 2.03vw, 39px);
}

.txs_40 {
	font-size: clamp(18px, 2.08vw, 40px);
}

.txs_41 {
	font-size: clamp(18px, 2.14vw, 41px);
}

.txs_42 {
	font-size: clamp(18px, 2.19vw, 42px);
}

.txs_43 {
	font-size: clamp(18px, 2.24vw, 43px);
}

.txs_44 {
	font-size: clamp(18px, 2.29vw, 44px);
}

.txs_45 {
	font-size: clamp(18px, 2.34vw, 45px);
}

.txs_46 {
	font-size: clamp(18px, 2.39vw, 46px);
}

.txs_47 {
	font-size: clamp(18px, 2.45vw, 47px);
}

.txs_48 {
	font-size: clamp(18px, 2.5vw, 48px);
}

.txs_49 {
	font-size: clamp(18px, 2.55vw, 49px);
}

.txs_50 {
	font-size: clamp(18px, 2.60vw, 50px);
}

.txs_51 {
	font-size: clamp(36px, 2.66vw, 51px);
}

.txs_52 {
	font-size: clamp(36px, 2.71vw, 52px);
}

.txs_53 {
	font-size: clamp(36px, 2.76vw, 53px);
}

.txs_54 {
	font-size: clamp(36px, 2.81vw, 54px);
}

.txs_55 {
	font-size: clamp(36px, 2.86vw, 55px);
}

.txs_56 {
	font-size: clamp(36px, 2.92vw, 56px);
}

.txs_57 {
	font-size: clamp(36px, 2.97vw, 57px);
}

.txs_58 {
	font-size: clamp(36px, 3.02vw, 58px);
}

.txs_59 {
	font-size: clamp(36px, 3.07vw, 59px);
}

.txs_60 {
	font-size: clamp(36px, 3.12vw, 60px);
}

.txs_61 {
	font-size: clamp(36px, 3.18vw, 61px);
}

.txs_62 {
	font-size: clamp(36px, 3.23vw, 62px);
}

.txs_63 {
	font-size: clamp(36px, 3.28vw, 63px);
}

.txs_64 {
	font-size: clamp(36px, 3.33vw, 64px);
}

.txs_65 {
	font-size: clamp(36px, 3.39vw, 65px);
}

.txs_66 {
	font-size: clamp(36px, 3.44vw, 66px);
}

.txs_67 {
	font-size: clamp(36px, 3.49vw, 67px);
}

.txs_68 {
	font-size: clamp(36px, 3.54vw, 68px);
}

.txs_69 {
	font-size: clamp(36px, 3.60vw, 69px);
}

.txs_70 {
	font-size: clamp(36px, 3.65vw, 70px);
}

.txs_71 {
	font-size: clamp(36px, 3.70vw, 71px);
}

.txs_72 {
	font-size: clamp(36px, 3.75vw, 72px);
}

.txs_73 {
	font-size: clamp(36px, 3.80vw, 73px);
}

.txs_74 {
	font-size: clamp(36px, 3.85vw, 74px);
}

.txs_75 {
	font-size: clamp(36px, 3.91vw, 75px);
}

.txs_76 {
	font-size: clamp(36px, 3.96vw, 76px);
}

.txs_77 {
	font-size: clamp(36px, 4.01vw, 77px);
}

.txs_78 {
	font-size: clamp(36px, 4.06vw, 78px);
}

.txs_79 {
	font-size: clamp(36px, 4.11vw, 79px);
}

.txs_80 {
	font-size: clamp(36px, 4.17vw, 80px);
}

.txs_81 {
	font-size: clamp(36px, 4.22vw, 81px);
}

.txs_82 {
	font-size: clamp(36px, 4.27vw, 82px);
}

.txs_83 {
	font-size: clamp(36px, 4.32vw, 83px);
}

.txs_84 {
	font-size: clamp(36px, 4.38vw, 84px);
}

.txs_85 {
	font-size: clamp(36px, 4.43vw, 85px);
}

.txs_86 {
	font-size: clamp(36px, 4.48vw, 86px);
}

.txs_87 {
	font-size: clamp(36px, 4.53vw, 87px);
}

.txs_88 {
	font-size: clamp(36px, 4.58vw, 88px);
}

.txs_89 {
	font-size: clamp(36px, 4.64vw, 89px);
}

.txs_90 {
	font-size: clamp(36px, 4.69vw, 90px);
}

.txs_91 {
	font-size: clamp(36px, 4.74vw, 91px);
}

.txs_92 {
	font-size: clamp(36px, 4.79vw, 92px);
}

.txs_93 {
	font-size: clamp(36px, 4.84vw, 93px);
}

.txs_94 {
	font-size: clamp(36px, 4.90vw, 94px);
}

.txs_95 {
	font-size: clamp(36px, 4.95vw, 95px);
}

.txs_96 {
	font-size: clamp(36px, 5.00vw, 96px);
}

.txs_97 {
	font-size: clamp(36px, 5.05vw, 97px);
}

.txs_98 {
	font-size: clamp(36px, 5.10vw, 98px);
}

.txs_99 {
	font-size: clamp(36px, 5.16vw, 99px);
}

.txs_100 {
	font-size: clamp(36px, 5.21vw, 100px);
}

.tx_sdw_1 {
	text-shadow: 2px 2px 0 #ffffff, -2px 2px 0 #ffffff, 2px -2px 0 #ffffff, -2px -2px 0 #ffffff;
}

span.line {
	padding-bottom: 2px;
	border-bottom: 2px solid var(--clr_base);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.ff_hira_b {
	font-family:
		"Hiragino Sans",
		"Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ ProN W6",
		sans-serif;
	font-weight: 600;
}

.ff_hira_min {
	font-family:
		"Hiragino Mincho ProN",
		"ヒラギノ明朝 ProN W3",
		"Hiragino Mincho Pro",
		"MS PMincho",
		serif;
}

.ff_hira_min_b {
	font-family:
		"Hiragino Mincho ProN",
		"ヒラギノ明朝 ProN W6",
		serif;
	font-weight: 600;
}

.ff_han_min {
	font-family: source-han-serif-japanese, serif;
}

.ff_mpc {
	font-family: minion-pro-caption, serif;
}

.ff_mp {
	font-family: minion-pro, serif;
}

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

.ls_ng_55 {
	letter-spacing: -.055em;
}

.ls_ng_25 {
	letter-spacing: -.055em;
}

.ls_ng_15 {
	letter-spacing: -.015em
}

.ls_0 {
	letter-spacing: 0
}

.ls_25 {
	letter-spacing: .025em
}

.ls_35 {
	letter-spacing: .035em
}

.ls_5 {

	letter-spacing: .05em
}

.ls_75 {
	letter-spacing: .075em;
}

.ls_80 {
	letter-spacing: .08em
}

.ls_100 {
	letter-spacing: .1em
}

.ls_200 {
	letter-spacing: .2em
}

.fw_400 {
	font-weight: 400
}

.fw_500 {
	font-weight: 500
}

.fw_550 {
	font-weight: 550
}

.fw_600 {
	font-weight: 600
}

.fw_700 {
	font-weight: 700
}

.fw_800 {
	font-weight: 800
}

.fw_900 {
	font-weight: 900
}

.lh_1 {
	line-height: 1
}

.lh_1_1 {
	line-height: 1.1
}

.lh_1_2 {
	line-height: 1.2
}

.lh_1_3 {
	line-height: 1.3
}

.lh_1_4 {
	line-height: 1.4
}

.lh_1_6 {
	line-height: 1.6
}

.lh_1_7 {
	line-height: 1.7
}

.lh_1_8 {
	line-height: 1.8
}

.lh_2 {
	line-height: 2
}

.ls_non {
	letter-spacing: 0
}

.ls_nega {
	letter-spacing: -.075em
}

.flex_wrapper {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}

.flex-wrap_par {
	flex-wrap: wrap;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}

.flex-rev {
	flex-flow: row-reverse;
}

.jus_bet {
	justify-content: space-between
}

.jus_cent {
	justify-content: center
}

.an_bl {
	align-items: baseline
}

.an_cent {
	align-items: center
}

.block_link {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

@media (hover: hover) {
	.hover {
		transition-property: all;
		transition: 0.15s linear;
	}

	.hover:hover {
		opacity: 0.75;
	}

	.brightness {
		transition: filter 0.3s ease;
		filter: brightness(1);
	}

	.brightness:hover {
		filter: brightness(1.2);
	}
}

.pc {
	display: block
}

.sp {
	display: none !important
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.max_img {
	max-width: 100%;
	height: auto;
	display: block;
}

.img_w100 {
	width: 100%;
	height: auto
}

.img_w50 {
	width: 50%;
	height: auto
}

.img_w40 {
	width: 40%;
	height: auto
}

.img_w30 {
	width: 30%;
	height: auto
}

.img_w20 {
	width: 20%;
	height: auto
}

.centered {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignright {
	margin: 0 0 0 3%;
	display: inline;
}

.alignleft {
	margin: 0 3% 0 0;
	display: inline;
}

.alignright {
	float: right;
}

.alignleft {
	float: left;
}

.clear {
	clear: both
}

.pos_rel {
	position: relative
}

.inl_b {
	display: inline-block
}

.inl {
	display: inline
}

/*-------------------------------------
ラッパー
--------------------------------------*/
.wrap_1000 {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

.wrap_1200 {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/*-------------------------------------
リスト
--------------------------------------*/
.list_type_num li,
.list_type_1 li {
	position: relative;
	padding-left: 1em;
	margin-bottom: 1%;
}

.list_type_num li:last-child,
.list_type_1 li:last-child {
	margin-bottom: 0;
}

.list_type_1 li::after {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

.list_type_2 li {
	position: relative;
	padding-left: 17px;
	margin-bottom: 0;
}

.list_type_2 li::after {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}

.list_type_num {
	counter-reset: number 0;
}

.list_type_num li {
	position: relative;
}

.list_type_num li::before {
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: number 1;
	content: counter(number) ".";
}

/*-------------------------------------
ボックス
--------------------------------------*/
.bx_type_1 {
	background: #fdf8eb;
	padding: 9px;
	border: 4px solid #b29e75
}

.bx_type_1 .inn {
	padding: 40px 2%;
	border: 2px solid #b29e75
}

/*-------------------------------------
見出し
--------------------------------------*/
.h_type_1 {
	text-align: center
}

.h_type_1 .inn {
	display: inline-block;
	padding: 16px min(3.65vw, 70px);
	position: relative;
	background: linear-gradient(to right,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, .6) 20%,
			rgba(255, 255, 255, .6) 80%,
			rgba(255, 255, 255, 0) 100%);
	font-family: source-han-serif-japanese, serif;
}

.h_type_1 .inn::before,
.h_type_1 .inn::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	/* 線の太さ */
	/* 線自体の色も左右で透過させる */
	background: linear-gradient(to right,
			rgba(179, 171, 117, 0) 0%,
			rgba(179, 171, 117, 1) 20%,
			rgba(179, 171, 117, 1) 80%,
			rgba(179, 171, 117, 0) 100%);
}

.h_type_1 .inn::before {
	top: 0;
	/* 上の線 */
}

.h_type_1 .inn::after {
	bottom: 0;
	/* 下の線 */
}

/*-------------------------------------
ggmap
--------------------------------------*/
.ggmap {
	position: relative;
	padding-bottom: 44.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*-------------------------------------
余白
--------------------------------------*/
.sec_pad_20 {
	padding: min(1.04vw, 20px) 0;
}

.sec_pad_20_t {
	padding-top: min(1.04vw, 20px);
}

.sec_pad_20_b {
	padding-bottom: min(1.04vw, 20px);
}

.sec_pad_30 {
	padding: min(1.56vw, 30px) 0;
}

.sec_pad_30_t {
	padding-top: min(1.56vw, 30px);
}

.sec_pad_30_b {
	padding-bottom: min(1.56vw, 30px);
}

.sec_pad_40 {
	padding: min(2.08vw, 40px) 0;
}

.sec_pad_40_t {
	padding-top: min(2.08vw, 40px);
}

.sec_pad_40_b {
	padding-bottom: min(2.08vw, 40px);
}

.sec_pad_50 {
	padding: min(2.60vw, 50px) 0;
}

.sec_pad_50_t {
	padding-top: min(2.60vw, 50px);
}

.sec_pad_50_b {
	padding-bottom: min(2.60vw, 50px);
}

.sec_pad_60 {
	padding: min(3.13vw, 60px) 0;
}

.sec_pad_60_t {
	padding-top: min(3.13vw, 60px);
}

.sec_pad_60_b {
	padding-bottom: min(3.13vw, 60px);
}

.sec_pad_70 {
	padding: min(3.65vw, 70px) 0;
}

.sec_pad_70_t {
	padding-top: min(3.65vw, 70px);
}

.sec_pad_70_b {
	padding-bottom: min(3.65vw, 70px);
}

.sec_pad_80 {
	padding: min(4.17vw, 80px) 0;
}

.sec_pad_80_t {
	padding-top: min(4.17vw, 80px);
}

.sec_pad_80_b {
	padding-bottom: min(4.17vw, 80px);
}

.sec_pad_90 {
	padding: min(4.68vw, 90px) 0;
}

.sec_pad_90_t {
	padding-top: min(4.68vw, 90px);
}

.sec_pad_90_b {
	padding-bottom: min(4.68vw, 90px);
}

.sec_pad_100 {
	padding: min(5.21vw, 100px) 0;
}

.sec_pad_100_t {
	padding-top: min(5.21vw, 100px);
}

.sec_pad_100_b {
	padding-bottom: min(5.21vw, 100px);
}

.sec_pad_110 {
	padding: min(5.73vw, 110px) 0;
}

.sec_pad_110_t {
	padding-top: min(5.73vw, 110px);
}

.sec_pad_110_b {
	padding-bottom: min(5.73vw, 110px);
}

.sec_pad_120 {
	padding: min(6.25vw, 120px) 0;
}

.sec_pad_120_t {
	padding-top: min(6.25vw, 120px);
}

.sec_pad_120_b {
	padding-bottom: min(6.25vw, 120px);
}

.sec_pad_130 {
	padding: min(6.77vw, 130px) 0;
}

.sec_pad_130_t {
	padding-top: min(6.77vw, 130px);
}

.sec_pad_130_b {
	padding-bottom: min(6.77vw, 130px);
}

.sec_pad_140 {
	padding: min(7.29vw, 140px) 0;
}

.sec_pad_140_t {
	padding-top: min(7.29vw, 140px);
}

.sec_pad_140_b {
	padding-bottom: min(7.29vw, 140px);
}

.sec_pad_150 {
	padding: min(7.81vw, 150px) 0;
}

.sec_pad_150_t {
	padding-top: min(7.81vw, 150px);
}

.sec_pad_150_b {
	padding-bottom: min(7.81vw, 150px);
}

.sec_pad_160 {
	padding: min(8.33vw, 160px) 0;
}

.sec_pad_160_t {
	padding-top: min(8.33vw, 160px);
}

.sec_pad_160_b {
	padding-bottom: min(8.33vw, 160px);
}

.sec_pad_170 {
	padding: min(8.85vw, 170px) 0;
}

.sec_pad_170_t {
	padding-top: min(8.85vw, 170px);
}

.sec_pad_170_b {
	padding-bottom: min(8.85vw, 170px);
}

.sec_pad_180 {
	padding: min(9.38vw, 180px) 0;
}

.sec_pad_180_t {
	padding-top: min(9.38vw, 180px);
}

.sec_pad_180_b {
	padding-bottom: min(9.38vw, 180px);
}

.sec_pad_190 {
	padding: min(9.90vw, 190px) 0;
}

.sec_pad_190_t {
	padding-top: min(9.90vw, 190px);
}

.sec_pad_190_b {
	padding-bottom: min(9.90vw, 190px);
}

.sec_pad_200 {
	padding: min(10.42vw, 200px) 0;
}

.sec_pad_200_t {
	padding-top: min(10.42vw, 200px);
}

.sec_pad_200_b {
	padding-bottom: min(10.42vw, 200px);
}

.mgn_auto {
	margin-inline: auto;
}

.mgn_t_5 {
	margin-top: 5px
}

.mgn_t_10 {
	margin-top: min(0.52vw, 10px)
}

.mgn_t_15 {
	margin-top: min(0.78vw, 15px)
}

.mgn_t_20 {
	margin-top: min(1.04vw, 20px)
}

.mgn_t_25 {
	margin-top: min(1.30vw, 25px)
}

.mgn_t_30 {
	margin-top: min(1.56vw, 30px)
}

.mgn_t_35 {
	margin-top: min(1.82vw, 35px)
}

.mgn_t_40 {
	margin-top: min(2.08vw, 40px)
}

.mgn_t_45 {
	margin-top: min(2.34vw, 45px)
}

.mgn_t_50 {
	margin-top: min(2.60vw, 50px)
}

.mgn_t_55 {
	margin-top: min(2.86vw, 55px)
}

.mgn_t_60 {
	margin-top: min(3.13vw, 60px)
}

.mgn_t_65 {
	margin-top: min(3.39vw, 65px)
}

.mgn_t_70 {
	margin-top: min(3.65vw, 70px)
}

.mgn_t_75 {
	margin-top: min(3.91vw, 75px)
}

.mgn_t_80 {
	margin-top: min(4.17vw, 80px)
}

.mgn_t_85 {
	margin-top: min(4.43vw, 85px)
}

.mgn_t_90 {
	margin-top: min(4.68vw, 90px)
}

.mgn_t_95 {
	margin-top: min(4.95vw, 95px)
}

.mgn_t_100 {
	margin-top: min(5.21vw, 100px)
}

.mgn_t_105 {
	margin-top: min(5.47vw, 105px)
}

.mgn_t_110 {
	margin-top: min(5.73vw, 110px)
}

.mgn_t_115 {
	margin-top: min(5.99vw, 115px)
}

.mgn_t_120 {
	margin-top: min(6.25vw, 120px)
}

.mgn_t_125 {
	margin-top: min(6.51vw, 125px)
}

.mgn_t_130 {
	margin-top: min(6.77vw, 130px)
}

.mgn_t_135 {
	margin-top: min(7.03vw, 135px)
}

.mgn_t_140 {
	margin-top: min(7.29vw, 140px)
}

.mgn_t_145 {
	margin-top: min(7.55vw, 145px)
}

.mgn_t_150 {
	margin-top: min(7.81vw, 150px)
}

.mgn_t_155 {
	margin-top: min(8.07vw, 155px)
}

.mgn_t_160 {
	margin-top: min(8.33vw, 160px)
}

.mgn_t_165 {
	margin-top: min(8.59vw, 165px)
}

.mgn_t_170 {
	margin-top: min(8.85vw, 170px)
}

.mgn_t_175 {
	margin-top: min(9.11vw, 175px)
}

.mgn_t_180 {
	margin-top: min(9.38vw, 180px)
}

.mgn_t_185 {
	margin-top: min(9.64vw, 185px)
}

.mgn_t_190 {
	margin-top: min(9.90vw, 190px)
}

.mgn_t_195 {
	margin-top: min(10.16vw, 195px)
}

.mgn_t_200 {
	margin-top: min(10.42vw, 200px)
}

.gap_15 {
	column-gap: min(0.78vw, 15px);
}

.gap_16 {
	column-gap: min(0.83vw, 16px);
}

.gap_17 {
	column-gap: min(0.89vw, 17px);
}

.gap_18 {
	column-gap: min(0.94vw, 18px);
}

.gap_19 {
	column-gap: min(0.99vw, 19px);
}

.gap_20 {
	column-gap: min(1.04vw, 20px);
}

.gap_21 {
	column-gap: min(1.09vw, 21px);
}

.gap_22 {
	column-gap: min(1.15vw, 22px);
}

.gap_23 {
	column-gap: min(1.20vw, 23px);
}

.gap_24 {
	column-gap: min(1.25vw, 24px);
}

.gap_25 {
	column-gap: min(1.30vw, 25px);
}

.gap_26 {
	column-gap: min(1.35vw, 26px);
}

.gap_27 {
	column-gap: min(1.41vw, 27px);
}

.gap_28 {
	column-gap: min(1.46vw, 28px);
}

.gap_29 {
	column-gap: min(1.51vw, 29px);
}

.gap_30 {
	column-gap: min(1.56vw, 30px);
}

.gap_31 {
	column-gap: min(1.61vw, 31px);
}

.gap_32 {
	column-gap: min(1.67vw, 32px);
}

.gap_33 {
	column-gap: min(1.72vw, 33px);
}

.gap_34 {
	column-gap: min(1.77vw, 34px);
}

.gap_35 {
	column-gap: min(1.82vw, 35px);
}

.gap_36 {
	column-gap: min(1.88vw, 36px);
}

.gap_37 {
	column-gap: min(1.93vw, 37px);
}

.gap_38 {
	column-gap: min(1.98vw, 38px);
}

.gap_39 {
	column-gap: min(2.03vw, 39px);
}

.gap_40 {
	column-gap: min(2.08vw, 40px);
}

.gap_41 {
	column-gap: min(2.14vw, 41px);
}

.gap_42 {
	column-gap: min(2.19vw, 42px);
}

.gap_43 {
	column-gap: min(2.24vw, 43px);
}

.gap_44 {
	column-gap: min(2.29vw, 44px);
}

.gap_45 {
	column-gap: min(2.34vw, 45px);
}

.gap_46 {
	column-gap: min(2.40vw, 46px);
}

.gap_47 {
	column-gap: min(2.45vw, 47px);
}

.gap_48 {
	column-gap: min(2.50vw, 48px);
}

.gap_49 {
	column-gap: min(2.55vw, 49px);
}

.gap_50 {
	column-gap: min(2.60vw, 50px);
}

.gap_51 {
	column-gap: min(2.66vw, 51px);
}

.gap_52 {
	column-gap: min(2.71vw, 52px);
}

.gap_53 {
	column-gap: min(2.76vw, 53px);
}

.gap_54 {
	column-gap: min(2.81vw, 54px);
}

.gap_55 {
	column-gap: min(2.86vw, 55px);
}

.gap_56 {
	column-gap: min(2.92vw, 56px);
}

.gap_57 {
	column-gap: min(2.97vw, 57px);
}

.gap_58 {
	column-gap: min(3.02vw, 58px);
}

.gap_59 {
	column-gap: min(3.07vw, 59px);
}

.gap_60 {
	column-gap: min(3.13vw, 60px);
}

.gap_61 {
	column-gap: min(3.18vw, 61px);
}

.gap_62 {
	column-gap: min(3.23vw, 62px);
}

.gap_63 {
	column-gap: min(3.28vw, 63px);
}

.gap_64 {
	column-gap: min(3.33vw, 64px);
}

.gap_65 {
	column-gap: min(3.39vw, 65px);
}

.gap_66 {
	column-gap: min(3.44vw, 66px);
}

.gap_67 {
	column-gap: min(3.49vw, 67px);
}

.gap_68 {
	column-gap: min(3.54vw, 68px);
}

.gap_69 {
	column-gap: min(3.60vw, 69px);
}

.gap_70 {
	column-gap: min(3.65vw, 70px);
}

.gap_71 {
	column-gap: min(3.70vw, 71px);
}

.gap_72 {
	column-gap: min(3.75vw, 72px);
}

.gap_73 {
	column-gap: min(3.80vw, 73px);
}

.gap_74 {
	column-gap: min(3.85vw, 74px);
}

.gap_75 {
	column-gap: min(3.91vw, 75px);
}

.gap_76 {
	column-gap: min(3.96vw, 76px);
}

.gap_77 {
	column-gap: min(4.01vw, 77px);
}

.gap_78 {
	column-gap: min(4.06vw, 78px);
}

.gap_79 {
	column-gap: min(4.11vw, 79px);
}

.gap_80 {
	column-gap: min(4.17vw, 80px);
}

.gap_81 {
	column-gap: min(4.22vw, 81px);
}

.gap_82 {
	column-gap: min(4.27vw, 82px);
}

.gap_83 {
	column-gap: min(4.32vw, 83px);
}

.gap_84 {
	column-gap: min(4.38vw, 84px);
}

.gap_85 {
	column-gap: min(4.43vw, 85px);
}

.gap_86 {
	column-gap: min(4.48vw, 86px);
}

.gap_87 {
	column-gap: min(4.53vw, 87px);
}

.gap_88 {
	column-gap: min(4.58vw, 88px);
}

.gap_89 {
	column-gap: min(4.64vw, 89px);
}

.gap_90 {
	column-gap: min(4.69vw, 90px);
}

.gap_91 {
	column-gap: min(4.74vw, 91px);
}

.gap_92 {
	column-gap: min(4.79vw, 92px);
}

.gap_93 {
	column-gap: min(4.84vw, 93px);
}

.gap_94 {
	column-gap: min(4.90vw, 94px);
}

.gap_95 {
	column-gap: min(4.95vw, 95px);
}

.gap_96 {
	column-gap: min(5.00vw, 96px);
}

.gap_97 {
	column-gap: min(5.05vw, 97px);
}

.gap_98 {
	column-gap: min(5.10vw, 98px);
}

.gap_99 {
	column-gap: min(5.16vw, 99px);
}

.gap_100 {
	column-gap: min(5.21vw, 100px);
}

img.obj {
	position: absolute;
	display: block;
	height: auto;
	z-index: 0
}

.no_link {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}

.yaku {
	font-feature-settings: "palt";
}

.han_br {
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.v_mid {
	vertical-align: middle;
}

.idt {
	text-indent: 1em;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
header.general {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	display: flex;
	justify-content: space-between;
	background: rgba(0, 0, 0, .33)
}

header.general .logo {
	margin-left: min(2.40vw, 46px);
	display: flex;
	align-items: center
}

header.general .logo img {
	width: min(23.49vw, 451px);
	min-width: 300px
}

header.general .infos {
	width: 100%;
	max-width: 387px;
	display: flex
}

header.general .infos .btn {
	padding: min(1.56vw, 30px) 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	font-size: clamp(15px, 0.98vw, 19px);
	font-weight: 400;
	color: #FFF;
	text-align: center;
	letter-spacing: .0em;
	line-height: 1;
	font-feature-settings: "palt";
}

header.general .infos .btn.tels {
	width: 64.6%;
	background: #a3883c
}

header.general .infos .btn.tels .in_row {
	margin-top: 10px;
	display: flex;
	column-gap: 4px;
	align-items: baseline
}

header.general .infos .btn.rza {
	width: calc(100% - 64.6%);
	background: #564e3c
}

.cv {
	overflow: hidden
}

.cv .ttl span {
	position: relative;
	padding: 0 1.5%;
	display: inline-block
}

.cv .ttl span::before,
.cv .ttl span::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 2px;
	height: 37px;
	margin: auto;
	background: var(--clr_brown);
}

.cv .ttl span::before {
	left: 0;
	transform: rotate(-35deg);
}

.cv .ttl span::after {
	right: 0;
	transform: rotate(35deg);
}

.btn_wrap {
	max-width: 1087px;
	margin-inline: auto;
	position: relative;
}

.btn_wrap .in {
	padding: 29px 2%;
	border-radius: 13px;
	background: linear-gradient(180deg, rgba(145, 116, 38, 1) 0%, rgba(196, 172, 99, 1) 60%, rgba(196, 172, 99, 1) 100%);
}

.btn_wrap .in .tx {
	font-family: source-han-serif-japanese, serif;
	font-size: clamp(20px, 1.77vw, 34px);
	font-weight: 500;
	color: #FFF;
	text-align: center;
	font-feature-settings: "palt";
	line-height: 1.1;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: min(1.56vw, 30px);
}

.btn_wrap .in .tx span {
	position: relative;
}

.attempt {
	background: #e8dbaf
}

.attempt .bxs {
	padding-right: 5.38%;
	padding-left: 5.38%;
}

.attempt .item {
	flex: 1;
}

.attempt .bx {
	flex: 1;
	background: #FFF;
	box-shadow: 2px 1px 4px -2px rgba(112, 90, 28, 0.4);
}

.attempt .bx .in_ttl {
	padding: min(1.35vw, 26px) 2%;
	background: linear-gradient(90deg, rgba(155, 126, 48, 1) 0%, rgba(194, 170, 97, 1) 56%, rgba(155, 126, 48, 1) 100%);
	font-family: source-han-serif-japanese, serif;
	font-size: clamp(16px, 1.82vw, 35px);
	font-weight: 700;
	color: #FFF;
	text-shadow: 1px 1px 3px rgba(112, 90, 28, 0.75);
	text-align: center;
	letter-spacing: .0em;
	line-height: 1.5;
}

.attempt .bx .tx {
	padding: min(2.08vw, 40px) min(2.60vw, 50px);
	font-size: clamp(15px, 1.14vw, 22px);
	letter-spacing: .08em
}

.side_pad_9 {
	padding-right: 9%;
	padding-left: 9%;
}

.side_pad_6 {
	padding-right: 6%;
	padding-left: 6%;
}

.side_pad_5_5 {
	padding-right: 5.5%;
	padding-left: 5.5%;
}

.side_pad_5_3 {
	padding-right: 5.3%;
	padding-left: 5.3%;
}

.side_pad_5 {
	padding-right: 5%;
	padding-left: 5%;
}

.side_pad_4 {
	padding-right: 4%;
	padding-left: 4%;
}

.side_pad_3 {
	padding-right: 3%;
	padding-left: 3%;
}

.side_pad_2 {
	padding-right: 2%;
	padding-left: 2%;
}

.side_pad_1 {
	padding-right: 1%;
	padding-left: 1%;
}

.worry {
	background: url("../img/worry_bg.png");
	padding-bottom: 120px;
	clip-path: polygon(100% 0, 100% 85%, 50% 100%, 0 85%, 0 0);
}

.worry .base {
	width: min(48.44vw, 930px);
	position: relative
}

.worry .base .in_in {
	position: relative;
	z-index: 10
}

.worry .mn .obj {
	width: min(30.42vw, 584px);
	right: calc(min(27.29vw, 524px) * -1);
	top: calc(min(2.6vw, 50px) * -1);
	z-index: 11
}

.worry .base .ttl {
	color: #383838;
	line-height: 1.3
}

.worry .base .mn {
	padding: min(2.45vw, 47px) min(4.79vw, 92px);
	background: #FFF;
	box-shadow: 7px 7px 4px 0px rgba(0, 0, 0, 0.13);
}

.worry .base .mn ul li {
	position: relative;
	padding-left: min(2.14vw, 41px);
	font-size: clamp(18px, 1.4583vw, 28px);
	margin-bottom: 1.35%
}

.worry .base .mn ul li:last-child {
	margin-bottom: 0
}

.worry .base .mn ul li::before {
	content: "";
	position: absolute;
	top: .25em;
	left: 0;
	width: min(1.56vw, 30px);
	height: min(1.35vw, 26px);
	background: url("../img/ico_chk.png") no-repeat center / cover
}

.sol::before {
	content: "";
	position: absolute;
	top: -50%;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 150%;
	margin: auto;
	z-index: -1;
	background: url("../img/sol_bg.webp") no-repeat top / cover
}

.sol .ttl,
.greet .ttl,
.greet .bxs .stage .wht_bx .s_ttl {
	/* 背景にグラデーションを指定 */
	background: linear-gradient(to right,
			#966770 0%,
			/* 左側の茶色 */
			#6b4527 50%,
			/* 中央の明るい色 */
			#464030 100%
			/* 右側の濃い茶色 */
		);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-weight: bold;
	-webkit-text-fill-color: transparent;
}

.sol .box {
	margin-top: 1.5%;
	background: #fefdf7;
	padding: 14px;
}

.sol .box .in {
	border: 1px solid #b59761;
	padding: min(2.45vw, 47px);
}

.method {
	background: url("../img/method_bg.webp") no-repeat top / cover
}

.method .ttl,
.fee .ttl {
	color: #443727
}

.method .bxs {
	padding: min(7.87vw, 100px) min(11.25vw, 143px);
	background: #FFF;
	box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.18);
}

.method .in_bx {
	background: #fdf8eb;
	border: 4px solid #b29e75;
	padding: 6px;
}

.method .in_bx .in {
	padding: 50px;
	border: 2px solid #b29e75;
}

.method .in_bx_ttl {
	color: #9b7e30;
}

.method .sepa .px {
	width: 40%
}

.method .sepa .tx {
	width: calc(100% - 40%)
}

.method .bar {
	width: calc(100% - 40%);
	padding-bottom: 4px;
	border-bottom: 2px solid var(--clr_brown)
}

.method .ireg_num {
	display: flex;
}

.comp {
	background: url("../img/diff_bg.webp") no-repeat top / cover
}

.comp .ttl {
	color: #422f17
}

.comp .tbl_wrap {
	width: 100%;
	margin-inline: auto;
}

.comp .tbl_wrap .row {
	display: flex;
	border-bottom: 1px solid #000000
}

.comp .tbl_wrap .row .cell {
	width: 100%;
	padding: 0 14px;
}

.comp .tbl_wrap .row:first-child .cell {
	padding-top: 14px;
}

.comp .tbl_wrap .row:last-child .cell {
	padding-bottom: 14px;
}

.comp .tbl_wrap .row:first-child .cell .in {
	display: block;
	height: auto;
	background: none;
	padding: 0
}

.comp .tbl_wrap .row:first-child .cell .in .cover {
	border-radius: 14px 14px 0 0;
	overflow: hidden;
	background: #FFF;
	height: 100%;
}

.comp .tbl_wrap .row:last-child .cell .in {
	border-radius: 0 0 14px 14px
}

.comp .tbl_wrap .row .fst.cell {
	padding: 0;
}

.comp .tbl_wrap .row .fst.cell .in {
	padding: 0;
	font-size: clamp(18px, 1.4583vw, 28px);
	text-align: center;
	letter-spacing: .0em;
}

.comp .tbl_wrap .row .fst.cell .in {
	justify-content: center;
	text-align: center
}

.comp .tbl_wrap .row .col_1 {
	width: 19.65%
}

.comp .tbl_wrap .row .col_2 {
	background: #c9bda6
}

.comp .tbl_wrap .row .col_3 {
	background: #9d8f75
}

.comp .tbl_wrap .row .col_4 {
	background: var(--clr_l_brown)
}

.comp .tbl_wrap .row .cell.bse {
	width: calc((100% - 19.65%) / 2)
}

.comp .tbl_wrap .row .cell .in {
	width: 100%;
	height: 100%;
	padding: min(2.08vw, 40px) min(3.13vw, 60px);
	display: flex;
	align-items: center;
	background: #FFF;
	font-size: clamp(18px, 1.3vw, 25px);
}

.comp .tbl_wrap .row.no1 .cell {}

.comp .tbl_wrap .row.no1 .cell .in .in_ttl {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(24px, 1.82vw, 35px);
	color: #FFF;
	text-align: center;
	letter-spacing: .0em;
	line-height: 1.1;
	margin: 5% auto
}

.cons {
	background: url("../img/cons_bg.webp") no-repeat top / cover
}

.cons .bxs {
	padding: min(2.86vw, 55px) min(6.25vw, 120px);
	background: #FFF;
	border: 2px solid #603815;
	font-family: source-han-serif-japanese, serif;
	color: #3f3f3f
}

.cons .bxs::before,
.cons .bxs::after {
	content: "";
	position: absolute;
	width: min(4.17vw, 80px);
	height: min(4.17vw, 80px);
	background: rgba(114, 85, 55, .90)
}

.cons .bxs::before {
	top: calc(min(2.08vw, 40px) * -1);
	left: calc(min(2.08vw, 40px) * -1)
}

.cons .bxs::after {
	bottom: calc(min(2.08vw, 40px) * -1);
	right: calc(min(2.08vw, 40px) * -1)
}

.cons .bxs .top_block {
	padding-bottom: 2%;
	margin-bottom: 2%;
	border-bottom: 2px dashed #603815
}

.cons .bxs .row_1 {
	display: flex;
	justify-content: center;
	align-items: center;
}

.cons .bxs .row_1 .for_sp {
	display: flex;
	align-items: center;
}

.cons .bxs .row_1 .col_1 {
	padding: 7px 20px;
	border: 2px solid #422f17
}

.five_p .block {
	position: relative;
	display: flex;
}

.five_p .block .tx {
	width: 59.1%;
	position: relative;
	background: #FFF;
	border: 6px solid #c9bda6;
	padding: 0 min(5.37vw, 90px) min(6.56vw, 110px);
}

.five_p .block .tx header {
	display: flex;
	column-gap: 14px;
}

.five_p .block .tx header .num {
	width: min(8.88vw, 149px);
}

.five_p .block .tx header .num img {
	margin-top: calc(min(2.15vw, 36px) * -1)
}

.five_p .block .tx header .in_ttl {
	padding-top: min(4.47vw, 75px);
	width: calc(100% - min(8.88vw, 149px));
	font-family: source-han-serif-japanese, serif;
	font-size: clamp(20px, 2.08vw, 40px);
	color: #000;
	letter-spacing: .1em;
	line-height: 1.35;
	font-feature-settings: "palt";
}

.five_p .block .tx .mn {
	padding-top: min(2.08vw, 40px);
	font-size: clamp(16px, 1.25vw, 24px);
	color: #000;
	letter-spacing: .15em;
	line-height: 1.5;
	font-feature-settings: "palt";
}

.five_p .block .tx .obj {
	width: min(49.67vw, 833px);
	top: calc(min(3.13vw, 60px) * -1);
}

.five_p .block::after {
	content: "";
	position: absolute;
	bottom: 20px;
	width: 83%;
	height: min(21.67vw, 416px);
	margin: auto;
	z-index: -1
}

.five_p .block.r_tx {
	justify-content: flex-end;
}

.five_p .block.r_tx .tx {
	padding-left: min(11.09vw, 186px);
}

.five_p .block.r_tx .tx .obj {
	left: calc(min(40.31vw, 676px) * -1)
}

.five_p .block.r_tx::after {
	background: linear-gradient(90deg, rgba(155, 118, 76, 1) 0%, rgba(96, 56, 21, 1) 100%);
	right: 0;
}

.five_p .block.l_tx {
	justify-content: flex-start;
}

.five_p .block.l_tx .tx {
	padding-right: min(11.09vw, 186px);
}

.five_p .block.l_tx .tx .obj {
	right: calc(min(40.31vw, 676px) * -1)
}

.five_p .block.l_tx::after {
	background: linear-gradient(90deg, rgba(96, 56, 21, 1) 0%, rgba(155, 118, 76, 1) 100%);
	left: 0;
}

.mood {
	background: #fef9f4
}

.mood .txt {
	max-width: 1420px;
	margin-inline: auto;
}

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

.case {
	background: #e8dbaf
}

.case .block .in_ttl {
	font-family: minion-pro-caption, serif;
	font-size: clamp(18px, 2.5vw, 48px);
	font-weight: 700;
	color: #5b4b24;
	letter-spacing: .0em;
	font-feature-settings: "palt";
}

.case .block .stage {
	background: #f8f6ee
}

.case .block .stage .sepa.tp_2 {
	justify-content: center;
	column-gap: min(14.27vw, 274px);
}

.case .block .stage .sepa .item {
	flex: 1;
	position: relative
}

.case .block .stage .sepa.tp_2 .item {
	flex: initial;
	width: min(29.84vw, 573px);
	position: relative
}

.case .block .stage .sepa .item.arrw::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: calc(min(2.08vw, 40px) * -1);
	width: min(1.41vw, 27px);
	height: min(3.39vw, 65px);
	margin: auto;
	background: url("../img/case_arrw.png") no-repeat center / cover
}

.case .block .stage .sepa.tp_2 .item.arrw::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: calc(min(9.01vw, 173px) * -1);
	width: min(2.66vw, 51px);
	height: min(3.39vw, 65px);
	margin: auto;
	background: url("../img/case_arrw_2.png") no-repeat center / cover
}

.case .block .stage .dtls {
	padding: min(2.24vw, 43px) min(4.06vw, 78px) 0;
}

.case .block .stage .dtls .inn {
	align-items: stretch;
	/* 子要素（.bxs）の高さを強制的に揃えます */
}

.case .block .stage .dtls .bxs {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.case .block .stage .dtls .bxs .row {
	display: flex;
	flex: 1;
	border-bottom: 2px solid #c9bda6;
	background: #FFF
}

.case .block .stage .dtls .bxs .row:last-child {
	border-bottom: none;
}

.case .block .stage .dtls .bxs .row .hd {
	width: 30%;
	background: #9c8134;
	font-size: clamp(14px, 1.35vw, 26px);
	font-weight: 400;
	text-align: center;
	justify-content: center;
	color: #FFF;
}

.case .block .stage .dtls .bxs .row .mn {
	width: calc(100% - 30%);
	font-size: clamp(14px, 1.14vw, 22px);
	color: #000;
}

.case .block .stage .dtls .bxs .row .cell {
	padding: min(1.25vw, 24px);
	display: flex;
	align-items: center;
	box-sizing: border-box;
	letter-spacing: 0
}

.case .bx_type_1 {
	max-width: 1410px;
	margin-inline: auto;
}

.flow {
	background: #fef9f4
}

.flow .ttl {
	color: #33302c
}

.flow .stage {
	max-width: 1441px;
	margin-inline: auto;
}

.flow .block {
	position: relative;
	padding-bottom: min(2.60vw, 50px);
	border-bottom: 2px solid #c9bda6
}

.flow .block:last-of-type {
	padding-bottom: 0;
	border-bottom: none
}

.flow .block::before {
	content: "";
	position: absolute;
	bottom: calc(min(1.41vw, 27px) * -1);
	left: 0;
	right: 0;
	width: min(6.09vw, 117px);
	height: min(2.4vw, 46px);
	margin: auto;
	background: url("../img/flow_arrw.png") no-repeat center / cover
}

.flow .block:last-of-type::before {
	display: none
}

.flow .block header {
	display: flex;
	align-items: center;
	column-gap: min(1.15vw, 22px);
}

.flow .block header aside {
	font-family: source-han-serif-japanese, serif;
	font-size: clamp(16px, 1.4583vw, 28px);
	font-weight: 500;
	color: #fefdf0;
	text-align: center;
	line-height: 1;
	padding: 15px 35px;
	background: #b39a63;
	border-radius: 50px
}

.flow .block header aside span {
	font-size: clamp(16px, 1.71vw, 33px);
}

.flow .block header .in_ttl {
	font-family: source-han-serif-japanese, serif;
	font-size: clamp(18px, 1.88vw, 36px);
	color: #5b4b24;
}

.flow .block .ptx .px {
	width: min(23.28vw, 447px);
}

.flow .block .ptx .tx {
	width: calc(100% - min(23.28vw, 447px));
	padding-left: min(2.08vw, 40px);
	font-size: clamp(18px, 1.4583vw, 28px);
}

.flow .bx_type_1 {
	max-width: 1256px;
	margin-inline: auto;
	background: #fffcf5
}

.fs_ita {
	font-style: italic
}

.fee {
	background: url("../img/fee_bg.webp") no-repeat top / cover
}

.fee .stage {
	background: #FFF;
	padding: min(6.04vw, 116px) min(4.69vw, 90px)
}

.fee .stage .big_row {
	align-items: stretch;
	/* 左右のカラムの高さを強制的に揃える */
}

.fee .stage .big_row .big_col {
	flex: 1;
	min-width: 0;
	/* フレックスアイテムの崩れ防止 */
	display: flex;
	flex-direction: column;
	/* カラム内の要素を縦に並べる */
}

.fee .stage .big_col .block:last-child {
	flex-grow: 1;
}

.fee .stage .block {
	padding: 40px 15px;
	border: 2px solid #9e9e9e;
	border-radius: 24px;
	color: #000;
	font-weight: 500
}

.fee .stage .block .in_ttl {
	font-family: source-han-serif-japanese, serif;
	color: #FFF;
	text-align: center;
}

.fee .stage .block .in_ttl.bg1 {
	background: #b39a63
}

.fee .stage .block .in_ttl.bg2 {
	background: #9d8f75
}

.fee .stage .block .in_ttl.wide {
	padding: 13px 2%;
	letter-spacing: .01em;
	font-size: clamp(18px, 1.71vw, 33px);
}

.fee .stage .block .in_ttl.tyny {
	padding: 2px 2%;
	font-size: clamp(22px, 1.61vw, 31px);
}

.fee .stage .block .price {
	color: #be4243;
	font-family: source-han-serif-japanese, serif;
	font-weight: 900;
	font-feature-settings: "palt";
	letter-spacing: .2em
}

.fee .stage .block.no1 .price {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 3%
}

.fee .stage .block.no1 .price_cap .in {
	padding: 2px 25px;
	background: #faf8f4;
	position: relative;
}

.fee .stage .block.no1 .price_cap .in::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;

	/* 設定値 */
	--line-color: #c0a46d;
	--line-width: 1px;
	/* 線の太さ */
	--line-length: 15px;
	/* L字の各辺の長さ */

	background:
		/* 左上 (水平・垂直) */
		linear-gradient(var(--line-color), var(--line-color)) 0 0 / var(--line-length) var(--line-width) no-repeat,
		linear-gradient(var(--line-color), var(--line-color)) 0 0 / var(--line-width) var(--line-length) no-repeat,
		/* 右上 (水平・垂直) */
		linear-gradient(var(--line-color), var(--line-color)) 100% 0 / var(--line-length) var(--line-width) no-repeat,
		linear-gradient(var(--line-color), var(--line-color)) 100% 0 / var(--line-width) var(--line-length) no-repeat,
		/* 左下 (水平・垂直) */
		linear-gradient(var(--line-color), var(--line-color)) 0 100% / var(--line-length) var(--line-width) no-repeat,
		linear-gradient(var(--line-color), var(--line-color)) 0 100% / var(--line-width) var(--line-length) no-repeat,
		/* 右下 (水平・垂直) */
		linear-gradient(var(--line-color), var(--line-color)) 100% 100% / var(--line-length) var(--line-width) no-repeat,
		linear-gradient(var(--line-color), var(--line-color)) 100% 100% / var(--line-width) var(--line-length) no-repeat;
}

.fee .stage .block .box {
	background: #faf8f4;
	padding: 50px 26px;
}

.fee .stage .block .box.tp_s {
	padding: 26px 20px;
}

.fee .stage .block .box .list_type_1 li {
	margin-bottom: .5%;
}

.fee .stage .block .in_sepa {
	column-gap: 4px
}

.fee .stage .block .in_sepa .item {
	flex: 1
}

@media screen and (max-width: 767px) {
	.fee .stage .big_row {
		flex-direction: column;
		align-items: initial;
		/* 高さ揃えを解除 */
	}

	.fee .stage .big_col {
		width: 100%;
	}
}

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

.greet {
	overflow: hidden;
	background: url("../img/greet_bg.webp") no-repeat top / cover
}

.greet .ttl_cover {
	max-width: 725px;
	margin-inline: auto;
	z-index: 1
}

.greet .ttl_cover::before,
.greet .ttl_cover::after {
	content: "";
	position: absolute;
	width: 34px;
	height: 34px;
	background: #9d8f75;
}

.greet .ttl_cover::before {
	left: -17px;
	top: -17px
}

.greet .ttl_cover::after {
	right: -17px;
	bottom: -17px
}

.greet .ttl_wrap {
	position: relative;
	z-index: 2;
	padding: 16px 2%;
	background: rgba(255, 255, 255, .75);
	border: 2px solid #604a2f
}

.greet .bxs {
	margin-top: min(15.1vw, 290px);
	position: relative;
}

.greet .bxs aside {
	position: absolute;
	bottom: calc(min(0.94vw, 18px) * -1);
	left: calc(min(0.94vw, 18px) * -1);
	width: min(25.94vw, 498px);
	height: min(26.15vw, 502px);
	z-index: 0;
	background: #714c2a;
}

.greet .bxs .stage {
	position: relative;
	z-index: 10;
	padding: min(4.9vw, 94px) min(3.75vw, 72px);
	background: #b39a63
}

.greet .bxs .stage .wht_bx {
	padding: min(4.9vw, 94px) min(3.13vw, 60px);
	background: #FFF;
}

.greet .bxs .stage .wht_bx .s_ttl {
	display: inline-block;
	padding-bottom: 12px;
	border-bottom: 2px solid #997c2e
}

.greet .bxs .obj {
	width: min(42.18vw, 822px);
	top: calc(min(11.46vw, 220px) * -1);
	right: 0;
	z-index: 99
}

.cv.last .catch {
	color: #423727
}

.faq {
	background: url("../img/faq_bg.webp") no-repeat top / cover;
}

.faq .ttl {
	letter-spacing: .15em
}

.faq .block_wrap {
	max-width: 1455px;
	margin-inline: auto;
}

.faq .block {
	border: 3px solid #87826f
}

.faq .block .row {
	padding: min(0.83vw, 16px) min(2.24vw, 43px);
	display: flex;
}

.faq .block .row .en {
	width: 4%;
	font-family: source-han-serif-japanese, serif;
	font-size: clamp(18px, 1.93vw, 37px);
	font-weight: 500;
}

.faq .block .row .mn {
	width: 96%;
}

.faq .block .row.q_area {
	color: #FFF;
	background: #b8934a;
}

.faq .block .row.q_area .mn {
	font-family: source-han-serif-japanese, serif;
	font-size: clamp(18px, 1.93vw, 37px);
	font-weight: 500;
}

.faq .block .row.a_area {
	color: #363027;
	background: #FFF;
}

.faq .block .row.a_area .mn {
	font-size: clamp(16px, 1.3vw, 25px);
	letter-spacing: .1em;
	font-weight: 400;
	padding-top: .65%
}

footer .stage .item {
	width: 50%;
}

footer .stage .txt .logo_ft {
	width: 100%;
	max-width: 714px
}

footer .stage .txt address {
	line-height: 1;
	text-align: center;
	font-style: normal;
	color: #67625c;
	font-weight: 400;
	padding: 12px 0;
	border-radius: 15px;
	background: #e5dcca;
}

footer .stage .txt .ft_tels {
	letter-spacing: .15em
}

/* 外枠のコンテナ：横スクロール対応（スマホ対策） */
.tbl_time {
	max-width: 560px;
	margin-inline: auto;
	width: 100%;
}

/* テーブル本体 */
.tbl_time table {
	width: 100%;
	border-collapse: collapse;
	border-bottom: 1px solid #333;
	/* 下の線 */
	color: #000;
}

/* ヘッダーとボディの間の境界線 */
.tbl_time thead {
	border-bottom: 1px solid #333;
}

/* セル共通設定 */
.tbl_time th,
.tbl_time td {
	padding: 15px 5px;
	font-weight: normal;
	font-size: clamp(14px, 0.833vw, 16px);
	text-align: center;
	white-space: nowrap;
	/* 折り返し防止 */
}

/* 1列目（診療時間）の調整 */
.tbl_time thead th:first-child,
.tbl_time tbody th:first-child {
	text-align: center;
	width: 25%;
	/* 診療時間の列幅を広めに確保 */
	font-weight: bold;
}

/* 記号（●や▲）が入る列の調整 */
.tbl_time td {
	width: auto;
}

/* 記号のスタイル調整（必要に応じて） */
.tbl_time td span {
	font-size: clamp(14px, 0.833vw, 16px);
}

footer .cp {
	padding: 30px 0;
	font-size: clamp(16px, 1.56vw, 30px);
	font-weight: 400;
	color: #FFF;
	text-align: center;
	letter-spacing: .075em;
	line-height: 1;
	background: #9c8134
}

.cta_cal_wrap .ggmap {
	position: relative;
	padding-bottom: 0;
	padding-top: 0;
	height: 100%;
	overflow: hidden;
}

.cta_cal_wrap iframe {
	width: 100%;
	border: none;
	background: #e5dcca;
}












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

	.mood .txt,
	.flow .stage {
		padding-right: 2%;
		padding-left: 2%;
	}
}

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

@media screen and (max-width:1090px) {
	.btn_wrap {
		padding-right: 2%;
		padding-left: 2%;
	}
}

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

	/* ==========================================================================
   Commons styles
   ========================================================================== */
	.flex_wrapper,
	.flex-wrap_par {
		display: block;
	}

	.flex_sp {
		display: -webkit-flex !important;
		display: -moz-flex !important;
		display: -ms-flex !important;
		display: -o-flex !important;
		display: flex !important;
		flex-wrap: wrap !important;
	}

	.pc {
		display: none !important
	}

	.sp {
		display: block !important
	}

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

	.wrap_1200,
	.wrap_1000 {
		width: 100%;
		max-width: 100%;
		height: auto;
		margin-left: auto;
		margin-right: auto;
		padding-right: 0.8rem !important;
		padding-left: 0.8rem !important;
	}

	.sp_no_pad {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.sp_on_pad {
		padding-right: 0.8rem !important;
		padding-left: 0.8rem !important;
	}

	.sp_width {
		width: calc(100% - 1.6rem);
		margin-left: auto;
		margin-right: auto;
	}

	.sp_width_over {
		width: calc(100% + 1.6rem);
		margin-left: -0.8rem;
	}

	/**qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq*/
	.sec_pad_60 {
		padding: 7.5vw 0;
	}

	.sec_pad_60_t {
		padding-top: 7.5vw;
	}

	.sec_pad_80 {
		padding: 9.5vw 0;
	}

	.sec_pad_90 {
		padding: 10vw 0;
	}

	.side_pad_9,
	.side_pad_5_3 {
		padding-right: 0.8rem;
		padding-left: 0.8rem;
	}

	.sec_pad_80_t {
		padding-top: 9.5vw;
	}

	.mgn_t_130 {
		margin-top: 11vw;
	}

	.mgn_t_45 {
		margin-top: 6vw
	}

	.mgn_t_15 {
		margin-top: 15px
	}

	.sec_pad_140 {
		padding: 11vw 0;
	}

	.sec_pad_140_b {
		padding-bottom: 11vw;
	}

	.mgn_t_170 {
		margin-top: 11vw;
	}

	.sec_pad_90_t {
		padding-top: 10vw;
	}

	.sec_pad_100 {
		padding: 11vw 0;
	}

	.mgn_t_25 {
		margin-top: 4vw;
	}

	.mgn_t_60 {
		margin-top: 7.5vw
	}

	.mgn_t_70 {
		margin-top: 8.5vw
	}

	.mgn_t_50 {
		margin-top: 6.5vw
	}

	.mgn_t_10 {
		margin-top: 10px;
	}

	.mgn_t_20 {
		margin-top: 3.5vw
	}

	.mgn_t_30 {
		margin-top: 4.5vw;
	}

	.mgn_t_35 {
		margin-top: 5vw
	}

	.mgn_t_40 {
		margin-top: 5.5vw;
	}

	.txs_74 {
		font-size: 8.27vw;
	}

	.txs_31,
	.txs_22,
	.txs_20,
	.txs_25,
	.txs_28,
	.txs_30,
	.txs_33,
	.txs_36,
	.txs_44,
	.txs_35 {
		font-size: 4vw
	}

	.txs_32 {
		font-size: 5.07vw;
	}

	.txs_45,
	.txs_46,
	.txs_34 {
		font-size: 5.33vw
	}

	.txs_50 {
		font-size: 6.13vw
	}

	.txs_48,
	.txs_42,
	.txs_51 {
		font-size: 6.13vw
	}

	.txs_40 {
		font-size: 4.8vw
	}

	.sp_tx_lef {
		text-align: left
	}

	.sp_mgn_t_2 {
		margin-top: 2vw
	}

	.sp_txs_4_8 {
		font-size: 4.8vw
	}

	.sp_txs_4_27 {
		font-size: 4.27vw
	}

	.sp_ff_han_min {
		font-family: source-han-serif-japanese, serif;
	}

	/**qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq*/
	.comp .tbl_wrap .row .cell .in {
		width: 100%;
		height: 100%;
		padding: 4vw 2vw;
		display: flex;
		align-items: center;
		background: #FFF;
		font-size: 4vw;
	}

	.comp .tbl_wrap {
		width: 930px;
		padding-left: 0.8rem
	}

	.comp .tbl_wrap .row .fst.cell .in h3 {
		font-size: 4vw;
	}

	header.general {
		padding: 0.4rem;
		position: absolute;
		justify-content: center
	}

	header.general .infos {
		display: none;
	}

	header.general .logo {
		margin-left: 0;
		display: block;
		align-items: center;
	}

	header.general .logo img {
		margin-inline: auto;
	}

	footer {
		margin-bottom: 66px;
	}

	.sp_fix_nvs {
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 9999;
		width: 100%;
		height: 66px;
		display: flex;
		background: rgba(0, 0, 0, .5);
	}

	.sp_fix_nvs .item {
		flex: 1;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #FFF;
		text-align: center;
		font-size: 15px;
		font-weight: 400
	}

	.sp_fix_nvs .tels {
		border-right: 1px solid #cccccc
	}

	.sp_fix_nvs .tels p {
		margin-top: 3%
	}

	.cv {
		padding-right: 0.8rem;
		padding-left: 0.8rem;
	}

	.btn_wrap .in {
		padding: 4vw 0;
		border-radius: 13px;
	}

	.btn_wrap .in .tx {
		font-size: 5.6vw;
		line-height: 1.1;
		column-gap: 1vw;
		letter-spacing: .0em;
		font-feature-settings: "palt";
	}

	.btn_wrap .in .tx p {
		white-space: nowrap;
	}

	.sp_ws_now {
		white-space: nowrap;
	}

	.btn_wrap .in .tx img {
		width: 6%
	}

	.btn_wrap {
		padding-right: 0;
		padding-left: 0;
	}

	.h_type_1 .inn {
		display: inline-block;
		padding: 3vw;
		line-height: 1.2
	}

	.attempt .bxs {
		padding-right: 0;
		padding-left: 0;
	}

	.attempt .bx {
		margin-bottom: 6.5vw
	}

	.attempt .bx:last-child {
		margin-bottom: 0
	}

	.attempt .bx .in_ttl {
		padding: 4vw 2%;
		font-size: 5.6vw;
	}

	.attempt .bx .tx {
		padding: 5vw 4vw;
		font-size: 15px;
		letter-spacing: .01em;
	}

	.attempt .bx .tx .spx {
		margin-top: 5vw
	}

	.attempt .bxs.no2 {
		display: none
	}

	.worry {
		background: url(../img/worry_bg_sp.png);
		padding-bottom: 18vw;
		clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
	}

	.worry .base {
		width: 100%;
	}

	.worry .obj {
		width: 75%;
		margin-top: 8vw;
		margin-inline: auto;
		right: unset;
		top: unset;
		position: relative;
		z-index: 11;
	}

	.worry .base .mn {
		padding: 15vw 0.8rem 5vw;
		background: #FFF;
		margin-top: -10vw;
		box-shadow: 7px 7px 4px 0px rgba(0, 0, 0, 0.13);
	}

	.worry .base .mn ul li::before {
		top: .35em;
		left: 0;
		width: 13px;
		height: 11px;
	}

	.worry .base .mn ul li {
		position: relative;
		padding-left: 18px;
		font-size: 15px;
		margin-bottom: 5%;
	}

	.sol .box {
		margin-top: 5.5vw;
		background: #fefdf7;
		padding: 5px;
	}

	.sol .box .in {
		padding: 4vw;
	}

	.cv .ttl span {
		position: relative;
		padding: 0 3vw;
		display: inline-block
	}

	.method {
		background: url(../img/method_bg_sp.png) no-repeat top / cover;
	}

	.method .bxs {
		margin-top: 5vw;
		padding: 5vw 4vw;
	}

	.method .bxs .ttl_in {
		font-size: 5.2vw;
	}

	.method .in_bx {
		border: 2px solid #b29e75;
		padding: 3px;
	}

	.method .in_bx .in {
		padding: 5vw 4vw;
		border: 1px solid #b29e75;
	}

	.method .sepa .px {
		width: 100%;
	}

	.method .sepa .tx {
		width: 100%;
		padding-top: 4vw
	}

	.method .bar {
		width: auto;
		padding-bottom: 0;
		border-bottom: 2px solid var(--clr_brown);
		line-height: 1.5
	}

	.method .ireg_num .msg {
		font-size: 14px
	}

	.cons .bxs .row_1 {
		flex-wrap: wrap
	}

	.cons .bxs {
		padding: 6vw 0.4rem;
	}

	.cons .bxs .row_1 .for_sp {
		width: 100%;
		justify-content: center
	}

	.cons .bxs .txs_42 {
		font-size: 4vw;
	}

	.cons .bxs .row_1 .col_1 {
		padding: 2px 4px;
		border: 2px solid #422f17;
	}

	.cons .bxs .txs_32 {
		font-size: 4vw;
		padding-left: 3%
	}

	.five_p .block {
		display: block;
	}

	.five_p .block.r_tx .tx {
		padding-left: 4vw;
	}

	.five_p .block .tx {
		width: 100%;
		border: 3px solid #c9bda6;
		padding: 0 4vw 5vw;
	}

	.five_p .block.l_tx .tx {
		padding-right: 4vw;
	}

	.five_p .block .tx header .num {
		width: 15vw;
	}

	.five_p .block .tx header .num img {
		margin-top: -3.5vw;
	}

	.five_p .block .tx header {
		column-gap: 2vw;
	}

	.five_p .block .tx header .in_ttl {
		padding-top: 3vw;
		width: calc(100% - 15vw);
		font-size: 5vw;
		color: #000;
		letter-spacing: .1em;
		line-height: 1.35;
		font-feature-settings: "palt";
	}

	.five_p .block .tx .mn {
		padding-top: 3vw;
		font-size: 14px;
		color: #000;
		letter-spacing: .15em;
		line-height: 1.5;
		font-feature-settings: "palt";
	}

	.five_p .block::after {
		content: "";
		position: absolute;
		bottom: 4vw;
		width: 100%;
		height: 47vw;
		margin: auto;
		z-index: -1;
	}

	.five_p .block:last-of-type::after {
		height: 37vw;
	}

	.mood .txt,
	.flow .stage {
		padding-right: 0.8rem;
		padding-left: 0.8rem
	}

	.case .h_type_1 .txs_48 {
		font-size: 5.8vw
	}

	.case .h_type_1 .txs_48 {
		font-size: 5.8vw
	}

	.case_set {
		font-size: 13px;
		text-align: left
	}

	.case .side_pad_5_3 {
		padding-right: 0;
		padding-left: 0;
	}

	.case .block {}

	.case .block .in_ttl {
		font-size: 7vw;
		text-align: center;
		margin-bottom: 2.5vw
	}

	.case .block .stage {
		padding: 4vw
	}

	.case .block .stage .sepa .item {
		margin-bottom: 8vw
	}

	.case .block .stage .sepa .item:last-child {
		margin-bottom: 0
	}

	.case .block .stage .sepa .item.arrw::after,
	.case .block .stage .sepa.tp_2 .item.arrw::after {
		content: "";
		position: absolute;
		top: unset;
		bottom: -7vw;
		right: 0;
		left: 0;
		width: 2.88vw;
		height: 7.04vw;
		transform: rotate(90deg);
		background: url(../img/case_arrw.png) no-repeat center / cover;
	}

	.case .block .stage .dtls {
		padding: 5vw 0 0;
	}

	.case .block .stage .dtls .bxs .row .cell {
		padding: 2vw;
	}

	.case .block .stage .dtls .bxs .row .hd {
		width: 35%;
		font-size: 4vw;
	}

	.case .block .stage .dtls .bxs .row .mn {
		width: calc(100% - 35%);
		font-size: 3.73vw;
		color: #000;
	}

	.case .block .stage .sepa.tp_2 .item {
		width: 100%;
		position: relative;
	}

	.bx_type_1 {
		padding: 3px;
		border: 2px solid #b29e75;
	}

	.bx_type_1 .inn {
		padding: 6vw 4vw;
		border: 1px solid #b29e75;
	}

	.flow .stage {
		padding-right: 0;
		padding-left: 0
	}

	.flow .block header aside {
		font-size: 11px;
		padding: 5px;
		border-radius: 50px;
	}

	.flow .block header aside span {
		font-size: 15px;
	}

	.flow .block header .in_ttl {
		font-size: 4.53vw;
	}

	.flow .block .ptx .px {
		width: 100%;
		margin: 4vw 0
	}

	.flow .block .ptx .tx {
		width: 100%;
		padding-left: 0;
		font-size: 4vw;
	}

	.flow .block {
		padding-bottom: 6vw;
		border-bottom: 2px solid #c9bda6;
	}

	.flow .block::before {
		bottom: -2vw;
		width: 7.2vw;
		height: 2.72vw;
	}

	.flow .bx_type_1 .in_ttl_s {
		font-size: 4.8vw
	}

	.fee {
		background: url(../img/fee_bg_sp.png) no-repeat top / cover;
	}

	.fee .side_pad_5_3 {
		padding-right: 0;
		padding-left: 0;
	}

	.fee .stage {
		padding: 5vw 4vw;
	}

	.fee .stage .block {
		padding: 4vw 2vw;
		border-radius: 15px;
		color: #000;
		font-weight: 500;
	}

	.fee .stage .block .in_ttl.wide {
		padding: 2vw 2%;
		letter-spacing: .01em;
		font-size: 4.53vw;
	}

	.fee .stage .block.no1 .price {
		display: flex;
		align-items: center;
		justify-content: center;
		column-gap: 0;
		font-feature-settings: "palt";
	}

	.fee .stage .block.no1 .price_cap .in {
		padding: 2px;
	}

	.fee .stage .block .box {
		padding: 5vw 2vw;
	}

	.fee .stage .big_row .big_col.right {
		margin-top: 3.5vw
	}

	.fee .stage .block .in_ttl.tyny {
		padding: 2px 2%;
		font-size: 4vw;
	}

	.fee .stage .block .in_ttl.tyny .txs_25 {
		font-size: 3.73vw;
	}

	.fee .stage .block .in_sepa .item {
		margin-bottom: 4vw
	}

	.fee .stage .block .in_sepa .item:last-child {
		margin-bottom: 0
	}

	.greet .ttl_cover::before,
	.greet .ttl_cover::after {
		width: 14px;
		height: 14px;
	}

	.greet .ttl_cover::before {
		left: -7px;
		top: -7px
	}

	.greet .ttl_cover::after {
		right: -7px;
		bottom: -7px
	}

	.greet .ttl_wrap {
		position: relative;
		z-index: 2;
		padding: 2vw 2%;
		background: rgba(255, 255, 255, .75);
		border: 2px solid #604a2f;
	}

	.greet .bxs .obj {
		width: 100%;
		position: relative;
		top: unset;
		right: unset;
		z-index: 99;
	}

	.greet .bxs {
		margin-top: 8vw;
		position: relative;
	}

	.greet .side_pad_5_3 {
		padding-right: 0;
		padding-left: 0;
	}

	.greet .bxs .stage .wht_bx .s_ttl {
		display: block;
		padding-bottom: 5.21vw;
	}

	.greet .bxs aside {
		display: none
	}

	.faq .block .row .en {
		width: 8%;
		font-size: 4.53vw;
		font-weight: 500;
	}

	.faq .block .row .mn {
		width: 92%;
	}

	.faq .block .row.q_area .mn {
		font-size: 4.53vw;
	}

	.faq .block .row {
		padding: 2vw 3vw;
	}

	.faq .block .row.a_area .mn {
		font-size: 4vw;
		padding-top: .65%;
	}

	footer .stage .item {
		width: 100%;
	}

	footer .stage .item .txs_32 {
		font-size: 4vw;
	}

	footer .stage .item .txs_38 {
		font-size: 8vw;
	}

	footer .stage .item .txs_35 {
		font-size: 5.33vw;
	}

	.tbl_time {
		margin-top: 0
	}

	footer .stage .mps {
		margin-top: 10vw
	}

	.ggmap {
		position: relative;
		padding-bottom: 74.25%;
	}

	footer .cp {
		margin-top: 6vw;
		padding: 4vw 0;
		font-size: 13px;
	}

	.cv .ttl span {
		position: relative;
		padding: 0 5%;
		display: inline-block
	}

	.cv .ttl span::before {
		left: 0;
		transform: rotate(-25deg);
	}

	.cv .ttl span::after {
		right: 0;
		transform: rotate(25deg);
	}

	.cta_cal_wrap .ggmap {
		height: 70vw;
	}

	.case .block .stage .dtls .bxs .row:last-child {
		border-bottom: 2px solid #c9bda6;
	}



























}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
	display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visually-hidden {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
	/* 1 */
}

/*
 * Extends the .visually-hidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	white-space: inherit;
	width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
	visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * The use of `table` rather than `block` is only necessary if using
 * `::before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
	content: "";
	display: table;
}

.clearfix::after {
	clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
	/* Style adjustments for viewports that meet the condition */
}

@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
	/* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {

	*,
	*::before,
	*::after {
		background: #fff !important;
		color: #000 !important;
		/* Black prints faster */
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]::after {
		content: " (" attr(href) ")";
	}

	abbr[title]::after {
		content: " (" attr(title) ")";
	}

	/*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
	a[href^="#"]::after,
	a[href^="javascript:"]::after {
		content: "";
	}

	pre {
		white-space: pre-wrap !important;
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}

.fixed-footer {
	display: none;
}

@media(max-width:767px) {
	.fixed-footer {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		height: 64px;
		display: grid;
		grid-template-columns: 1fr 1fr;
		z-index: 9999;
		border-top: 1px solid rgba(0, 0, 0, .08);
	}

	.fixed-footer__btn {
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 700;
		text-decoration: none;
		height: 64px;
	}

	.fixed-footer__btn--tel {
		background: #A3883C;
		color: #fff;
	}

	.fixed-footer__btn--web {
		background: #564E3C;
		/* 好きな色に変更OK */
		color: #fff;
	}

	/* フッター固定で下が隠れないように */
	body {}

	.fixed-footer__btn {
		gap: 10px;
		/* アイコンと文字の間 */
		font-size: 16px;
	}

	.fixed-footer__btn i {
		font-size: 18px;
		line-height: 1;
	}

	.fixed-footer {
		padding: 8px;
		gap: 8px;
		background: #ffffffb1;
		backdrop-filter: blur(6px);
	}

	.fixed-footer__btn {
		border-radius: 12px;
		padding-bottom: 8px;
	}
}