:root {
	--vw: 1vw;
	--main-font-color: #2f2f2f;
	--red: #74173d;
	--red02: #993457;
	--yellow: #ffcc5e;
	--gray: #bebebe;
	--main-color: var(--red);
	--main-color-middle: #e5bb9b;
	--main-color-light: #fff7e4;
	--main-color-super-light: #f5eaee;
	--default-letter-spacing: .05em;
	--default-transition: .5s;
	--max-width: 1200px;
	--inner-padding: 40px;
	--inner-width: calc(var(--max-width) + var(--inner-padding)*2);
	--over-margin: min(calc((-1*var(--vw)*100 + var(--max-width))/2), calc(-1*var(--inner-padding)));
	--font-main: YakuHanJPs, "Noto Sans JP", "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Hiragino Sans, "Osaka", "MS PGothic", -apple-system, BlinkMacSystemFont, arial, helvetica, sans-serif;
	--font-min: YakuHanMPs, "Zen Old Mincho";
	--font-maru: YakuHanRPs;
	--font-en: "EB Garamond", serif
}

.catch_copy,
.flow_arrow_box .tl,
.flow_arrow_box .tl_block .step p,
#under .catch,
.m_col_ttl,
.reason_line_text_ttl,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-min)
}

.img_bg_block {
	padding: 13vw 0
}

.table_hosoku {
	text-align: right;
	margin-top: 0;
	font-size: 1.4rem
}

.m_ttl01 {
	text-align: center;
	margin-bottom: 8vw
}

.m_ttl01 .txt01 {
	letter-spacing: .12em;
	font-size: 2.4rem;
	font-family: var(--font-min);
	display: block
}

.m_ttl01 .txt02 {
	font-family: var(--font-en);
	letter-spacing: .64em;
	color: var(--red);
	font-size: 1.3rem;
	display: block
}

.m_ttl02 {
	align-items: center;
	gap: 4vw;
	margin-bottom: 7vw;
	display: flex
}

.m_ttl02 .txt01 {
	letter-spacing: .12em;
	padding-bottom: .05em;
	font-size: 2.2rem;
	line-height: 1
}

.m_ttl02 .txt02 {
	letter-spacing: .18em;
	color: var(--red);
	padding-left: 3.6vw;
	font-size: 1.4rem;
	position: relative
}

.m_ttl02 .txt02:before {
	content: "";
	z-index: 1;
	background: var(--red);
	width: 1px;
	height: 3.9vw;
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%)
}

.m_txt p {
	line-height: 1.875
}

.m_txt p+p {
	margin-top: 1em
}

.btn01 {
	--btn-height: 15vw;
	--btn-width: auto;
	--icon-right: 5vw;
	--icon-font-size: 1.6rem;
	--border-radius: 0px;
	--border-width: 0px;
	color: #fff;
	letter-spacing: .2em;
	border-radius: var(--border-radius);
	border: var(--border-width)solid var(--main-color);
	min-width: var(--btn-width);
	min-height: var(--btn-height);
	width: fit-content;
	font-size: 1.6rem;
	line-height: 1.4;
	font-family: var(--font-min);
	isolation: isolate;
	background: #993457;
	justify-content: center;
	align-items: center;
	width: 80vw;
	margin-inline: auto;
	padding: 3vw 8vw;
	display: flex;
	position: relative
}

.btn01:before {
	content: "→";
	top: 50%;
	right: var(--icon-right);
	color: #fff;
	height: auto;
	font-size: var(--icon-font-size);
	font-family: var(--font-main);
	z-index: 5;
	border: 0;
	position: absolute;
	transform: translateY(-50%)
}

.btn01:after {
	--btn-gutter: 2vw;
	content: "";
	top: var(--btn-gutter);
	left: var(--btn-gutter);
	width: calc(100% - var(--btn-gutter)*2);
	height: calc(100% - var(--btn-gutter)*2);
	z-index: -1;
	background: var(--red);
	display: block;
	position: absolute
}

.btn_white {
	color: var(--red);
	--icon-right: 3vw;
	--btn-height: 13vw;
	background: #fff
}

.btn_white:before {
	color: var(--red)
}

.btn_white:after {
	background: 0 0
}

.btn01 span:before {
	border-radius: var(--border-radius);
	content: "";
	top: calc(var(--border-width)*-1);
	left: calc(var(--border-width)*-1);
	width: calc(100% + var(--border-width)*2);
	height: calc(100% + var(--border-width)*2);
	z-index: 10;
	opacity: 0;
	pointer-events: none;
	border-radius: var(--border-radius);
	background: #fff;
	transition: all .5s;
	display: block;
	position: absolute
}

.m_mv {
	position: relative
}

.m_mv::before {
	position: absolute;
	content: "";
	pointer-events: none;
	background: url(../images/top/mv_flower_sp.png) no-repeat right bottom / contain;
	width: 100%;
	height: 100%;
	bottom: 0;
	right: 0;
	z-index: 10;
}

.m_mv img {
	width: 100%;
}

.m_mv_inner {
	position: relative
}

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

.m_mv_txt {
	z-index: 10;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0
}

.t_clinic .t_clinic_block {
	gap: 10vw;
	display: grid
}

.t_clinic .t_clinic_time {
	border: 1px solid var(--gray);
	padding: 5vw
}

.t_clinic .t_clinic_time .table_hosoku {
	text-align: right
}

.t_clinic .t_clinic_list {
	border-bottom: 1px solid var(--gray)
}

.t_clinic .t_clinic_list>li {
	border-top: 1px solid var(--gray);
	justify-content: space-between;
	align-items: center;
	padding: 5vw 0;
	display: flex
}

.t_clinic .t_clinic_list>li .address {
	justify-content: space-between;
	line-height: 1.6;
	display: flex
}

.t_clinic .t_clinic_list>li .access_btn {
	color: var(--red);
	font-family: var(--font-min);
	letter-spacing: -.12em;
	background: #f5eaee;
	border-radius: 10rem;
	align-items: center;
	width: 32vw;
	height: auto;
	padding: .7vw 0 .7vw 3.4vw;
	font-size: 1.6rem;
	line-height: 1.4;
	text-decoration: none;
	display: flex;
	position: relative
}

.t_clinic .t_clinic_list>li .access_btn:before {
	content: "";
	aspect-ratio: 1;
	z-index: 1;
	border-top: 1px solid var(--red);
	border-right: 1px solid var(--red);
	width: 1.3vw;
	display: block;
	position: absolute;
	top: 50%;
	right: 3vw;
	transform: translateY(-50%)rotate(45deg)
}

.t_clinic .t_clinic_list .t_clinic_feature {
	gap: 5vw;
	display: grid
}

.t_clinic .t_clinic_list .t_clinic_feature li {
	--url: url(../images/icon_parking.png);
	align-items: center;
	min-height: 17vw;
	padding-left: 22vw;
	font-size: 1.7rem;
	display: flex;
	position: relative
}

.t_clinic .t_clinic_list .t_clinic_feature li:before {
	content: "";
	aspect-ratio: 1;
	z-index: 1;
	background: var(--red)var(--url)center/9vw no-repeat;
	width: 17vw;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	box-shadow: 1.5vw 1.5vw #00000026
}

.t_clinic .t_clinic_list .t_clinic_feature li.train {
	--url: url(../images/icon_train.png)
}

.t_symptoms {
	background: #eee2e7 url(../images/top/symptoms_bg_sp.jpg) top/100% no-repeat
}

.t_symptoms .t_symptoms_list {
	--gap-col: 0px;
	--gap-row: 4vw;
	--col: 1;
	gap: var(--gap-row)var(--gap-col);
	flex-wrap: wrap;
	display: flex
}

.t_symptoms .t_symptoms_list .t_symptoms_item {
	width: calc(100%/var(--col) - var(--gap-col)*(var(--col) - 1)/var(--col));
	isolation: isolate;
	background: #b26d86;
	align-items: center;
	min-height: 31vw;
	padding-left: 31vw;
	text-decoration: none;
	display: flex;
	position: relative;
	box-shadow: 1.5vw 1.5vw #00000026
}

.t_symptoms .t_symptoms_list .t_symptoms_item:before {
	content: "";
	z-index: -1;
	background: var(--url)center/cover no-repeat;
	width: 34vw;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0
}

.t_symptoms .t_symptoms_list .t_symptoms_item:after {
	content: "";
	z-index: -1;
	background: linear-gradient(90deg, #b26d8600 0%, #b26d86 100%);
	width: 8vw;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 26vw
}

.t_symptoms .t_symptoms_list .t_symptoms_item .t_symptoms_check {
	flex-direction: column;
	gap: 1vw;
	display: flex
}

.t_symptoms .t_symptoms_list .t_symptoms_item .t_symptoms_check:before {
	content: "";
	z-index: 10;
	aspect-ratio: 1;
	clip-path: polygon(100% 100%, 100% 0, 0 100%);
	background: #fff;
	width: 3vw;
	display: block;
	position: absolute;
	bottom: 2vw;
	right: 2vw
}

.t_symptoms .t_symptoms_list .t_symptoms_item .t_symptoms_check li {
	color: #fff;
	letter-spacing: .05em;
	background: url(../images/icon_check.png) 0 1vw/4vw no-repeat;
	padding-left: 6vw;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.57895
}

.t_feature .t_feature_head {
	position: relative
}

.t_feature .t_feature_head:before {
	content: "";
	aspect-ratio: 410/150;
	z-index: 1;
	background: url(../images/top/feature_flower01.png) bottom/100% no-repeat;
	width: 47vw;
	display: block;
	position: absolute;
	bottom: 0;
	left: -3vw;
}

.t_feature .t_feature_head:after {
	content: "";
	aspect-ratio: 436/150;
	z-index: 1;
	background: url(../images/top/feature_flower02.png) bottom/100% no-repeat;
	width: 47vw;
	display: block;
	position: absolute;
	bottom: 0;
	right: -3vw;
}

.t_feature .t_feature_head .t_feature_ttl {
	z-index: 10;
	width: 54vw;
	margin: 0 auto;
	padding-bottom: 18vw;
	position: relative
}

.t_feature .t_feature_block {
	gap: 10vw;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: stretch;
}

.t_feature .t_feature_block .t_feature_item {
	isolation: isolate;
	padding: 9vw 5vw;
	position: relative
}

.t_feature .t_feature_block .t_feature_item:before {
	content: "";
	z-index: -2;
	background: var(--red);
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0
}

.t_feature .t_feature_block .t_feature_item:after {
	content: "";
	z-index: -1;
	border-top: 1px solid var(--yellow);
	border-bottom: 1px solid var(--yellow);
	width: 100%;
	height: calc(100% - 6vw);
	display: block;
	position: absolute;
	top: 3vw;
	left: 0
}

.t_feature .t_feature_block .t_feature_item_head .t_feature_item_imgs {
	justify-content: space-between;
	display: flex
}

.t_feature .t_feature_block .t_feature_item_head .t_feature_item_imgs .img {
	width: calc(50% - 1.5vw)
}

.t_feature .t_feature_block .t_feature_item_head .t_feature_item_imgs .img:first-of-type {
	margin-top: 5vw
}

.t_feature .t_feature_block .t_feature_item_body {
	color: #fff;
	margin-top: 7vw
}

.t_feature .t_feature_block .t_feature_item_body .head {
	align-items: center;
	gap: 3vw;
	display: flex
}

.t_feature .t_feature_block .t_feature_item_body .head .num {
	font-family: var(--font-en);
	flex-direction: column;
	display: flex
}

.t_feature .t_feature_block .t_feature_item_body .head .num span {
	letter-spacing: .4em;
	font-size: .9rem;
	line-height: 1
}

.t_feature .t_feature_block .t_feature_item_body .head .num em {
	letter-spacing: .08em;
	font-size: 6rem;
	line-height: 1
}

.t_feature .t_feature_block .t_feature_item_body .head .ttl {
	font-family: var(--font-min);
	letter-spacing: .12em;
	font-size: 1.9rem;
	line-height: 1.6
}

.t_feature .t_feature_block .t_feature_item_body .m_txt {
	margin-top: 4vw
}


.t_feature .t_feature_block .t_feature_item:first-child  {

	margin: 0vw -5vw;
}

.t_feature .t_feature_block .t_feature_item:nth-child(3) {
	width: 95vw;
	margin: 5vw 0vw 0 -5vw;
}
.t_feature .t_feature_block .t_feature_item:nth-child(2),
.t_feature .t_feature_block .t_feature_item:nth-child(4){
	width: 95vw;
	margin: 0 -5vw 0 auto;
}


.t_feature .t_feature_block .t_feature_item:nth-child(4){
	margin-top: 5vw;
}
.t_feature .t_feature_block .t_feature_item:first-child .t_feature_item_head{
	margin: 0 -3vw 0 6vw;
}
.t_feature .t_feature_block .t_feature_item:nth-child(3)  .t_feature_item_head{
	margin:-15vw -15vw 0 10vw;
}
.t_feature .t_feature_block .t_feature_item:nth-child(2) .t_feature_item_head ,
.t_feature .t_feature_block .t_feature_item:nth-child(4) .t_feature_item_head {
	margin: -15vw 10vw 0 -15vw;
}

.t_treatment {
	isolation: isolate;
	background: url(../images/top/treatment_bg.jpg) 50%/430px;
	position: relative
}

.t_treatment:before {
	content: "";
	aspect-ratio: 540/447;
	z-index: -1;
	background: url(../images/top/treatment_leaf01.png) 0 0/100% no-repeat;
	width: 42vw;
	display: block;
	position: absolute;
	top: 0;
	left: 0
}

.t_treatment:after {
	content: "";
	aspect-ratio: 514/490;
	z-index: -1;
	background: url(../images/top/treatment_leaf02.png) 100% 0/100% no-repeat;
	width: 42vw;
	display: block;
	position: absolute;
	top: 0;
	right: 0
}

.t_treatment .t_treatment_block {
	--gap-col: 5vw;
	--gap-row: 5vw;
	--col: 1;
	gap: var(--gap-row)var(--gap-col);
	flex-wrap: wrap;
	display: flex
}

.t_treatment .t_treatment_item {
	border: 1px solid var(--red);
	width: calc(100%/var(--col) - var(--gap-col)*(var(--col) - 1)/var(--col));
	text-decoration: none;
	display: block
}

.t_treatment .t_treatment_item .head {
	border-bottom: 1px solid var(--red);
	background: #fff;
	align-items: center;
	gap: 4vw;
	padding: 4vw;
	display: flex;
	position: relative
}

.t_treatment .t_treatment_item .head:before {
	content: "";
	z-index: 10;
	aspect-ratio: 1;
	background: var(--red);
	clip-path: polygon(100% 100%, 100% 0, 0 100%);
	width: 3vw;
	display: block;
	position: absolute;
	bottom: 2vw;
	right: 2vw
}

.t_treatment .t_treatment_item .head .img {
	width: 21vw
}

.t_treatment .t_treatment_item .head .img img {
	filter: drop-shadow(0 0 10px #0000001a);
	border: 2px solid #fff;
	border-radius: 50%
}

.t_treatment .t_treatment_item .head .ttl {
	flex-direction: column;
	display: flex
}

.t_treatment .t_treatment_item .head .ttl .txt01 {
	font-family: var(--font-min);
	font-size: 2.1rem
}

.t_treatment .t_treatment_item .head .ttl .txt02 {
	font-family: var(--font-en);
	color: var(--red);
	letter-spacing: .34em;
	font-size: 1.2rem
}

.t_treatment .t_treatment_item .txt {
	background: var(--red);
	color: #fff;
	padding: 4vw
}

.t_greeting {
	isolation: isolate;
	color: #fff;
	background: #993457 url(../images/top/greeting_logo.png) right -5vw bottom 3vw/50vw no-repeat;
	position: relative;
}

.t_greeting:before {
	content: "";
	aspect-ratio: 800/600;
	z-index: -1;
	background: url(../images/top/greeting_bg.png) 0 0/100% no-repeat;
	width: 60vw;
	display: block;
	position: absolute;
	top: 0;
	left: 0
}

.t_greeting .t_greeting_ttl {
	align-items: center;
	gap: 3vw;
	display: flex
}

.t_greeting .t_greeting_ttl:after {
	content: "";
	z-index: 1;
	background: #fff;
	flex: 1;
	height: 1px;
	display: block
}

.t_greeting .t_greeting_ttl .txt01 {
	font-family: var(--font-min);
	letter-spacing: .22em;
	font-size: 2.3rem
}

.t_greeting .t_greeting_ttl .txt02 {
	font-family: var(--font-en);
	letter-spacing: .3em;
	font-size: 1.4rem
}

.t_greeting .t_greeting_block {
	margin-top: 5vw
}

.t_greeting .t_greeting_head {
	position: relative
}

.t_greeting .t_greeting_head picture {
	z-index: 1;
	display: block;
	position: relative
}

.t_greeting .t_greeting_head .name {
	z-index: 10;
	width: 56vw;
	position: absolute;
	bottom: 3vw;
	left: -3vw
}

.t_greeting .t_greeting_body {
	margin-top: 5vw
}

.t_greeting .t_greeting_body .catch {
	font-family: var(--font-min);
	letter-spacing: .12em;
	font-size: 2.2rem;
	line-height: 1.59375
}

.t_greeting .t_greeting_body .m_txt {
	margin-top: 5vw
}

.t_greeting .t_greeting_body .btn_wrap {
	margin-top: 7vw
}

.m_slider {
	padding: 10vw 0
}

.t_recruit {
	overflow: hidden
}

.t_recruit .img_bg_block {
	padding: 0
}

.t_recruit .t_recruit_ttl {
	z-index: 10;
	width: 14vw;
	position: absolute;
	top: -2.8vw;
	left: -2.9vw
}

.t_recruit .t_recruit_block .t_recruit_head {
	isolation: isolate;
	padding: 8vw 0;
	position: relative
}

.t_recruit .t_recruit_block .t_recruit_head:before {
	content: "";
	z-index: -1;
	background: #af8a3a;
	width: calc(100% + 10vw);
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: -5vw
}

.t_recruit .t_recruit_block .t_recruit_head .in .m_txt {
	text-align: center;
	color: #fff;
	margin-top: 5vw;
}

.t_recruit .t_recruit_block .t_recruit_head .in .m_txt>p {
	font-size: 1.9rem;
	line-height: 1.5;
}

.t_recruit .t_recruit_block .t_recruit_head .in .m_txt>p+p {
	margin-top: 0.8em;
}

.t_recruit .t_recruit_block .t_recruit_body {
	isolation: isolate;
	padding: 8vw 0;
	position: relative
}

.t_recruit .t_recruit_block .t_recruit_body:before {
	content: "";
	z-index: -1;
	background-image: repeating-linear-gradient(0deg, #b69347 -4.5px 4.5px, #ba9950 4.5px 10.5px);
	background-position: 50%;
	background-repeat: repeat;
	width: calc(100% + 10vw);
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: -5vw
}

.t_recruit .t_recruit_block .t_recruit_body .in .list {
	gap: 6vw;
	display: grid
}

.t_recruit .t_recruit_block .t_recruit_body .in .list li {
	background: #fff;
	flex-direction: column;
	align-items: center;
	gap: 1.7vw;
	padding: 4vw 5vw 3.1vw 5vw;
	display: flex;
	position: relative
}

.t_recruit .t_recruit_block .t_recruit_body .in .list li .num {
	background: var(--red);
	color: #fff;
	font-family: var(--font-en);
	letter-spacing: .12em;
	padding: 0 4vw;
	font-size: 1.6rem;
	line-height: 1.7;
	position: absolute;
	top: -3vw;
	height: 6vw;
}

.t_recruit .t_recruit_block .t_recruit_body .in .list li .txt {
	font-family: var(--font-min);
	font-size: 1.9rem;
}

.t_recruit .t_recruit_block .t_recruit_body .in .bnr {
	--filter-opacity: .3;
	--shadow-size: 10px;
	--shadow-color: 255, 255, 255;
	filter: drop-shadow(0px 0px var(--shadow-size)rgba(var(--shadow-color), var(--filter-opacity)))drop-shadow(0px 0px var(--shadow-size)rgba(var(--shadow-color), var(--filter-opacity)))drop-shadow(0px 0px var(--shadow-size)rgba(var(--shadow-color), var(--filter-opacity)));
	margin-top: 8vw;
	display: block
}

#t_clinic02 .img_bg_block {
	padding-bottom: 0;
}
.t_clinic02 .t_clinic02_block {
	gap: 12vw;
	display: grid
}

.t_clinic02 .t_clinic02_block .t_clinic02_item {
	overflow: hidden;
}

.t_clinic02 .t_clinic02_block .t_clinic02_item+ .t_clinic02_item {
	width: 100vw;
	margin: 0 -5vw;
}

.t_clinic02 .t_clinic02_block .t_clinic02_item .t_clinic02_btn {
	margin-top: 8vw
}

.m_newslist_item {
	border-top: 1px solid var(--gray)
}

.m_newslist_item:last-of-type {
	border-bottom: 1px solid var(--gray)
}

.m_newslist_item_in {
	padding: 4vw 4vw 4vw 0;
	text-decoration: none;
	display: flex;
	position: relative;
	overflow: hidden
}

.m_newslist_item_in:before {
	content: "→";
	z-index: 1;
	color: var(--red);
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%)
}

.m_newslist_item_in .date {
	letter-spacing: .12em;
	color: var(--main-color);
	font-family: var(--font-min);
	margin-right: 4vw
}

.m_newslist_item_in em {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden
}

.t_column {
	position: relative;
}

.t_column::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #f4eeec  url(../images/top/column_bg_sp.jpg) no-repeat left top / 100% auto;
	opacity: 0.75;
}

.t_column .t_clinic02_btn {
	margin-top: 8vw
}

/* 投稿内の画像をブロック化 */
.basic_layout p:after {
  content: "";
  display: block;
  height: 0;
  font-size: 0;
  line-height: 0;
  clear: both;
  visibility: hidden;
}