/* recet css */
main {
    display: block;
}

[hidden] {
    display: none !important;
}

.mp {
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

li,
ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: white;
}

*,
*::before,
*::after {
    box-sizing: border-box
}

* {
    margin: 0
}

body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%
}

input,
button,
textarea,
select {
    font: inherit
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word
}

#root,
#__next {
    isolation: isolate
}

button {
    border: none;
    background: none;
}

hr {
    border: none;
}



/* currently css for this project */
html {
	scroll-behavior: smooth;
} 

@font-face {
  font-family: 'Sawarabi Mincho';
  src: url('../fonts/SawarabiMincho-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Sedan SC';
  src: url('../fonts/SedanSC-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
body {
    margin: auto;
    background: white;

}

h1 {
    color: #444442;
    font-size: 40px;
    text-transform: uppercase;
    font-weight: 700;
    line-height: 100%;
    font-style: normal;
}

h2 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

@media (max-width: 48em) {}

h3 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

@media (max-width: 48em) {}

h4 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

h5 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.15rem;
}

p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.05rem;
}

@media (max-width: 48em) {}

.pCenter {
    text-align: center;
}

.pc {
    display: block;
}

@media (max-width: 48em) {
    .pc {
        display: none;
    }
}

.mob {
    display: none;
}

@media (max-width: 48em) {
    .mob {
        display: block;
    }
}

/* tablet */
.tablet {
    display: none;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .tablet {
        display: block;
    }
}

@media (max-width: 48em) {
    .tablet {
        display: none;
    }
}

/* header resizeble menu */

.pcMenu {
    display: block;
}

@media (max-width: 990px) {
    .pcMenu {
        display: none;
    }
}

.mobMenu {
    display: none;
}

@media (max-width: 990px) {
    .mobMenu {
        display: block;
    }
}

/* bg */
.bgColor {}

.bgColor--blue {
    background: #F4F7F9;
}

.bgColor--green {
    background: #F8FBF8;
}

.bgColor--gradient {
    background: radial-gradient(142.35% 94.73% at 25.1% 41.99%, #F9EFF0 17.31%, #FFFDF2 60.1%, #DEF5DE 100%), #FFF;
}

.imgShadow {
    border-radius: 0.5rem;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
}

.generalWrap {
    width: 100%;
    margin: 0 auto;
    padding: 1rem 20px;
}


.blockWrap {
    max-width: 1320px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

.blockWrap--padding {
    /* padding-top: 3rem;
padding-bottom: 3rem; */
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.blockWrap--footer {
    padding-top: 5rem;
    padding-bottom: 1.5rem;
}

@media (max-width: 48em) {
    .blockWrap--padding {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }
}

.poliBlockWrap {
    max-width: 1320px;
    margin: 0 auto;
    padding: 5rem 20px;

    display: flex;
    flex-direction: column;
    gap: 5rem;
}

@media (max-width: 48em) {
    .poliBlockWrap {
        padding: 3.5rem 20px;
        gap: 4rem;
    }
}

.widhtAll {
    width: 100%;
}

.textImg4px {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
}

/* header */
.menu {
    display: flex;
    align-items: center;
    gap: 24px;
}

.menu-item {
    position: relative;
}

.menu-item button {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.2vw;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.1rem;
}

.menu button:hover {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1.2vw;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.1rem;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.menu a:hover {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1.2vw;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.1rem;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

@media (min-width: 1441px) {
    .menu-item button {
        font-size: 1rem;
    }

    .menu button:hover {
        font-size: 1rem;
    }

    .menu a:hover {
        font-size: 1rem;
    }

}

.header {
    width: 100%;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}

.header-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}


.logo img {
    height: 48px;
}

.logo h1, .logo p {
    font-size: 0.8vw;
    line-height: 130%;
    font-weight: 400;
    text-transform: none;
}
@media (min-width: 1441px) {
.logo h1, .logo p {
        font-size: 10px;
    }
}
@media screen and (min-width:48rem) and (max-width:990px) {
    .logo h1, .logo p {
        font-size: 10px;
    }
}

@media (max-width: 48em) {
    .logo h1, .logo p {
        font-size: 10px;
    }
}

.menu-align {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.pc-nav ul {
    /* display: flex; */
    gap: 1rem;
    align-items: center;
}

.pc-nav a {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.2vw;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.1rem;
}

@media (min-width: 1441px) {
    .pc-nav a {
        font-size: 1rem;
    }
}

.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    padding: 20px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    z-index: 1000;
}

.dropdown-des {
    border-left: 1px solid #6FA86F;
    padding-left: 0.69rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}


.dropdown-menu.is-open {
    display: grid;
    gap: 24px;
}

.contact-btn {
    background: linear-gradient(90deg, #ea9f9c, #f3c3be);
    padding: 10px 24px;
    border-radius: 40px;
    font-weight: bold;
    color: #333;
    text-decoration: none;
}


.hamburger {
    width: 32px;
    height: 24px;
    display: none;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
}

.hamburger span {
    height: 3px;
    background: #333;
    border-radius: 3px;
}


.mobile-nav {
    display: none;
    background: #fff;
    padding: 20px;
    border-top: 1px solid #eee;
}

.mobile-nav hr {
    margin-top: 2rem;
    margin-bottom: 1rem;
    width: 100%;
    height: 1px;
    background: #7fb87f;
    opacity: 0.3;
}

.mobile-nav a {
    font-family: "Sawarabi Mincho";
    color: #000;

}

.mobile-nav a:hover {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.1rem;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.mobile-nav ul {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.mobile-flex {
    margin: auto;
    max-width: 500px;
    height: 200vw;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.mobile-dropdown {}

.mobile-submenu {
    border-left: 1px solid #6FA86F;
    display: none;
    padding-left: 10px;
    margin-left: 10px;
    margin-top: 16px;
}



@media (max-width: 990px) {

    .pc-nav,
    .pc-contact {
        display: none;
    }

    .mobile-nav {
        display: none;
    }

    .mobile-nav.is-open {
        display: block;
    }

    .mobile-submenu {
        display: block;
        padding-left: 16px;
    }

}

@media (max-width: 990px) {

    .pc-nav,
    .pc-contact {
        display: none;
    }

    .hamburger {
        display: flex;
    }
}



/* button */
.btnHeaderPC {
    width: max-content;
    cursor: pointer;
    display: flex;
    padding: 1rem 3.5rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    border-radius: 4rem;
    background: var(--gradation_pink, linear-gradient(90deg, var(--coral-pink, #F4A09C) 0%, #FFE9E8 100%));
}

.btnHeaderPC:hover {

    background: linear-gradient(270deg, var(--coral-pink, #F4A09C) 0%, #FFE9E8 100%);
}

.btnHeaderPC p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.1875rem;
}

.btnHeaderPC img {
    width: 0.9375rem;
    height: 0.9375rem;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .btnHeaderPC {
        cursor: pointer;
        display: flex;
        padding: 0.8rem 2rem;
        justify-content: center;
        align-items: center;
        gap: 0.5rem;
        border-radius: 4rem;
        background: var(--gradation_pink, linear-gradient(90deg, var(--coral-pink, #F4A09C) 0%, #FFE9E8 100%));
    }

    .btnHeaderPC p {
        font-size: 1rem;
    }
}

@media (max-width: 48em) {
    .btnHeaderPC {
        cursor: pointer;
        display: flex;
        padding: 0.8rem 2rem;
        justify-content: center;
        align-items: center;
        gap: 0.5rem;
        border-radius: 4rem;
        background: var(--gradation_pink, linear-gradient(90deg, var(--coral-pink, #F4A09C) 0%, #FFE9E8 100%));
    }

    .btnHeaderPC p {
        font-size: 1rem;
    }
}

.btnPink {
    width: max-content;
    min-width: 10rem;
    display: inline-flex;
    padding: 1rem 2rem;
    justify-content: center;
    align-items: center;
    gap: 0.25rem;
    cursor: pointer;
    border-radius: 3.5rem;
    border: 1px solid var(--pink, #F4A09C);
    background: rgba(255, 255, 255, 0.50);
}

.btnPink:hover {
    border: none;
    background: var(--gradation_pink, linear-gradient(90deg, var(--coral-pink, #F4A09C) 0%, #FFE9E8 100%));
}

.btnPink p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.175rem;
}

.btnPink img {
    width: 0.9375rem;
    height: 0.9375rem;
}

@media (max-width: 48em) {
    .btnPink {
        width: fit-content;
        padding: 0.75rem 1.5625rem;
        gap: 0.5rem;
    }
}

.btnBig {
    height: 56px;
    display: inline-flex;
    padding: 1rem 4rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    border-radius: 3.5rem;
    background: #FFF;
    font-family: "Sawarabi Mincho";
}

.btnBig--black {
    border: 1px solid #000;
}

.btnBig--blue {
    border: 1px solid var(--Blue, #2B5F8A);
}

.btnBig--green {
    border: 1px solid var(--Green, #6FA86F);
}

.btnBig p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.2rem;
}

/* pun block */
.punWrap {}

.punBlock {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}
.punBlock--pad{
    padding-top: 5rem;
}

.punBlock a {
    color: #000;
    font-family: "Noto Sans JP";
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
}

.punBlock p {
    color: #000;
    font-family: "Noto Sans JP";
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
}

/* footer */
.footerBorderTop {
    border-top: 1px solid var(--Blue, #2B5F8A);
}

.footerMenuAlign {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .footerMenuAlign {
        flex-direction: column;
        gap: 3rem;
    }
}

@media (max-width: 48em) {
    .footerMenuAlign {
        flex-direction: column;
        gap: 3rem;
    }
}

.footerLogoBlock {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footerLogoBlock img {
    height: 4.25rem;
    align-self: stretch;
}

.footerLogoBlock p, .footerLogoBlock h6 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.075rem;
}

.footerMenuBlock {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
}

.footerMenu {}

.footerMenu ul {
    display: flex;
    gap: 2.5rem;
    align-items: center;
}

.footerMenu ul li {
    float: left;
}

.footerMenu ul li a {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.2rem;
}

.footerMenuBlockMob {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    align-self: stretch;
}

.footerMenuBlockMob a {
    color: #000;
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.2rem;
}

.footerMenuLeftMob {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.footerMenuLeftMob a {
    color: #000;
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.2rem;
}

.footerMenuDropdown {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
    border-left: 1px solid #6FA86F;
    padding-left: 0.69rem;
}

@media (max-width: 48em) {
    .footerMenuDropdown {
        gap: 0.5rem;
        padding-left: 0.5rem;
    }
}

.footerMenuDropdown h4 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.2rem;
}

.footerMenuDropdown ul {
    display: flex;
    gap: 2.5rem;
    align-items: center;
}

@media (max-width: 48em) {
    .footerMenuDropdown ul {
        display: flex;
        gap: 0.5rem;
        align-items: center;
    }
}

.footerMenuDropdown ul li {
    float: left;
}

.footerMenuDropdown ul li a {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.2rem;
}

.footerBlueWrap {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}



@media (max-width: 48em) {
    .footerBlueWrap {
        display: flex;
        flex-direction: column;
        gap: 3.5rem;
    }
}

.footerBlueBlock {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 2.5rem;
}

@media (max-width: 48em) {
    .footerBlueBlock {
        width: 100%;
        max-width: 30rem;
		flex-direction: column;
        margin: auto;
    }
}

.footerBlueMapBlock {
	width: 50%;
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .footerBlueMapBlock {
        display: flex;
        gap: 1.5rem;
    }
}

@media (max-width: 48em) {
    .footerBlueMapBlock {
		width: 100%;
        display: flex;
        flex-direction: column-reverse;
        gap: 1.5rem;
    }
}

.mapWidht {
    width: 60%;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .mapWidht {
        width: 100%;
    }
}

@media (max-width: 48em) {
    .mapWidht {
        width: 100%;
    }
}

.mapLinkFrame {
    width: 100%;
    height: 100%;
    max-height: 290px;
    min-height: 260px;
}

.mapSize {
    width: 100%;
    height: 100%;
    max-height: 290px;
    min-height: 260px;
}

.footerBlueTextBlock {
    width: 45%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .footerBlueTextBlock {
        width: 100%;
    }
}

@media (max-width: 48em) {
    .footerBlueTextBlock {
        width: 100%;
    }
}

.footerAdresBlock {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.footerAdresBlock h2, .footerAdresBlock h3 {
    color: #000;
    font-family: "Sawarabi Mincho";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 110%;
    letter-spacing: 0.405rem;
}

.footerAdresBlock h2 span, .footerAdresBlock h2, .footerAdresBlock h3 span {
    letter-spacing: 0.205rem;
    color: #000;
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.footerAdresBlock p, .footerAdresBlock h4 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .footerAdresBlock p, .footerAdresBlock h4 {
        height: 4rem;
        color: var(--text_black, var(--text_black, #3C3C3C));
        font-family: "Noto Sans JP";
        font-size: 0.875rem;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
    }
}

.footerTelBtn {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

@media (max-width: 48em) {
    .footerTelBtn {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 0.5rem;
    }
}

.footerTelBlock {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
}

.footerTelBlock p, .footerTelBlock h2 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .footerTelBlock p, .footerTelBlock h2 {
        font-size: 1.25rem;
    }
}

@media (max-width: 48em) {
    .footerTelBlock p, .footerTelBlock h2 {
        font-size: 1.15rem;
    }
}
.footerWorkHours{
	width: 50%;
	display: flex;
	flex-direction: column;
gap: 1.5rem;
}
@media (max-width: 48em) {
.footerWorkHours{
	width: 100%;
}
}
.copyright {
    margin-top: 1.5rem;
    width: 100%;
    color: #000;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

/* title */
.titleBlock-black {
    display: flex;
    flex-direction: column;
}

.titleBlock-black h2, .titleBlock-black h3, .titleBlock-black > div:first-child {
    color: rgba(60, 60, 60, 0.05);
    leading-trim: both;
    text-edge: cap;
    font-family: "Sedan SC";
    font-size: 5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
}

.titleBlock-black h3, .titleBlock-black h4 {
    margin-top: -32px;
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 125%;
    letter-spacing: 0.2rem;
}

@media (max-width: 48em) {
    .titleBlock-black h2, .titleBlock-black h3, .titleBlock-black > div:first-child {
        font-size: 3rem;
    }

    .titleBlock-black h3, .titleBlock-black h4 {
        font-size: 1.25rem;
        margin-top: -20px;
    }
}

.titleBlock-blue {
    display: flex;
    flex-direction: column;
}

.titleBlock-blue h2, .titleBlock-blue h3, .titleBlock-blue > div:first-child {
    color: rgba(60, 60, 60, 0.05);
    leading-trim: both;
    text-edge: cap;
    font-family: "Sedan SC";
    font-size: 5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
}

.titleBlock-blue h3, .titleBlock-blue h4 {
    margin-top: -32px;
    color: var(--Blue, var(--Blue, #2B5F8A));
    font-family: "Sawarabi Mincho";
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 125%;
    letter-spacing: 0.2rem;
}

@media (max-width: 48em) {
    .titleBlock-blue h2, .titleBlock-blue h3, .titleBlock-blue > div:first-child {
        font-size: 2.5rem;
    }

    .titleBlock-blue h3, .titleBlock-blue h4 {
        font-size: 1.25rem;
        margin-top: -20px;
    }
}

.titleBlock-green {
    display: flex;
    flex-direction: column;
}

.titleBlock-green h2, .titleBlock-green h3, .titleBlock-green > div:first-child {
    color: rgba(60, 60, 60, 0.05);
    leading-trim: both;
    text-edge: cap;
    font-family: "Sedan SC";
    font-size: 5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
}

.titleBlock-green h3, .titleBlock-green h4 {
    margin-top: -32px;
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 125%;
    letter-spacing: 0.2rem;
}

@media (max-width: 48em) {
    .titleBlock-green h2, .titleBlock-green h3, .titleBlock-green > div:first-child {
        font-size: 2.5rem;
    }

    .titleBlock-green h3, .titleBlock-green h4 {
        font-size: 1.25rem;
        margin-top: -20px;
    }
}

.titleBlock-blue2 {
    width: 100%;
    border-bottom: 1px solid #2B5F8A;
    padding-bottom: 0.5rem;
}

.titleBlock-blue2 h2, .titleBlock-blue2 h3, .titleBlock-blue2 h4 {
    color: var(--Blue, var(--Blue, #2B5F8A));
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.25rem;
}


.titleBlock-green2 {
    width: 100%;
    border-bottom: 1px solid #6FA86F;
    padding-bottom: 0.5rem;
}

.titleBlock-green2 h2, .titleBlock-green2 h3, .titleBlock-green2 h4, .titleBlock-green2 h5 {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.25rem;
}


/* main page first view */
.mpBg {
    margin: 6rem auto 0 auto;
    max-width: 1440px;
    position: relative;
    background-image: url(../images/mainPage-bg.png);
    background-position: top center;
    height: 51vw;
    background-repeat: no-repeat;
    background-size: 100%;
    max-height: 738px;
}

/* main page first view tablet*/

.mpBgTablet {
    margin: 6rem auto 0 auto;
}


/* main page first view mob*/
.mpBgMob {
    margin-top: 6rem;
    position: relative;
    background-image: url(../images/mainPage-bg-mob.png);
    background-position: right top;
    height: 200vw;
    background-repeat: no-repeat;
    background-size: 400px;
}

.mpMobRelatAlign {
    margin-top: 6rem;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}

.relativeMob {
    position: relative;
    max-width: 700px;
    width: 100%;
    max-height: 600px;
    height: fit-content;
}

.mpMobBgImg {
    object-position: 0 -2%;
    object-fit: cover;
    max-width: 600px;
    max-height: 600px;
    width: 100%;
    margin: auto 0 0 auto;
}

.mpMobBgTitle {
    position: absolute;
    top: 40px;
    left: 29px;
    pointer-events: none;
    width: auto;
    height: 83%;
}

.mpMobWrap {}

/* main page first view contact info */
.mpContactBg {
    background: linear-gradient(90deg, rgba(244, 160, 156, 0.50) 0%, #FFE9E8 81.85%);
}

.mpContactWrap {
    display: flex;
    flex-direction: row;
    gap: 1.3rem;
    padding: 1rem 0;
}

.mpContactWrap hr {
    width: 100%;
    height: 1px;
    background: #FFF;

}

@media screen and (min-width:48rem) and (max-width:990px) {
    .mpContactWrap {
        flex-direction: column;
        gap: 1rem;
    }
}

@media (max-width: 48em) {
    .mpContactWrap {
        flex-direction: column;
        gap: 1rem;
    }
}

.mpContactWrap p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.1vw;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.1rem;
}
@media (min-width: 1441px) {
.mpContactWrap p {
    font-size: 1.5rem;
}
}

.mpContAlign {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .mpContAlign {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 1.5rem;
    }
}

.numbtImg4px {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
}

.numbtImg4px h3 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.5vw;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

@media (min-width: 1441px) {
    .mpContactWrap p {
        font-size: 1rem;
    }

    .numbtImg4px h3 {
        font-size: 1.3rem;
    }
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .mpContactWrap p {
        font-size: 1rem;
    }

    .numbtImg4px h3 {
        font-size: 1.5rem;
    }
}

@media (max-width: 48em) {
    .mpContactWrap p {
        font-size: 1rem;
    }

    .numbtImg4px h3 {
        font-size: 1.5rem;
    }
}

.mpContMobAlign {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}

.mpBtnMobAlign {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
}

/* first view */
.fvWrap {
    margin: 6rem auto 0;
    max-width: 1440px;
    padding-left: 20px;
    padding-right: 0px;
}

.fvRelative {
    position: relative;
}

.fvTitleWhite {
    position: absolute;
    top: 200px;
    left: 6px;
    pointer-events: none;
    width: auto;
    height: fit-content;

    padding: 0.5rem 3rem;
    background: #FFF;
}

.fvTitleWhite h2, .fvTitleWhite h3 {
    color: var(--Blue, var(--Blue, #2B5F8A));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 2.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 125%;
    letter-spacing: 0.25rem;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .fvTitleWhite {
        position: absolute;
        top: 110px;
        left: 6px;
        pointer-events: none;
        width: auto;


        padding: 0.5rem 3rem;
    }

    .fvTitleWhite h2, .fvTitleWhite h3 {
        font-size: 2rem;
    }
}

@media (max-width: 48em) {
    .fvTitleWhite {
        position: absolute;
        top: 200px;
        left: 6px;
        pointer-events: none;
        width: auto;
        height: fit-content;

        padding: 0.5rem 3rem;
    }

    .fvTitleWhite h2, .fvTitleWhite h3 {
        font-size: 1.5rem;
    }
}

.fvImageBlock {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-left: 7rem;
    padding-bottom: 48px;
}

.fvImageBlock img {}

.fvImageBlock p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 250%;
    letter-spacing: 0.05rem;
    padding-right: 20px;
}



@media (max-width: 48em) {
    .fvImageBlock {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        margin-left: 16px;
        padding-bottom: 32px;
    }

    .fvImageBlock p {
        max-width: 25.6875rem;
        line-height: 170%;
        margin: auto;

    }
}

/* cta */
.ctaWrap {
    background: url(../images/cta-bg-pc.png) center bottom no-repeat;
    background-size: cover;
    border-radius: 1rem;
    /* height: 281px; */
    padding: 2rem 2rem 2rem 7.5rem;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .ctaWrap {
        background: url(../images/cta-bg-pc.png) center bottom no-repeat;
        background-size: cover;
        border-radius: 1rem;
        /* height: 281px; */
        padding: 2rem;
        margin: auto;
    }
}

@media (max-width: 48em) {
    .ctaWrap {
        background: url(../images/cta-bg-mob.png) center bottom no-repeat;
        background-size: cover;
        border-radius: 1rem;
        margin: auto;
        max-width: 25.6875rem;
        padding: 3rem 0.88rem;
    }
}

.ctaContAlign {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .ctaContAlign {
        max-width: 47rem;
        flex-direction: column;
        align-items: center;
        gap: 2rem;
    }
}

@media (max-width: 48em) {
    .ctaContAlign {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: space-between;
        gap: 1.5rem;
    }
}

.ctaText {
    max-width: 19.9rem;
    min-width: 19rem;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .ctaText {
        min-width: 17rem;
    }

    .ctaText h3 {
        text-align: center;
    }

    .ctaText p, .ctaText h5 {
        text-align: center;
    }
}

.ctaText h3 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.4rem;
}

.ctaText p, .ctaText h5 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

@media (max-width: 48em) {
    .ctaText h3 {
        font-size: 1.5rem;
        text-align: center;
    }

    .ctaText p, .ctaText h5 {
        font-size: 0.875rem;
        text-align: center;
    }
}

.ctaNumbers {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;

    flex-wrap: wrap;
    justify-content: flex-end;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .ctaNumbers {
        display: flex;
        flex-direction: row;
        gap: 1.5rem;
        justify-content: center;
    }
}

@media (max-width: 48em) {
    .ctaNumbers {
        flex-direction: column;
    }
}

.ctaNumbCard {
    position: relative;
    display: flex;
    width: 20.625rem;
    height: 13.5625rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.125rem;

    border-radius: 12.75rem;
    background: rgba(255, 255, 255, 0.70);
}

.ctaNumbCard h3 {
    text-align: center;
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.125rem;
}

.ctaNumbCard h3 span {
    color: var(--text_black, var(--text_black, #3C3C3C));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.ctaCardImg {
    position: absolute;
    bottom: 0px;
    left: -16px;
    pointer-events: none;
    width: 65px;
    height: 90px;
}

@media (max-width: 48em) {
    .ctaCardImg {
        left: 5px;
    }
}

.ctaButtonBlock {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}

/* merit block */
.meritWrap {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.meritCartBlock {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
}

@media (max-width: 48em) {
    .meritCartBlock {
        flex-direction: column;
        align-items: center;
    }
}

.meritCard {
    display: flex;
    width: 25.6875rem;
    padding: 2rem 1.5rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    background: #F4F7F9;
}

@media (max-width: 48em) {
    .meritCard {
        max-width: 25.6875rem;
        width: auto;
    }
}

.meritCard img {
    object-fit: cover;
    /* height: 17rem; */
    align-self: stretch;
    aspect-ratio: 363/272;
    border-radius: 0.5rem;
}

@media (max-width: 48em) {
    .meritCard img {
        width: auto;
    }
}

.meritTitle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    align-self: stretch;
}

.meritTitle h4 {
    color: var(--Blue, var(--Blue, #2B5F8A));
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.125rem;
}

.meritTitle img {
    width: 1.25rem;
    height: 1.1875rem;
    align-self: center;
}

.meritCardText {
    display: flex;
    flex-direction: column;
}

.meritText ::before {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 0.5rem;
    border: 1px solid var(--pink, #F4A09C);
}

.meritText p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 190%;
}



/* Treatment flow block */
.treatFlowBlock {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
}

.treatCont {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
}

.treatCont hr {
    margin-left: 4.7rem;
    height: 1.5rem;
    width: 1px;
    stroke-width: 1px;
    background: var(--Blue, #2B5F8A);
}

@media (max-width: 48em) {
    .treatCont {
        gap: 1.5rem;
    }
}

.treatCard {
    width: 100%;
    display: flex;
    padding: 0.9rem 2rem;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    align-self: stretch;

    border-radius: 0.5rem;
    background: #FFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
}

.treatCard p {
    width: 50%;
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

@media (max-width: 48em) {
    .treatCard {
        flex-direction: column;
        align-items: flex-start;
    }

    .treatCard p {
        width: auto;
    }
}

.treatCircleBlock {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

.treatCircleBlock h3, .treatCircleBlock h4 {
    color: var(--Blue, var(--Blue, #2B5F8A));
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.125rem;
}

.phaseCircle {
    width: 5.375rem;
    height: 5.375rem;
    flex-shrink: 0;
    background: var(--Blue, #2B5F8A);
    border-radius: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.phaseCircle p {
    width: auto;
    color: var(--white, #FFF);
    text-align: center;
    font-family: "Sedan SC";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 70%;
}

.phaseCircle p span {
    color: var(--white, #FFF);
    font-family: "Sedan SC";
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 70%;
}

@media (max-width: 48em) {
    .phaseCircle {
        width: 3.375rem;
        height: 3.375rem;
    }

    .phaseCircle p {
        font-size: 1rem;
    }

    .phaseCircle p span {
        font-size: 1.5rem;
    }
}




/* about gradient block */
.aboutGradWrap {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    justify-content: center;
    align-items: center;
}

.aboutTitleBlock {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 0 2.5rem;
}

@media (max-width: 48em) {
    .aboutTitleBlock {
        flex-direction: column;
    }
}

.aboutTitleBlock p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 250%;
    letter-spacing: 0.05rem;
}

.aboutTitleBlockText {
    width: 55%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 0 0 0 0.5rem;
}

@media (max-width: 48em) {

    .aboutTitleBlockText {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 2rem;
        align-items: flex-end;
        padding: 0 0.5rem;
    }
}

.aboutTitleBlockText .noteText, .aboutTitleBlockText h5 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    text-align: right;
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.aboutWhiteBlock {
    border-radius: 0.5rem;
    background: #FFF;

    width: 100%;
    display: flex;
    flex-direction: row;
    /* width: 80rem; */
    padding: 3rem 2rem;
    justify-content: center;
    align-items: center;
    gap: 2.5rem;
}

@media (max-width: 48em) {
    .aboutWhiteBlock {
        flex-direction: column;
        max-width: 25.6875rem;
        width: auto;
        padding: 1.5rem;
    }
}

.aboutWhiteBlockI1 {
    width: 50%;
    /* height: 17.4375rem; */
    flex-shrink: 0;
    border-radius: 0.5rem;
}

.aboutWhiteBlockI2 {
    width: 23.25rem;
    height: 17.4375rem;
    flex-shrink: 0;
    aspect-ratio: 4/3;
    border-radius: 0.5rem;
}

@media (max-width: 48em) {
    .aboutWhiteBlockI1 {
        width: auto;
        max-height: fit-content;
        border-radius: 0.5rem;
    }

    .aboutWhiteBlockI2 {
        /* width: auto; */
        max-height: fit-content;
        border-radius: 0.5rem;
    }
}

.aboutWTitle {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;

}


.aboutWTitle h3, .aboutWTitle h4 {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.15rem;
}

.aboutWTitleAlign {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    align-self: stretch;
    gap: 2.5rem;
}

.aboutWTitleAlign p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.aboutWTitleAlign p span {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .aboutWTitleAlign {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        align-self: stretch;
        gap: 0;
    }
}

@media (max-width: 48em) {

    .aboutWTitleAlign {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        align-self: stretch;
        gap: 0.5rem;
    }
}


/* about card block */

.aboutCardContAlign {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.5rem;
    align-self: stretch;
}

.aboutCardCont {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 1.5rem;
    align-self: stretch;
}

@media (max-width: 48em) {
    .aboutCardCont {
        flex-direction: column;
        align-items: center;
    }
}

.aboutCard {
    display: flex;
    width: 39.25rem;
    min-width: 20rem;
    padding: 0 2% 1.5rem 2%;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    border-radius: 0.5rem;
    background: #FFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
}

@media (max-width: 48em) {
    .aboutCard {
        max-width: 25.6875rem;
        width: auto;
        padding: 0.5rem 1.5rem 1.5rem 1.5rem;
    }
}

.aboutCard h3, .aboutCard h4 {
    color: var(--Blue, var(--Blue, #6FA86F));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.125rem;
}

.aboutCard img {
    object-fit: cover;
    width: 22.6875rem;
    /* height: 17rem; */
    flex-shrink: 0;
    border-radius: 0.5rem;
}

@media (max-width: 48em) {
    .aboutCard img {
        width: auto;
    }
}

.aboutCard p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.aboutCard .noteText, .aboutCard h5 {
    width: 100%;

    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.aboutCardTitle {
    display: flex;
    padding: 0 2.5rem 0.5rem 2.5rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;

    background: var(--Blue, #6FA86F);
}

.aboutCardTitle p.featureLabel, .aboutCardTitle h4, .aboutCardTitle h4 {
    color: var(--white, #FFF);
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 80%;
    letter-spacing: 0.2rem;
}

.aboutCardTitle p.featureLabel, .aboutCardTitle h4, .aboutCardTitle h4 span {
    color: var(--white, #FFF);
    font-family: "Sedan SC";
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 80%;
    letter-spacing: 0.4rem;
}

/* advertising block top page */
.adWrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
}

.adWrap img {
    width: 49.3%;
}

@media (max-width: 48em) {
    .adWrap {
        flex-direction: column;
        gap: 2.5rem;
    }

    .adWrap img {
        /* width: 100%; */
        width: 350px;
    }
}

/* Features blok blue main page + about page*/

.featuresWrapMP {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

@media (max-width: 48em) {
    .featuresWrapMP {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }
}

.featuresCardBig {
    display: flex;
    width: 100%;
    padding: 3rem 3.5rem;
    /* padding: 0 2% 1.5rem 2%; */
    flex-direction: row;
    align-items: center;
    gap: 2.5rem;
    border-radius: 0.5rem;
    background: #FFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .featuresCardBig {
        display: flex;
        width: 100%;
        padding: 2rem 1.5rem;
        flex-direction: row;
        align-items: center;
        gap: 2.5rem;
        border-radius: 0.5rem;
        background: #FFF;
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
    }
}

.featuresCardMP {
    display: flex;
    width: 39.25rem;
    min-width: 20rem;
    padding: 3.5rem 2.5%;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    border-radius: 0.5rem;
    background: #FFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
}


@media (max-width: 48em) {
    .featuresCardMP {
        max-width: 25.6875rem;
        width: auto;
        padding: 1.5rem;
    }
}

.featuresCardMP img {
    object-fit: cover;
    width: 22.6875rem;
    /* height: 17rem; */
    flex-shrink: 0;
    border-radius: 0.5rem;
}

@media (max-width: 48em) {
    .featuresCardMP img {
        width: auto;
    }
}

.featuresCardMP p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.featCardTitleAlign {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.featCardTitleAlign h3, .featCardTitleAlign h4 {
    color: var(--Blue, var(--Blue, #2B5F8A));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.125rem;
}

.featCardTitle {
    display: flex;
    padding: 0 2.5rem 0.5rem 2.5rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;

    background: var(--Blue, #2B5F8A);
}

.featCardTitle p.featureLabel, .featCardTitle h4, .featCardTitle h4 {
    color: var(--white, #FFF);
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 60%;
    letter-spacing: 0.2rem;
}

.featCardTitle p.featureLabel, .featCardTitle h4, .featCardTitle h4 span {
    color: var(--white, #FFF);
    font-family: "Sedan SC";
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 60%;
    letter-spacing: 0.4rem;
}

/* Features blok blue*/
.featuresWrap {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
}

@media (max-width: 48em) {
    .featuresWrap {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }
}

.featuresContAlign {
    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 1.5rem;
    align-self: stretch;
}

.featuresCont {
    display: flex;
    flex-direction: row;
    justify-content: center;

    gap: 1.5rem;
    align-self: stretch;
}

@media (max-width: 48em) {
    .featuresCont {
        flex-direction: column;
        align-items: center;
    }
}

.featuresCardBig {
    display: flex;
    width: 100%;
    padding: 3rem 3.5rem;
    /* padding: 0 2% 1.5rem 2%; */
    flex-direction: row;
    align-items: center;
    gap: 2.5rem;
    border-radius: 0.5rem;
    background: #FFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .featuresCardBig {
        display: flex;
        width: 100%;
        padding: 2rem 1.5rem;
        flex-direction: row;
        align-items: center;
        gap: 2.5rem;
        border-radius: 0.5rem;
        background: #FFF;
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
    }
}


.featCardBigText {
    max-width: 37rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.featCardBigText h3 {
    margin-top: -1rem;
    color: var(--Blue, var(--Blue, #2B5F8A));
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.125rem;
}

.featCardBigText h4 {
    color: var(--Blue, var(--Blue, #2B5F8A));
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.125rem;
}

.featCardBigText p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.featCardBigText .noteText, .featCardBigText h5 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.featCardBigImg {
    position: relative;
}

.featBigImgBg {
    border-radius: 0.5rem;
    width: 33rem;
    min-width: 22rem;
}

.featBigImgAbsolute {
    top: -104px;
    right: -17px;
    position: absolute;
    pointer-events: none;
    width: 7.75rem;
    height: 9.125rem;
}

.featuresCard {
    display: flex;
    width: 25.6875rem;
    padding: 0 2% 1.5rem 2%;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    border-radius: 0.5rem;
    background: #FFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
}

.featuresCard--big {
    width: 39.25rem;
    min-width: 20rem;
}

@media (max-width: 48em) {
    .featuresCard {
        max-width: 25.6875rem;
        width: auto;
        padding: 0 1.5rem 1.5rem 1.5rem;
    }
}

.featuresCard h3, .featuresCard h4 {
    color: var(--Blue, var(--Blue, #2B5F8A));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.125rem;
}

.featuresCard img {
    object-fit: cover;
    width: 22.6875rem;
    /* height: 17rem; */
    flex-shrink: 0;
    border-radius: 0.5rem;
}

@media (max-width: 48em) {
    .featuresCard img {
        width: auto;
    }
}

.featuresCard p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.featCardTitle {
    display: flex;
    padding: 0 2.5rem 0.5rem 2.5rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;

    background: var(--Blue, #2B5F8A);
}

.featCardTitle p.featureLabel, .featCardTitle h4, .featCardTitle h4 {
    color: var(--white, #FFF);
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 60%;
    letter-spacing: 0.2rem;
}

.featCardTitle p.featureLabel, .featCardTitle h4, .featCardTitle h4 span {
    color: var(--white, #FFF);
    font-family: "Sedan SC";
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 60%;
    letter-spacing: 0.4rem;
}

/* Features blok green */
.featuresGWrap {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
}

@media (max-width: 48em) {
    .featuresGWrap {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }
}

.featuresGContAlign {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.5rem;
    align-self: stretch;
}

.featuresGCont {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 1.5rem;
    align-self: stretch;
}

@media (max-width: 48em) {
    .featuresGCont {
        flex-direction: column;
        align-items: center;
    }
}

.featuresGCard {
    display: flex;
    width: 39.25rem;
    min-width: 20rem;
    padding: 0 2% 1.5rem 2%;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    border-radius: 0.5rem;
    background: #FFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
}

@media (max-width: 48em) {
    .featuresGCard {
        max-width: 25.6875rem;
        width: auto;
        padding: 0 1.5rem 1.5rem 1.5rem;
    }
}

.featuresGCard h3, .featuresGCard h4 {
    color: var(--Blue, var(--Blue, #6FA86F));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.125rem;
}

.featuresGCard img {
    object-fit: cover;
    width: 22.6875rem;
    /* height: 17rem; */
    flex-shrink: 0;
    border-radius: 0.5rem;
}

@media (max-width: 48em) {
    .featuresGCard img {
        width: auto;
    }
}

.featuresGCard p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.featuresGCard .noteText, .featuresGCard h5 {
    width: 100%;

    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.featGCardTitle {
    display: flex;
    padding: 0 2.5rem 0.5rem 2.5rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;

    background: var(--Blue, #6FA86F);
}

.featGCardTitle p.featureLabel, .featGCardTitle h4, .featGCardTitle h4 {
    color: var(--white, #FFF);
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 60%;
    letter-spacing: 0.2rem;
}

.featGCardTitle p.featureLabel, .featGCardTitle h4, .featGCardTitle h4 span {
    color: var(--white, #FFF);
    font-family: "Sedan SC";
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 60%;
    letter-spacing: 0.4rem;
}

.featuresGCardImg {
    position: relative;
}

.featuresGCardImgBg {
    border-radius: 0.5rem;
    width: 33rem;
    min-width: 22rem;
}

.featGImgAbsolute {
    width: 50% !important;
    bottom: -46px;
    right: -80px;
    position: absolute;
    pointer-events: none;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .featGImgAbsolute {
        bottom: -55px;
        right: 90px;
    }
}

@media (max-width: 48em) {
    .featGImgAbsolute {
        bottom: -55px;
        right: 90px;
    }
}

/* Eligibility block */
.eligibilityWrap {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
}

@media (max-width: 48em) {
    .eligibilityWrap {
        gap: 2.5rem;
    }
}

.eligibilityCont {
    display: flex;
    align-items: flex-start;
    gap: 2.5rem;
    align-self: stretch;
    justify-content: space-between;
}

.eligibilityCard {
    width: 49%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

@media (max-width: 48em) {
    .eligibilityCard {
        max-width: 25.6875rem;
        width: auto;
    }

    .eligibilityCont {
        flex-direction: column;
        align-items: center;
    }
}

.eligCardTitleBlue {
    border-bottom: 1px solid #2B5F8A;
    padding-bottom: 0.5rem;
}

.eligCardTitleBlue h3, .eligCardTitleBlue h4 {
    color: var(--green, var(--Green, #2B5F8A));
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.25rem;
}

.eligCardTitle {
    border-bottom: 1px solid #6FA86F;
    padding-bottom: 0.5rem;
}

.eligCardTitle h3, .eligCardTitle h4 {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.25rem;
}

.eligCardCont {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.eligCardCont img {
    width: 40%;
    /* width: 16.125rem;
height: 12.125rem; */
    aspect-ratio: 129/97;
    border-radius: 0.5rem;
}

.eligCardCont p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

@media (max-width: 48em) {
    .eligCardCont {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .eligCardCont img {
        width: auto;
    }

    .eligCardCont p {
        color: var(--text_black, var(--text_black, #3C3C3C));
        font-family: "Noto Sans JP";
        font-size: 0.875rem;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
    }
}

/* faq block */
.faqWrap {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
}

.accWrap {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.accWrapLine {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

@media (max-width: 48em) {
    .faqWrap {
        gap: 1.5rem;
    }

    .accWrapLine {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 2rem;
    }
}

.accBlockWidht {
    max-width: 49%;
}

@media (max-width: 48em) {
    .accBlockWidht {
        max-width: 100%;
    }
}

.accordion {
    border-bottom: 1px solid #2B5F8A;
    background-color: white;
    color: #444;
    cursor: pointer;
    padding: 0.5rem 0;
    max-width: 39rem;
    width: 100%;
    text-align: left;
    outline: none;
    font-size: 15px;
    transition: 0.4s;
    font-family: "Sawarabi Mincho";
}

@media (max-width: 48em) {
    .accordion {
        max-width: none;
        padding: 0;
    }
}

.accordion span {
    margin-right: 1rem;
    color: var(--Blue, var(--Blue, #2B5F8A));
    font-family: "Sedan SC";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
}

.accordion.active,
.accordion:hover {}

.accordion:after {
    content: url(../images/icon-acc-down.svg);
    float: right;
}

.accordion.active:after {
    content: url(../images/icon-acc-up.svg);
}

.panel {
    padding: 0 18px;
    background-color: white;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}

.accTextWrap {
    margin-top: 1rem;
    display: flex;
    gap: 1rem;
}

.accTextWrap h3 {
    color: var(--Blue, var(--Blue, #2B5F8A));
    leading-trim: both;
    text-edge: cap;
    font-family: "Sedan SC";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
}

.accTextWrap h4 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 190%;
}

/* Choices that fit your lifestyle block */
.lifestyleWrap {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
}

.lifestyleCardBlock {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    gap: 1rem;
}

@media (max-width: 48em) {
    .lifestyleCardBlock {
        justify-content: center;
    }
}

.lifestyleCard {
    display: flex;
    width: 15rem;
    padding: 2rem 1rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    background: #FFF;
}

@media (max-width: 48em) {
    .lifestyleCard {
        width: 21.375rem;
    }
}

.lifestyleCard h4, .lifestyleCard h3 {
    color: var(--Blue, var(--Blue, #2B5F8A));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.lifestyleCard p {
    min-height: 2.6rem;
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

@media (max-width: 48em) {
    .lifestyleCard p {
        min-height: auto;
    }
}

.lifestyleCardImg {
    border-radius: 11rem;
    width: 11rem;
    height: 11rem;
    display: flex;
    align-items: center;
    justify-content: center;

    background: #F4F7F9;
}

.lifestyleCardImg img {
    width: 4.5rem;
    height: 9.0625rem;
    ;
}

/* img button block */
.imgButtonBlock {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

@media (max-width: 48em) {
    .imgButtonBlock {
        display: flex;
        flex-direction: column;
        max-width: 25.6875rem;
        margin: auto;
    }
}


/* Consultation process */
.consultWrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.5rem;
    align-self: stretch;
}

@media (max-width: 48em) {
    .consultWrap {
        gap: 1.5rem;
    }
}

.consultWrap p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.consultCardBlock {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 3rem;
}

@media (max-width: 48em) {
    .consultCardBlock {
        width: 100%;
        flex-direction: column;
        align-items: center;
    }
}

.consultCard {
    max-width: 17.75rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.consultCard img {
    border-radius: 0.5rem;
    max-width: 17.75rem;
    width: 100%;
    /* height: 17.75rem; */
    aspect-ratio: 1/1;
}

.consultCard h3, .consultCard h4 {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.consultCard p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.consultBlock {
    display: flex;
    padding: 1.5rem 2.5rem;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 3.75rem;
    align-self: stretch;
    border-radius: 0.5rem;
    background: #FFF;
}

@media (max-width: 48em) {
    .consultBlock {
        display: flex;
        padding: 1.5rem 0.5rem;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        border-radius: 0.5rem;
        background: #FFF;
    }
}

.consultBlock h3, .consultBlock h4 {
    color: var(--green, var(--Green, #6FA86F));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.consultTextBlock {
    display: flex;
    flex-direction: row;
    gap: 2rem;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .consultTextBlock {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }
}

@media (max-width: 48em) {
    .consultTextBlock {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }
}

.consultTextAlign {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.consultCheck {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}

.consultCheck p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
}

.consultCheck img {
    width: 1.25rem;
    height: 1.1875rem;
}

/* Treatment duration block */
.treatmentWrap {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
}

@media (max-width: 48em) {
    .treatmentWrap {
        gap: 2.5rem;
    }
}

.treatBlock {
    display: flex;
    padding: 1.5rem 2.5rem;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 3.75rem;
    align-self: stretch;
    border-radius: 0.5rem;
    background: #FFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);

}

@media (max-width: 48em) {
    .treatBlock {
        display: flex;
        padding: 1.5rem 0.5rem;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        border-radius: 0.5rem;
        background: #FFF;
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
    }
}

.treatBlock h3, .treatBlock h4 {
    color: var(--green, var(--Green, #2B5F8A));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.treatTextBlock {
    display: flex;
    flex-direction: row;
    gap: 2rem;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .treatTextBlock {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }
}

@media (max-width: 48em) {
    .treatTextBlock {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }
}

.treatTextAlign {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.treatCheck {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}

.treatCheck p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
}

.treatCheck img {
    width: 1.25rem;
    height: 1.1875rem;
}

/* table */
.tableBlockAlign {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

@media (max-width: 48em) {
    .tableBlockAlign {
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
    }
}

.tableBlock {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.tableBlock hr {
    height: 1px;
    width: 100%;
    stroke-width: 1px;
    background: var(--Blue, #2B5F8A);
}

.tableTitle {
    background: #F4F7F9;
    width: 100%;
    padding: 0 1rem;
}

.tableTitle h3, .tableTitle h4 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.tableText {
    display: flex;
    padding: 0 1rem;
    justify-content: space-between;
    align-items: flex-start;
    align-self: stretch;
    gap: 1rem;
}

.tableText p, .tableText h5 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

@media (max-width: 48em) {
    .tableText p, .tableText h5 {
        font-size: 0.875rem;

    }
}

.tableText p, .tableText h5 span {
    color: var(--text_black, var(--text_black, #3C3C3C));
    text-align: right;
    font-family: "Sawarabi Mincho";
    
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.tableTextFootnote {
    margin-top: 20px;
    color: var(--text_black, var(--text_black, #3C3C3C));
    text-align: right;
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}


/* cost block */
.costWrap {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
}

@media (max-width: 48em) {
    .costWrap {
        gap: 2.5rem;
    }
}

.paymentWrap {
    display: flex;
    padding: 2.5rem 5rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    border-radius: 0.5rem;
    background: #F4F7F9;
}

@media (max-width: 48em) {
    .paymentWrap {
        padding: 3rem 1rem;
        max-width: 25.6875rem;
        width: auto;
        margin: auto;
    }
}

.paymentText {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.paymentText h3, .paymentText h4 {
    color: var(--Blue, var(--Blue, #2B5F8A));
    font-family: "Sawarabi Mincho";
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.4rem;
}

.paymentText p, .paymentText h5 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.paymentCircleBlock {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.paymentCircleAlign {
    width: 6.25rem;
    height: 6.25rem;
    aspect-ratio: 1/1;
    border-radius: 5rem;
    background: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
}

.paymentCircleAlign img {
    width: 55%;
    height: auto;
}

@media (max-width: 48em) {
    .paymentCircleAlign {
        width: 5.5rem;
        height: 5.5rem;
    }
}

/* features page */
.gradBlockRel {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5rem;
    padding: 2.5rem 0;
}

@media (max-width: 48em) {
    .gradBlockRel {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2.5rem;
        padding: 1rem 0;
    }
}

.gradBlockImg {
    top: -30px;
    left: -23px;
    position: absolute;
    pointer-events: none;
    width: 79px;
    height: 980px;
}

.gradBlockRel h4 span {
    color: var(--green, var(--Green, #6FA86F));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 260%;
    letter-spacing: 0.0625rem;
}

.gradBlockRel h4 {
    text-align: center;
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 260%;
    letter-spacing: 0.05rem;
}

.gradBlockAlign {
    display: flex;
    flex-direction: row;
    gap: 3rem;
}

@media (max-width: 48em) {
    .gradBlockRel h4 span {
        font-size: 1rem;
    }

    .gradBlockAlign {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2.5rem;
    }
}

.gradBlockPeople {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
}

.gradBlockPeople h3 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 125%;
    letter-spacing: 0.2rem;
}

.gradBlockPeople img {
    width: 5rem;
    height: 5.0625rem;
}

@media (max-width: 48em) {
    .gradBlockPeople img {
        width: 4.0125rem;
        height: 4.15625rem;
    }
}

.gradBlockPeopleAlign {
    display: flex;
    flex-direction: row;

}

.gradBlockText {
    width: 60%;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

@media (max-width: 48em) {
    .gradBlockText {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
    }

}

.gradBlockText p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 250%;
    letter-spacing: 0.05rem;
}

.gradBlockText p span {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 250%;
    letter-spacing: 0.05rem;
}

.doctorTreeBg {
    background-image: url(../images/doctor-block-bg.svg);
    background-size: 100%;
    background-position: 118% 108%;
    background-repeat: no-repeat;
}

@media (max-width: 48em) {
    .doctorTreeBg {
        background-image: none;
    }
}

.doctorBlock {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.doctorBlockPhoto {
    display: flex;
    flex-direction: row;
    gap: 3.5rem;
}

@media (max-width: 48em) {
    .doctorBlockPhoto {
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
        gap: 2rem;
    }
}

.doctorBlockPhoto img {
    width: 40%;
    height: 40%;
    /* width: 31.5625rem;
height: 31.5625rem; */
    border-radius: 0.5rem;
}

.doctorBlockPhotoText {
    display: flex;
    width: 55%;
    flex-direction: column;
    gap: 2.5rem;
}

.doctorBlockPhotoText--start {
    align-items: flex-start;
}

.doctorBlockPhotoText--centerMob {
    align-items: flex-start;
}

@media (max-width: 48em) {
    .doctorBlockPhotoText--centerMob {
        align-items: center;
    }

    .doctorBlockPhoto img {
        width: auto;
        height: 20.375rem;
    }

    .doctorBlockPhotoText {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: 1.5rem;
    }
}

.doctorBlockPhotoText p span {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.5rem;
}

.doctorBlockPhotoText p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.doctorBlockTitle {
    width: 90% !important;
    height: auto !important;
}

@media (max-width: 48em) {
    .doctorBlockTitle {
        width: 100% !important;
        height: auto !important;
    }

}

.doctorBlockText {
    display: flex;
    flex-direction: row;
    gap: 2.88rem;
}

@media (max-width: 48em) {
    .doctorBlockText {
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
    }
}


.doctorInfoAlign {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

@media (max-width: 48em) {
    .doctorInfoAlign {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
}

.doctorCarierAlign {
    display: flex;
    flex-direction: column;
}

.doctorCarierAlign hr {
    margin-left: 2.4rem;
    height: 2rem;
    width: 1px;
    stroke-width: 1px;
    background: var(--Blue, #2B5F8A);
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .doctorCarierAlign hr {
        height: 3.7rem;
    }
}

@media (max-width: 48em) {
    .doctorCarierAlign hr {
        height: 3.7rem;
    }
}

.doctorCarierCircleBlock {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}

.doctorCarierCircleBlock p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 190%;
}

.doctorCircleBlue {
    width: 4.8125rem;
    height: 4.8125rem;
    padding: 1.625rem 0;
    border-radius: 2.40625rem;
    background: var(--Blue, #2B5F8A);

    color: white;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 0.875rem;

}

.doctorAcademicAlign {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .doctorAcademicAlign {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
}

@media (max-width: 48em) {
    .doctorAcademicAlign {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
}

.doctorAcademicAlign p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 190%;
}


.featCardBigImg {
    position: relative;
}

.featBigImgBg {
    border-radius: 0.5rem;
    width: 33rem;
    min-width: 22rem;
}

.featBigImgAbsolute {
    top: -104px;
    right: -17px;
    position: absolute;
    pointer-events: none;
    width: 7.75rem;
    height: 9.125rem;
}


/* flow page */
.flowBlock {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.flowCard {
    display: flex;
    width: 100%;
    padding: 2.5rem 2rem;
    align-items: flex-start;
    gap: 1.5rem;
    border-radius: 0.5rem;
    background: #FFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
}

.flowCard img {
    width: 17.75rem;
    height: 17.75rem;
    flex-shrink: 0;
    aspect-ratio: 1/1;
}

.flowCardText {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
}

@media (max-width: 48em) {
    .flowCardText {
        align-items: center;
    }
}

.flowCardText img {
    width: 17.75rem;
    height: 17.75rem;
    flex-shrink: 0;
    aspect-ratio: 1/1;
}

.flowTitleBlock {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.flowTitleBlock p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.flowCardTitle {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.5rem;
}

@media (max-width: 48em) {
    .flowCardTitle {
        flex-direction: column;
    }
}

.flowCardTitle h3 {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.15rem;
}

.flowCardTitleGreen {
    display: flex;
    padding: 0 1rem 0.5rem 1rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    background: var(--Green, #6FA86F);
}

.flowCardTitleGreen p.stepLabel, .flowCardTitleGreen h4, .flowCardTitleGreen h4 {
    color: var(--white, #FFF);
    font-family: "Sedan SC";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 65%;
    letter-spacing: 0.15rem;
}

.flowCardTitleGreen p.stepLabel, .flowCardTitleGreen h4, .flowCardTitleGreen h4 span {
    color: var(--white, #FFF);
    font-family: "Sedan SC";
    font-size: 2.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 65%;
}

.flowCardAlign {
    width: 100%;
    display: flex;
    flex-direction: row;
}

.flowCardAlign--block {
    gap: 2rem;
}

.flowCardAlign--text {
    gap: 2rem;
}

@media (max-width: 48em) {
    .flowCardAlign {
        width: 100%;
        display: flex;
        flex-direction: column;
    }

    .flowCardAlign--block {
        gap: 1.5rem;
    }

    .flowCardAlign--text {
        gap: 0rem;
    }
}

.flowCardTitleBlock {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.flowCardTitleBlock p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}


/* comparison block  */
.comparisonWrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
}

.tableWrap {
    width: 100%;
    position: relative;
}

.compareTable {
    width: 100%;
    border-collapse: collapse;
    min-width: 700px;
    background: #fff;
}

.compareTable th {
    background: #6FA86F;
    color: var(--white, #FFF);
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    padding: 12px;
}

.borderLRWhite {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
}

.compareTable td {
    text-align: center;
    padding: 12px;
    border-bottom: 1px solid #6FA86F;
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.borderLRGreen {
    border-left: 1px solid #6FA86F;
    border-right: 1px solid #6FA86F;
}

.tableScroll {
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 6px;
    scrollbar-width: none;
}

.tableScroll::-webkit-scrollbar {
    display: none;
}

.tableScrollIndicator {
    height: 6px;
    width: 80%;
    background: #6FA86F;
    border-radius: 8px;
    margin: 1.5rem auto 0;
    opacity: 0;
    transition: opacity .3s;
}

.scrollHint {
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    margin-top: 0.75rem;
    opacity: 0;
    transition: opacity .3s;
}

@media (max-width: 48rem) {

    .tableScrollIndicator,
    .scrollHint {
        opacity: 1;
    }
}


/* treatment options block */
.optionWrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.5rem;
}

.selectAlign {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2rem;
    align-self: stretch;
}

.selectOption {
    width: 18rem;
    height: 2.3rem;
    background: none;
    border: none;
    border-bottom: 1px solid #6FA86F;


    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}
.selectOptionAlign{
	display:flex;
	flex-direction: row;
	justify-content: space-between;
}

.optionCardBlock {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.optionCardAlign {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
}

@media (max-width: 48em) {
    .optionCardAlign {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }
}

.optionCardWrap {
    border-top: 1px solid #6FA86F;
    background: white;
    display: flex;
    width: 50%;
    max-width: 39.25rem;
    padding: 1.5rem 2.5rem;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

@media (max-width: 48em) {
    .optionCardWrap {
        max-width: 25.6875rem;
        width: 100%;
        margin: auto;
    }
}

.optionCardImgBlock {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.optionCardImgBlock h2, .optionCardImgBlock h3, .optionCardImgBlock h4 {
    text-align: start;
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.optionCardImgAlign {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

@media (max-width: 48em) {
    .optionCardImgAlign {
        flex-direction: column;
    }
}

.optionCardImgAlign p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.optionCardImgAlign img {
    width: 50%;
    /* width: 16.125rem;
height: 12.125rem; */
    aspect-ratio: 129/97;
    border-radius: 0.5rem;
}

@media (max-width: 48em) {
    .optionCardImgAlign img {
        width: 100%;
    }
}

.optionCardTextBlock {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.optionCardTextAlign {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .optionCardTextAlign {
        display: flex;
        flex-direction: column;
    }
}

@media (max-width: 48em) {
    .optionCardTextAlign {
        display: flex;
        flex-direction: column;
    }
}

.optionCardInfo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
}

.optionCardInfoText {
    display: flex;
    flex-direction: column;
}

.optionCardInfoText p span {
    color: var(--pink, #F4A09C);
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 190%;
}

.optionCardInfoText p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

/* ACC treatment options block */
.accOption {
    height: 2.6rem;
    max-width: 35rem;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    background: #F8FBF8;
    color: #6FA86F;
    cursor: pointer;

    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    font-size: 15px;
    transition: 0.4s;
    font-family: "Sawarabi Mincho";
}

.accOption.active,
.accOption:hover {
    background-color: #6FA86F;
    color: #FFF;
}

.accOption:after {
    content: url(../images/icon-acc-down-green.svg);
    float: right;
}

.accOption.active:after {
    content: url(../images/icon-acc-up-green.svg);
}

.panelOption {
    max-width: 35rem;
    border-radius: 0.5rem;
    background: #F8FBF8;
    padding: 0 18px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}

.accPContWrap {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 1rem 0;
}

.accPImgCont {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
}

.accPImgCont img {
    width: 50%;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .accPImgCont {
        flex-direction: column;
    }

    .accPImgCont img {
        width: 100%;
    }
}

@media (max-width: 48em) {
    .accPImgCont {
        flex-direction: column;
    }

    .accPImgCont img {
        width: 100%;
    }
}

.accPImgText {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.accPImgText h4 {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.225rem;
}

.accPImgText p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.accPTextCont {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.accPTextCont h4 {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: 0.2rem;
}

.accPTextAlign {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .accPTextAlign {
        flex-direction: column;
        gap: 0;
    }
}

@media (max-width: 48em) {
    .accPTextAlign {
        flex-direction: column;
        gap: 0;
    }
}

.accPTextAlign p {
    width: 50%;
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}


/* people line block */
.peopleLineBg {
    background-image: url(../images/people-line-bg-pc.svg);
    background-size: 100%;
    background-position: bottom;
    background-repeat: no-repeat;
}

@media (max-width: 48em) {
    .peopleLineBg {
        background-image: url(../images/people-line-bg-mob.svg);
        background-size: 100%;
        background-position: bottom;
        background-repeat: no-repeat;
    }
}

.peopleLineWrap {
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    /* width: 90rem;
height: 50.25rem; */
    padding: 7.5rem 20px;
    justify-content: center;
    align-items: center;
    gap: 7.5rem;
}

.titlePeopleLineBg {
    background-image: url(../images/title-people-line-bg-pc.svg);
    background-size: 85%;
    background-position: 50% 82%;
    background-repeat: no-repeat;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .titlePeopleLineBg {
        background-image: url(../images/title-people-line-bg-pc.svg);
        background-size: 85%;
        background-position: 50% 89%;
        background-repeat: no-repeat;
    }
}

@media (max-width: 48em) {
    .titlePeopleLineBg {
        background-image: url(../images/title-people-line-bg-mob.svg);
        background-size: 85%;
        background-position: 50% 96%;
        background-repeat: no-repeat;
    }
}

.lineLineBg {
    background-image: url(../images/lineLine-img-bg.svg);
    background-size: 100%;
    background-position: bottom;
    background-repeat: no-repeat;
}


@media (max-width: 48em) {
    .lineLineBg {
        background-image: url(../images/lineLine-img-bg.svg);
        background-size: auto;
        background-position: bottom;
        background-repeat: no-repeat;
    }
}

.lineLineAbsolut {
    position: absolute;
    bottom: -55px;
    left: 57px;
    pointer-events: none;
    width: 26%;
    height: 17%;
}

.peoplesLineTextBlock {
    display: flex;
    flex-direction: row;
    gap: 6rem;
}

.peoplesLineTextBlock p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.peoplesLineTextBlock p span {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.peoplesLineTextBlock h3 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .peoplesLineTextBlock {
        display: flex;
        flex-direction: row;
        gap: 3.5rem;
    }
}

@media (max-width: 48em) {
    .peoplesLineTextBlock {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }
}

.peoplesLineRelativeBlock {
    position: relative;
}

.peoplesLineTextAlign {
    display: flex;
    /* width: 50rem; */
    padding: 3.5rem 3.5rem 5rem 3.5rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;

    border-radius: 0.5rem;
    background: #FFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
}

.peoplesLineTextAlign h3, .peoplesLineTextAlign h4 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .peoplesLineTextAlign {
        width: 34rem;
        padding: 3rem 2.5rem;
        gap: 1.5rem;
    }
}

@media (max-width: 48em) {
    .peoplesLineTextAlign {
        padding: 3rem 2.5rem;
        gap: 1.5rem;
    }

    .peoplesLineTextAlign h3, .peoplesLineTextAlign h4 {
        color: var(--text_black, var(--text_black, #3C3C3C));
        text-align: center;
        font-family: "Sawarabi Mincho";
        font-size: 1.125rem;
        font-style: normal;
        font-weight: 400;
        line-height: 180%;
    }
}

.peoplesLineText {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
}

.peoplesLineText p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

@media (max-width: 48em) {
    .peoplesLineText {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .peoplesLineText p {
        color: var(--text_black, var(--text_black, #3C3C3C));
        font-family: "Sawarabi Mincho";
        font-size: 1rem;
        font-style: normal;
        font-weight: 400;
        line-height: 220%;
    }
}

.peoplesLineBlock {
    display: flex;
    flex-direction: row;
    gap: 3rem;
    position: absolute;
    bottom: -10px;
    left: 95px;
    pointer-events: none;
    width: 14%;
    height: 26%;
}

.peoplesLineBlock img {
    /* width: 10rem;
  height: 9.25rem;   */
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .peoplesLineBlock {
        gap: 2rem;
        position: absolute;
        bottom: -55px;
        left: 57px;
        pointer-events: none;
        width: 26%;
        height: 17%;
    }
}

@media (max-width: 48em) {
    .peoplesLineBlock {
        gap: 1rem;
        position: absolute;
        bottom: -55px;
        left: 28px;
        pointer-events: none;
        width: 27%;
        height: 14%;
    }
}

/* case studies block MP */
.caseSliderWrap {
    margin: auto;
    max-width: 1500px;
    display: flex;
    flex-direction: column;
    padding: 7rem 0 5rem 0;
    align-items: center;
}

.caseSliderWrap img {
    margin: auto;
}

.slider-container {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 2rem 0 2.5rem 0;
}

.slider-track {
    display: flex;
    transition: transform 0.4s ease;
}

.slide {
    /* min-width: 33rem; */
    padding: 0 15px;
    box-sizing: border-box;
}

.slideCard {
    width: 32rem;
    display: flex;
    padding: 2.5rem 2.5rem 3.5rem 2.5rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    border-radius: 0 0 0.5rem 0.5rem;
    border-top: 1px solid var(--Green, #6FA86F);
    background: rgba(111, 168, 111, 0.05);
}

@media (max-width: 48em) {
    .slideCard {
        display: flex;
        width: 21.375rem;
        padding: 2.5rem 1.5rem 3.5rem 1.5rem;
    }
}

.slideCardTitle {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.slideCardTitle h3 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

@media (max-width: 48em) {
    .slideCardTitle h3 {
        color: var(--green, var(--Green, #6FA86F));
        font-family: "Sawarabi Mincho";
        font-size: 1.25rem;
        font-style: normal;
        font-weight: 400;
        line-height: 140%;
    }
}

.slideCardTitle p, .slideCardTitle h6 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    text-align: right;
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.sideImgBlock {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
}

.slideImg {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.slideImg img {
    width: 12.5rem;
    /* height: 12.5rem; */
    aspect-ratio: 1/1;
    border-radius: 0.5rem;
}

.slideImg p, .slideImg h6 {
    color: var(--text_black, var(--text_black, #3C3C3C));
    text-align: right;
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.slideTextAlign {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 1rem;
}

.slideTextBlock {
    width: 100%;
    border-left: 1px solid #6FA86F;
    padding: 0.19rem 0.5rem;
}

.slideTextBlock h4 {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.1rem;
}

.slideTextBlock p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.slideTextTagAlign {
    display: flex;
    gap: 0.25rem;
    flex-wrap: wrap;
}

.slideTextTag {

    padding: 0.25rem 1.25rem;
    gap: 0.5rem;
    border-radius: 2.5rem;
    background: var(--Green, #6FA86F);

    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.slider-dots {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.slider-dots button {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background: #ccc;
    cursor: pointer;
}

.slider-dots button.active {
    background: #7fb87f;
}


@media (max-width: 400px) {
    .slide {
        min-width: 100%;
    }
}

/* main page pic galery */
.mpGaleryWrap {
    max-width: 1440px;
    margin: 0 auto;
}

.mpGalery {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 0.5rem;
}

.mpGalery img {
    object-fit: cover;
    width: 32.7%;
    height: -webkit-fill-available;
}

@media (max-width: 48em) {
    .mpGalery img {
        min-width: 11.9375rem;
        height: 9rem;
        aspect-ratio: 191/143;
    }
}

/* question block */
.questionLineBg {
    background-image: url(../images/question-line-bg.svg);
    background-size: 100%;
    background-position: bottom;
    background-repeat: no-repeat;
}

@media (max-width: 48em) {
    .questionLineBg {
        background-image: url(../images/question-line-bg-mob.svg);
        background-size: 100%;
        background-position: bottom;
        background-repeat: no-repeat;
        margin-bottom: 2rem;
    }
}

.questionBlockAlign {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}

@media (max-width: 48em) {
    .questionBlockAlign {
        flex-direction: column;
        gap: 0;
    }
}

.questionBlockImg {
    max-width: 31.5625rem;
    max-height: 31.5625rem;
    width: 40%;
    border-radius: 0.5rem;
}

@media (max-width: 48em) {
    .questionBlockImg {
        z-index: 5;
        margin-top: -51px;
        min-width: 358px;
        max-width: 25.6875rem;
        max-height: 31.5625rem;
        width: 100%;
        border-radius: 0.5rem;
    }
}

.questionRelativeBlock {
    position: relative;
}

.questionTitleAbsolute {
    position: absolute;
    top: -20px;
    left: 173px;
    pointer-events: none;
    max-width: 328px;
    min-width: 263px;
    width: auto;
    max-height: 54px;
    min-height: 43px;
    height: auto;
}

@media (max-width: 48em) {
    .questionTitleAbsolute {
        position: absolute;
        top: -20px;
        left: 41px;
        pointer-events: none;
        max-width: 328px;
        min-width: 263px;
        width: auto;
        max-height: 54px;
        min-height: 43px;
        height: auto;
    }
}

.questionTextWrap {
    display: flex;
    max-width: 45rem;
    padding: 4rem 2.5rem 5rem 2.5rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    border-radius: 0.5rem;
    background: #FFF;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .questionTitleAbsolute {
        position: absolute;
        top: -20px;
        left: 84px;
        pointer-events: none;
        max-width: 328px;
        min-width: 263px;
        width: auto;
        max-height: 54px;
        min-height: 43px;
        height: auto;
    }

    .questionTextWrap {}
}

@media (max-width: 48em) {
    .questionTextWrap {
        width: 370px;

        display: flex;
        max-width: 45rem;
        padding: 4rem 2.5rem 5rem 2.5rem;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 1.5rem;
        border-radius: 0.5rem;
        background: #FFF;
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
    }

}

.questionTextWrap h3 {
    color: var(--green, var(--Green, #6FA86F));
    text-align: center;
    font-family: "Sawarabi Mincho";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.questionTextBlock {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .questionTextBlock {
        flex-direction: column;
        gap: 0;
    }
}

@media (max-width: 48em) {
    .questionTextBlock {
        flex-direction: column;
        gap: 0;
    }
}

.questionTextBlock p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

.questionTextBlock p span {
    color: var(--green, var(--Green, #6FA86F));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

/* first step */
.firstStepBg {
    background-image: url(../images/first-step-bg.svg);
    background-size: 100%;
    /* background-position: 118% 108%; */
    background-repeat: no-repeat;
    background-size: auto;
}

@media (min-width: 1441px) {
    .firstStepBg {
        background-image: url(../images/first-step-bg-large.svg);
        background-size: 100%;
        background-position: top center;
        background-repeat: no-repeat;
        background-size: auto;
    }
}

@media screen and (min-width:48rem) and (max-width:990px) {
    .firstStepBg {
        background-image: url(../images/first-step-medium.svg);
        background-size: 100%;
        background-repeat: no-repeat;
        background-size: auto;
    }
}

@media (max-width: 48em) {
    .firstStepBg {
        background-image: url(../images/first-step-bg-mob.svg);
        background-size: 100%;
        background-repeat: no-repeat;
        background-size: auto;
    }
}

.firstWrap {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

@media (max-width: 48em) {}

.firstStapBlock {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 2.4375rem;
    align-items: center;
}

@media (max-width: 48em) {
    .firstStapBlock {
        justify-content: center;
    }
}

.firstStapBlock img {
    width: 50%;
    height: fit-content;
    border-radius: 0.5rem;
}

.firstContAlign {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2.625rem;
}

@media (max-width: 48em) {
    .firstContAlign {
        max-width: 25.6875rem;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 1.5rem;
    }
}

.firstContAlign img {
    width: auto;
}

.firstCont {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.firstContText {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

@media (max-width: 48em) {
    .firstContText {
        display: flex;
        flex-direction: column;
    }
}

.firstContText p {
    color: var(--text_black, var(--text_black, #3C3C3C));
    font-family: "Sawarabi Mincho";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}

/* ==========================================================================
   Accessibility
   ========================================================================== */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.noteText {
    font-size: 0.75rem;
    color: #666;
}

p.featureLabel,
p.stepLabel {
    /* 元のh4/h5スタイルを継承 */
}

p.faqAnswer {
    /* FAQ回答ラベル */
}

p.priceTotal,
p.priceItem,
p.durationItem {
    /* 料金・期間テキスト */
}


/* ==========================================================================
   h2/h3 img wrappers - display:contents makes heading invisible to layout
   The heading exists only for semantics; its child img participates in
   the parent flex/grid context as if the heading were not there.
   ========================================================================== */
.featuresWrapMP > h2,
.caseSliderWrap > h2,
.doctorBlockPhoto > h2,
.doctorBlockPhotoText > h2,
.doctorBlockPhotoText > h3 {
    display: contents;
}

/* h2 mob (people line) */
.peoplesLineTextBlock > h2 {
    text-transform: none;
}
