@charset "utf-8";

:root {
	--vw: 1vw;
	--main-font-color: #221815;
	--main-color: #715c10;
	--main-color-middle: #a79553;
	--main-color-light: #c2b37c;
	--main-color-super-light: #ded5b5;
	--default-letter-spacing: 0.1em;
	--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)));

	/* noto入れるの忘れない */
	--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", serif;
	--font-en: YakuHanMPs, "Cormorant 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: 4vw 0; */
}

/*その他の追加変更 ここから*/
.m_ttl01 {
	text-align: center;
	margin-bottom: 50px;
}

.m_ttl01 span {
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	display: block;
}

.m_ttl01 em {
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	display: block;
}

.m_txt p {
	line-height: 1.875;
}

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


.btn01 {
	--btn-height: 12vw;
	--btn-width: 300px;
	--icon-right: 20px;
	--icon-size: 17px;
	--icon-color: #fff;
	--border-radius: calc(var(--btn-height) / 2);
	--border-width: 0px;
	font-size: 1.6rem;
	padding: 1vw 5vw 1.1vw 5vw;
	background: #fff;
	color: #715c10;
	letter-spacing: 0.1em;
	line-height: 1.4;
	border: 1px solid #715c10;
	width: 80vw;
	min-height: var(--btn-height);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-inline: auto;
	font-family: var(--font-min);
}

.btn01:before {
	content: "";
	position: absolute;
	background: url(../images/top/btn.png) no-repeat center center / contain;
	width: 2vw;
	height: 100%;
	right: 2vw;
	top: 0;
}

.btn01:after {
	display: none;
}

.btn01 span:before {
	border-radius: var(--border-radius);
	content: '';
	display: block;
	position: absolute;
	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;
	background: #fff;
	opacity: 0;
	pointer-events: none;
	border-radius: var(--border-radius);
	transition: 0.5s;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_mv
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_mv {
	position: relative;
}

.m_mv img {
	width: 100%;
}

.m_mv_inner {
	position: relative;
}

.m_mv_main {
	height: 77vw;
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.m_mv_main::before {
	background: #583f0a;
	position: absolute;
	content: "";
	opacity: 0.4;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
}

.m_mv_main::after {
	position: absolute;
	content: "";
	background: linear-gradient(to bottom,  rgba(255,255,255,1) 40%,rgba(255,255,255,0) 100%);
	top: 0;
	left: 0;
	width: 100%;
	height: 25vw;
	opacity: 0.6;
	z-index: 50;
}

.m_mv_main video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 110%;
	height: 55.5vw;
	z-index: 1;
	-webkit-transform: rotate3d(1, 1, 1, 0.001deg) translate(-50%, -50%);
	transform: rotate3d(1, 1, 1, 0.001deg) translate(-50%, -50%);
}
.m_mv_txt {
	position: absolute;
	top: -32vw;
	left: 0;
	z-index: 10;
	width: 80%;
	height: 100%;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TOP
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.top_news_block {
	display: flex;
	gap: 50px;
	justify-content: space-between;
}

.top_news_head {}

.top_news_body {
	flex: 1;
	overflow: hidden;
}

.m_newslist {
	padding-bottom: 1px;
}

.m_newslist_item {
	border-bottom: 1px solid var(--news);
}

.m_newslist_item:last-of-type {
}

.m_newslist_item_in {
	display: flex;
	overflow: hidden;
	padding: 1vw 0 3vw 0;
	text-decoration: none;
	flex-direction: column;
	line-height: 1.4;
}

.m_newslist>li:first-child .m_newslist_item_in {
	padding-top: 0;
}

.m_newslist_item_in .date {
	letter-spacing: 0.1em;
	color: var(--news);
	font-family: var(--font-en);
	margin-right: 22px;
	font-size: 1.9rem;
}



header .h_right {
	display: none;
}

header .logo {
	width: 80vw;
		max-width: 260px;
}


.home_page header .m_header  {
display:none;
}
.m_mv .mv_enname {
	font-family: var(--font-en);
	font-size: 1.9rem;
	color: #fff;
	writing-mode: vertical-rl;
	letter-spacing: 0.2em;
	position: absolute;
	top: 13vw;
	right: 0;
	z-index: 20;
	line-height: 1;
}

.m_mv .scroll_con {
	position: absolute;
	bottom: 0;
	right: 6vw;
	z-index: 10;
	font-family: var(--font-en);
}

.m_mv .scroll_con p {
	writing-mode: vertical-rl;
}

.m_mv .scroll_con a {
	letter-spacing: 0.2em;
	color: #fff;
	padding-bottom: 15vw;
	text-decoration: none;
	position: relative;
	font-size: 1.4rem;
}

.m_mv .scroll_con a::before {
	position: absolute;
	content: "";
	width: 1px;
	height: 14vw;
	background: #fff;
	bottom: 0;
	right: 3.1vw;
}

.m_mv .scroll_con a::after {
	position: absolute;
	content: "";
	background: #fff;
	clip-path: polygon(50% 75%, 100% 25%, 100% 50%, 50% 100%, 0 50%, 0 25%);
	width: 1.5vw;
	aspect-ratio: 1/1;
	bottom: 14vw;
	right: 2.5vw;
            animation: scroll-arrow-move 2.5s infinite linear;
            opacity: 0;
        }

        @keyframes scroll-arrow-move {
            /* 0.5秒の待機とリセット: 矢印を非表示にし、次の動きの開始位置(top: 14vw)に待機させる */
            0%, 20% {
                opacity: 0;
                bottom: 13vw; /* 縦線の終点付近 (次の動きのスタート位置) */
            }

            /* 動き出しの瞬間 (t=0.5s): 矢印を瞬間的に表示する */
            21% {
                opacity: 1;
                bottom: 13vw;
            }

            /* 動きの終了 (t=1.5s, 1.0sかけて移動): 矢印が一番下まで移動し、完全に消える */
            100% {
                opacity: 0; /* 完全に消滅 */
                bottom: -5vw; /* コンテナ(padding-bottom: 15vw)の外側まで移動させる */
            }
        }

.top_nav.header03 {
	display: none;
}
#top_news_info {
	padding: 4vw 0;
}
.top_page_wrap {
	--news: #a5cda2;
	--info: #bfa2cd;
}
#top_news_info .tl {
	font-family: var(--font-en);
	color: var(--news);
	letter-spacing: 0.1em;
	font-size: 4.2rem;
}

#top_news .tl_block {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

#top_news .tl_block a {
	display: block;
	color: var(--news);
	text-decoration: none;
	border: 1px solid var(--news);
	font-family: var(--font-en);
	left: 0.1em;
	line-height: 1;
	padding: 1.5vw 3vw;
}

#top_info {
	margin-top: 4vw;
}

#top_info .tl {
	color: var(--info);
}

.top_page_wrap .table_wrap {
	background: #efe9f2;
	padding: 2vw 4vw;
}

.top_page_wrap table * {
	background: no-repeat;
	border: none;
}

.top_page_wrap .table_border tbody th {
	border: none;
}

.top_page_wrap table thead th {
	border: none !important;
	border-bottom: 1px solid var(--info) !important;
}


.top_page_wrap table tbody tr:first-child>* {
	padding-top: 4vw;
}

.top_page_wrap table tbody tr:last-child>* {
	padding-bottom: 2vw;
}

.table_hosoku_block {
	margin-top: 3vw;
}

.table_hosoku_block p {
	line-height: 1.3;
}

.table_hosoku_block>p+p {
	margin-top: 1.4vw !important;
}

#top_info .top_info_pickup {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1vw;
	margin-top: 5vw;
}

#top_message  {
	position: relative;
	padding-top: 10vw;
}

#top_message::before {
	position: absolute;
	content: "";
	background: url(../images/top/message_bg.png) no-repeat left top  / contain;
	width: 230vw;
	height: 150vw;
	top: -11vw;
	left: -60vw;
	z-index: 2;
}

#top_message::after {
	z-index: 3;
	position: absolute;
	content: "";
	background: url(../images/top/message_bg_b.png) no-repeat center bottom/ contain;
	width: 130vw;
	aspect-ratio: 3/2;
	bottom: 7vw;
	left: 50%;
	transform: translate(-50%, 0%);
}
#top_message .tl {
	color: #715c10;
	letter-spacing: 0.1em;
	font-family: var(--font-en);
	font-size: 4.2rem;
	margin-bottom: 1vw;
}

#top_message .btn_area {
	margin-top: 7vw;
}

#top_message .btn_area>li+li {
	margin-top: 3vw;
}

#top_message .img {
	margin-top: 9vw;
	border-radius: 3vw;
	overflow: hidden;
}
#top_trouble .tl {
	text-align: right;
	color: #715c10;
	font-family: var(--font-en);
	letter-spacing: 0.12em;
	font-size: 6.2rem;
	line-height: 1;
	padding-top: 15vw;
	z-index: 12;
	position: relative;
	margin-bottom: -5vw;
}


#top_trouble .inner {
	background: #f3f8fa url(../images/top/trouble_bg_sp.jpg) no-repeat center top / 100% auto;
	padding-top: 35vw;
}

#top_trouble .txt_block {
	background: rgb(255 255 255 / 60%);
	backdrop-filter: blur(8.4px);
	position: relative;
	padding: 7vw 5vw;
}

#top_trouble .txt_block:before,
#top_trouble .txt_block:after {position: absolute;content: "";background: #fff;clip-path: polygon(0 0, 0% 100%, 100% 0);top: var(--distance);left: var(--distance);width: 10vw;aspect-ratio: 1/1;--distance: -1vw;}

#top_trouble .txt_block:after {
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
	top: inherit;
	bottom: var(--distance);
	left: inherit;
	right: var(--distance);
}

#top_trouble .stl {
	font-family: var(--font-min);
	font-size: 2.3rem;
	line-height: 1.54;
	text-align: center;
	margin-bottom: 3vw;
}

#top_trouble ul {
	border-top: 1px solid #b8b8b8;
}

#top_trouble li {
	border-bottom: 1px solid #b8b8b8;
	padding: 2vw 3vw 2vw 6vw;
	position: relative;
	line-height: 1.5;
}

#top_trouble li::before {
	position: absolute;
	content: "";
	background: url(../images/top/icon_check.png) no-repeat center center / contain;
	width: 4vw;
	aspect-ratio: 1/1;
	top: 2.9vw;
	left: 0vw;
}

#top_trouble .inner::before {
	position: absolute;
	content: "";
	background: linear-gradient(to bottom,  rgba(243,248,250,0) 0%,rgba(243,248,250,1) 90%);
	width: 100%;
	height: 20vw;
	top: 43vw;
	left: 0;
}

#top_trouble .top_trouble_fin {
	background: #f3f8fa;
	padding: 7vw 9vw;
	text-align: center;
	font-family: var(--font-min);
	line-height: 1.7;
	font-size: 2.1rem;
	position: relative;
}

#top_trouble .top_trouble_fin:before {
	position: absolute;
	content: "";
	width: 150vw;
	height: 3vw;
	border: 1px solid #f8b62d;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#top_trouble .top_trouble_fin p {
	background: #f3f8fa;
	position: relative;
}

#top_medical {
	background: #e9c7ae url(../images/top/medical_bg.jpg) repeat center top / 80vw auto;
	padding-bottom: 15vw;
}

.top_tl {
	text-align: center;
	padding-top: 14vw;
	margin-bottom: 10vw;
}

.top_tl .l {
	font-family: var(--font-en);
	font-size: 5.3rem;
	letter-spacing: 0.12em;
	display: block;
	line-height: 1;
}

.top_tl .s {
	font-family: var(--font-min);
	font-size: 2rem;
	letter-spacing: 0.3em;
	display: block;
}
#top_medical .top_medical_li a {
	display: block;
	position: relative;
	text-decoration: none;
	background: #ffe2c2 url(../images/top/medical_l_bg.png) no-repeat left top / auto 70vw;
	border-radius: 3vw;
	padding: 3vw;
	width: 100%;
}

#top_medical .top_medical_li .pallet_s a {
	background-size: auto 100%;
}

#top_medical .top_medical_li  a::before {
	position: absolute;
	content: "";
	background: url(../images/top/medical_link_l.png) no-repeat right bottom / contain;
	width: 10vw;
	aspect-ratio: 1/1;
	z-index: 1;
	bottom: 3vw;
	right: 3vw;
	border-radius: 0 0 1.9vw 0;
}

#top_medical .top_medical_li .top_medical_li_con {
	background: #fff url(../images/top/medical01.png) no-repeat right top / 60% auto;
	border-radius: 1.9vw;
	border: 1px solid #fff;
	position: relative;
	text-shadow: #fff 2px 0px 2px, #fff -2px 0px 2px,
 #fff 0px -2px 2px, #fff -2px 0px 2px,
 #fff 2px 2px 2px, #fff -2px 2px 2px,
 #fff 2px -2px 2px, #fff -2px -2px 2px,
 #fff 1px 2px 2px, #fff -1px 2px 2px,
 #fff 1px -2px 2px, #fff -1px -2px 2px,
 #fff 2px 1px 2px, #fff -2px 1px 2px,
 #fff 2px -1px 2px, #fff -2px -1px 2px,
 #fff 1px 1px 2px, #fff -1px 1px 2px,
 #fff 1px -1px 2px, #fff -1px -1px 2px;
	padding: 8vw 5vw 6vw;
}
#top_medical .top_medical_li .stl_box {
	margin-bottom: 4vw;
}

#top_medical .top_medical_li .name {
	font-size: 2.4rem;
	font-family: var(--font-min);
	letter-spacing: 0.04em;
	line-height: 1.2;
}

#top_medical .top_medical_li .stl_box .en {
	color: #ea5514;
	font-family: var(--font-en);
	letter-spacing: 0.16em;
}



#top_medical .top_medical_li >li+li {
	margin-top: 2.5vw;
}

#top_medical .top_medical_li  .pallet_02 .top_medical_li_con {
	background-image: url(../images/top/medical02.png);
}

#top_medical .top_medical_li .pallet_s a {
	background-image: url(../images/top/medical_s_bg.png);
}

#top_medical .top_medical_li .pallet_s .top_medical_li_con {
	background: #fff url(../images/top/medical03.png) no-repeat left top / auto 100%;
	padding: 2vw 0vw 2vw 29.6vw;
}
#top_medical .top_medical_li .pallet_04 .top_medical_li_con {
	background-image: url(../images/top/medical04.png) ;

}
#top_medical .top_medical_li .pallet_05 .top_medical_li_con {
	background-image: url(../images/top/medical05.png) ;

}
#top_medical .top_medical_li .pallet_06 .top_medical_li_con {
	background-image: url(../images/top/medical06.png) ;

}
#top_medical .top_medical_li .pallet_07 .top_medical_li_con {
	background-image: url(../images/top/medical07.png) ;

}
#top_medical .top_medical_li .pallet_08 .top_medical_li_con {
	background-image: url(../images/top/medical08.png) ;

}
#top_medical .top_medical_li .pallet_09 .top_medical_li_con {
	background-image: url(../images/top/medical09.png) ;

}
#top_medical .top_medical_li .pallet_10 .top_medical_li_con {
	background-image: url(../images/top/medical10.png) ;

}
#top_medical .top_medical_li .pallet_11 .top_medical_li_con {
	background-image: url(../images/top/medical11.png) ;

}
#top_medical .top_medical_li .pallet_s .name {
	font-size: 1.8rem;
}

#top_medical .top_medical_li .pallet_s .stl_box {border-bottom: 1px solid #715c10;margin-bottom: 1.5vw;padding-bottom: 1vw;padding-left: 3vw;}

#top_medical .top_medical_li .pallet_s .stl_box .en {
	line-height: 1.5;
	font-size: 1.4rem;
}
#top_medical .top_medical_li .pallet_s .txt {
	line-height: 1.4;
	padding-left: 3vw;
	font-size: 1.4rem;
}
#top_feature {
	background: #d9f4fe url(../images/top/feature_bg_sp.png) no-repeat center bottom / 100% auto;
	padding-top: 10vw;
}

#top_feature .tl {
	width: 60vw;
	margin: 0 auto 7vw;
}

#top_feature .top_feature_li {
	position: relative;
	height: 138vw;
}

#top_feature .top_feature_li >li {
	position: absolute;
	width: 46vw;
}

#top_feature .top_feature_li >li.li01 {
	top: 0%;
	left: 50%;
	transform: translate(-50%, 0%);
}

#top_feature .top_feature_li >li.li02,
#top_feature .top_feature_li >li.li03 {
	top: 42vw;
}

#top_feature .top_feature_li >li.li02 {
	left: -2vw;
}

#top_feature .top_feature_li >li.li03 {
	right: -2vw;
}

#top_feature .top_feature_li >li.li04,
#top_feature .top_feature_li >li.li05 {
	top: 89vw;
}

#top_feature .top_feature_li >li.li04 {
	left: -5vw;
}

#top_feature .top_feature_li >li.li05 {
	right: -5vw;
}

#top_feature .top_feature_li::before {
	position: absolute;
	content: "";
	background: url(../images/top/feature_tree_sp.png) no-repeat center bottom /contain;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0%);
	width: 100vw;
	height: 100%;
}


#top_ig_blog .tl_block {
	display: grid;
	grid-template-columns: 1fr 20vw;
	align-items: center;
}


#top_ig_blog .tl {
	color: #715c10;
	font-family: var(--font-en);
	letter-spacing: 0.1em;
	font-size: 4.2rem;
}
#top_ig_blog .tl .ja {
	font-size: 1.4rem;
	vertical-align: baseline;
	padding-left: 1em;
}
#top_ig_blog .tl_block .btn01 {
	display: block;
	text-decoration: none;
	width: 100%;
	min-height: inherit;
	height: inherit;
	padding-top: 1.4vw;
	padding-right: 5vw;
	padding-left: 4vw;
	font-size: 1.3rem;
	font-family: var(--font-en);
	font-weight: 600;
}
#top_ig_blog .tl_block .btn01:before {
	width: 1.4vw;
}
#top_ig {
	padding: 6vw 5vw 10vw;
	background: #dbe5d6 url(../images/top/ig_bg.jpg) repeat center top / 100vw auto;
}

#top_ig .top_insta_logo {
	position: absolute;
	z-index: 10;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	filter: drop-shadow(0px 0px 12px rgba(0, 0, 0, 0.4));
	width: 20vw;
}

#top_ig .top_ig_con {
	position: relative;
}

#top_blog {
	padding: 6vw 5vw 10vw;
	background: #e4d8e4 url(../images/top/blog_bg.jpg) repeat center top / 100vw auto;
}



#top_blog .m_post {
	border-top: 1px solid #fff;
}
#sb_instagram.sbi_mob_col_3 #sbi_images {
	padding: 0;
}

#sb_instagram #sbi_images {
	padding: 0;
}

#sb_instagram.sbi_width_resp {
	padding-bottom: 0 !important;
}

#top_recruit {
	background: #ead5ba url(../images/top/recruit_bg_sp.jpg) no-repeat center top / 100% auto;
	position: relative;
	padding: 0 5vw 49vw;
}

#top_recruit::before {
	position: absolute;
	content: "";
	pointer-events: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border: 5vw solid #fff;
	opacity: 0.4;
}

#top_recruit .top_tl,
#top_recruit .txt {
		text-shadow: 
			#fff 5px 0px 5px,
			#fff -5px 0px 5px,
			#fff 0px -5px 5px,
			#fff -5px 0px 5px
}
#top_recruit .top_tl {
	position: relative;
	padding-bottom: 5vw;
	margin-bottom: 7vw;
}

#top_recruit .top_tl::after {
	background: #715c10;
	width: 10vw;
	height: 1px;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0%);
	position: absolute;
	content: "";
}
#top_recruit .btn_area {
	margin-top: 6vw;
}

#top_recruit .img_bg_block::before {
	position: absolute;
	content: "";
	background: url(../images/top/recruit_img01.png) no-repeat center center / contain;
	width: 55vw;
	height: 40vw;
	bottom: -44vw;
	left: -3vw;
	z-index: 1;
}
#top_recruit .img_bg_block::after {
	position: absolute;
	content: "";
	background: url(../images/top/recruit_img02.png) no-repeat center center / contain;
	width: 50vw;
	height: 40vw;
	bottom: -46vw;
	right: -4vw;
}

#top_clinic {
		background: #fbebd6 url(../images/top/clinic_bg.jpg) repeat center top / 80vw auto;
	position: relative;
	margin-top: 20vw;
	padding: 33vw 0 15vw;
}


#top_clinic .tl_block {
	background: url(../images/top/clinic_img_sp.jpg) no-repeat left center / cover;
	position: absolute;
	width: 95vw;
	height: 40vw;
	top: -45vw;
	right: 0;
}

#top_clinic .tl_block .tl {
	font-family: var(--font-en);
	letter-spacing: 0.12em;
	writing-mode: vertical-rl;
	font-size: 4rem;
	position: absolute;
	bottom: 0;
	left: -3.8vw;
	line-height: 1;
}

#top_clinic  .con_logo {
	max-width: 500px;
	width: 60vw;
	margin: 5vw auto 5vw 0;
}

#top_clinic .ad {
	position: relative;
	padding-left: 6vw;
	line-height: 1.54;
}

#top_clinic .ad::before {
	position: absolute;
	content: "";
	background: url(../images/top/icon_ad.png) no-repeat center center /contain;
	width: 5vw;
	aspect-ratio: 1/1;
	top: 0.5vw;
	left: 0;
}

#top_clinic .btn_area {
	margin-top: 5vw;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2vw;
	margin-bottom: 7vw;
}