/*
Theme Name:hachinohe_painclinic
Theme URI:
Description:
Template:businesspress
Author:
Author URI:
Version:0.0.0
*/

/* デフォルト */
body:lang(ja) {
	font-family: "Noto Sans JP", sans-serif;
	/* font-family: "Shippori Mincho B1", serif; */
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.05em;
	color: #454547;
	font-size: 15px;
	/* background-color: #D5E9F6; */
	overflow-x: hidden;
	line-height: 1.9;
}
@media screen and (max-width:640px), print {
    body:lang(ja) {
        font-size: 15px;
        line-height: 1.8;
    }
}


/*----------------------------------------
    Common(共通)
----------------------------------------*/
.site-content {
    max-width: 1080px;
}
h1, h2, h3, h4, h5, h6, .site-title {
    color: #454547;
}



.mplusrounded1c {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-style: normal;
}

/*========= 改行用クラス =============*/
/* 改行スマホのみ */
.br-sp {
    display: block;
}

/* 改行PCのみ */
.br-pc {
    display: none;
}

@media screen and (min-width:641px), print {

    /* 改行スマホのみ */
    .br-sp {
        display: none;
    }

    /* 改行PCのみ */
    .br-pc {
        display: block;
    }
}

/* トップへ戻る */
.back-to-top:before {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
    width: 9px;
    height: 9px;
    border: 0.1em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-50%) rotate(-45deg);
    content: '';
    position: absolute;
    top: 55%;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}
@media screen and (max-width:640px) {
    .back-to-top {
        display: none !important;
    }
}

/* ヘッダー */
.site-header {
    border-bottom: none;
    margin-bottom: 10rem;
}
.main-header-clone {
    display: none;
}
.menu a[href*="instagram.com"]:before {
    content: none;
}
.main-header .site-logo::after {
    content: '';
    display: block;
    width: 928.62px;
    height: 386.94px;
    background-image: url(./assets/img/common/logo_bg4.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    z-index: 0;
    top: -67px;
    left: -462.64px;
    background-image: url(./assets/img/common/logo_bg4.png);
    width: 572px;
    height: 388px;
    left: -40px;
}



@media screen and (min-width: 980px) {
    /* ロゴ */
    .main-header-content{
        align-items: flex-start;
    }
    .main-header .site-logo {
        position: relative;
        z-index: 1;
    }
    .main-header .site-logo a {
        position: absolute;
        display: block;
        width: 307px;
        /* width: 25.58vw; */
        height: auto;
        z-index: 1;
    }
    .home .main-header .site-logo::after {
        content: '';
        display: block;
        width: 928.62px;
        height: 386.94px;
        background-image: url(./assets/img/common/logo_bg4.svg);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        z-index: 0;
        top: -67px;
        left: -462.64px;
        background-image: url(./assets/img/common/logo_bg4.png);
        width: 572px;
        height: 388px;
        left: -40px;
    }


    
    /* 採用ページ ロゴ背景非表示 */
    .page-id-112 .main-header .site-logo::after {
        content: none;
    }

    /* メニュー */
    .main-navigation {
        font-size: 100%;
        line-height: 1;
        z-index: 1;
        position: relative;
        top: 47px;
    }
    .main-navigation a {
        padding-left: 0;
        padding-right: 0;
    }
    .main-navigation ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-start;
        gap: 18px;
    }
    .main-navigation ul li a {
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 500;
        text-align: center;
        font-size: 0.9em;
        line-height: 1.5;
        position: relative;
        color: #1fa466;
    }
    .main-navigation .current_page_item > a,
    .main-navigation .current-menu-item > a {
        color: #1fa466;
        /* font-weight: 700; */
    }
    .main-navigation a:hover {
        color: #1fa466;
    }
    /* .main-navigation ul li:nth-of-type(1) a,
    .main-navigation ul li:nth-of-type(2) a,
    .main-navigation ul li:nth-of-type(3) a {
        color: #fff;
        width: 66px;
        height: 66px;
        position: relative;
        z-index: 0;
    }
    .main-navigation ul li:nth-of-type(1) a::after,
    .main-navigation ul li:nth-of-type(2) a::after,
    .main-navigation ul li:nth-of-type(3) a::after {
        content: '';
        width: 66px;
        height: 66px;
        background-color: #a1a7e6;
        border-radius: 100px;
        position: absolute;
        left: 0;
        right: 0;
        z-index: -1;
    } */
    /* .main-navigation ul li:nth-of-type(4) a {
        color: #6a74d7;
        width: 66px;
        height: 66px;
        position: relative;
        z-index: 0;
        flex-direction: column-reverse;
        gap: 8px;
    }
    .main-navigation ul li:nth-of-type(4) a::after {
        content: '';
        width: 25.62px;
        height: 26.05px;
        background-image: url(./assets/img/common/icon_instagram_header.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        display: inline-block;
    } */
    /* .main-navigation ul li:nth-of-type(5) a {
        width: 148px;
        height: 148px;
        position: relative;
        z-index: 0;
        flex-direction: column-reverse;
        gap: 0;
        font-size: 15px;
        font-weight: 500;
        padding-bottom: 16px;
        padding-bottom: 8px;
        margin-top: -9px;
    }
    .main-navigation ul li:nth-of-type(5) a > span {
        color: #6a74d7;
        font-size: 1.5em;
        font-weight: 500;
        line-height: 1;
        padding-top: 6px;
        transform: rotate(0.05deg);
    }
    .main-navigation ul li:nth-of-type(5) a::before {
        content: '';
        width: 148px;
        height: 148px;
        background-color: #ffff5f;
        border-radius: 100px;
        position: absolute;
        left: 0;
        right: 0;
        z-index: -1;
    }
    .main-navigation ul li:nth-of-type(5) a::after {
        content: '';
        width: 51.12px;
        height: 52.93px;
        background-image: url(./assets/img/common/icon_recruit_new.svg);
        background-repeat: no-repeat;
        background-size: contain;
        display: inline-block;
        height: 32.93px;
        background-size: cover;
    } */
    .main-navigation ul li:nth-of-type(1) a::after,
    .main-navigation ul li:nth-of-type(2) a::after,
    .main-navigation ul li:nth-of-type(3) a::after,
    .main-navigation ul li:nth-of-type(5) a::before {
        transition: all .15s ease-in-out;
    }
    .main-navigation ul li:nth-of-type(1) a:hover::after,
    .main-navigation ul li:nth-of-type(2) a:hover::after,
    .main-navigation ul li:nth-of-type(3) a:hover::after,
    .main-navigation ul li:nth-of-type(5) a:hover::before {
        opacity: 0.7;
    }
    .main-header .sp_instagram {
        display: none;
    }
    .main-header .sp_recruit {
        display: none;
    }
}
@media screen and (min-width: 782px) {
    .home .main-header {
        position: absolute;
        width: 100%;
        padding-top: 0;
        margin-top: 67px;
        z-index: 1;
    }
    .home .main-header::before {
        content: '';
        width: 100vw;
        height: 84px;
        margin-left: calc(50% - 50vw);
        position: absolute;
        top: 38px;
        z-index: 0;
        background-color: #fff;
        content: none;
    }

    .home .main-header-content {
        max-width: 1170px;
        max-width: 100%;
    }
}
@media screen and (max-width: 979px) {
    .home .main-header {
        margin-top: 0;
        position: relative;
        padding-top: 30px;
        padding-bottom: 0;
        position: absolute;
        inset: 0 0 auto;
        background-color: transparent;
        padding: 20px 0 16px;
        background-color: #fff;
    }
    .site-branding {
        position: relative;
        position: absolute;
        width: 178px;
        height: 124px;
        margin-left: -18px;
        padding: 0 0 0 26px;
    }
    .site-logo {
        position: relative;
        z-index: 1;
    }
    .site-logo img {
        transform: scale(1, 1);
        width: 130.48px;
        height: auto;
        object-fit: cover;
        object-fit: contain;
        width: 117px;
        max-height: 74px;
        width: 152px;
        max-height: 112px;
    }
    .page-scrolling .site-logo img {
        width: 117px;
        max-height: 74px;
    }
    .home .main-header-content {
        background-color: #fff;
        background-color: transparent;
    }
    .main-header .sp_instagram {
        color: #6a74d7;
        width: 46px;
        height: 44px;
        position: relative;
        z-index: 0;
        flex-direction: column-reverse;
        align-items: center;
        gap: 2px;
        display: flex;
        text-decoration: none;
        font-size: 8px;
        font-weight: 500;
        margin-left: auto;
        margin-right: 10px;
        margin-bottom: auto;
    }
    .main-header .sp_instagram::after {
        content: '';
        width: 19.82px;
        height: 20.15px;
        background-image: url(./assets/img/common/icon_instagram_header.svg);
        background-repeat: no-repeat;
        background-size: contain;
        display: inline-block;
    }
    .main-header .sp_recruit {
        color: inherit;
        width: 82px;
        height: 82px;
        position: relative;
        z-index: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column-reverse;
        gap: 0;
        font-size: 10px;
        font-weight: 500;
        text-align: center;
        line-height: 1.5;
        padding-bottom: 16px;
        margin-top: 0;
        text-decoration: none;
    }
    .main-header .sp_recruit::before {
        content: '';
        width: 82px;
        height: 82px;
        background-color: #ffff5f;
        border-radius: 100px;
        position: absolute;
        left: 0;
        right: 0;
        z-index: -1;
    }
    .main-header .sp_recruit::after {
        content: '';
        width: 51.12px;
        height: 52.93px;
        background-image: url(./assets/img/common/icon_recruit_new.svg);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        display: inline-block;
        width: 29.12px; /* NEW非表示対応 */
        height: 21.93px; /* NEW非表示対応 */
        background-size: cover; /* NEW非表示対応 */
        background-position: top center; /* NEW非表示対応 */
    }
    .main-header .sp_recruit > span {
        color: #6a74d7;
        font-size: 13px;
        font-weight: 700;
        line-height: 1;
        padding-top: 6px;
        padding-top: 2px; /* NEW非表示対応 */
        transform: rotate(0.05deg);
        letter-spacing: 0;
    }
    .drawer-navigation ul li br {
        display: none;
    }
    .home .drawer-hamburger {
        margin-bottom: auto;
    }
    body:not(.home):not(.page-id-112) .site-header {
        margin-bottom: 2rem;
    }
    body:not(.home) .main-header .sp_recruit {
        display: none;
    }
    .main-navigation .menu-item-192 span {
        display: none;
    }
}
@media screen and (max-width: 640px) {
    .main-header .sp_instagram {
        width: 46px;
        height: 44px;
        gap: 2px;
        font-size: 8px;
    }
    .main-header .sp_instagram::after {
        width: 19.82px;
        height: 20.15px;
    }
}


.main-header {
    background-color: #fff;
    position: fixed !important;
    top: 0;
    width: 100%;
    z-index: 1;
}

@media screen and (min-width: 980px) {
    .main-navigation {
        top: 0;
        height: 100%;
    }
    .main-header .site-logo a {
        top: 30px;
        left: 40px;
    }
    .main-header .site-logo::after {
        top: -37px !important;
    }
    .main-header-content {
        height: 75px;
        padding-right: 0;
        flex-wrap: nowrap;
    }
    body:not(.page-id-112) .main-header-content {
        max-width: 100%;
    }
    .menu-main_menu-container {
        height: 100%;
    }
    .menu-head_menu-container {
        height: 100%;
    }
    .main-navigation ul {
        display: flex;
        align-items: center;
        height: 100%;
        flex-wrap: nowrap;
    }
    /* .main-navigation ul.menu>li:last-of-type,
    .main-navigation ul.menu>li:nth-of-type(5) {
        height: 100%;
        min-width: 110px;
        text-align: left;
    } */
    .main-navigation ul.menu>li:last-of-type {
        height: 100%;
        min-width: 110px;
        text-align: left;
    }
    /* .main-navigation ul.menu>li:nth-of-type(5) a {
        background-color: #006e55;
        color: #ffff5f;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 1.7;
    } */
    .main-navigation ul.menu>li:last-of-type a {
        background-color: #ffac80;
        color: #ffff5f;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        line-height: 1.7;
    }
    .main-navigation ul.menu>li:last-of-type a::before {
        content: '';
        width: 38px;
        height: 38px;
        display: inline-block;
        background-image: url(./assets/img/common/icon_reserve.svg);
        background-repeat: no-repeat;
        background-size: contain;
        margin-right: 0;
        transition: all .15s ease-in-out;
    }

    .main-navigation ul.menu>li:not(:last-of-type) a {
        position: relative;
    }
    .main-navigation ul.menu>li:not(:last-of-type) a:before {
        content: '';
        width: 10px;
        height: 10px;
        border: 0;
        border-bottom: solid 1px #1fa466;
        border-right: solid 1px #1fa466;
        transform: rotate(45deg) translateX(-100%);
        position: absolute;
        /* top: 0; */
        left: 50%;
        bottom: -45px;
        margin: auto;
        transition: all .15s ease-in-out;
    }
    .main-navigation ul.menu>li:not(:last-of-type) a:hover:before {
        bottom: -55px;
    }
    .main-navigation ul.menu>li.menu-item-34 a {
        color: #6a74d7;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        gap: 2px;
    }
    .main-navigation ul.menu>li.menu-item-34 a:before {
        width: 24px;
        height: 24px;
        border: 0;
        border-bottom: none;
        border-right: none;
        transform: none;
        position: static;
        /* top: 0; */
        left: auto;
        bottom: auto;
        background-image: url(./assets/img/common/icon_instagram_header.svg);
        background-repeat: no-repeat;
        background-size: contain;
        display: inline-block;
    }

}
@media screen and (min-width: 980px) {
    body:not(.home) .main-header {
        padding-top: 0;
        padding-bottom: 0;
        margin-top: 0;
    }
}
@media screen and (min-width: 980px) {
    .home .main-header {
        padding-bottom: 0;
        margin-top: 0;
    }
}

/* .single .site-header {
    margin-bottom: 0 !important;
} */










.main-header .site-logo a {
    position: static;
    padding-top: 30px;
    margin-left: 0;
    z-index: 1;
}
@media screen and (min-width: 980px) {
    .main-header .site-logo a {
        margin-left: 40px;
    }
}
/* .home .main-header .site-logo::after { */
.main-header .site-logo::after {
	content: "";
	position: absolute;

	/* 既存の画像 */
	background-image: url(./assets/img/common/logo_bg4.png);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: contain;

	/* 1380px以上の基本サイズ */
	width: 572px;
	aspect-ratio: 572 / 388;

    z-index: -1 !important;
}
/* @media screen and (min-width: 980px) and (max-width: 1380px) { */
@media screen and (min-width: 980px) {
    .home .main-header .site-logo a {
        width: clamp(
			130px,
            calc(44.25vw - 303.65px),
			307px
		);
        transition: none;
        margin-left: clamp(
			0px,
            calc(10vw - 98px),
			40px
		);
    }
	.home .main-header .site-logo::after {
		/*
		 * 画面幅980px時：200px
		 * 画面幅1380px時：320px
		 */
		width: clamp(
			246px,
			calc(81.5vw - 552.7px),
			572px
		) !important;
        top: clamp(
          -37px,
          calc(-9.25vw + 90.65px),
          0px
        ) !important;
        z-index: -1;
        
	}
    body:not(.home) .main-header .site-logo::after {
        content: none;
    }
    body:not(.home) .main-header .site-logo a {
        padding: 22px 0;
        width: auto;
        max-width: 307px;
    }


    /* .main-header.page-scrolling .site-logo a {
        width: 117px;
        margin-left: -24px;
    } */
    .home .main-header.page-scrolling .site-logo a {
        width: 117px;
        margin-left: -24px;
    }
	.main-header.page-scrolling .site-logo::after {
		/*
		 * 画面幅980px時：200px
		 * 画面幅1380px時：320px
		 */
		width: 246px !important;
        height: 167px;
        top: -30px !important;
        left: -80px;
        
	}
    /* .main-header.page-scrolling .site-logo img {
        max-height: 74px;
        object-fit: contain;
    } */
    .home .main-header.page-scrolling .site-logo img {
        max-height: 74px;
        object-fit: contain;
    }
}
@media screen and (max-width: 979px) {
    .main-header .site-logo::after {
        width: 246px;
        height: 167px;
        width: 266px;
        height: 187px;
        top: -30px;
    }
    .main-header.page-scrolling .site-logo::after {
        width: 196px;
        height: 134px;
    }
    /* body:not(.home) .main-header .site-logo::after {
        content: none;
    } */
    /* body:not(.home) .main-header .site-logo a {
        position: relative;
        top: -15px;
    } */
}
@media screen and (max-width: 781px) {
    .main-header .site-logo a {
        position: relative;
        z-index: 1;
    }
    .main-header .site-logo::after {
        z-index: 0 !important;
    }
}
@media screen and (max-width: 640px) {
    .main-header .site-logo::after{
        /* top: -60px; */
        width: 196px;
        height: 134px;
        width: 266px;
        height: 187px;
    }
    .main-header.page-scrolling .site-logo::after {
        width: 196px;
        height: 134px;
    }
}



.jumbotron {
    background-color: transparent;
    background-position: left top;
}
.jumbotron-overlay {
    background-color: transparent;
}

.jumbotron-content {
    padding-bottom: 40px;
    padding-top: 130px;
    display: flex;
    flex-direction: column-reverse;
}
@media screen and (min-width: 782px) {
    .jumbotron-content {
        padding-bottom: 70px;
        padding-top: 140px;
    }
}
@media screen and (min-width: 980px) {
    .jumbotron-content {
        /* padding-bottom: 85px; */
        padding-bottom: 0;
        padding-top: 200px;
    }
}


.jumbotron-title {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-style: normal;
    letter-spacing: 0.1em;
    /* font-style: italic; */
    font-weight: 400;
    font-size: 2.32em;
    color: #1fa466;
    text-shadow: none;
    display: none;
}
@media screen and (max-width: 640px) {
    .jumbotron-title {
        font-size: 1.75em;
    }
}
.subheader {
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.76em;
    color: #ffc261 !important;
    text-transform: lowercase;
    line-height: 1;
    letter-spacing: 0.04em;
    text-indent: -0.4em;
    margin-bottom: 0;
    /* width: 500px;
    margin: 0 auto; */
    display: none;
}
.subheader::first-letter {
  text-transform: uppercase;
}






/* リンクボタン */
.link_button {
    text-align: center;
}
.link_button a {
    display: inline-block;
    margin: 0 auto 28px;
    padding: 14px 28px;
    border: 2px solid #ffe05f;
    border-radius: 999px;
    color: #2bb44b;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    min-width: 320px;
}
.link_button a::after {
    content: "▶";
    margin-left: 8px;
    color: #ffe05f;
    font-size: 12px;
    vertical-align: 1px;
}

/* 診療時間 */
.hospital_hours-contanier {
    padding: 10px 10px 20px;
    margin-bottom: 1em;
    border-radius: 15px;
    background-color: #f5fcf4;
}
@media screen and (min-width: 641px) {
    .hospital_hours-contanier {
        padding: 10px 30px 20px;
    }
}
.hospital_hours_table {
    margin-bottom: 0.5em;
    font-size: 100%;
}
@media screen and (max-width: 640px) {
    .hospital_hours_table {
        font-size: 0.95em;
    }
}
.hospital_hours_table td {
    text-align: center;
    color: #3fab58;
    /* font-size: 1.05em; */
    font-weight: 500;
    padding: 1.2em 0.5em 0.8em;
    border: none;
    border-bottom: 1px solid #8b8b8b;
    position: relative;
    line-height: 1;
}
.hospital_hours_table tr:nth-of-type(2) td {
    padding: 1em 0.5em;
}
.hospital_hours_table tr:nth-of-type(1) td:first-child {
    padding: 1.2em 0 0.8em;
}
.hospital_hours_table tr:nth-of-type(2) td:first-child {
    padding: 1em 0;
}
.hospital_hours_table tr:nth-of-type(1) td:nth-of-type(7),
.hospital_hours_table tr:nth-of-type(1) td:nth-of-type(8),
.hospital_hours_table tr:nth-of-type(2) td:nth-of-type(5),
.hospital_hours_table tr:nth-of-type(2) td:nth-of-type(8) {
    color: #ff8d56;
}
.hospital_hours_table td:first-child::after {
    content: '';
    width: 1px;
    height: 2em;
    background-color: #8b8b8b;
    position: absolute;
    right: 0;
    bottom: 0;
}
.hospital-hours_closed {
    text-align: right;
    color: #ff8d56;
    /* font-size: 1.05em; */
    font-weight: 500;
    margin-bottom: 0;
}
.mainvisual_hospital_hours {
    margin-bottom: 0;
    text-align: left;
    font-size: 0.9em;
    line-height: 1.6;
    letter-spacing: 0.04em;
}
.common_hospital_hours_title {
    font-size: 1.5em;
    font-weight: 400;
    color: #ff8d56;
    margin: 0 auto;
    text-align: center;
    /* border-left: 5px solid #ff8d56; */
    border-bottom: 3px solid #1fa466;
    padding-bottom: 4px;
    margin-bottom: 1em;
    position: relative;
}
.common_hospital_hours_title::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: calc(100% - 4px);
    background: #ff8d56;
    position: absolute;
    left: 0;
}

/* 各セクション余白 */
body:not(.page-id-112):not(.single) .entry-content > *:not(:first-child) {
    margin-top: 0;
}
body:not(.page-id-112):not(.single) .entry-content > *:not(:last-child) {
    margin-bottom: 10.5rem;
}
body:not(.page-id-112):not(.single) .entry-content > * > *:last-child,
body:not(.page-id-112):not(.single) .entry-content > * > * > *:last-child {
    margin-bottom: 0;
}
@media screen and (max-width: 640px) {
    body:not(.page-id-112) .entry-content > *:not(:last-child) {
        margin-bottom: 5.25rem;
    }
}


/* スマートフォンメニュー */
.drawer-hamburger-icon, .drawer-hamburger-icon:before, .drawer-hamburger-icon:after {
    background-color: #1fa466;
}
@media screen and (max-width: 979px) {
    .main-header {
        /* position: fixed !important; */
        position: absolute;
        width: 100%;
        z-index: 21;
        /* background: transparent; */
        padding: 20px 0 16px;
        background-color: #fff;
    }
    /* body:not(.home) .main-header {
        padding: 30px 24px 0 0;
    } */
    .main-header-content {
        padding: 0 16px;
        background: transparent;
        align-items: flex-start;
        max-width: 100%;
        padding-right: 42px !important;
    }
    .drawer-hamburger {
        position: fixed !important;
        right: 16px;
    }
}
.drawer-navigation {
    width: 100%;
}
.drawer-navigation-content{
    padding: 60px 32px;
}
.sp_menu_item {
    display: grid;
    grid-template-columns: 0.3fr 0.7fr;
}
.sp_menu_item > * {
    margin: 0;
    line-height: 1;
}
.menu-head_menu-container > .sp_menu_item:not(:first-child) {
    padding-top: 0.75em;
}
.menu-head_menu-container > .sp_menu_item:not(:last-child) {
    border-bottom: 1px solid;
    padding-bottom: 0.75em;
}
.sp_menu_main_name-en {
    font-family: "Metal", serif;
    font-weight: 500;
    font-style: normal;
    color: #ffc261;
    font-size: 1.2em;
}
.sp_menu_main_name {
    color: #1fa466;
    font-weight: 500;
    font-size: 1.2em;
}
.sp_menu_item_sub {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 0.28fr 0.72fr;
}
.sp_menu_item_sub > * {
    margin: 0;
    line-height: 1;
}

.sp_menu_item > .sp_menu_item_sub:not(:first-child) {
    padding-top: 0.5em;
}
.sp_menu_item > .sp_menu_item_sub:not(:last-child) {
    padding-bottom: 0.5em;
}
.sp_menu_item > .sp_menu_item_sub:first-of-type {
    padding-top: 1.0em;
}
.sp_menu_item > .sp_menu_item_sub:last-of-type {
    padding-bottom: 0.5em;
}
.sp_menu_item_sub > .sp_menu_main_name {
    background-color: #f1fbf1;
    padding-left: 0.25em;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    font-size: 0.95em;
    color: inherit;
}
.sp_menu_item_sub > .sp_menu_main_name::before {
    content: "・";
    font-feature-settings: "palt";
}

.sp_menu_main_name .ready {
    color: #b6b6b6;
    pointer-events: none;
}
.sp_menu_main_name .ready > span {
    color: #4d4d4d;
    background: #ffffc4;
    padding: 0 8px;
    border-radius: 8px;
    font-size: 0.85em;
    margin-left: 10px;
}


/* フローティングメニュー */
.floating_menu {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    z-index: 1;
}
.floating_menu ul {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0;
}
.floating_menu ul li a{
    display: block;
    background-color: #6a74d7;
    color: #fff;
    text-decoration: none;
    padding: 0.5em 1em;
    border-radius: 8px;
    line-height: 1.6;
    /* display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px; */
}
.floating_menu ul li:nth-child(1) a::before {
    content: '';
    width: 18px;
    height: 16px;
    background-image: url(./assets/img/common/icon_reservation.svg);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
}
.floating_menu ul li:nth-child(2) a::before {
    content: '';
    width: 18px;
    height: 16px;
    background-image: url(./assets/img/common/icon_hospital_hours.svg);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
}


@media screen and (min-width: 980px) {
    .floating_menu {
        left: auto;
        top: 100px;
        right: 0;
        bottom: auto;
        writing-mode: vertical-rl;
        text-orientation: upright;
        width: auto;
        transform: none;
        font-size: 0.95em;
    }
    .floating_menu ul li a {
        padding: 1em 0.5em;
        border-radius: 8px 0 0 8px;
    }
    .floating_menu ul li:nth-child(1) a::before {
        width: 20px;
        height: 18px;
        vertical-align: top;
        margin-bottom: -8px;
    }
    .floating_menu ul li:nth-child(2) a::before {
        width: 20px;
        height: 18px;
        vertical-align: top;
        margin-bottom: -8px;
    }
}
@media screen and (max-width: 640px) {
    .floating_menu ul li a{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
    }
}
@media screen and (max-width: 640px) {
    .floating_menu ul li a{
        font-size: 0.9em;
        padding: 0.75em 1em;
        letter-spacing: 0;
    }
}


/*----------------------------------------
    トップページ
----------------------------------------*/
/* メインビジュアル */
.mainvisual {
    background-image: url(./assets/img/mainvisual-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-color:rgba(255,255,255,0.35);
    background-blend-mode:lighten;
    background-position: center;
}
.mainvisual-container {
    max-width: 1000px;
    max-width: 82%;
    margin: 0 auto;
    padding: 75px 0;
    padding: 75px 0 172px;
}
.mainvisual-content {
    position: relative;
}
.mainvisual__text {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.25em;
    transform: rotate(0.05deg);
    position: absolute;
    top: 65px;
    left: 324px;
    color: #3fab58;
    z-index: 1;
}
.mainvisual__text--orange {
    color: #ffac80;
}
.mainvisual__opening {
    position: absolute;
    left: -60px;
    bottom: -67px;
}
.mainvisual__catchcopy {
    position: absolute;
    top: 60%;
}
.mainvisual__catchcopy {
    padding: 0.5em 0;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    text-align: center;
    font-style: italic;
    /* font-size: 1.76em; */
    position: absolute;
    top: 60%;
    z-index: 1;
}
/* @media screen and (max-width: 640px) { */
    .mainvisual__catchcopy {
        top: 40%;
        top: 28%;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
    }
    .mainvisual__catchcopy::after {
        content: "";
        position: absolute;
        left: 3%;
        right: 3%;
        top: 0;
        height: 100%;
        border-radius: 999px;
        background: rgba(255, 247, 80, 1.0);
        filter: blur(12px);
        z-index: 0;
    }
/* } */

/* .mainvisual__catchcopy::after {
    content: "";
    position: absolute;
    left: 0%;
    right: 0%;
    top: 0;
    height: 100%;
    border-radius: 999px;
    background: rgba(255, 247, 80, 1.0);
    filter: blur(24px);
    z-index: 0;
} */
@media screen and (max-width: 640px) {
    .mainvisual__catchcopy::after {
        content: "";
        position: absolute;
        left: 3%;
        right: 3%;
        top: 0;
        height: 100%;
        border-radius: 999px;
        background: rgba(255, 247, 80, 1);
        filter: blur(8px);
        z-index: 0;
    }
}
.mainvisual__catchcopy h2 {
    color: #6e6e6e;
    padding: 4px 20px;
    margin: 0;
    position: relative;
    z-index: 1;
    text-shadow: 0px 0px 4px rgba(255, 255, 100, 0.8),
    0px 0px 4px rgba(255, 255, 100, 0.8);
    -webkit-text-stroke: 2px #ffff64;
    paint-order: stroke fill;
    letter-spacing: 0.06em;
}
.mainvisual__subcopy {
    position: absolute;
    top: 70%;
    z-index: 1;
}
/* @media screen and (max-width: 640px) { */
    .mainvisual__subcopy {
        top: 110%;
        top: 104%;
        left: 50%;
        transform: translateX(-50%);
        min-width: 320px;
    }
/* } */
.mainvisual__subcopy p {
    color: #ffff64;
    color: #6a74d7;
    font-size: 1.2em;
    font-size: 1.7rem;
    letter-spacing: 0.2em;
    padding-left: 1em;
    /* text-shadow: 0px 0px 24px rgba(0, 0, 0, 1); */
    text-shadow: 0px 0px 4px rgba(255, 255, 100, 0.8),
    0px 0px 4px rgba(255, 255, 100, 0.8);
    -webkit-text-stroke: 1px #ffff64;
    paint-order: stroke fill;
    font-weight: 500;
}
.mainvisual__subcopy p > * {
    color: #ffff64;
    color: #6a74d7;
}
@media screen and (min-width: 782px) {
    .mainvisual__catchcopy {
        top: 32%;
        width: 640px;
    }
    .mainvisual__catchcopy::after {
        filter: blur(12px);
    }
    .mainvisual__catchcopy h2 {
        font-size: 2rem;
        letter-spacing: 0.2em;
    }
}
@media screen and (min-width: 1170px) {
    .mainvisual__opening {
        position: absolute;
        left: -140px;
        bottom: -67px;
    }
}
@media screen and (min-width: 980px) and (max-width: 1180px) {
    .mainvisual__text {
        top: 72px;
        left: calc(324px + 8.6vw) !important;
    }
}
@media screen and (max-width: 979px) {
    /* .mainvisual {
        mask-image: url(./assets/img/mask_top.png);
        mask-repeat: no-repeat;
        mask-size: 100%;
    } */
    .mainvisual {
        position: relative;
        z-index: -1;
    }
    .mainvisual::before {
        content:"";
        position:absolute;
        left:0; right:0; top:0;
        height:44px;
        pointer-events:none;
        /* マスク（PNG） */
        -webkit-mask-image: url(./assets/img/mask_top.png);
                mask-image: url(./assets/img/mask_top.png);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-composite: destination-out;
          mask-composite: exclude;
        background: #fff;
        content: none;
    }
    .mainvisual::after {
        content:"";
        position:absolute;
        left:0; right:0; bottom:-2px;
        height:8.2vw;
        pointer-events:none;
        /* マスク（PNG） */
        -webkit-mask-image: url(./assets/img/mask_bottom.png);
                mask-image: url(./assets/img/mask_bottom.png);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-composite: destination-out;
          mask-composite: exclude;
        background: #fff;
        /* content: none; */
    }
    .mainvisual-container {
        /* padding: 128px 0 200px; */
        padding: 128px 0 148px;
        /* padding: 0; */
        max-width: 100%;
    }
    .mainvisual__text {
        top: 10%;
        left: auto;
        right: 20px;
        z-index: 0;
        line-height: 1.4;
    }
    .mainvisual__opening {
        width: 65.4749744637385vw;
        left: -20px;
        bottom: -14%;
    }
}
@media screen and (max-width: 640px) {
    /* .mainvisual-container {
        padding-bottom: 35.2vw;
    } */
    .mainvisual__text {
        right: 0;
        font-size: 16px;
        /* letter-spacing: 0.15em; */
    }
    .mainvisual__opening {
        width: 100vw;
        left: auto;
        bottom: -23.2vw;
    }
}


.mainvisual__hero {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
    align-items: flex-end;
    justify-content: center;
}
.mainvisual_mainimg {
    position: relative;
}
@media screen and (min-width: 980px) {
    /* .mainvisual_mainimg {
        flex-basis: calc(68% - 10px);
    } */
    .mainvisual_mainimg img {
        /* aspect-ratio: 7 / 5; */
        aspect-ratio: 16 / 9;
        object-fit: cover;
        object-position: bottom;
    }
    .mainvisual_mainimg_list {
        flex-basis: calc(32% - 10px);
    }
}

.mainvisual_mainimg .opening-pc {
    position: absolute;
    width: 196px;
    width: clamp(98px, 15.076923076923077vw, 196px);
    height: 196px;
    top: 20px;
    right: 20px;
    z-index: 1;
}
.mainvisual_mainimg .opening-pc img {
    aspect-ratio: 1 / 1;
}
@media screen and (max-width: 979px) {
    .mainvisual_mainimg .opening-pc {
        display: none;
    }
}

.main-header-content > .opening-sp {
    position: absolute;
    right: 110px;
    z-index: 1;
}
.main-header-content > .opening-sp {
    width: clamp(80px, 16.923076923076923vw, 98px);
    /* width: 80px; */
}
@media screen and (min-width: 980px) {
    .main-header-content > .opening-sp {
        display: none;
    }
}

.mainvisual_mainimg_list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    justify-content: center;
}
.mainvisual_subimg_item {
    width: calc(50% - 10px);
}

.mainvisual_subimg_item.subimg_item1 img {
    -webkit-mask-image: url("assets/img/mainvisual/mask1.svg");
    mask-image: url("assets/img/mainvisual/mask1.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.mainvisual_subimg_item.subimg_item2 img {
    -webkit-mask-image: url("assets/img/mainvisual/mask2.svg");
    mask-image: url("assets/img/mainvisual/mask2.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.mainvisual_subimg_item.subimg_item3 {
    width: 60%;
}
.mainvisual_subimg_item.subimg_item3 img {
    -webkit-mask-image: url("assets/img/mainvisual/mask3.svg");
    mask-image: url("assets/img/mainvisual/mask3.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}


.home .site-header {
    margin-bottom: 0;
}

.toppage_information {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 40px !important;
}
.toppage_information > * {
    width: 100%;
}
@media screen and (min-width: 782px) {
    .toppage_information > * {
        width: calc(50% - 20px);
    }
    .toppage_information > *:first-child {
        order: 2;
    }
    .toppage_information > *:last-child {
        order: 1;
    }
}

/* .news-list {
    padding: 30px 0;
    border-radius: 15px;
} */
.news-list ul {
    list-style: none;
    margin: 0 0 20px;
}
.news-list ul li a {
    display: flex;
    /* justify-content: flex-start;
    gap: 30px; */
    flex-direction: column;
    border-bottom: solid 1px #c6c6c6;
    /* margin-bottom: 25px; */
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
    padding-right: 15px;
    text-decoration: none;
    color: #000;
}
/* .news-list ul li:first-child a {
    border-top: 1px solid #c6c6c6;
} */
.news-list ul li a:hover {
    background-color: #cef0cd;
}
.news-list ul li .post-date {
    letter-spacing: 0.1em;
    color: #9B9B9B;
    line-height: 1.2;
}

.news-list_title {
    font-size: 1.5em;
    font-weight: 400;
    color: #ff8d56;
    margin: 0 auto;
    text-align: center;
    /* border-left: 5px solid #ff8d56; */
    border-bottom: 3px solid #1fa466;
    padding-bottom: 4px;
    position: relative;
    margin-bottom: 1em;
}
.news-list_title::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: calc(100% - 4px);
    background: #ff8d56;
    position: absolute;
    left: 0;
}


/* こんなお悩みはありませんか */
.toppage_problem {
    padding-top: 0;
    margin-bottom: 100px;
    position: relative;
    text-align: center;
}
.toppage_problem .problem_header {
    /* background-image: radial-gradient(closest-side, #fffa91 39%, transparent); */
    padding: 0.5em 0;
    margin-top: 80px;
    /* margin-bottom: 0; */
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    text-align: center;
    font-style: italic;
    font-size: 1.4em;
    position: relative;
}
@media screen and (min-width: 641px) {
    .toppage_problem .problem_header {
        font-size: 1.76em;
    }
}
.toppage_problem .problem_header::before {
    content: "";
    position: absolute;
    left: 9%;
    right: 9%;
    top: 0;
    height: 100%;
    border-radius: 999px;
    background: rgba(255, 247, 80, 0.55);
    filter: blur(24px);
    z-index: -1;
}
@media screen and (max-width: 640px) {
    .toppage_problem .problem_header::before {
        left: 0;
        right: 0;
        background: rgba(255, 247, 80, 0.85);
    }
}
.problem_detail {
    display: inline-block;
    text-align: left;
    font-size: 1.05em;
}
.problem_detail > * {
    margin: 0;
}
.problem_detail > ul {
    margin-left: 1em;
}
.problem_detail > *:last-child {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-style: italic;
    margin: 2em 0;
}

.section_header .toppage_whats_header-en {
    margin-bottom: 0;
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 2.35em;
    color: #ffc261;
    line-height: 1;
    letter-spacing: 0;
    /* -webkit-text-stroke: 1px #fff;
    paint-order: stroke fill; */
    width: 500px;
    margin: 0 auto;
}
@media screen and (max-width: 640px) {
    .section_header .toppage_whats_header-en {
        width: 100%;
    }
}
.section_header .toppage_whats_header {
    letter-spacing: 0.17em;
    /* font-style: italic; */
    font-weight: 400;
    text-align: center;
    position: relative;
    margin-top: 0;
    font-size: 2.32em;
    color: #1fa466;
}
@media screen and (max-width: 640px) {
    .section_header .toppage_whats_header {
        font-size: 1.75em;
        margin-bottom: 1em;
    }
}
.section_header .toppage_whats_header::before {
    content: '';
    width: 500px;
    height: 12px;
    background-image: linear-gradient(90deg, #f9f048 11%, #ffffff 50%, #88d6ac 92%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;
    margin: 0 auto;
    z-index: -1;
}
@media screen and (max-width: 640px) {
    .section_header .toppage_whats_header::before {
        width: 100%;
    }
}




/* ペインクリニッククリニックってどんなところ？ */
.toppage_whats {
    padding-top: 200px;
    margin-bottom: 100px;
    position: relative;
}
.toppage_whats::before {
    content: '';
    background-image: url(./assets/img/top/toppage_whats_top2.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    width: 100vw;
    height: 17.916666666666668vw;
    margin-left: calc(50% - 50vw);
    position: absolute;
    top: 0;
}
.toppage_whats::after {
    content: '';
    background-image: url(./assets/img/top/toppage_whats_bottom2.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    width: 100vw;
    height: 29.895833333333332vw;
    margin-left: calc(50% - 50vw);
    position: absolute;
    bottom: 0;
    z-index: -1;
}
@media screen and (max-width: 979px) {
    .toppage_whats::before {
        content: none;
    }
}
.toppage_whats-container {
    position: relative;
}
.toppage_whats-title {
    font-size: 1.5em;
    font-weight: 400;
    color: #ff8d56;
    margin: 0 auto;
    text-align: center;
    /* border-left: 5px solid #ff8d56; */
    border-bottom: 3px solid #1fa466;
    padding-bottom: 4px;
    position: relative;
    width: 500px;
}
@media screen and (max-width: 640px) {
    .toppage_whats-title {
        width: 100%;
    }
}
.toppage_whats-title::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: calc(100% - 4px);
    background: #ff8d56;
    position: absolute;
    left: 0;
}
@media screen and (min-width: 980px) {
    .toppage_whats-title br {
        display: none;
    }
}

.toppage_whats_detail {
    /* background-image: radial-gradient(closest-side, #fffa91 39%, transparent); */
    padding: 0.5em 0;
    margin-top: 40px;
    /* margin-bottom: 0; */
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    text-align: center;
    font-style: italic;
    font-size: 1.4em;
}
@media screen and (min-width: 641px) {
    .toppage_whats_detail {
        margin-top: 80px;
    }
    .toppage_problem .problem_header {
        font-size: 1.76em;
    }
}
.toppage_whats_detail::before {
    content: "";
    position: absolute;
    left: 9%;
    right: 9%;
    top: 0;
    height: 100%;
    border-radius: 999px;
    background: rgba(255, 247, 80, 0.55);
    filter: blur(24px);
    z-index: -1;
}
@media screen and (max-width: 640px) {
    .toppage_whats_detail::before {
        left: 0;
        right: 0;
        background: rgba(255, 247, 80, 0.85);
    }
}

.toppage_whats_feature_item-title {
    font-size: 1.5em;
    font-weight: 500;
    color: #3fab58;
    margin: 0;
    position: relative;
}
.toppage_whats_feature_item-title > span {
    content: '';
    position: absolute;
    top: 10px;
    left: -16px;
    z-index: -1;
    transform: translateY(-50%);
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    color: #d4d4d4;
    display: inline-block;
    font-size: 46px;
    line-height: 1;
}
/* .toppage_whats_feature_item .toppage_whats_feature_item-title::after {
    content: '';
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    position: absolute;
    bottom: 0;
    z-index: -1;
}
.toppage_whats_feature_item.feature_item1 .toppage_whats_feature_item-title::after {
    background-image: url(./assets/img/top/feature_item1.svg);
    width: 26.41px;
    height: 94.14px;
    top: -162%;
    left: -5.6%;
}
.toppage_whats_feature_item.feature_item2 .toppage_whats_feature_item-title::after {
    background-image: url(./assets/img/top/feature_item2.svg);
    width: 49.37px;
    height: 94.14px;
    top: -142.8%;
    left: -16%;
}
.toppage_whats_feature_item.feature_item3 .toppage_whats_feature_item-title::after {
    background-image: url(./assets/img/top/feature_item3.svg);
    width: 43.4px;
    height: 95.42px;
    top: -207%;
    left: -11.6%;
}
.toppage_whats_feature_item.feature_item4 .toppage_whats_feature_item-title::after {
    background-image: url(./assets/img/top/feature_item4.svg);
    width: 58.67px;
    height: 94.14px;
    top: -122%;
    left: -13.6%;
}
.toppage_whats_feature_item.feature_item5 .toppage_whats_feature_item-title::after {
    background-image: url(./assets/img/top/feature_item5.svg);
    width: 44.77px;
    height: 97.71px;
    top: -218%;
    left: -8.4%;
}
.toppage_whats_feature_item.feature_item6 .toppage_whats_feature_item-title::after {
    background-image: url(./assets/img/top/feature_item6.svg);
    width: 47.07px;
    height: 94.14px;
    top: -190.6%;
    left: -11.2%;
} */
.toppage_whats_feature_list {
    /* display: grid; */
    grid-auto-flow: row;
    column-gap: 20px;
    row-gap: 20px;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 800px;
    /* z-index: 11; */
}
@media screen and (min-width: 782px) {
    .toppage_whats_feature_list {
        grid-auto-flow: column;
        grid-template-rows: repeat(3, auto);
    }
}

.toppage_whats_feature_item {
    position: absolute;
}
.toppage_whats_feature_item.feature_item1 {
    left: 19%;
    top: 9%;
}
.toppage_whats_feature_item.feature_item1::before {
    content: '';
    background-image: url(./assets/img/top/toppage_whats_img1.svg);
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    width: 262.21px;
    height: 264.37px;
    position: absolute;
    top: -59%;
    left: -99%;
    bottom: 0;
    z-index: -1;
}
.toppage_whats_feature_item.feature_item2 {
    left: 25%;
    top: 34%;
}
.toppage_whats_feature_item.feature_item3 {
    left: 7%;
    top: 56%;
}
.toppage_whats_feature_item.feature_item4 {
    right: -8%;
    top: 9%;
}
.toppage_whats_feature_item.feature_item4::before {
    content: '';
    background-image: url(./assets/img/top/toppage_whats_img2.svg);
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    width: 259.64px;
    height: 210.92px;
    position: absolute;
    top: 85%;
    right: -0.6%;
    z-index: -1;
}
.toppage_whats_feature_item.feature_item5 {
    right: 1%;
    top: 49%;
}
.toppage_whats_feature_item.feature_item6 {
    right: -5%;
    top: 72%;
}
.toppage_whats_feature_item-text {
    line-height: 1.62;
}

@media screen and (max-width: 979px) {
    .toppage_whats {
        padding-top: 60px;
        padding-top: 0;
    }
    .toppage_whats-title {
        /* font-size: 32px; */
        margin-bottom: 80px;
    }
    .toppage_whats_feature_list {
        height: auto;
        padding-bottom: 80px;
    }
    .toppage_whats_feature_item {
        position: relative;
        width: 478px;
        margin: 0 auto 60px;
        padding-left: 80px;
    }
    .toppage_whats_feature_item-title {
        font-size: 1.4em;
        margin-bottom: 1.5em;
    }
    .toppage_whats_feature_item.feature_item1 {
        left: 0;
        top: 0;
    }
    .toppage_whats_feature_item.feature_item1::before {
        background-size: contain;
        width: 149px;
        height: 150px;
        position: absolute;
        top: -59%;
        left: -29%;
        bottom: 0;
        z-index: -1;
    }
    .toppage_whats_feature_item.feature_item2 {
        left: 0;
        top: 0;
    }
    .toppage_whats_feature_item.feature_item3 {
        left: 0;
        top: 0;
    }
    .toppage_whats_feature_item.feature_item4 {
        right: 0;
        top: 0;
    }
    .toppage_whats_feature_item.feature_item4::before {
        background-size: contain;
        width: 185px;
        height: 150px;
        position: absolute;
        top: 5%;
        right: -29%;
    }
    .toppage_whats_feature_item.feature_item5 {
        right: 0;
        top: 0;
    }
    .toppage_whats_feature_item.feature_item6 {
        right: 0;
        top: 0;
    }
    /* .toppage_whats_feature_item .toppage_whats_feature_item-title::after {
        background-size: contain;
        background-position: center;
        top: 0 !important;
        left: -50px !important;
        width: 40px !important;
    }
    .toppage_whats_feature_item.feature_item1 .toppage_whats_feature_item-title::after {
        background-image: url(./assets/img/top/feature_item1.svg);
        width: 26.41px;
        height: 60.14px;
        top: -162%;
        left: -5.6%;
    }
    .toppage_whats_feature_item.feature_item2 .toppage_whats_feature_item-title::after {
        background-image: url(./assets/img/top/feature_item2.svg);
        width: 49.37px;
        height: 60.14px;
        top: -142.8%;
        left: -16%;
    }
    .toppage_whats_feature_item.feature_item3 .toppage_whats_feature_item-title::after {
        background-image: url(./assets/img/top/feature_item3.svg);
        width: 43.4px;
        height: 60.42px;
        top: -207%;
        left: -11.6%;
    }
    .toppage_whats_feature_item.feature_item4 .toppage_whats_feature_item-title::after {
        background-image: url(./assets/img/top/feature_item4.svg);
        width: 58.67px;
        height: 60.14px;
        top: -122%;
        left: -13.6%;
    }
    .toppage_whats_feature_item.feature_item5 .toppage_whats_feature_item-title::after {
        background-image: url(./assets/img/top/feature_item5.svg);
        width: 44.77px;
        height: 60.71px;
        top: -218%;
        left: -8.4%;
    }
    .toppage_whats_feature_item.feature_item6 .toppage_whats_feature_item-title::after {
        background-image: url(./assets/img/top/feature_item6.svg);
        width: 47.07px;
        height: 60.14px;
        top: -190.6%;
        left: -11.2%;
    } */
}
@media screen and (max-width: 640px) {
    .toppage_whats_feature_item-title {
        font-size: 1.25em;
        margin-bottom: 0.5em;
    }
    .toppage_whats_feature_item {
        margin-bottom: 1em;
    }
    .toppage_whats_feature_item-text {
        margin-bottom: 0;
    }
}
@media screen and (max-width: 540px) {
    .toppage_whats-title {
        font-size: 1.76em;
    }
    .toppage_whats_feature_item {
        width: 85.33333333333334vw; /* ベース375px 320pxの場合 */
        padding-left: 0;
    }
    .toppage_whats_feature_item.feature_item1::before {
        opacity: 0.65;
        width: 100px;
        top: 70%;
        left: auto;
        right: -5%;
    }
    .toppage_whats_feature_item.feature_item4::before {
        opacity: 0.65;
        width: 120px;
        top: 50%;
        right: -20px;
    }
}
@media screen and (max-width: 640px) {
    .toppage_whats-title {
        font-size: 1.4em;
        margin-bottom: 1.5em;
    }
}


/* こんな症状、ありませんか？ */
.toppage_symptom {
    margin-bottom: 160px;
}
.toppage_symptom-title {
    /* font-size: 33px;
    font-weight: 400;
    color: #3fab58;
    margin: 0 auto; */
    /* background-image: radial-gradient(closest-side, #fffa91 39%, transparent); */
    padding: 0.5em 0;
    margin-top: 80px;
    /* margin-bottom: 0; */
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    text-align: center;
    font-style: italic;
    font-size: 1.4em;
    position: relative;
}
@media screen and (min-width: 641px) {
    .toppage_problem .problem_header {
        font-size: 1.76em;
    }
}
.toppage_symptom-title::before {
    content: "";
    position: absolute;
    left: 9%;
    right: 9%;
    top: 0;
    height: 100%;
    border-radius: 999px;
    background: rgba(255, 247, 80, 0.55);
    filter: blur(24px);
    z-index: -1;
}
@media screen and (max-width: 640px) {
    .toppage_symptom-title::before {
        left: 0;
        right: 0;
        background: rgba(255, 247, 80, 0.85);
    }
}
@media screen and (min-width: 980px) {
    .toppage_symptom-title br {
        display: none;
    }
}

.toppage_symptom_detail {
    text-align: center;
}
.toppage_symptom_detail p {
    display: inline-block;
    text-align: left;
    font-size: 1.05em;
}



.toppage_symptom_item > a {
    text-decoration: none;
    color: inherit !important;
}
.toppage_symptom_item-title {
    font-size: 21px;
    font-weight: 400;
    color: #7b7e88;
    margin: 0;
    font-size: 1.23em;
}
.toppage_symptom_item-text {
    line-height: 1.62;
    margin-bottom: 0;
    margin-top: 8px;
    padding: 0 24px;
}
@media screen and (max-width: 640px) {
    .toppage_symptom_item-text {
        font-size: 0.9em;
        padding: 0 10px !important;
        font-feature-settings: "palt";
    }
}

.toppage_symptom_container {
    position: relative;
}
.toppage_symptom_image {
    position: relative;
}
.toppage_symptom_image-img {
    width: 256.17px;
    height: 533.88px;
    margin: 0 auto;
    display: block;
}
.toppage_symptom_list {
    /* display: grid;
    grid-auto-flow: row;
    column-gap: 20px;
    row-gap: 20px; */
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}
.toppage_symptom_item {
    display: grid;
    /* grid-template-rows: subgrid; */
    grid-row: span 2;
    gap: 0;
    justify-content: center;
}
@media screen and (min-width: 980px) {
    /* .toppage_symptom_list {
        grid-auto-flow: row;
        grid-template-rows: subgrid;
        grid-template-columns: repeat(3, 1fr); */
        /* position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 11;
    } */
    /* .toppage_symptom_list .toppage_symptom_item {
        position: absolute;
    }
    .toppage_symptom_list .toppage_symptom_item.symptom_item1 {
        top: 14.6%;
        left: 8.5%;
    }
    .toppage_symptom_list .toppage_symptom_item.symptom_item1 .toppage_symptom_item-text {
        position: absolute;
        top: 116%;
        left: 37%;
    }
    .toppage_symptom_list .toppage_symptom_item.symptom_item2 {
        top: 57.4%;
        left: 14.2%;
    }
    .toppage_symptom_list .toppage_symptom_item.symptom_item3{
        top: 86.8%;
        left: 2.5%;
    }
    .toppage_symptom_list .toppage_symptom_item.symptom_item4 {
        top: 6.8%;
        right: -0.2%;
    }
    .toppage_symptom_list .toppage_symptom_item.symptom_item4 .toppage_symptom_item-text {
        position: absolute;
        top: 136.8%;
        left: 11.2%;
    }
    .toppage_symptom_list .toppage_symptom_item.symptom_item5 {
        top: 53.4%;
        right: 14%;
    }
    .toppage_symptom_list .toppage_symptom_item.symptom_item5 .toppage_symptom_item-text {
        position: absolute;
        top: 56.8%;
        right: -36%;
    }
    .toppage_symptom_list .toppage_symptom_item.symptom_item6 {
        top: 85.8%;
        right: -1.2%;
    }
    .toppage_symptom_list .toppage_symptom_item.symptom_item6 .toppage_symptom_item-text {
        position: absolute;
        top: 12.8%;
        left: -65%;
    } */
}

.toppage_symptom_list .toppage_symptom_item-title {
    position: relative;
    z-index: 1;
    width: 220.74px;
    height: 95.93px;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 640px) {
    .toppage_symptom_list .toppage_symptom_item-title {
        width: 100%;
        height: clamp(
          80px,
          calc(4vw + 40.8px),
          96px
        );
        min-width: 165px;
    }
}
/* .toppage_symptom_list .symptom_item1 .toppage_symptom_item-title {
    position: relative;
    z-index: 1;
    width: 220.74px;
    height: 95.93px;
    display: flex;
    align-items: center;
    justify-content: center;
} */
  .toppage_symptom_list .toppage_symptom_item-title::before {
    content: '';
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
}
/* .toppage_symptom_list .symptom_item1 .toppage_symptom_item-title::before {
    background-image: url(./assets/img/top/symptom_item_illust1.svg);
    width: 107.18px;
    height: 151.35px;
    top: 53%;
    left: -21%;
}
.toppage_symptom_list .symptom_item4 .toppage_symptom_item-title::before {
    background-image: url(./assets/img/top/symptom_item_illust2.svg);
    width: 124.28px;
    height: 189.15px;
    top: -33.4%;
    left: -39.8%;
}
.toppage_symptom_list .symptom_item4::before {
    content: '';
    background-image: url(./assets/img/top/symptom_item_illust3.svg);
    width: 99.66px;
    height: 166.91px;
    position: absolute;
    top: 101%;
    right: -7.8%;
} */
.toppage_symptom_list .toppage_symptom_item-title::after {
    content: '';
    display: block;
    width: 220.74px;
    height: 95.93px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    width: 100%;
    height: auto;
}
@media screen and (max-width: 640px) {
    .toppage_symptom_list .toppage_symptom_item-title::after {
        height: clamp(
          80px,
          calc(4vw + 40.8px),
          96px
        );
    }
}
.toppage_symptom_list .toppage_symptom_item:nth-of-type(odd) .toppage_symptom_item-title::after {
    background-image: url(./assets/img/top/symptom_item_odd.svg);
}
.toppage_symptom_list .toppage_symptom_item:nth-of-type(even) .toppage_symptom_item-title::after {
    background-image: url(./assets/img/top/symptom_item_even.svg);
}
.toppage_symptom_list .toppage_symptom_item a .toppage_symptom_item-title::after {
    transform: scale(1);
    transition: all .15s ease-in-out;
}
.toppage_symptom_list .toppage_symptom_item a:hover .toppage_symptom_item-title::after {
    transform: scale(1.1);
}
@media screen and (max-width: 979px) {
    .toppage_symptom_list .toppage_symptom_item:nth-of-type(3) .toppage_symptom_item-title::after {
        background-image: url(./assets/img/top/symptom_item_even.svg);
    }
    .toppage_symptom_list .toppage_symptom_item:nth-of-type(4) .toppage_symptom_item-title::after {
        background-image: url(./assets/img/top/symptom_item_odd.svg);
    }
}
/* .toppage_symptom_list .symptom_item1 .toppage_symptom_item-title::after {
    background-image: url(./assets/img/top/symptom_item1.svg);
}
.toppage_symptom_list .symptom_item2 .toppage_symptom_item-title::after {
    background-image: url(./assets/img/top/symptom_item2.svg);
}
.toppage_symptom_list .symptom_item3 .toppage_symptom_item-title::after {
    background-image: url(./assets/img/top/symptom_item3.svg);
}
.toppage_symptom_list .symptom_item4 .toppage_symptom_item-title::after {
    background-image: url(./assets/img/top/symptom_item4.svg);
}
.toppage_symptom_list .symptom_item5 .toppage_symptom_item-title::after {
    background-image: url(./assets/img/top/symptom_item5.svg);
}
.toppage_symptom_list .symptom_item6 .toppage_symptom_item-title::after {
    background-image: url(./assets/img/top/symptom_item6.svg);
} */

@media screen and (max-width: 979px) {
    .toppage_symptom-title {
        font-size: 32px;
    }
    .toppage_symptom_image-img {
        width: 308.17px;
        padding-right: 52px;
        margin-bottom: 40px;
    }
    .toppage_symptom_list {
        display: grid;
        grid-auto-flow: row;
        column-gap: 20px;
        row-gap: 40px;
        grid-template-columns: repeat(2, 1fr);
        place-items: center;
        align-items: baseline;
    }
    /* .toppage_symptom_item-text {
        padding-left: 64px;
        margin-top: 8px;
    } */
    .toppage_symptom_list > .toppage_symptom_item:last-of-type .toppage_symptom_item-text {
        padding-left: 40px;
    }
    .toppage_symptom_item.symptom_item4 {
        position: relative;
    }
    .toppage_symptom_list .symptom_item4::before {
        top: 35%;
        right: -21.8%;
    }
    .toppage_symptom_list .symptom_item1 .toppage_symptom_item-title::before {
        background-size: contain;
        width: 84.8px;
        height: 120px;
        top: 53%;
        left: -21%;
    }
    .toppage_symptom_list .symptom_item4 .toppage_symptom_item-title::before {
        background-size: contain;
        width: 89.1px;
        height: 135px;
        top: 1.6%;
        left: -19.8%;
    }
    .toppage_symptom_list .symptom_item4::before {
        background-size: contain;
        width: 81px;
        height: 135px;
    }
}
@media screen and (max-width: 640px) {
    .toppage_symptom_list {
        grid-template-columns: 1fr; /* ← 常に1カラム */
        row-gap: 40px;
    }
}
@media screen and (max-width: 640px) {
    .toppage_symptom-title {
        font-size: 1.4em;
        margin-top: 40px;
    }
}

.toppage_symptom-text {
    text-align: center;
    position: relative;
    color: #1fa466;
    margin-top: 40px;
    font-weight: 500;
}
.toppage_symptom-text span {
    position: relative;
}
.toppage_symptom-text span::before,
.toppage_symptom-text span::after {
    content: '';
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
}
.toppage_symptom-text span::before {
    background-image: url(./assets/img/top/symptom_item_illust1.svg);
    width: 80.4696px;
    height: 113.9834px;
    top: auto;
    left: -46%;
    right: auto;
    bottom: -40%;
}
.toppage_symptom-text span::after {
    background-image: url(./assets/img/top/symptom_item_illust2.svg);
    width: 93.5537px;
    height: 142.6163px;
    top: auto;
    left: 106%;
    right: auto;
    bottom: -40%;
}
@media screen and (min-width: 641px) {
    .toppage_symptom-text span br:nth-of-type(1),
    .toppage_symptom-text span br:nth-of-type(3) {
        display: none;
    }
}
@media screen and (max-width: 640px) {
    .toppage_symptom-text span::before {
        top: auto;
        left: -66%;
        right: auto;
        bottom: -20%;
    }
    .toppage_symptom-text span::after {
        top: auto;
        left: 110%;
        right: auto;
        bottom: -20%;
    }
}




/* 当院のビジョン */
.toppage_vision {
    margin: 240px 0 120px;
}
/* .toppage_vision-title {
    font-size: 41px;
    font-weight: 400;
    color: #3fab58;
    margin: 0 auto 50px;
    text-align: center;
    position: relative;
}
.toppage_vision-title::before {
    content: '';
    display: inline-block;
    width: 66px;
    height: 125px;
    background-color: #d4f2d2;
    position: absolute;
    bottom: -20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: -1;
} */
.toppage_vision-title {
    font-size: 1.5em;
    font-weight: 400;
    color: #ff8d56;
    margin: 0 auto 1em;
    text-align: center;
    /* border-left: 5px solid #ff8d56; */
    border-bottom: 3px solid #1fa466;
    padding-bottom: 4px;
    position: relative;
    /* z-index: 1; */
    width: 500px;
}
@media screen and (max-width: 640px) {
    .toppage_vision-title {
        width: 100%;
    }
}
.toppage_vision-title::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: calc(100% - 4px);
    background: #ff8d56;
    position: absolute;
    left: 0;
}
.toppage_vision_list {
    /* display: grid; */
    /* gap: 20px; */
    width: 100%;
    /* display: flex;
    flex-wrap: wrap; */
    display: flex;
    flex-wrap: wrap;
}
/* @media screen and (min-width: 782px) {
    .toppage_vision_list {
        grid-template-columns: 0.42fr 0.58fr;
        width: 840px;
        align-items: start;
        margin: 0 auto;
        gap: 50px;
    }
    .toppage_vision_col{
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
} */
.toppage_vision_item {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.toppage_vision_list_img {
    margin-bottom: 1em;
    text-align: center;
    width: 100%;
}
.toppage_vision_list_img > img {
    max-height: 200px;
}
@media screen and (min-width: 782px) {
    .toppage_vision_list {
        gap: 40px;
    }
    .toppage_vision_item {
        gap: 24px;
    }
    .toppage_vision_list_img {
        width: calc(30% - 12px);
    }
    .toppage_vision_item_content {
        width: calc(70% - 12px);
    }
    /* .toppage_vision_list > .toppage_vision_item:nth-child(even) .toppage_vision_list_img {
        order: 2;
    }
    .toppage_vision_list > .toppage_vision_item:nth-child(even) .toppage_vision_item_content {
        order: 1;
    } */
}
.toppage_vision_item::before {
    content: '';
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    content: none;
}
.toppage_vision_item.symptom_item1::before {
    width: 298.24px;
    height: 216.85px;
    background-image: url(./assets/img/top/vision_item1.svg);
    top: -34%;
    left: -63%;
}
.toppage_vision_item.symptom_item2::before {
    width: 216.85px;
    height: 232.47px;
    background-image: url(./assets/img/top/vision_item2.svg);
    top: -83%;
    left: -59%;
}
.toppage_vision_item.symptom_item4::before {
    width: 271.86px;
    height: 321.9px;
    background-image: url(./assets/img/top/vision_item3.svg);
    top: -40%;
    left: -61%;
}
.toppage_vision_item.symptom_item5::before {
    width: 272.7px;
    height: 218.86px;
    background-image: url(./assets/img/top/vision_item4.svg);
    top: 12%;
    left: auto;
    right: -22%;
}
.toppage_vision_item.symptom_item6::before {
    width: 228.41px;
    height: 269.97px;
    background-image: url(./assets/img/top/vision_item5.svg);
    left: auto;
    right: -30%;
}

.toppage_vision_item-title {
    font-size: 1.3em;
    font-weight: 500;
    color: #3fab58;
    line-height: 1.3;
    /* letter-spacing: 0; */
    /* font-feature-settings: "palt"; */
    -webkit-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    font-feature-settings: "palt";
    /* border-left: 5px solid #ffc936;
    padding-left: 16px; */
    margin: 0 0 4px;
    transform: rotate(0.05deg);
}
.toppage_vision_list_subtitle {
    color: #ff8d56;
    line-height: 1.4;
    margin-bottom: 0.5em;
}
@media screen and (max-width: 640px) {
    .toppage_vision_item-title {
        /* font-size: 1.411em; */
        font-size: 1.111em;
        letter-spacing: 0;
    }
    .toppage_vision_list_subtitle {
        /* font-size: 1.411em; */
        font-size: 1.111em;
        letter-spacing: 0;
        /* margin-bottom: 0.5em; */
        margin: 0.5em 0;
    }
}
.toppage_vision_item-text {
    padding-left: 21px;
    padding-left: 0;
    margin: 1em 0;
    margin: 0;
    text-align: justify;
    font-feature-settings: "palt";
}
@media screen and (max-width: 640px) {
    .toppage_vision_item-text {
        padding-left: 0;
        margin: 0 0 2.0em;
        font-size: 0.933em;
        line-height: 1.8;
    }
}
.toppage_vision_item-subtitle {
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    color: #3fab58;
    transform: rotate(0.05deg);
}

@media screen and (max-width: 979px) {
    .toppage_vision {
        margin: 160px 0 0;
    }
    .toppage_vision-title {
        font-size: 32px;
    }
    .toppage_vision_list {
        grid-template-columns: 1fr;
        width: auto;
    }

    .toppage_vision_list.toppage_vision_col--right .toppage_vision_item:last-child {
        margin-bottom: 0px;
    }
    .toppage_vision_item.symptom_item1::before {
        --symptom_item1-img-w: 170.84px;
        --symptom_item1-img-h: 170.84px;
        width: var(--symptom_item1-img-w);
        height: var(--symptom_item1-img-h);
        background-image: url(./assets/img/top/vision_item1_sp.svg);
        background-size: contain;
        top: calc(var(--symptom_item1-img-h) * -0.2);
        left: auto;
        right: -13px;
        bottom: auto;
        opacity: 0.65;
    }
    .toppage_vision_item.symptom_item2::before {
        --symptom_item2-img-w: 170.84px;
        --symptom_item2-img-h: 199.44px;
        width: var(--symptom_item2-img-w);
        height: var(--symptom_item2-img-h);
        background-image: url(./assets/img/top/vision_item2_sp.svg);
        background-size: contain;
        top: calc(var(--symptom_item2-img-h) * -0.474);
        left: auto;
        right: -14px;
        bottom: auto;
        opacity: 0.65;
    }
    .toppage_vision_item.symptom_item4::before {
        --symptom_item4-img-w: 170.84px;
        --symptom_item4-img-h: 220.4px;
        width: var(--symptom_item4-img-w);
        height: var(--symptom_item4-img-h);
        background-image: url(./assets/img/top/vision_item3_sp.svg);
        background-size: contain;
        top: calc(var(--symptom_item4-img-h) * -0.474);
        left: auto;
        right: -14px;
        bottom: auto;
        opacity: 0.65;
    }
    .toppage_vision_item.symptom_item5::before {
        --symptom_item5-img-w: 171.2px;
        --symptom_item5-img-h: 170.84px;
        width: var(--symptom_item5-img-w);
        height: var(--symptom_item5-img-h);
        background-image: url(./assets/img/top/vision_item4_sp.svg);
        background-size: contain;
        top: calc(var(--symptom_item5-img-h) * -0.564);
        left: auto;
        right: -15px;
        bottom: auto;
        opacity: 0.65;
    }
    .toppage_vision_item.symptom_item6::before {
        --symptom_item6-img-w: 170.84px;
        --symptom_item6-img-h: 248.9px;
        width: var(--symptom_item6-img-w);
        height: var(--symptom_item6-img-h);
        background-image: url(./assets/img/top/vision_item5_sp.svg);
        background-size: contain;
        top: calc(var(--symptom_item6-img-h) * -0.518);
        left: auto;
        right: -29px;
        bottom: auto;
        opacity: 0.65;
    }
    .toppage_vision_item.symptom_item5 .toppage_vision_item-text br:nth-child(1),
    .toppage_vision_item.symptom_item5 .toppage_vision_item-text br:nth-child(3) {
        display: none;
    }
}

@media screen and (min-width: 641px) and (max-width: 979px) {
    .toppage_vision_item {
        margin-bottom: 100px;
    }

}

@media screen and (max-width: 540px) {
    .toppage_vision-title {
        font-size: 1.76em;
    }
    .toppage_vision_item.symptom_item1::before {
        --symptom_item1-img-w: 114px;
        --symptom_item1-img-h: 114px;
    }
    .toppage_vision_item.symptom_item2::before {
        --symptom_item2-img-w: 116px;
        --symptom_item2-img-h: 136px;
    }
    .toppage_vision_item.symptom_item4::before {
        --symptom_item4-img-w: 114px;
        --symptom_item4-img-h: 148px;
    }
    .toppage_vision_item.symptom_item5::before {
        --symptom_item5-img-w: 115px;
        --symptom_item5-img-h: 115px;
    }
    .toppage_vision_item.symptom_item6::before {
        --symptom_item6-img-w: 130px;
        --symptom_item6-img-h: 168px;
    }
}



/* ごあいさつ */
.toppage_greeting {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
}
.toppage_greeting::before {
    content: '';
    background-image: url(./assets/img/top/toppage_greeting_bg1_2.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    width: 685px;
    height: 636px;
    /* margin-left: calc(50% - 50vw); */
    position: absolute;
    top: -161px;
    left: 0;
    z-index: -1;
}
.toppage_greeting::after {
    content: '';
    background-image: url(./assets/img/top/toppage_greeting_bg2_2.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    width: 548px;
    height: 427px;
    /* margin-left: calc(50% - 50vw); */
    position: absolute;
    bottom: 0;
    right: -58px;
    z-index: -1;
}



.toppage_greeting_container {
    display: flex;
    flex-wrap: wrap;
    gap: 36px;
    justify-content: center;
    max-width: 1046px;
    padding: 180px 20px 190px;
    margin: 0 auto;
}
@media screen and (min-width: 980px) {
    .toppage_greeting_container {
        flex-wrap: nowrap;
    }
}
@media screen and (max-width: 979px) {
    .toppage_greeting_container {
        padding: 180px 20px 80px;
    }
}
.toppage_greeting_col--left {
    position: relative;
}
.toppage_greeting_col--left::before {
    content: '';
    width: 233.08px;
    height: 68.74px;
    background-image: url(./assets/img/top/toppage_greeting_img1.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: -6.6%;
    right: -55%;
}
.toppage_greeting-title {
    position: relative;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    height: 20.58px;
    background-image: url(./assets/img/top/toppage_greeting_img2.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
/* .toppage_greeting-title::before {
    content: '';
    width: 109.96px;
    height: 20.58px;
    background-image: url(./assets/img/top/toppage_greeting_img2.svg);
    background-size: contain;
    background-repeat: no-repeat;
} */
.toppage_greeting-text {
    font-feature-settings: "palt";
    text-align: center;
}
@media screen and (min-width: 782px) {
    .toppage_greeting_col--left {
        flex-basis: 250px;
    }
    .toppage_greeting_col--right {
        flex-basis: 760px;
        column-count: 2;
        column-gap: 36px;
    }
    .toppage_greeting-title {
        column-span: all;
        width: 50%;
        text-align: center;
    }
    .toppage_greeting_col--right > .toppage_greeting-text {
        letter-spacing: 0.01em;
        text-align: justify;
        margin: 0 0 1.6em;
    }
}

/* safari調整 */
@supports (hanging-punctuation: first) and (font: -apple-system-body) {
  @media screen and (min-width: 782px) {
    .toppage_greeting_col--right > .toppage_greeting-text {
        letter-spacing: 0.11em;
        font-weight: 400;
        font-style: normal;
        -webkit-font-feature-settings: "palt";
        -moz-font-feature-settings: "palt";
        font-feature-settings: "palt";
    }
  }
}

/* firefox調整 */
@-moz-document url-prefix(){
    @media screen and (min-width: 782px) {
        .toppage_greeting_col--right > .toppage_greeting-text {
            letter-spacing: 0.11em;
            font-weight: 400;
            font-style: normal;
            -webkit-font-feature-settings: "palt";
            -moz-font-feature-settings: "palt";
            font-feature-settings: "palt";
        }
    }
}

.toppage_greeting-career > p {
    margin-bottom: 0;
}
.toppage_greeting-date {
    font-size: 13px;
    line-height: 1;
}
.toppage_greeting-name {
    font-size: 13px;
    margin-bottom: 1em;
}
.toppage_greeting-name > span:nth-child(2) {
    font-size: 1.05em;
}
.toppage_greeting-career .toppage_greeting-text {
    font-size: 13px;
    letter-spacing: 0.025em;
}
@media screen and (max-width: 979px) {
    .toppage_greeting::before {
        background-size: contain;
        width: 69.96935648621042vw;
    }
    .toppage_greeting::after {
        background-size: contain;
        width: 55.975485188968335vw;
        height: 200px;
        background-position: right center;
        /* right: -24px !important; */
    }
    .toppage_greeting_col--left::before {
        position: relative;
        top: auto;
        right: auto;
        display: block;
        margin: 0 auto 24px;
    }
}
@media screen and (max-width: 580px) {
    /* .toppage_greeting_col--left::before {
        right: -20%;
    } */
    .toppage_greeting-career .toppage_greeting-text {
        letter-spacing: 0;
    }
}

.toppage_greeting_career_lists_title {
    margin-bottom: 1em;
}
.toppage_greeting_career_lists table {
    font-size: 100%;
}
.toppage_greeting_career_lists td {
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: none;
    border-right: none;
    padding: 0.8em;
}
.toppage_greeting_career_lists table tr td:first-child {
    padding-left: 0;
}
.toppage_greeting_career_lists table tr td:last-child {
    padding-right: 0;
}
.toppage_greeting_career_lists .career_year {
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.1em;
    letter-spacing: 0.1em;
    padding: 1em 0.8em 0.6em;
}
.toppage_greeting_career_lists table tr:first-child td {
    padding-top: 0;
    border-top: none;
}
.toppage_greeting_career_lists table tr:last-child td {
    padding-bottom: 0;
    border-bottom: none;
}

.toppage_greeting_career_lists_title {
    margin-bottom: 1em;
}
.toppage_greeting_qualification ul {
    list-style: none;
    margin-left: 0;
}
.toppage_greeting_qualification ul li {
    border-bottom: 1px solid;
    padding: 0.8em 0.5em 0.8em 1.5em;
    position: relative;
}
.toppage_greeting_qualification ul li::before {
    content: "";
    width: 1em;
    height: 1px;
    background-color: #1fa466;
    display: inline-block;
    position: absolute;
    top: calc(0.8em + 1em);
    left: 0;
}
.toppage_greeting_qualification ul li:first-child {
    padding-top: 0;
}
.toppage_greeting_qualification ul li:first-child::before {
    top: 1em;
}
.toppage_greeting_qualification ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}






/*----------------------------------------
    採用情報
----------------------------------------*/
/*  */
@media screen and (min-width: 980px) {
    .page-id-112 .main-header-content .main-navigation {
        display: none;
    }
}

/* 私たちが目指すクリニックとは */
.recruit_about-title {
    letter-spacing: 0.17em;
    font-style: italic;
    font-weight: 400;
    text-align: center;
    position: relative;
}
.recruit_about-title::before {
    content: '';
    width: 500px;
    height: 12px;
    background-image: linear-gradient(90deg, #f9e862 11%, #ffffff 50%, #958eff 92%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    margin: 0 auto;
    z-index: -1;
}
@media screen and (max-width: 640px) {
    .recruit_about-title::before {
        width: 100%;
    }
}
.recruit_about-slogan {
    font-size: 35px;
    text-align: center;
    color: #6a82d7;
    font-weight: 400;
    transform: rotate(0.05deg);
}
.recruit_about-slogan_text {
    font-size: 20px;
    text-align: center;
    transform: rotate(0.05deg);
}
.recruit_about-slogan_detail {
    width: 528px;
    margin: 0 auto 1.8em;
    letter-spacing: 0.005em;
}
.recruit_about .accordion-wrapper summary {
    list-style: none !important;
    text-align: center;
    width: 100px;
    margin: 0 auto;
    cursor: pointer;
    border-bottom: 2px solid #6a74d7;
}
.recruit_about .accordion-wrapper summary::-webkit-details-marker { display: none; }
.recruit_about .accordion-wrapper summary::marker { content: ''; }
.recruit_about .accordion-wrapper .recruit_about-slogan_detail {
    margin-top: 36px;
}


@media screen and (min-width: 641px) {
    .recruit_about-slogan br {
        display: none;
    }
}
@media screen and (max-width: 979px) {
    .recruit_about-slogan {
        font-size: 1.5em;
        letter-spacing: 0;
    }
}

@media screen and (max-width: 560px) {
    .recruit_about-title {
        letter-spacing: 0.14em;
    }
    .recruit_about-title::before {
        width: 100%;
    }
    .recruit_about-slogan_detail {
        width: 100%;
    }
}

/* 当院のビジョン */
.recruit_vision-title {
    letter-spacing: 0.17em;
    font-style: italic;
    font-weight: 400;
    text-align: center;
    position: relative;
}
.recruit_vision-title::before {
    content: '';
    width: 500px;
    height: 12px;
    background-image: linear-gradient(90deg, #f9e862 11%, #ffffff 50%, #958eff 92%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    margin: 0 auto;
    z-index: -1;
}
@media screen and (max-width: 560px) {
    .recruit_vision-title {
        letter-spacing: 0.14em;
    }
    .recruit_vision-title::before {
        width: 100%;
    }
}

/* 当院の理念 */
.recruit_vision_core_values_title__container {
    width: 356px;
    height: 100px;
    margin: 0 auto 32px;
    border-left: 5px solid #6a74d7;
    border-bottom: 5px solid #8b8b8b;
    text-align: right;
}
.recruit_vision_core_values_title {
    font-size: 25px;
    font-weight: 500;
    color: #6a82d7;
    margin-left: 24px;
    margin-bottom: 6px;
    text-align: left;
    line-height: 1;
}
.recruit_vision_core_values_title_img {
    width: 256.99px;
    height: 44.65px;
    object-fit: contain;
}
.recruit_vision_core_values_slogan {
    font-size: 35px;
    text-align: center;
    color: #6a82d7;
    font-weight: 400;
    transform: rotate(0.05deg);
    margin-bottom: 20px;
}
.recruit_vision_core_values_slogan_text {
    width: 554px;
    margin: 0 auto 1.8em;
    letter-spacing: 0.005em;
}
@media screen and (min-width: 641px) {
    .recruit_vision_core_values_slogan br {
        display: none;
    }
}
@media screen and (max-width: 979px) {
    .recruit_vision_core_values_slogan {
        font-size: 1.5em;
    }
}
@media screen and (max-width: 600px) {
    .recruit_vision_core_values_slogan_text {
        width: 100%;
    }
}
@media screen and (max-width: 560px) {
    .recruit_vision_core_values_title__container {
        width: 100%;
    }
}



/* 当院の存在意義 */
.recruit_vision_purpose_title__container {
    width: 356px;
    height: 100px;
    margin: 0 auto 32px;
    border-left: 5px solid #6a74d7;
    border-bottom: 5px solid #8b8b8b;
    text-align: right;
}
.recruit_vision_purpose_title {
    font-size: 25px;
    font-weight: 500;
    color: #6a82d7;
    margin-left: 24px;
    margin-bottom: 22px;
    text-align: left;
    line-height: 1;
}
.recruit_vision_purpose_img {
    width: 191.29px;
    height: 42.9px;
    object-fit: contain;
    margin-right: 16px;
}
.recruit_vision_purpose_slogan {
    font-size: 35px;
    text-align: center;
    color: #6a82d7;
    font-weight: 400;
    transform: rotate(0.05deg);
    margin-bottom: 20px;
}
.recruit_vision_purpose_slogan_text {
    width: 648px;
    margin: 0 auto 1.8em;
    letter-spacing: 0.005em;
}
.recruit_vision_purpose_slogan_text > span {
    color: #6a82d7;
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
}
@media screen and (min-width: 641px) {
    .recruit_vision_purpose_slogan br {
        display: none;
    }
}
@media screen and (max-width: 979px) {
    .recruit_vision_purpose_slogan {
        font-size: 1.5em;
    }
}
@media screen and (max-width: 680px) {
    .recruit_vision_purpose_slogan_text {
        width: 100%;
    }
}
@media screen and (max-width: 560px) {
    .recruit_vision_purpose_title__container {
        width: 100%;
    }
}

/* 目指す姿 */
.recruit_vision_mission_title__container {
    width: 356px;
    height: 100px;
    margin: 0 auto 32px;
    border-left: 5px solid #6a74d7;
    border-bottom: 5px solid #8b8b8b;
    text-align: right;
}
.recruit_vision_mission_title {
    font-size: 25px;
    font-weight: 500;
    color: #6a82d7;
    margin-left: 24px;
    margin-bottom: 10px;
    text-align: left;
    line-height: 1;
}
.recruit_vision_mission_title_img {
    width: 178.24px;
    height: 41.71px;
    object-fit: contain;
    margin-right: 24px;
}
.recruit_vision_mission_slogan {
    font-size: 35px;
    text-align: center;
    color: #6a82d7;
    font-weight: 400;
    transform: rotate(0.05deg);
    margin-bottom: 20px;
}
@media screen and (min-width: 641px) {
    .recruit_vision_mission_slogan br {
        display: none;
    }
}
@media screen and (max-width: 979px) {
    .recruit_vision_mission_slogan {
        font-size: 1.5em;
    }
}
@media screen and (max-width: 979px) {
    .recruit_vision_mission_slogan {
        font-size: 1.5em;
        letter-spacing: 0;
    }
}
/* @media screen and (max-width: 680px) {
    .recruit_vision_purpose_slogan_text {
        width: 100%;
    }
} */
@media screen and (max-width: 560px) {
    .recruit_vision_mission_title__container {
        width: 100%;
    }
}



/* 当院のミッション */
.recruit_mission_title {
    letter-spacing: 0.17em;
    font-style: italic;
    font-weight: 400;
    text-align: center;
    position: relative;
}
.recruit_mission_title::before {
    content: '';
    width: 500px;
    height: 12px;
    background-image: linear-gradient(90deg, #f9e862 11%, #ffffff 50%, #958eff 92%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    margin: 0 auto;
    z-index: -1;
}
.recruit_mission_text {
    text-align: center;
}

.recruit_mission_list_title {
    font-size: 21px;
    color: #7b7e88;
    border: 3px solid #ffe05f;
    border-radius: 100px;
    padding: 12px 40px;
    text-align: center;
    width: 716px;
    margin-left: auto;
    margin-right: auto;
    font-weight: 500;
    letter-spacing: 0.14em;
    position: relative;
}

.recruit_mission_item.symptom_item1 .recruit_mission_list_title::before {
    content: '';
    width: 14.07px;
    height: 31.73px;
    background-image: url(./assets/img/recruit/symptom_item1.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 10px;
    left: 60px;
}
.recruit_mission_item.symptom_item2 .recruit_mission_list_title::before {
    content: '';
    width: 20.76px;
    height: 31.73px;
    background-image: url(./assets/img/recruit/symptom_item2.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 12px;
    left: 60px;
}
.recruit_mission_item.symptom_item3 .recruit_mission_list_title::before {
    content: '';
    width: 18.13px;
    height: 32.16px;
    background-image: url(./assets/img/recruit/symptom_item3.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 12px;
    left: 60px;
}


.recruit_mission_list_slogan {
    font-size: 19px;
    text-align: center;
    color: #6a82d7;
    font-weight: 400;
    transform: rotate(0.05deg);
}
@media screen and (min-width: 641px) {
    .recruit_mission_list_slogan br {
        display: none;
    }
}
.recruit_mission_list_text {
    width: 716px;
    margin-left: auto;
    margin-right: auto;
}

.recruit_mission_list_detail {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 540px;
    margin: 0 auto;
}
.recruit_mission_list_detail > .recruit_mission_list_detail_title {
    color: #f5b400;
    font-weight: 700;
    flex-basis: 200px;
}
.recruit_mission_list_detail > .recruit_mission_list_detail_title::after {
    content: "";
    height: 1px;
    width: 58px;
    margin-left: 8px;
    background: #6a74d7;
    display: inline-block;
    vertical-align: middle;
}
.recruit_mission_list_detail > ul {
    list-style: none;
    margin-left: 0;
    flex-basis: 340px;
}
.recruit_mission_list_detail.list_detail3 > .recruit_mission_list_detail_title {
    flex-basis: 100%;
}
.recruit_mission_list_detail.list_detail3 > p {
    margin: 0 auto 1.8em;
}
.recruit_mission_list_detail.list_detail3 > p strong {
    font-size: 19px;
    text-align: center;
    color: #6a82d7;
    font-weight: 500;
    transform: rotate(0.05deg);
}

@media screen and (min-width: 641px) {
    .recruit_mission_list_detail.list_detail3 > p br {
        display: none;
    }
}
@media screen and (min-width: 881px) {
    .recruit_mission_list_title br {
        display: none;
    }
}
@media screen and (max-width: 880px) {
    .recruit_mission_list_title {
        width: 100%;
        padding-left: 60px;
    }
    .recruit_mission_item.symptom_item1 .recruit_mission_list_title::before {
        left: 32px;
        top: 50%;
        transform: translateY(-50%);
    }
    .recruit_mission_item.symptom_item2 .recruit_mission_list_title::before {
        left: 32px;
        top: 50%;
        transform: translateY(-50%);
    }
    .recruit_mission_item.symptom_item3 .recruit_mission_list_title::before {
        left: 32px;
        top: 50%;
        transform: translateY(-50%);
    }
}
@media screen and (max-width: 760px) {
    .recruit_mission_list_text {
        width: 100%;
    }
}
@media screen and (max-width: 560px) {
    .recruit_mission_title {
        letter-spacing: 0.14em;
    }
    .recruit_mission_title::before {
        width: 100%;
    }
    .recruit_mission_list_detail {
        width: 100%;
        justify-content: flex-start;
    }
    .recruit_mission_list_detail > .recruit_mission_list_detail_title {
        margin-bottom: 0.5em;
    }
}



/* 当院で期待する人材 */
.recruit_expected-personnel_title {
    letter-spacing: 0.17em;
    font-style: italic;
    font-weight: 400;
    text-align: center;
    position: relative;
}
.recruit_expected-personnel_title::before {
    content: '';
    width: 500px;
    height: 12px;
    background-image: linear-gradient(90deg, #f9e862 11%, #ffffff 50%, #958eff 92%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    margin: 0 auto;
    z-index: -1;
}
.recruit_expected-personnel_slogan {
    font-size: 35px;
    text-align: center;
    color: #6a82d7;
    font-weight: 400;
    transform: rotate(0.05deg);
    margin-bottom: 24px;
}
.recruit_mission_list_detail ul li strong {
    color: #6a82d7;
}
.recruit_mission_list_detail.list_detail1 ul li::first-letter {
    color: #ffc936;
}
.recruit_mission_list_detail.list_detail2 ul li::first-letter {
    color: #ffc936;
}

@media screen and (min-width: 641px) {
    .recruit_expected-personnel_slogan br {
        display: none;
    }
}
@media screen and (max-width: 979px) {
    .recruit_expected-personnel_slogan {
        font-size: 1.5em;
    }
}
@media screen and (max-width: 560px) {
    .recruit_expected-personnel_title {
        letter-spacing: 0.14em;
    }
    .recruit_expected-personnel_title::before {
        width: 100%;
    }
}



/* 当院で期待する人材 */
.recruit_expected-personnel_works {
    display: flex;
    gap: 57px;
}
.recruit_expected-personnel_works_list {
    flex-basis: 100%;
    cursor: pointer;
}
@media screen and (min-width: 980px) {
    .recruit_expected-personnel_works_list {
        flex-basis: 33.333%;
    }
}

.recruit_expected-personnel_works_head {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 12px;
    margin-bottom: 45px;
}
.recruit_expected-personnel_works_head h3 {
    color: #fff;
    background-color: #6a74d7;
    font-size: 1.76em;
    font-weight: 400;
    margin: 0 -12px;
    padding: 8px;
    width: 320px;
    text-align: center;
}
/* @media screen and (min-width: 980px) {
    .recruit_expected-personnel_works_head {
        margin-left: -32px;
    }
} */
@media screen and (max-width: 979px) {
    .recruit_expected-personnel_works_head h3 {
        font-size: 1.05em;
    }
    .recruit_expected-personnel_works_head img {
        width: 13.48314606741573vw;
    }
}


.recruit_expected-personnel_works_header {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 3px solid #6a74d7;
    border-radius: 24px;
    padding: 20px;
}
@media screen and (min-width: 980px) {
    .recruit_expected-personnel_works_header {
        height: 216px;
    }
}
.recruit_expected-personnel_works_title {
    font-size: 27px;
    font-weight: 400;
    color: #6a74d7;
    margin: 0;
}
.recruit_expected-personnel_works_detail {
    margin-top: 1em;
    margin-bottom: 0;
}
.recruit_expected-personnel_works_list > p strong {
    color: #6a82d7;
}
.recruit_expected-personnel_works_list > ul li::marker {
    color: #3fab58;
}
.recruit_expected-personnel_text {
    font-size: 1.76em;
    font-weight: 500;
    font-style: italic;
    text-align: center;
}
.recruit_expected-personnel_text {
    background-image: radial-gradient(closest-side, #fffa91 39%, transparent);
    padding: 2em 0;
    margin-top: 80px;
    margin-bottom: 0;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
}
.recruit_expected-personnel_works_list summary {
    list-style: none !important;
}
.recruit_expected-personnel_works_list summary::-webkit-details-marker { display: none; }
.recruit_expected-personnel_works_list summary::marker { content: ''; }
.recruit_expected-personnel_works_list .icon {
    display: block;
    position: relative;
    width: 42px;
    height: 1px;
    margin: 35px auto 14px;
    flex-shrink: 0;
    transform-origin: center 43%;
    /* transition: transform 0.4s; */
}
.recruit_expected-personnel_works_list .icon::before,
.recruit_expected-personnel_works_list .icon::after {
    content: "";
    position: absolute;
    display: block;
    width: 26px;
    height: 3px;
    background-color: #ffc939;
}
.recruit_expected-personnel_works_list .icon::before {
    left: 0;
    transform: rotate(45deg);
}
.recruit_expected-personnel_works_list .icon::after {
    right: 0;
    transform: rotate(-45deg);
}
.recruit_expected-personnel_works_list[open] .icon {
    transform: rotate(180deg);
}
.recruit_expected-personnel_works_list .viewmore {
    text-align: center;
}
.recruit_expected-personnel_works_list[open] summary {
    margin-bottom: 32px;
}

@media screen and (min-width: 581px) {
    .recruit_expected-personnel_text br:nth-child(1),
    .recruit_expected-personnel_text br:nth-child(3),
    .recruit_expected-personnel_text br:nth-child(5) {
        display: none;
    }
}
@media screen and (max-width: 979px) {
    .recruit_expected-personnel_text {
        font-size: 1.5em;
    }
    .recruit_expected-personnel_works {
        flex-wrap: wrap;
        gap: 57px;
    }
}
/* @media screen and (max-width: 580px) {
    .recruit_expected-personnel_text br {
        display: none;
    }
} */



/* 当院で期待する人材 */
.recruit_ideal-candidate-profile_title {
    letter-spacing: 0.17em;
    font-style: italic;
    font-weight: 400;
    text-align: center;
    position: relative;
}
.recruit_ideal-candidate-profile_title::before {
    content: '';
    width: 500px;
    height: 12px;
    background-image: linear-gradient(90deg, #f9e862 11%, #ffffff 50%, #958eff 92%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    margin: 0 auto;
    z-index: -1;
}
.recruit_ideal-candidate-profile_text {
    max-width: 426px;
    margin: 0 auto 82px;
}
.recruit_ideal-candidate-profile_text > ul li::marker {
    color: #6a82d7;
}
.recruit_ideal-candidate-profile_text > ul li strong {
    color: #6a82d7;
}
.recruit_ideal-candidate-profile_period_title {
    font-size: 27px;
    font-weight: 500;
    color: #6a74d7;
    margin: 0;
    text-align: center;
}
.recruit_ideal-candidate-profile_period_text {
    text-align: center;
}
@media screen and (max-width: 560px) {
    .recruit_ideal-candidate-profile_title {
        letter-spacing: 0.14em;
    }
    .recruit_ideal-candidate-profile_title::before {
        width: 100%;
    }

}
.recruit_ideal-candidate-profile_job-description_title {
    font-size: 27px;
    font-weight: 500;
    color: #6a74d7;
    color: #ff9f12;
    margin: 82px 0 0;
    text-align: center;
}
/* @media screen and (max-width: 560px) {
    .recruit_ideal-candidate-profile_job-description_title {
        letter-spacing: 0.14em;
    }

} */

.recruit_ideal-candidate-profile_job-description_button {
    text-align: center;
    letter-spacing: 0.05em;
    /* transition: all .15s ease-in-out; */
}
.recruit_ideal-candidate-profile_job-description_button a {
    color: #fff !important;
    background-color: #6a74d7;
    background-color: #ff9f12;
    text-decoration: none;
    padding: 16px 48px;
    border-radius: 8px;
    display: inline-block;   
    font-size: 1.05em; 
}
.recruit_ideal-candidate-profile_job-description_button a:hover {
    opacity: 0.7;
}
@media screen and (min-width: 561px) {
    .recruit_ideal-candidate-profile_job-description_button a br {
        display: none;
    }
    .recruit_ideal-candidate-profile_job-description_button p br:nth-child(2) {
        display: none;   
    }
}
.recruit_ideal-candidate-profile_job-description_button p {
    margin-top: 1.5em;
}
.recruit_ideal-candidate-profile_job-description_detail {
    font-feature-settings: "palt";
    text-align: center;
}
.recruit_ideal-candidate-profile_job-description_detail::before {
    content: "\25BC";
    color: #ff9f12;
    display: inline-block;
    margin-right: 8px;
}
.recruit_ideal-candidate-profile_job-description_detail::after {
    content: "\25BC";
    color: #ff9f12;
    display: inline-block;
    margin-left: 8px;
}
/* @media screen and (max-width: 560px) {
    .recruit_ideal-candidate-profile_job-description_detail {
        letter-spacing: 0;
    }
} */


/*----------------------------------------
    フッター
----------------------------------------*/
.site-footer {
    background-image: url(./assets/img/mainvisual-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-color: rgba(255, 255, 255, 0.35);
    background-blend-mode: lighten;
    background-position: center;
}
.site-bottom {
    background: transparent !important;
    border-top: none;
    color: inherit;
    padding-top: 64px;
    padding-bottom: 64px;
}
.site-bottom-content {
    background-color: #fff;
    padding-top: 80px;
    padding-bottom: 24px;
    max-width: 1200px;
}
.common_map {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 36px;
    margin-bottom: 104px;
}
.site-footer .common_map {
    margin-bottom: 0;
}
.common_map--left {
    flex-basis: 100%;
}
.common_map--right {
    flex-basis: 100%;
}
@media screen and (min-width: 980px) {
    .common_map--left {
        flex-basis: calc(50% - 18px);
    }
    .common_map--right {
        flex-basis: calc(50% - 18px);
    }
}


.common_map_table {
    margin-bottom: 0;
}
.common_map_table td {
    padding: 0.25em;
    border: none;
    text-align: left;
}
.common_map_table tr:nth-of-type(1) td:first-child::before {
    content: '';
    width: 19.6px;
    height: 12.85px;
    background-image: url(./assets/img/common/icon_location.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;
}
.common_map_table tr:nth-of-type(2) td:first-child::before {
    content: '';
    width: 19.6px;
    height: 24.83px;
    background-image: url(./assets/img/common/icon_bus-stop.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;
}
.common_map_table tr:nth-of-type(4) td:first-child::before {
    content: '';
    width: 19.6px;
    height: 16.6px;
    background-image: url(./assets/img/common/icon_car.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;
}


.common_map_googlemap {
    text-align: left;
    margin-bottom: 28px;
}
.common_map_googlemap a {
    display: inline-block;
    color: #7b7e88;
    background-color: #d1eee4;
    padding: 4px 40px 8px 24px;
    border-radius: 8px;
    position: relative;
    line-height: 1;
}
.common_map_googlemap a::after {
    content: '';
    width: 18px;
    height: 29px;
    background-image: url(./assets/img/common/icon_pin.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: -8px;
    right: 16px;
}

.common_map .access_map_info_location {
    text-align: left;
}
.common_map .access_map_info-location_name {
    margin-top: 0.5em;
}
.common_map .access_map_info-location_detail {
    margin-bottom: 0;
    font-size: 0.9em;
    line-height: 1.6;
    letter-spacing: 0.04em;
}
.common_map .access_map_info-location_detail > br:nth-child(1) {
    display: none;
}

.common_map .access_map_info_list {
    text-align: left;
}
.common_map .access_map_info_item-name {
    margin-top: 0.5em;
}
.common_map .access_map_info_item-text {
    font-size: 0.9em;
    line-height: 1.6;
    letter-spacing: 0.04em;
}
.common_map .access_map_info_item-text > * {
    margin-bottom: 0.5em;
}



.site-info {
    clear: none;
    float: none;
    text-align: center;
}
.site-info .site-logo img {
    width: 160px;
    height: auto;
    transform-origin: center;
}
.site-copyright {
    margin-top: 24px;
    margin-bottom: 0;
}
.footer-navigation {
    float: none;
}
.footer-navigation li {
    margin-right: 0;
}
/* @media screen and (min-width: 980px) { */
    /* メニュー */
    .footer-menu_container {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: space-between;
        width: 100%;
        gap: 18px;
    }
    .menu-footer_menu-container {
        font-size: 100%;
        line-height: 1;
    }
    .menu-footer_menu-container a {
        padding-left: 0;
        padding-right: 0;
    }
    .menu-footer_menu-container ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-end;
        gap: 18px;
        margin-bottom: 0;
    }
    .menu-footer_menu-container ul li a {
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 500;
        text-align: center;
        font-size: 12px;
        line-height: 1.5;
        position: relative;
        letter-spacing: 0;
    }
    .menu-footer_menu-container ul li:nth-of-type(1) a,
    .menu-footer_menu-container ul li:nth-of-type(2) a {
        color: #3fab58;
        width: 66px;
        height: 66px;
        position: relative;
        z-index: 0;
        flex-direction: column-reverse;
        gap: 8px;
        top: 3px;
    }
    .menu-footer_menu-container ul li:nth-of-type(1) a::after {
        content: '';
        width: 30.06px;
        height: 26.58px;
        background-image: url(./assets/img/common/icon_home.svg);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        display: inline-block;
    }
    .menu-footer_menu-container ul li:nth-of-type(2) a::after {
        content: '';
        width: 25.62px;
        height: 26.05px;
        background-image: url(./assets/img/common/icon_instagram_footer.svg);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        display: inline-block;
    }
    .menu-footer_menu-container ul li:nth-of-type(4) a,
    .menu-footer_menu-container ul li:nth-of-type(5) a,
    .menu-footer_menu-container ul li:nth-of-type(6) a {
        color: #fff;
        width: 66px;
        height: 66px;
        position: relative;
        z-index: 0;
    }
    .menu-footer_menu-container ul li:nth-of-type(4) a::after,
    .menu-footer_menu-container ul li:nth-of-type(5) a::after,
    .menu-footer_menu-container ul li:nth-of-type(6) a::after {
        content: '';
        width: 66px;
        height: 66px;
        background-color: #a1a7e6;
        border-radius: 100px;
        position: absolute;
        left: 0;
        right: 0;
        z-index: -1;
    }
    .menu-footer_menu-container ul li:nth-of-type(7) a {
        color: #6a74d7;
        width: 114px;
        height: 114px;
        position: relative;
        z-index: 0;
        flex-direction: column-reverse;
        gap: 12px;
        font-size: 1.05em;
        font-weight: 500;
        padding-bottom: 24px;
    }
    .menu-footer_menu-container ul li:nth-of-type(7) a::before {
        content: '';
        width: 114px;
        height: 114px;
        background-color: #ffff5f;
        border-radius: 100px;
        position: absolute;
        left: 0;
        right: 0;
        z-index: -1;
    }
    .menu-footer_menu-container ul li:nth-of-type(7) a::after {
        content: '';
        width: 19.9945px;
        height: 25.4433px;
        background-image: url(./assets/img/common/icon_recruit.svg);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        display: inline-block;
    }

    .menu-footer_menu-container ul li:nth-of-type(4) a::after,
    .menu-footer_menu-container ul li:nth-of-type(5) a::after,
    .menu-footer_menu-container ul li:nth-of-type(6) a::after,
    .menu-footer_menu-container ul li:nth-of-type(7) a::before {
        transition: all .15s ease-in-out;
    }
    .menu-footer_menu-container ul li:nth-of-type(4) a:hover::after,
    .menu-footer_menu-container ul li:nth-of-type(5) a:hover::after,
    .menu-footer_menu-container ul li:nth-of-type(6) a:hover::after,
    .menu-footer_menu-container ul li:nth-of-type(7) a:hover::before {
        opacity: 0.7;
    }

    
/* } */

@media screen and (min-width: 782px) {
    .menu-footer_menu-container ul li:nth-of-type(3) {
        display: none;
    }
}
@media screen and (max-width: 781px) {
    .footer-menu_container {
        justify-content: center;
    }
    .menu-footer_menu-container ul {
        margin: 24px;
    }
    .menu-footer_menu-container ul li:nth-of-type(1),
    .menu-footer_menu-container ul li:nth-of-type(2) {
        margin-top: 2em;
        margin-bottom: -2em;
    }
    .menu-footer_menu-container ul li:nth-of-type(3) {
        width: 100%;

    }
    .menu-footer_menu-container ul li:nth-of-type(3) a {
        display: none;
    }
}

.footer-navigation ul {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    flex-wrap: wrap;
    gap: 18px;
    margin-bottom: 0;
    font-size: 100%;
}
.footer-navigation ul.menu > li {
    display: inline-block;
    letter-spacing: normal;
    white-space: nowrap;
}
.footer-navigation ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    text-align: center;
    font-size: 0.9em;
    line-height: 1.5;
    position: relative;
    color: #1fa466;
}
.footer-navigation ul.menu>li:not(:last-of-type) a:before {
    content: '';
    width: 10px;
    height: 10px;
    border: 0;
    border-bottom: solid 1px #1fa466;
    border-right: solid 1px #1fa466;
    transform: rotate(45deg) translateX(-100%);
    position: absolute;
    /* top: 0; */
    left: 50%;
    bottom: -45px;
    margin: auto;
    transition: all .15s ease-in-out;
}
.footer-navigation ul.menu>li:not(:last-of-type) a:hover:before {
    bottom: -55px;
}
.footer-navigation a:hover {
    color: #1fa466;
}
.site-bottom a:hover, .site-bottom .current-menu-item > a {
    color: #1fa466;
}
.footer-navigation ul.menu>li:last-of-type {
    height: 100%;
    min-width: 110px;
    text-align: left;
}
.footer-navigation ul.menu>li:last-of-type a {
    background-color: #ffac80;
    color: #ffff5f;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    line-height: 1.7;
    min-height: 75px;
}
.footer-navigation ul.menu>li:last-of-type a::before {
    content: '';
    width: 38px;
    height: 38px;
    display: inline-block;
    background-image: url(./assets/img/common/icon_reserve.svg);
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 0;
    transition: all .15s ease-in-out;
}

.footer-navigation ul.menu>li.menu-item-34 a {
    color: #6a74d7;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 2px;
}
.footer-navigation ul.menu>li.menu-item-34 a:before {
    width: 24px;
    height: 24px;
    border: 0;
    border-bottom: none;
    border-right: none;
    transform: none;
    position: static;
    /* top: 0; */
    left: auto;
    bottom: auto;
    background-image: url(./assets/img/common/icon_instagram_header.svg);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
}







/*----------------------------------------
    アニメーション
----------------------------------------*/
/* トップページ */
/* 背景をふわっと見せるための幕 */
/* .home .mainvisual{
  position: relative;
  overflow: hidden;
  --mv-overlay: rgba(255,255,255,0.85);
} */

/* .home .mainvisual::before{
  content:"";
  position:absolute;
  inset:0;
  background: var(--mv-overlay);
  pointer-events:none;
  z-index:1;
} */

/* 既存要素を幕より前へ */
.home .mainvisual-content{
  position: relative;
}

/* 初期状態（GSAPで出す前提） */
.home .site-logo,
.home .mainvisual__hero,
.home .mainvisual__text,
.home .mainvisual__opening{
  opacity: 0;
  will-change: transform, opacity, filter;
}
.home .mainvisual__text{
    opacity: 1;
}


.toppage_greeting {
  --p-opacity: 0;
  --p-x: -40px;
  --after-opacity: 0;
  --after-right: -98px;
  position: relative;
}

.toppage_greeting::before{
  content:"";
  position:absolute;
  inset:0;
  opacity: var(--p-opacity);
  transform: translateX(var(--p-x)) translateY(-161px);
  transition: none; /* 任意 */
}
.toppage_greeting::after{
  /* --base-transform: translate(0,0); */
  content:"";
  position:absolute;
  /* inset:0; */
  opacity: var(--after-opacity);
  /* transform: translateX(var(--after-x)) translateY(100%); */
  transform: translateX(var(--after-right), 40px);
  transition: none; /* 任意 */
  right: var(--after-right);
  opacity: var(--after-opacity);
}


.toppage_greeting_col--left {
  --p-opacity: 0;
  --p-x: -40px;
  position: relative;
}

.toppage_greeting_col--left::before{
  content:"";
  position:absolute;
  inset:0;
  opacity: var(--p-opacity);
  --base-transform: translate(calc(55% - 118px), -62.6%);
  transform: var(--base-transform) translateX(var(--p-x));
  transition: none; /* 任意 */
  z-index: 1;
}
@media screen and (max-width: 979px) {
    .toppage_greeting_col--left::before {
        position: relative;
        top: auto;
        right: auto;
        display: block;
        margin: 0 auto 24px;
    }
    .toppage_greeting_col--left::before{
      content:"";
      /* position:absolute; */
      inset:0;
      opacity: var(--p-opacity);
      --base-transform: translate(-55%, 0);
      /* transform: var(--base-transform) translateX(40px);
      --base-transform: translate(calc(55% - 118px), -62.6%); */
      transform: var(--base-transform) translateX(var(--p-x));
      /* transition: none; */
      z-index: 1;
    }
}

.toppage_greeting_col--right {
    opacity: 0;
    --p-y: -40px;
  will-change: transform, opacity, filter;
}

.js-fadeup{
    opacity: 0;
    transform: translateY(30px);
}
.js-after-mv{
    opacity: 0;
    transform: translateY(30px);
}




/*
採用情報
*/
.recruit_mainvisual {
	position: relative;
	padding: 31px 0;
	aspect-ratio: 997 / 486;
}
.recruit_mainvisual .mainvisual_bg {
	position: relative;
	left: 7.3%;
	right: 0;
	margin: 0 auto;
}
.recruit_mainvisual .mainvisual_img1 {
	position: absolute;
	top: 8.6%;
	left: -0.1%;
}
.recruit_mainvisual .mainvisual_img2 {
	position: absolute;
	bottom: -0.8%;
	right: 0%;
}
.recruit_mainvisual .mainvisual_copy1 {
	position: absolute;
	top: -32.4%;
	left: 6.6%;
	right: 0;
	bottom: 0;
	margin: auto;
}
.recruit_mainvisual .mainvisual_copy2 {
	position: absolute;
	top: 0;
	left: 0;
	right: -2.6%;
	bottom: -4%;
	margin: auto;
}
.recruit_mainvisual .mainvisual_copy3 {
	position: absolute;
	top: 0;
	left: 1.2%;
	right: 0;
	bottom: -40.4%;
	margin: auto;
}
.recruit_mainvisual .mainvisual_head {
	position: absolute;
	top: 0;
	left: 18.8%;
}

/* 初期表示対応 */
.js .recruit_mainvisual { visibility: hidden; }
.js .recruit_mainvisual.is-ready { visibility: visible; }

/* JSが準備できるまで一旦隠す（ここが効くので“チラ見え”が止まる） */
.recruit_mainvisual {
  visibility: hidden;
}

/* JS準備完了で表示 */
.recruit_mainvisual.is-ready {
  visibility: visible;
}
/* recruit MV の画像は最初非表示 */
.recruit_mainvisual img{
  opacity: 0;
  will-change: transform, opacity;
}

/* 縦フェード対象（下→上） */
.recruit_mainvisual .mainvisual_bg,
.recruit_mainvisual .mainvisual_img1,
.recruit_mainvisual .mainvisual_img2,
.recruit_mainvisual .mainvisual_head{
  transform: translateY(16px);
}

/* 左から流れる対象（左→右） */
.recruit_mainvisual .mainvisual_copy1,
.recruit_mainvisual .mainvisual_copy2,
.recruit_mainvisual .mainvisual_copy3{
  transform: translateX(-40px);
}
@media (min-width: 641px){ .recruit_mainvisual .mv--sp{ display:none; opacity: 0; } }
@media (max-width: 640px){ .recruit_mainvisual .mv--pc{ display:none; opacity: 0; } }
@media screen and (max-width: 1100px) {
	.recruit_mainvisual .mainvisual_bg {
		width: 82.36363636363636vw;
	}
	.recruit_mainvisual .mainvisual_img1 {
		width: 25.818181818181817vw;
	}
	.recruit_mainvisual .mainvisual_img2 {
		width: 26.36363636363636vw;
	}
	.recruit_mainvisual .mainvisual_copy1 {
		width: 50.54545454545455vw;
	}
	.recruit_mainvisual .mainvisual_copy2 {
		width: 20.545454545454543vw;
	}
	.recruit_mainvisual .mainvisual_copy3 {
		width: 52vw;
		left: 1.4%;
		bottom: -38.8%;
	}
	.recruit_mainvisual .mainvisual_head {
		width: 24.363636363636363vw;
		/* left: 1.4%; */
		bottom: -38.8%;
	}
}
@media screen and (max-width: 1000px) {
	.recruit_mainvisual .mainvisual_bg {
		width: 81.963636vw;
		top: -0.6%;
		left: 7.4%;
	}
	.recruit_mainvisual .mainvisual_img1 {
		width: 25.818181818181817vw;
	}
	.recruit_mainvisual .mainvisual_img2 {
		width: 26.063636vw;
		bottom: 0.3%;
		right: 0%;
	}
	.recruit_mainvisual .mainvisual_copy1 {
		width: 50.54545454545455vw;
		top: -32.8%;
		left: 7%;
	}
	.recruit_mainvisual .mainvisual_copy2 {
		width: 20.445455vw;
		right: -2.9%;
		bottom: -3.2%;
	}
	.recruit_mainvisual .mainvisual_copy3 {
		width: 52vw;
	}
	.recruit_mainvisual .mainvisual_head {
		width: 24.363636363636363vw;
		left: 19%;
	}
}
@media screen and (max-width: 640px) {
	/* .page-id-112 .site-header {
		margin-bottom: 0 !important;
	} */
	.recruit_mainvisual .mainvisual_bg {
		width: 100vw;
		left: -0.4%;
		/* transform: translateX(-50%) !important; */
	}
	.recruit_mainvisual .mainvisual_head {
		width: 51.45vw;
		left: 38.6%;
		top: 4.4%;
		bottom: auto;
	}
	.recruit_mainvisual .mainvisual_img1 {
		width: 49.0625vw;
		top: 5.2%;
		left: -0.2%;
	}
	.recruit_mainvisual .mainvisual_img2 {
		width: 50.6875vw;
		right: -3%;
		bottom: 1.8%;
	}
	.recruit_mainvisual .mainvisual_copy1 {
		width: 55.6875vw;
		top: -33%;
		left: 6.2%;
	}
	.recruit_mainvisual .mainvisual_copy2 {
		width: 95vw;
		height: auto;
		bottom: 12.8%;
		left: -2.4%;
		right: auto;
		/* transform: translateX(-50%) !important; */
		max-width: none;
	}
	.recruit_mainvisual .mainvisual_copy3 {
		width: 68.25vw;
		left: 0%;
		bottom: -10.4%;
	}
	.recruit_mainvisual .mainvisual_copy4 {
		width: 58.1875vw;
		left: 19%;
		bottom: 29.5%;
		position: absolute;
	}
}

/*
エントリーフォーム
*/
.snow-monkey-form .smf-form .smf-text-control__control {
    margin-top: 0;
    width: 100%;
    border-color: #8b8b8b;
}
.smf-form .smf-select-control__control {
    border-color: #8b8b8b;
}
.smf-form .smf-textarea-control__control {
    border-color: #8b8b8b;
}
.smf-form .smf-file-control__label {
    border-color: #8b8b8b;
}
.smf-form .smf-checkbox-control__control {
    border-color: #8b8b8b;
}
.smf-action .smf-button-control__control {
    border-color: #8b8b8b;
    padding: calc(calc(calc(1 + 0.3*2)/3*1)*1rem) calc(calc(calc(1 + 0.3*2)/3*2)*1rem);
    line-height: 1.6;
}
.smf-control-description {
    color: inherit;
    font-size: 12px;
}
.smf-form--simple-table .smf-item {
    gap: 20px;
}
.smf-form--simple-table .smf-item__col--label {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #6a74d7;
    padding: 0.5em 1em;
    line-height: 1.4;
    border-radius: 3px;
}
@media screen and (max-width: 639px) {
    .smf-form--simple-table .smf-item__col--label {
        padding: 0.25em 1em;
        margin-bottom: 4px;
    }
}
.smf-item__label__text {
    color: #fff;
}


.recruit_entry_form {
    margin-top: 80px;
}
.snow-monkey-forms-turnstile>div {
    justify-content: center;
}
.wp-block-snow-monkey-forms-item.smf-item.hidden{
    display: none;
}
.recruit_entry_form_title {
    font-size: 2.35em;
    font-weight: 500;
    color: #ffff5f;
    margin: 0 0 32px;
    text-align: center;
    position: absolute;
    top: 43%;
    left: 18%;
}
.recruit_entry_form_title::before {
    content: '';
    width: 450px;
    height: 12px;
    background-image: linear-gradient(90deg, #f9e862 11%, #ffffff 50%, #958eff 92%);
    position: absolute;
    left: -14%;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    /* z-index: -1; */
}
.smf-item__controls .wp-block-heading {
    margin-top: 1.5em;
}
.popmake-222,
.popmake-237 {
    color: #6a74d7;
    text-decoration: underline;
    cursor: pointer;
    display: inline-block;
    /* text-align: center; */
    font-size: 16px;
    margin: 0.5em 0 0;
}
@media screen and (max-width: 639px) {
    .popmake-222,
    .popmake-237 {
        display: block;
        text-align: center;
        margin: 0.75em 0 0.5em;
    }
}
.pum-content.popmake-content ol li:not(:last-child) {
    margin-bottom: 24px;
}
.pum-content.popmake-content ol ul li {
    margin-bottom: 0 !important;
}
.pum-theme-213 .pum-content, .pum-theme-default-theme .pum-content {
    color: inherit !important;
}
.pum-theme-213, .pum-theme-default-theme {
    background-color: rgba(0, 0, 0, 0.7) !important;
}
.pum-theme-213 .pum-content + .pum-close, .pum-theme-default-theme .pum-content + .pum-close {
    background-color: #6a74d7 !important;
}

/* .snow-monkey-form[data-screen="invalid"] .smf-control-description {
    display: none;
} */

.recruit_entry_form_header {
    position: relative;
    text-align: center;
    margin-bottom: 80px;
}
.recruit_entry_form_header::before {
    content: '';
    width: 100vw;
    height: 100%;
    background-image: linear-gradient(90deg, #fffa91 50%, #6a74d7 50%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 calc(50% - 50vw);
    z-index: -1;
}
.recruit_entry_form_header_img {
    position: absolute;
    top: 21.2%;
    right: 29.6%;
}
@media screen and (min-width: 980px) {
    .recruit_ideal-candidate-profile_period_text br {
        display: none;
    }
}
@media screen and (max-width: 1090px) {
    .recruit_entry_form_header_img {
        width: 19.908256880733948vw;
        height: auto;
    }
    .recruit_entry_form_title {
        font-size: 3.67vw;
        z-index: 1;
    }
    .recruit_entry_form_title::before {
        width: 41.284403669724774vw;
        height: 0.8vw;
        z-index: -1;
    }
}
@media screen and (max-width: 640px) {
    .recruit_entry_form_header_img {
        width: 24.908256880733948vw;
        right: 25.4%;
    }
    .recruit_entry_form_title {
        font-size: 5.07vw;
        top: 58%;
        left: 4%;
    }
    .recruit_entry_form_title::before {
        width: 50.284404vw;
        left: -4%;
    }
}



/*----------------------------------------
    診療案内
----------------------------------------*/
/* 症状・疾患 */
.treatment_firstview {
    text-align: center;
}
.treatment_firstview-title {
    letter-spacing: 0.17em;
    /* font-style: italic; */
    font-weight: 400;
    text-align: center;
    position: relative;
    margin-top: 0;
    font-size: 2.32em;
    color: #1fa466;
}
@media screen and (max-width: 640px) {
    .treatment_firstview-title {
        font-size: 1.75em;
        margin-bottom: 1em;
    }
}
.treatment_firstview-title::before {
    content: '';
    width: 500px;
    height: 12px;
    background-image: linear-gradient(90deg, #f9f048 11%, #ffffff 50%, #88d6ac 92%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;
    margin: 0 auto;
    z-index: -1;
}
@media screen and (max-width: 640px) {
    .treatment_firstview-title::before {
        width: 100%;
    }
}
.treatment_firstview-title-en {
    margin-bottom: 0;
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 2.35em;
    color: #ffc261;
    line-height: 1;
    letter-spacing: 0;
    width: 500px;
    margin: 0 auto;
    text-align: left;
}
.treatment_firstview-leadtext {
    /* font-size: 20px; */
    font-size: 1.333em;
    display: inline-block;
    text-align: left;
    max-width: 720px;
}
@media screen and (max-width: 640px) {
    .treatment_firstview-leadtext {
        font-size: 1.05em;
    }
}

.symptom_lists_title {
    font-size: 1.5em;
    font-weight: 400;
    /* color: #ff8d56; */
    margin: 0 auto 0.5em;
    /* text-align: center; */
    /* border-left: 5px solid #ff8d56; */
    /* border-bottom: 3px solid #1fa466; */
    /* padding-bottom: 4px; */
    /* position: relative; */
    /* width: 500px; */
}
.symptom_lists > .symptom_lists_item:nth-child(odd) .symptom_lists_title {
    border-left: 32px solid #ffff64;
    padding-left: 8px;
}
.symptom_lists > .symptom_lists_item:nth-child(even) .symptom_lists_title {
    border-left: 32px solid #1fa466;
    padding-left: 8px;
}
/* .symptom_lists > .symptom_lists_item > *:not(:first-child) {
    padding: 0 40px;
} */

/* .symptom_lists_title::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: calc(100% - 4px);
    background: #ff8d56;
    position: absolute;
    left: 0;
} */
.trouble_lists_detail {
    margin-bottom: 20px;
}
.trouble_lists_detail_title {
    display: grid;
    grid-template-columns: 1fr 24px;
    gap: 6px;
    align-items: center;
    cursor: pointer;
    padding: 8px 16px;
    border: 1px solid #7b7e88;
    border-radius: 12px;
    font-size: 1.1em;
    font-weight: 500;
    background-color: #fff;
    position: relative;
}

/* .trouble_lists_detail[open] .trouble_lists_detail_title::after {
    transform: rotate(180deg);
} */

---------------------------------
.trouble_lists_detail summary {
  position: relative;
  cursor: pointer;
  list-style: none;
  /* padding: 20px 60px 20px 20px; */
}
.trouble_lists_detail summary::before,
.trouble_lists_detail summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 18px;
  height: 2px;
  background: #1fa466;
  transition: transform .3s ease;
}

/* 横線 */
.trouble_lists_detail summary::before {
  transform: translateY(-50%);
}

/* 縦線 */
.trouble_lists_detail summary::after {
  transform: translateY(-50%) rotate(90deg);
}

/* 開いた時（×） */
.trouble_lists_detail[open] summary::before {
  transform: translateY(-50%) rotate(45deg);
}

.trouble_lists_detail[open] summary::after {
  transform: translateY(-50%) rotate(-45deg);
}
---------------------------------


.symptom_lists_item > .trouble_lists_detail {
    margin-bottom: 20px;
}

.symptom_lists_item > *:last-child {
    margin-bottom: 0;
}
@media screen and (min-width: 641px) {
    .page-id-311 .symptom_lists_item.symptom_item1 > *:not(:first-child) {
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }
    .page-id-311 .symptom_lists_item.symptom_item2 > *:not(:first-child) {
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }
    .page-id-311 .symptom_lists_item.symptom_item3 > *:not(:first-child) {
        max-width: 716px;
        margin-left: auto;
        margin-right: auto;
    }
}
.page-id-311 .symptom_lists_item.symptom_item3 .vision_lists_caution > h2:first-child {
        margin-top: 0;
    }

.symptom_lists .symptom_lists_item:not(:last-child) {
    padding-bottom: 5rem;
    border-bottom: 1px solid;
    margin-bottom: 5rem;
}

.symptom_lists_caution {
    border-radius: 12px;
    /* margin: auto 40px; */
    background-color: #fff0e0;
    border-left: 4px solid #f59e42;
    padding: 20px !important;
}
.symptom_lists_caution > * {
    margin-bottom: 0.5em;
}
.symptom_lists_caution > *:first-child {
    margin-top: 0;
}
.symptom_lists_caution > *:last-child {
    margin-bottom: 0;
}

.symptom_lists_caution h2 {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-style: normal;
    color: #7c3a00;
    position: relative;
    /* padding-left: 2.5em; */
    display: flex;
    align-items: baseline;
}

.symptom_lists_caution h2 > strong{
    position: relative;
    width: 2.2em;
    height: 2em;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    font-weight:bold;
    color:#ff4747;
    z-index:1;
}

.symptom_lists_caution h2 > strong::before{
    content:"";
    position:absolute;
    inset:0;
    clip-path:polygon(50% 0,100% 100%,0 100%);
    background:#ff8d56;
    z-index: -1;
}

.symptom_lists_caution h2 > strong::after{
    content:"";
    position:absolute;
    left:6px;
    right:6px;
    top:8px;
    bottom:4px;
    clip-path:polygon(50% 0,100% 100%,0 100%);
    background:#fff;
    z-index: -1;
}

.symptom_lists_caution h2 > strong{
    color:#ff4747;
}

.symptom_lists_caution h2 > strong > *{
    position:relative;
}













.trouble_lists_content {
    /* background-color: #f0f2ff; */
    padding: 24px 16px;
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid #7b7e88;
    border-radius: 0 0 12px 12px;
    margin-top: -8px;
    position: relative;
    z-index: -1;
}
.trouble_lists_content > *:first-child {
    margin-top: 0;
}
.trouble_lists_content > *:last-child {
    margin-bottom: 0;
}
.trouble_lists_content > h2,
.trouble_lists_content > h3 {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-style: normal;
    color: #1fa466;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}



/*----------------------------------------
    当院について
----------------------------------------*/
.about_firstview {
    text-align: center;
}
.about_firstview-title {
    letter-spacing: 0.17em;
    /* font-style: italic; */
    font-weight: 400;
    text-align: center;
    position: relative;
    margin-top: 0;
    font-size: 2.32em;
    color: #1fa466;
}
@media screen and (max-width: 640px) {
    .about_firstview-title {
        font-size: 1.75em;
        margin-bottom: 1em;
    }
}
.about_firstview-title::before {
    content: '';
    width: 500px;
    height: 12px;
    background-image: linear-gradient(90deg, #f9f048 11%, #ffffff 50%, #88d6ac 92%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;
    margin: 0 auto;
    z-index: -1;
}
@media screen and (max-width: 640px) {
    .about_firstview-title::before {
        width: 100%;
    }
}
.about_firstview-leadtext {
    font-size: 1.333em;
    display: inline-block;
    text-align: left;
    max-width: 720px;
}
@media screen and (max-width: 640px) {
    .about_firstview-leadtext {
        font-size: 1.05em;
    }
}
.about_firstview-leadtext h3 {
    padding: 0.5em 0;
    margin-top: 80px;
    margin-bottom: 80px;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    text-align: center;
    font-style: italic;
    font-size: 1.76em;
    font-size: 1.324em;
    position: relative;
    color: #1fa466;
    line-height: 1.9;
}
@media screen and (max-width: 640px) {
    .about_firstview-leadtext h3 {
        font-size: 1.4em;
        margin: 40px 0;
    }
}
.about_firstview-leadtext h3::before {
    content: "";
    position: absolute;
    left: 9%;
    right: 9%;
    top: 0;
    height: 100%;
    border-radius: 999px;
    background: rgba(255, 247, 80, 0.55);
    filter: blur(24px);
    z-index: -1;
}
@media screen and (max-width: 640px) {
    .about_firstview-leadtext h3::before {
        left: 0;
        right: 0;
        background: rgba(255, 247, 80, 0.85);
    }
}


.about_facility {
    text-align: center;
}
.about_facility-title {
    font-size: 1.5em;
    font-weight: 400;
    color: #ff8d56;
    margin: 0 auto 1em;
    text-align: center;
    border-bottom: 3px solid #1fa466;
    padding-bottom: 4px;
    position: relative;
    z-index: 1;
    width: 500px;
}
@media screen and (max-width: 640px) {
    .about_facility-title {
        width: 100%;
    }
}
.about_facility-title::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: calc(100% - 4px);
    background: #ff8d56;
    position: absolute;
    left: 0;
}
.about_facility-text {
    font-size: 1.333em;
    display: inline-block;
    text-align: left;
}
@media screen and (max-width: 640px) {
    .about_facility-text {
        font-size: 1.05em;
    }
}

.about_facility_images {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media screen and (min-width: 782px) {
    .about_facility_images {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (min-width: 980px) {
    .about_facility_images {
        grid-template-columns: repeat(3, 1fr);
    }
}
.facility_images-img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

/* .about_description  */

.description_lists_title {
    color: #1fa466;
    border-left: 32px solid #ff8d56;
    padding-left: 8px;
}


.about_philosophy_title {
    font-size: 1.5em;
    font-weight: 400;
    color: #ff8d56;
    margin: 0 auto 1em;
    text-align: center;
    border-bottom: 3px solid #1fa466;
    padding-bottom: 4px;
    position: relative;
    z-index: 1;
    width: 500px;
}
@media screen and (max-width: 640px) {
    .about_philosophy_title {
        width: 100%;
    }
}
.about_philosophy_title::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: calc(100% - 4px);
    background: #ff8d56;
    position: absolute;
    left: 0;
}
.about_philosophy_strong {
    font-size: 1.333em;
    /* display: block; */
    text-align: left;
    margin-bottom: 10.5rem;
}
@media screen and (max-width: 640px) {
    .about_philosophy_strong {
        font-size: 1.05em;
    }
}
.about_philosophy_strong > p {
    max-width: 580px;
    margin-left: auto;
    margin-right: auto;
}
.about_philosophy_strong h2 {
    padding: 0.5em 0;
    margin-top: 80px;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    text-align: center;
    font-style: italic;
    font-size: 1.76em;
    font-size: 1.324em;
    position: relative;
    color: #1fa466;
    line-height: 1.9;
}
@media screen and (max-width: 640px) {
    .about_philosophy_strong h2 {
        font-size: 1.05em;
        margin-top: 40px;
    }
}
.about_philosophy_strong h2::before {
    content: "";
    position: absolute;
    left: 9%;
    right: 9%;
    top: 0;
    height: 100%;
    border-radius: 999px;
    background: rgba(255, 247, 80, 0.55);
    filter: blur(24px);
    z-index: -1;
}
@media screen and (max-width: 640px) {
    .about_philosophy_strong h2::before {
        left: 0;
        right: 0;
        background: rgba(255, 247, 80, 0.85);
    }
}

.about_philosophy_vision_title {
    letter-spacing: 0.17em;
    /* font-style: italic; */
    font-weight: 400;
    text-align: center;
    position: relative;
    margin-top: 0;
    /* font-size: 2.32em; */
    /* color: #1fa466; */
    font-style: italic;
}
.about_philosophy_vision_title::before {
    content: '';
    width: 500px;
    height: 12px;
    background-image: linear-gradient(90deg, #f9f048 11%, #ffffff 50%, #88d6ac 92%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    z-index: -1;
}
@media screen and (max-width: 640px) {
    .about_philosophy_vision_title::before {
        width: 100%;
    }
}

.vision_lists_title-content {
    position: relative;
    max-width: 350px;
    margin: auto;
}
.vision_lists_title {
    font-size: 26px;
    font-weight: 400;
    color: #2bb44b;
    margin: 0 auto;
    padding-left: 1em;
    text-align: left;
    /* border-left: 5px solid #ff8d56; */
    border-bottom: 3px solid #8b8b8b;
    padding-bottom: 4px;
    margin-bottom: 1em;
    position: relative;
    letter-spacing: 0.05em;
    line-height: 2.2;
}
.vision_lists_title::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: calc(100% - 4px);
    background: #2bb44b;
    position: absolute;
    left: 0;
}
.vision_lists_title-en {
    position: absolute;
    top: 0;
    right: 0.5em;
    z-index: -1;
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    line-height: 2;
    color: #ffdd34;
    text-transform: lowercase;
    font-size: 42px;
    margin: 0;
}
.vision_lists_title-en::first-letter {
  text-transform: uppercase;
}

.vision_lists_strong {
    color: #ffa366;
    font-weight: 500;
}

.vision_lists_caution > h2 {
    font-size: 1.23em;
    color: #7b7e88;
    border: 3px solid #ffe05f;
    border-radius: 100px;
    padding: 12px 40px;
    text-align: center;
    width: 716px;
    margin-left: auto;
    margin-right: auto;
    font-weight: 500;
    letter-spacing: 0.14em;
    position: relative;
    margin-bottom: 0.5em;
}
@media screen and (max-width: 781px) {
    .vision_lists_caution > h2 {
        font-size: 1.05em;
        width: 100%;
        margin-bottom: 0.5em;
    }
}
.vision_lists_caution > h2 strong {
    content: '';
    position: absolute;
    top: calc(50% + 3px);
    left: 60px;
    transform: translateY(-50%);
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    color: #6a82d7;
    display: inline-block;
    font-size: 46px;
    line-height: 1;
}
@media screen and (max-width: 781px) {
    .vision_lists_caution > h2 strong {
        left: 14px;
    }
}
.vision_lists_caution > h2 + p {
    width: 716px;
    margin-left: auto;
    margin-right: auto;
}



/*----------------------------------------
    初めて受診される方へ
----------------------------------------*/
.firstvisit_firstview {
    text-align: center;
}
.firstvisit_firstview-title {
    letter-spacing: 0.17em;
    /* font-style: italic; */
    font-weight: 400;
    text-align: center;
    position: relative;
    margin-top: 0;
    font-size: 2.32em;
    color: #1fa466;
}
@media screen and (max-width: 640px) {
    .firstvisit_firstview-title {
        font-size: 1.75em;
        margin-bottom: 1em;
    }
}
.firstvisit_firstview-title::before {
    content: '';
    width: 500px;
    height: 12px;
    background-image: linear-gradient(90deg, #f9f048 11%, #ffffff 50%, #88d6ac 92%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;
    margin: 0 auto;
    z-index: -1;
}
@media screen and (max-width: 640px) {
    .firstvisit_firstview-title::before {
        width: 100%;
    }
}
.firstvisit_firstview-leadtext {
    font-size: 1.333em;
    display: inline-block;
    text-align: left;
    max-width: 720px;
}
@media screen and (max-width: 640px) {
    .firstvisit_firstview-leadtext {
        font-size: 1.05em;
    }
}
.firstvisit_firstview-leadtext > h2 {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-style: normal;
    color: #1fa466;
}
.firstvisit_firstview-leadtext > *:first-child {
    margin-top: 0;
}

/* .firstvisit_firstview-leadtext > h2 + p + p {

}

.checkboxItem {
  display: flex;
  align-items: center;
  column-gap: 8px;
  width: fit-content;
  line-height: 1;
  cursor: pointer;
}

.checkboxItem:not(:last-of-type) {
  margin-bottom: 16px;
} */

.firstvisit_firstview-leadtext > ul:nth-of-type(2) {
    list-style: none;
}
.firstvisit_firstview-leadtext > ul:nth-of-type(2) li {
    position: relative;
}
.firstvisit_firstview-leadtext ul:nth-of-type(2) li::before {
    content: "";
    appearance: none;
    position: relative;
    width: 14px;
    height: 14px;
    border: 1px solid #6e6e6e;
    /* border-radius: 2px; */
    /* cursor: pointer; */
    display: inline-block;
    margin-right: 8px;
}

.firstvisit_firstview-leadtext > ul:nth-of-type(2) li::after {
    content: "";
    position: absolute;
    top: calc(50% - 10px);
    left: 3px;
    width: 18px;
    height: 12px;
    border-bottom: 2px solid #ff8d56;
    border-left: 2px solid #ff8d56;
    transform: rotate(-65deg) translateY(-50%);
}



/* .firstvisit_flow {
  display: flex;
  justify-content: center;
  align-items: center;
} */

@media screen and (max-width: 640px) {
    .firstvisit_flow {
        width: 100vw;
        margin-left: calc(50% - 50vw);
    }
}

.firstvisit_flow-container {
    background-color: #fff0e0;
    padding: 20px;
}
.firstvisit_flow_feature_list {
    padding-left: 0;
    margin-left: 0;
}

.firstvisit_flow_feature_list > li {
    list-style-type: none;
    position: relative;
    padding-left: 50px;
}

.firstvisit_flow_feature_list > li:not(:last-child) {
    padding-bottom: 10px;
}

.firstvisit_flow_feature_list > li .flow_number {
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    width: 2em;
    height: 2em;
    line-height: 2.2;
    text-align: center;
    border-radius: 100vh;
    display: inline-block;
    background: #f59e42;
    color: #fff;
    position: absolute;
    left: 0;
}

.firstvisit_flow_feature_list > li:not(:last-child)::before {
    content: '';
    background: #ffc261;
    width: 3px;
    height: 100%;
    position: absolute;
    top: calc(50% - -30px);
    left: 18px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.firstvisit_flow_feature_list > li dl dt {
    font-size: 1.3em;
    font-weight: 600;
    /* color: #4D9BC1; */
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-style: normal;
}

.firstvisit_flow_feature_list > li dl dd {
    margin-left: 0;
}
.firstvisit_flow_feature_item-text > * {
    /* font-size: 1.3em; */
    margin-bottom: 0.5em;
}
.firstvisit_flow_feature_item-text > h2 {
    font-size: 1.2em;
}
.firstvisit_flow_feature_item-text > *:first-child {
    margin-top: 0;
}
.firstvisit_flow_feature_item-text > *:last-child {
    margin-bottom: 0;
}

.firstvisit_flow_header .flow_header-title {
    color: #7c3a00;
    margin-top: 0;
}
.firstvisit_flow_header .flow_header-title-en {
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    color: #f59e42;
    margin-bottom: 0;
}
.firstvisit_flow_feature_list > li:first-child dl dd {
    border-radius: 12px;
    background-color: #fff;
    border-left: 4px solid #f59e42;
    padding: 20px !important;
}
.firstvisit_flow_feature_list > li:first-child dl dd > h2 {
    color: #7c3a00;
}


.firstvisit_reservation_header .reservation_header-title {
    /* color: #7c3a00; */
    margin-top: 0;
}
.firstvisit_reservation_header .reservation_header-title-en {
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    /* color: #f59e42; */
    margin-bottom: 0;
}

.firstvisit_reservation_feature_list {
    display: grid;
    grid-template-columns: 1fr;
    /* place-items: center; */
    gap: 20px;
}
@media screen and (min-width: 782px) {
    .firstvisit_reservation_feature_list {
        grid-template-columns: repeat(2, 1fr);
    }
}
.firstvisit_reservation_item {
    border: 2px solid;
    border-radius: 12px;
    padding: 20px;
}
.firstvisit_reservation_item > * {
    margin-bottom: 0.5em;
}
.firstvisit_reservation_item > *:first-child {
    margin-top: 0;
}
.firstvisit_reservation_item > *:last-child {
    margin-bottom: 0;
}
.firstvisit_reservation_feature_list > .firstvisit_reservation_item:first-child {
    border-color: #c7ddc0;
}
.firstvisit_reservation_feature_list > .firstvisit_reservation_item:last-child {
    border-color: #d8dfe4;
    background-color: #eef2f5;
}


/* .firstvisit_bring {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    background-color: #eef2f5;
} */
 @media screen and (max-width: 640px) {
    .firstvisit_bring {
        width: 100vw;
        margin-left: calc(50% - 50vw);
    }
}
.firstvisit_bring-container {
    /* max-width: 1080px; */
    padding: 20px;
    /* margin: 0 auto; */
    background-color: #eef2f5;
}
.firstvisit_bring_header .bring_header-title {
    /* color: #7c3a00; */
    margin-top: 0;
}
.firstvisit_bring_header .bring_header-title-en {
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    /* color: #f59e42; */
    margin-bottom: 0;
}

.firstvisit_bring .firstvisit_bring_list {
    gap: 0;
    padding: 0;
    background: #fff;
    border-radius: 16px;
    border: 2px solid #d8dfe4;
}
.firstvisit_bring .firstvisit_bring_item {
    flex-basis: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
}
.firstvisit_bring_list > .firstvisit_bring_item {
    padding: 14px 20px;
}
/* .firstvisit_bring_list > .firstvisit_bring_item:first-child {
    padding-top: 20px;
}
.firstvisit_bring_list > .firstvisit_bring_item:last-child {
    padding-bottom: 20px;
} */
.firstvisit_bring_list > .firstvisit_bring_item:not(:last-child) {
    border-bottom: 2px solid #d8dfe4;
}
.firstvisit_bring_item-name {
    margin: 0;
}
.firstvisit_bring_item-text {
    margin: 0;
}


.firstvisit_about_header .about_header-title {
    /* color: #7c3a00; */
    margin-top: 0;
}
.firstvisit_about_header .about_header-title-en {
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    /* color: #f59e42; */
    margin-bottom: 0;
}

.firstvisit_about_notice {
    border-radius: 12px;
    background-color: #fff0e0;
    border-left: 4px solid #d8dfe4;
    padding: 20px !important;
}
.firstvisit_about_notice > * {
    margin-bottom: 0.5em;
}
.firstvisit_about_notice > *:first-child {
    margin-top: 0;
}
.firstvisit_about_notice > *:last-child {
    margin-bottom: 0;
    border-top: 2px solid #d8dfe4;
    padding-top: 0.5em;
}

.firstvisit_about_notice h2 {
    display: flex;
    align-items: baseline;
}
.firstvisit_about_notice h2 > strong{
    position: relative;
    width: 2.2em;
    height: 2em;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    font-weight:bold;
    color:#ff4747;
    z-index:1;
}

.firstvisit_about_notice h2 > strong::before{
    content:"";
    position:absolute;
    inset:0;
    clip-path:polygon(50% 0,100% 100%,0 100%);
    background:#ff8d56;
    z-index: -1;
}

.firstvisit_about_notice h2 > strong::after{
    content:"";
    position:absolute;
    left:6px;
    right:6px;
    top:8px;
    bottom:4px;
    clip-path:polygon(50% 0,100% 100%,0 100%);
    background:#fff;
    z-index: -1;
}


/* よくある質問 */
.firstvisit_qa-container {
    /* max-width: 1080px; */
    padding: 20px;
    /* margin: 0 auto; */
    background-color: #eef2f5;
}
.firstvisit_qa_header .qa_header-title {
    /* color: #7c3a00; */
    margin-top: 0;
}
.firstvisit_qa_header .qa_header-title-en {
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    /* color: #f59e42; */
    margin-bottom: 0;
}

.firstvisit_qa .firstvisit_qa_list {
    gap: 0;
    padding: 0;
    /* background: #fff; */
    /* border-radius: 16px; */
    /* border: 2px solid #d8dfe4; */
}
/* .firstvisit_qa .firstvisit_qa_item {
    flex-basis: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
}
.firstvisit_qa_list > .firstvisit_qa_item {
    padding: 14px 20px;
} */
/* .firstvisit_qa_list > .firstvisit_qa_item:first-child {
    padding-top: 20px;
}
.firstvisit_qa_list > .firstvisit_qa_item:last-child {
    padding-bottom: 20px;
} */
.firstvisit_qa_list > .firstvisit_qa_item:not(:last-child) {
    border-bottom: 2px solid #d8dfe4;
    padding-bottom: 8px;
    margin-bottom: 8px;
}
.firstvisit_qa_question {
    margin: 0;
    padding-left: 2em;
    position: relative;
}
.firstvisit_qa_question::before {
    content: "Q";
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    position: absolute;
    left: 0;
}
.firstvisit_qa_anser {
    margin: 0;
    padding-left: 2em;
    position: relative;
}
.firstvisit_qa_anser::before {
    content: "A";
    font-family: "Metal", serif;
    font-weight: 400;
    font-style: normal;
    position: absolute;
    left: 0;
    font-size: 1.2em;
}



/*----------------------------------------
    アクセス
----------------------------------------*/
.access_firstview {
    text-align: center;
}
.access_firstview-title {
    letter-spacing: 0.17em;
    /* font-style: italic; */
    font-weight: 400;
    text-align: center;
    position: relative;
    margin-top: 0;
    font-size: 2.32em;
    color: #1fa466;
}
@media screen and (max-width: 640px) {
    .access_firstview-title {
        font-size: 1.75em;
        margin-bottom: 1em;
    }
}
.access_firstview-title::before {
    content: '';
    width: 500px;
    height: 12px;
    background-image: linear-gradient(90deg, #f9f048 11%, #ffffff 50%, #88d6ac 92%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;
    margin: 0 auto;
    z-index: -1;
}
@media screen and (max-width: 640px) {
    .access_firstview-title::before {
        width: 100%;
    }
}
.access_firstview-leadtext {
    /* font-size: 20px; */
    font-size: 1.333em;
    display: inline-block;
    text-align: left;
    max-width: 720px;
}
@media screen and (max-width: 640px) {
    .access_firstview-leadtext {
        font-size: 1.05em;
    }
}

.access_map_info-url a {
    padding: 10px;
    border: 2px solid;
    border-radius: 12px;
    text-decoration: none;
}

.access_map_info-location_name {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-style: normal;
    color: #1fa466;
    margin-bottom: 0.5em;
}

.access_map_info_list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media screen and (min-width: 782px) {
    .access_map_info_list {
        grid-template-columns: repeat(2, 1fr);
    }
}
.access_map_info_item-name {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-style: normal;
    color: #1fa466;
    margin-bottom: 0.5em;
}


/* お知らせ */
.blog .site-content .loop-wrapper {
    background-color: #fff;
    padding: 0 100px 80px;
    margin-bottom: 70px;
}
@media screen and (max-width: 979px) {
    .blog .site-content .loop-wrapper {
        padding: 0 0 54px;
        margin-bottom: 24px;
    }
}

.post-list .entry-header {
    margin-bottom: 0;
}
.post-list .entry-header a {
    display: flex;
    /* align-items: center; */
    gap: 30px;
    border-bottom: solid 1px #ddd;
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: 17px;
    padding-right: 17px;
    text-decoration: none;
}
@media screen and (max-width: 979px) {
    .post-list .entry-header a {
        gap: 0;
        flex-wrap: wrap;
    }
    .post-list .entry-header a > * {
        width: 100%;
    }
}
.post-list .entry-header a:hover {
    background-color: #cef0cd;
}
.post-list .entry-header time {
    letter-spacing: 0.1em;
    color: #9B9B9B;
    font-size: 100%;
    margin-top: 0;
    /* font-weight: 500; */
    /* line-height: 1.2; */
}
.post-list .entry-title {
    font-size: 1em;
    letter-spacing: 0.05em;
    font-weight: 400;
    line-height: 1.8;
}


.single .page_section {
    background: #fff;
    padding: 0 100px 54px;
}
@media screen and (max-width: 979px) {
    .single .page_section {
        padding: 0 0 54px;
    }
}

.single .entry-content > *:not(:last-child) {
    margin-bottom: 1.8em;
}
.single .entry-header {
    text-align: left;
}
.single .entry-header .entry-title {
    /* font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal; */
    letter-spacing: 0.1em;
    font-size: 1.5em;
    text-align: justify;
}
.entry-meta {
    color: #999;
    font-size: 100%;
    margin-top: 1rem;
}



.pagination{
    color: #000;
    text-align: center;
    font-size: 100%;
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    display: flex;
    justify-content: center;
	align-items: center;
    gap: 8px;
}
.pagination .page-numbers {
    display: inline-block;
    padding: 8px 16px;
    border: none;
    border-radius: 50%;
    margin-right: 0;
	letter-spacing: 0.2em;
}
.pagination .page-numbers:not(.prev):not(.next){
    display: flex;
    width: 54px;
    height: 54px;
    padding: 0;
    justify-content: center;
    align-items: center;
    background: transparent;
}
.pagination .page-numbers.disabled {
    color: #b1b1b1;
}
.pagination > a{
	color: #b1b1b1;
}
.pagination a.page-numbers{
    border: none;
}
.pagination a.page-numbers:hover {
    border-color: transparent;
    color: #000;
}

.pagination .prev{
    margin-right: 56px;
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 26px;
}
.pagination .prev::before{
    content: '';
    width: 7px;
    height: 12px;
    background-image: url(assets/img/common/icon_page_prev.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
}
.pagination .prev.disabled::before,
.pagination .next.disabled::before,
.pagination a.prev::before,
.pagination a.next::before{
    filter: invert(69%);
}
.pagination a.prev:active::before,
.pagination a.next:active::before{
    filter: none !important;
}
.pagination .next{
    margin-left: 56px;
    position: relative;
    display: flex;
    align-items: center;
    padding-right: 26px;
}
.pagination .next::before{
    content: '';
    width: 7px;
    height: 12px;
    background-image: url(assets/img/common/icon_page_next.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translateY(-50%);
}
.pagination .dots{
    display: flex;
    align-items: center;
    padding-bottom: 8px;
    padding-left: 4px;
    padding-right: 4px;
}
@media screen and (max-width: 781px){
    /* .blog .pagination .prev, .blog .pagination .next{
        display: none;
    } */
	.pagination .prev{
		margin-right: 8px;
	}
	.pagination .next{
		margin-left: 8px;
	}
	/* .pagination .page-numbers{
		padding: 8px;
	} */
    .pagination .page-numbers:not(.prev):not(.next){
        width: 48px;
        height: 48px;
    }
	.pagination .dots{
		padding-left: 0;
    	padding-right: 0;
	}
}
.pagination a:not(.page-numbers):not(.prev):not(.next){
	font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
	color: #000;
}
.pagination a:not(.page-numbers):not(.prev):not(.next):hover{
	color: #1fa466;
}

.single .pagination,
.archive .pagination {
    margin-top: 96px;
    margin-top: 80px;
}
.single .pagination .wp-block-buttons{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
}

@media screen and (max-width: 781px){
    .single .pagination{
        flex-wrap: wrap;
        /* justify-content: space-between; */
        gap: 24px;
        width: 315px;
        margin: 32px auto 0;
    }
    .single .pagination .wp-block-buttons{
        /* order: 3; */
        flex-basis: 100%;
    }

    .single .pagination .prev{
        margin-right: 0;
        /* order: 1; */
		display: none;
    }
    .single .pagination .next{
        margin-left: 0;
        /* order: 2; */
		display: none;
    }
}

@media screen and (max-width: 355px){
    .single .pagination{
        width: 100%;
    }

}




/*----------------------------------------
    202606 mobile visual override
----------------------------------------*/
:root {
    --mobile-green: #54c985;
    --mobile-mint: #d6f7dc;
    --mobile-blue: #6873da;
    --mobile-yellow: #fff65e;
    --mobile-orange: #ff8f69;
    --mobile-text: #767b82;
}

.home {
    color: var(--mobile-text);
}

.home .site-content {
    padding-top: 0;
}

/* .home .entry-content {
    overflow: hidden;
} */

.home .mainvisual__hero img,
.home .mainvisual__opening img {
    display: block;
    max-width: 100%;
    max-width: none;
    width: 100%;
    height: auto;
}

@media screen and (min-width: 980px) {
    body:not(.home) .site-logo .logo_sp {
        display: none;
    }
}
@media screen and (max-width: 979px) {
    body:not(.home) .site-logo .logo_pc {
        display: none;
    }
}

@media screen and (min-width: 641px) {
    /* .home .mainvisual {
        min-height: 720px;
        min-height: calc(720px - 20vw);
    } */

    .home .mainvisual__text {
        color: var(--mobile-yellow);
        text-shadow: 0 0 18px rgba(255, 255, 120, 0.85);
    }
}

@media screen and (max-width: 640px) {
    body.home {
        background:
            radial-gradient(circle at -18% 39%, rgba(202, 248, 214, 0.86) 0 9.5rem, transparent 9.7rem),
            radial-gradient(circle at 114% 50%, rgba(206, 250, 210, 0.9) 0 5.2rem, transparent 5.35rem),
            radial-gradient(circle at -12% 68%, rgba(217, 248, 221, 0.92) 0 6.8rem, transparent 6.95rem),
            linear-gradient(180deg, #fff 0%, #fff 100%);
    }

    .home #page {
        overflow: hidden;
        background: transparent;
    }

    .home .main-header {
        position: absolute;
        inset: 0 0 auto;
        z-index: 20;
        padding: 20px 0 16px;
        margin: 0;
        background: transparent;
        background-color: #fff;
    }
    body:not(.home) .main-header {
        padding: 30px 0 0;
        padding: 20px 0 16px;
    }

    .main-header-content {
        padding: 0 16px;
        background: transparent;
        align-items: flex-start;
    }
    /* .home .main-header-content {
        min-height: 124px;
    } */
    /* body:not(.home) .main-header-content {
        padding-top: 30px;
        padding-bottom: 0;
    } */

    .home .site-branding {
        position: relative;
        position: absolute;
        width: 178px;
        height: 124px;
        margin-left: -18px;
        padding: 0 0 0 26px;
        /* border-radius: 0 0 88px 0;
        background: rgba(210, 246, 214, 0.96); */
    }
    body:not(.home) .site-branding {
        margin-left: -18px;
        padding: 0 0 0 26px;
        position: absolute;
        width: 178px;
        height: 124px;
        margin-left: -18px;
    }

    .home .site-branding::after {
        content: "";
        position: absolute;
        right: -32px;
        top: -28px;
        width: 86px;
        height: 86px;
        border-radius: 50%;
        background: rgba(210, 246, 214, 0.96);
        content: none;
    }

    .site-logo {
        position: relative;
        z-index: 1;
    }

    .site-logo img {
        width: 117px;
        max-height: 74px;
        width: 152px;
        max-height: 112px;
        object-fit: contain;
        object-position: left top;
    }
    .site-info .site-logo img {
        object-position: center;
    }
    .page-scrolling .site-logo img {
        width: 117px;
        max-height: 74px;
    }

    body:not(.home) .main-header .site-logo a {
        top: 0;
    }

    /* .home .site-title,
    .home .site-description,
    .home .main-navigation {
        display: none;
    } */

    /* .home .sp_instagram {
        position: absolute;
        top: 25px;
        right: 58px;
        width: 24px;
        height: 24px;
        margin: 0;
        overflow: hidden;
        color: transparent;
        font-size: 0;
    }

    .home .sp_instagram::after {
        width: 21px;
        height: 21px;
    }

    .home .drawer-hamburger {
        position: absolute;
        top: 18px;
        right: 12px;
        width: 44px;
        height: 44px;
        padding: 12px 10px;
        margin: 0;
        background: transparent;
    }

    .home .drawer-hamburger-icon,
    .home .drawer-hamburger-icon::before,
    .home .drawer-hamburger-icon::after {
        height: 3px;
        border-radius: 99px;
        background-color: var(--mobile-green);
    } */

    .home .sp_recruit {
        position: absolute;
        top: 61px;
        right: 12px;
        width: 212px;
        height: 31px;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        overflow: hidden;
        border-radius: 999px;
        background: rgba(232, 249, 222, 0.96);
        color: transparent;
        font-size: 0;
        box-shadow: 0 7px 18px rgba(119, 165, 110, 0.12);
    }

    .home .sp_recruit::before {
        content: "初めて受診される方へ";
        position: static;
        width: auto;
        height: auto;
        border-radius: 0;
        background: transparent;
        color: #789069;
        font-size: 10px;
        font-weight: 700;
        line-height: 31px;
        text-align: center;
    }

    .home .sp_recruit::after {
        content: "WEB予約";
        width: auto;
        height: auto;
        background: transparent;
        color: #789069;
        font-size: 10px;
        font-weight: 700;
        line-height: 31px;
        text-align: center;
        border-left: 1px solid rgba(84, 201, 133, 0.25);
    }

    .home .sp_recruit > span {
        display: none;
    }

    .home .mainvisual {
        /* min-height: 548px; */
        /* background: #fff;
        background-image: none; */
        overflow: hidden;
    }

    .home .mainvisual::before {
        content: none;
    }

    /* .home .mainvisual::after { */
        /* content: "";
        position: absolute;
        inset: 0;
        height: auto;
        background:
            linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0) 22%, rgba(255,255,255,0.08) 63%, #fff 100%);
        -webkit-mask-image: none;
                mask-image: none;
        pointer-events: none;
        z-index: 1; */
        /* content: none; */
    /* } */

    .home .mainvisual-container {
        width: 100%;
        max-width: none;
        /* padding: 0; */
    }

    /* .home .mainvisual-content {
        min-height: 548px;
    } */

    .home .mainvisual__hero,
    .home .mainvisual__hero picture,
    .home .mainvisual__hero img {
        width: 100%;
        /* min-height: 548px; */
    }
    /* .home .mainvisual_mainimg,
    .home .mainvisual_mainimg img {
        width: 100%;
        min-height: 548px;
    } */
    .home .mainvisual__hero img {
        object-fit: cover;
        object-position: center;
        filter: saturate(0.96) brightness(1.04);
        width: 100vw;
        /* max-height: 220px; */
    }

    .home .mainvisual__text {
        top: 260px;
        left: 22px;
        right: auto;
        max-width: 315px;
        color: var(--mobile-yellow);
        font-size: 20px;
        font-weight: 700;
        line-height: 1.72;
        letter-spacing: 0.18em;
        text-shadow: 0 0 12px rgba(255, 255, 110, 0.95), 0 0 26px rgba(255, 255, 130, 0.85);
        z-index: 2;
    }

    .home .mainvisual__text::before {
        content: "耐えるも、あきらめていませんか？";
        display: block;
        margin-bottom: 18px;
        color: #5c9d64;
        font-size: 12px;
        font-weight: 600;
        line-height: 1;
        letter-spacing: 0.08em;
        text-shadow: 0 0 18px rgba(255, 255, 120, 0.95);
    }

    .home .mainvisual__text .br-sp {
        display: none;
    }

    .home .mainvisual__opening {
        display: none;
    }

    .home .toppage_whats {
        margin: 0;
        padding: 0 0 72px;
        background: #fff;
    }

    .home .toppage_whats::before,
    .home .toppage_whats::after {
        content: none;
    }

    .home .toppage_whats-container {
        padding-top: 24px;
    }

    /* .home .toppage_whats-title {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    } */

    .toppage_whats_feature_list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 24px;
        height: auto;
        padding: 0;
    }

    /* .home .toppage_whats_feature_item {
        position: relative;
        width: min(78vw, 330px);
        min-height: 180px;
        margin: 0;
        padding: 0;
    } */

    /* .home .toppage_whats_feature_item-title,
    .home .toppage_whats_feature_item-text,
    .home .toppage_whats_feature_item .toppage_whats_feature_item-title::after {
        display: none;
    } */

    /* .home .toppage_whats_feature_item::before {
        content: "";
        position: static;
        display: block;
        width: 100%;
        min-height: 180px;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        box-shadow: none;
        opacity: 1;
        z-index: 0;
    } */

    /* .home .toppage_whats_feature_item.feature_item1 {
        justify-self: start;
        left: -4px;
        top: auto;
        width: 42vw;
        max-width: 170px;
        min-height: 176px;
        margin-top: 12px;
    } */

    /* .home .toppage_whats_feature_item.feature_item1::before {
        width: 100%;
        min-height: 176px;
        background-image: url(./assets/img/top/toppage_whats_img1.svg);
        background-size: contain;
        filter: drop-shadow(0 15px 20px rgba(111, 118, 120, 0.16));
    }

    .home .toppage_whats_feature_item.feature_item2 {
        justify-self: end;
        left: auto;
        top: auto;
        right: -9px;
        width: 57vw;
        max-width: 230px;
        min-height: 300px;
        margin-top: -164px;
    }

    .home .toppage_whats_feature_item.feature_item2::before {
        min-height: 300px;
        border-radius: 32% 18% 30% 18% / 16% 32% 18% 30%;
        background-image: url(./assets/img/top/toppage_greeting_bg2.png);
        background-color: #f6f4ef;
    }

    .home .toppage_whats_feature_item.feature_item3 {
        justify-self: center;
        left: auto;
        top: auto;
        width: 72vw;
        max-width: 286px;
        min-height: 178px;
        margin-top: 22px;
    }

    .home .toppage_whats_feature_item.feature_item3::before {
        min-height: 178px;
        border-radius: 20% 34% 16% 28% / 28% 18% 34% 14%;
        background-image: url(./assets/img/top/toppage_greeting_bg1.png);
        background-color: #f8f4ea;
    }

    .home .toppage_whats_feature_item.feature_item4,
    .home .toppage_whats_feature_item.feature_item5,
    .home .toppage_whats_feature_item.feature_item6 {
        display: none;
    }

    .home .toppage_symptom {
        position: relative;
        margin: 0;
        padding: 58px 22px 72px;
        background:
            radial-gradient(circle at -12% 8%, rgba(217, 248, 221, 0.82) 0 74px, transparent 76px),
            radial-gradient(circle at 110% 20%, rgba(214, 248, 223, 0.7) 0 48px, transparent 50px),
            #fff;
    } */

    /* .home .toppage_symptom::before {
        content: "";
        position: absolute;
        left: 9%;
        right: 9%;
        top: 48px;
        height: 54px;
        border-radius: 999px;
        background: rgba(255, 247, 80, 0.55);
        filter: blur(16px);
    } */

    /* .home .toppage_symptom-title {
        position: relative;
        color: #7a7f83;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.7;
        letter-spacing: 0.09em;
        text-align: center;
        margin-bottom: 34px;
    } */

    /* .home .toppage_symptom-text {
        max-width: 315px;
        margin: 0 auto 16px;
        color: #737980;
        font-size: 15px;
        line-height: 1.9;
        text-align: left;
        letter-spacing: 0.03em;
    } */

    .home .toppage_symptom_image {
        display: none;
    }

    .home .toppage_symptom_list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 10px;
        row-gap: 20px;
        /* max-width: 315px; */
        margin: 0 auto;
    }

    .home .toppage_symptom_item {
        position: relative;
        /* padding-left: 1em; */
        width: 100%;
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    /* .home .toppage_symptom_item::before {
        content: "・";
        position: absolute;
        left: 0;
        top: 0.05em;
        color: #737980;
    } */

    /* .home .toppage_symptom_item-title {
        display: inline;
        width: auto;
        height: auto;
        color: #737980;
        font-family: inherit;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.8;
        text-align: left;
    } */

    /* .home .toppage_symptom_item-title::before,
    .home .toppage_symptom_item-title::after,
    .home .toppage_symptom_list .symptom_item4::before {
        content: none;
    } */

    /* .home .toppage_symptom_item-text {
        display: none;
    } */

    /* .home .toppage_symptom_container::after {
        content: "当院では、そうした痛みを\a専門的に診療しています";
        white-space: pre;
        display: block;
        max-width: 315px;
        margin: 8px auto 0;
        color: #737980;
        font-size: 15px;
        line-height: 1.9;
        letter-spacing: 0.03em;
    } */

    /* .home .toppage_vision {
        margin: 0;
        padding: 42px 20px 68px;
        background: #fff;
    }

    .home .toppage_vision::before {
        content: "そんな痛みも、ご相談ください";
        display: block;
        margin: 0 auto 44px;
        color: #7a7f83;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.7;
        letter-spacing: 0.09em;
        text-align: center;
    } */

    /* .home .toppage_vision-title {
        margin: 0 auto 28px;
        padding: 14px 28px;
        border: 2px solid #ffc936;
        border-radius: 999px;
        color: var(--mobile-green);
        font-size: 15px;
        font-weight: 700;
        line-height: 1;
    } */

    /* .home .toppage_vision-title::before {
        content: none;
    } */

    /* .home .toppage_vision-title::after {
        content: "▶";
        margin-left: 8px;
        color: #ffc936;
        font-size: 12px;
        vertical-align: 1px;
    } */

    /* .home .toppage_vision_list {
        display: none;
    } */

    .home .toppage_greeting {
        margin: 0;
        padding: 0 18px 48px;
        width: auto;
        background: #fff;
    }

    .home .toppage_greeting::before,
    .home .toppage_greeting::after {
        content: none;
    }

    .home .toppage_greeting_container {
        display: block;
        padding: 0;
        max-width: 520px;
    }

    .home .toppage_greeting_col--left {
        display: none;
    }

    .home .toppage_greeting_col--right {
        column-count: auto;
    }

    .home .toppage_greeting-title {
        width: auto;
        height: auto;
        margin: 0 0 22px;
        padding: 0 0 14px;
        text-indent: 0;
        overflow: visible;
        white-space: normal;
        background: none;
        color: var(--mobile-orange);
        font-size: 21px;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 0.1em;
        text-align: center;
        border-bottom: 3px solid var(--mobile-green);
    }

    .home .toppage_greeting-title::before {
        content: "";
        display: inline-block;
        width: 3px;
        height: 30px;
        margin-right: 8px;
        background: var(--mobile-orange);
        vertical-align: -7px;
    }

    .home .toppage_greeting-text {
        max-width: 335px;
        margin: 0 auto 16px;
        color: #70777d;
        font-size: 14px;
        line-height: 1.85;
        letter-spacing: 0.02em;
    }

    .home .toppage_greeting-career {
        max-width: 335px;
        margin: 0 auto;
    }

    .home .toppage_greeting-date,
    .home .toppage_greeting-name {
        color: var(--mobile-green);
        font-size: 13px;
    }

    /* .home .site-footer {
        padding-bottom: 66px;
        background:
            radial-gradient(circle at -14% 0%, rgba(211, 249, 219, 0.9) 0 88px, transparent 90px),
            #fff;
    } */

    /* .home .site-bottom {
        padding: 0;
    } */

    .home .site-bottom-content {
        padding: 20px 18px 42px;
        /* background: transparent; */
    }

    .home .common_map {
        display: flex;
        flex-direction: column;
        gap: 18px;
        align-items: stretch;
        margin: 0 auto 28px;
        /* max-width: 335px; */
    }

    /* .home .common_map--left {
        order: 1;
        margin: 0;
    } */

    /* .home .common_map--right {
        order: 2;
    } */

    .home .common_map_table {
        display: block;
        width: 100%;
        color: #70777d;
        font-size: 14px;
        line-height: 1.8;
    }

    .home .common_map_table tbody,
    .home .common_map_table tr,
    .home .common_map_table td {
        display: block;
        width: 100%;
        padding: 0;
        border: 0;
    }

    .home .common_map_table tr:first-child::before {
        content: "所在地";
        display: block;
        margin: 10px 0 8px;
        color: var(--mobile-green);
        font-size: 16px;
        font-weight: 700;
    }

    .home .common_map_table tr + tr {
        margin-top: 8px;
    }

    .home .common_map_table td:first-child::before {
        content: none !important;
    }

    .home .common_map_googlemap {
        order: 3;
        text-align: center;
        margin: 18px 0 0;
    }

    .home .common_map_googlemap::before {
        content: "Google マップで経路をご確認のうえお越しください。";
        display: block;
        margin: 0 0 22px;
        color: #7f858a;
        font-size: 13px;
        line-height: 1.7;
        text-align: left;
    }

    .home .common_map_googlemap a {
        color: var(--mobile-green);
        background: #d4f6dc;
        border-radius: 8px;
        padding: 9px 42px 10px 30px;
        font-size: 14px;
        font-weight: 700;
        text-decoration: none;
    }

    .home .common_map_googlemap a::after {
        top: 5px;
        right: 17px;
        width: 14px;
        height: 22px;
    }

    .home .footer-menu_container {
        /* display: block; */
        max-width: 335px;
        margin: 0 auto;
    }

    /* .home .site-info,
    .home .footer_opening {
        display: none;
    } */

    /* .home .footer-menu {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 30;
        padding: 8px 8px 10px;
        background: rgba(255, 255, 255, 0.95);
        box-shadow: 0 -5px 20px rgba(88, 102, 140, 0.12);
    } */

    /* .home .footer-navigation ul,
    .home .menu-footer_menu-container ul {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 5px;
        margin: 0;
        padding: 0;
    } */

    /* .home .footer-navigation li,
    .home .menu-footer_menu-container li {
        display: none;
        margin: 0;
    } */

    /* .home .footer-navigation li:nth-of-type(4),
    .home .footer-navigation li:nth-of-type(5),
    .home .footer-navigation li:nth-of-type(6),
    .home .menu-footer_menu-container li:nth-of-type(4),
    .home .menu-footer_menu-container li:nth-of-type(5),
    .home .menu-footer_menu-container li:nth-of-type(6) {
        display: block;
    } */

    /* .home .footer-navigation li a,
    .home .menu-footer_menu-container li a {
        width: auto !important;
        height: 38px !important;
        min-width: 0;
        padding: 0 4px !important;
        border-radius: 6px;
        background: var(--mobile-blue);
        color: #fff !important;
        font-size: 11px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        text-decoration: none;
    } */

    /* .home .footer-navigation li a::before,
    .home .menu-footer_menu-container li a::before {
        content: "";
        width: 15px;
        height: 15px;
        flex: 0 0 15px;
        border: 2px solid #8af0a8;
        border-radius: 2px;
    } */

    /* .home .footer-navigation li a::after,
    .home .menu-footer_menu-container li a::after {
        content: none !important;
    } */
}





/*----------------------------------------
    202607 front-page PDF mobile override
----------------------------------------*/
/* @media screen and (max-width: 640px) {
    .home .entry-content {
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .home .toppage_whats { order: 1; }
    .home .toppage_information { order: 2; }
    .home .toppage_problem { order: 3; }
    .home .toppage_symptom { order: 4; }
    .home .toppage_vision { order: 5; }

    .home .site-header {
        position: relative;
        z-index: 5;
    }

    .home .mainvisual {
        min-height: 560px;
        margin-top: -124px;
    }

    .home .mainvisual-content,
    .home .mainvisual__hero,
    .home .mainvisual__hero picture,
    .home .mainvisual__hero img {
        min-height: 560px;
    }

    .home .mainvisual__hero img {
        object-position: center top;
    }

    .home .mainvisual__text {
        top: 285px;
        left: 21px;
        width: calc(100vw - 42px);
        max-width: 330px;
        font-size: 19px;
        line-height: 1.72;
        letter-spacing: 0.17em;
    }

    .home .mainvisual__text::before {
        margin-bottom: 18px;
        font-size: 11px;
        letter-spacing: 0.1em;
    }

    .home .toppage_whats {
        padding: 26px 0 24px;
    }

    .home .toppage_whats-container {
        padding-top: 0;
    }

    .home .toppage_whats_feature_list {
        position: relative;
        display: block;
        min-height: 480px;
    }

    .home .toppage_whats_feature_item { margin: 0; }

    .home .toppage_whats_feature_item.feature_item1 {
        position: absolute;
        left: -2px;
        top: 92px;
        width: 42vw;
        max-width: 172px;
    }

    .home .toppage_whats_feature_item.feature_item2 {
        position: absolute;
        right: -10px;
        top: 0;
        width: 58vw;
        max-width: 238px;
        min-height: 300px;
    }

    .home .toppage_whats_feature_item.feature_item3 {
        position: absolute;
        left: 54px;
        top: 330px;
        width: calc(100vw - 108px);
        max-width: 300px;
    }

    .home .toppage_whats_feature_item.feature_item1::before {
        min-height: 176px;
        background-position: left center;
    }

    .home .toppage_whats_feature_item.feature_item2::before {
        min-height: 300px;
        border-radius: 30% 18% 28% 18% / 16% 31% 17% 29%;
        background-size: cover;
        background-position: center;
    }

    .home .toppage_whats_feature_item.feature_item3::before {
        min-height: 166px;
        border-radius: 22% 34% 18% 30% / 28% 18% 34% 14%;
        background-size: cover;
        background-position: center;
    }

    .home .toppage_information {
        display: block;
        margin: 0 !important;
        padding: 6px 14px 48px;
        background: #fff;
    }

    .home .toppage_information .news-list {
        display: none;
    }

    .home .common_hospital_hours {
        max-width: 350px;
        margin: 0 auto;
    }

    .home .common_hospital_hours_title {
        margin: 0 0 15px;
        padding: 0 0 12px 12px;
        color: #ff8d66;
        font-size: 20px;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 0.08em;
        border-bottom: 2px solid var(--mobile-green);
        text-align: center;
    }

    .home .common_hospital_hours_title::before {
        width: 2px;
        height: 30px;
        top: 0;
        background: #ff8d66;
    }

    .home .hospital_hours-contanier {
        padding: 13px 10px 12px;
        margin: 0 0 12px;
        border-radius: 13px;
        background: #f0fbef;
    }

    .home .hospital_hours_table {
        table-layout: fixed;
        width: 100%;
        margin: 0 0 8px;
        font-size: 12px;
        letter-spacing: 0;
    }

    .home .hospital_hours_table td {
        padding: 0.72em 0.2em 0.62em;
        color: var(--mobile-green);
        border-bottom-color: rgba(84, 201, 133, 0.35);
        font-weight: 700;
    }

    .home .hospital_hours_table td:first-child {
        width: 76px;
        white-space: nowrap;
    }

    .home .hospital_hours_table td:first-child::after {
        background-color: rgba(84, 201, 133, 0.35);
    }

    .home .hospital-hours_closed {
        color: #ff8d66;
        font-size: 12px;
        line-height: 1.4;
        text-align: right;
    }

    .home .mainvisual_hospital_hours {
        color: #777d82;
        font-size: 12px;
        line-height: 1.72;
    }

    .home .toppage_problem {
        margin: 0;
        padding: 54px 22px 66px;
        background:
            radial-gradient(circle at -13% 10%, rgba(211, 249, 218, 0.88) 0 82px, transparent 84px),
            radial-gradient(circle at 111% 23%, rgba(214, 248, 223, 0.72) 0 52px, transparent 54px),
            #fff;
    }

    .home .toppage_problem .problem_header {
        margin: 0 0 30px;
        padding: 2.2em 0;
        color: #7a7f83;
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 0.08em;
        background-image: radial-gradient(closest-side, rgba(255, 250, 95, 0.75) 38%, transparent 100%);
    }

    .home .problem_detail {
        display: block;
        max-width: 315px;
        margin: 0 auto;
        color: #747a80;
        font-size: 15px;
        line-height: 1.9;
        text-align: left;
    }

    .home .problem_detail > ul {
        margin: 0.3em 0 0 1em;
        padding: 0;
    }

    .home .problem_detail > *:last-child {
        margin: 2.9em 0 2em;
        color: #7a7f83;
        font-size: 15px;
        line-height: 1.8;
        letter-spacing: 0.08em;
        text-align: center;
    }

    .home .link_button a {
        min-width: 292px;
        margin-bottom: 0;
        padding: 12px 22px 13px;
        border-color: #ffc936;
        color: var(--mobile-green);
        background: #fff;
        font-size: 14px;
        letter-spacing: 0.04em;
    }

    .home .toppage_symptom {
        padding: 58px 18px 46px;
        background: #fff;
    }

    .home .toppage_symptom::before {
        content: none;
    }

    .home .toppage_symptom-title,
    .home .toppage_vision-title {
        margin: 0 0 22px;
        padding: 0 0 14px 12px;
        border: 0;
        border-bottom: 2px solid var(--mobile-green);
        border-radius: 0;
        color: #ff8d66;
        font-size: 20px;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 0.1em;
        text-align: center;
    }

    .home .toppage_symptom-title::before,
    .home .toppage_vision-title::before {
        content: "";
        display: inline-block;
        width: 2px;
        height: 30px;
        margin-right: 8px;
        background: #ff8d66;
        vertical-align: -7px;
    }

    .home .toppage_symptom-title::after,
    .home .toppage_vision-title::after {
        content: none;
    }

    .home .toppage_symptom_detail,
    .home .toppage_symptom-text {
        max-width: 315px;
        margin: 0 auto 20px;
        color: #747a80;
        font-size: 14px;
        line-height: 1.85;
    }

    .home .toppage_symptom_list {
        max-width: 335px;
        row-gap: 12px;
    }

    .home .toppage_symptom_item {
        padding: 18px 18px 18px 22px;
        border-radius: 16px;
        background: #f4fbf4;
    }

    .home .toppage_symptom_item::before {
        content: none;
    }

    .home .toppage_symptom_item-title {
        display: block;
        margin: 0 0 8px;
        color: var(--mobile-green);
        font-size: 17px;
        font-weight: 700;
    }

    .home .toppage_symptom_item-text {
        display: block;
        margin: 0;
        padding: 0;
        color: #747a80;
        font-size: 13px;
        line-height: 1.7;
    }

    .home .toppage_symptom_container::after {
        content: none;
    }

    .home .toppage_vision {
        padding: 46px 18px 50px;
        background: #fff;
    }

    .home .toppage_vision::before {
        content: none;
    }

    .home .toppage_vision_list {
        display: grid;
        gap: 14px;
    }

    .home .toppage_vision_col {
        display: grid;
        gap: 14px;
    }

    .home .toppage_vision_item {
        margin: 0;
        padding: 20px 18px;
        border-radius: 16px;
        background: #f7fbf6;
    }

    .home .toppage_vision_item::before {
        content: none;
    }

    .home .toppage_vision_item-title {
        margin: 0 0 8px;
        padding: 0 0 0 12px;
        border-left: 4px solid #ffc936;
        color: var(--mobile-green);
        font-size: 17px;
        font-weight: 700;
    }

    .home .toppage_vision_list_subtitle {
        margin: 0 0 8px;
        color: #ff8d66;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.6;
    }

    .home .toppage_vision_item-text {
        margin: 0;
        padding: 0;
        color: #747a80;
        font-size: 13px;
        line-height: 1.75;
    }
} */


/* 予約非表示対応 */
/* .main-navigation ul.menu>li:last-of-type {
    display: none;
}
.floating_menu ul li:first-child {
    display: none;
} */


.scroll-posts {
    height: 100dvh;
    overflow-y: auto;

    scroll-snap-type: y mandatory;
    overscroll-behavior-y: contain;
}

.scroll-post {
    min-height: 100dvh;

    scroll-snap-align: start;
    scroll-snap-stop: always;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 60px 20px;
    box-sizing: border-box;
}

.scroll-post__inner {
    width: min(100%, 1000px);
    margin: 0 auto;
}

.scroll-post__thumbnail img {
    display: block;
    width: 100%;
    height: auto;
}

.scroll-post__content {
    margin-top: 30px;
}

.scroll-post__title {
    margin-top: 0;
}



/* フローティングバナー */
.floating-banner {
	position: fixed;
	z-index: 99999;
	top: 20px;
	right: 20px;
	transition: 0.5s;
    /* box-shadow: rgba(0, 0, 0, 0.25) 0px 15px 35px; */
}
.floating-banner:hover {
	/* opacity: .8; */
	/* box-shadow: rgba(0, 0, 0, 0.25) 0px 15px 35px; */
	transform: translateY(-8px);
}
.floating-banner .pc {
	width: 120px;
	-webkit-backface-visibility: hidden;
}
.floating-banner .sp {
	display: none;
	-webkit-backface-visibility: hidden;
}
.floating-banner img {
	border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 15px 35px;
}

.banner-close {
	font-weight: bold;
	position: absolute;
	top: -14px;
	right: -4px;
	z-index: 99999;
	padding: 4px 8px;
	border: none;
	background-color: #f8f8f8;
	border-radius: 25px;
	cursor: pointer;
	-webkit-box-shadow: 0 0 7px rgb(0 0 0 / 40%);
	box-shadow: 0 0 7px rgb(0 0 0 / 40%);
	line-height: 1;
    background-color: #555;
}


@media screen and (max-width: 568px) {
	.floating-banner {
		top: auto;
        /* left: 0;
        right: 0; */
        bottom: 70px;
        max-width: 164px;
        margin: 0 auto;
		/* display: none; */
	}
	.floating-banner .pc {
		width: 100%;
	}
	/* .floating-banner a {
		display: block;
		width: 100vw;
		text-align: center;
		background: #20aee5;
	}
	.floating-banner .pc {
		display: none;
	}
	.floating-banner .sp {
		display: inline-block;
		width: auto;
		height: 80px;
	} */
}
@media (min-width: 569px){
	.floating-banner{
	  top: auto;
	  bottom: 80px;
	}
	.floating-banner img.pc{
	  width: 240px;
	}
  }