/*  Typo
----------------------------------------------- */
@charset "utf-8";

* { margin: 0; padding: 0; }

html { font-size: 62.5%; }

body {
    font-family: "Noto Sans JP", "源ノ角ゴシック", "Zen Meru Gothic", "M PLUS 1p", sans-serif !important;
    line-height: 2 !important;
}

h1, h2, h3 { font-family: "Zen Maru Gothic", "源柔ゴシック", "Rounded M PLUS", sans-serif !important; }

td, p, ul, ol { line-height: 2 !important; }

img { border: 0; width: 100%; vertical-align: top; }

ul, ol { list-style: none; }

p,a { font-family: "Noto Sans JP", "源ノ角ゴシック", "Zen Meru Gothic", "M PLUS 1p", sans-serif !important; }

p.font-zen,
a.font-zen { font-family: "Zen Maru Gothic", "源柔ゴシック", "Rounded M PLUS", sans-serif !important; }

a { text-decoration: none !important; }

a:hover img {
    filter: alpha(opacity=25);
    -moz-opacity: 0.25;
    opacity: 0.25;
}

p {
    margin: 10px 0;
    font-size: 12px;
    font-size: 1.2rem;
}

.full-screen {
    margin-right: calc(50% - 49.5vw);
    margin-left: calc(50% - 49.5vw);
}

.full-screen img {
    display: block;
    width: 100%;
    height: auto;
}

.pc { display: none; }

.sp { display: block; }

@media only screen and (min-width: 641px) {
    .pc { display: block; }
    .sp { display: none; }
}

#content h1,
#content h2,
#content h3 {
    width: 100%;
    margin: 0 0 10px;
    padding: 0.25em 0;
    color: #ea7893;
    text-align: center;
    font-size: 6vw;
    line-height: 1.8;
}

.circle-botton {
    margin: 0 auto;
    width: 80%;
    position: relative;
}

.circle-botton-inner {
    display: block;
    border-radius: 35px;
    padding: 1em 1.5em;
    text-align: center;
}

.circle-botton-inner::after {
    content: "";
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    position: absolute;
    top: 42%;
    right: 10%;
    transform: rotate(45deg);
}

.none,
.before-none:before,
.after-none:after { display: none; }

@media only screen and (min-width: 641px) {
    .circle-botton { width: 95%; }
    #content h1,
    #content h2,
    #content h3 {
        font-size: 38px;
        line-height: 1.7;
    }
}

@media only screen and (min-width: 768px) {
    .circle-botton { width: 90%; }
}

@media only screen and (min-width: 1024px) {
    .circle-botton { width: 80%; }
}

/*  Layout
----------------------------------------------- */

#container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    width: 100%;
}

#page {
    margin: 0 auto;
    width: 100%;
    max-width: 1100px;
    box-sizing: border-box;
    background: #fff;
}

#sidebar { display: none; }

#navToggle { display: none }

@media only screen and (max-width: 1100px) {
    #page { width: 90%; }
}

@media only screen and (max-width: 640px) {
    #cc-inner .j-calltoaction-wrapper { text-align: center; }
    .j-textWithImage .cc-imagewrapper {
        float: none !important;
        width: 100% !important;
        margin: 0 auto 5px !important;
    }
    #cc-inner .j-textWithImage p { margin: 12px 0 0; }
    .cc-imagewrapper img {
        display: block !important;
        margin: 0 auto !important;
    }
    .cc-m-hgrid-column.last {
        float: none;
        width: 100% !important;
    }
    .cc-m-hgrid-column {
        float: none;
        width: 100% !important;
    }
}

/*  Header
----------------------------------------------- */
.header-inner {
    display: block;
    margin: 0;
    padding-top: 100px;
}

.header-inner div { display: none; }

.title {
    margin: 0 auto;
    width: 70%;
}

#header .headnavi { display: none; }

#header .headnavi ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    justify-content: center;
    margin: 0 auto;
}

#header .headnavi li {
    width: 16%;
    padding: 0 0 5px;
    text-align: center;
    box-sizing: border-box;
}

#header .headnavi li a {
    display: block;
    padding: 71px 0 0;
    font-size: 1.1vw;
    color: #3e3a39;
    text-decoration: none;
    font-family: "Zen Maru Gothic", "源柔ゴシック", "Rounded M PLUS", sans-serif !important;
    font-weight: bold;
}

#header .headnavi li a:hover {
    color: #fdd800;
}

#header .headnavi .about { background: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/about.png?t=1758180745) no-repeat center top; }
/* #header .headnavi .about:hover { background: url(bg-menuhome2.png) no-repeat center top; } */

#header .headnavi .qualification { background: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/qualification.png?t=1758181011) no-repeat center top; }
/* #header .headnavi .qualification:hover { background: url(bg-menuconstruction2.png) no-repeat center top; } */

#header .headnavi .third-jhss { background: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/third-jhss.png?t=1758181376) no-repeat center top; }
/* #header .headnavi .third-jhss:hover { background: url(bg-menuorder2.png) no-repeat center top; } */

#header .headnavi .transferring { background: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/transferring.png?t=1758181410) no-repeat center top; }
/* #header .headnavi .transferring:hover { background: url(bg-menublog2.png) no-repeat center top; } */

#header .headnavi .thought { background: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/thought.png?t=1758181382) no-repeat center top; }
/* #header .headnavi .thought:hover { background: url(bg-menucompany2.png) no-repeat center top; } */

#header .headnavi .q-a { background: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/q-a.png?t=1758180957) no-repeat center top; }
/* #header .headnavi .q-a:hover { background: url(bg-menuinquiry2.png) no-repeat center top; } */

.top-image,
.sp-top-image { width: 100%; }

.top-image img,
.sp-top-image img { display: none; }

.right-menu { display: none; }

.sp-bottom-menu { display: block; }

.sp-bottom-menu .sp-inquiry,
.sp-bottom-menu .sp-information {
    display: block;
    z-index: 100;
    position: fixed;
    bottom: 0;
    width: 45%;
}

.sp-bottom-menu .sp-inquiry { left: 4%; }

.sp-bottom-menu .sp-information { right: 4%; }

@media only screen and (min-width: 425px) {
    .sp-bottom-menu .sp-inquiry,
    .sp-bottom-menu .sp-information { width: 40%; }
    .sp-bottom-menu .sp-inquiry { left: 7%; }
    .sp-bottom-menu .sp-information { right: 7%; }
}

@media only screen and (min-width: 640px) {
    .title {
        margin-left: 2em;
        width: 65%;
    }
    .sp-bottom-menu .sp-inquiry,
    .sp-bottom-menu .sp-information { width: 35%; }
    .sp-bottom-menu .sp-inquiry { left: 9%; }
    .sp-bottom-menu .sp-information { right: 9%; }
}

@media only screen and (min-width: 768px) {
    .title { width: 50%; }
    .sp-bottom-menu { display: none; }
}

@media only screen and (min-width: 1024px) {
    .header-inner {
        display: flex;
        flex-direction: row;
        align-items: center;
        margin: 0 0 0 1.5em;
        padding: 20px 0;
    }
    .header-inner .title {
        display: block;
        width: 30%;
    }
    #header .headnavi {
        display: block;
        width: 70%;
    }
    #header .headnavi li a { font-size: 1.4vw; }
    .right-menu {
        display: block;
    }
    .right-menu .inquiry,
    .right-menu .access,
    .right-menu .information {
        z-index: 2000000;
        position: fixed;
        display: block;
    }
    .right-menu .inquiry,
    .right-menu .access {
        width: 4.2rem;
        height: auto;
        aspect-ratio: 66/190;
    }
    .right-menu .inquiry {
        top: 14.5rem;
        right: 0;
    }
    .right-menu .access {
        top: 28rem;
        right: 0;
    }
    .right-menu .information {
        width: 13rem;
        height: auto;
        aspect-ratio: 196/198;
        top: 42rem;
        right: 0;
    }
}

@media only screen and (min-width: 1200px) {
    .title { width: 35%; }
    #header .headnavi {
        display: block;
        width: 65%;
    }
    #header .headnavi li a { font-size: 1.2vw; }
    .right-menu .inquiry,
    .right-menu .access {
        width: 5rem;
    }
    .right-menu .inquiry { top: 14.7rem; }
    .right-menu .access { top: 30rem; }
    .right-menu .information {
        width: 15rem;
        top: 46rem;
    }
}

@media only screen and (min-width: 1440px) {
    .right-menu .inquiry,
    .right-menu .access {
        width: 6.2rem;
    }
    .right-menu .inquiry { top: 15.3rem; }
    .right-menu .access { top: 35rem; }
    .right-menu .information {
        width: 17rem;
        top: 54rem;
    }
}

@media only screen and (min-width: 1441px) {
    #header .headnavi li a { font-size: 18px; }
}

@media only screen and (min-width: 1750px) {
    .right-menu .inquiry,
    .right-menu .access {
        width: 7.5rem;
    }
    .right-menu .inquiry { top: 15.8rem; }
    .right-menu .access { top: 39.5rem; }
    .right-menu .information {
        width: 21rem;
        top: 63rem;
    }
}

@media only screen and (min-width: 1920px) {
    .right-menu .inquiry,
    .right-menu .access {
        width: 8rem;
    }
    .right-menu .access { top: 42rem; }
    .right-menu .information {
        width: 24rem;
        top: 67rem;
    }
}

/*  Footer
----------------------------------------------- */

#footer {
    margin: 70px auto;
    width: 95%;
    max-width: 1300px;
    box-sizing: border-box;
}

.footer-inner1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    width: 100%;
    max-width: 500px;
}

.footer-logo {
    width: 37vw;
}

.footer-title { margin: 1em 0; }

.green-botton {
    border-radius: 30px;
    padding: 0.5em 1.5em;
    background: #689f56;
}

.green-botton p {
    font-size: 4.5vw;
    font-weight: bold;
    color: #fff;
}

.footer-inner2 {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    margin: 4rem 0;
}

.footer-inner2 p,
.footer-inner2 a { font-family: "Zen Maru Gothic", "源柔ゴシック", "Rounded M PLUS", sans-serif !important; }

.address {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    margin: 0 auto;
}

.address p { font-size: 4vw; }

.tel { width: 100%; }

.tel a {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-size: 11vw;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #e85387 !important;
}

.tel a img {
    margin-right: 0.25em;
    width: 0.6em;
}

.mail {
    margin: 1.5rem 0;
    width: 100%;
}

.train { margin: 1rem 0; }

.train,
.bus {
    display: flex;
    flex-direction: row;
    justify-content: normal;
    align-items: center;
    width: 100%;
}

.train p,
.bus p {
    font-size: 4.2vw;
}

.address-green {
    margin-right: 0.5em;
    border-radius: 20px;
    padding: 0.1em 0.75em;
    width: 35%;
    text-align: center;
    color: #fff;
    background: #689f56;
}

.footer-nav1 {
    display: block;
    margin-top: 4em auto 4em 1em;
}

.tab { display: none; }

.footer-nav2 { display: none; }

ul#mainNav1 li { margin: 1em 0; }

ul#mainNav1 li:first-child { margin: 0 0 1em 0; }
ul#mainNav1 li:last-child { margin: 1em 0 0 0; }

ul#mainNav1 li a::before {
    content: '→';
    color: #3e3a39;
    margin-right: 0.5em;
}

ul#mainNav1 li a {
    font-size: 4vw;
    font-weight: bold;
    color: #3e3a39;
    font-family: "Zen Maru Gothic", "源柔ゴシック", "Rounded M PLUS", sans-serif !important;
}

.footer-inner3 {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
}

.footer-inner3 p {
    margin: 1em 0;
    font-size: 4.5vw;
    font-family: "Zen Maru Gothic", "源柔ゴシック", "Rounded M PLUS", sans-serif !important;
}

.sp-instagram {
    display: block;
    width: 95%;
}

.operation,
.free-school {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    margin: 2em 0;
    width: 95%;
}

.operation-img,
.f-s-img { width: 100%; }

.operation-img { border: 2px solid #cccccc; }

.f-s-inner {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
}

.pc-instagram { display: none; }

.copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1em 0;
    width: 100%;
    background: #689f56;
}

.copy p {
    font-size: 4vw;
    color: #fff;
}

.copy .arr { margin-left: 1em; }

.gutter {
    width: 80%;
    margin: 0 auto 10vh auto;
    padding: 1em 0 0;
    font-size: 11px;
    font-size: 1.1rem;
}

@media only screen and (min-width: 425px) {
    .footer-logo { width: 32vw; }
    .green-botton p { font-size: 4vw; }
    .address p { font-size: 4.5vw; }
    .tel a { font-size: 11vw; }
    .train p,
    .bus p { font-size: 3.8vw; }
    ul#mainNav1 li a { font-size: 4vw; }
    .footer-inner3 p { font-size: 4vw; }
    .copy p { font-size: 16px; }
    .gutter { margin: 0 auto 13.5vh auto; }
}

@media only screen and (min-width: 640px) {
    .footer-logo { width: 28vw; }
    .green-botton p { font-size: 3vw; }
    .address p { font-size: 2.5rem; }
    .tel a {
        justify-content: space-between;
        font-size: 7rem;
    }
    .train p,
    .bus p { font-size: 2.2rem; }
    .footer-nav1 {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-top: 1em;
        width: 100%;
    }
    .tab { display: block; }
    .tab-sp ul li:nth-child(n+8) { display: none; }
    .tab ul li:nth-child(-n+7) { display: none; }
    .tab-sp ul#mainNav1 li:first-child,
    .tab ul#mainNav1 li:nth-child(8) { margin: 0 0 1rem 0; }
    .tab-sp ul#mainNav1 li:nth-child(7),
    .tab ul#mainNav1 li:last-child { margin: 1rem 0 0 0; }
    ul#mainNav1 li a { font-size: 1.8rem; }
    .footer-inner3 p { font-size: 2.7rem; }
    .sp-instagram,
    .operation,
    .free-school { width: 100%; }
    .copy { flex-direction: row; }
    .gutter { margin: 0 auto 100px auto; }
}

@media only screen and (min-width: 768px) {
    .footer-logo { width: 20rem; }
    .green-botton p { font-size: 1.3em; }
    .gutter { margin: 0 auto; }
}

@media only screen and (max-width: 1023px) {
    .footer-inner2 {
        margin: 4rem auto;
        max-width: 500px;
    }
    .footer-inner3 {
        margin: 0 auto;
        max-width: 500px;
    }
}

@media only screen and (min-width: 1024px) {
    .footer-inner2 {
        flex-direction: row;
        justify-content: space-evenly;
        align-items: normal;
    }
    .address {
        margin: 0;
        width: 30%;
    }
    .address p { font-size: 1.6vw; }
    .tel a { font-size: 4vw; }
    .train p,
    .bus p { font-size: 1.3vw; }
    .footer-nav1 {
        display: block;
        width: auto;
    }
    .tab { display: none; }
    .footer-nav1 { margin-top: 0; }
    .footer-nav2 { display: block; }
    .footer-nav1 ul li:nth-child(n+8) { display: none; }
    .footer-nav2 ul li:nth-child(-n+7) { display: none; }
    ul#mainNav1 li { margin: 1em 0; }
    .footer-nav1 ul#mainNav1 li:first-child,
    .footer-nav2 ul#mainNav1 li:nth-child(8) { margin: 0 0 1em 0; }
    .footer-nav1 ul#mainNav1 li:nth-child(7),
    .footer-nav2 ul#mainNav1 li:last-child { margin: 1em 0 0 0; }
    ul#mainNav1 li a { font-size: 1.6vw; }
    .footer-inner3 {
        flex-direction: row;
        margin: 0;
    }
    .footer-inner3 p {
        margin: 0;
        font-size: 1.2vw;
    }
    .sp-instagram { display: none; }
    .operation,
    .free-school {
        flex-direction: row;
        justify-content: space-evenly;
        align-items: center;
        margin: 2em 0;
    }
    .operation { width: 40%; }
    .free-school {
        margin: 0;
        width: 45%;
    }
    .f-s-inner { flex-direction: column; }
    .operation-img,
    .f-s-img { width: 75%; }
    .pc-instagram {
        display: flex;
        align-items: flex-end;
        width: 6%;
    }
}

@media only screen and (min-width: 1200px) {
    .address p { font-size: 1.45vw; }
    .tel a { font-size: 3.8vw; }
    .train p,
    .bus p { font-size: 1.2vw; }
    ul#mainNav1 li a { font-size: 1.3vw; }
    .footer-inner3 p { font-size: 1.7rem; }
}

@media only screen and (min-width: 1441px) {
    .address p { font-size: 2.2rem; }
    .tel a { font-size: 5.4rem; }
    .train p,
    .bus p { font-size: 1.7rem; }
    ul#mainNav1 li a { font-size: 1.8rem; }
    .footer-inner3 p { font-size: 1.7rem; }
}

/*  Navigation
----------------------------------------------- */

#navigation .spmenu { display: none; }

#navigation { width: 100%; }

#navigation ul { margin: 0; }

#navigation ul.cc-nav-level-0 {
    *zoom: 1; /*forIE6,7*/
    display: -moz-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
}

#navigation ul.cc-nav-level-0 li {
    *zoom: 1; /*forIE6,7*/
    white-space: nowrap;
    margin: 0 15px 0 0;
    font: normal 18px/1.5 "Century Gothic", Futura, "游ゴシック", YuGothic, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, sans-serif;
}

#navigation ul.cc-nav-level-0 li a {
    display: block;
    padding: 10px;
    color: #fff;
    text-decoration: none;
}

#navigation ul.cc-nav-level-0 li a:hover {
    filter: alpha(opacity=80);
    -moz-opacity: 0.80;
    opacity: 0.80;
    color: #002970;
    background-color: #fff;
}

#navigation ul.cc-nav-level-0 li ul {
    visibility: hidden;
    position: absolute;
    z-index: 300000 !important;
}

#navigation ul.cc-nav-level-0 li:hover > ul {
    visibility: visible;
}

#navigation ul.cc-nav-level-0 li ul li {
    position: relative;
    clear: left;
    width: auto !important;
    line-height: normal;
}

#navigation ul.cc-nav-level-0 li ul li ul {
    top: 0;
    left: 100%;
}

* html #navigation ul.cc-nav-level-0 li a { /*forIE6*/
    zoom: 1;
}

#navigation ul.cc-nav-level-0 li ul li {
    margin: 0;
    padding: 0;
    border-top: 1px solid #fff;
}

#navigation ul.cc-nav-level-0 li ul li:first-child {
    border-top: none;
}

#navigation ul.cc-nav-level-1 li,#navigation ul.cc-nav-level-2 li { background-image: none; }

#navigation ul.cc-nav-level-0 li ul li a {
    color: #fff;
    text-align: left;
}

#navigation ul.cc-nav-level-1 a,
#navigation ul.cc-nav-level-2 a {
    filter: alpha(opacity=9) !important;
    -ms-filter: "alpha(opacity=90)" !important;
    -moz-opacity: 0.9 !important;
    -khtml-opacity: 0.9 !important;
    opacity: 0.9 !important;
    display: block;
    width: 300px;
    padding: 5px 10px !important;
    text-align: center;
    text-decoration: none !important;
    background-color: #5081a0;
}

#navigation ul.cc-nav-level-1 a:hover,
#navigation ul.cc-nav-level-2 a:hover {
    color: #2d8cc4;
    text-decoration: none !important;
    background-color: #8fb1c6;
}

.j-textWithImage figure {
    z-index: 0 !important;
}

@media only screen and (max-width: 1023px) {
    #navigation {
        z-index: 10000;
        position: fixed;
        top: 0;
        padding: 0;
        border-bottom: none;
    }
    #navigation .spmenu {
        display: -moz-box;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        -ms-justify-content: space-between;
        justify-content: space-between;
        -webkit-align-items: center;
        -ms-align-items: center;
        align-items: center;
        width: 100%;
        margin: 0 auto;
        background: #ffffff;
    }
    #navigation .spmenu li.toggle { width: 107px; }
    #navigation .spmenu li:first-child {
        border-left: none;
    }
    #navigation .spmenu li img {
        display: block;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }
    #navigation .spmenu li.toggle {
        cursor: pointer;
        display: block;
    }
    #navigation .spmenu li a {
        display: block;
        width: 100%;
        padding: 10px 0;
    }
    #navigation .spmenu .sp { display: none; }
    #navigation .scroll {
        display: none;
        padding-bottom: 5%;
        width: 100%;
        height: 85%;
        background: #fff;
        position: fixed;
        overflow: scroll;
        overscroll-behavior: none;
    }
    #navigation ul.cc-nav-level-0 {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        margin: 0 auto;
        padding: 0 5%;
        width: 100%;
        background: #fce9e8;
        position: relative;
    }
    #navigation ul {
        font-size: 16px;
        font-size: 1.6rem;
    }
    #navigation ul.cc-nav-level-0 li {
        height: auto;
        margin: 0;
        padding: 0;
        line-height: normal;
        border-top: 1px solid #fff;
        background: none !important;
    }
    #navigation ul.cc-nav-level-0 li:first-child {
        display: none;
        border-top: none;
    }
    #navigation ul.cc-nav-level-0 li:nth-child(12),
    #navigation ul.cc-nav-level-0 li:nth-child(14),
    #navigation ul.cc-nav-level-0 li:last-child { display: none; }
    #navigation ul.cc-nav-level-0 li a::before {
        position: absolute;
        content: '';
        top: 20%;
        left: 0%;
        display: block;
        width: 2em;
        height: 95%;
    }
    #navigation ul.cc-nav-level-0 li:nth-child(2) a::before {
        background-image: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/sp-about.png?t=1758181056);
        background-size: contain;
        background-repeat: no-repeat;
    }
    #navigation ul.cc-nav-level-0 li:nth-child(3) a::before {
        background-image: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/sp-qualification.png?t=1758181233);
        background-size: contain;
        background-repeat: no-repeat;
    }
    #navigation ul.cc-nav-level-0 li:nth-child(4) a::before {
        background-image: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/sp-third-jhss.png?t=1758181297);
        background-size: contain;
        background-repeat: no-repeat;
    }
    #navigation ul.cc-nav-level-0 li:nth-child(5) a::before {
        background-image: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/sp-transferring.png?t=1758181326);
        background-size: contain;
        background-repeat: no-repeat;
    }
    #navigation ul.cc-nav-level-0 li:nth-child(6) a::before {
        background-image: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/sp-open-campus.png?t=1758181200);
        background-size: contain;
        background-repeat: no-repeat;
    }
    #navigation ul.cc-nav-level-0 li:nth-child(7) a::before {
        background-image: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/sp-business.png?t=1758181075);
        background-size: contain;
        background-repeat: no-repeat;
    }
    #navigation ul.cc-nav-level-0 li:nth-child(8) a::before {
        background-image: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/sp-special.png?t=1758181243);
        background-size: contain;
        background-repeat: no-repeat;
    }
    #navigation ul.cc-nav-level-0 li:nth-child(9) a::before {
        background-image: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/sp-thought.png?t=1758181303);
        background-size: contain;
        background-repeat: no-repeat;
    }
    #navigation ul.cc-nav-level-0 li:nth-child(10) a::before {
        background-image: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/sp-staff.png?t=1758181260);
        background-size: contain;
        background-repeat: no-repeat;
    }
    #navigation ul.cc-nav-level-0 li:nth-child(11) a::before {
        background-image: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/sp-q-a.png?t=1758181216);
        background-size: contain;
        background-repeat: no-repeat;
    }
    #navigation ul.cc-nav-level-0 li:nth-child(13) a::before {
        background-image: url(https://u.jimcdn.com/cms/o/saca0d9974bde4d71/userlayout/img/sp-access.png?t=1758181066);
        background-size: contain;
        background-repeat: no-repeat;
    }
    #navigation ul.cc-nav-level-0 li a {
        display: block;
        width: 100%;
        padding: 1em 10px 1em 2.5em;
        color: #3e3a39;
        box-sizing: border-box;
        background-color: #fce9e8;
        font-size: 18px;
        font-weight: bold;
        font-family: "Zen Maru Gothic", "源柔ゴシック", "Rounded M PLUS", sans-serif !important;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transform: translateZ(0);
        transition: all 0.3s;
    }
    #navigation ul.cc-nav-level-0 li a::after {
        content: "";
        width: 0.5em;
        height: 0.5em;
        border-top: 3px solid #ea7893;
        border-right: 3px solid #ea7893;
        -webkit-transform: rotate(135deg);
        position: absolute;
        top: 33%;
        right: 2%;
        transform: rotate(45deg);
    }
    #navigation ul.cc-nav-level-0 li .hover {
        color: #2d8cc4;
        text-decoration: none !important;
        background-color: #8fb1c6;
    }
    #navigation ul.cc-nav-level-0 li ul {
        visibility: visible;
        position: static;
    }
    #navigation ul.cc-nav-level-0 li ul li a {
        padding: 5px 10px 5px 30px;
        text-align: left;
    }
    #navigation ul.cc-nav-level-0 li ul li a::before {
        content: "■";
        padding: 0 10px 0 0;
        color: #fff;
        font-size: 10px;
        font-size: 1rem;
    }
    #navigation .menu-bottom {
        margin: 0 auto;
        padding: 2em 0 0;
        width: 75%;
        background: #ffffff;
    }
    #navigation .sp-info {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        margin: 2em 0;
    }
    #navigation .sp-info div { width: 48%; }
    #navigation .sp-tel { width:100%; }
    #navigation .sp-tel a {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        color: #e85387;
        font-size: 8vw;
        font-weight: bold;
        letter-spacing: 0.05em;
        font-family: "Zen Maru Gothic", "源柔ゴシック", "Rounded M PLUS", sans-serif !important;
    }
    #navigation .sp-tel a img {
        margin-right: 0.25em;
        width: 0.6em;
    }
}

@media only screen and (max-width: 639px) {
    #navigation .spmenu li img {
        width: 100%;
        height: auto;
    }
    #navigation .spmenu .tab { display: none; }
    #navigation .spmenu .sp { display: block; }
    #navigation .menu-bottom { width: 94%; }
    #navigation .sp-tel a { font-size: 9vw; }
}

@media only screen and (max-width: 374px) {
    #navigation ul.cc-nav-level-0 li a { font-size: 16px; }
}

@media only screen and (min-width: 1024px) {
    #navigation .scroll { display: none !important;}
}

/*  Page
----------------------------------------------- */

.cc-page-index .top-image img.top,
#page-2242492673 .top-image img.about-image,
#page-2242492773 .top-image img.qualification-image,
#page-2242492973 .top-image img.third-jhss-image,
#page-2242501873 .top-image img.transferring-image,
#page-2242525473 .top-image img.open-campus-image,
#page-2242540073 .top-image img.business-image,
#page-2242525373 .top-image img.staff-image,
#page-2242502373 .top-image img.q-a-image { display: none; }

.cc-page-index .sp-top-image img.top,
#page-2242492673 .sp-top-image img.about-image,
#page-2242492773 .sp-top-image img.qualification-image,
#page-2242492973 .sp-top-image img.third-jhss-image,
#page-2242501873 .sp-top-image img.transferring-image,
#page-2242525473 .sp-top-image img.open-campus-image,
#page-2242540073 .sp-top-image img.business-image,
#page-2242525373 .sp-top-image img.staff-image,
#page-2242502373 .sp-top-image img.q-a-image { display: block; }

@media only screen and (min-width: 768px) {
    .cc-page-index .top-image img.top,
    #page-2242492673 .top-image img.about-image,
    #page-2242492773 .top-image img.qualification-image,
    #page-2242492973 .top-image img.third-jhss-image,
    #page-2242501873 .top-image img.transferring-image,
    #page-2242525473 .top-image img.open-campus-image,
    #page-2242540073 .top-image img.business-image,
    #page-2242525373 .top-image img.staff-image,
    #page-2242502373 .top-image img.q-a-image { display: block; }
    .cc-page-index .sp-top-image img.top,
    #page-2242492673 .sp-top-image img.about-image,
    #page-2242492773 .sp-top-image img.qualification-image,
    #page-2242492973 .sp-top-image img.third-jhss-image,
    #page-2242501873 .sp-top-image img.transferring-image,
    #page-2242525473 .sp-top-image img.open-campus-image,
    #page-2242540073 .sp-top-image img.business-image,
    #page-2242525373 .sp-top-image img.staff-image,
    #page-2242502373 .sp-top-image img.q-a-image { display: none; }
}

@media only screen and (max-width: 640px) {
    #cc-m-11613858573,
    #cc-m-11613870973,
    #cc-m-11613872873,
    #cc-m-11613874373,
    #cc-m-all-content-11613870973,
    #cc-m-all-content-11613872873,
    #cc-m-all-content-11613874373,
    #cc-m-all-content-11613885873,
    #cc-m-all-content-11613887573,
    #cc-m-all-content-11613888973,
    #cc-m-all-content-11613895473,
    #cc-m-all-content-11613897273,
    #cc-m-all-content-11613901173 {
        display: flex;
        flex-direction: column-reverse;
        margin: 0 auto;
        width: 100%;
        max-width: 700px;
    }
}

/*  TOP
----------------------------------------------- */

:root {
    --bg: #fdeaea;         /* 外側の薄ピンク */
    --card-bg: #fff;       /* 内側カード */
    --card-radius: 22px;
    --border: rgba(0,0,0,.06);
    --accent: #f2779a;     /* 見出し/日程のピンク */
    --pill: #ee87a0;       /* 左のピル色 */
    --text: #333;
    --w: 1200px;           /* 最大幅 */
}

* { box-sizing:border-box }

.consult-wrap {
    background: var(--bg);
    padding: 36px 16px;
}

.consult-card {
    max-width: var(--w);
    margin: 0 auto;
    background: var(--card-bg);
    border-radius: var(--card-radius);
    box-shadow: 0 0 0 1px var(--border);
    padding: 28px min(4vw,40px) 34px;
    color: var(--text);
}

/* 上部リードテキスト */
.lead {
    text-align: center;
    margin: 0 0 18px;
    font-size: clamp(16px, 1.25vw, 21px);
    line-height: 1.8;
}

/* メイン行：左ピル／中央スロット／右イラスト */
.consult-row {
    display: grid;
    grid-template-columns: 120px 1fr 240px;
    align-items: center;
    gap: clamp(16px, 3vw, 28px);
}

/* 左の「9月」ピル */
.month-pill {
    width: 120px;
    height: 200px;
    background: var(--pill);
    border-radius: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    line-height: 1;
}
.month-pill .num {
    font-weight: 800;
    font-size: 46px;
}
.month-pill .kanji {
    font-weight: 700;
    font-size: 22px;
    margin-top: 6px;
}

/* 日程（ピンクで大きめ） */
.slots {
    color: var(--accent);
    font-weight: 800;
    font-size: clamp(18px, 2.4vw, 40px);
    line-height: 1.6;
    letter-spacing: .02em;
}
.slots .wd {
    font-weight: 700;
    font-size: .7em;     /* 曜日を少し小さく */
}
.slots .time {
    font-weight: 400;
    font-size: .5em;     /* 曜日を少し小さく */
}

/* 右イラスト（任意画像） */
.illust {
    display: grid;
    place-items: center;
}
.illust img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ── レスポンシブ ───────────────────────── */
@media (max-width: 980px) {
    .consult-row {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .illust {
        display: block;
        width: 30%;
    } /* 余白優先で非表示（必要なら残してOK） */
    .month-pill {
        width: 100%;
        height: auto;
        padding: 0.5em 0;
    }
}

@media (max-width: 560px) {
    .consult-card { padding: 20px 16px 24px; }
    .lead { text-align: left; }
    .month-pill .num { font-size: 44px; }
    .month-pill .kanji { font-size: 22px; }
    .slots {
        font-size: clamp(16px, 5vw, 22px);
        font-weight: 700;
    }
}

:root {
    /* レイアウトと色 */
    --page-bg: #FCE9E8;          /* 全体の薄ピンク */
    --badge: #69a25e;            /* 役職バッジ（緑） */
    --name: #3a3a3a;             /* 日本語名 */
    --muted: #9aa0a6;            /* 英字名 */
    --bio-bg: #fff;
    --radius: 20px;
    /* 重なり量（画像が下の白カードに食い込む） */
    --overlap: 26px;
}

* { box-sizing: border-box; }
body {
    margin:0;
    font-family:"Hiragino Sans","Noto Sans JP",system-ui,sans-serif; color:#333;
}

/* 背景とグリッド */
.team-wrap {
    background: var(--page-bg);
    padding: 48px 18px;
}
.team-grid {
    max-width: 980px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 46px 34px;
}

/* 1枚のカード */
.staff-card {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 14px;
    /* 以前の「カード全体の影（::before）」は削除 */
}

/* ===== 写真：上レイヤー＋下の白カードへ重ねる＋影は写真だけ ===== */
.photo {
    position: relative;
    width: 240px;
    aspect-ratio: 3 / 4;
    border-radius: calc(var(--radius) + 6px);
    overflow: hidden;
    background: #ddd;
    border: 8px solid #fff;                 /* 写真まわりの白フチ */
    z-index: 2;                              /* 白カードより前面 */
    margin-bottom: calc(-1 * var(--overlap));/* 下のカードに食い込ませる */
    box-shadow: 0 14px 26px rgba(0,0,0,.12), /* メインの落ち影 */
                0 2px 6px rgba(0,0,0,.08);  /* 近接の柔らかい影 */
}
.photo img {
    width:100%; height:100%; object-fit: cover; display:block;
}

/* ===== 白いプロフィールカード（背面） ===== */
.bio {
    width: 280px;
    background: var(--bio-bg);
    border-radius: 22px;                            /* 上も丸く */
    padding: calc(18px + var(--overlap)) 18px 22px; /* 画像重なり分だけ上に余白 */
    box-shadow: 0 0 0 1px rgba(0,0,0,.05) inset;    /* 内側の細い縁だけ */
    margin-top: 0;
    text-align: center;
    z-index: 0;                                     /* 写真より背面 */
}

/* テキスト */
.name-ja {
    margin: 0 0 4px;
    font-size: 18px;
    color: var(--name);
    letter-spacing: .02em;
    font-weight: 700;
}
.name-en {
    margin: 0 0 10px;
    font-size: 12px;
    color: var(--muted);
    letter-spacing: .08em;
}
.label {
    margin: 10px 0 6px;
    font-size: 13px;
    color:#666;
}
.dots {
    margin: 0 0 6px;
    color:#777;
    font-size: 14px;
    letter-spacing:.12em; }

/* 縦の役職バッジ（左肩） */
.role-badge {
    position: absolute;
    top: -10px;
    left: -10px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    background: var(--badge);
    color:#fff;
    border-radius: 30px;
    padding: 20px 0;
    font-size: 25px;
    font-weight: 400;
    letter-spacing: .1em;
    box-shadow: 0 0 0 6px #fff;  /* 白の縁取り */
    z-index: 3;                  /* 写真より前に載せたい場合は3のまま */
}

/* レスポンシブ */
@media (max-width: 1024px) {
    .team-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    :root{ --overlap: 16px; } /* スマホは重なり量を控えめに */
    .team-grid {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .staff-card { max-width: 44%; }
    .bio{ width: 100%; }
}

:root {
    --page-bg: #FCE9E8;      /* 外側の薄ピンク */
    --card-bg: #fff;         /* カードの白 */
    --card-border: #f0c6cf;  /* カード枠（淡いピンク） */
    --accent: #e57f96;       /* アイコン／ボタンのピンク */
    --radius: 26px;          /* 角丸 */
}

* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: "Hiragino Sans","Noto Sans JP",system-ui,sans-serif;
}

.more-staff-wrap {
    background: var(--page-bg);
    padding: 28px;
    display: grid;
    place-items: center;
}

/* カード */
.more-staff-card {
    width: min(360px, 90%);
    aspect-ratio: 1 / 1.14;             /* だいたい縦長 */
    background: var(--card-bg);
    border-radius: var(--radius);
    border: 3px solid var(--card-border);
    padding: 30px 22px 26px;
    display: grid;
    grid-template-rows: 1fr auto;       /* 上：アイコン / 下：ボタン */
    gap: 18px;
    /* スクショの淡い外周影っぽさ */
    box-shadow: 0 2px 0 rgba(0,0,0,.02) inset;
}

/* アイコン */
.more-icon {
    display: grid;
    place-items: center;
}
.more-icon img {
    width: 120px;
    height: 120px;
    stroke: var(--accent);
    fill: none;
    stroke-width: 6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ボタン（ピル） */
.more-cta {
    display: grid;
    grid-auto-flow: column;
    justify-content: center;
    align-items: center;
    gap: 14px;
    height: 64px;
    background: var(--accent);
    color: #fff !important;
    text-decoration: none;
    border-radius: 999px;
    font-weight: 700;
    font-size: clamp(16px, 2.6vw, 20px);
    letter-spacing: .04em;
    position: relative;
}

/* 右矢印 */
.more-cta::after {
    content: ">";
    font-weight: 800;
    opacity: .95;
}

/* ホバー */
.more-cta:hover { filter: brightness(1.05); transform: translateY(-1px); }
.more-cta:active { filter: brightness(0.98); transform: translateY(0); }

/* 角丸を少し大きく見せる内側カーブ（お好み） */
.more-staff-card { --inner-radius: calc(var(--radius) - 6px); }

:root {
    /* 配色・基本 */
    --page-bg: #FCE9E8;
    --card-bg: #fff;
    --card-radius: 26px;
    --text: #333;
    --muted: #b6bcc3;
    --ribbon: #5b9452;     /* 学院長 縦帯 */
    --plate: #e8cfd1;      /* 写真背面プレート */
    /* レイアウト可変値 */
    --padY: clamp(20px, 4vw, 44px); /* カード上下の余白（リボン位置基準にも使用） */
    --right-col: 360px;             /* 右側（写真側）カラム幅：小さくしました */
    --photo-max: 320px;             /* 写真ブロック最大幅：小さくしました */
}

* { box-sizing:border-box; }
body {
    margin:0;
    font-family:"Hiragino Sans","Noto Sans JP",system-ui,sans-serif;
    color:var(--text);
}

.principal-wrap {
    background: var(--page-bg);
    padding: 28px 16px 40px;
}

.principal-card {
    position: relative; /* リボンの基準 */
    max-width: 1200px;
    margin: 0 auto;
    background: var(--card-bg);
    border-radius: var(--card-radius);
    box-shadow: 0 0 0 1px rgba(0,0,0,.06);
    padding: var(--padY) clamp(20px, 4vw, 44px);
    display: grid;
    grid-template-columns: 1.15fr var(--right-col); /* 左テキスト／右写真 */
    gap: clamp(20px, 4vw, 40px);
}

/* 左：本文 */
.principal-text {
    font-size: clamp(16px, 1.55vw, 22px);
    line-height: 2.1;
    letter-spacing: .02em;
}
.principal-text p { margin: 0 0 1.6em; }

/* 右：写真ブロック */
.principal-profile {
    position: relative;
    display: grid;
    justify-items: center;
    align-content: start;
    gap: 16px;
}

/* ── 学院長リボン（白枠の上端に接する・上辺フラット） ──
    ※ HTMLは前回のまま（.principal-profile内の<span class="ribbon">）でOK。
    カードのpadding量を使って、白枠の上端にピタッと合わせます。 */
.ribbon {
    position: absolute;
    top: calc(-1 * var(--padY));   /* カード上端に接する */
    left: 10%;
    transform: translateX(-50%);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    background: var(--ribbon);
    color: #fff;
    border: 5px solid #fff;
    border-radius: 0 0 35px 35px;  /* 上辺フラット／下だけ丸める */
    padding: 30px 0;
    font-size: 25px;
    font-weight: 700;
    letter-spacing: .15em;
    box-shadow: none;              /* 白縁は無し＝“スパッと”切れる */
    z-index:10;
}

/* 写真の背面プレート（角丸帯） */
.photo-stack {
    position: relative;
    width: 100%;
    max-width: var(--photo-max);
}
.photo-plate {
    position: absolute;
    inset: -16px 14px 16px -16px;  /* 左上に少しはみ出す */
    background: var(--plate);
    border-radius: 30px;
    z-index: 0;
}

/* 写真（少し小さめ） */
.photo {
    position: relative;
    z-index: 1;
    width: 100%;
    aspect-ratio: 3 / 4;
    border-radius: 24px;
    overflow: hidden;
    border: 10px solid #fff;
    box-shadow: 0 16px 28px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.08);
}
.photo img {
    width: 100%; height: 100%;
    object-fit: cover; display:block;
}

/* 氏名 */
.principal-name {
    text-align: center;
    margin-top: 16px;
}
.principal-name .jp {
    font-weight: 800;
    font-size: clamp(20px, 2.4vw, 34px);
    letter-spacing: .06em;
}
.principal-name .en {
    margin-top: 6px;
    font-size: clamp(11px, 1.1vw, 16px);
    letter-spacing: .18em;
    color: var(--muted);
}

/* レスポンシブ */
@media (max-width: 980px) {
    .principal-card {
        display: flex;
        flex-direction: column-reverse;
        box-shadow: none;
        background: none;
    }
    .principal-profile {
        max-width: 520px;
        margin-inline: auto;
    }
    .ribbon {
        left: 0px;
        right: auto;
        transform: none;
    } /* 1カラム時は右寄せに */
}

@media (max-width: 640px) {
    .ribbon {
        left: 5vw;
        right: auto;
        transform: none;
    } /* 1カラム時は右寄せに */
    .photo {
        margin: 0 auto;
        width: 80%;
        max-width: 360px;
    }
}

@media (max-width: 560px) {
    .photo-plate{ inset: -12px 10px 12px -12px; border-radius: 24px; }
    .photo{ border-radius: 20px; }
    .role-badge { font-size: 4.5vw; }
}

@media (max-width: 425px) {
    .ribbon { font-size: 5.2vw; }
    .role-badge {
        left: -2vw;
        font-size: 4vw;
    }
}

.interview { background: #fce9e8; }

.full-screen-inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1100px;
    box-sizing: border-box;
    background: #fff;
}

.privy-img { width: 100%; }

.gray {
    padding: 2rem;
    background: #ededed;
}

.gray p {
    padding-bottom: 2em;
    line-height: 2 !important;
}

.privy-botton {
    margin: 0 auto;
    width: 80%;
    position: relative;
}

.privy-botton-inner {
    display: block;
    border-radius: 35px;
    padding: 1em 1.5em;
    text-align: center;
    color: #fff !important;
}

.privy-botton-inner::after {
    content: "";
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    position: absolute;
    top: 42%;
    right: 10%;
    transform: rotate(45deg);
}

@media only screen and (max-width: 980px) {}

.green1 { background: #6ba27d; }

.green2 { background: #80a54a; }

.green3 { background: #5d8b4c; }

.green4 { background: #689f56; }

.green5 { background: #68a056; }

.pink { background: #ea7893; }

.s-white { color: #fff !important; }

.s-yellow { color: #fff13f !important; }

@media only screen and (min-width: 641px) {
    .privy-botton { width: 95%; }
}

@media only screen and (min-width: 768px) {
    .privy-botton { width: 90%; }
}

@media only screen and (min-width: 1024px) {
    .privy-botton { width: 80%; }
}

/*  ABOUT
----------------------------------------------- */