html, body {
	line-height: 1.5;
	font-size: 16px;	
	font-weight: 400;
	letter-spacing: .05em
}
body{
	position: relative;
	font-size: 1rem;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
	color: var(--clr_base);
}
@media screen and (max-width:767px){
	body{
		font-size: .85rem;
	}
}
/*
 * 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; }
.fc_wht{color: var(--clr_wht)}
.fc_base{color: var(--clr_base)}
.fc_glay{color: var(--clr_glay)}
.fc_brown_1{color: var(--clr_brown_1)!important}
.bg_clr_wht {
	background-color: var(--clr_wht)
}
.bg_clr_glay {
	background-color: var(--clr_glay)
}
.bg_clr_brown_1 {
	background-color: var(--clr_brown_1)
}
.bg_clr_brown_2 {
	background-color: var(--clr_brown_2)
}
.bg_clr_brown_3 {
	background-color: var(--clr_brown_3)
}
.bg_clr_beg {
	background-color: var(--clr_beg)!important
}
.bg_clr_glay_2 {
	background-color: var(--clr_glay_2)
}
.bg_clr_ash {
	background-color: var(--clr_ash)
}
.gld_1 {
background: #B19552;
background: linear-gradient(90deg,rgba(177, 149, 82, 1) 0%, rgba(200, 178, 128, 1) 100%);
}
.gld_1_op_88 {
background: #B19552;
background: linear-gradient(90deg,rgba(177, 149, 82, .88) 0%, rgba(200, 178, 128, .88) 100%);
}
/*-------------------------------------
色設定
--------------------------------------*/
:root {
    --clr_wht: #FFF;
    --clr_base: #000000;	
    --clr_glay: #4d4d4d;	
    --clr_glay_2: #f2f2f2;	
    --clr_glay_3: #333333;	
    --clr_glay_4: #534741;	
    --clr_brown_1: #b19552;	
    --clr_brown_2: #c8b280;	
    --clr_brown_3: #998675;	
    --clr_beg: #fafaf2;	
    --clr_ash: #8c5957;	
	
}
.ff_min {
	font-family: "Shippori Mincho", serif;
}  
.ff_cg {
	font-family: century-gothic, sans-serif;
} 
.fs_110 {
    font-size: 110%
}
.fs_120 {
    font-size: 120%
}
.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);
}
.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);
}
.txs_29 {
	font-size: clamp(18px, 1.51vw, 29px);
}
.txs_30 {
	font-size: clamp(22px, 1.56vw, 30px);	
}
.txs_31 {
	font-size: clamp(22px, 1.61vw, 31px);	
}
.txs_32 {
	font-size: clamp(22px, 1.66vw, 32px);	
}
.txs_33 {
	font-size: clamp(22px, 1.71vw, 33px);	
}
.txs_34 {
	font-size: clamp(24px, 1.77vw, 34px);	
}
.txs_35 {
	font-size: clamp(16px, 1.82vw, 35px);	
}
.txs_36 {
	font-size: clamp(26px, 1.84vw, 36px);	
}
.txs_37 {
	font-size: clamp(22px, 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);	
}
.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:2px 2px 0 #000,-2px 2px 0 #000,2px -2px 0 #000,-2px -2px 0 #000;
}
.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
}
.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
}
.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
}
.lh_2_1 {
	line-height: 2.1
}
.lh_2_2 {
	line-height: 2.2
}
.lh_2_3 {
	line-height: 2.3
}
.ls_non {letter-spacing: 0}
.ls_nega {letter-spacing: -.075em!important}
.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_bl{align-items: baseline}
.an_cent{align-items: center}
.blok_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.70;
}
.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_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 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_800 {
	max-width: 800px;
	margin-inline: auto;	
}
.wrap_900 {
	max-width: 900px;
	margin-inline: auto;	
}
.wrap_80p {
	width: 80%;
	margin-inline: auto;	
}
.wrap_1000 {
	max-width: 1000px;
	margin-inline: auto;
}
.wrap_1150 {
	max-width: 1150px;
	margin-inline: auto;
}
.wrap_1200 {
	max-width: 1200px;
	margin-inline: auto;
}
/*-------------------------------------
リスト
--------------------------------------*/
.list_type_mum li,
.list_type_1 li {
	position: relative;
	padding-left: 16px;
	margin-bottom: 1%;
}
.list_type_mum li:last-child,
.list_type_1 li:last-child {
	margin-bottom: 0;
}
.list_type_1 li::after {
    content: "・";  
	position: absolute;
	top: 0;
	left: 0;
}
.list_type_mum {
	counter-reset: number 0;
}
.list_type_mum li {
	position: relative;
}
.list_type_mum li::before {
	position: absolute;
	top: 0;
	left: 0;	
  counter-increment: number 1;
  content: counter(number) ".";
}
.list_type_chk li {
	position: relative;	
	padding-left: 30px;
	margin-bottom: 1%;
	color: #FFF;
}
.list_type_chk.no_mb li {
	margin-bottom: 0;
}
.list_type_chk li:last-child {
	margin-bottom: 0;
}
.list_type_chk li::after {
    content: "";  
	position: absolute;
	top: 0;
	left: 0;
	width: 21px;
	height: 19px;
	background: url("../img/ico_chk.png") no-repeat center / cover
}
.list_type_bd li {
	position: relative;	
	padding-left: 32px;
	margin-bottom: 1%;
}
.list_type_bd li::after {
    content: "";  
	position: absolute;
	top: 0.75em;
	left: 0;
	width: 15px;
	height: 1px;
	background: #000
}
.list_type_bd li:last-child {
	margin-bottom: 0;
}
.list_type_arrw li {
	position: relative;	
	padding-left: 20px;
	line-height: 1.8;	
	margin-bottom: 1%;
}
.list_type_arrw li::after {
    content: "";  
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 8px;
	height: 10px;
	background: url("../img/ico_tra.png") no-repeat center / cover
}
.list_type_arrw li:last-child {
	margin-bottom: 0;
}
.list_type_chk_gld li {
	position: relative;	
	padding-left: 22px;
	margin-bottom: 1%;
	line-height: 1.8
}
.list_type_chk_gld li::after {
    content: "";  
	position: absolute;
	top: 0.35em;
	left: 0;
	width: 18px;
	height: 16px;
	background: url("../img/ico_chk_gld.png") no-repeat center / cover
}
.list_type_chk_gld li:last-child {
	margin-bottom: 0;
}
.list_type_circ li {
	position: relative;	
	padding-left: 18px;
	margin-bottom: 1.5%;
	color: var(--clr_glay_4)
}
.list_type_circ li::after {
    content: "";  
	position: absolute;
	top: 0.65em;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--clr_glay_4)
}

/*-------------------------------------
ボックス
--------------------------------------*/
.bx_tp_1 {
	background: #FFF;
	margin-bottom: 15px
}
.bx_tp_1:last-of-type {
	margin-bottom: 0
}
.bx_tp_1 .px {
	width: 23.83%
}
.bx_tp_1.fxpx .px img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bx_tp_1 .tx {
	width: 76.17%;
	padding: 3% 3%
}
.bx_tp_1 .tx .ttl {
	font-size: clamp(18px, 1.41vw, 27px);
	font-weight: 500;
	padding-bottom: 1%;
	border-bottom: 1px solid #000
}
.bx_tp_1 .tx .mn {
	padding: 1% 0 0;
	line-height: 1.8
}
.bx_tp_2 {
	padding-bottom: 34px;
	margin-bottom: 34px;
	border-bottom: 1px solid #736357	
}
.bx_tp_2:last-of-type {
	margin-bottom: 0;
}
.bx_tp_2 .px {
	width: 22.5%;
	padding: 0 2%;
}
.bx_tp_2 .px.num {
	display: flex;
	justify-content: center;
	align-items: center;
}
.bx_tp_2 .px.num .circ {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background: var(--clr_brown_3);
	display: flex;
	justify-content: center;
	align-items: center;	
}
.bx_tp_2 .px.num .circ .in {
	font-family: century-gothic, sans-serif;
	font-weight: 500;
	color: var(--clr_wht);
	text-align: center;
	letter-spacing: 0;
	line-height: 1;
}
.bx_tp_2 .px.num .circ .in span {
	font-size: 18px;	
	letter-spacing: 0;	
	line-height: 1
}
.bx_tp_2 .px.num .circ .in p {
	font-size: 48px;	
	letter-spacing: 0;	
	line-height: 1
}
.bx_tp_2 .tx {
	width: 77.5%;
}
.bx_tp_2 .tx .ttl {
	margin-bottom: 1%;	
	font-size: clamp(20px, 1.56vw, 30px);	
	color: var(--clr_ash)
}
.bx_tp_3 {
	padding: 30px;
}
.bx_tp_3 .px {
	width: 25%
}
.bx_tp_3 .tx {
	width: 75%;
	padding-left: 4.5%;
}
.bx_tp_3 .tx header {
	display: flex;
	align-items: center;
	column-gap: 18px;
}
.bx_tp_3 .tx header.no_num {
	display: block;
}
.bx_tp_3 .tx header .num {
	font-size: clamp(22px, 1.82vw, 35px);	
	font-weight: 500;
	color: var(--clr_ash);
}
.bx_tp_3 .tx header .ttl {
	font-size: clamp(18px, 1.66vw, 32px);	
}
.rows dt {
	font-size: clamp(16px, 1.09vw, 21px);	
	font-weight: 500;
	color: var(--clr_brown_1);
	padding-bottom: 8px;
	margin-bottom: 12px;
	border-bottom: 1px solid #000
}


/*-------------------------------------
ボタン
--------------------------------------*/
.btn_type_1,
.form_area input[type='submit']{
	width: 240px;
	padding: 16px 2%;
	background: var(--clr_glay);
	position: relative;
}
.btn_type_1 p,
.form_area input[type='submit']{
	position: relative;
	letter-spacing: .075em;
	line-height: 1;
	color: #FFF;
	text-align: center;	
	z-index: 10
}
.btn_type_1 aside {
	position: absolute;
	top: 0;
	bottom:0;
	right: 0;
	width: 120px;
	height: 100%;
	margin: auto;
	background: #666666;
	z-index: 0;
	clip-path: polygon(24% 0%, 100% 0, 100% 100%, 0% 100%);

}
.btn_type_1::after {
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	right: 10%;
	width: 8px;
	height: 12px;
	margin: auto;
	background: url("../img/tra_1.png") no-repeat center / cover

}
.btn_type_2 {
	position: relative;
	max-width: 450px;
	margin-inline: auto;
	padding: 30px 2%;
	font-weight: 500;
	color: var(--clr_wht);
	text-align: center;
	letter-spacing: .08em;
	line-height: 1;
}
.btn_type_2.no_mau {
	margin-left: 0;
	margin-right: 0
}
.btn_type_3 {
	position: relative;
	margin-inline: auto;
}
.btn_type_3.no_mau {
	margin-left: 0;
	margin-right: 0
}
.btn_type_3 a{
	display: block;
	width: fit-content;
	margin-inline: auto;
}
.btn_type_3 img{
	width: 100%;
	height: auto;
}
/*-------------------------------------
見出し
--------------------------------------*/
.h_type_1 .en {
	font-family: century-gothic, sans-serif;
	font-size: clamp(36px, 3.12vw, 60px);	
	letter-spacing: .08em;
	line-height: 1.2
}
.h_type_1 .ttl {
	font-size: clamp(17px, 1.25vw, 24px);
	letter-spacing: .08em;	
}
.h_type_2 .en {
	font-family: century-gothic, sans-serif;
	font-size: clamp(16px, 1.3vw, 25px);
	letter-spacing: .08em;
}
.h_type_2 .ttl {
	font-size: clamp(20px, 2.08vw, 40px);	
}
.h_type_3 {
	padding: 7px min(1.82vw, 35px);
	color: #FFF
}
.h_type_4,
.single_wrap h3 {
	padding: 0 0 0 18px;
	position: relative;
	line-height: 1.3
}
.h_type_4::before,
.single_wrap h3::before{
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	left: 0;
	width: 5px;
	height: 100%;
	margin: auto;
	background: var(--clr_brown_1);
	border-radius: 5px
}
.h_type_4.glay::before {
	background: var(--clr_glay);
}

/*-------------------------------------
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_150_t {
	padding-top: min(7.81vw, 150px);
}
.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{
	padding: min(2.08vw, 40px) 0;
}
.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);
}
.side_pad {
	padding-right: 1.5%;
	padding-left: 1.5%;	
}
.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_10 {
	column-gap: 10px
}
.gap_20 {
	column-gap: 30px
}
.gap_30 {
	column-gap: min(1.5625vw, 30px)
}
.mgn_t_40 {
	margin-top: min(2.08333333vw, 40px)
}
.mgn_t_50 {
	margin-top: min(2.6041vw, 50px)
}
.mgn_t_55 {
	margin-top: min(2.86vw, 55px)
}
.mgn_t_60 {
	margin-top: min(3.125vw, 60px)
}
.mgn_t_70 {
	margin-top: min(3.64vw, 70px)
}
.mgn_t_80 {
	margin-top: 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;
}
/* ==========================================================================
   Author's custom styles
   ========================================================================== */
header.general {
	position: relative
}
header.general .inn {
}
header.general .inn .logo {
	width: 31%;
}
header.general .inn .list {
	width: calc(100% - 31%)
}
header.general .inn .list li a {
	transition: all 0.25s 0s ease;
}
header.general .inn .list li:hover a {
	opacity: .75
}
header.general .inn .list li a {
	display: inline-block;
	padding: 34px 0;
	font-size: clamp(14px, 0.78vw, 15px);
	font-weight: 500;
	color: var(--clr_wht);
	letter-spacing: .0em;
}
header.general .inn .list li.par {
}
.maga_m {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	padding: 16px 0;
	background: #FFF;
	z-index: 999
}
.maga_m:before {
    content: "";
    position: absolute;
    top: -10px;
    left: 45%;
    margin-left: min(3.65vw, 70px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 15px 10px 15px;
    border-color: transparent transparent #fff transparent;
}
.maga_m .inn {
    column-gap: 10px;
}
.maga_m .inn .ttls {
    width: calc(14% - 5px);
	padding-right: 10px;
	border-right: 1px solid var(--clr_brown_1)
}
.maga_m .inn .ttl a {
    opacity: 1!important;
	display: block!important;
    padding: 0!important;
	font-size: clamp(15px, 0.93vw, 18px)!important;	
    font-weight: 500;
    letter-spacing: .025em!important
}
.maga_m .inn .tx {
	margin-top: 2%;
    font-size: 12px;
	letter-spacing: 0;
	line-height: 1.25
}
.maga_m .inn ul {
    width: calc(86% - 5px);	
    column-gap: 8px;
}
.maga_m .inn li {
    width: 100%;
}
.maga_m .inn li a {
    padding: 0!important;
}
.maga_m .inn li p {
	margin-top: 3%;
    font-size: 14px;
	color: var(--clr_base);
	font-weight: 400;
	text-align: center
}





.mv {
	position: relative
}
.in_wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.mv .in_wrap .in,
.tp_au .in_wrap .in{
	display: flex;
	align-items: center;
	height: 100%;
}
.mv .in_wrap .in .ttl {
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: .085em;
	font-feature-settings: "palt";
	text-shadow: 3px 3px 7px rgba(0,0,0,0.7);
	position: relative;
}
.mv .in_wrap .in .ttl .obj {
	width: auto;
	height: min(17.14vw, 329px);
	left: 17%;
	bottom: calc(min(15.89vw, 305px) * -1)
}
.tp_infos {
	position: relative;
	padding-bottom: min(6.93vw, 133px);
}
.tp_infos .obj  {
	width: auto;
	height: 100%;
	top: 0;
	right: 0;
	z-index: 1
}
.tp_infos .bxs{
	column-gap: 10px;
	position: relative;
	z-index: 10
}
.tp_infos .cnt  {
	width: 100%;
	max-width: 590px;
	padding: min(2.08vw, 40px) min(3.8vw, 73px);
	border: 1px solid var(--clr_wht);
}
.tp_infos .cnt .row_1  {
	display: flex;
	align-items: center;
	column-gap: 4%;
	padding-bottom: 3%;
	margin-bottom: 3%;
}
.tp_infos .cnt .row_2 .tel_group{
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1rem;
    letter-spacing: 1px;
    line-height: 1;
    width: fit-content;
	text-align: right;
}
/* test */
.tp_infos .cnt .row_2 .examination {
	margin-top: 1.25rem;
}
.tp_infos .cnt .row_2 .visit{
	margin-top: 1rem;
}
.tp_infos .cnt .row_2 .txs_20 {
	line-height: .5;
	margin-top: 1rem;
}
.tp_infos .cnt .row_2 .visit img{
	width: 90%;
}
.tp_infos .cnt .row_2 .visit-top{
	max-width: 72%;
	margin-top: 1rem;
}
.tp_infos .days   {
	width: 100%;
	max-width: 500px;
}
.tp_infos .youtube a {
	margin-inline: auto;
    display: block;
    width: fit-content;
}
.tp_infos .youtube img{
	max-width: 620px;
	width: 100%;
	height: auto;
}

.dashed {
  background-image: linear-gradient(to right, #FFF, #FFF 12px, transparent 4px);
  background-size: 20px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
}
.btns{
	column-gap: 9px
}
.btns .btn{
	width: 100%;
	padding: 20px 2%;
	color: #FFF;
	letter-spacing: 0;
	text-align: center;
	position: relative;
	line-height: 1
}
.btns .btn::after{
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	right: 5%;
	width: min(1.25vw, 24px);
	height: 1px;
	margin: auto;
	background: #FFF;
}
.time_tbl {
	width: 100%;
	max-width: 503px
}
.time_tbl .row {
	display: flex
}
.time_tbl .row.no1 {
	margin-bottom: 15px;	
	border-bottom: 1px solid var(--clr_wht);
}
.time_tbl .row.no2 .cell {
	padding-bottom: 26px
}
.time_tbl .row.no3 .cell {
	padding-bottom: 0
}
.time_tbl .row .hd {
	width: 35.19%;
}
.time_tbl .row .cell {
	text-align: center;
	line-height: 1;
	padding-bottom: 15px;
	letter-spacing: .08em
}
.time_tbl .row .bse {
	width: calc((100% - 35.19%) / 7);
}
.tp_infos .days .msg {
	display: flex;
	justify-content: center;
	padding: 10px;
}
.tp_au .mn {
	max-width: 590px;
	margin-top: 3%;
	letter-spacing: 0;
	line-height: 2
}
.tp_au .chks {
	width: min(37.08vw, 712px);
	position: absolute;
	right: 0;
	bottom: -5%;
	padding-right: 2%;
	padding-left: 2%;	
	display: flex;
	justify-content: center
}
.tp_au .chks .list_type_chk li {
	margin-bottom: 5%;
}
.tp_au .chks .list_type_chk li:last-child {
	margin-bottom: 0;
}
.feature_greet {
	padding: min(9.38vw, 180px) 0 min(7.97vw, 153px);
	background: url("../img/f_g_bg.jpg") repeat-y top / cover
}
.feature_greet .embedded_youtube {
	margin-inline: auto;
	aspect-ratio: 16 / 9;
	width: 100%;
	max-width: 800px;
}
.feature_greet .embedded_youtube iframe {
	width: 100%;
	height: 100%;
}
.feature_greet .h_type_1_ireg_wrap {
	width: 50%;	
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.feature_greet .h_type_1 {
}
.feature_greet .h_type_1 .en {
	width: 100%;
}
.feature_greet .feature {
	margin-top: min(10.42vw, 200px);
}
.feature_greet .feature .block {
	align-items: center;
	width: 100%;
}
.feature_greet .feature .block .px {
	width: 47.2%
}
.feature_greet .feature .block .tx {
	width: 52.8%;
	padding-left: 5%;
	padding-right: 8%;
}
.feature_greet .feature .block.flex-rev .tx {
	padding-left: 8%;
	padding-right: 2%;
}
.feature_greet .feature .block .tx .num {
	margin-bottom: 5%;
	margin-left: -6%;
	font-family: "Shippori Mincho", serif;
	font-size: clamp(14px, 4.38vw, 84px);
	font-weight: 500;
	color: var(--clr_brown_2);
	letter-spacing: .0em;
	line-height: 1;
	font-style: italic
}
.feature_greet .feature .block .tx .ttl {
	margin-bottom: 3%;
	font-size: clamp(20px, 1.77vw, 34px);	
	font-weight: 500;
	letter-spacing: .04em;
}
.feature_greet .feature .block .tx p {
	line-height: 1.65;
	font-feature-settings: "palt";
	letter-spacing: .08em
}
.feature_greet .feature .block .tx .line {
	margin-top: 2%;
	font-weight: 600;
	padding: 8px 0;
	border-top: 1px solid var(--clr_brown_1);
	border-bottom: 1px solid var(--clr_brown_1);
}
.feature_greet .feature .block .tx .line.no2 {
	margin-top: 0;
	border-top: none
}
.feature .block .tx .btn_wrap {
	display: flex;
	justify-content: flex-end;
}
.feature_greet .feature .block.flex-rev .tx .btn_wrap {
	justify-content: flex-start;
}
.feature_greet .greet {
	margin-top: min(10.42vw, 200px);
}
.feature_greet .greet .px {
	width: 42.71%;
	position: relative;
	z-index: 0
}
.feature_greet .greet .tx {
	width: 54.5%;
	position: relative;
	z-index: 10;
}
.feature_greet .greet .tx .h_type_1 {
	margin: 0 0 4% 5%
}
.feature_greet .greet .tx .in {
	padding: min(3.28vw, 63px) min(3.28vw, 63px) min(3.8vw, 73px) 0;
	position: relative;
}
.feature_greet .greet .tx .in::before {
	content: "";
	position: absolute;
	top: 0;
	left: -34px;
	width: 34px;
	height: 100%;
	background: #FFF;
}
.feature_greet .greet .tx .in .post_nam {
	display: flex;
	align-items: center;
	column-gap: 7px
}
.feature_greet .greet .tx .in .nam {
	display: flex;
	flex-flow: row-reverse;
	justify-content: flex-end;
	align-items: center;
	column-gap: 18px
}
.feature_greet .greet .tx .in .post_nam aside {
	width: 30px;
	height: 1px;
	background: #000000
}
.feature_greet .greet .tx .row_1 {
	padding-left: min(8.59vw, 165px)
}
.feature_greet .greet .tx .row_2 {
	padding-left: min(4.22vw, 81px)
}
.feature_greet .greet .tx .row_2 .in {
	max-width: 626px;
	padding: 0 2% 30px 101px;
	background: rgba(242,242,242,.33);
	position: relative
}
.feature_greet .greet .tx .row_2 .in .ttl {
	font-size: 25px;
	letter-spacing: .08em;
	line-height: 1;
	position: relative;
	top: -12px;
}
.feature_greet .greet .tx .row_2 .in .list_type_bd {
	margin: 3% 0 0 2%
}
.tp_mt {
}
.tp_mt .obj {
	width: min(17.55vw, 337px);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0
}
.tp_mt .bar {
	width: 65px;
	height: 5px;
	background: #FFF;
	border-radius: 5px;
	margin-inline: auto;	
}
.tp_mt .leade {
	max-width: 720px;
	margin-inline: auto;
	line-height: 2.2;
	text-align: center
}
.tp_mt .bxs {
	row-gap: min(3.13vw, 60px);
}
.tp_mt .bx {
	position: relative;
	width: 48%;
	padding: 8px;
	background: #f2f2f2;
}
.tp_mt .bx .in {
	padding: 30px 45px;
	position: relative;
}

.tp_mt .bx .in::before,
.tp_mt .bx .in::after {
	content: "";
	position: absolute;
	width: 147px;
	height: 124px;
	margin: auto;
	border-top-width: 2px;
	border-bottom-width: 2px;
	border-style: solid;
	border-color: #000
}
.tp_mt .bx .in::before {
	top: 0;
	right: 0;
	border-left: none;
	border-bottom: none;
}
.tp_mt .bx .in::after {
	bottom: 0;
	left: 0;
	border-right: none;
	border-top: none;	
}
.tp_mt .bx .in .icon_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
}
.tp_mt .bx .tx {
	margin-top: 6%
}
.tp_mt .bx .tx .ttl {
	font-family: "Shippori Mincho", serif;
	font-size: clamp(22px, 1.56vw, 30px);	
	font-weight: 500;
	text-align: center;
	letter-spacing: .1em;
}
.tp_mt .bx .tx .ttl + p {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .15em;
	text-align: center;
}
.tp_mt .bx .tx .leade {
	padding: 4px 2%;
	margin: 3.4% auto;
	text-align: center;
	font-weight: 500;
	line-height: 1.35;
	border: 1px solid #000000;
}
.tp_mt .bx.bd_pat_1 .in::before,
.tp_mt .bx.bd_pat_1 .in::after {
	border-color: #998689
}
.tp_mt .bx.bd_pat_2 .in::before,
.tp_mt .bx.bd_pat_2 .in::after {
	border-color: #667684
}
.tp_mt .bx.bd_pat_3 .in::before,
.tp_mt .bx.bd_pat_3 .in::after {
	border-color: #c8b280
}
.tp_mt .bx.bd_pat_4 .in::before,
.tp_mt .bx.bd_pat_4 .in::after {
	border-color: #8c5957
}
.tp_mt .bx.bd_pat_5 .in::before,
.tp_mt .bx.bd_pat_5 .in::after {
	border-color: #99a995
}
.lst_bxs .row {
	column-gap: 16px;
}
.lst_bxs .row .cell {
	width: 100%;
	padding: min(3.39vw, 65px) 2%;
	border-radius: 30px;
	border: 1px solid #000000;
	display: flex;
	justify-content: center;
	align-items: center;
}
.lst_bxs .row .cell .in {
	text-align: center;
	font-weight: 500;
	letter-spacing: .08em
}
.lst_bxs .row .cell .in p {
	font-size: clamp(15px, 0.98vw, 19px);	
}
.lst_bxs .row .cell .in .ttl {
	font-size: clamp(20px, 1.56vw, 30px);	
}
.detail_medical {
	position: relative;
	z-index: 1;
	padding: min(2.08vw, 40px) 0 min(13.54vw, 260px);
	background: url("../img/detail_medical_bg.jpg") no-repeat top / cover
}
.ov_lay_10 {position: relative; z-index: 10}
.tp_cnt {
	position: relative;
	z-index: 100;
	background: var(--clr_glay_2)
}
.tp_cnt .obj {
	right: 0;
	bottom: 0;
	width: min(53.59vw, 1029px)
}
.tp_dynamic .block {
	position: relative;
	background: #FFF;
	margin-top: 18px;	
	padding: 15px 0;
	letter-spacing: 0;
	font-weight: 400;
	background-image: url("../img/tp_dyna_arrw.png");
	background-repeat: no-repeat;
	background-position: 98% center;
	background-size: auto
}
.tp_dynamic .block .date {
	width: 18.92%;
	text-align: center;
}
.tp_dynamic .block .mn {
	width: 81.08%;
	padding-right: 10%;
}
.tp_dynamic .txs_12{
	color: #fff;
}
.go_all {
	display: flex;
	justify-content: flex-end
}
.tp_insta .obj {
	width: min(28.08vw, 337px);
	top: calc(min(3.92vw, 47px) * -1);
    left: calc(min(11.67vw, 110px) * -1);
	z-index: -1
}
.tp_recruit .recruit_bnr {
	margin-inline: auto;
}
.tp_recruit .recruit_bnr img{
	width: 100%;
	height: auto;
}
.loop .splide__slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover
}
.ft_infos {
	padding-top: min(14.75vw, 177px);
	background: url("../img/ft_infos_bg.jpg") no-repeat top / cover
}
.ft_infos .inn {
	column-gap: 30px
}
.ft_infos .inn .txt {
	width: calc(47.17% - 15px);
}
.ft_infos .inn .txt .tp_infos .days {
	margin-inline: auto;
}
.ft_infos .inn .map {
	width: calc(52.83% - 15px);
	padding: min(1.5625vw, 30px);
	background: rgba(255,255,255,.26)
}
.ft_infos .inn .map .ggmap {
    padding-bottom: 100%;
}
.ft_lists {
	background: var(--clr_glay_3)
}
.ft_lists ul {
	display: flex;
	justify-content: center;
	column-gap: min(1.3vw, 25px);
	color: #FFF;
	font-size: 15px;
	font-weight: 500
}
.under .mv .in_wrap .in .ttl {
	font-family: "Shippori Mincho", serif;
	font-size: clamp(36px, 3.12vw, 60px);	
	font-weight: 500;
	color: var(--clr_wht);
	text-align: center;
	letter-spacing: 0em;
	text-shadow :2px 2px 10px #c8b280,
-2px 2px 10px #c8b280,
2px -2px 10px #c8b280,
-2px -2px 10px #c8b280,
-2px -2px 10px #c8b280,
-2px -2px 10px #c8b280,
-2px -2px 10px #c8b280
}
.under .sec p {
	line-height: 1.9
}
.sepa_tp_1 .tx {
	width: 56%;
}
.sepa_tp_1 .px {
	width: 39.08%;
}
.sepa_tp_2 {
	row-gap: 26px;
}
.sepa_tp_2 .bx {
	width: 47.6%;
	background: #FFF	
}
.sepa_tp_2.ver3 {
	column-gap: 1.5%;
}
.sepa_tp_2.ver3 .bx {
	width: 33.33333%;
	position: relative;
	background: var(--clr_beg);
}
.sepa_tp_2 .bx .ttl {
	padding: 7px 28px;
	font-size: clamp(22px, 1.56vw, 30px);	
	color: #FFF
}
.sepa_tp_2.ver3 .bx .ttl {
	font-size: clamp(16px, 1.15vw, 22px);
	text-align: center
}
.sepa_tp_2 .bx .mn {
	padding: 22px 28px;
}
.sepa_tp_2 .bx .mn .tx {
	padding: 3% 0 0 
}
.sepa_tp_2 .bx.nopx .mn .tx {
	padding: 0 
}
.under_cmmn_cnt {
	background: url("../img/under_cmmn_cnt_bg.jpg") no-repeat top / cover;
	margin-bottom: -1px;
}
.under_cmmn_cnt .btns {
	max-width: 208px;
	margin-inline: auto;	
}
.under_cmmn_cnt .btn {
	color: var(--clr_brown_1)	
}
.under_cmmn_cnt .btn::after {
    background: var(--clr_brown_1)
}
.under_cmmn_cnt .tel-group .tel_wrap .ruby{
	text-align: right;
	line-height: 0.5;
	letter-spacing: .5em;
}
.sepa_fif .bx {width: 50%}
.tbl_tp_1_wrap table {
    table-layout: fixed;
    width: 1200px;
    margin-inline: auto;
	border: 1px solid var(--clr_glay_3);
	border-bottom: none;
	border-right: none;	
	border-collapse:collapse
}
.tbl_tp_1_wrap table th,
.tbl_tp_1_wrap table td{
	padding: 10px;
	text-align: center;
	border-bottom: 1px solid var(--clr_glay_3);
	border-right: 1px solid var(--clr_glay_3);
}
.tbl_tp_1_wrap table th{
	padding-left: 0px;
	padding-right: 0px;
	font-weight: 500;
	text-align: center;
	color: #FFF;
	background: var(--clr_brown_2)
}
.tbl_tp_1_wrap table td.bg_clr_beg{
	font-weight: 500;
}


.w_5 {
	width: 5%;
}
.w_6 {
	width: 6%;
}
.w_7 {
	width: 7%;
}
.w_8 {
	width: 8%;
}
.w_10 {
	width: 10%;
}
.w_20 {
	width: 20%;
}
.w_30 {
	width: 30%;
}
.w_40 {
	width: 40%;
}
.sepa_three .bx {
	width: 33.3333%
}
.list_wrap .block {
    padding-bottom: 3%;
    margin-bottom: 3%;
    border-bottom: 2px solid #dfd5d5;
    position: relative;
}
.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: 5px;
	border: 1px solid var(--clr_brown_1);
	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_1);
}
.single_wrap .tit {
    padding-bottom: 18px;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--clr_glay_2);
	font-family: "Shippori Mincho", sans-serif;	
	color: var(--clr_brown_1);
}
.single_wrap h3 {
	margin-bottom: 1%;
    font-size: clamp(17px, 1.25vw, 24px);
}
.h_type_2.ver2 .ttl {
	position: relative;
	line-height: 1;
	display: inline-block
}
.h_type_2.ver2 .ttl span {
	font-size: clamp(16px, 1.35vw, 26px);
}
.h_type_2.ver2 .ttl .obj {
	width: min(7.81vw, 150px);
	right: calc(min(7.81vw, 150px) * -1);
	top: calc(min(3.91vw, 75px) * -1)
}
.h_type_2.ver2 .ttl .obj.no2 {
	right: calc(min(6.77vw, 130px) * -1);
}
.director .feature_greet,
.staff .feature_greet {
    padding: min(5.2vw, 100px) 0;
    background: url(../img/f_g_bg.jpg) repeat-y top / cover;
}
.director .feature_greet .greet,
.staff .feature_greet .greet{
    margin-top: 0;
}
.guide .sepa_tp_2 .bx .mn .tx p span.fw_600 {
	font-family: "Shippori Mincho", serif;
	margin-bottom: 2%;
	letter-spacing: .085em;
	font-feature-settings: "palt";	
	color: var(--clr_ash);
	font-weight: 900;
	font-size: 110%;
	display: inline-block
}
.bx_tp_3 .tx.long {
	padding-left: 0;
	width: 100%;
}
.bx_tp_3 .tx .ttl.ver_faq {
	position: relative;
	padding-left: min(2.6vw, 50px);
	line-height: 1.35
}
.bx_tp_3 .tx .ttl.ver_faq::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: min(2.14vw, 41px);
	height: min(1.93vw, 37px);
	background: url("../img/ico_faq.png") no-repeat center / cover
}
.h_type_line {
    font-weight: 600;
    padding: 12px 0;
    border-top: 1px solid var(--clr_brown_1);
    border-bottom: 1px solid var(--clr_brown_1);
	letter-spacing: .085em;
	font-feature-settings: "palt";	
}
.sepa_case {
	align-items: center;
	column-gap: 40px;
    justify-content: center;
}
.sepa_case .bx {
	width: 30%;
	position: relative
}
.sepa_case .bx:first-child::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: -35px;
	width: 20px;
	height: 30px;
	margin: auto;
	background: url("../img/ico_arrw_1.png") no-repeat center / cover
}
.preventive .bx_tp_1 .px img {
    height: 100%;
	object-fit: cover
}
.clinic-information .sepa_tp_2 .bx .ttl {
    font-size: 22px;
	text-align: center
}
.clinic-information .sepa_tp_2 .set .ttl {
	display: flex;
	justify-content: center;
	align-items: center
}
.access .time_tbl {
	margin-inline: auto;
}
.access .time_tbl .row.no1 {
    border-bottom: 1px solid var(--clr_base);
}
.fig_tp_cap {
	position: relative
}
.fig_tp_cap figcaption {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 6px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: clamp(16px, 1.04vw, 20px);	
	font-weight: 600;
	background: rgba(255,255,255,.75);
}
.tbl_tp_2 {
	border: 1px solid var(--clr_brown_1);
	border-right: none
}
.tbl_tp_2 .sepa .cell {
	width: 50%;
	padding: 15px;
}
.tbl_tp_2 .sepa .cell.full {
	width: 100%;
}
.tbl_tp_2 .cell {
	border-right: 1px solid var(--clr_brown_1);
	text-align: center;
	letter-spacing: .085em;
	font-feature-settings: "palt";	
}
.tbl_tp_2 .cell.hd {
	background: var(--clr_brown_1);	
	color:#FFF;
	font-weight: 600
}
.tbl_tp_2 .cell.hd:first-child {
	border-right: 1px solid var(--clr_wht);
}
.price .sepa_tp_2 .bx .ttl {
	display: flex;
	flex-wrap: wrap;
	align-content: center
}
.price .sepa_tp_2 .bx .ttl .txs_14 {
	display: block;
	width: 100%
}
/* 2507224 */
.price .h_type_3 {
	color: var(--clr_base);
	padding: 7px min(1.82vw, 35px) 0px 0;
	margin-bottom: 12px;
}
.price table {
	width: 100%;
	border-collapse: collapse;
}
.price thead th,
.price thead td {
	color: #fff;
}
.price tbody th {
	background-color: var(--clr_beg);
}
.price th,
.price td {
	border: 1px solid #e3e2dc;
	padding: 15px;
	text-align: center;
	font-weight: 600;
}
@media screen and (max-width:767px){
	.price th,
	.price td {
		padding: 12px;
	}
}
.price th{
	width: 60%;
}
.price td {
	width: 40%;
}
.recruit .bx_tp_2 .px {
    width: 15%;
}
.recruit .bx_tp_2 .tx {
    display: flex;
	column-gap: 5%;
	align-items: center
}
.recruit .bx_tp_2 .image {
    width: 30%
}
.recruit .tbl_tp_2 .sepa .cell.hd {
    width: 30%;
    border-bottom: 1px solid var(--clr_wht);	
	display: flex;
	justify-content: center;
	align-items: center	
}
.recruit .tbl_tp_2 .row:last-of-type .cell.hd {
    border-bottom: none;
}
.recruit .tbl_tp_2 .sepa .cell.bse {
    width: 70%;	
    text-align: left;
	background: #FFF;
    border-bottom: 1px solid var(--clr_brown_1);	
}
.recruit .tbl_tp_2 .row:last-of-type .cell.bse {
    border-bottom: none;		
}
.form_area .row {
	justify-content: space-between;
	margin-bottom: 6px;
}
.form_area .row .bx {
	padding: 16px 0;
	background-color: #FFF;
	font-size:max(0.93vw,14px);
	font-weight: 500;
	letter-spacing: .065em;	
}
.form_area .row .th {
	width: 30%;
	column-gap: 10px;	
	justify-content: center;
	align-items: center;
}
.form_area .row .th .req {
	padding: 5px 8px;
	font-size:12px;
	font-weight: 500;
	letter-spacing: .065em;
	line-height: 1;
	background: #E3282B;
	color: #FFF;
	border-radius: 30px;
}
.form_area .row .th p {
}
.form_area .row .td {
	width: 69.3%;
	padding-left: 1.45vw;
	padding-right: 1.45vw	
}
/*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,
.form_area input[type='date']{
	width: 100%;
	padding: 3px 5px;
	background-color: #FFF;
	border: 1px solid #808080;
	-webkit-transition:all .1s;
	transition:all .1s;	
}
.form_area select{
	width: auto;	
}
.form_area select,
.form_area input[type='date']{
	display: block;
	font-size: 16px;
	font-weight: 400
}
.form_area input[type='date']{
	height: 100%
}
.form_area .mid_size{max-width: 358px}
.form_area .long_size,
.form_area textarea{max-width: 744px;width: 800px}
.form_area textarea{height: 11.56vw}
.selct_wrap span:nth-child(3) {
	display: block;
	width: 100%;	
	max-width: 80px
}
.selct_wrap .select_tx {
	padding: 0 8px
}

.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 #808080;
	border-radius: 2px;
}
.form_area .pri_chk .wpcf7-form-control.wpcf7-checkbox {
    display: block;
	margin: 3.12vw auto 2.08vw;
}
.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;
}
.wpcf7-form-control.wpcf7-checkbox {
	display: flex;
	align-items: center;
	flex-wrap: wrap
}
.wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {
	margin-right: 27px;
}
.wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item:last-child {
	margin-right: 0;
}
.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
}
::placeholder {
    font-weight: 300;
	font-size:max(0.78vw,12px);
}
.form_area .row .td.job {
    align-items: center
}
.form_area .row .td.job .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {
    margin-bottom: 7px;
}
.form_area .row .td.job {
    padding-bottom: 5px;
}
.form_area .infos {
    padding: 4.16vw 0 3.33vw;
}
.form_area .infos .row_1 {
    border-top: 1px solid #808080;
	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: 1.82vw;	
}
.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 .btn_type_1 a {
    margin: 0 auto;
	padding-left: 24px
}
.form_area .btn_type_1 a span {
    margin-right: 34px;
}
.form_area input[type='submit']{
	display: block;
	margin-inline: auto;
	background: var(--clr_brown_1);
	font-weight: 600;
}
.recruit .tbl_tp_2 .sepa .cell.hd {
    width: 100%;
    border-bottom: 1px solid var(--clr_wht);
    display: flex;
    justify-content: center;
    align-items: center;
}
.recruit .tbl_tp_2 .sepa .cell.bse {
    width: 100%;
    text-align: left;
    background: #FFF;
    border-bottom: 1px solid var(--clr_brown_1);
}
.form_area {
}










@media screen and (max-width:1210px){
.wrap_1200, .wrap_1150 {
	padding-right: 2%;
	padding-left: 2%;	
}	
}
@media screen and (max-width:1000px){
.tp_au .chks {
}
.tp_au .mn {
    max-width: inherit;
    width: 50%
}	
}

@media screen and (max-width:767px){
/* ==========================================================================
   Commons styles
   ========================================================================== */
.flex_wrapper, .flex-wrap_par{
    display: block;
}
.flex_sp{
	display: -webkit-flex!important;
    display: -moz-flex!important;
    display: -ms-flex!important;
    display: -o-flex!important;
    display: flex!important;
	flex-wrap: wrap!important;
}	
.pc{display: none!important}
.sp{display: block!important}	
a[href^="tel:"] {
	pointer-events: auto;
	cursor: pointer;
}	
.wrap_1200, .wrap_1000, .wrap_1150, .wrap_900, .wrap_800 {
    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_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!important
}	
.sp_yaku {font-feature-settings: "palt";}	
header.general {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999
}	
header.general .inn {
	height: 15vw;
	display: flex;
	justify-content: space-between;
	align-items: center
}	
header.general .inn .logo {
    width: 50%;
}	
.sp_ham {
    width: 30px;
    height: 60px;		
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
	justify-content: center;
    cursor: pointer;
    transition-property: all;
    transition: 0.3s linear;
}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
 	position: relative;
	display: block;
 	width: 30px;
	margin: 0 auto;
 	height: 19px;
}
.menu-trigger.active {
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: var(--clr_wht);
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: calc(50% - 1px);
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-45deg);
  transform: translateY(8px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) rotate(45deg);
  transform: translateY(-8px) rotate(45deg);
}	
header.general .inn .list {
    display: none;
	position: absolute;
	top: 15vw;
	left: 0;
	width: 100%;
	height: calc(100vh - 15vw);
	z-index: 9999;
	background: #FFF;
	overflow-y: scroll
}
header.general .inn .list li {
	border-bottom: 1px solid var(--clr_brown_2)
}	
header.general .inn .list li a {
    display: block;
    padding: 3vw 0;
    font-size: 16px;
    font-weight: 500;
    color: var(--clr_base);
    letter-spacing: .0em;
	text-align: center;
}	
/**********************************************************************************/
.mgn_t_160 {
    margin-top: 16.5vw
}	
.sec_pad_150_t {
    padding-top: 15.5vw;
}	
.sec_pad_130_t {
    padding-top: 13.5vw;
}	
.sec_pad_130 {
    padding: 13.5vw 0;
}
.mgn_t_10 {
    margin-top: 2.5vw;
}	
.mgn_t_20 {
    margin-top: 3.5vw;
}	
.mgn_t_25 {
    margin-top: 4vw;
}	
.mgn_t_40 {
    margin-top: 5.5vw;
}		
.mgn_t_50 {
    margin-top: 6.5vw;
}	
.mgn_t_60 {
    margin-top: 7.5vw
}
.sec_pad_70 {
    padding: 8.5vw 0;
}	
.sec_pad_80 {
    padding: 9.5vw 0;
}	
.mgn_t_80 {
    margin-top: 9.5vw;
}	
.sec_pad_80_t {
    padding-top: 9.5vw;
}
.sec_pad_130_b {
    padding-bottom: 13.5vw;
}
.sec_pad_100 {
    padding: 10.5vw 0;
}	
.mgn_t_100 {
    margin-top: 10.5vw;
}	
.mgn_t_30 {
    margin-top: 4.5vw;
}	
.txs_60 {
    font-size: 15vw
}
.txs_19 {
    font-size: 4.75vw
}	
.txs_21 {
    font-size: 5.25vw;
}	
.txs_24 {
    font-size: 6vw
}
.txs_40 {
    font-size: 10vw;
}
.sp_txs_24 {
    font-size: 6vw;
}
.sp_txs_6 {
    font-size: 6vw;
}
.sp_txs_6_5 {
    font-size: 6.5vw;
}
.sp_txs_7 {
    font-size: 7vw;
}
.sp_txs_8 {
    font-size: 8vw;
}
.sp_txs_9 {
    font-size: 9vw;
}
.sp_txs_10 {
    font-size: 10vw;
}
.sp_mgn_t_0 {
    margin-top: 0
}
.sp_mgn_t_4 {
    margin-top: 4vw
}
.sp_ls_nega_3 {
    letter-spacing: -.03em;
}	
.sp_ls_100 {
    letter-spacing: .1em;
}	
	
/**********************************************************************************/
.mv {
    margin-top: 15vw;
}	
.mv .in_wrap .in {
	width: 100%;
    justify-content: center;
}	
.mv .in_wrap .in .ttl {
	width: 100%;	
	font-size: 7.5vw;
	text-align: center;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: .085em;
    font-feature-settings: "palt";
    text-shadow: 3px 3px 7px rgba(0, 0, 0, 0.7);
    position: relative;
}	
.mv .in_wrap .in .ttl .obj {
    height: 40vw;
    left: 0;
	right: 0;
	margin: auto;
    bottom: -40vw;
}	
.tp_infos {
    padding-bottom: 15vw
}	
.tp_infos .obj {
    display: none
}	
.tp_infos .cnt {
    width: 100%;
    max-width: 590px;
    padding: 0;
    border: none
}	
.tp_infos .cnt .row_1 {
    column-gap: 4vw;
    padding-bottom: 4vw;
    margin-bottom: 4vw;
}	
.btns .btn {
    width: 70%;
    padding: 6vw 2%;
	margin-inline: auto;
	margin-top: 5vw
}	
.tp_infos .days {
    margin-top: 10vw
}	
.tp_au .mn {
    width: 100%
}	
.tp_infos .days .msg {
    font-size: 15px;
	line-height: 1.3;
    padding: 5px;
}	
.tp_au .chks {
    width: 100%;
    position: relative;
    right: 0;
    bottom: unset;
    padding-right: unset;
    padding-left: unset;
    display: block;
	padding: 8vw 0.8rem;
}	
.list_type_chk li::after {
    top: .1em;
}	
.feature_greet {
    padding: 10vw 0.8rem;
    background: url(../img/f_g_bg_sp.jpg) repeat-y top / cover;
}	
.wrap_80p {
    width: 100%;
    margin-inline: auto;
}	
.feature_greet .h_type_1_ireg_wrap {
    width: 100%;
    display: block;
}	
.h_type_1 {
	text-align: center
}	
.h_type_1 .en {
    font-size: 15vw;
    letter-spacing: .08em;
    line-height: 1.2;
}	
.h_type_1 .ttl {
    font-size: 6vw;
    letter-spacing: .08em;
}	
.feature_greet .feature .block {
    margin-bottom: 11vw
}	
.feature_greet .feature .block:last-child {
    margin-bottom: 0
}	
.feature_greet .feature .block .px {
    width: 100%;
}	
.feature_greet .feature .block .tx {
    width: 100%;
    padding: 3vw 0 0;
}	
.feature_greet .feature .block .tx .num {
    margin-bottom: 5%;
    margin-left:1%;
    font-size: 20.75vw;
}	
.feature_greet .feature .block .tx .ttl {
    margin-bottom: 3%;
    font-size: 8.5vw;
}
.btn_type_1 {
    width: 70%;
}	
.feature_greet .btn_type_1 {
	margin-inline: auto;
}	
.feature_greet .feature .block.flex-rev .tx {
    padding-left: 0%;
    padding-right: 0%;
}	
.feature_greet .greet {
    margin-top: 20vw;
}	
.feature_greet .greet .tx {
    width: 100%;
    position: relative;
    z-index: 10;
}	
.feature_greet .greet .tx .h_type_1 {
    margin: 0 0 6vw
}	
.feature_greet .greet .tx .in {
    padding: 0;
    position: relative;
	background-color: transparent
}
.feature_greet .greet .tx .in::before {
    display: none
}
.feature_greet .greet .tx .row_1 {
    padding: 5vw 0 0;
}	
.feature_greet .greet .tx .in .nam {
	display: block;
	column-gap: 0
}
.feature_greet .greet .tx .row_2 {
    padding-left: 0;
}	
.feature_greet .greet .tx .row_2 .in {
    max-width: 626px;
    padding: 0 5vw 5vw;
    background: rgba(242, 242, 242, .33);
    position: relative;
}	
.feature_greet .greet .tx .row_2 .in .ttl {
    text-align: center;
    top: -12px;
}	
.feature_greet .greet .tx .row_2 .in .list_type_bd {
    margin: 0
}	
.btn_type_2 {
	margin-top: 5vw;
    padding: 6vw 2%;
}	
.tp_mt .obj {
    display: none
}	
.tp_mt .bx {
    width: 100%;
    padding: 8px;
	margin-bottom: 6vw;
    background: #f2f2f2;
}	
.tp_mt .bx:last-child {
	margin-bottom: 0;
}	
.tp_mt .bx .in {
    padding: 7vw 4vw;
}	
.tp_mt .bx .tx .ttl {
    font-size: 9.5vw;
    letter-spacing: .1em;
	line-height: 1.2;
	margin-bottom: 2vw
}	
.tp_mt .bx .in .icon_wrap img {
    max-width: inherit;
	width: 20%
}	
.tp_mt .bx .tx {
    margin-top: 2.5vw;
}	
.lst_bxs {
	margin-top: 0;
    padding: 0 0 6vw;
}	
 .lst_bxs .row .cell {
    width: 100%;
    padding: 4vw 2%;
    margin-bottom: 5vw
}	
 .lst_bxs .row .cell:last-child {
    margin-bottom: 0
}	
.lst_bxs .row .cell .in p {
    font-size: 4.25vw
}	
.lst_bxs .row .cell .in .ttl {
    font-size: 6.75vw
}	
.detail_medical {
    position: relative;
    z-index: 1;
    padding: 10vw 0;
	background: url("../img/lst_bxs_bg.jpg") no-repeat top / cover
}	
.tp_dynamic .block {
    margin-top: 18px;
    padding: 4vw;
    background-image: url(../img/tp_dyna_arrw.png);
    background-repeat: no-repeat;
    background-position: 98% center;
    background-size: auto;
}	
.go_all {
	margin-top: 8vw;
    display: flex;
    justify-content: center;
}	
.tp_insta .obj {
    width: min(28.08vw, 337px);
    top: -10vw;
    left: 0;
    right: 0;
	margin: auto
}	
.tp_insta .stage {
    margin-top: 5vw
}	
.ft_infos {
    padding-top: 11vw;
    background: url(../img/ft_infos_bg_sp.jpg) no-repeat top / cover;
}	
.ft_infos .inn .txt {
    width: 100%;
}	
.ft_infos .inn .txt .ft_logo {
    display: none
}	
.ft_infos .tp_infos {
    padding-bottom: 5vw
}	
.ft_infos .inn .map {
    width: 100%;
}	
.ft_lists .logo_ft_2 {
    margin-left: 0;
	margin-right: 0
}	
.ft_lists ul {
    display: block;
    font-size: 15px;
    font-weight: 500;
}	
.ft_lists ul li a {
    display: block;
	padding: 3vw 0;
	border-bottom: 1px solid #FFF	
}	
.under .mv .in_wrap .in .ttl {
    font-size: 7.5vw;
}	
.h_type_2 .en {
    font-size: 4.5vw;
}	
.h_type_2 .ttl {
	margin-top: 1.5vw;
    font-size: 7.5vw;
	line-height: 1.2
}	
.under .sec p {
    line-height: 1.7;
}	
.bx_tp_1 {
    background-color: transparent;
    margin-bottom: 10vw;
}	
.bx_tp_1 .px {
    width: 100%;
}	
.bx_tp_1 .tx {
    width: 100%;
    padding: 5vw 0 0;
}	
.bx_tp_1 .tx .ttl {
    font-size: 6vw;
    padding-bottom: 3vw;
}	
.bx_tp_1 .tx .mn {
    padding: 3vw 0 0;
    line-height: 1.65;
}	
.sepa_tp_1 .tx {
    width: 100%;
}	
.sepa_tp_1 .px {
	margin-top: 5vw;
    width: 100%;
}	
.h_type_3 {
    padding: 3vw 4vw;
}	
.bx_tp_2 .px {
    width: 100%;
    padding: 0% 0 5vw;
}	
.bx_tp_2 .tx {
    width: 100%;
}	
.bx_tp_2 .tx .ttl {
    margin-bottom: 2vw;
    font-size: 5.75vw;
	text-align: center
}	
.bx_tp_3 {
    padding: 0;
	background-color: transparent
}
.bx_tp_3 .px {
    width: 50%;
	margin: 0 auto 5vw
}	
.bx_tp_3 .tx {
    width: 100%;
    padding-left: 0;
}	
.bx_tp_3 .tx header {
    display: block;
	margin-bottom: 4vw
}	
.bx_tp_3 .tx header .num {
    font-size: 7.5vw;
	line-height: 1.3
}	
.bx_tp_3 .tx header .ttl {
    font-size: 5vw
}	
.rows dt {
    font-size: 5.25vw;
    padding-bottom: 8px;
    margin-bottom: 12px;
    border-bottom: 1px solid #000;
}	
.bx_tp_3.mgn_t_20 {
    margin-top: 10vw
}	
.sepa_tp_2 .bx {
    width: 100%;
    background: #FFF;
	margin-bottom: 8vw
}	
.sepa_tp_2 .bx:last-child {
	margin-bottom: 0
}	
.sepa_tp_2 .bx .ttl {
    padding: 8px 4vw;
    font-size: 4.5vw;
}	
.sepa_tp_2 .bx .mn {
    padding: 4vw;
}	
.list_type_circ li {
    padding-left: 10px;
}	
.list_type_circ li::after {
    top: 0.65em;
    width: 5px;
    height: 5px;
}	
.under_cmmn_cnt.sec_pad_100 {
    padding: 20vw 0;
}	
.under_cmmn_cnt h2 {
    font-size: 7.5vw
}	
.under_cmmn_cnt .btns {
    max-width: inherit;
    margin-inline: auto;
}
.tel_wrap{
	padding-inline: 4vw;
}	
.tel_wrap .tel_wrap{
	width: fit-content;
}
.bx_tp_3.norm {
    padding: 4vw;
}
.bx_tp_3.norm.dmerit {
    background-color: var(--clr_glay);
}
.bx_tp_3.sp_brown_2,
.teeth-grinding .bx_tp_3.bg_clr_brown_2 {
	padding: 4vw;
    background-color: var(--clr_brown_2)!important;
}
.suppressed-pain .bx_tp_3,
.teeth-grinding .bx_tp_3 {
    background-color: var(--clr_wht)!important;
}
.contact .bx_tp_3 {
	padding: 5vw;
    background-color: var(--clr_brown_1)!important;
}
.suppressed-pain .bx_tp_3 .px,
.teeth-grinding .bx_tp_3 .px {
    width: 100%;
	margin-bottom: 3vw
}	
.suppressed-pain .bx_tp_3 .tx,
.teeth-grinding .bx_tp_3 .tx {
    width: 100%;
	padding: 0 0.8rem 0.8rem
}	
.suppressed-pain .bx_tp_3 .tx header,
.teeth-grinding .bx_tp_3 .tx header {
    display: block;
	margin-bottom: 0vw!important
}	
.suppressed-pain .bx_tp_3 .tx header + p.mgn_t_20,
.teeth-grinding .bx_tp_3 .tx header + p.mgn_t_20 {
    margin-top: 1vw;
}		
	
.sepa_fif .bx {width: 100%}
.list_type_chk li {
    margin-bottom: 2vw;
    color: #FFF;
}	
.bx_tp_2 .px.num .circ {
    width: 80px;
    height: 80px;
}	
.bx_tp_2 .px.num .circ .in span {
    font-size: 13px;
}	
.bx_tp_2 .px.num .circ .in p {
    font-size: 30px;
}	
.implant .bx_tp_3 .px {
    width: 80%;
}	
.tbl_tp_1_wrap table {
    margin-left: 0.8rem;
    width: 600px;
}	
.dentures .bx_tp_1 .px {
    width: 65%;
	margin-inline: auto;	
}	
.whitening .list_type_chk.no_mb li {
    margin-bottom: 2vw;
}	
.bx_tp_2 {
    padding-bottom: 4vw;
    margin-bottom: 4vw;
}	
.list_wrap .block {
    padding-bottom: 5vw;
    margin-bottom: 5vw;
}	
.single_wrap h3 {
	font-size: 4.4vw;
}
.h_type_2.ver2 .ttl {
    font-size: 7vw
}
.h_type_2.ver2 .ttl span {
    font-size: 4.55vw
}	
.h_type_2.ver2 .ttl .obj {
    width: 20vw;
    right: -20vw;
    top: -10vw
}	
.h_type_2.ver2 .ttl .obj.no2 {
    right: -17vw;
}	
.h_type_2.ver2 .ttl .obj.no2.spno3 {
    right: -9vw;
}	
.list_type_chk_gld li::after {
    top: 0.3em;
}	
.director .feature_greet,
.staff .feature_greet {
    padding: 10vw 0.8rem;
}
.director .lst_box img:first-child {
    margin-bottom: 5vw
}
.sepa_tp_2.ver3 .bx {
    width: 100%;
}	
.bx_tp_3 .tx .ttl.ver_faq {
	position: relative;
	padding-left: 33px;
	line-height: 1.25
}
.bx_tp_3 .tx .ttl.ver_faq::before {
	width: 24px;
	height: 21px
}
.sepa_case .bx {
    width: 70%;
	margin-inline: auto;
}	
.sepa_case .bx:first-child {
	margin-bottom: 40px
}
.sepa_case .bx:first-child::before {
    content: "";
    position: absolute;
    top: unset;
    bottom: -35px;
    right: 0;
	left: 0;
	margin: auto;
    width: 20px;
    height: 30px;
	transform: rotate(90deg);
}	
.clinic-information .sepa_tp_2 .bx .ttl {
    font-size: 5.2vw;
	text-align: center
}
.clinic-information .sepa_tp_2 .set .ttl {
	display: flex;
	justify-content: center;
	align-items: center
}
.access .btns .btn {
    width: 100%;
    line-height: 1.5
}	

.staff.under .mv .in_wrap .in .ttl,
.contact.under .mv .in_wrap .in .ttl	{
    padding-top: 14vw
}	
.staff .sepa_fif .bx:first-child {
    margin-bottom: 3.5vw
}
.tbl_tp_2 .sepa .cell {
    width: 100%;
    padding: 15px 10px;
}
.tbl_tp_2 .cell.hd:first-child {
    border-right: 1px solid var(--clr_brown_1);
    border-bottom: 1px solid var(--clr_wht);
}
.tbl_tp_2 .cell.bse:first-child {
    border-bottom: 1px solid var(--clr_brown_1);
}
.form_area .row:first-child .bx:first-child, .form_area .row:first-child .bx:nth-child(2) {
    height: auto;
    display: flex;
    align-items: center;
}
.wpcf7-form-control.wpcf7-checkbox {
    justify-content: center
}	
.form_area .row .th {
    width: 100%;
    justify-content: center;
    align-items: center;
	margin-bottom: 6px;
}	
.form_area .row .td {
    width:100%;
	padding-right: 0.6rem;
	padding-left: 0.6rem;
	margin-bottom: 12px;	
}	
.form_area .mid_size {
    max-width: 100%;
}	
.selct_wrap span:nth-child(3) {
    max-width: 40%;
}	
.selct_wrap span:nth-child(5),.selct_wrap span:nth-child(6) {
    margin-top: 10px
}
.selct_wrap span:nth-child(6) {
    margin-top: 15px
}
.addrs.selct_wrap .wpcf7-form-control-wrap:first-of-type {
    width: 100%;
    max-width: 100%;
}	
.form_area .row .td.job .wpcf7-form-control.wpcf7-checkbox {
    justify-content: flex-start;
}	
.form_area textarea {
    height: 30vw;
}
	
.form_area .row .td.job .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {
    margin-bottom: 14px;
}	
.form_area .infos .row_1 {
    padding: 10vw 0 8vw;
}	
.form_area .infos .row_2 .s_bx:first-child {
	padding-bottom: 5vw;
    border-right: none;
    border-bottom: 1px dashed #808080;
}
.form_area .infos .row_2 .s_bx {
    width: 100%;
	padding-right: 0
}	
.form_area .infos .row_2 .s_bx:last-child {
	padding: 5vw 0;
}	
.form_area .infos .row_2 .s_bx:last-child p {
    padding-left: 0;
}	
.form_area .infos + .bsc_tx_17 {
    text-align: left
}	
.form_area .infos {
    padding: 4.16vw 0 6vw;
}
.form_area .btn_type_1 {
    margin-top: 5vw
}	
.form_area .btn_type_1 a {
    width: 180px;
    height: 40px;
}	
.recruit .bx_tp_2 .tx {
    display: block;
}
.recruit .bx_tp_2 .image {
    width: 60%;
	display: block;
	margin: 6vw auto 0
}
.recruit .bx_tp_2 .px {
    width: 100%;
}
.form_area input[type='date'] {
    width: 100%;
	display: block;
	margin-bottom: 3vw
}	
.form_area select {
    width: 100%;
	display: block;
}	
	
	
	
	
	
	
	
	
	
}
/*
 * 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;
  }
}


/* 問い合わせフォーム調整 */
.wpcf7-form-control-wrap {
	width: 100%;
}

@media (max-width: 1200px)	{
	.form_area textarea {
		max-width: 100%;
		width: 100%;
	}
}

/* 診療案内の項目追加 */
.bx.hover.last_none {
	background-color: transparent;
}

.tel_wrap{
	width: fit-content;
	margin-inline: auto;
}

/* blog-page(archive) */
.blog_list .blog_class li{
	display: inline-block;
	margin-right: 16px;
}
.blog_list .blog_class li a{
	display: inline-block;
    padding: 2px 8px;
    letter-spacing: 0;
    color: #fff;
    box-sizing: border-box;
    text-transform: uppercase;
}
.blog_list .category{
	padding: 4px 4px;
	background-color: var(--clr_brown_1)!important;
	width: fit-content;
	color: #fff;
	line-height: 2!important;
}
.blog_list .date{
	width: fit-content;
	color: var(--clr_brown_1);
	line-height: 3!important;
}

.archive_wrap .block_link {
	display: flex;
	gap: 40px;
}

/* 250724 */
.parking .h2_type_1{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}
.parking .icon{
	max-width: 60px;
	height: auto;
	gap: 20px;
}
.parking .bx{
	padding: min(2.08vw, 40px) min(3.8vw, 73px);
}
.parking p.mgn_t_30 {
	text-align: center;
}
@media screen and (max-width:767px){
.parking .bx{
	font-size: 16px;
}
}
.parking .parking_name_wrap {
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: 62px;
	color: #fff;
}
@media screen and (max-width:767px){
	.parking .parking_name_wrap {
		gap: 26px;
	}
}
.parking .parking_name_wrap li {
	list-style: disc;
}
.parking .parking_name_wrap:not(:first-child) {
	padding-top: 20px;
}
.parking img{
	width: 100%;
	max-width: 860px;
    margin-inline: auto;
    display: block;
}

/* sidebar */
.blog-wrap{
	background: url("../img/f_g_bg.jpg") repeat-y top / cover;
}
.TwoColumn {
	width: 100%;
	max-width: 1100px;
	margin: auto;
    overflow: hidden;
    position: relative;
    text-align: left;
}
.TwoColumn .leftColumn{
	clear: left;
    float: left;
    width: 70%;
    margin: 0;
}
@media screen and (max-width:1000px){
	.TwoColumn .leftColumn{
		float: none;
		width: auto;
	}
}
.TwoColumn aside {
	display: inline-block;
    width: 25%;
    margin-left: 50px;
}
@media screen and (max-width:1000px){
	.TwoColumn aside {
		display: block;
		width: auto;
		margin-inline: auto;
		margin-left: auto;
		padding: 0 5vw;
	}
}
.TwoColumn aside h3{
	background: #645a52;
    padding: 16px;
    line-height: 1;
    color: #fff;
    font-family: "Swiss_721 W01 Bold";
    font-weight: normal;
    text-align: left;
}
.TwoColumn aside li{
	padding: 16px 10px;
	border: #645a52 solid 1px;
	border-top: none;
}
@media (hover: hover) {
.cat-item:hover {
	opacity: .7;
	transition-property: all;
	transition: 0.15s linear;
}
}
.TwoColumn aside .wp-block-group {
	margin-bottom: 40px;
}
@media screen and (max-width:1000px){
	.TwoColumn aside .wp-block-group {	
		margin-bottom: 20px;
	}
}

/* チャットボットのスタイル */
#chatbot-container {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 350px;
	max-width: 90vw;
	height: 500px;
	max-height: 80vh;
	background: #ffffff;
	border-radius: 15px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
	z-index: 10000;
	font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'Meiryo', sans-serif;
	display: none;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #e0e0e0;
}

#chatbot-container.open {
	display: flex;
}

/* チャットボットヘッダー */
#chatbot-header {
	background: linear-gradient(135deg, #2c5aa0, #1e3f73);
	color: white;
	padding: 15px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#chatbot-title {
	font-size: 16px;
	font-weight: bold;
	margin: 0;
}

#chatbot-close {
	background: none;
	border: none;
	color: white;
	font-size: 20px;
	cursor: pointer;
	padding: 0;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: background-color 0.2s;
}

#chatbot-close:hover {
	background-color: rgba(255, 255, 255, 0.2);
}

/* チャット表示エリア */
#chatbot-messages {
	flex: 1;
	padding: 20px;
	overflow-y: auto;
	background: #f8f9fa;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

/* メッセージスタイル */
.message {
	max-width: 85%;
	padding: 12px 16px;
	border-radius: 18px;
	line-height: 1.5;
	font-size: 14px;
	word-wrap: break-word;
}

.bot-message {
	background: #ffffff;
	color: #333;
	align-self: flex-start;
	border: 1px solid #e0e0e0;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.user-message {
	background: #2c5aa0;
	color: white;
	align-self: flex-end;
}

/* リンクスタイル */
.message-link {
	color: #2c5aa0;
	text-decoration: none;
	font-weight: bold;
	margin-top: 8px;
	display: inline-block;
	transition: text-decoration 0.2s;
}

.message-link:hover {
	text-decoration: underline;
}

/* オプションボタン */
.options-container {
	margin-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.option-button {
	background: #f0f7ff;
	border: 2px solid #2c5aa0;
	color: #2c5aa0;
	padding: 10px 15px;
	border-radius: 25px;
	cursor: pointer;
	font-size: 13px;
	text-align: left;
	transition: all 0.2s;
	font-family: inherit;
	width: 100%;
	box-sizing: border-box;
}

.option-button:hover {
	background: #2c5aa0;
	color: white;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(44, 90, 160, 0.3);
}

/* フローティングボタン */
#chatbot-toggle {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 60px;
	height: 60px;
	background: linear-gradient(135deg, #2c5aa0, #1e3f73);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	z-index: 9999;
	box-shadow: 0 4px 20px rgba(44, 90, 160, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s;
}

#chatbot-toggle:hover {
	transform: scale(1.1);
	box-shadow: 0 6px 25px rgba(44, 90, 160, 0.5);
}

#chatbot-toggle svg {
	width: 28px;
	height: 28px;
	fill: white;
}

/* レスポンシブデザイン */
@media (max-width: 480px) {
	#chatbot-container {
		width: calc(100vw - 20px);
		height: calc(100vh - 40px);
		bottom: 10px;
		right: 10px;
		border-radius: 10px;
	}

	#chatbot-toggle {
		bottom: 15px;
		right: 15px;
		width: 55px;
		height: 55px;
	}

	#chatbot-toggle svg {
		width: 24px;
		height: 24px;
	}

	.message {
		font-size: 13px;
		max-width: 90%;
	}

	.option-button {
		font-size: 12px;
		padding: 8px 12px;
	}
}

/* スクロールバーのスタイル */
#chatbot-messages::-webkit-scrollbar {
	width: 6px;
}

#chatbot-messages::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 3px;
}

#chatbot-messages::-webkit-scrollbar-thumb {
	background: #c1c1c1;
	border-radius: 3px;
}

#chatbot-messages::-webkit-scrollbar-thumb:hover {
	background: #a8a8a8;
}

/* アニメーション */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.message {
	animation: fadeInUp 0.3s ease-out;
}

/* ローディングアニメーション */
.typing-indicator {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 12px 16px;
	background: #ffffff;
	border: 1px solid #e0e0e0;
	border-radius: 18px;
	align-self: flex-start;
	max-width: 85%;
}

.typing-dot {
	width: 8px;
	height: 8px;
	background: #2c5aa0;
	border-radius: 50%;
	animation: typing 1.4s infinite ease-in-out;
}

.typing-dot:nth-child(1) { animation-delay: -0.32s; }
.typing-dot:nth-child(2) { animation-delay: -0.16s; }

@keyframes typing {
	0%, 80%, 100% {
		transform: scale(0);
		opacity: 0.5;
	}
	40% {
		transform: scale(1);
		opacity: 1;
	}
}