@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&display=swap');
html, body {
	line-height: 1.5;
	font-size: 16px;	
	font-weight: 500;
	letter-spacing: .04em
}
body{
	position: relative;
	font-size: 1rem;
	font-family: "Meiryo", "Hiragino Sans", "Arial", 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_inl_b{display: inline-block!important}
.marker_tp_1 {background:rgba(0, 0, 0, 0) linear-gradient(transparent 65%, #f5f20b 0%) repeat scroll 0 0; }
.bg_clr_wht {
	background-color: var(--clr_wht)
}
.bg_clr_brown {
	background-color: var(--clr_brown)
}
.bg_clr_blk {
	background-color: var(--clr_blk)}
.bg_sand {
	background: url("../img/topics_bg.webp");
}
.bg_gld_1 {
	background: var(--clr_gld_1);
}
.bg_glay2 {
	background: var(--clr_glay2);
}
/*-------------------------------------
色設定
--------------------------------------*/
:root {
    --clr_wht: #FFF;
    --clr_blk: #1a1a1a;	
    --clr_d_glay: #2f303e;	
    --clr_glay: #cec8c6;	
    --clr_glay2: #efecec;	
    --clr_base: #5e4843;
    --clr_brown: #867072;
    --clr_l_brown: #998675;
    --clr_green: #1b7540;
    --clr_gld_1: linear-gradient(90deg,rgba(134, 112, 114, 1) 0%, rgba(94, 73, 66, 1) 38%)
	
}
.fc_wht {
	color: var(--clr_wht)
}
.fc_brown {
	color: var(--clr_brown)
}
.fc_glay {
	color: var(--clr_glay)
}
.fc_d_glay {
	color: var(--clr_d_glay)
}
.fc_blk {
	color: var(--clr_blk)
}
.ff_czl {
	font-family: "Cinzel", serif;
} 
.ff_min {
	font-family: yu-mincho-pr6n, sans-serif;
} 
 .txs_12 {
	font-size: 12px;	
}
.txs_13 {
	font-size: 13px;	
}
.txs_14 {
	font-size: 14px;	
}
.txs_15 {
	font-size: clamp(13px, 0.78vw, 15px);	
}
.txs_16 {
	font-size: clamp(14px, 0.833vw, 16px);	
}
.txs_17 {
	font-size: clamp(14px, 0.88vw, 17px);	
}
.txs_18 {
	font-size: clamp(15px, 0.93vw, 18px);	
}
.txs_19 {
	font-size: clamp(15px, 0.98vw, 19px);	
}
.txs_20 {
	font-size: clamp(16px, 1.04vw, 20px);	
}
.txs_21 {
	font-size: clamp(13px, 1.09vw, 21px);	
}
.txs_22 {
	font-size: clamp(18px, 1.15vw, 22px);
}
.txs_23 {
	font-size: clamp(18px, 1.2vw, 23px);
}
.txs_24 {
	font-size: clamp(17px, 1.25vw, 24px)!important;
}
.txs_25 {
	font-size: clamp(18px, 1.3vw, 25px);
}
.txs_26 {
	font-size: clamp(18px, 1.35vw, 26px);
}
.txs_27 {
	font-size: clamp(20px, 1.41vw, 27px);
}
.txs_28 {
	font-size: clamp(18px, 1.4583vw, 28px)!important;
}
.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)!important;	
}
.txs_33 {
	font-size: clamp(22px, 1.71vw, 33px)!important;	
}
.txs_34 {
	font-size: clamp(24px, 1.77vw, 34px);	
}
.txs_35 {
	font-size: clamp(16px, 1.82vw, 35px);	
}
.txs_36 {
	font-size: clamp(26px, 1.84vw, 36px);	
}
.txs_37 {
	font-size: clamp(18px, 1.93vw, 37px);	
}
.txs_38 {
	font-size: clamp(26px, 1.97vw, 38px);	
}
.txs_39 {
	font-size: clamp(28px, 2.03vw, 39px);	
}
.txs_40 {
	font-size: clamp(30px, 2.08vw, 40px);	
}
.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)!important;	
}
.txs_45 {
	font-size: clamp(20px, 2.34vw, 45px);	
}
.txs_46 {
	font-size: clamp(20px, 2.39vw, 46px);	
}
.txs_47 {
	font-size: clamp(20px, 2.45vw, 47px);	
}
.txs_48 {
	font-size: clamp(36px, 2.5vw, 48px);	
}
.txs_49 {
	font-size: clamp(30px, 2.55vw, 49px);	
}
.txs_50 {
	font-size: clamp(30px, 2.6vw, 50px);	
}
.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_58 {
	font-size: clamp(36px, 3.02vw, 58px);	
}
.txs_60 {
	font-size: clamp(36px, 3.12vw, 60px);	
}
.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_67 {
	font-size: clamp(36px, 3.49vw, 67px);	
}
.txs_70 {
	font-size: clamp(36px, 3.65vw, 70px);	
}
.txs_72 {
	font-size: clamp(36px, 3.75vw, 72px);	
}
.txs_77 {
	font-size: clamp(36px, 4.01vw, 77px);	
}
.txs_80 {
	font-size: clamp(26px, 4.17vw, 80px);	
}
.txs_81 {
	font-size: clamp(26px, 4.22vw, 81px);	
}
.txs_83 {
	font-size: clamp(26px, 4.32vw, 83px);	
}
.txs_88 {
	font-size: clamp(26px, 4.58vw, 88px);	
}
.txs_95 {
	font-size: clamp(26px, 4.95vw, 95px);	
}
.txs_105 {
	font-size: clamp(36px, 5.47vw, 105px);	
}
.tx_sdw_1{
text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
}
.ls_ng_100 {
	letter-spacing: -.1em;
}
.ls_ng_55 {
	letter-spacing: -.055em!important;
}
.ls_ng_25 {
	letter-spacing: -.055em!important;
}
.ls_ng_15 {
	letter-spacing: -.015em!important
}
.ls_0 {
	letter-spacing: 0!important
}
.ls_25 {
	letter-spacing: .025em
}
.ls_35 {
	letter-spacing: .035em
}
.ls_5 {

	letter-spacing: .05em!important
}
.ls_75 {
	letter-spacing: .075em!important;
}
.ls_80 {
	letter-spacing: .08em
}
.ls_100 {
	letter-spacing: .1em!important
}
.ls_125 {
	letter-spacing: .125em
}
.ls_150 {
	letter-spacing: .15em
}
.ls_200 {
	letter-spacing: .2em
}
.fw_400 {
	font-weight: 400!important
}
.fw_500 {
	font-weight: 500
}
.fw_550 {
	font-weight: 550
}
.fw_600 {
	font-weight: 600!important
}
.fw_700 {
	font-weight: 700!important
}
.fw_800 {
	font-weight: 800!important
}
.fw_900 {
	font-weight: 900!important
}
.lh_1 {
	line-height: 1!important
}
.lh_1_1 {
	line-height: 1.1!important
}
.lh_1_2 {
	line-height: 1.2!important
}
.lh_1_3 {
	line-height: 1.3!important
}
.lh_1_4 {
	line-height: 1.4!important
}
.lh_1_6 {
	line-height: 1.6!important
}
.lh_1_7 {
	line-height: 1.7
}
.lh_1_8 {
	line-height: 1.8
}
.lh_2 {
	line-height: 2
}
.lh_2_1 {
	line-height: 2.1
}
.lh_2_2 {
	line-height: 2.2
}
.lh_2_3 {
	line-height: 2.3
}
.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_stat{align-items: flex-start}
.an_end{align-items: flex-end!important}
.an_bl{align-items: baseline}
.an_cent{align-items: center}
.block_link{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100
}
@media (hover: hover) {
.hover{
	transition-property: all;
  	transition: 0.15s linear;
}
.hover:hover{
	opacity: 0.50;
}
.brightness {
  transition: filter 0.3s ease;
  filter: brightness(
    1
  ); 
}
.brightness:hover {
  filter: brightness(1.2);
}
}
.pc{display: block}
.sp{display: none!important}
.tab{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_w60{width: 60%; height: auto}
.img_w50{width: 50%; height: auto}
.img_w45{width: 45%; 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 2%;
	display: inline;
	}
.alignleft {
	margin: 0 2% 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_1200 {
	max-width: 1200px;
	margin-inline: auto;
}
/*-------------------------------------
リスト
--------------------------------------*/
.list_type_num li,
.list_type_1 li {
	position: relative;
	padding-left: 16px;
	margin-bottom: 1%;
}
.list_type_num li:last-child,
.list_type_1 li:last-child,
.list_type_1.nomb li {
	margin-bottom: 0;
}
.list_type_1 li::after {
    content: "・";  
	position: absolute;
	top: 0;
	left: 0;
}
.list_type_2 li {
	position: relative;
	padding-left: 17px;
	margin-bottom: 0;
}
.list_type_2 li::after {
    content: "※";  
	position: absolute;
	top: 0;
	left: 0;	
}
.list_type_num {
	counter-reset: number 0;
}
.list_type_num li {
	position: relative;
}
.list_type_num li::before {
	position: absolute;
	top: 0;
	left: 0;	
  counter-increment: number 1;
  content: counter(number) ".";
}

/*-------------------------------------
ボックス
--------------------------------------*/
.bx_tp_1 {
	display: flex;
	border-radius: 10px;
	border: 1px solid var(--clr_d_glay);
	overflow: hidden
}
.bx_tp_1 .hd {
	width: 18.68%;
	padding: min(2.76vw, 53px) 2%;
	background: var(--clr_d_glay);
	text-align: center;
	color: #FFF;
	letter-spacing: .1em
}
.bx_tp_1 .mn {
	width: calc(100% - 18.68%);
	display: flex;
	align-items: center;
	column-gap: 10px;
	padding: 0 5%;
	justify-content: space-between;
	background: var(--clr_glay2)
}
.bx_tp_1 .mn .btn_type_1 {
	width: 100%;
}
.bx_tp_2 {
	padding: 35px;
	border-radius: 10px;
}
.bx_tp_2 .hd {
	width: 27%;
}
.bx_tp_2 .dtl {
	width: calc(100% - 27%);
}
.bx_tp_2 .dtl .inn {
	padding-left: 3%;
	border-left: 1px solid var(--clr_brown)
}
.bx_tp_2 .dtl dl {
	display: flex;
	flex-wrap: wrap;
}
.bx_tp_2 .dtl dl .cell {
	margin-bottom: 5px
}
.bx_tp_2 .dtl dl.no1 dt {
	width: 98px;
}
.bx_tp_2 .dtl dl.no1 dd {
	width: calc(100% - 98px);
}
/*-------------------------------------
ボタン
--------------------------------------*/
.btn_type_1 {
	position: relative;
	padding: min(0.94vw, 18px) 8px;	
	max-width: 251px;
	min-width: 190px;
	display: flex;
	align-items: center;
	/*column-gap: min(1.35vw, 26px);*/
	border: 1px solid var(--clr_d_glay);
	border-radius: 50px;
	background: #FFF;
	transition: all 0.25s 0s ease;
}
.contact .infos .btn_type_1 {
	display: block
}
.btn_type_1.ver2 {
	max-width: 351px;
	min-width: 190px;
}
.btn_type_1 aside {
	position: absolute;
	top: 0;
	bottom:0;
	left: 8px;
	margin: auto;
	width: min(2.19vw, 42px);
	height: min(2.19vw, 42px);
	min-width: 22px;
	min-height: 22px;
	border-radius: 50%;
	background: var(--clr_d_glay);
}
.btn_type_1.green aside {
	background: var(--clr_green);
}
.btn_type_1 aside::before {
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	left: 0;
	right: 0;
	width: min(0.83vw, 16px);
	height: min(0.73vw, 14px);
	min-width: 13px;
	min-height: 11px;	
	margin: auto;
	background: url("../img/btn_tp1_arrw.webp") no-repeat center / cover
}
.btn_type_1 p {
	width: 100%;
	padding-left: 2%;
	text-align: center;
	font-size: 14px;	
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.35;
	font-feature-settings: "palt";
}
.btn_type_1:hover {
	background: var(--clr_d_glay);
	color: var(--clr_glay)
}
.btn_type_1.green:hover {
	background: var(--clr_green);
}
.btn_type_2, .btn_type_3 {
	position: relative;
	padding: 8px 0 8px 16px;	
    background: linear-gradient(90deg,rgba(134, 112, 114, 1) 0%, rgba(134, 112, 114, 1) 38%);
	border-radius: 40px;
}
.btn_type_2::before {
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	left: 16px;
	width: 16px;
	height: 14px;
	margin: auto;
	background: url("../img/list_arrw_wht.webp") no-repeat center / cover;
	z-index: 100
}
.btn_type_2 p {
	position: relative;
	padding-left: 16px;
	z-index: 10
}
.btn_type_2 aside {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;	
	border-radius: 40px;
	z-index: 0;
	transition: all 0.25s 0s ease;	
	opacity: 0;
    background: linear-gradient(90deg,rgba(134, 112, 114, 1) 0%, rgba(94, 73, 66, 1) 38%);
}
.btn_type_2:hover aside {
	opacity: 1;
}
.btn_type_2 p {
	text-align: center
}
.btn_type_3 {
	color: var(--clr_base);
	text-align: center;
    background: var(--clr_glay);
}
/*-------------------------------------
見出し
--------------------------------------*/
.h_type_1 .en {
	font-family: "Cinzel", serif;
	font-size: clamp(22px, 3.13vw, 60px);	
	font-weight: 400;
	letter-spacing: .05em;
	font-feature-settings: "palt";
	line-height: 1.2
}
.h_type_1 .ttl {
	font-family: yu-mincho-pr6n, sans-serif;	
	font-size: clamp(15px, 0.98vw, 19px);	
	font-weight: 400;
	letter-spacing: .05em;
	font-feature-settings: "palt";
}
.h_type_2 {
	padding: min(2.22vw, 32px) min(4.17vw, 60px);
	border-radius: 10px;
	background: #FFF;
	font-family: yu-mincho-pr6n, sans-serif;
	font-size: clamp(17px, 1.67vw, 24px);	
	font-weight: 600;
	color: var(--clr_d_glay);
	letter-spacing: .1em;
	font-feature-settings: "palt";
}
.h_type_2.ver_brown {
	background: var(--clr_brown);
	color: #FFF
}
.h_type_3 {
	padding: min(1.74vw, 25px) 2%;
	border-radius: 10px;
	background: var(--clr_brown);
	font-size: clamp(17px, 1.25vw, 24px)!important;
	font-weight: 500;
	text-align: center;
	color: var(--clr_wht);
	letter-spacing: .1em;
	font-feature-settings: "palt";
}
.h_type_4 {
	position: relative;
	font-size: clamp(17px, 1.25vw, 24px);
    font-weight: 500;
    letter-spacing: .1em;
    color: var(--clr_blk);
	padding-left: 61px;
}
.h_type_4::before {
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	left: 0;
	width: 41px;
	height: 41px;
	margin: auto;
	background: url("../img/ico_logo.webp") 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_150 {
	padding: min(7.81vw, 150px) 0;
}
.sec_pad_160 {
	padding: min(8.33vw, 160px) 0;
}
.sec_pad_160_b{
	padding-bottom: min(8.33vw, 160px);
}
.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_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_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_100{
	padding: min(5.2vw, 100px) 0;
}
.sec_pad_100_t{
	padding-top: min(5.2vw, 100px);
}
.sec_pad_100_b{
	padding-bottom: min(5.2vw, 100px);
}
.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_80{
	padding: min(4.16vw, 80px) 0;
}
.sec_pad_80_t{
	padding-top: min(4.16vw, 80px);
}
.sec_pad_80_b{
	padding-bottom: min(4.16vw, 80px);
}
.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_60{
	padding: min(3.125vw, 60px) 0;
}
.sec_pad_60_t{
	padding-top: min(3.125vw, 60px);
}
.sec_pad_60_b{
	padding-bottom: min(3.125vw, 60px);
}
.sec_pad_40_t{
	padding-top: min(2.08vw, 40px)
}
.sec_pad_40_b{
	padding-bottom: min(2.08vw, 40px)
}
.sec_pad_40{
	padding: min(2.08vw, 40px) 0;
}
.sec_pad_30{
	padding: min(1.56vw, 30px) 0;
}
.sec_pad_30_t{
	padding-top: min(1.56vw, 30px);
}
.sec_pad_50{
	padding: min(2.6vw, 50px) 0;
}
.sec_pad_50_t{
	padding-top: min(2.6vw, 50px);
}
.sec_pad_50_b{
	padding-bottom: min(2.6vw, 50px);
}
.mgn_auto {
	margin-inline: auto!important;	
}
.mgn_t_5 {
	margin-top: 5px
}
.mgn_t_10 {
	margin-top: 10px
}
.mgn_t_15 {
	margin-top: 15px
}
.mgn_t_17 {
	margin-top: min(0.8854166666666666vw, 17px)
}
.mgn_t_20 {
	margin-top: min(1.0416666666666665vw, 20px)
}
.mgn_t_25 {
	margin-top: min(1.3vw, 25px)
}
.mgn_t_30 {
	margin-top: min(1.5625vw, 30px)
}
.gap_30 {
	column-gap: min(1.5625vw, 30px)
}
.mgn_t_35 {
	margin-top: min(1.82vw, 35px)
}
.mgn_t_40 {
	margin-top: min(2.08333333vw, 40px)
}
.mgn_t_45 {
	margin-top: min(2.34vw, 45px)
}

.mgn_t_50 {
	margin-top: min(2.6041vw, 50px)
}
.gap_50 {
	column-gap: min(2.6041vw, 50px)
}
.mgn_t_55 {
	margin-top: min(2.86vw, 55px)
}
.mgn_t_60 {
	margin-top: min(3.125vw, 60px)
}
.gap_60 {
	column-gap: min(3.125vw, 60px)
}
.mgn_t_70 {
	margin-top: min(3.64vw, 70px)
}
.gap_70 {
	column-gap: min(3.64vw, 70px)
}
.mgn_t_80 {
	margin-top: min(4.16vw, 80px)
}
.gap_80 {
	column-gap: min(4.16vw, 80px)
}
.mgn_t_90 {
	margin-top: min(4.68vw, 90px)
}
.mgn_t_100 {
	margin-top: min(5.2vw, 100px)
}
.mgn_t_120 {
	margin-top: min(6.25vw, 120px)
}
.mgn_t_130 {
	margin-top: min(6.77vw, 130px)
}
.mgn_t_160 {
	margin-top: min(8.33vw, 160px)
}
/**/
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";}
.url_br{
	word-wrap: break-word;
    overflow-wrap: break-word;
}
img.rad {
	border-radius: 10px
}
.side_pad {
	padding-left: 288px;
}
.side_s_pad {
	padding-left: calc((100% - ((100vw / 10) * 7.5)) / 2)
}
.whole_80 {
	width: calc((100vw / 10) * 8);
}
.whole_75 {
	width: calc((100vw / 10) * 7.5);
}
/* ==========================================================================
   Author's custom styles
   ========================================================================== */
header#general {
	width: 288px;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background: rgba(255, 255, 255, .7);
}
header#general .inn {
	width: 100%;
	padding: 0 min(1.82vw, 35px);
}
header#general .inn .logo {
	z-index: 1
}
header#general .inn .logo img {
	display: block;
	width:min(19.38vw, 372px);
	height: auto;
	position: absolute;
	top: min(2.19vw, 42px);
	left: min(1.56vw, 30px);
	transition: all 0.25s 0s ease;
	z-index: 1
}
.on_scl header#general .inn .logo img {
	display: block;
	width:216px;
	height: auto;
	position: relative;
	top: unset;
	left: unset;
	margin-inline: auto;	
}

header#general .inn .list {
	position: relative;
	z-index: 10;
	padding-top: 82px;
}
.on_scl header#general .inn .list {
	padding-top: min(3.5vh, 40px);
}

header#general .inn .list li a {
	display: block;
	position: relative;
	padding: min(3vh, 24px) 0;
	border-bottom: 1px solid var(--clr_base);
	font-size: clamp(17px, 0.93vw, 18px);	
	font-weight: 500;
	text-align: center;
	letter-spacing: .0em;
	transition: color 0.25s 0s ease;
}
header#general .inn .list li:last-child a {
	border-bottom: none;
	padding-bottom: 0
}
header#general .inn .list li a:hover {
	color: var(--clr_brown);
}
header#general .inn .list li a::before {
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	left: 0;
	width: 15px;
	height: 14px;
	margin: auto;
	opacity: 0;
	transition: opacity 0.25s 0s ease;	
	background: url("../img/list_arrw.png") no-repeat center / cover
}
header#general .inn .list li a:hover::before {
	opacity: 1;
}
header#general .inn .btn_inq {
	cursor: pointer;
	display: block;
	padding: min(2.7vh, 19px) 1%;
	border-radius: 50px;
	background: var(--clr_d_glay);
	font-size: clamp(15px, 0.833vw, 16px);	
	font-weight: 500;
	color: var(--clr_glay);
	text-align: center;
	letter-spacing: .1em;
	line-height: 1.5;
	font-feature-settings: "palt";	
	transition: all 0.25s 0s ease;		
}
header#general .inn .btn_inq:hover {
	background: var(--clr_brown);
	color: var(--clr_glay2)
}
.snss {
	display: flex;
	justify-content: center;
	column-gap: 17px;
}
footer .snss {
	justify-content: flex-end;
}
.overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	display: none;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99999	
}
.modal {
	padding: 30px;
	width: 65%;
	max-width: 640px;
	border-radius: 10px;
	border: 1px solid var(--clr_glay);
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	display: none;
	z-index: 999999		
}
.modal-close__wrap {
	position: absolute;
	right: 1%;
	top: 1%;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(47,48,62,.5);
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;	
}
.modal-close {
	background: transparent;
	border-color: transparent;
	padding: 0;
	margin: 0;
	width: 20px;
	height: 3px;
	display: block;
	position: relative;
	cursor: pointer;		
}
.modal-close span {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 3px;
	background: white;
	display: block;
	cursor: pointer;		
}
.modal-close span:nth-child(1) {
	transform: rotate(45deg);
}
.modal-close span:nth-child(2) {
	transform: rotate(-45deg);
}
.overlay.open {
  display: block;
}
.modal.open {
  display: block;
}
.modal .inn {
	
}
.ico_row {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 8px
}
.ico_row p {
	font-size: 14px;	
	font-weight: 500;
	letter-spacing: .1em;
	font-feature-settings: "palt";
}
.tel_no {
	margin: 1.5% 0 4%;
	font-size: clamp(20px, 1.93vw, 37px);	
	font-weight: 500;
	color: var(--clr_d_glay);
	text-align: center;
	font-feature-settings: "palt";
}
#tab_fx_wrap {
	width: 60px;
	height: 100vh;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9999999;
	display: flex;
	align-items: center
}
.fv {
	position: relative;
	height: 95vh;
	display: flex;
	align-items: center
}
.fv::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	width: calc((100vw / 10) * 6);
	height: 70%;
	background: var(--clr_gld_1)
}
.fv .inn {
	margin-top: 2%;
	height: 88%;
	position: relative;
}
.fv img.kv {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	border-radius: 15px;
}
.fv .inn .in_wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center
}
.fv .inn .in_wrap .ttl {
	width: 100%;
	margin-left: 5%;
}
.fv .inn .in_wrap .ttl img {
	width: min(29.48vw, 566px);
	min-width: 360px;
	height: auto;
	display: block
}
.news_line {
	/*padding: 0 min(2.34vw, 45px)	*/
}
.news_line .inn {
	padding:  11px 0;	
	border-top: 1px solid var(--clr_d_glay);
	border-bottom: 1px solid var(--clr_d_glay);
	display: flex;
	align-items: center
}
.news_line .inn .item.no1 {
	width: 20.69%;
	position: relative;
	font-family: "Cinzel", serif;
	font-weight: 600;
	color: var(--clr_d_glay);
	text-align: center;
	letter-spacing: .0em;
}
.news_line .inn .item.no1::before,
.news_line .inn .item.no1::after{
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	width: 9px;
	height: 9px;
	margin: auto;
	background: var(--clr_d_glay);
	border-radius: 50%;
}
.news_line .inn .item.no1::before{
	left: 0;
}
.news_line .inn .item.no1::after{
	right: 0;
}
.news_line .inn .item.no2 {
	width: 13.4%;
	min-width: 100px;
	font-size: 14px;
	font-weight: 600;
	font-family: "Cinzel", serif;	
	color: var(--clr_brown);
	text-align: center;
	letter-spacing: .1em;
	word-break: break-all
}
.news_line .inn .item.no3 {
	width: 58.96%
}
.news_line .inn .item.no4 {
	
	display: flex;
	justify-content: flex-end;
	align-items: center;
	column-gap: 8px;
	position: relative;
}
.news_line .preparation {
	margin: 0 5%;
}
.tx_link_1 {
	transition: color 0.25s 0s ease;
}
.tx_link_1:hover {
	color: var(--clr_brown)
}
.tx_link_2 {
	transition: color 0.25s 0s ease;
}
.tx_link_2:hover {
	color: var(--clr_l_brown)
}

.topics {
	background: url("../img/topics_bg.webp");
}
.topics .inn {
	display: flex;
}
.topics .inn .hd {
	padding-top: min(4.17vw, 80px)
}
.topics .inn .hd .ttl {
	font-size: clamp(30px, 2.24vw, 43px);	
	font-weight: 400;
	color:var(--clr_d_glay);
	letter-spacing: .0em;
	font-feature-settings: "palt";
	margin-right: 80px
}
.topics .inn .splide .item {
	position: relative
}
.topics .splide__arrow {
    -ms-flex-align: center;
    align-items: center;
    background: #1b7540;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 1;
    padding: 0;
    position: absolute;
    top: unset;
    bottom: min(4.01vw, 77px);
    transform: translateY(0);
    width: min(2.08vw, 40px);
    height: min(2.08vw, 40px);	
    z-index: 1;
}
.topics .splide__arrow--next {
    right: unset;
    left: calc(min(7.81vw, 150px) * -1);	
}
.topics .splide__arrow--prev {
    left: calc(min(10.42vw, 200px) * -1);
}
.topics .splide__arrow svg {
    fill: #FFF;
    height: 1em;
    width: 1em;
}
.tp_au {
	overflow-x: hidden
}
.tp_au .inn {
	display: flex;
}
.tp_au .inn .tx {
	width: 29%;
	padding-top: 1%;
	position: relative;
	z-index: 10;	
}
.tp_au .inn .tx .mn {
	color: var(--clr_d_glay);
	line-height: 1.8;
	font-feature-settings: "palt";
	letter-spacing: .075em;
}
.tp_au .inn .px {
	width: 71%;
	position: relative;
	z-index: 0;
}
.tp_au .inn .px .px_1 {
	display: block;
	width: min(45vw, 864px);
	height: auto;
	margin-left: 10%
}
.tp_au .inn .px .px_2 {
	display: block;
	width: min(44.27vw, 850px);
	height: auto
}
.tp_au .inn .px .under_row {
	display: flex;
	justify-content: flex-end
}
.tp_au .inn .px::after {
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	right: 0;
	width: 100%;
	height: min(21.88vw, 420px);
	margin: auto;
	background: var(--clr_gld_1);
	border-radius: 10px 0 0 10px;
	z-index: -1
}
.concept .inn {
	display: flex;
}
.concept .inn .item {
	flex: 1;
	padding: 0 1.35%;
	border-right: 1px solid var(--clr_brown)	
}
.concept .inn .item:first-child {
	padding-left: 0
}
.concept .inn .item:last-child {
	padding-right: 0;
	border-right: none
}
.concept .inn .item .tx {
	margin-top: min(4.68vw, 90px);
	padding-bottom: 10%
}
.concept .inn .item .tx .ttl {
	font-family: yu-mincho-pr6n, sans-serif;
	font-size: clamp(17px, 1.25vw, 24px)!important;
	font-weight: 500;
	color: var(--clr_d_glay);
	letter-spacing: .0em;
	line-height: 1.5;
}
.concept .inn .item .tx .mn {
	padding-top: 10%;
	line-height: 1.8;
	color: var(--clr_blk)
}
.tp_medical {
	border-radius: 10px;
	border: 1px solid var(--clr_brown)
}
.tp_medical .mn {
	padding: min(1.88vw, 36px);
	display: flex;
	align-items: center;
}
.tp_medical .mn .px {
	width: 42.2%;
}
.tp_medical .mn .tx {
	width: 57.8%;
	padding-left: min(4.43vw, 85px);
}
.tp_medical .mn .tx .msg {
	line-height: 1.8;
	margin: 7% 0
}
.tp_medical .btns {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid var(--clr_brown);
}
.tp_medical .btns .item {
	width: 20%;
	text-align: center;
	letter-spacing: .1em;	
	border-right: 1px solid var(--clr_brown);	
	border-bottom: 1px solid var(--clr_brown);	
}
.tp_medical .btns .item:nth-child(5n)
/*.tp_medical .btns .item:last-child */{
	border-right: none;	
}
/*.tp_medical .btns .item:last-child,
.tp_medical .btns .item:nth-child(n+16){
	border-bottom: none
}
*/
.tp_medical .btns .item:last-child{
	border-bottom: none;
	border-right: none;	
	width: 100%;
}

.tp_medical .btns .item a {
	display: block;
	padding: min(1.56vw, 30px) 2%;
	text-align: center;
	font-size: clamp(14px, 0.833vw, 16px);		
	letter-spacing: .1em;	
	transition: all 0.25s 0s ease;
}
.tp_medical .btns .item a:hover {
	background: var(--clr_green);
	color: var(--clr_glay)
}
.tp_greet {
	background: var(--clr_gld_1)
}
.tp_greet .tx {
	width: 46.5%
}
.tp_greet .px {
	width: 53.5%
}
.tp_info .in_wrap {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	padding: 0 calc((100% - ((100vw / 10) * 7.5)) / 2) min(3.65vw, 70px) 0;	
}
.insta_zone .box {
	padding: min(3.65vw, 70px);
	border-radius: 10px;
	border: 1px solid var(--clr_brown)
}
.tp_cnt .btn_wrap {
	display: flex;
	border: 1px solid var(--clr_brown)
}
.tp_cnt .btn_wrap .item {
	width: 25%;
	padding: min(4.16vw, 80px) 2%;
	display: flex;
	justify-content: center;
	align-items: center;
	border-right: 1px solid var(--clr_brown);
	text-align: center;
}
.tp_cnt .btn_wrap .item:last-child {
	border-right: none
}
.tp_cnt .btn_wrap .item .in {
	width: 100%
}
.tp_cnt .btn_wrap .btn_type_1 {
	width: 100%;
}
.tp_cnt .ggmap {
    padding-bottom: 36.25%;
}
footer {
	color: #FFF;
	letter-spacing: .1em;
}
footer .tx {
	width: 26%;
	line-height: 1.8
}
.time_tbl .row {
	display: flex
}
.time_tbl .row.line {
	border-bottom: 1px solid var(--clr_brown);
	margin-bottom: 2px
}
.time_tbl .row .cell {
	padding-bottom: 2px
}
.time_tbl .row:last-child .cell {
	padding-bottom: 0
}
.time_tbl .row .hd {
	width: 	32%;
}
.time_tbl .row .bse {
	width: 	calc((100% - 32%) / 6);
	text-align: center
}
footer .lists {
	width: 74%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	column-gap: min(2.08vw, 40px)
}
footer .lists .col.no1,
footer .lists .col.no3 {
	width: 100%;
	max-width: 200px;
}
footer .lists .col.no2 {
	width: 100%;
	max-width: 426px;
}
footer .btn_type_2 {
	width: 100%;
	max-width: 200px;
}
footer .lists .col.no3 {
	display: flex;
	flex-wrap: wrap;
	align-content:space-between
}
footer .lists .col.no3 .row {
	width: 100%;
}

.list_type_ft {
	padding-left: min(1.82vw, 35px);
}
.list_type_ft li {
	padding-left: min(1.2vw, 23px);
	position: relative;
	margin-bottom: 7px;
}
.list_type_ft li:last-child {
	margin-bottom: 0;
}
.list_type_ft li a {
	transition: all 0.25s 0s ease;	
}
.list_type_ft li a:hover {
	color: var(--clr_l_brown)	
}
.list_type_ft li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
footer .lists .in_lists {
	width: 100%;
	display: flex;
	column-gap: min(1.46vw, 28px)
}
footer .lists .mod_info {
	width: 100%;
	display: flex;
	justify-content: flex-end
}
footer .cps {
    border-top: 1px solid var(--clr_brown);
	padding-top: 8px;
	display: flex;
	justify-content: space-between
}
.sp_ham, .touch {
	display: none
}
.under .fv::after {
    height: 50vh;
}
.under .fv {
	padding-top: 0;
    position: relative;
    height: auto;
    display: flex;
    align-items: center;
}
.under .fv .inn {
    margin-top: 80px;
	padding-top: 0;
    height: 55vh	;
    position: relative;
}
.bred_flex {
	padding-bottom: min(1.82vw, 35px);
	display: flex;
	flex-flow: row-reverse;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid var(--clr_brown)	
}
.bred_flex .ttl {
	font-family: yu-mincho-pr6n, sans-serif;
	font-size: clamp(26px, 1.84vw, 36px);	
	font-weight: 600;
	color: var(--clr_blk);
	letter-spacing: .1em;
	font-feature-settings: "palt";
}
.bred_flex .breadcrumbs span {
	font-size: 14px;	
	font-weight: 400;
	color: #999999;	
}
.bred_flex .breadcrumbs span a span,
.bred_flex .breadcrumbs .delimiter {
	color: var(--clr_blk);	
}
.bred_flex .breadcrumbs .delimiter {
	padding: 0 6px	
}
.under .sec .bsc,
.single_wrap p {
	letter-spacing: .1em;
	line-height: 1.8;
	font-feature-settings: "palt";	
	color: var(--clr_blk);	
	font-weight: 500
}
.step_block {
	width: 91.667%;
	margin-inline: auto;	
	padding-bottom: min(2.08vw, 40px);
	border-bottom: 1px solid var(--clr_brown);
	position: relative
}
.step_block.full_w {
	width: 100%;
}
.step_block::after {
	content: "";
	position: absolute;
	bottom:-15px;
	left: 0;
	right: 0;
	width: 51px;
	height: 30px;
	margin: auto;
	background: url("../img/stp_arrw.webp") no-repeat center / cover
}
.step_block:last-of-type {
	padding-bottom: 0;
	border-bottom: none
}
.step_block.full_w:last-of-type {
	padding-bottom: min(2.08vw, 40px);
	border-bottom: 1px solid var(--clr_brown);
}
.step_block:last-of-type::after {
	display: none
}
.step_block .px {
	width: 23.48%;
}
.step_block .tx {
	width: calc(100% - 23.48%);
	padding-right: 3.5%
}
.step_block.ver2 .tx,
.step_block.ver3 .tx{
	width: 100%;
	padding-right: 0%
}
.step_block.ver2.sepa .tx {
	width: calc(100% - 23.48%);
	padding-right: 3.5%
}
.step_block.ver2 .tx aside {
	font-family: "Cinzel", serif;
	font-size: clamp(22px, 1.84vw, 36px);	
	font-weight: 600;
	color: var(--clr_brown);
	letter-spacing: .0em;
	line-height: 1;
	font-feature-settings: "palt";
}
.step_block.ver2::after {
}
.step_block .tx .hd {
	display: flex;
	align-items: center;
	column-gap: 20px;
}
.step_block .tx .hd .ttl {
	font-size: clamp(17px, 1.25vw, 24px);
	font-weight: 500;
	letter-spacing: .1em;
	color: var(--clr_blk)
}
.under .tp_cnt .h_type_1 {
	display: none
}
.under .tp_cnt .btn_wrap {
	margin-top: 0
}
.sepa_tp_1 {
	column-gap: min(4.72vw, 68px);
}
.sepa_tp_1 .tx {
	width: 66%;
}
.sepa_tp_1 .tx p {
	line-height: 2!important
}
.sepa_tp_1 .px {
	width: calc(100% - 66%);
}
.pad_l_60 {
	padding-left: min(4.17vw, 60px)
}
.bx_tp_dtl {
	display: flex;
	flex-wrap: wrap;
	column-gap: min(1.56vw, 30px);
	row-gap: min(2.6vw, 50px);
}
.bx_tp_dtl .item {
	color: var(--clr_blk);
    flex: 0 0 calc((100% - (min(1.56vw, 30px)*2)) / 3);
}
.bx_tp_dtl.sepa2 .item {
	color: var(--clr_blk);
    flex: 0 0 calc((100% - (min(1.56vw, 30px)*1)) / 2);
}
.bx_tp_dtl .item .tx {
	width: 93%;
	margin-inline: auto;	
}
.bx_tp_dtl .item .tx.top {
	margin: 5% auto 8%;
}
.bx_tp_dtl.ver2 .item .tx.top {
	margin: 4% auto;
}
.bx_tp_dtl .item .tx.bottom {
	margin: 3% auto 0;
}
.bx_tp_dtl .item .tx.bottom .bsc {
	font-size: 14px;
}
.bx_tp_dtl .item .tx.bottom .in_ttl {
	font-size: 14px;	
	padding-bottom: 1%;
	margin-bottom: 1%;
	border-bottom: 1px solid var(--clr_brown)
}
.g_btns {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 2%;
}
.g_btns .item {
  flex-basis: 23.5%;
}
.g_btns.ver2 .item {
  flex-basis: 24.25%;
}
.g_btns .btn_type_1 {
	max-width: 100%;	
}
.g_btns .btn_type_1 p {
    width: 100%;
	text-align: left;
    padding-left: min(2.86vw, 55px);
}
.guide .tp_medical .mn .btn_type_1,
.guide .tp_medical .mn .msg{
    display: none
}
.bx_tp_dtl.ver2 .item .h_type_3 {
    margin-bottom: 4.5%
}
.bx_tp_dtl.ver2 .item .h_type_3 .sub {
    display: block;
	line-height: 1;
	text-align: center;
	font-size: 14px
}
.bx_tp_dtl.ver2 .item .px img {
    border-radius: 10px
}
.bx_tp_dtl.ver2 .item .under {
    margin-top: 3%
}
.bx_tp_dtl.ver2 .item .tx.bottom p.bsc {
    padding: 10px;
	background: #FFF;
	border-radius: 10px;
	margin-top: 3%
}
.list_return .btn_type_1 {
	width: 100%;
	max-width: 300px;
	margin: 0
}
.list_return .btn_type_1:first-child aside::before {
	transform: rotate(-180deg);
}
.bred_flex.nobred {
    display: block;
}
.bred_flex.nobred .ttl {
	text-align: left
}
.purpose_ver .tp_medical .btns {
    border-top: none;
}
.purpose_ver .bred_flex.nobred {
    margin-bottom:  min(2.34vw, 45px);
}
.access .time_tbl_wrap {
	width: 100%;
	max-width: 800px
}
.access .sec .ggmap {
	padding-bottom: 36.25%;
}
.faq_wrap {
	border-radius: 10px;
	overflow: hidden
}
.faq_wrap .area {
	padding: 20px;
}
.faq_wrap .area .in {
	display: flex;
}
.faq_wrap .area .en {
	width: 70px;
	font-family: "Cinzel", serif;
	font-size: 40px;	
	font-weight: 500;
	color: #FFF;
	letter-spacing: .0em;
	line-height: 1;
	font-feature-settings: "palt";
}
.faq_wrap .area.q {
	cursor: pointer;
	position: relative;
	background: var(--clr_brown);
	color: #FFF
}
.faq_wrap .area.q .in {
	align-items: baseline;
	padding-right: 30px
}
.faq_wrap .area .jp {
	width: calc(100% - 70px);
}
.faq_wrap .area.q .jp {
	width: calc(100% - 50px);
	font-size: clamp(17px, 1.25vw, 24px);
	font-weight: 600;
}
.faq_wrap .area.q aside {
    position: absolute;
	height: 100%;
	width: auto;
	top: 0;
	right: 0
}	
.faq_wrap .area.q aside::before{
  position: absolute;
  content: '';
  top: 50%;
  right: 28px;
  width: 28px;
  height: 3px;
  background-color:var(--clr_wht)	;
  transform: rotate(90deg);
  transition: all .3s ease-in-out;
}
.faq_wrap .area.q aside::after{
  position: absolute;
  content: '';
  top: 50%;
  right: 28px;
  width: 28px;
  height: 3px;
  background-color:var(--clr_wht)	;
  transition: all .3s ease-in-out;
}
.faq_wrap .area.q aside.open::before {
  transform: rotate(180deg);
}
.faq_wrap .area.q aside.open::after {
  opacity:0;
}
.faq_wrap .area.a {
	display: none;
	background: #FFF;
}
.faq_wrap .area.a .en {
	color: var(--clr_sub)
}
.faq_wrap .area.a .jp {
	padding-top: .5em
}
.faq .sec .g_btns .btn_type_1 {
}
.faq .sec .g_btns .btn_type_1 aside::before,
.g_btns.arrw_dw .btn_type_1 aside::before{
	transform: rotate(90deg);
}
.faq .sec .g_btns .item {
  flex-basis: 18.4%;
}
.contact .sec .bx_tp_2 {
	max-width: 1000px
}
.form_area .row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start
}
.form_area .row .head {
	padding-top: .35vw;
	width: 24%;
	display: flex;
	align-items: center;
	column-gap: 12px;
	font-size: clamp(16px, 1.04vw, 20px);	
	letter-spacing: .055em;
	font-feature-settings: "palt";
}
.form_area .row .head .req{
	padding: 6px 8px;
	border-radius: 5px;
	background: #FFF;
	font-size: 15px;	
	font-weight: 500;
	color: #e02020;
	text-align: center;
	letter-spacing: .1em;
	line-height: 1;
	font-feature-settings: "palt";
}
.form_area .row .mn {
	width: 76%
}

/*form_restart*/
.form_area input[type='text'],
.form_area input[type='email'],
.form_area input[type='tel'],
.form_area input[type='submit'],
.form_area input[type='button'],
.form_area button,
.form_area select,
.form_area textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}
.form_area input[type='submit'],
.form_area input[type='button'],
.form_area label,
.form_area button,
.form_area select {
  cursor: pointer;
}
.form_area input[type='text'],
.form_area input[type='email'],
.form_area input[type='tel'],
.form_area textarea,
.form_area select{
	width: 100%;
	padding: 10px;
	background-color: #FFF;
	border: 1px solid var(--clr_d_glay);
	border-radius: 5px;
	-webkit-transition:all .1s;
	transition:all .1s;	
}
.form_area .mid_size{max-width: 358px}
.form_area .long_size,.form_area textarea{max-width: 700px}
.form_area textarea{height: 11.56vw}
.form_area input[type='text']:focus,
.form_area input[type='email']:focus,
.form_area input[type='tel']:focus,
.form_area textarea:focus{
	box-shadow:0 0 3px 1px #fde5d7;	
}
.form_area input[type='checkbox'] {
	width: 18px;
	height: 18px;
	border: 1px solid var(--clr_d_glay);
	border-radius: 2px;
}
.form_area .pri_chk {
    text-align: center
}
.form_area .pri_chk .wpcf7-form-control.wpcf7-checkbox {
    display: block;
}
.form_area .pri_chk .wpcf7-list-item label {
	justify-content: center
}
.form_area .pri_chk input[type='checkbox'] {
	width: 26px;
	height: 26px;
}
.form_area .pri_chk .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label {
    padding-left: 10px;
	font-size:max(0.93vw,16px);
	font-weight: 500;
}
.form_area .infos {
}
.form_area .infos .row_1 {
    border-top: 1px solid var(--clr_d_glay);
    border-bottom: 1px solid var(--clr_d_glay);	
	padding: 1.4583vw 0 1.82vw;
}
.form_area .infos .row_1 h4 {
	font-size:max(0.93vw,14px);
	font-weight: 400;
	letter-spacing: .065em;
	padding-bottom: 2%;	
}
.form_area .infos .s_row .bsc_tx_15 {
	line-height: 2;
	letter-spacing: .05em
}
.form_area .infos .row_2 {
	padding-bottom: 1.4583vw;
    border-bottom: 1px solid #808080;
}
.form_area .infos .row_2 .s_bx {
	width: 50%;
}
.form_area .infos .row_2 .s_bx:first-child {
    border-right: 1px solid #808080;
}
.form_area .infos .row_2 .s_bx:first-child p {
    padding-right: 4.6%;
}
.form_area .infos .row_2 .s_bx:last-child p {
    padding-left: 4.6%;
}
.form_area .pri_chk {
	justify-content: center;
    text-align: center
}
.form_area .pri_chk .wpcf7-form-control.wpcf7-checkbox {
    display: block;
}
.form_area .pri_chk .wpcf7-list-item label {
	justify-content: center
}
.form_area .pri_chk input[type='checkbox'] {
	width: 26px;
	height: 26px;
}
.form_area .pri_chk .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label {
    padding: 5px 0 0 10px;
	font-size:max(0.93vw,16px);
	font-weight: 500;
}
.wpcf7-form-control.wpcf7-checkbox {
	display: flex;
	align-items: center;
	flex-wrap: wrap
}
.wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item label {
	display: flex;
	align-items: center
}
.wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label {
	padding-left: 5px
}
.form_area input[type='submit'] {
    display: block;
    margin: 0 auto;
    padding: 22px 100px;
    background: var(--clr_brown);
    border-radius: 40px;
    color: #FFF;
    font-weight: 500;
    letter-spacing: .045em;
}
.single_wrap .bred_flex {
    flex-wrap: wrap;
}
.single_wrap .bred_flex .ttl {
    width: 100%
}
.single_wrap .date {
    text-align: right;
	font-family: "Cinzel", serif;
    font-weight: 600;
    font-size: clamp(16px, 1.04vw, 20px);
    margin: 12px 0 8px;
}
.single_wrap h3 {
    padding-left: 14px;
    margin-bottom: 12px;
    position: relative;
    font-weight: 600;
    font-size: clamp(17px, 1.25vw, 24px);
}
.single_wrap h3::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    border-radius: 4px;
    height: 100%;
    margin: auto;
    background-color: var(--clr_brown);
}
.list_wrap .block {
    padding-bottom: 3%;
    margin-bottom: 3%;
    border-bottom: 1px dotted var(--clr_brown);
    position: relative;
}
.list_wrap .block .date {
    text-align: left
}
.list_wrap .block .mn {
    line-height: 1.8;
	letter-spacing: .1em;
	font-feature-settings: "palt";	
}
.pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	column-gap: 6px;	
}
.pagination span,
.pagination a{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;	
    width: 47px;
    height: 52px;
    margin: 0 0 10px 0;
    text-align: center;
	font-size: 16px;
	border-radius: 10px;
	border: 2px solid var(--clr_brown);
	font-weight: 600
}
.pagination a {
    transition-property: all;
    transition: 0.1s linear;
    background-color: #FFF;
}
.pagination a:hover,
.pagination span.current {
	color: #ffffff;
    background-color: var(--clr_brown);
}
.sepa_flex_1 .item {
	flex: 1
}
.step_block.ver2.sepa .tx {
    width: 100%;
    padding-right: 0;
}
.list_check_box {
	display: flex;
	flex-wrap: wrap;
}
.list_check_box.noflex {
	display: block;
}
.list_check_box li {
	width: calc(33.3333333% - 5px);
	display: flex;
	flex-wrap: wrap;	
	column-gap: 5px;
	margin-bottom: 15px;
	letter-spacing: .1em;
}
.list_check_box.noflex li {
	width: 100%
}
.list_check_box li .material-symbols-outlined {
    width: 24px
}	
.list_check_box li p {
    width: calc(100% - 29px)
}	
.list_check_box li .sub {
	width: 100%;
	font-weight: 400;
	display: block;
	font-size: 14px;
	font-feature-settings: "palt";	
}
.list_check_box li:last-child {
	margin-bottom: 0
}
.ireg_wrap .px {
	max-width: 432px
}
.blueradical .bx_tp_dtl.ver2 .item .h_type_3 {
	display: flex;
	justify-content: center;
	align-items: center
}
.price_tbl .cell {
	padding: 20px;
}
.price_tbl .row {
	border-top: 1px solid var(--clr_brown);
}
.price_tbl .row:first-child {
	border-top: none
}
.price_tbl .hd {
	width: 30%;
	border-right: 1px dotted var(--clr_brown);	
	text-align: center;
}
.price_tbl .mn {
	width: 70%;
}

.scroll-hint .price_tbl .row {
    display: flex
}	
.scroll-hint .price_tbl .hd {
	width: 15%;
	text-align: left
}
.scroll-hint .price_tbl .cmmn {
	width: calc((100% - 15%) / 2);
}
.scroll-hint .price_tbl .mid {
	border-right: 1px dotted var(--clr_brown);		
}




@media screen and (max-width:1640px){
.topics .splide__arrow--next {
    left: -11vw;	
}
.topics .splide__arrow--prev {
    left: -8.5vw;
}
}
@media screen and (max-width:1570px){
footer .lists .col.no2 {
    width: 100%;
    max-width: 200px;
}	
footer .lists {
	padding-left: 3%;
}
footer .lists .in_lists {
	display: block
}
	
}
@media screen and (max-width:1536px){
.whole_80 {
	width: 100%;
	padding-right: 5%;
	padding-left: 5%;
}
.topics .inn .hd {
    padding-top: 3vw;
}	
.topics .splide__arrow--next {
    left: -11.5vw;	
}
.topics .splide__arrow--prev {
    left: -9vw;
}
}
@media screen and (max-width:1440px){
.whole_75 {
	width: 100%;
	padding-right: 5%;
	padding-left: 5%;
}
.whole_75.nopad {
	padding-right: 0;
	padding-left: 0;
}
.side_s_pad {
	padding-left: 5%
}
.tp_info .in_wrap {
	padding-right: 5%
}
	
}
@media screen and (max-width:1356px){
.topics .inn .hd {
    padding-top: 2vw;
}	
.topics .splide__arrow--next {
    left: -12vw;	
}
.topics .splide__arrow--prev {
    left: -9.5vw;
}
footer .inn {
    display: block
}	
footer .tx {
    width: 40%;
	margin-inline: auto;
	margin-bottom: 3%
}	
footer .lists {
	padding: 0;
	justify-content: center;
	width: 100%
}
	
}
@media screen and (max-width:1300px){
.topics .inn .hd {
    padding-top: 1.5vw;
}	
.topics .splide__arrow--next {
    left: -12.5vw;	
}
.topics .splide__arrow--prev {
    left: -10vw;
}
}
@media screen and (max-width:1200px){
.topics .inn .hd {
    padding-top: 0;
}	
.topics .splide__arrow--next {
    left: -13.5vw;	
}
.topics .splide__arrow--prev {
    left: -11vw;
}
}
@media screen and (max-width:1140px){
.tp_cnt .btn_wrap .btn_type_1 {
    max-width: inherit;
	min-width: inherit
}
.tp_cnt .btn_type_1 aside {
    display: none
}	
}	
@media screen and (max-width:1014px){
footer .lists .col.no3 {
    display: block;
    margin-top: 3%;
}
footer .lists .col.no3 .btn_type_3 {    
    margin-top: 10px;
}
}	
@media screen and (max-width:1210px){}
@media screen and (max-width:864px){
.side_pad {
    padding-left: 0;
}
.sp_ham {
	display: block
}
.sp_ham {
    width: 58px;
    height: 58px;
	position: fixed;
	z-index: 99999999;
	top: 0;
	right: 0;
	display: flex!important;
	align-items: center;
	align-content: center;
	justify-content: center;
	flex-wrap: wrap;
	transition-property: all;
  	transition: 0.15s linear;	
	background: var(--clr_blk);
	border-radius: 0 0 0 15px;
	cursor: pointer
}	
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
 	position: relative;
	width: 27px;
	height: 18px;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  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) {
	transform: rotate(-45deg);
	top: 50%;
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	transform: rotate(45deg);
	top: 50%;
}
.touch {
	display: block
}
header#general {
	display: none;
    width: 100%;
    height: 100vh;
	overflow-y: scroll;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background: rgba(255, 255, 255, 1);
}	
header#general .inn {
   padding: 0
}
header#general .inn .logo {
    display: none
}		
header#general .inn .list li a::before {
   display: none
}
header#general .inn .logo img,
.on_scl header#general .inn .logo img {
	display: block;
	width:min(19.38vw, 372px);
	height: auto;
	position: relative;
	top: unset;
	left: unset;
	transition: all 0.25s 0s ease;
	z-index: 1;
	margin: 0.8rem 0 0 0.8rem;
}
.logo_touch {
    width: 216px;
	margin: 0.4rem 0 0 0.8rem;	
}		
	
header#general .inn .list,	
.on_scl header#general .inn .list {
    padding: 70px 4vw 5vw;
}	
header#general .inn .list li {
    position: relative
}	
header#general .inn .list li a {
    padding: 16px 0
}	
header#general .inn .list li aside {
    position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center
}	
header#general .inn .list li aside::before{
  position: absolute;
  content: '';
  top: 25px;
  width: 16px;
  height: 1px;
  background-color:var(--clr_base)	;
  transform: rotate(90deg);
  transition: all .3s ease-in-out;
}
header#general .inn .list li aside::after{
  position: absolute;
  content: '';
  top: 25px;
  width: 16px;
  height: 1px;
  background-color:var(--clr_base);
  transition: all .3s ease-in-out;
}
header#general .inn .list li aside.open::before {
  transform: rotate(180deg);
}
header#general .inn .list li aside.open::after {
  opacity:0;
}
header#general .inn .list li .child {
  	display: none
}
header#general .inn .list li .child a {
  	padding: 12px;
	font-size: 95%;
	border-bottom: 1px dotted var(--clr_base);
}
header#general .inn .btn_inq {
    display: none;
}
header#general .add_inq {
    margin-top: 2%;
	border-top: 1px solid var(--clr_brown);
	border-bottom: 1px solid var(--clr_brown);
}
header#general .add_inq .item {
    padding: 34px 0
}
header#general .add_inq .tel_no {
    margin: 0;
}
header#general .add_inq .row_1 .tel_no {
    font-size: 37px;
}
header#general .add_inq .row_2 {
    display: flex;
	border-top: 1px solid var(--clr_brown);	
	border-bottom: 1px solid var(--clr_brown);	
}
header#general .add_inq .row_2 .item {
    flex: 1
}
header#general .add_inq .row_2 .item:first-child {
	border-right: 1px solid var(--clr_brown);	
}
header#general .add_inq .row_2 .tel_no {
    font-size: 30px;
}
header#general .add_inq .row_3 .btn_type_1 {
    padding: 2vw 8px;
    max-width: 251px;
    min-width: 190px;
    border-radius: 50px;
}	
.snss {
    margin-top: 0;
	padding: 20px 0;
}	
}
@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, .whole_75, .whole_80 {
    width: 100%;
	max-width: 100%;
    height: auto;
	margin-inline: auto;
	padding-right: 0.8rem!important;
    padding-left: 0.8rem!important;
}	
.sp_no_pad {
	padding-right: 0!important;
	padding-left: 0!important;
	margin-right: 0!important;
	margin-left: 0!important;
}
.sp_nopad_b {
	padding-bottom: 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_tx_left {
	text-align: left
}	
.sp_txs_28px {
	font-size: 3.73vw!important
}	
.sp_txs_19px {
	font-size: 5.07vw!important
}	
.sp_yaku {font-feature-settings: "palt";}	
.row_2 .ico_row p {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .1em;
    font-feature-settings: "palt";
}	
header#general .add_inq .row_2 .tel_no {
    font-size: 20px;
}
header#general .add_inq .row_3 .btn_type_1 {
	margin-top: 2vw;
    padding: 4vw 8px;
}	
	
.fv {
	margin-top: 22px;
    position: relative;
    height: auto;
    display: block;
    align-items: center;
}
.fv .inn {
    margin-top: 0;
    height: auto;
}	
.fv img.kv {
    width: 100%;
    height: auto;
    display: block;
    object-fit: unset;
    border-radius: 0;
}	
.fv .inn .in_wrap .ttl {
    width: 100%;
    margin-left: 0;
	padding-right: 0.8rem;
	padding-left: 0.8rem;
}	
.fv .inn .in_wrap .ttl img {
    width: 100%;
    min-width: inherit;
}	
.news_line {
    margin-top: 5px
}	
.news_line .inn {
    padding: 11px 0;
    border-top: 1px solid var(--clr_d_glay);
    border-bottom: 1px solid var(--clr_d_glay);
    display: block;
    align-items: center;
}	
.news_line .inn .item.no1 {
    width: 100%;
    letter-spacing: .044em;
}	
.news_line .inn .item.no2 {
    width: 100%;
    min-width: inherit;
    font-size: 14px;
    text-align: left;
	padding-left: 2.5vw
}	
.news_line .inn .item.no3 {
    width: 100%;
	margin: 4px 0 4vw;
	padding-left: 2.5vw
}	
.side_s_pad {
	padding-left: 0.8rem
}
	
/***************************************************************************************/
.sec_pad_40 {
    padding: 5.5vw 0;
}	
.sec_pad_60_b {
    padding-bottom: 7.5vw;
}	
.sec_pad_60_t {
    padding-top: 7.5vw;
}	
.sec_pad_60 {
    padding: 7.5vw 0;
}		
.sec_pad_80 {
    padding: 10vw 0;
}
.sec_pad_80_t {
    padding-top: 10vw;
}	
.mgn_t_80 {
    margin-top: 10vw;
}	
.mgn_t_70 {
    margin-top: 9vw;
}	
.mgn_t_60 {
    margin-top: 7.5vw;
}	
.mgn_t_55 {
    margin-top: 7vw;
}
.mgn_t_50 {
    margin-top: 6.5vw
}	
.mgn_t_40 {
    margin-top: 5.5vw;
}	
.mgn_t_45 {
    margin-top: 6vw
}	
.mgn_t_35 {
    margin-top: 5vw;
}	
.mgn_t_30 {
    margin-top: 4.5vw
}
.mgn_t_20 {
    margin-top: 3.5vw
}	
.txs_19 {
    font-size: 19px;
}	
.txs_24 {
    font-size: 6.4vw!important;
}	
.txs_36 {
    font-size: 9.07vw;
}
.txs_43 {
    font-size: 11.47vw
}	
.sp_txs_16px {
    font-size: 16px;
}	
.sp_mgn_t_4 {
    margin-top: 4vw
}	
.sp_mgn_t_3 {
    margin-top: 3vw
}	
	
/***************************************************************************************/
.topics {
    padding-bottom: 10vw
}	
.topics .inn {
    display: block;
}	
.topics .inn .hd {
    text-align: center;
	margin-bottom: 15vw;
}	
.topics .inn .hd .ttl {
	margin: 0;
    font-size: 11.43vw;
	letter-spacing: .044em;
}	
.topics .splide__arrow {
    top: -15vw;
    bottom: unset;
    transform: translateY(0);
    width: 40px;
    height: 40px;	
    z-index: 1;
}
.topics .splide__arrow--next {
    right: 34vw;
    left: unset;	
}
.topics .splide__arrow--prev {
    left: 34vw;
	right: unset;
}
.topics .splide__arrow svg {
    fill: #FFF;
    height: 1em;
    width: 1em;
}
.tp_au .inn {
    display: block;
}	
.tp_au .inn .px {
    width: 100%;
    position: relative;
    z-index: 0;
}	
.tp_au .inn .px .px_1 {
    width: 100%;
    margin-left: 0;
	padding-right: 0.8rem
}	
.tp_au .inn .px .under_row {
    display: block;
	margin-top: 11.2vw
}	
.tp_au .inn .px .px_2 {
    width: 100%;
}	
.tp_au .inn .px::after {
    width: 96%;
    height: 130vw;
    border-radius: 10px 0 0 10px;
}	
.tp_au .inn .tx {
    width: 100%;
    padding: 10vw 0.8rem 0 0;
    position: relative;
    z-index: 10;
}	
.tp_au_logo {
	margin-inline: auto;	
}	
.btn_type_1 {
	width: 70%;
	margin-inline: auto;	
    padding: 5vw 8px;
    max-width: inherit;
    min-width: inherit;
    border-radius: 50px;
    background: #FFF;
    transition: all 0.25s 0s ease;
}	
.btn_type_1 aside {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 8px;
    margin: auto;
    width: 11vw;
    height: 11vw;
    min-width: 22px;
    min-height: 22px;
    border-radius: 50%;
    background: var(--clr_d_glay);
}	
.btn_type_1 aside::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: min(0.83vw, 16px);
    height: min(0.73vw, 14px);
    min-width: 13px;
    min-height: 11px;
    margin: auto;
    background: url(../img/btn_tp1_arrw.webp) no-repeat center / cover;
}	
.concept .inn {
    display: block;
}	
.concept .inn .item {
    padding: 0;
    border-right: none;
    border-bottom: 1px solid var(--clr_brown);
	margin-bottom: 10vw;
}	
.concept .inn .item .img_w100 {
    width: 80%;
	display: block;
	margin-inline: auto;	
}	
.concept .inn .item:last-child {
    border-bottom: none;
	margin-bottom: none;
}	
.concept .inn .item .tx {
    margin-top: 6vw;
    padding: 0 7vw 10vw;
}	
.concept .inn .item .tx .ttl {
    font-size: 6.4vw!important;
    letter-spacing: .044em;
    line-height: 1.5;
}	
.tp_medical .mn {
    padding:4vw;
	padding-bottom: 10vw;
    display: block;
}	
.tp_medical .mn .px {
    width: 100%;
	margin-bottom: 10vw
}	
.tp_medical .mn .tx {
    width: 100%;
    padding-left: 0
}	
.h_type_1 .en {
    font-size: 16vw;
    font-weight: 400;
    line-height: 1.2;
	text-align: center;
}	
.h_type_1 .ttl {
    font-size: 5.07vw;
	text-align: center;	
}	
.tp_medical .msg {
    font-size: 5.07vw;
	padding-left: 16%;
}	
.tp_medical .btns .item {
    width: 50%;
    text-align: center;
    letter-spacing: .1em;
    border-right: 1px solid var(--clr_brown);
    border-bottom: 1px solid var(--clr_brown);
} 	
.tp_medical .btns .item:nth-child(5), .tp_medical .btns .item:nth-child(10), .tp_medical .btns .item:last-child {
    border-right: 1px solid var(--clr_brown);
}
.tp_medical .btns .item:nth-child(2n){
    border-right: none;
}
.tp_medical .btns .item:nth-child(n+11) {
    width: 50%;
    border-bottom: 1px solid var(--clr_brown);
}
.tp_medical .btns .item:last-child {
    width: 50%;
    border-bottom: none
}
.tp_medical .btns .item a {
    padding: 6vw 0;
    font-size: 16px;
}	
.tp_greet .px {
    width: 100%;
	margin-bottom: 5vw
}	
.tp_greet .tx {
    width: 100%;
	padding-right: 0.8rem
}	
.tp_info .in_wrap {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding: 0 0 4vw
}	
.tp_info .in_wrap .h_type_1 .en {
    font-size: 12.53vw;
}	
.tp_cnt .btn_wrap {
    flex-wrap: wrap
}	
.tp_cnt .btn_wrap .item {
    width: 100%;
    padding: 7vw 2%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 1px solid var(--clr_brown);
    text-align: center;
}	
.tp_cnt .btn_wrap .item.no1,
.tp_cnt .btn_wrap .item.no3,
.tp_cnt .btn_wrap .item.no4	{
    border-right: none;
}	
.tp_cnt .btn_wrap .item.no2,
.tp_cnt .btn_wrap .item.no3	{
    width: 50%;
	padding-right: 0;
	padding-left: 0;
    border-top: 1px solid var(--clr_brown);
    border-bottom: 1px solid var(--clr_brown);	
}	
.tp_cnt .btn_wrap .tel_no {
    margin-bottom: 0
}	
.tp_cnt .btn_wrap .item.no1 .tel_no {
    margin: 1.5% 0 0;
    font-size: 9.87vw;
}	
.tp_cnt .btn_wrap .item.no2 .ico_row p,
.tp_cnt .btn_wrap .item.no3 .ico_row p	{
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .1em;
    font-feature-settings: "palt";
}	
.tp_cnt .btn_wrap .item.no2 .ico_row,
.tp_cnt .btn_wrap .item.no3 .ico_row {
    column-gap: 4px;
}	
.tp_cnt .btn_type_1 aside {
    display: block
}	
.tp_cnt .btn_wrap .btn_type_1 {
    width: 70%;
}	
.tp_cnt .ggmap {
    padding-bottom: 70%
}	
footer .tx {
    width: 100%;
	margin-inline: auto;
	margin-bottom: 0
}	
footer .tx .logo_ft {
	margin-inline: auto;
}	
.time_tbl .row .hd {
	width: 35%;
}
.time_tbl .row .bse {
	width: 	calc((100% - 35%) / 6);
}
footer .lists .col {
    display: none!important
}	
footer .cps {
	margin-top: 5px;
    padding-top: 4vw;
    display: block;
    justify-content: space-between;
}	
footer .cps .txs_14 {
	font-size: 13px;
}	
footer .snss {
    margin-top: 0;
	padding-top: 0
}	
footer .tx_right.tx_14 {
    text-align: left;
	font-size: 13px
}	
footer .sp_pp {
    text-align: right;
	color: var(--clr_glay)
}	
#tab_fx_wrap {
	display: none
}
.under .fv {
	padding-right: 0.8rem;
	padding-left: 0.8rem;
}
.under .fv::after {
    display: none
}
.under .fv .inn {
    margin-top: 0;
    padding-top: 0;
    height: auto;
    position: relative;
}
.bred_flex {
    padding-bottom: 3vw;
    flex-flow: row;
	flex-wrap: wrap;
	justify-content: flex-end;
    border-bottom: 1px solid var(--clr_brown);
}
.bred_flex .ttl {
	width: 100%;
	margin-top: 5vw;
    font-size: 6.4vw;
    letter-spacing: .044em;
}
.bx_tp_1 {
    display: block;
}	
.bx_tp_1 .hd {
    width: 100%;
    padding: 4vw 2%;
    background: var(--clr_d_glay);
    text-align: center;
    color: #FFF;
    letter-spacing: .044em;
}	
.bx_tp_1 .mn {
    width: 100%;
    display: block;
    padding: 5vw 4vw;
}	
.bx_tp_1 .mn .btn_type_1 {
    width: 70%;
	margin-top: 4.5vw
}	
.h_type_2 {
    padding: 7vw 2%;
    font-size: 6.4vw;
    text-align: center
}	
.step_block {
    width: 100%;
    padding-bottom: 5vw;
}		
.step_block .tx {
    width: 100%;
    padding-right: 0;
	margin-top: 5vw
}	
.step_block .tx .hd {
    column-gap: 10px;
    width: 91.667%;
	margin-inline: auto;		
}	
.step_block .tx .hd .ttl {
    font-size: 5.3vw;
    font-weight: 500;
}	
.step_block figure {
    width: 91.667%;
	margin-inline: auto;	
}	
.sepa_tp_1 .tx {
    width: 100%;
}	
.sepa_tp_1 .px {
	margin-top: 6vw;
    width: 100%;
}	
.bx_tp_2 {
    padding: 7vw 4vw;
}	
.bx_tp_2 .hd {
    border-bottom: 1px solid var(--clr_brown);	
	padding-bottom: 3vw;
	margin-bottom: 3vw;
    width: 100%;
	text-align: center;
	font-size: 16px!important
}	
.bx_tp_2 .dtl .inn {
    padding-left: 0;
    border-left: none;
}	
.bx_tp_2 .dtl {
    width: 100%;
	font-size: 13px
}	
.bx_tp_2 .dtl dl.no1 dt {
    width: 78px;
}
.bx_tp_2 .dtl dl.no1 dd {
    width: calc(100% - 78px);
}	
.pad_l_60 {
    padding-left: 0;
}	
.bx_tp_dtl {
    display: block;
}	
.h_type_3 {
    padding: 5vw 2%;
    font-size: 6.4!important;
}
.bx_tp_dtl .item {
    margin-bottom: 10vw
}	
.bx_tp_dtl .item:last-child {
    margin-bottom: 0
}	
.bx_tp_dtl .item .tx {
    width: 100%;
    margin-inline: auto;
}	
.bx_tp_dtl .item .tx.bottom {
    margin: 5% auto 0;
}	
.bx_tp_dtl .item .tx.bottom .in_ttl {
    padding-bottom: 1.5%;
    margin-bottom: 1.5%;
}	
.g_btns {
    display: block;
}	
.g_btns .item {
    margin-bottom: 4vw
}	
.g_btns .item:last-child {
    margin-bottom: 0
}		
.g_btns .btn_type_1 {
    width: 100%;
}	
.g_btns .btn_type_1 p {
    width: 100%;
    padding-left:0;
	text-align: center
}	
.img_w50, .img_w60, .img_w45 {
    width: 100%;
    height: auto;
}	
.list_return .btn_type_1 {
	margin-inline: auto;	
}	
.list_return .btn_type_1:first-child {
	margin-bottom: 4vw
}
.h_type_4 {
    font-size: 5.3vw;
    line-height: 1.35;
    padding-left: 54px;
}	
.purpose_ver .bred_flex.nobred {
    margin-bottom: 6vw;
}	
.access .sec .time_tbl .row .hd {
	width: 40%;
}
.access .sec .time_tbl .row .bse {
	width: 	calc((100% - 40%) / 6);
}
.access .sec .time_tbl .row .cell {
	padding-bottom: 1vw
}
.access .sec .bx_tp_2 .time_tbl .row .hd {
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
        width: inherit;
        text-align: center;
        font-size: 16px!important;
}	
	
.access .sec .ggmap {
    padding-bottom: 86.25%;
}	
.faq_wrap .area {
    padding: 4vw;
}	
.faq_wrap .area .en {
    width: 36px;
    font-size: 20px;
}	
.faq_wrap .area.q aside::before{
  right: 14px;
  width: 14px;
  height: 2px;
}
.faq_wrap .area.q aside::after{
  right: 14px;
  width: 14px;
  height: 2px;
}
.faq_wrap .area.q .in {
    padding-right: 15px;
}	
.faq_wrap .area.q .jp {
    width: calc(100% - 36px);
    font-size: 4.8vw;
}	
.faq_wrap .area.a .jp {
    width: calc(100% - 36px);
}	
.faq_wrap .area.a .jp {
    padding-top: 0
}	
.sepa_tp_1 .tx {
    width: 100%;
    padding-right: 0;
}	
.step_block.ver2 .tx .hd {
	margin:0;		
}	
.step_block.ver2 .tx aside {
    font-size: 8.6vw;
}	
.step_block.ver2 .tx .hd .ttl {
    line-height: 1.2
}	
.form_area .row {
    display: block;
}	
.form_area .row .head {
    padding-top: 0;
    width: 100%;
    font-size: 4.8vw;
	margin-bottom: 2vw
}	
.form_area .row .mn {
    width: 100%;
}	
.form_area textarea {
    height: 50vw;
}	
.form_area .infos .row_1 {
    padding: 4.5vw 0;
}	
.form_area .infos .row_1 h4 {
    font-size: 4.8vw;
    padding-bottom: 4.5vw;
}	
.form_area input[type='submit'] {
	width: 100%;
    padding: 22px 2%;
}	
.single_wrap h3 {
    font-size: 5vw;
}	
.list_wrap .block {
    padding-bottom: 5vw;
    margin-bottom: 5vw;
}	
.alignright, .alignleft {
    float: none;
}

.alignright, .alignleft {
    margin: 0 0 2.5vw 0;
    display: block;
}	
.img_w40, .img_w30 {
    width: 100%;
    height: auto;
}	
.h_type_4.mgn_t_20 {
   margin-top: 9.5vw;
}	
.list_type_1.nomb li {
    margin-bottom: 5px;
}	
.list_type_1.nomb li:last-child {
    margin-bottom: 0;
}	
.btn_type_1.ver2 {
    max-width: 100%;
    min-width: 100%;
}
.list_type_1 li {
    margin-bottom: 5px;
}	
.list_check_box {
    display: block;
    flex-wrap: wrap;
}	
.list_check_box li {
    width: 100%;
    margin-bottom: 15px;
}	
.list_check_box li .material-symbols-outlined {
    width: 24px
}	
.list_check_box li p {
    width: calc(100% - 29px)
}	
.scroll-hint .price_tbl {
    width: 820px
}	
.price_tbl.fst .hd {
    width: 100%;
    border-right: none;
    border-bottom: 1px dotted var(--clr_brown);
}	
.price_tbl.fst .cell {
    padding: 5vw 2%;
}	
.price_tbl.fst .mn {
    width: 100%;	
    text-align: center
}	
	
	
	
	
	
	
	
	
	
	
	
	
}
/* ==========================================================================
   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;
  }
}

.br-9 {
	border-radius: 9px;
}