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

body {
	position: relative;
	font-size: 1rem;
	font-family: yu-gothic-pr6n, "Hiragino Kaku Gothic ProN", "Hiragino Sans", 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 !important
}

.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_blk_2: #192231;
	--clr_base: #333333;
	--clr_brown: #a37f26;
	--clr_brown_2: #a17d26;
	--clr_brown_3: #754c24;
	--clr_l_brown: #f4f2f0;
	--clr_l_brown_2: #f4f2ef;
	--clr_pink: #ed7898;
	--clr_beg: #f7f6f4;

}

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

.bg_clr_l_brown {
	background-color: var(--clr_l_brown)
}

.bg_clr_l_brown_2 {
	background-color: var(--clr_l_brown_2)
}

.bg_clr_brown_3 {
	background-color: var(--clr_brown_3) !important
}

.fc_wht {
	color: #FFF
}

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

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

.fc_pink {
	color: var(--clr_pink)
}

.txs_12 {
	font-size: 12px;
}

.txs_13 {
	font-size: 13px;
}

.txs_14 {
	font-size: 14px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@font-face {
	font-family: 'yug_b';
	src: url('../font/YuGothB.ttc') format('truetype')
}

.ff_yug_b {
	font-family: 'yug_b';
}

.ff_min_shp {
	font-family: shippori-mincho, sans-serif;
}

.ff_min_yu {
	font-family: yu-mincho-pr6n, sans-serif;
}

.ff_din {
	font-family: din-2014, sans-serif;
}

.ff_din_n {
	font-family: din-2014-narrow, sans-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_1025 {
	max-width: 1025px;
	margin-left: auto;
	margin-right: auto;
}

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

.wrap_1400 {
	max-width: 1400px;
	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 {}

/*-------------------------------------
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.35vw, 20px) 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mgn_auto {
	margin-inline: auto;
}

.mgn_t_5 {
	margin-top: 5px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.gap_50 {
	column-gap: min(3.38vw, 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 {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	display: flex;
	background: #FFF
}

header.general .logo {
	display: flex;
	align-items: center;
	width: 35%;
	padding-left: 1.76%;
}

header.general .logo img {
	display: block;
	max-width: 182px;
	height: auto
}

header.general .catch {
	display: flex;
	align-items: center;
	width: 38%;
	letter-spacing: 0;
	line-height: 1
}

header.general .btns {
	width: calc(100% - (38% + 35%));
	display: flex;
	position: relative;
	z-index: 10
}

header.general .btns .btn {
	display: flex;
	align-items: center;
	position: relative
}

header.general .btns .btn .in {
	width: 100%
}

header.general .btns .tels {
	width: 48.75%;
	padding: min(0.68vw, 10px);
	background: var(--clr_blk_2)
}

header.general .btns .tels aside {
	padding: 2px;
	background: var(--clr_wht);
	font-family: shippori-mincho, sans-serif;
	font-size: clamp(10px, 0.81vw, 15px);
	font-weight: 700;
	color: var(--clr_blk_2);
	text-align: center;
	letter-spacing: .0em;
	line-height: 1;
	font-feature-settings: "palt";
}

header.general .btns .tels img {
	margin-top: 3px
}

header.general .btns .rza {
	width: 31.5%;
	background: var(--clr_brown)
}

header.general .btns .rza .tx {
	margin-top: 3%
}

header.general .btns .ham_wrap {
	width: calc(100% - (48.75% + 31.5%));
	background: var(--clr_blk_2)
}

header.general .btns .ham_wrap .in {
	display: flex;
	justify-content: center
}

.sp_ham {
	width: 40%;
	height: 46px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: center;
	cursor: pointer;
	transition-property: all;
	transition: 0.3s linear;
}

.sp_ham .defo {
	margin-top: .5vw;
	display: block;
	width: 100%;
	line-height: 1;
	letter-spacing: .1em;
	text-align: center;
	font-size: clamp(9px, 0.61vw, 14px);
	font-family: yu-mincho-pr6n, sans-serif;
	font-weight: 400;
}

.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

.menu-trigger {
	position: relative;
	width: 100%;
	height: 22px;
}

.menu-trigger.active {}

.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	border-radius: 10px;
	background-color: var(--clr_wht);
}

.menu-trigger span:nth-of-type(1) {
	top: 0;
}

.menu-trigger span:nth-of-type(2) {
	top: calc(50% - 1.5px);
}

.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(9.5px) rotate(-45deg);
	transform: translateY(9.5px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}

.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-9.5px) rotate(45deg);
	transform: translateY(-9.5px) rotate(45deg);
}

.gnav_sp {
	padding-top: 80px;
	padding-bottom: 30px;
	overflow-y: auto;
	overflow-x: hidden;
	background-color: var(--clr_wht);
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1;
	height: 100%;
	visibility: hidden;
	opacity: 0;
	width: 400px;
	transition: opacity .6s ease, visibility .6s ease;
}

.gnav_sp .nav_main {
	position: relative
}

.gnav_sp .nav_main>ul {
	display: block;
}

.gnav_sp .nav_main>ul>li {
	opacity: 0;
	transform: translateX(50%);
	transition: transform .6s ease, opacity .2s ease;
	border-bottom: 1px solid var(--clr_green);
}

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

.gnav_sp .nav_main>ul>li:first-child {}

.gnav_sp .nav_main>ul>li.nav_drawer {
	padding-bottom: 2.5vw;
}

.gnav_sp .nav_main>ul>li>a {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	text-align: left;
	padding-left: 36px;
	font-size: clamp(17px, 1.25vw, 24px);
	font-weight: 500;
	line-height: 1.2
}

.gnav_sp .nav_main>ul>li>a::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 15px;
	width: 16px;
	height: 20px;
	margin: auto;
}

@media screen and (min-width:767px) {
	.gnav_sp .nav_main>ul>li>a:hover {
		text-decoration: underline
	}
}

.gnav_sp .nav_main>ul>li>a span {
	display: block;
	padding: 18px 10px;
	width: 100%;
	position: relative
}

.gnav_sp .nav_main>ul>li>a span::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8px;
	width: 19px;
	height: 14px;
	margin: auto;
}

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

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

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

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

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

.cv_btn_wrap {
	position: relative;
	max-width: 643px;
	margin-inline: auto;
	/* padding: 4px;
	background: var(--clr_brown_2) */
}

.cv_btn_wrap .in {
	padding: 23.5px 2%;
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 2%;
	border: 1px solid #FFF
}

.cv_btn_wrap .in .tx {
	font-family: shippori-mincho, sans-serif;
	font-size: clamp(20px, 2.36vw, 35px);
	font-weight: 500;
	color: #FFF;
	text-align: center;
	letter-spacing: .0em;
	line-height: 1;
	font-feature-settings: "palt";
	text-shadow: 1px 1px 4px rgba(2, 2, 2, 0.23);
}

.cv_btn_wrap .in .tx span {
	font-size: clamp(23px, 2.57vw, 38px);
}

.top_leade {
	padding: 45px 0 min(5vw, 74px);
}

.top_leade .doc_sepa {
	align-items: flex-end
}

.top_leade .doc_sepa .px {
	width: 46.44%;
}

.top_leade .doc_sepa .tx {
	width: calc(100% - 46.44%);
	padding-right: 3%
}

.nams {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	column-gap: min(7.91vw, 117px);
	margin-top: .45%
}

.nams .nam {
	position: relative;
	width: 74px;
	padding: 4px 0;
	border: 1px solid var(--clr_base);
	font-family: shippori-mincho, sans-serif;
	font-size: 17px;
	font-weight: 500;
	color: #000;
	text-align: center;
	letter-spacing: .0em;
	line-height: 1;
	font-feature-settings: "palt";
}

.nams .nam::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: calc(min(6.62vw, 98px) * -1);
	width: min(7.23vw, 107px);
	height: 1px;
	background: #000;
	margin: auto;
}

.nams .doc {
	letter-spacing: .2em
}

.top_leade .box {
	padding: 37px 45px;
	background: #FFF;
	box-shadow: 0px 0px 4px 0px rgba(2, 2, 2, 0.11);
}

.top_leade .box header {
	padding: 5px;
	background: #603813
}

.top_leade .box li {
	margin-bottom: 1.2%;
}

.top_leade .box li:last-child {
	margin-bottom: 0;
}

.str_tx .in::before,
.str_tx .in::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 35px;
	height: 1px;
	margin: auto;
	background: var(--clr_base)
}

.str_tx .in::before {
	left: -40px
}

.str_tx .in::after {
	right: -40px
}

.str_tx span {
	position: relative
}

.str_tx span::after {
	content: "";
	position: absolute;
	bottom: -.15vw;
	left: 0;
	width: 100%;
	height: 1px;
	margin: auto;
	background: var(--clr_base)
}

.list_type_chk li {
	padding-left: min(3.38vw, 50px);
	position: relative;
	font-size: clamp(16px, 1.76vw, 26px);
	font-weight: 600;
	color: #000;
	letter-spacing: .025em;
}

.list_type_chk li::after {
	content: "";
	position: absolute;
	top: .25vw;
	left: 0;
	width: min(2.09vw, 31px);
	min-width: 18.28px;
	height: min(2.03vw, 30px);
	min-height: 17.75px;
	background: url("../img/ico_chk.png") no-repeat center / cover
}

.concerns {
	position: relative;
	padding: min(7.3vw, 108px) 0 min(10.61vw, 157px);
}

.concerns::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background: #666666;
	clip-path: polygon(100% 0, 100% 92%, 50% 100%, 0 92%, 0 0);
}

.concerns::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -2;
	background: linear-gradient(90deg, rgba(242, 239, 231, 1) 42%, rgba(219, 212, 191, 1) 100%);
}

.concerns .box {
	position: relative;
	padding: 47px 32px;
	background: rgba(255, 255, 255, .78)
}

.concerns .box .obj {
	width: min(17.77vw, 263px);
	bottom: 0;
	right: 8%;
}

.solution {
	position: relative;
	background: linear-gradient(90deg, rgba(242, 239, 231, 1) 42%, rgba(219, 212, 191, 1) 100%);
}

.solution .float_tx {
	width: min(22.09vw, 327px);
	position: absolute;
	top: calc(min(3.11vw, 46px) * -1);
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	text-align: center;
	padding: min(1.35vw, 20px) 0;
	line-height: 1;
	border-radius: 36px;
	background: var(--clr_base);
	box-shadow: 2px 2px 3px 0px rgba(2, 2, 2, 0.19);
}

.ttl_en {
	font-family: yu-mincho-pr6n, sans-serif;
	font-size: clamp(30px, 4.53vw, 67px);
	font-weight: 500;
	color: #b4a495;
	text-align: center;
	letter-spacing: .025em;
	font-feature-settings: "palt";
}

.ov_lay {
	position: relative;
	z-index: 10
}

.whats {
	background: var(--clr_l_brown_2)
}

.whats .ttl .txs_31 {
	padding-left: .5%;
}

.whats .obj,
.five_pt .obj {
	top: 0
}

.whats .obj.no1,
.five_pt .obj.no1 {
	right: 0;
	width: 68%;
}

.whats .obj.no2,
.five_pt .obj.no2 {
	left: 0;
	width: 22%;
}

.whats .sepas {
	z-index: 10
}

.whats .sepas::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: min(67.57vw, 1000px);
	height: min(47.64vw, 705px);
	min-height: 485px;
	border-radius: 0 93px 0 0;
	background: url("../img/whats_sepas.webp") no-repeat center / cover;
	z-index: 0
}

.whats .sepas .px {
	position: relative;
	z-index: 10;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 44.59%
}

.whats .sepas .tx {
	position: relative;
	z-index: 10;
	width: calc(100% - 44.59%);
	padding: min(3.92vw, 58px) min(6.76vw, 100px);
	background: #FFF;
}

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

.whats .sepas .tx .chks {
	max-width: 473px;
	padding: min(1.35vw, 20px) min(1.69vw, 25px);
	border: 1px solid var(--clr_base)
}

.whats .sepas .tx .chks li {
	position: relative;
	font-size: clamp(16px, 1.35vw, 20px);
	font-weight: 700;
	padding-left: min(1.96vw, 29px);
	font-feature-settings: "palt";
}

.whats .sepas .tx .chks li::after {
	content: "";
	position: absolute;
	top: min(0.54vw, 8px);
	left: 0;
	width: min(1.08vw, 16px);
	min-width: 14.19px;
	height: min(0.81vw, 12px);
	min-height: 10.64px;
	background: url("../img/ico_chk_2.png") no-repeat center / cover;
}

.add_catch {
	background: rgba(244, 242, 240, .62)
}

.feature {
	position: relative
}

.feature .stage-shadow-wrapper {
	filter: drop-shadow(0 -4px 4px rgba(2, 2, 2, 0.17)) drop-shadow(0 4px 4px rgba(2, 2, 2, 0.17));
}

.feature .stage {
	padding: min(10.81vw, 160px) 0 min(17.16vw, 254px);
	background: #FFF;
	clip-path: polygon(100% 0, 100% 92%, 50% 100%, 0 92%, 0 0);
}

.feature .inn .block {
	max-width: 1400px;
	margin-inline: auto;
	column-gap: 2.5%;
}

.feature .block .item {
	flex: 1
}

.feature .block .tx header {
	position: relative;
	display: inline-block
}

.feature .block .tx header .in {
	display: flex;
	justify-content: center;
	font-family: shippori-mincho, sans-serif;
}

.feature .block .tx header::before,
.feature .block .tx header::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: min(3.99vw, 59px);
	height: 1px;
	margin: auto;
	background: var(--clr_base)
}

.feature .block .tx header::before {
	left: calc(min(7.03vw, 104px) * -1)
}

.feature .block .tx header::after {
	right: calc(min(7.03vw, 104px) * -1)
}

.feature .block .tx header .num {
	font-size: clamp(36px, 4.19vw, 62px);
	font-weight: 500;
	color: var(--clr_brown);
	letter-spacing: .0em;
	font-feature-settings: "palt";
}

.feature .block .tx header .ttl {
	padding-top: min(1.62vw, 24px);
	font-size: clamp(18px, 2.36vw, 35px);
	font-weight: 600;
	letter-spacing: .0em;
	line-height: 1.35;
	font-feature-settings: "palt";
}

.feature .block .tx .msg {
	text-align: left;
	margin-top: 5%;
	font-size: clamp(15px, 1.22vw, 18px);
	font-feature-settings: "palt";
	letter-spacing: .075em;
	line-height: 1.7
}

.comp .above .obj {
	bottom: 0;
	right: 5%;
	width: min(31.42vw, 465px)
}

.comp .lower {
	background: linear-gradient(90deg, rgba(242, 239, 231, 1) 42%, rgba(219, 212, 191, 1) 100%);
}

.comp_tbl header {
	padding: 7px;
	background: var(--clr_brown_3)
}

.comp_tbl header .in {
	padding: 12px;
	border-top: 1px solid var(--clr_wht);
	border-bottom: 1px solid var(--clr_wht);
}

.comp_tbl .row_wrap {
	border: 1px solid #d9d9d9;
	border-right: none;
	border-bottom: none
}

.comp_tbl .row {
	display: flex;
	border-bottom: 1px solid #d9d9d9;
}

.comp_tbl .row .cell {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 15px 10px;
	border-right: 1px solid #d9d9d9;
	background: #FFF
}

.comp_tbl .row.top .cell {
	padding: 30px 10px;
}

.comp_tbl .row .cell p {
	font-size: clamp(15px, 1.22vw, 18px);
	font-weight: 600;
	text-align: center;
	letter-spacing: .0em;
	font-feature-settings: "palt";
}

.comp_tbl .row.top .cell p {
	margin-top: 2%;
	font-size: clamp(18px, 1.96vw, 29px);
	font-weight: 600;
	color: #606060;
}

.comp_tbl .row .col_1 {
	width: 28%;
	color: #a18437
}

.comp_tbl .row .cell p i {
	font-size: clamp(22px, 2.03vw, 30px);
	font-weight: 400;
	font-style: normal
}

.comp_tbl .row .bse {
	width: calc((100% - 28%) / 3);
}

.comp_tbl .row .col_2 {
	background: #f3f3f3
}

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

.choice .sepa .px {
	width: 44.32%
}

.choice .obj {
	width: min(1.42vw, 21px);
	left: 0;
	right: 0;
	top: calc(min(3.78vw, 56px) * -1);
	margin: auto
}

.choice .sepa .tx {
	width: calc(100% - 44.32%);
	padding: 0 7% 0 6%;
	letter-spacing: .08em
}

.five_pt .obj.no1 {
	right: 0;
	width: 60%;
}

.five_pt .block {
	margin-inline: auto;
	padding: 7px;
	background: #FFF;
	box-shadow: 0px 0px 4px 0px rgba(81, 81, 81, 0.75);
}

.five_pt .block .inn {
	border: 1px solid var(--clr_brown_2);
	padding: 18px;
}

.five_pt .block .inn .px {
	width: 40.5%;
}

.five_pt .block .inn .tx {
	width: calc(100% - 40.5%);
	padding: 3% 3% 0 12px;
}

.five_pt .block .inn .tx .num {
	max-width: 161px;
	box-shadow: 0px 0px 4px 0px rgba(81, 81, 81, 0.5);
	padding: 3.5px 0;
	font-family: shippori-mincho, sans-serif;
	font-size: clamp(16px, 2.36vw, 35px);
	font-weight: 500;
	color: #f4f2f0;
	text-align: center;
	letter-spacing: .0em;
	line-height: 1;
	font-feature-settings: "palt";
	background: var(--clr_brown_2)
}

.five_pt .block .inn .tx .num span {
	font-size: clamp(20px, 2.7vw, 40px);
}

.five_pt .block .inn .tx .mn_ttl {
	margin-top: 6%;
	font-size: clamp(18px, 1.96vw, 29px);
	font-family: 'yug_b';
	font-weight: 900;
	letter-spacing: .05em;
	line-height: 1.45;
	font-feature-settings: "palt";
}

.gallery .ttl span {
	position: relative;
}

.gallery .ttl span i {
	font-style: normal;
	bottom: min(0.68vw, 10px);
	position: relative
}

.gallery .ttl span::before,
.gallery .ttl span::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: min(9.17vw, 94px);
	height: min(1.46vw, 15px);
	margin: auto;
	background: url("../img/gallery_ttl_obj.webp") no-repeat center / cover
}

.gallery .ttl span::before {
	left: calc(min(7.94vw, 118px) * -1)
}

.gallery .ttl span::after {
	right: calc(min(7.94vw, 118px) * -1);
	transform: scale(-1, 1)
}

.case .block {
	padding: 25px 30px 40px;
	background: #f3f3f3
}

.case .block .num {
	max-width: 218px;
	margin-inline: auto;
	padding: 12.5px 0;
	font-family: shippori-mincho, sans-serif;
	font-size: clamp(22px, 2.23vw, 33px);
	font-weight: 500;
	color: #ffffff;
	text-align: center;
	letter-spacing: .0em;
	line-height: 1;
	font-feature-settings: "palt";
	background: var(--clr_brown_2);
}

.case .block .catch {
	margin: 4% 0;
	font-family: shippori-mincho, sans-serif;
	font-size: clamp(18px, 1.76vw, 26px);
	font-weight: 700;
	text-align: center;
	letter-spacing: .05em;
	font-feature-settings: "palt";
}

.case .block .catch span {
	display: inline-block;
	transform: skewX(-8deg);
}

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

.case .block .sepa .item:first-child::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: calc(min(2.36vw, 35px) * -1);
	width: min(1.35vw, 20px);
	height: min(2.64vw, 39px);
	margin: auto;
	background: url("../img/case_tra.webp") no-repeat center / cover
}

.case .block .dtl {
	margin-top: min(2.70vw, 40px)
}

.case .block .dtl .row {
	display: flex;
	align-items: center;
	column-gap: min(2.36vw, 35px)
}

.case .block .dtl .row dt {
	width: min(19.17vw, 185px);
	padding: 10px 0;
	border: 1px solid var(--clr_brown_2);
	font-family: 'yug_b';
	font-size: clamp(17px, 1.42vw, 21px);
	font-weight: 900;
	color: var(--clr_brown_2);
	text-align: center;
	letter-spacing: .07em;
	line-height: 1.2;
}

.case .block .dtl .row dd {
	width: calc(100% - (min(19.17vw, 185px) + min(2.36vw, 35px)));
	font-size: clamp(17px, 1.42vw, 21px);
	font-weight: 600;
	letter-spacing: .0;
}

.flow .ttl {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	column-gap: .5%;
}

.flow .ttl .num {
	display: block;
	width: min(4.26vw, 63px);
	height: auto
}

.flow .block_wrap {
	padding: min(1.89vw, 28px) 0 min(4.05vw, 60px);
	background: linear-gradient(0deg, rgba(230, 226, 219, 1) 0%, rgba(232, 228, 221, 1) 15%, rgba(249, 248, 247, .15) 100%);
}

.flow .block {
	position: relative;
	padding: min(1.89vw, 28px);
	background: #FFF;
	box-shadow: 0px 0px 5px 0px rgba(168, 139, 119, 0.12);
}

.flow .block::after {
	content: "";
	position: absolute;
	bottom: calc(min(1.96vw, 29px) * -1);
	left: 0;
	right: 0;
	width: min(0.98vw, 10px);
	height: min(5.07vw, 52px);
	margin: auto;
	background: url("../img/flow_arrw.png") no-repeat center / cover
}

.flow .block.no8::after {
	display: none
}

.flow .block aside {
	position: absolute;
	left: 0;
	top: 0;
	width: 48.2%;
	height: 100%;
	background: #f7f6f4;
	z-index: 0;
	clip-path: polygon(0 0, 100% 0, 60% 100%, 0% 100%);
}

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

.flow .block .tx {
	width: calc(100% - 38.4%)
}

.flow .block .tx .in_ttl {
	display: flex;
	align-items: center;
	font-family: shippori-mincho, sans-serif;
	font-weight: 600;
	letter-spacing: .0em;
}

.flow .block.no5 .tx .in_ttl {
	line-height: 1.2;
}

.flow .block .tx .in_ttl .num {
	font-size: clamp(20px, 3.72vw, 55px);
	color: var(--clr_brown_2)
}

.flow .block .tx .in_ttl .mn {
	margin: 0 2%;
	font-size: clamp(20px, 2.16vw, 32px);
}

.flow .block.no5 .tx .in_ttl .mn {
	margin-top: 7%
}

.flow .block .tx .in_ttl .bar {
	display: block;
	width: 67px;
	height: 1.5px;
	background: var(--clr_base)
}

.flow .block .tx .msg {
	margin-top: 1.5%;
	font-size: clamp(16px, 1.22vw, 18px);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.8
}

.fee .sepax {
	display: flex;
	flex-wrap: wrap;
	border: 2px solid #d9d9d9;
	border-bottom: none;
	border-right: none;
}

.fee .sepax .item {
	padding: 3% 2%;
	display: flex;
	justify-content: center;
	align-items: center;
	border-right: 2px solid #d9d9d9;
	border-bottom: 2px solid #d9d9d9;
	width: 33.3333333333333333%;
	background: #FFF;
	text-align: center;
	font-feature-settings: "palt";
}

.greet {
	background: linear-gradient(90deg, rgba(242, 239, 231, 1) 42%, rgba(219, 212, 191, 1) 100%);
}

.greet .stage {
	max-width: 1418px;
	margin-inline: auto;
}

.greet .stage .tx {
	width: 52.77%;
	padding: min(4.05vw, 60px) min(3.04vw, 45px);
	background: #736357
}

.greet .stage .px {
	padding: min(2.70vw, 40px);
	width: calc(100% - 52.77%);
	background: #FFF
}

.faq .q_wrap {
	cursor: pointer
}

.faq .q_wrap .in {
	display: flex;
}

.faq .q_wrap .in .en {
	width: 53px;
	background: var(--clr_brown_2);
	display: flex;
	justify-content: center;
	align-items: center;
}

.faq .q_wrap .in .mn {
	width: calc(100% - 53px);
	background: var(--clr_beg);
	padding: 13px 40px 13px 30px;
	position: relative;
	font-family: shippori-mincho, sans-serif;
	font-size: clamp(17px, 1.49vw, 22px);
	font-weight: 600;
	letter-spacing: .025em;
	line-height: 1.25;
	font-feature-settings: "palt";
}

.faq .q_wrap .in .mn aside {
	position: absolute;
	height: 100%;
	width: auto;
	top: 0;
	right: 0;
}

.faq .q_wrap .in .mn aside::before {
	position: absolute;
	content: '';
	top: 50%;
	right: 20px;
	width: 15px;
	height: 2px;
	background-color: var(--clr_brown_2);
	transform: rotate(90deg);
	transition: all .3s ease-in-out;
}

.faq .q_wrap .in .mn aside::after {
	position: absolute;
	content: '';
	top: 50%;
	right: 20px;
	width: 15px;
	height: 2px;
	background-color: var(--clr_brown_2);
	transition: all .3s ease-in-out;
}

.faq .q_wrap .in .mn aside.open::before {
	transform: rotate(180deg);
}

.faq .q_wrap .in .mn aside.open::after {
	opacity: 0;
}

.faq .a_wrap {
	display: none
}

.faq .a_wrap .in p {
	margin-top: 2%;
	padding-left: 53px;
	font-family: shippori-mincho, sans-serif;
	font-weight: 600;
	letter-spacing: .025em;
	line-height: 1.8;
	font-feature-settings: "palt";
}

.gallery.end {
	background: #f9f7f0
}

.contact .cv_btn_wrap {
	margin-inline: 0;
	background: var(--clr_brown_2);
}

.contact .cv_btn_wrap.btn {
	width: 100%;
}

.contact .cv_btn_wrap.tels {
	background: var(--clr_blk_2)
}

.contact .cv_btn_wrap.tels .in {
	padding: 1%;
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
}

.contact .cv_btn_wrap.tels .in p {
	width: 100%;
}

.contact .cv_btn_wrap.tels .in .in_sepa {
	margin-top: 5px
}

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

footer .stage .sepa .txs {
	padding-right: 13%
}

footer .stage .sepa .item .adrs {
	font-family: shippori-mincho, sans-serif;
	font-feature-settings: "palt";
	font-weight: 600;
	color: 000
}

footer .stage .sepa .item .adrs .row_1 {
	display: flex;
	align-items: center;
	position: relative;
	column-gap: 20px;
}

footer .stage .sepa .item .adrs .row_1 p {
	font-size: 14px;
	width: 84px;
}

footer .stage .sepa .item .adrs .row_1 aside {
	width: calc(100% - 104px);
	height: 1px;
	background: var(--clr_base)
}

footer .stage .sepa .item .adrs .row_2 {
	padding: 2% 0 2% 2%;
	border-bottom: 1px solid var(--clr_base);
}

footer .stage .sepa .mps .ggmap {
	padding-bottom: 74.25%;
}

footer .cp {
	width: 100%;
	height: 60px;
	background: #000;
	text-align: center;
	font-size: 14px;
	color: #FFF;
	display: flex;
	align-items: center;
	justify-content: center
}

#page-top {
	display: none;
	position: fixed;
	cursor: pointer;
	bottom: 50px;
	right: 5px;
	z-index: 9999;
	width: 80px;
	height: 80px;
}

#page-top img {
	display: block;
	width: 100%;
	height: auto
}

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















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

	.wrap_1400,
	.feature .inn .block {
		padding-right: 2%;
		padding-left: 2%;
	}

	.flow .block.no5 .tx .in_ttl .mn {
		margin-top: 5%
	}
}

@media screen and (max-width:1210px) {
	.gallery .ttl span::before {
		left: -9vw
	}

	.gallery .ttl span::after {
		right: -9vw
	}
}

@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_1400,
	.wrap_1200,
	.wrap_1025 {
		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;
	}

	.sp_tx_cent {
		text-align: center
	}

	#sp_fix_nvs {
		position: fixed;
		top: 80px;
		right: 0;
		width: 40px;
		z-index: 9999
	}

	#sp_fix_nvs .btn {
		padding: 3vw;
		display: flex;
		justify-content: center;
	}

	#sp_fix_nvs .tels_fix {
		background: #192231
	}

	#sp_fix_nvs .rza_fix {
		background: #FFF
	}

	header.general {
		height: 60px;
	}

	header.general .btns .tels,
	header.general .btns .rza {
		display: none
	}

	header.general .logo {
		width: 10%;
		padding-left: 2%;
	}

	header.general .logo img {
		width: 100%;
	}

	header.general .catch {
		display: flex;
		flex-wrap: wrap;
		text-align: center;
		width: calc(100% - (10% + 60px));
		letter-spacing: 0;
		line-height: 1;
		font-size: 12px
	}

	header.general .catch span {
		display: block;
		width: 100%;
	}

	header.general .catch .sp_catch_in {
		display: block;
		width: 50%;
		margin-inline: auto;
		height: auto
	}

	header.general .btns {
		width: 60px;
	}

	header.general .btns .ham_wrap {
		width: 100%;
	}

	.sp_ham .defo {
		margin-top: 2vw;
		letter-spacing: .02em;
		font-size: 8px;
		font-weight: 200;
	}

	.sp_nomgn_t {
		margin-top: 0
	}

	.fv {
		margin-top: 60px
	}

	/*qqqqqqqq***************************************************************/
	.txs_24 {
		font-size: 4.53vw
	}

	.txs_26 {
		font-size: 4.67vw
	}

	.txs_18 {
		font-size: 4.13vw
	}

	.txs_33 {
		font-size: 4.27vw
	}

	.txs_43 {
		font-size: 7.99vw;
	}

	.txs_45 {
		font-size: 5.27vw;
	}

	.txs_42 {
		font-size: 6.67vw
	}

	.txs_23 {
		font-size: 4vw
	}

	.txs_25 {
		font-size: 3.87vw
	}

	.txs_67 {
		font-size: 6.4vw
	}

	.mgn_t_15 {
		margin-top: 15px
	}

	.mgn_t_100 {
		margin-top: 10vw
	}

	.mgn_t_120 {
		margin-top: 11vw;
	}

	.mgn_t_20 {
		margin-top: 3.5vw
	}

	.mgn_t_25 {
		margin-top: 4vw
	}

	.mgn_t_30 {
		margin-top: 4.5vw
	}

	.mgn_t_35 {
		margin-top: 5vw
	}

	.mgn_t_40 {
		margin-top: 5.5vw
	}

	.mgn_t_65 {
		margin-top: 9vw
	}

	.sec_pad_40 {
		padding: 5.5vw 0;
	}

	.sec_pad_60 {
		padding: 8.5vw 0;
	}

	.sec_pad_90_b {
		padding-bottom: 10vw;
	}

	.mgn_t_75 {
		margin-top: 9vw
	}

	.mgn_t_70 {
		margin-top: 8.5vw
	}

	.sec_pad_100 {
		padding: 11vw 0;
	}

	.sec_pad_120_b {
		padding-bottom: 12vw;
	}

	.sec_pad_130_b {
		padding-bottom: 12vw;
	}

	.sp_txs_36 {
		font-size: 4.8vw
	}

	.sp_lh_1_6 {
		line-height: 1.6 !important
	}

	.sp_lh_1_5 {
		line-height: 1.5 !important
	}

	.sp_lh_1_4 {
		line-height: 1.4 !important
	}

	.gap_15 {
		column-gap: 15px;
	}

	/*qqqqqqqq***************************************************************/
	.top_leade {
		padding: 10vw 0
	}

	.top_leade .doc_sepa .px {
		width: 100%;
		z-index: 10;
		position: relative
	}

	.top_leade .doc_sepa .tx {
		z-index: 1;
		width: 100%;
		padding: 5vw 0.8rem 6vw;
		position: relative
	}

	.top_leade .doc_sepa .tx aside {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 150%;
		z-index: 0;
		background: #FFF;
	}

	.top_leade .doc_sepa .tx .ttl {
		letter-spacing: .0em;
		line-height: 1.8;
		font-feature-settings: "palt";
	}

	.sp_nam_wrap {
		width: 69%;
		margin: 0 auto 6vw;
	}

	.supp.txs_14 {
		font-size: 3.55vw;
	}

	.nams {
		column-gap: 4vw;
		margin-top: 0;
	}

	.nams .nam {
		position: relative;
		width: 74px;
		padding: 4px 0;
		font-size: 4.24vw;
	}

	.nams .doc.txs_35 {
		letter-spacing: .2em;
		font-size: 7.6vw;
	}

	.nams .nam::after {
		display: none
	}

	.top_leade .box {
		padding: 5vw 4vw;
	}

	.top_leade .box header {
		padding: 3vw 0;
		background: #603813;
	}

	.top_leade .box li {
		margin-bottom: 3vw;
		font-weight: 900
	}

	.str_tx .in {
		line-height: 2;
		left: 0
	}

	.str_tx .in::before {
		left: -0.8rem;
	}

	.str_tx .in::after {
		right: -0.8rem;
	}

	.str_tx .in::before,
	.str_tx .in::after {
		width: 0.8rem;
		height: 1px;
	}

	.cv_btn_wrap .in {
		padding: 4vw 0;
		column-gap: 2%;
	}

	.cv_btn_wrap .in img {
		max-width: inherit;
		width: 10.67vw
	}

	.cv_btn_wrap .in .tx {
		font-size: 5.2vw
	}

	.cv_btn_wrap .in .tx span {
		font-size: 5.6vw
	}

	.concerns {
		padding: 10vw 0 52vw;
		overflow: hidden
	}

	.concerns .ttl {
		width: 85%;
		margin-inline: auto;
	}

	.concerns .box {
		position: relative;
		padding: 5vw 4vw;
	}

	.list_type_chk li {
		padding-left: 8vw;
		position: relative;
		font-size: 4.13vw;
	}

	.concerns .box .obj {
		display: none
	}

	.concerns .obj.sp {
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		width: 50vw;
		clip-path: polygon(100% 0, 100% 88%, 50% 100%, 0 88%, 0 0);
	}

	.solution .float_tx {
		width: 38.4vw;
		top: -3.3vw;
		padding: 3vw 0;
		line-height: 1;
		border-radius: 36px;
		background: var(--clr_base);
		box-shadow: 2px 2px 3px 0px rgba(2, 2, 2, 0.19);
	}

	.solution .sp_sol_px {
		padding-left: 5vw;
		margin-top: 12vw
	}

	.ttl_en {
		font-size: 12vw;
	}

	.whats .txs_33 {
		font-size: 6.13vw;
	}

	.whats .txs_47 {
		font-size: 8.89vw
	}

	.whats .txs_31 {
		font-size: 5.83vw
	}

	.whats .sepas {
		padding: 7vw 0 0
	}

	.whats .sepas::before {
		width: 100%;
		height: min(47.64vw, 705px);
		min-height: 100%;
		border-radius: 0 40px 0 0;
		background: url(../img/whats_sepas.webp) no-repeat center / cover;
		z-index: 0;
	}

	.whats .sepas .px {
		width: 100%;
		position: relative;
		z-index: 10
	}

	.whats .sepas .px img {
		display: block;
		width: 80%;
		margin-inline: auto;
	}

	.whats .sepas .tx {
		position: relative;
		z-index: 1;
		width: 100%;
		margin-top: -7vw;
		padding: 12vw 3vw 6vw;
	}

	.whats .sepas .tx .in_ttl {
		font-size: 6.13vw;
		text-align: center
	}

	.whats .sepas .tx .in_ttl span {
		padding-bottom: 2px;
		border-bottom: 1px solid var(--clr_base);
	}

	.whats .sepas .tx .chks {
		margin-top: 6vw;
		padding: 3vw;
	}

	.whats .sepas .tx .chks li {
		font-size: 4.27vw;
		padding-left: 6.3vw;
	}

	.whats .sepas .tx .chks li::after {
		top: 1.8vw;
	}

	.feature {
		margin-top: 10vw
	}

	.feature .ttl_img {
		max-width: inherit;
		width: 70%;
	}

	.feature {
		background-color: var(--clr_l_brown);
		padding-bottom: 5vw;
		clip-path: polygon(100% 0, 100% 96%, 50% 100%, 0 96%, 0 0);
	}

	.feature .stage {
		padding: 5vw 0 20vw;
		clip-path: polygon(100% 0, 100% 96%, 50% 100%, 0 96%, 0 0);
	}

	.feature .inn .block {
		padding: 0
	}

	.feature .block .tx header {
		position: relative;
		display: block;
	}

	.feature .block .tx header::before,
	.feature .block .tx header::after {
		width: 8.4vw;
	}

	.feature .block .tx header::before {
		left: 0
	}

	.feature .block .tx header::after {
		right: 0
	}

	.feature .block .tx header .in {
		align-items: center
	}

	.feature .block .tx header .num {
		font-size: 9.67vw
	}

	.feature .block .tx header .ttl {
		padding-top: unset;
		font-size: 5.47vw;
		line-height: 1.35;
		text-align: left
	}

	.feature .block .tx header+.sp {
		margin: 6.5vw 0
	}

	.feature .block .tx .msg {
		text-align: left;
		margin-top: 0;
		padding-right: 0.8rem;
		padding-left: 0.8rem;
		font-size: 3.73vw;
		font-feature-settings: "palt";
		letter-spacing: .075em;
		line-height: 1.7;
	}

	.feature .block .px {
		display: none
	}

	.feature .block_wrap.mgn_t_100 {
		margin-top: 0
	}

	.comp .above {
		padding-top: 0
	}

	.comp .above .comp_ttl_sp {
		margin-top: -6vw;
		width: 70%;
		margin-inline: auto;
	}

	.comp .above .comp_arrw_sp {
		width: 2.32vw;
		margin-inline: auto;
	}

	.comp .above .obj {
		right: 0%;
		width: 50vw;
		z-index: 0
	}

	.comp_tbl header .in .ttl {
		letter-spacing: 0
	}

	.comp_tbl .row.top .cell {
		align-items: flex-start
	}

	.comp_tbl .row.top .cell p {
		margin-top: 2%;
		font-size: 3.2vw;
		letter-spacing: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.comp_tbl .row .cell p {
		font-size: 3.73vw;
		font-weight: 600;
		text-align: center;
		letter-spacing: .0em;
		font-feature-settings: "palt";
	}

	.choice .obj {
		width: 2.33vw;
		top: -5vw
	}

	.choice .ttl {
		font-size: 6.4vw
	}

	.choice .sepa .tx {
		width: 100%;
		padding: 4.5vw 0 0;
		letter-spacing: .08em;
		font-size: 3.93vw
	}

	.choice .sepa .px {
		width: 100%;
		margin-top: 8vw
	}

	.five_pt .ttl {
		width: 70%;
		margin-inline: auto;
	}

	.five_pt .mgn_t_75 {
		margin-top: 13vw
	}

	.five_pt .block {
		padding: 0;
		position: relative
	}

	.five_pt .block.mgn_t_40 {
		margin-top: 13vw;
	}

	.five_pt .block .inn {
		border: none;
		padding: 8vw 4vw 5vw;
	}

	.five_pt .block .inn .tx {
		width: 100%;
		padding: 0;
	}

	.five_pt .block .inn .tx .num {
		width: 24vw;
		position: absolute;
		top: -4.5vw;
		left: 0;
		right: 0;
		margin: auto;
		max-width: inherit;
		padding: 3.5px 0;
		font-size: 5.07vw;
		letter-spacing: .0em;
	}

	.five_pt .block .inn .tx .num span {
		font-size: 5.87vw
	}

	.five_pt .block .inn .tx .mn_ttl {
		margin: 0;
		padding: 4vw 1%;
		font-size: 4vw;
		color: #FFF;
		text-align: center;
		line-height: 1.45;
		font-feature-settings: "palt";
		background: var(--clr_brown_2)
	}

	.gallery .ttl span::before,
	.gallery .ttl span::after {
		width: 12.37vw;
		height: 1.92vw;
	}

	.gallery .ttl span::before {
		left: -15vw
	}

	.gallery .ttl span::after {
		right: -15vw
	}

	.gallery.sec_pad_100 {
		padding-bottom: 0
	}

	.case .ttl {
		margin-top: 0;
		font-size: 6.51vw
	}

	.case .block {
		position: relative;
		padding: 8vw 4vw 5vw;
	}

	.case .block .num {
		width: 30vw;
		position: absolute;
		top: -4.5vw;
		left: 0;
		right: 0;
		margin: auto;
		max-width: inherit;
		margin-inline: auto;
		padding: 2.4vw 0;
		font-size: 5.47vw;
	}

	.case .block .catch {
		margin: 4% 0 6%;
		font-size: 5.07vw;
		letter-spacing: .05em;
	}

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

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

	.case .block .sepa .item:first-child::after {
		top: unset;
		bottom: -8vw;
		right: 0;
		left: 0;
		width: 4.24vw;
		height: 8.37vw;
		transform: rotate(90deg);
	}

	.case .block .dtl {
		margin-top: 6.5vw
	}

	.case .block .dtl .row {
		column-gap: 3.6vw
	}

	.case .block .dtl .row dt {
		width: 30vw;
		padding: 2vw 0;
		font-size: 3.73vw;
	}

	.case .block .dtl .row dd {
		width: calc(100% - (30vw + 3.6vw));
		font-size: 3.73vw;
	}

	.case .block.mgn_t_60 {
		margin-top: 14vw;
	}

	.infos.mgn_t_20 {
		margin-top: 0;
	}

	.infos_ttl {
		width: 65%;
		margin: 0 auto
	}

	.flow .ttl.txs_48 {
		font-size: 6.4vw
	}

	.flow .ttl .num {
		width: 10vw;
	}

	.flow .block aside {
		display: none
	}

	.flow .block {
		width: calc(100% - 1.6rem);
		margin-left: auto;
		margin-right: auto;
		padding: 6vw 4vw 8vw
	}

	.flow .block .px {
		width: 100%;
		margin-bottom: 5vw
	}

	.flow .block .tx {
		width: 100%
	}

	.flow .block .tx .in_ttl .num {
		font-size: 9.67vw
	}

	.flow .block .tx .in_ttl .mn {
		margin: 0 2%;
		font-size: 5.47vw
	}

	.flow .block_wrap.no2 .tx .in_ttl .mn {
		margin: 0 2%;
		font-size: 5.47vw;
		letter-spacing: .0em;
		font-feature-settings: "palt";
	}

	.flow .block_wrap .no2 .txs_24 {
		font-size: 4.13vw !important;
	}

	.flow .block .tx .in_ttl .bar {
		width: 14vw;
	}

	.flow .block .tx .msg {
		margin-top: 1vw;
		font-size: 3.73vw;
		font-weight: 500;
		letter-spacing: 0;
		line-height: 1.8;
	}

	.flow .block::after {
		bottom: -8vw;
		width: 2.33vw;
		height: 13.87vw
	}

	.flow .block_wrap {
		padding: 6vw 0 10vw;
		background: linear-gradient(0deg, rgba(230, 226, 219, 1) 0%, rgba(232, 228, 221, 1) 15%, rgba(249, 248, 247, .15) 100%);
	}

	.fee .sepax .txs_21,
	.fee .sepax .txs_25 {
		font-size: 3.73vw
	}

	.fee .sepax .txs_44 {
		font-size: 6.08vw
	}

	.fee .sepax .txs_18 {
		font-size: 2.53vw
	}

	.fee .sepax .txs_35 {
		font-size: 4.8vw
	}

	.greet .stage .px {
		padding: 0;
		width: 100%;
		margin: 0 auto;
		background: none;
	}

	.greet .stage .px img {
		width: 60%;
		margin: 0 auto;
	}

	.greet .stage .px .sp_nam_wrap {
		margin-top: 6vw
	}

	.greet .stage .tx {
		width: 100%;
		font-size: 3.73vw;
		font-weight: 600;
		padding: 0 4vw;
		line-height: 2;
		background: none;
		color: var(--clr_base)
	}

	.faq .q_wrap .in .en {
		width: 11.2vw;
	}

	.faq .q_wrap .in .en img {
		width: 50%;
	}

	.faq .q_wrap .in .mn {
		width: calc(100% - 11.2vw);
		padding: 4vw 40px 4vw 4vw;
		position: relative;
		font-size: 4.4vw;
	}

	.faq .a_wrap .in p {
		margin-top: 2%;
		padding-left: 4.5vw;
		font-size: 3.73vw;
	}

	.gallery.end {
		padding: 10vw 0.8rem
	}

	.contact {
		margin: 10vw 0;
		padding: 6vw 0.8rem 10vw;
		background: #f4f2ef;
		border-radius: 10.67vw 0 0
	}

	.contact .sepax {
		padding: 4vw;
		background: #FFF;
		box-shadow: 0px 0px 4px 0px rgba(2, 2, 2, 0.11);
	}

	.contact .cv_btn_wrap.tels {
		margin-top: 5.5vw
	}

	.contact .cv_btn_wrap.tels .txs_30 {
		font-size: 4.11vw
	}

	.contact .cv_btn_wrap.tels .in {
		padding: 4vw 0;
	}

	.contact .cv_btn_wrap.tels .in img {
		width: 80%
	}

	footer .stage {
		padding-top: 0;
		background: none
	}

	footer .stage .sp_logo {
		width: 46%;
		margin-inline: auto;
	}

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

	footer .stage .sepa .txs {
		padding-right: 0%;
	}

	footer .stage .sepa .txs .ft_last_tel {
		width: 80%;
		margin: 10vw auto
	}

	footer .stage .sepa .mps {
		margin-top: 6vw
	}

	#page-top {
		bottom: 55px;
		right: -6px;
		z-index: 9999;
		width: 50px;
		height: 50px;
	}



























	@media (orientation: landscape) {
		header.general .logo img {
			max-width: 30px
		}

		header.general .catch .sp_catch_in {
			max-width: 100px;
		}
	}
}

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

.fixed-footer__btn--web {
	background: #a17d26;
	/* 好きな色に変更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%;
	}

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

	html {
		scroll-behavior: smooth;
	}
}

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

	body {
		padding-bottom: 0;
	}
}

.case .item a {
	position: absolute;
	font-weight: bold;
	top: 20px;
	left: 20px;
	font-size: 2rem;
	font-family: serif;
}

@media (max-width: 767px) {
	.case .item a {
		top: 10px;
		left: 10px;
		font-size: 1.6rem;
	}
}


.row:after {
	content: "";
	display: table;
	clear: both
}

.tac {
	text-align: center
}





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



table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.8;
}

::-webkit-input-placeholder {
	color: #ccc;
}

::-moz-placeholder {
	color: #ccc;
}

@media screen and (min-width: 769px),
print {}

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


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


}


h2,
h3 {
	font-weight: normal;
	line-height: 1.4;
}

.col-FFFFFF {
	color: #fff;
}

.col-283E67 {
	color: #283E67;
}

.col-FDE000 {
	color: #FDE000;
}



.bg-283E67 {
	background-color: #283E67 !important;
}

.bg-617496 {
	background-color: #617496 !important;
}

.bg_f2f2f2 {
	background-color: #f2f2f2 !important;
}

.bdrR20 {
	border-radius: 20px;
	overflow: hidden;
}

.wm {
	position: relative;
	margin: 0 50px;
}

@media screen and (min-width: 769px),
print {

	.wd780 {
		max-width: 780px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 768px) {
	.wm {
		position: relative;
		margin: 0;
	}
}

.pdL {
	padding: 50px 50px 0;
	font-family: shippori-mincho, sans-serif;
}

@media screen and (max-width: 768px) {
	.pdL {
		padding: 20px;
	}
}

.marg-50 {
	margin-top: min(8.45vw, 80px) !important;
}

.sp_column2 {}

@media screen and (max-width: 768px) {
	.sp_column2 {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 10px;
	}

	.sp_column2>* {
		width: calc(50% - 5px);
		margin-top: 0;
		flex-grow: 1;
	}

	/*.sp_column2 > *:nth-child(2) ~ * {
		margin-top: 24px;
	}*/
}

/* column2
============================================================================================================ */
.column2 {}

@media screen and (min-width: 769px),
print {
	.column2 {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 20px;
	}

	.column2:after {
		/* 最終段が半端のときの対策 */
		content: '';
		display: block;
		order: 99;
	}

	.column2>*,
	.column2:after {
		width: calc(45%);
		flex-grow: 1;
	}
}

@media screen and (max-width: 768px) {
	.column2:not(.sp_column2)>*+* {
		margin-top: 20px;
	}
}



@media screen and (min-width: 769px),
print {}

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


/*========= レイアウトのためのCSS ===============*/

.bgextend {
	/*	width: 220px;
	padding: 20px;
	margin:0 20px 20px 0;*/
	box-sizing: border-box;
}

/*========= 背景色の動きのCSS ===============*/
/*背景色が伸びて出現 共通*/
.bgextend {
	animation-name: bgextendAnimeBase;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	position: relative;
	overflow: hidden;
	/*　はみ出た色要素を隠す　*/
	opacity: 0;
}

@keyframes bgextendAnimeBase {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}




.hd_leaf {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1em;
	margin-bottom: 1em;
	color: #B09035;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	font-family: shippori-mincho, sans-serif;
}

.hd_leaf:before,
.hd_leaf:after {
	content: '';
	display: block;
	width: 2em;
	height: 4em;
}

.hd_leaf:before {
	background: url("https://takemasa-dc.jp/wp_new/wp-content/themes/tekemasa-dc/assets/img/index/2512/hd_leaf_l.svg") no-repeat center center / contain;
}

.hd_leaf:after {
	background: url("https://takemasa-dc.jp/wp_new/wp-content/themes/tekemasa-dc/assets/img/index/2512/hd_leaf_r.svg") no-repeat center center / contain;
}

.flex-record {
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.flex-record>div:nth-child(1) {
	order: 1;
}

.flex-record>div:nth-child(2) {
	order: 3;
}

.flex-record dl {
	display: flex;
	align-items: center;
	gap: 1em;
	padding: 20px;
}

.flex-record dl dt {
	font-weight: bold;
	line-height: 1.2;
}

.flex-record dl dd {
	line-height: 1;
}

.flex-record dl dd .num {
	font-weight: bold;
	font-size: 3em;
}

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

	.flex-record {
		flex-direction: column;
	}

	.flex-record:before {
		content: '';
		display: block;
		width: 100%;
		height: 1px;
		background: #fff;
		align-self: stretch;
		order: 2;
	}
}

@media screen and (min-width: 769px) {
	.flex-record:before {
		content: '';
		display: block;
		width: 1px;
		background: #fff;
		align-self: stretch;
		order: 2;
	}
}


.tbl-index_record {
	width: 100%;
	margin: 50px 0;
	outline: #617496 solid 2px;
	outline-offset: -2px;
	border-radius: 20px;
	overflow: hidden;
	background: #fff;
}

.tbl-index_record th,
.tbl-index_record td {
	border-width: 0;
	padding: 10px;
	text-align: center;
}

.tbl-index_record thead th {
	color: #fff;
	background: #617496;
}

.tbl-index_record thead th:not(:first-child) {
	border-left: #fff solid 1px;
}


.tbl-index_record tbody th,
.tbl-index_record tbody td {
	border-top: #617496 solid 1px;
	text-align: center;
}

.tbl-index_record tbody th {
	color: #617496;
}

.tbl-index_record tbody td {
	border-left: #617496 solid 1px;
}


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

	.tbl-index_record thead th {
		font-size: 1.2em;
	}

	.tbl-index_record tbody th {
		font-size: 2em;
	}

	.tbl-index_record tbody td {
		font-size: 1.2em;
	}
}