@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

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

body {
	position: relative;
	font-size: 1rem;
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	color: var(--clr_blk);
}

/*
 * 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_blue: #e6edf8;
	--clr_d_brown: #4a453f;
	--clr_l_brown: #c9bda6;
	--clr_glay: #67625c;

}

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

.bg_clr_blue {
	background-color: var(--clr_blue)
}

.fc_wht {
	color: #FFF
}

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

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

.fc_d_brown {
	color: var(--clr_d_brown)
}

.txs_10_fx {
	font-size: 10px;
}

.txs_11_fx {
	font-size: 11px;
}

.txs_12_fx {
	font-size: 12px;
}

.txs_13_fx {
	font-size: 13px;
}

.txs_14_fx {
	font-size: 14px;
}

.txs_15_fx {
	font-size: 15px;
}

.txs_16_fx {
	font-size: 16px;
}

.txs_17_fx {
	font-size: 17px;
}

.txs_18_fx {
	font-size: 18px;
}

.txs_19_fx {
	font-size: 19px;
}

.txs_20_fx {
	font-size: 20px;
}

.txs_21_fx {
	font-size: 21px;
}

.txs_22_fx {
	font-size: 22px;
}

.txs_23_fx {
	font-size: 23px;
}

.txs_24_fx {
	font-size: 24px;
}

.txs_25_fx {
	font-size: 25px;
}

.txs_26_fx {
	font-size: 26px;
}

.txs_27_fx {
	font-size: 27px;
}

.txs_28_fx {
	font-size: 28px;
}

.txs_29_fx {
	font-size: 29px;
}

.txs_30_fx {
	font-size: 30px;
}

.txs_31_fx {
	font-size: 31px;
}

.txs_32_fx {
	font-size: 32px;
}

.txs_33_fx {
	font-size: 33px;
}

.txs_34_fx {
	font-size: 34px;
}

.txs_35_fx {
	font-size: 35px;
}

.txs_36_fx {
	font-size: 36px;
}

.txs_37_fx {
	font-size: 37px;
}

.txs_38_fx {
	font-size: 38px;
}

.txs_39_fx {
	font-size: 39px;
}

.txs_40_fx {
	font-size: 40px;
}

.txs_41_fx {
	font-size: 41px;
}

.txs_42_fx {
	font-size: 42px;
}

.txs_43_fx {
	font-size: 43px;
}

.txs_44_fx {
	font-size: 44px;
}

.txs_45_fx {
	font-size: 45px;
}

.txs_46_fx {
	font-size: 46px;
}

.txs_47_fx {
	font-size: 47px;
}

.txs_48_fx {
	font-size: 48px;
}

.txs_49_fx {
	font-size: 49px;
}

.txs_50_fx {
	font-size: 50px;
}

.txs_51_fx {
	font-size: 51px;
}

.txs_52_fx {
	font-size: 52px;
}

.txs_53_fx {
	font-size: 53px;
}

.txs_54_fx {
	font-size: 54px;
}

.txs_55_fx {
	font-size: 55px;
}

.txs_56_fx {
	font-size: 56px;
}

.txs_57_fx {
	font-size: 57px;
}

.txs_58_fx {
	font-size: 58px;
}

.txs_59_fx {
	font-size: 59px;
}

.txs_60_fx {
	font-size: 60px;
}

.txs_61_fx {
	font-size: 61px;
}

.txs_62_fx {
	font-size: 62px;
}

.txs_63_fx {
	font-size: 63px;
}

.txs_64_fx {
	font-size: 64px;
}

.txs_65_fx {
	font-size: 65px;
}

.txs_66_fx {
	font-size: 66px;
}

.txs_67_fx {
	font-size: 67px;
}

.txs_68_fx {
	font-size: 68px;
}

.txs_69_fx {
	font-size: 69px;
}

.txs_70_fx {
	font-size: 70px;
}

.txs_71_fx {
	font-size: 71px;
}

.txs_72_fx {
	font-size: 72px;
}

.txs_73_fx {
	font-size: 73px;
}

.txs_74_fx {
	font-size: 74px;
}

.txs_75_fx {
	font-size: 75px;
}

.txs_76_fx {
	font-size: 76px;
}

.txs_77_fx {
	font-size: 77px;
}

.txs_78_fx {
	font-size: 78px;
}

.txs_79_fx {
	font-size: 79px;
}

.txs_80_fx {
	font-size: 80px;
}

.txs_81_fx {
	font-size: 81px;
}

.txs_82_fx {
	font-size: 82px;
}

.txs_83_fx {
	font-size: 83px;
}

.txs_84_fx {
	font-size: 84px;
}

.txs_85_fx {
	font-size: 85px;
}

.txs_86_fx {
	font-size: 86px;
}

.txs_87_fx {
	font-size: 87px;
}

.txs_88_fx {
	font-size: 88px;
}

.txs_89_fx {
	font-size: 89px;
}

.txs_90_fx {
	font-size: 90px;
}

.txs_91_fx {
	font-size: 91px;
}

.txs_92_fx {
	font-size: 92px;
}

.txs_93_fx {
	font-size: 93px;
}

.txs_94_fx {
	font-size: 94px;
}

.txs_95_fx {
	font-size: 95px;
}

.txs_96_fx {
	font-size: 96px;
}

.txs_97_fx {
	font-size: 97px;
}

.txs_98_fx {
	font-size: 98px;
}

.txs_99_fx {
	font-size: 99px;
}

.txs_100_fx {
	font-size: 100px;
}

.txs_12 {
	font-size: 12px;
}

.txs_13 {
	font-size: 13px;
}

.txs_14 {
	font-size: 14px;
}

.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(13px, 1.04vw, 20px);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.txs_34 {
	font-size: clamp(24px, 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(26px, 2.08vw, 40px);
}

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

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

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

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

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

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

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

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

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

.txs_50 {
	font-size: clamp(36px, 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;
}

.ff_min {
	font-family: "Noto Serif JP", 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_end {
	align-items: flex-end
}

.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_1 {
	display: flex;
}

.list_type_1 .cel {
	text-align: left;
}

.list_type_1 dt {
	width: 1.2em;
	text-align: left
}

.list_type_1 dd {
	width: calc(100% - 1.2em);
	text-align: left;
}

.list_type_2 {
	padding-left: 1em;
}

/*-------------------------------------
ボックス
--------------------------------------*/
.bx_type_1 {}

/*-------------------------------------
見出し
--------------------------------------*/
.h_type_1 {
	position: relative;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(22px, 2.5vw, 48px);
	color: var(--clr_d_brown);
	text-align: center;
	letter-spacing: .21em;
	font-feature-settings: "palt";
	padding-bottom: min(2.60vw, 50px)
}

.h_type_1::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: min(39.79vw, 764px);
	height: min(1.67vw, 32px);
	margin: auto;
	background: url("../img/h_tp1_bg.png") no-repeat center / cover
}

.h_type_1.ver2::after {
	background: url("../img/h_tp1_bg_2.png") no-repeat center / cover
}

.h_type_1.ver3::after {
	background: url("../img/h_tp1_bg_3.png") no-repeat center / cover
}

/*-------------------------------------
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);
}

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 {
	display: flex;
	justify-content: space-between
}

header.general .logo {
	display: flex;
	align-items: center;
	width: min(17.45vw, 335px);
	min-width: 220px;
	margin-left: min(1.98vw, 38px);
}

header.general .btns {
	width: 20.1%;
	min-width: 270px;
	display: flex;
}

header.general .btn {
	padding: 20px 0;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	position: relative;
	color: #FFF;
	text-align: center;
	font-weight: 400
}

header.general .btn.tels {
	width: 64.32%;
	background: #2054a4
}

header.general .btn.tels .icos {
	margin-top: 2.4%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	column-gap: 3px
}

header.general .btn.web {
	width: calc(100% - 64.32%);
	background: #14b0e8
}

.side_pad {
	padding-right: 5.42%;
	padding-left: 5.42%;
}

.fv {
	background: #e2f6f6
}

.fv .in_box {
	position: absolute;
	width: min(32.71vw, 628px);
	min-width: 360px;
	right: min(9.27vw, 178px);
	bottom: min(4.01vw, 77px)
}

.fv .in_box .ttl {
	text-align: center;
	letter-spacing: .037em;
	padding: 5px 0;
	color: #FFF;
	background: #3c7eb5;
}

.fv .in_box .mn {
	padding: min(0.63vw, 12px) 10% 20px;
	background: rgba(248, 252, 255, .92)
}

.fv .in_box .mn .in_ttl {
	color: #314f7c;
	font-size: clamp(18px, 1.97vw, 38px);
	font-weight: 600;
	text-align: center;
	letter-spacing: .016em;
	padding: 10px;
	border-bottom: 1px solid #314f7c
}

.fv .in_box .mn .in_tx {
	width: 84%;
	margin-inline: auto;
	font-size: clamp(14px, 1.35vw, 26px);
}

.cv {
	background-image: url("../img/cv_bg.png"), url("../img/cv_bg_bottom.png");
	background-repeat: no-repeat;
	background-position: top left, bottom right;
	background-size: min(22.97vw, 441px)
}

.cv .inn .sepa {
	padding: 0 1%;
	justify-content: center;
	align-items: center;
	column-gap: min(4.32vw, 83px)
}

.cv .inn .sepa .px {
	width: 42.3%;
}

.cv .inn .sepa .tx {
	width: calc(100% - (42.3% + min(4.32vw, 83px)));
}

.cv .inn .sepa .tx .ttl {
	font-family: "Noto Serif JP", serif;
	font-size: clamp(20px, 2.08vw, 40px);
	color: #37313f;
	text-align: center;
	letter-spacing: .218em;
	line-height: 1.35;
	font-feature-settings: "palt";
}

.cv .inn .sepa .tx .ttl span {
	font-size: clamp(18px, 1.93vw, 37px);
}

.four_feature .area_one {
	padding-top: min(8.54vw, 164px);
	background: url("../img/ff_area_bg_1.webp") no-repeat top / cover
}

.four_feature .area_one .row {
	align-items: flex-end
}

.four_feature .area_one .row .px {
	width: 52%;
}

.four_feature .area_one .row .tx {
	width: 48%;
	padding: min(3.44vw, 66px) min(3.13vw, 60px);
	background: url("../img/ff_one_txbg.webp") repeat center / cover;
	color: #67625c;
	letter-spacing: .242em
}

.four_feature .area_two {
	padding: min(6.98vw, 134px) 0;
	background: url("../img/ff_area_bg_2.webp") no-repeat top / cover
}

.four_feature .area_two .inn .item {
	flex: 1;
	background: #FFF;
	box-shadow: 0px 0px 13px 0px rgba(132, 124, 116, 0.3);
}

.four_feature .area_two .inn .item .tx {
	padding: 30px 36px
}

.four_feature .area_two .inn .item .tx .ttl {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px 2%;
	font-size: clamp(18px, 1.51vw, 29px);
	font-weight: 600;
	text-align: center;
	letter-spacing: .19em;
	line-height: 1.1;
	color: #9a8d6c;
	border: 2px solid #9a8d6c
}

.four_feature .area_two .inn .item .tx .mn {
	font-weight: 400;
	letter-spacing: .19em;
	line-height: 1.5;
	color: var(--clr_glay)
}

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

.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 16px;
}

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

.comp .tbl_wrap .row .fst.cell .in {
	padding: 0;
	font-size: clamp(18px, 1.51vw, 29px);
	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: var(--clr_l_brown)
}

.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%) / 3)
}

.comp .tbl_wrap .row .cell .in {
	width: 100%;
	height: 100%;
	padding: 50px 12px;
	display: flex;
	align-items: center;
	background: #FFF;
	font-size: clamp(16px, 1.04vw, 20px);
}

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

.comp .tbl_wrap .row.no1 .cell .in {
	display: block;
	border-radius: 12px 12px 0 0;
	overflow: hidden;
	padding: 0;
	background: none
}

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

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

.whats .inn .txs {
	width: 64%;
	padding: min(4.69vw, 90px) min(13.54vw, 260px) min(4.69vw, 90px) min(5.73vw, 110px);
	border-radius: 0 96px 0 96px;
	background: linear-gradient(90deg, rgba(195, 185, 163, 1) 0%, rgba(158, 145, 119, 1) 100%);
	color: #FFF;
	line-height: 1.65;
	letter-spacing: .2em
}

.whats .inn .obj {
	width: min(47.4vw, 910px);
	left: 50.5%;
	top: 8%;
	position: absolute
}

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

.for_you .row_1 .bxs {
	padding: 66px 116px;
	background: #FFF;
	column-gap: 2%;
}

.for_you .bxs .item {
	flex: 1;
}

.for_you .row_2 .bxs .item {
	padding: min(3.75vw, 72px) min(4.69vw, 90px);
	border-radius: 0 98px 0 0;
	border: 1px solid #c5b390;
	background: #FFF;
}

.for_you .row_2 .bxs .item .ttl {
	font-family: "Noto Serif JP", serif;
	font-size: clamp(16px, 1.82vw, 35px);
	font-weight: 600;
	text-align: center;
	letter-spacing: .2em;
	font-feature-settings: "palt";
}

.for_you .row_2 .bxs .item.no1 .ttl {
	color: #da3e5a
}

.for_you .row_2 .bxs .item.no2 .ttl {
	color: #296ab3
}

.list_type_chk li {
	font-size: clamp(18px, 1.51vw, 29px);
	font-weight: 400;
	letter-spacing: .18em;
	line-height: 1.35;
	padding-left: min(2.86vw, 55px);
	position: relative;
	margin-bottom: 5%
}

.list_type_chk li:last-child {
	margin-bottom: 0
}

.list_type_chk li::before {
	content: "";
	position: absolute;
	top: 0.15em;
	left: 0;
	width: min(1.88vw, 36px);
	height: min(1.88vw, 36px);
	background: url("../img/list_pat_1.png")no-repeat center / cover
}

.list_type_chk.pat2 li::before {
	background: url("../img/list_pat_2.png")no-repeat center / cover
}

.list_type_chk.pat3 li::before {
	background: url("../img/list_pat_3.png")no-repeat center / cover
}

.list_type_chk li .in_ttl {
	font-feature-settings: "palt";
	letter-spacing: .05em
}

.list_type_chk li .mn {
	margin-top: 3%;
	font-size: clamp(15px, 1.14vw, 22px);
	line-height: 1.6;
	letter-spacing: .1em
}

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

.implant .block {
	position: relative
}

.implant .block .txs {
	z-index: 10;
	width: 58.25%;
	position: relative;
	padding: min(3.91vw, 75px) min(2.86vw, 55px);
	background: #FFF;
	border: min(0.52vw, 10px) solid #e1e8f6
}

.implant .block .obj {
	width: min(44.79vw, 860px);
	top: calc(min(2.86vw, 55px) * -1);
	z-index: 20
}

.implant .block aside {
	position: absolute;
	bottom: min(1.3vw, 25px);
	width: min(83.02vw, 1594px);
	height: min(22.45vw, 431px);
	z-index: 0;
	background: linear-gradient(90deg, rgba(234, 243, 254, 1) 0%, rgba(196, 218, 249, 1) 100%);
}

.implant .block .txs .num {
	position: absolute;
	top: calc(min(2.71vw, 52px) * -1);
	font-family: "renata", sans-serif;
	font-size: clamp(30px, 9.06vw, 174px);
	font-weight: 500;
	color: #7594c6;
	text-align: center;
	letter-spacing: .025em;
	font-feature-settings: "palt";
	line-height: 1;
	font-style: normal;
	transform: rotate(-10deg);
}

.implant .block .txs .ttl {
	font-family: "Noto Serif JP", serif;
	font-size: clamp(20px, 2.08vw, 40px);
	font-weight: 600;
	color: #000;
	text-align: center;
	letter-spacing: .14em;
}

.implant .block .txs .mn {
	margin-top: 2%;
	font-size: clamp(15px, 1.14vw, 22px);
	color: #000;
	line-height: 1.8;
	letter-spacing: .14em;
}

.implant .block.no3 .txs .mn {
	line-height: 1.3;
}


.implant .block.lef .txs {
	padding-right: min(8.96vw, 172px)
}

.implant .block.lef .obj {
	left: 47%;
}

.implant .block.lef aside {
	left: calc(-5.42vw)
}

.implant .block.lef .txs .num {
	left: calc(min(0.42vw, 8px) * -1);
}

.implant .block.rig {
	display: flex;
	justify-content: flex-end
}

.implant .block.rig .txs {
	padding-left: min(8.96vw, 172px)
}

.implant .block.rig .obj {
	left: 0;
}

.implant .block.rig aside {
	right: calc(-5.42vw)
}

.implant .block.rig .txs .num {
	right: -55px;
}

.price {
	background: #faf8f2
}

.price .tbls {
	display: flex;
	flex-wrap: wrap;
}

.price .tbls .col {
	padding: 10px 20px;
	border-radius: 12px;
	background: #FFF
}

.price .tbls .col .row {
	padding: 10px 0;
}

.price .tbls .col .row .cell {
	padding: 4px 0;
	text-align: center;
	font-weight: 500;
	font-feature-settings: "palt";
	letter-spacing: .05em;
	display: flex;
	align-items: center;
	justify-content: center
}


.price .tbls .col.no1 {
	width: 25%;
	border: 1px solid #e5dcca
}

.price .tbls .col.no1 .row {
	border-bottom: 1px solid #e5dcca
}

.price .tbls .col.no1 .cell {
	font-weight: 500;
	font-size: clamp(18px, 1.51vw, 29px);
}

.price .tbls .col.cmmn {
	width: 32.5%;
}

.price .tbls .col.cmmn .cell.ttl {
	padding: 8px 0;
	border-radius: 10px;
	line-height: 1.1;
	text-align: center;
	color: #FFF
}

.price .tbls .col.no2 {
	border: 1px solid #9d8f75
}

.price .tbls .col.no2 .row {
	border-bottom: 1px solid #9d8f75
}

.price .tbls .col.no2 .ttl {
	background: #9d8f75
}

.price .tbls .col.no3 {
	border: 1px solid var(--clr_l_brown)
}

.price .tbls .col.no3 .row {
	border-bottom: 1px solid var(--clr_l_brown)
}

.price .tbls .col.no3 .ttl {
	background: var(--clr_l_brown)
}

.price .tbls .col .row:last-child {
	border-bottom: none
}

.price .fee_box {
	padding: 54px 38px;
	border-radius: 12px;
	border: 3px solid var(--clr_l_brown);
	background: #f2ede7;
}

.price .fee_box .row_1 {
	margin: 2% 0;
	padding-bottom: 2%;
	border-bottom: 10px double var(--clr_l_brown)
}

.flow {
	overflow: hidden;
	background: #fcfcfc
}

.flow .in_wrap::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: min(31.98vw, 614px);
	height: 100%;
	margin: auto;
	background: #f8f6f3;
	border-radius: 0 80px 0 0;
	z-index: 0
}

.flow .block {
	position: relative;
	z-index: 10;
	width: 100%;
	max-width: 1470px;
	margin-inline: auto;
	column-gap: min(5.47vw, 105px)
}

.flow .block.lef {
	left: 4%
}

.flow .block.rig {
	right: 4%
}

.flow .block .px {
	width: 44.6%
}

.flow .block .tx {
	width: calc(100% - (44.6% + min(5.47vw, 105px)));
	font-family: "Noto Serif JP", serif;
}

.flow .block .tx .stp {
	width: min(13.13vw, 252px);
	padding: 5px 1% 9px;
	border-radius: 0 min(1.25vw, 24px) 0 min(1.25vw, 24px);
	background: #b89434;
	font-size: clamp(22px, 2.60vw, 50px);
	font-weight: 200;
	color: #FFF;
	text-align: center;
	letter-spacing: .035em;
	line-height: 1;
	font-feature-settings: "palt";
}

.flow .block .tx .in_ttl {
	margin: 2.5% 0 3.5%;
	font-size: clamp(18px, 2.19vw, 42px);
	font-weight: 500;
	color: #000000;
	letter-spacing: .035em;
}

.flow .block.no3 .tx .in_ttl {
	font-size: clamp(18px, 1.93vw, 37px);
	font-feature-settings: "palt";
	letter-spacing: .0;
}

.flow .block .tx .mn {
	font-size: clamp(17px, 1.17vw, 22.369px);
	font-weight: 500;
	color: #000000;
	letter-spacing: .025em;
	font-feature-settings: "palt";
	line-height: 1.8
}

.flow .block.no3 .tx .mn,
.flow .block.no5 .tx .mn {
	letter-spacing: -.01em;
}

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

.be_af .block .ttl {
	font-family: minion-pro-caption, serif;
	font-size: clamp(36px, 2.5vw, 48px);
	font-weight: 600;
	color: #FFF;
	text-align: center;
	letter-spacing: .082em;
	font-feature-settings: "palt";
	background: linear-gradient(90deg, #00529d 0%, #00004a 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.be_af .block .pxs {
	column-gap: 1px
}

.be_af .block .pxs .item {
	flex: 1;
	background: #c7c7c7;
	padding: 16px 16px 24px;
}

.be_af .block .pxs .item figcaption {
	font-family: minion-pro-caption, serif;
	font-size: clamp(18px, 1.97vw, 38px);
	font-weight: 600;
	color: var(--clr_d_brown);
	text-align: center;
	letter-spacing: .082em;
	font-feature-settings: "palt";
}

.be_af .block .txs {
	padding: min(1.04vw, 20px) 2%;
	background: #ecf3fe
}

.be_af .block .txs .box {
	max-width: 1555px;
	margin-inline: auto;
}

.be_af .block .txs .box .row {
	display: flex;
	margin-bottom: 2px
}

.be_af .block .txs .box .row:last-child {
	margin-bottom: 0
}

.be_af .block .txs .box .row .cell {
	display: flex;
	align-items: center;
	padding: 10px 0;
}

.be_af .block .txs .box .row .hd {
	width: 20%;
	background: #b0bfde;
	font-size: clamp(14px, 1.35vw, 26px);
	font-weight: 500;
	color: #314e7a;
	text-align: center;
	justify-content: center;
	letter-spacing: .08em;
}

.be_af .block .txs .box .row .mn {
	width: 80%;
	font-size: clamp(14px, 1.14vw, 22px);
	font-weight: 400;
	color: #000000;
	background: #FFF;
	padding-left: 2.5%;
	padding-right: 2.5%;
}

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

.voice .box_wrap {
	max-width: 1325px;
	margin-inline: auto;
	padding: min(1.2vw, 23px) min(5.21vw, 100px) min(1.2vw, 23px) min(3.93vw, 76px);
	background: #FFF;
	border: 2px solid #d0e7e9;
	box-shadow: 7px 7px 6px 0px rgba(0, 0, 0, 0.17);
	column-gap: min(6.25vw, 80px);

}

.voice .box_wrap .px {
	width: 33.9%;
}

.voice .box_wrap .tx {
	width: calc(100% - 33.9%);
	font-size: clamp(16px, 1.14vw, 22px);
	font-weight: 400;
	letter-spacing: .21em;
	line-height: 1.6;
}

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

.faq .ttl {
	color: #2f4055;
	text-shadow: 0px 0px 6px rgba(255, 255, 255, 0.6);
}

.faq .bxs {
	padding: 12px;
	border: 2px solid #FFF
}

.faq .bxs .inn {
	padding: min(5.78vw, 111px) min(7.29vw, 140px);
	background: #FFF;
}

.faq .bxs .block .area .row {
	display: flex;
	column-gap: 9px;
}

.faq .bxs .block .area .row .hd {
	width: 65px;
	height: 65px;
}

.faq .bxs .block .area.q .row .hd {
	background: #489fd3;
	display: flex;
	justify-content: center;
	align-items: center;
}

.faq .bxs .block .area .row .hd p {
	font-family: "Noto Serif JP", serif;
	font-size: clamp(18px, 2.14vw, 41px);
	font-weight: 500;
	color: #FFF;
	text-align: center;
	letter-spacing: .0em;
	line-height: 1;
	font-feature-settings: "palt";
}

.faq .bxs .block .area.q {
	cursor: pointer
}

.faq .bxs .block .area.q .row .hd p {
	position: relative;
	top: -6px;
}

.faq .bxs .block .area .row .mn {
	width: calc(100% - 74px);
	padding: 0 20px;
}

.faq .bxs .block .area.q .row .mn {
	display: flex;
	align-items: center;
	font-size: clamp(22px, 1.66vw, 32px);
	font-weight: 500;
	color: #000000;
	letter-spacing: .21em;
	font-feature-settings: "palt";
}

.faq .bxs .block .area.a {
	padding-top: 15px;
	border-top: 1px solid #8d8d8d;
	display: none;
	margin-top: 15px
}

.faq .bxs .block .area.a .row {
	align-items: center
}

.faq .bxs .block .area.a .row .hd p {
	color: #38739b;
}

.faq .bxs .block .area.a .row .mn {
	font-size: clamp(16px, 1.51vw, 29px);
	font-weight: 400;
	color: #000000;
	letter-spacing: .21em;
}

footer .stage .item {
	flex: 1
}

footer .stage .txs .adrss {
	padding: 3px;
	border-radius: 50px;
	background: #e5dcca;
}

footer .stage .txs .tels_ft {
	display: flex;
	align-items: center;
	justify-content: center
}

.time_tbl {
	background: #f4f9fd
}

.time_tbl .row {
	display: flex;
}

.time_tbl .row .cell {
	padding: 18px 0;
}

.time_tbl .row .hd {
	width: 32%;
	font-size: clamp(14px, 1.4583vw, 28px);
	font-weight: 500;
	text-align: center;
	letter-spacing: .0em;
	line-height: 1;
}

.time_tbl .row .bse {
	width: calc((100% - 32%) / 7);
	font-size: clamp(13px, 1.09vw, 21px);
	font-weight: 500;
	letter-spacing: .0em;
	line-height: 1;
	text-align: center;
	font-feature-settings: "palt";
	display: flex;
	justify-content: center;
	align-items: center
}

.time_tbl .row.tp {
	background: #262e76
}

.time_tbl .row.tp .hd,
.time_tbl .row.tp .bse {
	color: #FFF;
}

.time_tbl .row.cmmn .bse {
	color: #0085cd;
}

footer .stage .mps {
	padding-left: 5%;
}

footer .stage .mps .ggmap {
	padding-bottom: 0;
	padding-top: 0;
	height: min(28.28vw, 543px);
}

footer .cp {
	padding: 40px 0;
	background: #9d8f75;
	text-align: center;
	color: #FFF;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1
}



@media screen and (max-width:1600px) {
	.flow .block.lef {
		left: 0
	}

	.flow .block.rig {
		right: 0
	}
}

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

@media screen and (max-width:1210px) {
	.fv .in_box {
		min-width: 360px;
		right: 2vw;
		bottom: 2vw
	}

	.comp .tbl_wrap {
		width: 1200px;
	}

	.fv .in_box .mn {
		padding: min(0.63vw, 12px) 4% 20px;
	}
}

@media screen and (max-width:1106px) {
	.four_feature .area_one .row {
		align-items: flex-start
	}
}

@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: 4vw !important;
		padding-left: 4vw !important;
	}

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

	.sp_on_pad {
		padding-right: 4vw !important;
		padding-left: 4vw !important;
	}

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

	.sp_width_over {
		width: calc(100% + 8vw);
		margin-left: -8vw;
	}

	header.general {
		display: block;
	}

	header.general .logo {
		display: block;
		width: 70%;
		min-width: inherit;
		margin: 2vw auto;
	}

	header.general .sp_btns .in {
		display: flex;
		column-gap: 0.5rem;
		margin-bottom: 3vw;
	}

	header.general .sp_btns .btn {
		position: relative;
		border-radius: 5px;
		padding: 4vw 0;
		color: #FFF;
		text-align: center;
		font-weight: 500;
		font-size: 12px;
	}

	header.general .sp_btns .btn.insta {
		background: #2054a4
	}

	header.general .sp_btns .btn.rza {
		background: #14b0e8
	}

	header.general .sp_btns .btn.cmm {
		width: 28%;
	}

	header.general .sp_btns .btn.tels {
		width: calc(100% - (28% * 2));
	}

	/*bbbbb************************************************************************/
	.mgn_t_15 {
		margin-top: 5px;
	}

	.mgn_t_35 {
		margin-top: 5vw
	}

	.mgn_t_25 {
		margin-top: 3.5vw;
	}

	.mgn_t_50 {
		margin-top: 6.5vw
	}

	.mgn_t_20 {
		margin-top: 3.5vw;
	}

	.sec_pad_90 {
		padding: 13vw 0;
	}

	.sec_pad_180_t {
		padding-top: 14vw;
	}

	.sec_pad_140_b {
		padding-bottom: 14vw;
	}

	.mgn_t_100 {
		margin-top: 14vw;
	}

	.sec_pad_130 {
		padding: 14vw 0;
	}

	.mgn_t_70 {
		margin-top: 9vw;
	}

	.sec_pad_160_b {
		padding-bottom: 14vw;
	}

	.sec_pad_130_t {
		padding-top: 14vw
	}

	.mgn_t_150 {
		margin-top: 14vw;
	}

	.mgn_t_190 {
		margin-top: 15vw;
	}

	.sec_pad_120 {
		padding: 15vw 0;
	}

	.sec_pad_150 {
		padding: 18vw 0;
	}

	.mgn_t_10 {
		margin-top: 10px;
	}

	.mgn_t_80 {
		margin-top: 10vw
	}

	.sec_pad_80_t {
		padding-top: 10vw
	}

	.txs_26 {
		font-size: 15px;
	}

	.txs_22,
	.txs_25 {
		font-size: 15px;
	}

	.txs_40 {
		font-size: 4.8vw;
	}

	.txs_37 {
		font-size: 15px;
	}

	.txs_48 {
		font-size: 6.13vw
	}

	.txs_51 {
		font-size: 7vw
	}

	.gap_30 {
		column-gap: 4.5vw;
	}

	/*bbbbb************************************************************************/
	.fv .in_box {
		border-radius: 5px;
		overflow: hidden;
		min-width: inherit;
		width: 60%;
		right: 2vw;
		bottom: 6vw
	}

	.fv .in_box .mn {
		padding: 2vw;
	}

	.fv .in_box .ttl {
		text-align: center;
		letter-spacing: .037em;
		padding: 5px 0;
		font-size: 14px
	}

	.fv .in_box .mn .in_ttl {
		font-size: 14px;
		font-weight: 600;
		padding: 0 0 5px;
	}

	.fv .in_box .mn .in_tx {
		width: 84%;
		margin-inline: auto;
		font-size: 12px;
	}

	.side_pad {
		padding-right: 4vw;
		padding-left: 4vw;
	}

	.cv .inn .sepa {
		padding: 0 0;
	}

	.cv .inn .sepa .tx,
	.cv .inn .sepa .px {
		width: 100%;
	}

	.cv .inn .sepa .tx .ttl {
		font-size: 5vw;
		font-weight: 700;
		margin-bottom: 6vw;
	}

	.cv .inn .sepa .tx .ttl span {
		font-size: 4.13vw;
	}

	.cv {
		background-size: 37.6vw;
	}

	.cv .inn .sepa .px {
		margin-bottom: 6vw;
	}

	.h_type_1 {
		font-size: 6.13vw;
		letter-spacing: .21em;
		padding-bottom: 5.4vw;
	}

	.h_type_1::after {
		width: 90vw;
		height: 2.4vw;
	}

	.four_feature .area_one {
		padding-top: 9vw;
		background: none
	}

	.four_feature .area_one .row .px {
		width: 100%;
		padding: 2vw;
		background: #FFF;
		box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, 0.2);
		position: relative;
		z-index: 10;
	}

	.four_feature .area_one .row .tx {
		position: relative;
		z-index: 0;
		width: calc(90% + 4vw);
		padding: 14vw 4vw 4vw;
		margin: -10vw 0 0 calc(4vw + 5%);
		line-height: 1.8;
		letter-spacing: .242em;
	}

	.four_feature .area_two {
		margin-top: 11vw;
		padding: 11vw 0;
		background: url(../img/ff_area_bg_2.webp) no-repeat top / cover;
	}

	.four_feature .area_two .inn .item .tx {
		padding: 5vw;
	}

	.four_feature .area_two .inn .item .tx .ttl {
		padding: 10px 2%;
		font-size: 4.8vw;
		letter-spacing: .19em;
		line-height: 1.1;
		border: 2px solid #9a8d6c;
	}

	.four_feature .area_two .inn .item {
		margin-bottom: 7.5vw;
	}

	.four_feature .area_two .inn .item:last-child {
		margin-bottom: 0;
	}

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

	.comp .tbl_wrap {
		width: 1000px;
	}

	.comp .tbl_wrap .row .fst.cell .in {
		font-size: 17px;
	}

	.whats {
		padding: 12vw 0;
		background: url(../img/whats_bg_sp.png) no-repeat top / cover;
	}

	.whats .inn .obj {
		width: 100%;
		left: unset;
		top: 0;
		position: relative;
	}

	.whats .inn .txs {
		width: 100%;
		margin-top: 2vw;
		padding: 4.5vw;
		border-radius: 0;
		color: #FFF;
		line-height: 1.65;
		letter-spacing: .2em;
	}

	.for_you {
		background: url(../img/for_you_bg_sp.webp) no-repeat top / cover;
	}

	.for_you .row_1 {
		margin-top: 0
	}

	.for_you .row_1 .bxs {
		padding: 7vw 5vw;
		background: #FFF;
		column-gap: 2%;
	}

	.list_type_chk li {
		font-size: 15px;
		font-weight: 400;
		letter-spacing: .18em;
		line-height: 1.35;
		padding-left: 30px;
		position: relative;
		margin-bottom: 5%;
	}

	.list_type_chk li::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 20px;
		height: 20px;
	}

	.for_you .row_2 .bxs .item {
		padding: 0;
		border-radius: 0;
		border: none;
		background: none;
	}

	.for_you .row_2 .bxs .item .ttl {
		font-size: 6vw;
		font-weight: 600;
		letter-spacing: .2em;
	}

	.list_type_chk li .in_ttl {
		font-size: 17px
	}

	.for_you .row_2 .bxs .item.no2 {
		margin-top: 8vw
	}

	.implant .block .obj {
		width: 100%;
		top: unset;
		position: relative;
	}

	.implant .block.lef .obj {
		left: unset;
	}

	.implant .block.lef .txs {
		padding-right: 4vw;
	}

	.implant .block .txs {
		margin-top: 6vw;
		width: 100%;
		padding: 8vw 4vw 4vw;
		background: none;
		border: 3px solid #e1e8f6;
		position: relative;
		z-index: 1
	}

	.implant .block.rig .txs {
		padding-left: 4vw
	}

	.implant .block .txs .num {
		top: -4vw;
		font-size: 16vw;
		transform: rotate(-10deg);
	}

	.implant .block.lef .txs .num {
		left: -1vw;
	}

	.implant .block.rig .txs .num {
		right: unset;
		left: -1vw;
	}

	.implant .block .txs .ttl {
		font-size: 4.8vw
	}

	.implant .block .txs::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
		background: #FFF
	}

	.implant .block .txs::after {
		content: "";
		position: absolute;
		bottom: 0;
		top: 0;
		left: -4.7vw;
		right: -4.7vw;
		margin: auto;
		height: 76.8vw;
		z-index: -2;
		background: linear-gradient(90deg, rgba(234, 243, 254, 1) 0%, rgba(196, 218, 249, 1) 100%);
	}

	.implant .block aside {
		display: none
	}

	.implant .block.rig {
		display: block;
	}

	.price .tbls.gap_23 {
		column-gap: 2vw;
		row-gap: 3vw
	}

	.price .tbls .col.no1 {
		width: 33%;
	}

	.price .tbls .col.cmmn {
		width: calc(67% - 2vw);
	}

	.price .tbls .col {
		padding: 1vw 0;
		border-radius: 12px;
		background: #FFF;
	}

	.price .tbls .col.no1 .cell {
		font-weight: 500;
		font-size: 14px;
	}

	.price .tbls .col .row {
		padding: 1vw 0;
	}

	.price .tbls .col.cmmn .cell.ttl {
		padding: 8px 0;
		width: calc(100% - 2vw);
		margin-inline: auto;
		font-size: 15px;
	}

	.price .tbls .col .row .cell.txs_38 {
		font-size: 17px;
	}

	.price .fee_box {
		padding: 5vw 2vw;
		border-radius: 16px;
	}

	.price .fee_box .txs_40 {
		font-size: 4.8vw
	}

	.price .fee_box .txs_32 {
		font-size: 15px;
		text-align: left
	}

	.price .fee_box .txs_29 {
		font-size: 15px;
	}

	.price .fee_box .row_1 {
		margin: 3vw 0;
		padding-bottom: 3vw;
		border-bottom: 6px double var(--clr_l_brown);
	}

	.flow .block {
		padding-right: 4vw;
		padding-left: 4vw;
	}

	.flow .block .px {
		width: 100%;
	}

	.flow .block .tx {
		margin-top: 7vw;
		width: 100%;
	}

	.flow .block .tx .stp {
		width: 25.87vw;
		padding: 1%;
		border-radius: 0 24px 0 24px;
		font-size: 5.33vw;
	}

	.flow .block .tx .in_ttl {
		margin: 3.5% 0 2.5%;
		font-size: 4.8vw;
		font-weight: 700
	}

	.sp_fw_700 {
		font-weight: 700 !important
	}

	.flow .block .tx .mn {
		font-size: 15px;
		font-weight: 700;
		line-height: 1.65;
	}

	.flow .in_wrap::before {
		width: 40vw;
		top: 15vw;
	}

	.flow .block.sec_pad_80_t {
		padding-top: 14vw
	}

	.flow .block:first-of-type.sec_pad_80_t {
		padding-top: 0
	}

	.be_af .mgn_t_150 {
		margin-top: 7vw
	}

	.be_af .block .ttl {
		font-size: 7.5vw;
	}

	.be_af .block .pxs .item {
		padding: 4vw 4vw 5vw;
		margin-bottom: 3.5vw
	}

	.be_af .block .pxs .item:last-child {
		margin-bottom: 0
	}

	.be_af .block .txs {
		margin-top: 3.5vw;
		padding: 4vw;
		background: #ecf3fe;
	}

	.be_af .block .txs .box .row .hd {
		width: 30%;
		font-size: 15px;
		letter-spacing: 0;
	}

	.be_af .block .txs .box .row .mn {
		width: 70%;
		font-size: 15px;
		padding-left: 2.5%;
		padding-right: 2.5%;
	}

	.be_af {
		background: url(../img/be_af_bg_sp.webp) no-repeat top / cover;
	}

	.voice {
		background: url(../img/voice_bg_sp.webp) no-repeat top / cover;
	}

	.voice .box_wrap {
		margin-top: 10vw;
		width: calc(100% - 8vw);
		margin-inline: auto;
		padding: 5vw;
	}

	.voice .box_wrap .px {
		width: 100%;
		margin-bottom: 6vw
	}

	.voice .box_wrap .tx {
		width: 100%;
		font-size: 15px;
		font-weight: 400;
		letter-spacing: .21em;
		line-height: 1.6;
	}

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

	.faq .bxs .inn {
		padding: 5vw;
	}

	.faq .bxs .block .area .row .hd {
		width: 32px;
		height: 32px;
	}

	.faq .bxs .block .area .row .hd p {
		font-size: 17px;
		font-weight: 700
	}

	.faq .bxs .block .area.q .row .hd p {
		position: relative;
		top: -2px;
	}

	.faq .bxs .block .area .row .mn {
		width: calc(100% - 32px);
		padding: 0 2vw;
	}

	.faq .bxs .block .area.q .row .mn {
		display: flex;
		align-items: center;
		font-size: 17px;
		letter-spacing: .1em;
	}

	.faq .bxs .block .area.a {
		display: none;
		margin-top: 2vw;
		padding-top: 2vw;
	}

	.faq .bxs .block .area.a .row .mn {
		font-size: 15px;
		letter-spacing: .1em;
	}

	footer .stage .txs .adrss {
		margin: 10vw 0 5vw
	}

	.time_tbl .row .hd {
		width: 28%;
	}

	.time_tbl .row .bse {
		width: calc((100% - 28%) / 7);
		font-size: 12px;
	}

	footer .stage .mps {
		padding-left: 0;
		margin-top: 10vw
	}

	footer .stage .mps .ggmap {
		height: 55vw;
	}

	footer .cp {
		padding: 7vw 0;
	}



}

/* ==========================================================================
   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 {
	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: #89a2ce;
	color: #fff;
}

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

/* フッター固定で下が隠れないように */
body {
	padding-bottom: 64px;
}

.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;
}

@media(max-width:767px) {
	header.general .btns {
		display: none;
	}

	header.general .catch {
		justify-content: center;
	}

	header {
		position: sticky;
		top: 0;
		left: 0;
		width: 100%;
		background-color: #fff;
		z-index: 999;
	}

	#top {
		scroll-margin-top: 70px;
		/* 50px手前で止まる */
	}

	html {
		scroll-behavior: smooth;
	}
}

/* PCでは固定フッター不要なら消す（必要なら） */
@media (min-width: 768px) {
	.fixed-footer {
		display: none;
	}

	body {
		padding-bottom: 0;
	}
}