/* reset */
:root {
    --gC: #8BBFA7;
    --bC: #312D2B;
    --maru: #FCCF00;
    --radius: 2rem;
    --gradient: linear-gradient(180deg,rgba(139, 191, 167, 1) 0%, rgba(222, 208, 144, 1) 100%);
}
html {
    font-size: 62.5%;
}
body {
    margin: 0;
    padding: 0;
    font-family: "azo-sans-web", "Zen Kaku Gothic New", sans-serif;
    position: relative;
    overflow-x: hidden;
}
/* body.bk::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(49, 45, 43, 0.4);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
} */
.sec {
    margin: 15rem 0 0 0;
    position: relative;
}
img {
    width: 100%;
    display: block;
}
h1, h2, h3, h4, h5, p, a, ul, li, ol {
    margin: 0;
    padding: 0;
}
h2, h3, h4, h5, p, a {
    letter-spacing: 0.05em;
    color: var(--textC);
}
ul, li, ol {
    list-style: none;
}
i {
    font-style: normal;
}
a {
    text-decoration: none;
}
h1 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.714;
    letter-spacing: 0.1em;
}
h2 {
    width: 5rem;
    font-family: "Zen Old Mincho", serif;
    font-size: 3.8rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    position: absolute;
    top: 0;
    left: 5%;
}
/* h2::before {
    content: "";
    width: 1.4rem;
    height: 1.4rem;
    margin: auto;
    background: var(--maru);
    border-radius: 50%;
    position: absolute;
    top: -2.4rem;
    right: 0;
    left: 0;
} */
h3 {
    font-family: "Zen Old Mincho", serif;
    font-size: 3.2rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
}
p {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
}
p > span {
    display: inline-block;
}
@media screen and (max-width: 1200px) {
    h2 {
        width: clamp(4rem, 4.16vw, 5rem);
        font-size: clamp(2.8rem, 3.16vw, 3.8rem);
    }
    p {
        font-size: clamp(1.4rem, 1.33vw, 1.6rem);
    }
}
@media screen and (max-width: 1024px) {
    h1 {
        font-size: clamp(2.4rem, 2.73vw, 2.8rem);
    }
    h3 {
        font-size: clamp(2.4rem, 3.125vw, 3.2rem);
    }
    /* h2 {
        width: clamp(3.75rem, 4.63vw, 4.75rem);
        font-size: clamp(2.8rem, 3.71vw, 3.8rem);
    }
    h2::before {
        width: 1rem;
        height: 1rem;
        top: -2rem;
    } */
}
@media screen and (max-width: 768px) {
    h1 {
        font-size: clamp(2rem, 5vw, 2.4rem);
        line-height: 1.55;
    }
    h3 {
        font-size: clamp(2.2rem, 3.125vw, 2.4rem);
    }
}
@media screen and (max-width: 480px) {
    h2 {
        width: clamp(2.75rem, 7.81vw, 3.75rem);
        font-size: clamp(2.2rem, 5.83vw, 2.8rem);
    }
    /* h2::before {
        width: 1rem;
        height: 1rem;
        top: -2rem;
    } */
}

/* BTN */
.btn a {
    width: fit-content;
    max-width: 19.7rem;
    height: 4.8rem;
    display: flex;
    justify-content: start;
    align-items: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
    border: solid 1px var(--bC);
    /* border-radius: 2.5rem; */
}
/* .btn span.icon {
    width: 4.4rem;
    height: 4.4rem;
    margin: 0 1rem 0 0;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
} */
.btn span.icon svg {
    width: 2.7rem;
}
.telBtn span.icon {
    /* background: var(--gC); */
    margin: 0.5rem 1rem 0 0;
}
.telBtn a {
    padding: 0 1rem;
    color: var(--bC);
}
.telBtn span.btnText {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.telBtn a span.btnText .small {
    display: flex;
}
.telBtn a span.btnText .small i {
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1;
}
.telBtn a span.btnText i:nth-child(2) {
    margin: 0 0 0 3px;
    font-weight: 300;
}
.telBtn a span.btnText {
    margin: 2px 0 0 0;
    font-size: 2.15rem;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 1.09;
}
.reserveBtn span.icon {
    background: #fff;
}
.reserveBtn a {
    padding: 0 2rem;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1;
    background: var(--bC);
    color: #fff;
    transition: all .5s cubic-bezier(0.1,0.88,0.3,1);
}
/* .telBtn a:hover {
    background: var(--gC);
    color: #fff;
}
.telBtn a:hover span.icon {
    background: #fff;
}
.telBtn a:hover span.icon svg path {
    fill: #8BBFA7;
} */
.reserveBtn a:hover {
    background: #fff;
    color: var(--bC);
}
/* .reserveBtn a:hover span.icon {
    background: var(--gC);
}
.reserveBtn a:hover span.icon svg path {
    fill: #fff;
} */
@media screen and (max-width: 1200px) {
    .telBtn a span.btnText .small i {
        font-size: clamp(1rem, 1vw, 1.2rem);
    }
    .telBtn a span.btnText {
        font-size: clamp(1.85rem, 1.8vw, 2.15rem);
    }
    .reserveBtn a {
        font-size: clamp(1.4rem, 1.33vw, 1.6rem);
    }
}


/* HEADER */
header {
    width: calc(100% - 10%);
    margin: 0 auto;
    padding: 2.5rem 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(255, 254, 253, 0.4);
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    z-index: 100;
}
header .logoWrap {
    width: auto;
    height: 6rem;
}
header .logoWrap img {
    height: inherit;
}
nav ul {
    display: flex;
    align-items: center;
}
nav ul li {
    height: 5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Zen Old Mincho", serif;
    font-size: 1.6rem;
    line-height: 1;
    margin: 0 3rem 0 0;
}
nav ul li:last-child {
    margin: 0;
}
nav ul li:nth-of-type(3) {
    margin: 0 1rem 0 0;
}
nav ul li a {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .5s cubic-bezier(0.1,0.88,0.3,1);
}
nav ul li a:hover {
    opacity: 0.6;
}
.spNav {
    display: none;
}
@media screen and (max-width: 1200px) {
    header .logoWrap {
        height: clamp(6rem, 6.67vw, 8rem);
    }
    nav ul li {
        font-size: clamp(1.4rem, 1.33vw, 1.6rem);
        margin: 0 clamp(1.5rem, 2.5vw, 3rem) 0 0;
    }
}
@media screen and (max-width: 768px) {
    /* header {
        margin: 2.5rem auto 12rem;
    } */
    nav {
        display: none;
    }
    .spNav {
        display: block;
    }
    .spNav .hum {
        width: 5rem;
        height: 5rem;
        background: rgba(255, 255, 255, 0.8);
        border: solid 1px rgba(255, 255, 255, 0.8);
        position: fixed;
        top: calc((clamp(6rem, 6.67vw, 8rem) / 2));
        right: 5%;
        z-index: 101;
    }
    .spNav .hum.open {
        border: solid 1px #fff;
    }
    .spNav .hum span {
        width: 3.4rem;
        height: 1px;
        margin: auto;
        background: var(--bC);
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        transition: all .25s cubic-bezier(0.1,0.88,0.3,1);
    }
    .spNav .hum span:nth-of-type(1) {
        top: -1.5rem;
    }
    .spNav .hum span:nth-of-type(3) {
        top: 1.5rem;
    }
    .spNav .hum.open span:nth-of-type(2) {
        display: none;
    }
    .spNav .hum.open span:nth-of-type(1) {
        top: 0;
        transform: rotate(30deg);
    }
    .spNav .hum.open span:nth-of-type(3) {
        top: 0;
        transform: rotate(-30deg);
    }
    .spNav .menu {
        width: 28rem;
        height: auto;
        padding: 8.2rem 1.8rem 3rem 2rem;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-start;
        /* border-radius: 0 0 0 2rem; */
        background: var(--bC);
        position: fixed;
        top: 0;
        right: -100%;
        transition: all .5s cubic-bezier(0.1,0.88,0.3,1);
        z-index: 100;
    }
    .spNav .menu.active {
        right: 0;
    }
    .spNav .menu li {
        display: flex;
        /* justify-content: center; */
        align-items: center;
        height: 5rem;
        font-size: 1.6rem;
        line-height: 1;
        margin: 0;
        border-bottom: solid 1px rgba(255, 255, 255, 0.5);
        width: 100%;
        text-align: left;
    }
    .spNav .menu li:last-child {
        margin: 0;
        border-bottom: unset;
    }
    .spNav .menu li:nth-of-type(4),
    .spNav .menu li:nth-of-type(5) {
        margin: 2.25rem 0 0;
        border-bottom: unset;
    }
    .spNav .menu li:nth-of-type(5) a {
        margin-left: 1rem;
        padding: 0 1.5rem;
    }
    .spNav .menu li.btn {
        width: auto;
    }
    .spNav .menu li a {
        width: 100%;
        height: 100%;
        display: flex;
        /* justify-content: center; */
        align-items: center;
        color: #fff;
    }
    .spNav .menu .btn a {
        border: solid 1.5px #fff;
    }
    .spNav .menu .telBtn {
        /* margin: 0 0 0 1rem; */
        color: #fff;
    }
    .spNav .menu .telBtn a {
        color: #fff;
    }
    /* .spNav .menu .telBtn a span.icon {
        background: #fff;
    } */
    .spNav .menu .telBtn a span.icon svg path {
        fill: #fff;
    }
    .spNav .menu .reserveBtn a {
        color: #fff;
    }
    .spNav .menu .reserveBtn a:hover {
        color: var(--bC);
    }
    /* .spNav .menu .reserveBtn a {
        background: #fff;
        color: var(--gC);
    }
    .spNav .menu .reserveBtn a span.icon {
        background: var(--gC);
    }
    .spNav .menu .reserveBtn a span.icon svg path {
        fill: #fff;
    } */
}


/* MV */
.mv {
    width: 100%;
    margin: 11rem 0 0 0;
    position: relative;
}
.mv h1 {
    font-family: "Zen Old Mincho", serif;
    text-shadow:
    1px 1px 10px rgba(255, 255, 255, 0.25),
    -1px -1px 10px rgba(255, 255, 255, 0.25),
    -1px 1px 10px rgba(255, 255, 255, 0.25),
    1px -1px 10px rgba(255, 255, 255, 0.25),
    0px 1px 10px rgba(255, 255, 255, 0.25),
    0 -1px 10px rgba(255, 255, 255, 0.25),
    -1px 0 10px rgba(255, 255, 255, 0.25),
    1px 0 10px rgba(255, 255, 255, 0.25);
    position: absolute;
    top: 6.67vw;
    left: 5%;
    z-index: 2;
}
.headline {
    will-change: transform;
    font-kerning: none;
    -webkit-text-rendering: optimizeSpeed;
    text-rendering: optimizeSpeed;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 0;
}
.headline * {
    will-change: transform;
}
.mv .mvSlider {
    width: 90%;
    margin: 0 0 20rem auto;
    /* border-radius: 2.5rem 0 0 2.5rem; */
}
.mv .mvSlider::after {
    content: "";
    width: 100%;
    height: 100%;
    background: var(--gradient);
    /* border-radius: 2.5rem 0 0 2.5rem; */
    opacity: 0.12;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
}
@media screen and (max-width: 768px) {
    .mv h1 {
        top: unset;
        bottom: 6.51vw;
    }
    .mv .mvSlider {
        margin: 0 0 10rem auto;
    }
}

/* treatment */
.treatment .list,
.treatment .otherList {
    width: 80%;
    margin: 0 0 0 16.67%;
}
.treatment .list ul,
.treatment .otherList ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.treatment .list ul li {
    width: calc((100% / 3) - 3rem);
    margin: 0 0 6rem 0;
}
/* .treatment .list ul li:nth-of-type(4) {
    transform: translateY(0);
}
.treatment .list ul li:nth-of-type(3n + 2) {
    transform: translateY(12rem);
}
.treatment .list ul li:nth-of-type(3n + 3) {
    transform: translateY(22rem);
} */

.treatment .list ul li .imgCover {
    position: relative;
}
.treatment .list ul li .imgCover img {
    /* border-radius: 2rem; */
    position: relative;
}
.treatment .list ul li .imgCover::after {
    content: "";
    width: 100%;
    height: 100%;
    background: var(--gradient);
    /* border-radius: 2rem; */
    opacity: 0.12;
    position: absolute;
    top: 0;
    right: 0;
}
/* .treatment .list ul li .imgCover .num {
    padding: 1rem 0.5rem 0.3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: var(--gC);
    color: #fff;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 200;
    letter-spacing: 0;
    line-height: 1;
    border-radius: 1rem;
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    z-index: 3;
}
.treatment .list ul li .imgCover .num i {
    font-size: 267%;
    font-weight: 100;
    text-shadow: 1px 1px 0 var(--gC), -1px -1px 0 var(--gC), -1px 1px 0 var(--gC), 1px -1px 0 var(--gC), 0px 1px 0 var(--gC), 0 -1px 0 var(--gC), -1px 0 0 var(--gC), 1px 0 0 var(--gC);
} */
.treatment ul li .courseN {
    margin: 1rem 0 0 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 1.16;
    color: var(--gC);
}
.treatment ul li:nth-of-type(6) .courseN span {
    font-size: 58.3%;
}
.treatment ul li .price {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 1.6rem;
}
.treatment .otherList ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.treatment .otherList ul li .courseCont {
    padding: 0 0 1rem 0;
    border-bottom: solid 1px rgba(49, 45, 43, 0.1);
}
/* .treatment .otherList ul li .courseCont .num {
    padding: 5px 7px 3px 5px;
    font-size: 1.2rem;
    border-radius: 0.2rem;
    color: #fff;
    background: var(--gC);
}
.treatment .otherList ul li:last-child .courseCont {
    margin: 4rem 0 0 0;
} */
.treatment .otherList ul li {
    width: calc((100% / 2) - 2rem);
}
.treatment .otherList ul li:last-child {
    margin: 0;
}
.treatment .otherList ul li ul {
    display: flex;
    flex-direction: column;
}
.treatment .otherList ul li ul li {
    width: 100%;
    border-bottom: solid 1px rgba(49, 45, 43, 0.1);
}
.treatment .otherList ul li ul li .courseN {
    font-size: 1.8rem;
    line-height: 1.56;
    color: var(--bC);
}
.treatment .otherList ul li ul li .price {
    margin: 0 0 1rem 0;
    font-size: 1.4rem;
    line-height: 2;
}
@media screen and (max-width: 1200px) {
    .treatment .list ul li {
        width: calc((100% / 3) - clamp(1.5rem, 2.5vw, 3rem));
        margin: 0 0 clamp(3rem, 5vw, 6rem) 0;
    }
    .treatment ul li .courseN {
        font-size: clamp(1.8rem, 2vw, 2.4rem);
    }
    .treatment ul li .price {
        font-size: clamp(1.2rem, 1.33vw, 1.6rem);
    }
    .treatment .list ul li .imgCover .num,
    .treatment .otherList ul li .courseCont .num {
        font-size: clamp(1rem, 1vw, 1.2rem);
    }
    .treatment .list ul li .imgCover .num i {
        font-size: clamp(180%, 2.67vw, 267%);
    }
    .treatment .otherList ul li ul li .courseN {
        font-size: clamp(1.4rem, 1.5vw, 1.8rem);
    }
    .treatment .otherList ul li ul li .price {
        font-size: clamp(1.2rem, 1.16vw, 1.4rem);
    }
}
@media screen and (max-width: 768px) {
    .treatment .list ul li {
        width: calc((100% / 2) - 1.5rem);
        margin: 0 0 3rem 0;
    }
    /* .treatment .list ul li:nth-of-type(4),
    .treatment .list ul li:nth-of-type(3n + 2),
    .treatment .list ul li:nth-of-type(3n + 3) {
        transform: unset;
    }
    .treatment .list ul li:nth-of-type(2n) {
        transform: translateY(12rem);
    } */
    .treatment .otherList ul li {
        width: 100%;
    }
    .treatment .otherList ul li:nth-child(n + 2) .courseCont {
        margin: 3rem 0 0 0;
    }
}
@media screen and (max-width: 480px) {
    .treatment .list ul li {
        width: 100%;
        margin: 0 0 4rem 0;
    }
    /* .treatment .list ul li:nth-of-type(2n) {
        transform: translateY(0);
    } */
    .treatment .list ul li .imgCover .num,
    .treatment .otherList ul li .courseCont .num {
        padding: 0.75rem 0.5rem 0.3rem;
        border-radius: 0.5rem;
    }
}

.ctaWrap {
    width: 100%;
    height: 25.3vw;
    display: block;
    margin: 8rem 0 0 0;
    background: url(../images/cta.jpg) no-repeat;
    background-position: 50% 60%;
    background-size: cover;
    background-attachment: fixed;
    -webkit-background-attachment: fixed;
    -moz-background-attachment: fixed;
    -ms-background-attachment: fixed;
    position: relative;
}
.ctaWrap::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    background: linear-gradient(-90deg,rgba(49, 45, 43, 1) 0%, rgba(117, 114, 113, 0) 100%);
    opacity: 0.4;
}
.ctaWrap > div {
    width: auto;
    height: fit-content;
    margin: auto;
    position: absolute;
    top: 0;
    right: 8rem;
    bottom: 0;
    z-index: 2;
}
.ctaWrap div p {
    margin: 0 0 2rem 0;
    font-family: "Zen Old Mincho", serif;
    font-size: 3.6rem;
    line-height: 1.61;
    color: #fff;
}
@media screen and (max-width: 1200px) {
    .ctaWrap {
        height: clamp(30rem, 33.3vw, 40rem);
        margin: clamp(5rem, 6.67vw, 8rem) 0 0 0;
    }
    .ctaWrap > div {
        right: clamp(4rem, 6.67vw, 8rem);
    }
    .ctaWrap div p {
        font-size: clamp(2.4rem, 3vw, 3.6rem);
    }
}
@media screen and (max-width: 480px) {
    .ctaWrap > div {
        margin: auto;
        right: 0;
        left: 0;
    }
    .ctaWrap div p {
        text-align: center;
    }
    .ctaWrap div .btn {
        display: flex;
        justify-content: center;
    }
}


/* administrator */
/* .administrator h2 {
    right: 5%;
    left: unset;
} */
.administrator .profileWrap {
    /* width: 67vw; */
    width: 100%;
    margin: 0 0 0 auto;
    padding: 10rem 0;
    /* background: rgba(239, 239, 239, 0.4); */
}
.administrator .profileCont {
    width: auto;
    height: 100%;
    background: rgba(239, 239, 239, 0.4);
    z-index: -1;
}
.administrator .profileWrap .profiile {
    width: 80%;
    margin: 0 0 0 16.67%;
    display: flex;
}
.administrator .profileWrap .profileImg {
    display: block;
    height: fit-content;
}
.administrator .profileWrap .profileImg img {
    width: 36vw;
    position: relative;
}
.administrator .profileWrap .profileImg img::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: var(--gradient);
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
}
.administrator .profileWrap .profileCont {
    /* width: calc(100% + 5rem); */
    width: 100%;
    /* width: 36.4vw; */
    margin: 0 0 0 -19.3vw;
    padding: 10rem 0 10rem 19.3%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    /* border-bottom: solid 1px rgba(49, 45, 43, 0.2); */
    font-family: "Zen Kaku Gothic New", sans-serif;
    position: relative;
    top: 10rem;
    /* left: 64.6vw; */
    right: -3.33vw;
}
.administrator .profileWrap .profileCont h3 {
    margin: 0 3.33vw 0 6.67vw;
}
.administrator .profileWrap .name {
    /* min-width: 40rem; */
    margin-bottom: 2rem;
    display: flex;
    align-items: flex-end;
    font-size: 3.6rem;
    line-height: 1;
}
.administrator .profileWrap .name rt {
    font-size: 1.2rem;
    text-align: left;
    letter-spacing: 0.1em;
    line-height: 2.333;
}
.administrator .profileWrap .name .position {
    margin: 0 1rem 0 0;
    display: inline-block;
    font-size: 50%;
}
.administrator .profileWrap .motto {
    margin: 0 0 6rem 0;
    display: block;
    font-family: "Zen Old Mincho", serif;
    font-size: 2.8rem;
    line-height: 1.71;
}
.administrator .profileWrap p {
    margin-bottom: 2.5rem;
}
.administrator .profileWrap p:last-child {
    margin-bottom: 0;
}
/* .administrator .profileWrap .motto i:nth-of-type(1) {
    color: var(--maru);
}
.administrator .profileWrap .motto i:nth-of-type(2) {
    color: var(--gC);
}
.administrator .history {
    width: 67vw;
    margin: 3rem auto 0;
    display: flex;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
.administrator .history p:nth-of-type(1) {
    min-width: 40rem;
}
.administrator .scrollCont {
    width: 67vw;
    margin: 0 auto;
    display: flex;
    overflow: hidden;
    border-radius: 2rem;
}
.administrator .scrollItem {
    width: calc(100vw / 3);
} */
@media screen and (max-width: 1200px) {
    .administrator .profileWrap .name {
        /* min-width: 33vw; */
        font-size: clamp(2.4rem, 3vw, 3.6rem);
    }
    .administrator .profileWrap .motto {
        /* margin: 0 0 clamp(2rem, 2.5vw, 3rem) 0; */
        font-size: clamp(2rem, 2.33vw, 2.8rem);
    }
    .administrator .history {
        flex-wrap: wrap;
    }
    .administrator .history p:nth-of-type(1) {
        /* min-width: 33vw; */
        margin: 0 0 2.5rem 0;
    }
}
@media screen and (max-width: 1024px) {
    .administrator .profileWrap {
        padding: 10rem 0 0 0;
    }
    .administrator .profileWrap .profiile {
        flex-direction: column;
    }
    .administrator .profileWrap .profileImg img {
        width: 42rem;
    }
    .administrator .profileWrap .profileCont {
        width: auto;
        margin: 0 0 0 -16.7vw;
        padding: 15rem 0 5rem 16.7vw;
        flex-direction: column;
        align-items: flex-start;
        top: -9rem;
    }
    .administrator .profileWrap .profileCont h3 {
        margin: 0 auto 0 calc(41.02vw - 17rem);
    }
    .administrator .profileWrap .profileCont .exp {
        margin: -13.75vw 0 0 35vw;
    }
    .administrator .profileWrap .motto {
        margin: 0 0 clamp(4rem, 5.9vw, 6rem) 0;
    }
}
@media screen and (max-width: 768px) {
    .administrator .profileWrap .name {
        min-width: unset;
        margin: 0 0 2.5rem 0;
    }
    .administrator .profileWrap .profileCont .exp {
        margin: -13.75vw 0 0 35vw;
    }
}
@media screen and (max-width: 600px) {
    .administrator .profileWrap .profileImg img {
        width: 100%;
    }
    .administrator .profileWrap .profileCont {
        width: 100%;
        margin: 0 0 0 calc((8vw + 4.25%) * -1);
        padding: 15rem 4.25% 5rem 8vw;
    }
    .administrator .profileWrap .profileCont h3 {
        margin: 0;
    }
    .administrator .profileWrap .profileCont .exp {
        margin: -9.75rem 0 0 13vw;
    }
}

/* access */
.access h3 {
    position: absolute;
    top: 0;
    left: 10%;
}
.access .infoWrap {
    width: 80%;
    margin: 0 0 0 16.67%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
/* .access .infoWrap h3 {
    margin: 0 0 3rem 0;
    display: inline-block;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1;
} */
.access .infoWrap ul {
    width: 27vw;
}
.access .infoWrap ul li {
    border-bottom: solid 1px rgba(49, 45, 43, 0.2);
}
.access .infoWrap ul li p {
    margin: 1rem 0;
    display: inline-block;
    font-size: 1.8rem;
    line-height: 1.56;
}
.access .infoWrap ul li.name p {
    margin-top: 0;
}
.access .infoWrap ul li p span {
    font-size: 1.6rem;
    line-height: 1.375;
}
.access .infoWrap ul li.time p span i {
    display: inline-block;
    font-size: 1.2rem;
}
.access .infoWrap ul li.address span {
    display: inline-block;
}
.access .infoWrap ul li.access p span {
    padding: 0 0 0 1.25em;
    position: relative;
}
.access .infoWrap ul li.access p span:nth-of-type(2) {
    margin: 0.5rem 0 0 0;
}
.access .infoWrap ul li.access p span:before {
    content: "";
    width: 1em;
    height: 1em;
    border-radius: 50%;
    background: var(--bC);
    position: absolute;
    top: 0.2rem;
    left: 0;
}
.access .infoWrap ul li.btnWrap {
    margin: 3rem 0 0 0;
    display: flex;
    flex-wrap: wrap;
    font-family: "azo-sans-web", "Zen Kaku Gothic New", sans-serif;
    border-bottom: unset;
}
.access .infoWrap ul li.btnWrap .telBtn {
    margin: 0 1rem 1rem 0;
}
.access .infoWrap .map {
    width: 62.5%;
}
.access .infoWrap .map iframe {
    width: 100%;
    height: calc(50vw * 0.5627);
    /* border-radius: 2rem; */
}
.access .scrollCont {
    max-width: 100%;
    margin: 10rem 0 0 0;
    border-radius: unset;
    display: flex;
    overflow: hidden;
}
.access .scrollCont .scrollItem {
    width: calc(100vw / 5);
}
@media screen and (max-width: 1200px) {
    .access h3 {
        left: 5%;
    }
    .access .infoWrap {
        width: 80%;
        flex-wrap: wrap;
    }
    .access .infoWrap ul {
        width: 100%;
    }
    .access .infoWrap ul li p span {
        font-size: clamp(1.4rem, 1.33vw, 1.6rem);
    }
    .access .infoWrap .map {
        width: 100%;
    }
    .access .infoWrap ul li.btnWrap .telBtn {
        margin: 0 1rem 3rem 0;
    }
    .access .scrollCont {
        margin: clamp(6rem, 8.33vw, 10rem) 0 0 0;
    }
    .access .scrollCont .scrollItem {
        width: calc(100vw / 3);
    }
}
@media screen and (max-width: 1024px) {
    .access .infoWrap .map iframe {
        height: 40rem;
    }
    .sec.access {
        margin: 6rem 0 0 0;
    }
}
@media screen and (max-width: 480px) {
    .access h3 {
        left: 3.5%;
    }
    .access .infoWrap h3 {
        margin: 0 0 clamp(1.5rem, 6.25vw, 3rem) 0;
        font-size: clamp(2rem, 5.83vw, 2.8rem);
    }
    .access .infoWrap ul li.btnWrap {
        margin: 1.5rem 0 0 0;
        flex-direction: column;
    }
    .access .infoWrap ul li.btnWrap .telBtn {
        margin: 0 1rem 1rem 0;
    }
    .access .infoWrap .map {
        margin: 3rem 0 0 0;
    }
    .access .infoWrap .map iframe {
        height: 70vw;
    }
    .access .scrollCont .scrollItem {
        width: calc(100vw / 2);
    }
}


/* question */
.question {
    padding: 10rem 0 0 0;
}
.question h2 {
    left: 20vw;
}
.question .questionWrap {
    width: calc((100% - 16.67%) - 25rem);
    margin: 0 0 0 16.67%;
    padding: 10rem 5rem 10rem 20rem;
    background: rgba(139, 191, 167, 0.2);
    /* border-radius: 2rem 0 0 2rem; */
}
.question .questionWrap ul li {
    width: 100%;
    border-bottom: solid 1px rgba(49, 45, 43, 0.6);
}
.question .questionWrap ul li:first-child {
    border-top: solid 1px rgba(49, 45, 43, 0.6);
}
.question .questionWrap .qText,
.question .questionWrap .aText {
    width: 100%;
    padding: 2rem 2rem 2rem 5.9rem;
    display: flex;
    justify-content: space-between;
    font-family: "Zen Kaku Gothic New", sans-serif;
    text-align: left;
    font-size: 1.8rem;
    border: unset;
    background: unset;
    position: relative;
    cursor: pointer;
}
.question .questionWrap .qText::before,
.question .questionWrap .aText::before {
    width: 4.4rem;
    height: 4.4rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    line-height: 0;
    position: absolute;
    top: 0;
    left: 0;
}
.question .questionWrap .qText::before {
    content: "Q";
    color: #fff;
    background: rgba(49, 45, 43, 0.6);
    bottom: 0;
}
.question .questionWrap .aText {
    width: auto;
    min-height: 4.4rem;
    align-items: center;
}
.question .questionWrap .aText::before {
    content: "A";
    background: rgba(252, 206, 0, 0.6);
    color: var(--bC);
    position: absolute;
    top: 0;
    left: 0;
}
.question .questionWrap .aText {
    min-height: unset;
    padding: 0;
    line-height: 0;
    opacity: 0;
}
.question .questionWrap .aText.isOpen {
    min-height: 4.4rem;
    padding: 0 2rem 1.5rem 5.9rem;
    line-height: 1.75;
    opacity: 1;
}
.question .questionWrap span.open {
    margin: auto 1.7rem auto 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
}
.question .questionWrap span.open::before,
.question .questionWrap span.open::after {
    content: "";
    width: 1.7rem;
    height: 1px;
    background: var(--bC);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}
.question .questionWrap span.open::before {
    transform: rotate(90deg);
    transform-origin: center;
}
.question .questionWrap span.open::after {
    transform: rotate(180deg);
    transform-origin: center;
}
.question .questionWrap .isOpen span.open::before {
    transform: rotate(0deg);
}
@media screen and (max-width: 1200px) {
    .question .questionWrap {
        width: calc((100% - 16.67%) - clamp(10rem, 16.67vw, 20rem) - 5rem);
        padding: 10rem 5rem 10rem clamp(10rem, 16.67vw, 20rem);
    }
    .question .questionWrap .qText,
    .question .questionWrap .aText {
        font-size: clamp(1.4rem, 1.5vw, 1.8rem);
    }
}
@media screen and (max-width: 768px) {
    .question {
        padding: 0;
    }
    .question h2 {
        left: 5%;
    }
    .question .questionWrap {
        width: calc(80% - 10rem);
        margin: 0 0 0 auto;
        padding: 5rem;
    }
    .question .questionWrap .qText {
        padding: 2rem 2rem 2rem 3.9rem;
    }
    .question .questionWrap .aText.isOpen {
        padding: 0 2rem 1.5rem 3.9rem;
    }
    .question .questionWrap .qText::before,
    .question .questionWrap .aText::before {
        width: 3rem;
        height: 3rem;
        font-size: 1.5rem;
    }
    .question .questionWrap .aText::before {
        background: rgba(252, 206, 0, 0.6);
    }
}
@media screen and (max-width: 480px) {
    .question .questionWrap {
        width: calc(80% - clamp(2rem, 10.4vw, 5rem));
        padding: 5rem clamp(2rem, 10.4vw, 5rem);
    }
    .question .questionWrap .qText {
        padding: 1.5rem 2rem 1.5rem 3.9rem;
    }
}


/* voice */
/* .voice {
    margin: 0;
    padding: 15rem 0 0 0;
    background: linear-gradient(0deg,#EFEFEF 0%, rgba(255, 255, 255, 0) 100%);
    position: relative;
    overflow: hidden;
    z-index: -1;
}
.voice h2 {
    top: 15rem;
}
.voice .voiceWrap {
    width: 80%;
    margin: 0 0 0 16.67%;
    padding: 10rem 0;
}
.voice .voiceWrap .voiceCont {
    max-width: calc(68rem - 6rem);
    width: fit-content;
    margin: 0 0 5rem 0;
    padding: 3rem;
    background: #fff;
    border-radius: 2rem;
    position: relative;
}
.voice .voiceWrap .voiceCont::after {
    content: "";
    width: 100%;
    max-width: 68rem;
    height: 100%;
    margin: auto;
    background: var(--gradient);
    border-radius: 2rem;
    position: absolute;
    top: 1rem;
    left: 1rem;
    opacity: 0.66;
    z-index: -1;
}
.voice .voiceWrap .voiceCont:nth-of-type(2n + 2) {
    margin-left: auto;
}
.voice .voiceWrap .voiceCont:last-child {
    margin: 0;
}
.voice .voiceWrap .voiceCont p.user {
    margin: 0 0 2rem 0;
    font-size: 1.8rem;
    line-height: 1;
}
.voice .voiceWrap .voiceCont p.user .uName {
    margin: 0 0 0 1rem;
    display: inline-block;
    font-size: 189%;
    font-weight: 300;
}
.voice .voiceWrap .voiceCont p.comment {
    font-size: 2rem;
    line-height: 1.6;
}
.blueBall {
    position: absolute;
    border-radius: 50%;
    filter: blur(50px);
    z-index: -1;
}
.blueBall.ball01 {
    width: 60rem;
    height: 60rem;
    background: var(--gC);
    opacity: 0.28;

    top: 10.67vw;
    right: -12vw;
}
.blueBall.ball02 {
    width: 120rem;
    height: 120rem;
    background: var(--maru);
    opacity: 0.16;

    top: 40vw;
    left: -30vw;
}
.blueBall.ball03 {
    width: 38rem;
    height: 38rem;
    background: #B8D767;
    opacity: 0.59;

    top: 70.33vw;
    right: -6vw;
}
@media screen and (max-width: 1200px) {
    .voice .voiceWrap .voiceCont p.user {
        margin: 0 0 clamp(1rem, 1.67vw, 2rem) 0;
        font-size: clamp(1.4rem, 1.5vw, 1.8rem);
    }
    .voice .voiceWrap .voiceCont p.user .uName {
        font-size: clamp(120%, 2.83vw, 189%);
    }
    .voice .voiceWrap .voiceCont p.comment {
        font-size: clamp(1.6rem, 1.67vw, 2rem);
    }
    .voice .voiceWrap .voiceCont::after {
        max-width: 100%;
    }
}
@media screen and (max-width: 900px) {
    .voice .voiceWrap .voiceCont {
        max-width: calc(100% - 6rem);
    }
    .voice .voiceWrap .voiceCont:nth-of-type(2n + 2) {
        margin-left: unset;
    }
} */

/* FOOTER */
footer {
    padding: 10rem 0 2rem;
    background: #fff;
    position: relative;
    z-index: 3;
}
footer .logoWrap img {
    width: auto;
    height: 8rem;
    display: block;
    margin: 0 auto 5rem;
}
footer nav {
    height: auto;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
footer nav ul li {
    height: auto;
}
footer nav ul:last-child li {
    margin: 0 1rem 0 0;
}
footer small {
    margin: 5rem 0 0 0;
    display: block;
    font-size: 1.4rem;
    line-height: 2;
    text-align: center;
    opacity: 0.6;
}


/* scrollCont */
.scrollList {
    display: flex;
    list-style: none;
}
.scrollListLeft {
    animation: infinity-scroll-left 30s infinite linear 0.5s both;
}
.scrollItem > img {
    width: 100%;
}
@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}