/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

:root {
    --brown: #8F705F;
    --beige: #CAB29B;
    --pink: #CE7B8B;
    --p-pink: #FAEEEA;
    --black: #2B2824;

    --shadow: 0 1px 5px rgba(104, 104, 104, 0.8);
    --en: "Spectral SC", serif;
}
*,
*:before,
*:after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    font-size: 62.5%;
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: "Shippori Mincho", serif;
    font-size: 1.6rem;
}
p {
    font-size: 1.6rem;
    font-family: "Shippori Mincho", serif;
    color: #2B2824;
    margin: 0;
    line-height: 2;
}

h1 {
    margin: 0;
}
h2 {
    display: flex;
    justify-content: center;
    margin: 0;
}
ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

a {
    text-decoration: none;
    color: #2B2824;
    font-size: 1.6rem;
    transition: all .4s;
}
a:hover {
    opacity: .6;
}
.txt {
    text-align: center;
    margin-bottom: 5rem;
}

/*===================================================

PC HEADER

====================================================*/
header {
    position: fixed;
    width: 100%;
    display: block;
    z-index: 100;
}
.hd-inner {
    padding: 1rem 0 1rem 1rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.hd-flex.pc-only {
    display: flex !important;
    justify-content: center;
}
.fixed {
    transition: all .4s;
}
.h1-link {
    padding-top: 1rem;
}
#logo-w {
    width: 110px;
    display: block;
    color: #fff;
}
.fixed #logo-w {
    color: #000;
}
.hd-list {
    display: flex;
    justify-content: center;
}
.hd-item {
    margin: 0 1rem;
    margin-right: 2vw;
}
.hd-cta-list {
    display: flex;
    justify-content: center;
}
.hd-cta-item:not(:nth-child(2)) {
    margin: 0 0.25rem;
}
.hd-cta-item a {
    background: var(--brown);
    color: #fff;
    padding: 3rem;
}
.hd-cta-item a:hover {
    background: #fff;
    color: var(--brown);
}
.hd-item a {
    color: #fff;
}
.hd-item a:hover {
    opacity: .6;
}
.fixed .hd-item a {
    color: #000;
}


/*===================================================

PC FV

====================================================*/
.fv {
    height: calc(100svh - 50px);
    width: 100%;
}
.fv-wrap {
    position: relative;
    height: 100%;
}
.fv .slick-track {
    height: 100%;
}
.fv-slide-list {
    margin: 0;
    height: 100%;
}
.fv .slick-list {
    height: 100%;
}
.fv-slide-list img {
    width: 100%;
    object-fit: cover;
    height: 100%;
}
.fv-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 500px;
    height: auto;
}
.fv-logo-wrap {
    position: relative;
}
#fv-logo {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
}
.square-img {
    position: absolute;
    top: -50%;
    left: 0;
    animation: rotateAnimation 5s linear infinite;
}

@keyframes rotateAnimation {
    from {
        transform: rotate(360deg);
    }
    to {
        transform: rotate(0deg);
    }
}
/*===================================================

PC COMMON

====================================================*/
.inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 8rem 5rem;
}
.hdg-area {
    text-align: center;
    margin-bottom: 5rem;
}
/* .hdg-en {
    margin-bottom: 1rem;
} */
.hdg-img {
    max-width: 500px;
}
.hdg-h2 {
    font-size: 1.7rem;
    font-weight: normal;
}
/* BTN */
.btn {
    color: #fff;
    padding: 2rem 0;
    min-width: 220px;
    display: block;
    width: 2.5rem;
    text-align: center;
    border-radius: 10rem;
    margin: 0 auto;
    transition: all .4s;
}
a.btn:hover {
    opacity: 1;
}
.p-btn {
    background: var(--pink);
    /* border: 1px solid var(--pink); */
}
.b-btn {
    background: var(--brown);
    border: 1px solid var(--brown);
}
.w-btn {
    background: #fff;
    color: #2B2824;
}
.w-btn:hover {
    background: var(--brown);
    color: #fff;
}
.p-btn:hover {
    background: #fff;
    color: var(--pink);
}
.b-btn:hover {
    background: #fff;
    color: var(--brown);
}
/*===================================================

PC TODAY

====================================================*/
.today {
    background: url(/wp-content/uploads/2026/02/dairiseki.jpg);
    background-size: cover;
    background-repeat: repeat;
}
/* .today .inner {
    padding: 8rem 0;
    max-width: unset;
} */
.t-slide-list {
    display: flex;
    justify-content: center;
    margin-bottom: 5rem;
}
.t-slide-item {
    width: 40rem;
    margin: 0 1%;
}
.t-slide-item img {
    width: 100%;
    display: block;
}
.t-slide-en {
    font-family: var(--en);
    color: var(--brown);
    font-size: 1.6rem;
    line-height: 1.1;
    margin-top: 1rem;
}
.t-slide-h3 {
    margin: 0;
    font-weight: normal;
    font-size: 2rem;
}

.today .slick-list {
    margin: 0 -1rem;
}
.today .slick-slide {
    margin: 0 1rem;
}
.slick-slider.t-slide-list {
    margin: 0 0 4rem;
}
.slick-slide.t-slide-item {
    height: auto;
}

/*===================================================

PC PICKUP

====================================================*/

.pickup {
    background: url(/wp-content/uploads/2026/02/pickup-bk.jpg);
    background-size: cover;
    background-repeat: repeat;
}
.pickup .hdg-h2 {
    color: #fff;
}
.picukp-wrap {
    background: #fff;
    padding: 3rem;
    display: flex;
}
.pickup-l {
    flex-basis: 50%;
    position: relative;
}
.pickup-t-img {
    width: 100%;
}
.pickup-circle {
    position: absolute;
    top: 0;
    left: 0;
    max-width: 150px;
    width: 10vw;
}
.pickup-circle img {
    width: 100%;
}
.pickup-r {
    flex-basis: 50%;
}
.pickup-img {
    max-width: 400px;
    margin-left: -4rem;
    position: relative;
    z-index: 1;
}
.pickup-info {
    padding: 3rem;
}
.pickup-name {
    margin: 0 0 1rem;
}
.pickup-name--ja {
    font-size: 2.5rem;
    font-weight: normal;
    margin-right: 1rem;
}
.pickup-name--en {
    font-size: 1.6rem;
    font-family: var(--en);
    font-weight: 600;
    color: var(--brown);
}
.pickup-card {
    margin: 0;
}
.pickup-item {
    display: flex;
    margin-bottom: 1rem;
    border-bottom: 1px dotted;
    padding-bottom: 1rem;
}
.pickup-dt {
    color: var(--brown);
    padding-left: 1rem;
}
.pickup-item:first-child {
    border-top: 1px dotted;
    padding-top: 1rem;
}
.pickup-dd {
    margin: 0 0 0 3rem;
}
.pickup-dd a {
    display: block;
    width: 20px;
}
.pickup-dd a img {
    width: 100%;
}
/*===================================================

PC COURSE

====================================================*/
.course {
    background: var(--p-pink);
}
.course-wrap {
    background: #fff;
}
.tab-switch {
    display: flex;
    flex-wrap: wrap;
}

.course-en {
    font-size: 2.4rem;
    font-family: var(--en);
    display: block;
    color: #c3c3c3;
}
.course-ja {
    color: #c3c3c3;
}
/* ラジオ非表示 */
.tab-switch input {
    display: none;
}

/* タブボタン */
.tab-switch label {
    width: 50%;
    padding: 2.5rem 1rem;
    cursor: pointer;
    order: -1;
    text-align: center;
    border-bottom: 2px solid #c3c3c3;
    transition: all .4s;
}
.tab-switch label:hover {
    opacity: .5;
}
/* コンテンツ非表示 */
.tab-content {
    display: none;
    width: 100%;
    padding: 4rem 5rem 5rem;
}

/* 選択されたタブ＋コンテンツ表示 */
.tab-switch input:checked+label.tab1 {
    border-bottom: 3px solid var(--pink);
}
.tab-switch input:checked+label.tab2 {
    border-bottom: 3px solid var(--brown);
}
.tab-switch input:checked+label .emu-c {
    color: var(--pink);
}
.tab-switch input:checked+label .pre-c {
    color: var(--brown);
}
.tab-switch input:checked+label+.tab-content {
    display: block;
}

.course-en .pc-only {
    display: inline-block !important;
}
.course-container {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5rem;
}
.emu .course-container {
    flex-direction: row-reverse;
}
.course-ex {
    flex-basis: 50%;
    padding: 0 2rem;
}
.course-pic {
    flex-basis: 45%;
}
.course-img {
    width: 100%;
}
.course-copy {
    font-size: clamp(1.8rem, 2vw, 2.5rem);
    line-height: 1.6;
    text-align: center;
    margin-bottom: 3rem;
}
.price-list {
    margin: 0 0 3rem;
}
.price-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
}
.p-small {
    font-size: 1.5rem;
}
.price-item span {
    font-family: var(--en);
    margin-right: 1rem;
}
.price-num {
    color: var(--brown);
    font-size: 1.6rem;
}

.price-dot {
    flex: 1;
    border-bottom: 2px dotted;
    transform: translateY(-1rem);
}
.course-sub {
    background: #F7F6F4;
    width: 75%;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    padding: 3rem;
}
.course-gokueki {
    flex-basis: 20%;
    margin-right: 3rem;
    max-width: 120px;
}
.course-sub-ex {
    flex-basis: 80%;
}
.course-hdg {
    font-size: 2.2rem;
    border-bottom: 1px solid;
    margin-bottom: 1rem;
}

/*===================================================

PC OPTION

====================================================*/
.option {
    background: var(--p-pink);
}
.option-wrap {
    background: #fff;
    padding: 5rem;
}
.option .p-small {
    text-align: center;
}
.price-list {
    background: #F7F6F4;
    padding: 3rem;
    max-width: 700px;
    margin: 3rem auto;
}
/*===================================================

PC CAMPAIGN

====================================================*/
.campaign {
    background: var(--p-pink);
}
.campaign-img {
    max-width: 650px;
    margin: 0 auto 4rem;
    width: 100%;
    display: block;
}
/*===================================================

PC CAUTION

====================================================*/
.caution {
    background: #EAE7E6;
}
.caution-wrap {
    background: #fff;
    padding: 8rem 5rem;
}
.caution-sec {
    max-width: 650px;
    margin-inline: auto;
}
.caution-sec:not(:nth-child(3)) {
    margin-bottom: 3rem;
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 3rem;
}
.caution-sec {
    max-width: 650px;
    margin-inline: auto;
}
.caution-h2 {
    font-size: 2rem;
    font-weight: normal;
    color: var(--brown);
    display: flex;
    justify-content: flex-start;
    margin-bottom: 1rem;
}
.caution-list {
    margin: 0;
    list-style: circle;
    padding-left: 2rem;
}
ol.caution-list {
    list-style: decimal;
}
.caution-item {
    margin-bottom: 1rem;
}
.caution-txt {
    font-size: 2rem;
    text-align: center;
    margin: 5rem auto 0;
    color: var(--brown);
}
/*===================================================

PC MIDDLE

====================================================*/

.middle-wrap {
    position: relative;
    height: 300px;
}
.middle-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: inset(0);
}
.middle-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100svh;
    background-image: url(/wp-content/uploads/2026/02/middle.jpg);
    background-size: cover;
    background-position: center;
    z-index: -1;
}
/*===================================================

PC NEWS

====================================================*/
.top-news {
    padding-bottom: 5rem;
    background: url(/wp-content/uploads/2026/02/dairiseki.jpg);
    background-size: cover;
}
.top-news .inner {
    display: flex;
    justify-content: space-between;
    padding-bottom: 0;
}
.top-news .hdg-en {
    max-width: 170px;
}

.top-news .hdg-img {
    width: 100%;
}
.top-news .hdg-h2 {
    justify-content: left;
    padding-left: 2rem;
}
.top-news .hdg-area {
    flex-basis: 20%;
}
.top-news-list {
    flex-basis: 80%;
    padding-left: 5rem;
}
.top-news-item {
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 4rem;
    margin-bottom: 4rem;
}

.top-news-item a {
    display: flex;
    align-items: center;
}
.top-news-h3 {
    margin: 0;
    font-weight: normal;
    letter-spacing: 1.6px;
    font-size: 1.6rem;
}
time {
    font-family: var(--en);
    color: var(--brown);
    margin-right: 2rem;
}

/*===================================================

PC RECRUIT

====================================================*/
.recruit {
    background: var(--p-pink);
}
.top-wrap {
    background: #fff;
    padding: 8rem 5rem 5rem;
    margin-bottom: 5rem;
}
.top-table {
    width: 100%;
    margin: 0 auto;
    max-width: 650px;
    table-layout: fixed;
    text-align: left;
    border: none;
    border-collapse: collapse;
}
.top-tr:not(:last-child) {
    border-bottom: 1px solid #e1e1e1;
}
.top-th {
    width: 30%;
    padding: 4rem 0;
    color: var(--brown);
    font-weight: normal;
    border: none;
}
.top-td {
    width: 70%;
    padding: 4rem 0;
    line-height: 2;
    border: none;
}
/*===================================================

PC LINK

====================================================*/
.link {
    background: url(/wp-content/uploads/2026/02/dairiseki.jpg);
}
.link-wrap {
    background: #F7F6F4;
    padding: 5rem;
}
.banner-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 5rem auto;
}
.banner-item {
    margin: 0 1rem 2rem;
    display: flex;
    align-items: center;
    flex-direction: column;
}
.banner-item a {
    font-size: 1.3rem;
    text-align: center;
}
/*===================================================

PC CTA

====================================================*/
.cta {
    background: url(/wp-content/uploads/2026/02/cta-bk.jpg);
    background-size: cover;
}
.cta .hdg-h2 {
    color: #fff;
}
.cta-txt {
    color: #fff;
    text-align: center;
    margin-bottom: 4rem;
}
.cta-list {
    display: flex;
    justify-content: center;
}
.cta-item {
    margin: 0 1rem;
}
/*===================================================

PC FOOTER

====================================================*/
footer {
    background: var(--brown);
    padding: 3rem;
}
.ft-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ft-inner a {
    margin-bottom: 1.5rem;
}
small {
    color: #fff;
    font-family: var(--en);
}
/*===================================================

PC ONLY

====================================================*/
.pc-only {
    display: block !important;
}
.sp-only {
    display: none !important;
}
/*===================================================

TOP TABLET CSS 

====================================================*/

@media (max-width: 1050px) {

    /* .pc-only {
        display: none !important;
    }
    .sp-only {
        display: block !important;
    } */


    /*============
nav
=============*/
    .fix-btn {
        position: fixed;
        bottom: 10px;
        right: 10px;
        z-index: 10;
    }

    .header {
        /* position: relative; */
        /* padding: 20px; */
    }

    .hamburger {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 100;
        width: 55px;
        height: 55px;
        border: none;
        background: unset;
        cursor: pointer;
        border-radius: 100px;
        transition: .3s;
    }
    .hamburger:hover {
        background: unset;
    }
    .hamburger:focus {
        background: unset;
    }
    .hamburger__line {
        position: absolute;
        left: 15px;
        width: 26px;
        height: 1px;
        background-color: #fff;
        transition: all .4s;
    }
    .hamburger.active .hamburger__line {
        background-color: #000;
    }
    .hamburger__line:nth-of-type(1) {
        top: 17px;
    }
    .hamburger__line:nth-of-type(2) {
        top: 26px;
    }
    .hamburger__line:nth-of-type(3) {
        top: 35px;
    }
    .fixed .hamburger__line {
        background-color: #000;
    }

    /* メニューオープン時 */
    .hamburger.active .hamburger__line:nth-of-type(1) {
        transform: translateY(9px) rotate(-45deg);
    }
    .hamburger.active .hamburger__line:nth-of-type(2) {
        opacity: 0;
    }
    .hamburger.active .hamburger__line:nth-of-type(3) {
        transform: translateY(-9px) rotate(45deg);
    }

    .nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100dvh;
        background-color: var(--p-pink);
        transform: translateX(-100%);
        transition: transform .4s;
        z-index: 90;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .nav__inner {
        display: flex;
        justify-content: center;
        flex-direction: column;
        overflow-y: scroll;
        width: 100%;
        /* height: 100dvh; */
        margin: 0 auto;
        padding: 5rem;
        background-color: var(--p-green);
        top: 45%;
        position: absolute;
        transform: translateY(-50%);
    }
    .nav.active {
        transform: translateX(0);
    }
    .nav__list {
        width: 100%;
    }
    .nav-item {
        text-align: center;
    }

    .nav-item a {
        display: flex;
        flex-direction: column;
        border-bottom: 1px dotted;
        padding: 2rem 0;
    }
    .nav-en {
        color: var(--brown);
        font-family: var(--en);
        font-size: 1.6rem;
    }
    .nav-ja {
        font-size: 2rem;
    }
    .nav-cta-item:first-child {
        margin-bottom: 1rem;
    }
    .nav-cta-item a {
        border-radius: unset;
    }

    .hd-flex.pc-only {
        display: none !important;
    }
    /* fix cta */
    .fix-cta {
        position: fixed;
        bottom: 0;
        left: 0;
        display: block;
        width: 100%;
        z-index: 100;
    }
    .fix-cta-list {
        margin: 0;
        display: flex;
        justify-content: space-between;
    }
    .fix-cta-item {
        flex-basis: 50%;
    }
    .fix-cta-item a {
        border-radius: unset;
        width: 100%;
        min-width: unset;
        font-size: 1.5rem;
    }
    .fix-cta-item:first-child {
        border-right: 1px solid #fff;
    }

}
/*===================================================

SP CSS 

====================================================*/


@media (max-width: 767px) {

    .pc-only {
        display: none !important;
    }
    .sp-only {
        display: block !important;
    }
    /*===================================================

SP COMMON

====================================================*/
    p {
        font-size: 1.5rem;
    }
    .hdg-img {
        width: 85%;
    }
    .inner {
        padding: 7rem 1rem;
    }
    .hdg-h2 {
        font-size: 1.5rem;
    }
    .hdg-area {
        margin-bottom: 3rem;
    }
    .txt {
        text-align: justify;
        padding: 0 1rem;
    }
    .p-small {
        font-size: 1.4rem;
        line-height: 1.8;
    }
    .btn {
        padding: 1.5rem 0;
    }
    /*===================================================

SP HEADER

====================================================*/
    #logo-w {
        width: 7rem;
    }




    /*===================================================

SP FV

====================================================*/
    .fv-logo {
        width: 60%;
    }
    .square-img {
        width: 110%;
        top: -70%;
        left: -5%;
    }
    /*===================================================

SP TODAY

====================================================*/
    .today .inner {
        padding: 7rem 0;
    }
    .today .hdg-area {
        padding: 0 2rem;
    }
    .t-slide-h3 {
        line-height: 1;
        font-size: 1.6rem;
    }
    .today .slick-list {
        margin: unset;
    }
    .today .slick-slide {
        margin: 0 0.8rem;
        width: 25rem !important;
    }
    .t-slide-en {
        margin: 1rem 0 .5rem;
    }

    .t-slide-list {
        margin-bottom: 4rem;
    }
    /*===================================================

SP PICKUP

====================================================*/
    .pickup .inner {
        padding: 7rem 2rem;
    }
    .picukp-wrap {
        flex-direction: column;
        padding: 5rem 1rem 1rem;
        position: relative;
        margin-bottom: 3rem;
    }
    .pickup-l {
        position: unset;
    }
    .pickup-circle {
        max-width: 90px;
        right: 1rem;
        left: unset;
        top: 1rem;
        width: 100%;
    }
    .pickup-img {
        width: 60%;
        position: absolute;
        top: 0;
        left: 5rem;
    }

    .pickup-info {
        padding: 1rem 0.5rem 0;
        display: flex;
        justify-content: space-between;
        align-items: center
    }
    .pickup-name {
        display: flex;
        flex-direction: column;
    }
    .pickup-name--ja {
        font-size: 2.2rem;
    }
    .pickup-name--en {
        font-size: 1.5rem;
    }
    .pickup-card {
        display: flex;
        flex-direction: column-reverse;
    }
    .pickup-item {
        border: unset;
        margin: 0;
        padding: 0;
    }
    .pickup-item.sns {
        display: flex;
        flex-direction: row-reverse;
    }
    .pickup-item:first-child {
        border: unset;
        padding: 0;
    }

    .pickup-dt {
        font-size: 1.4rem;
    }
    .pickup-dd {
        font-size: 1.4rem;
        margin-left: 1rem;
    }

    /*===================================================

SP COURSE

====================================================*/
    .course-en .pc-only {
        display: none !important;
    }
    .course-en {
        font-size: 2rem;
        line-height: 1;
    }
    .course-ja {
        font-size: 1.4rem;
    }
    .tab-content {
        padding: 2rem;
    }
    .course-container {
        flex-direction: column;
        margin-bottom: 3rem;
    }
    .emu .course-container {
        flex-direction: column;

    }
    .course-ex {
        padding: 0;
        display: contents;
    }
    .course-copy {
        font-size: clamp(1.6rem, 5vw, 1.8rem);
        margin-bottom: 2rem;
        order: 1;
    }
    .course-pic {
        order: 2;
    }
    .price-list {
        margin: 0 0 2rem;
        padding: 1rem 2rem 0;
        order: 3;
    }
    .price-item {
        font-size: 1.4rem;
    }
    .course-ex .p-small {
        order: 4;
    }
    .course-img {
        height: 24dvh;
        object-fit: cover;
        margin-bottom: 2rem;
    }
    .course-sub {
        background: unset;
        width: 100%;
        padding: 0;
        flex-direction: column;
        align-items: center;
    }
    .course-sub picture {
        width: 30%;
        display: block;
        height: auto;
        margin-bottom: -3rem;
        position: relative;
        z-index: 1;
    }
    .course-gokueki {
        flex-basis: unset;
        width: 100%;
    }
    .course-sub-ex {
        flex-basis: 100%;
        background: #F7F6F4;
        padding: 3rem 1.5rem 2rem;
    }
    .course-hdg {
        font-size: 1.8rem;
        text-align: center;
        margin-top: 0.5rem;
    }
    /*===================================================

SP OPTION

====================================================*/
    .option .inner,
    .campaign .inner {
        padding-top: 0;
    }
    .option .txt {
        text-align: justify;
        padding: 0 1rem;
        margin-bottom: 2rem;
    }
    .option-wrap {
        margin: 3rem 0 0;
        padding: 2rem 2rem 1rem;
    }
    .option .price-list {
        background: unset;
        padding: 0;
        margin: 0;
    }
    /*===================================================

SP CAMPAIGN

====================================================*/
    .campaign .txt {
        margin-bottom: 2rem;
    }
    /*===================================================

SP CAUTION

====================================================*/
    .caution-wrap {
        padding: 3rem 2rem;
    }
    .caution-h2 {
        font-size: 1.8rem;
    }
    .caution-item {
        font-size: 1.5rem;
        line-height: 2;
        margin-bottom: 1rem;
    }
    .caution-sec:not(:nth-child(3)) {
        margin-bottom: rem;
        padding-bottom: 2rem;
    }
    .caution-txt {
        font-size: 1.5rem;
    }
    /*===================================================

SP MIDDLE

====================================================*/
    .middle-wrap {
        height: 20svh;
        min-height: 100px;
    }
    /*===================================================

SP NEWS

====================================================*/
    .top-news .inner {
        flex-direction: column;
        align-items: center;
    }
    .top-news .hdg-area {
        margin-bottom: 5rem;
    }
    .top-news .hdg-en {
        max-width: 100px;
    }
    .top-news .hdg-h2 {
        padding: 0;
        justify-content: center;
    }
    .top-news-list {
        margin: 0 0 2rem;
        padding: 0 2rem;
        flex-basis: 100%;
        width: 100%;
    }
    .top-news-item a {
        flex-direction: column;
        align-items: baseline;
        display: flex;
    }
    .top-news-item {
        margin-bottom: 3rem;
        padding-bottom: 3rem;
    }
    time {
        font-size: 1.4rem;
    }
    /*===================================================

SP RECRUIT

====================================================*/
    .top-wrap {
        padding: 2rem;
    }
    .top-th {
        width: 100%;
        display: block;
        padding: 2rem 0 0;
        font-size: 1.5rem;
    }
    .top-td {
        width: 100%;
        display: block;
        padding: 0 0 2rem;
        font-size: 1.5rem;
    }
    /*===================================================

SP LINK

====================================================*/
    .link-wrap {
        padding: 2rem;
    }
    /*===================================================

SP CTA

====================================================*/
    .cta-list {
        flex-direction: column;
    }
    .cta-item:first-child {
        margin-bottom: 1rem;
    }
}
/*===================================================

PC PAGE COMMON

====================================================*/
.page-hdg {
    padding: 14rem 5rem;
    background: url(/wp-content/uploads/2026/02/hdg-img.jpg);
    min-height: 200px;
}
.page-hdg__wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.page-h1 {
    font-size: 1.7rem;
    font-weight: normal;
}
.page-h1--en {
    width: 40%;
    max-width: 600px;
}
.page-h1--en img {
    width: 100%;
}
@media (max-width: 767px) {
    .page-h1--en {
        width: 100%;
    }
    .page-hdg {
        padding: 10rem 2rem;
    }
    .page-h1 {
        font-size: 1.5rem;
    }
}
/*===================================================

PC THERAPIST LIST

====================================================*/
#a-therapist .t-slide-list {
    justify-content: flex-start;
}
.t-slide-pic {
    overflow: hidden;
    display: block;
    margin-bottom: 0.5rem;
}
.t-slide-img:hover {
    transform: scale(1.1);
    transition: all .4s;
}

@media (max-width: 767px) {
    .therapist-list__wrap .inner {
        padding-bottom: 0;
    }
    #a-therapist .t-slide-list {
        flex-wrap: wrap;
    }
    #a-therapist .t-slide-item {
        width: 48%;
        margin-bottom: 5rem;
    }
    #a-therapist .t-slide-en {
        font-size: 1.2rem;
        line-height: 1.7;
        margin: 0;
    }
    #a-therapist .t-slide-h3 {
        font-size: 1.5rem;
    }
}
/*===================================================

PC THERAPIST PAGE

====================================================*/
.p-therapist-info {
    text-align: center;
    margin-bottom: 5rem;
}
.p-therapist-h1--en {
    font-family: var(--en);
    font-size: 6rem;
    color: var(--brown);
    line-height: 1.2;
}
.p-therapist-h1 {
    font-size: 2rem;
    font-weight: normal;
}
.p-therapist-age {
    font-size: 1.5rem;
    font-family: var(--en);
    margin-top: 1rem;
}

.p-therapist-slide .slick-slide {
    height: auto;
}
.p-therapist-slide {
    max-width: 420px;
    margin: 0 auto 8rem;
}
.p-therapist__list {
    margin-bottom: 1rem;
}
.p-therapist__item {
    width: 100%;
}
.p-therapist__item img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 2/3;
}
.p-thumbnail__item img {
    width: 40px;
    aspect-ratio: 1/1;
    object-fit: cover;
}
.p-thumbnail__item {
    margin-right: 0.5rem;
}



.p-therapist-sns {
    text-align: center;
    margin-bottom: 2rem;
}
.p-therapist-sns__ttl {
    font-size: 1.5rem;
    font-family: var(--en);
    color: var(--brown);
}
.p-therapist-sns__link {
    width: 20px;
    display: block;
    margin: 0 auto;
}
.p-therapist-sns__link img {
    width: 100%;
}
.p-therapist-comment__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px dotted;
    padding-bottom: 3rem;
    margin-bottom: 3rem;
}
.p-therapist-comment__ttl {
    flex-basis: 30%;
    padding-left: 1rem;
    font-family: var(--en);
    color: var(--brown);
    line-height: 1.2;
    font-size: 2rem;
}
.p-therapist-comment__txt {
    flex-basis: 70%;
}
.p-therapist-comment__list {
    max-width: 650px;
    margin: 1rem auto 8rem;
}
.p-therapist-comment__item:first-child {
    border-top: 1px dotted;
    padding-top: 3rem;
}
.page-h2__wrap {
    text-align: center;
    margin-bottom: 5rem;
}
.page-h2--en {
    font-size: 4.9rem;
    font-family: var(--en);
    color: var(--brown);
    line-height: 1.2;
}
.page-h2 {
    font-size: 1.6rem;
    font-weight: normal;
}
/* シフト */
#s-therapist table.attmgr_weekly {
    max-width: 950px;
    width: 100%;
    margin: 0 auto 5rem;
    border-collapse: collapse;
}
#s-therapist table.attmgr_weekly tr:first-child {
    background: var(--brown);
}
#s-therapist table.attmgr_weekly th {
    padding: 2rem;
    width: 14%;
    color: #fff;
    font-weight: normal;
    border-left: 1px solid #fff;
}
#s-therapist table.attmgr_weekly th:first-child {
    border-left: 1px solid var(--brown);
}
#s-therapist table.attmgr_weekly td {
    padding: 2rem;
    width: 14%;
    color: #000;
    font-weight: normal;
    text-align: center;
    border: 1px solid var(--brown);
}
/* #s-therapist table.attmgr_weekly tr:last-child .saturday {
    background: #e4eff9;
}
#s-therapist table.attmgr_weekly tr:last-child .sunday {
    background: #ffebeb;
} */

/* オリジナルの時間表示を消す */
#s-therapist table.attmgr_weekly td:not(.portrait),
#s-therapist table.attmgr_weekly_all td:not(.portrait) {
    font-size: 0;
}

/* 出勤時の表示を「出勤」に変える */
#s-therapist table.attmgr_weekly td.working::before,
#s-therapist table.attmgr_weekly_all td.working::before {
    font-size: 13px;
    content: "◯";
}

/* お休みの時の表示を「休み」に変える */
#s-therapist table.attmgr_weekly td.not_working::before,
#s-therapist table.attmgr_weekly_all td.not_working::before {
    font-size: 13px;
    content: "×";
}

#s-therapist .p-btn {
    border: 1px solid var(--pink);
}
/* other */
.other {
    background: var(--p-pink);
}
.other .t-slide-list {
    margin-bottom: 5rem;
}
.other .slick-slide {
    margin: 0 1rem;
}
@media (max-width: 767px) {
    .page-h2__wrap {
        margin-bottom: 2rem;
    }
    .p-therapist-h1--en {
        font-size: 3rem;
    }
    .p-therapist-h1 {
        font-size: 2rem;
    }
    .p-therapist-age {
        font-size: 1.4rem;
    }
    .p-therapist-slide {
        padding: 0 1rem;
        margin: 0 auto 5rem;
    }
    .p-therapist-comment__item {
        flex-direction: column;
    }
    .p-therapist-comment__ttl {
        padding: 0;
        margin-bottom: 1rem;
        font-size: 2rem;
    }
    .p-therapist-comment__txt {
        padding: 0 1rem;
        font-size: 1.5rem;
    }
    .page-h2--en {
        font-size: 3rem;
    }
    .page-h2 {
        font-size: 1.4rem;
    }
    #s-therapist table.attmgr_weekly {
        max-width: 100%;
        -ms-writing-mode: tb-lr;
        writing-mode: vertical-lr;
        margin: 0 0 3rem;
    }
    .table-date {
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
    }
    .attmgr_weekly tr {
        writing-mode: horizontal-tb;
        width: 50%;
    }
    #s-therapist table.attmgr_weekly th {
        font-size: 1.4rem;
        border-bottom: 1px solid #fff;
        writing-mode: horizontal-tb
    }
    #s-therapist table.attmgr_weekly th:first-child {
        border-left: unset;
        border-bottom: 1px solid #fff;
    }
    #s-therapist table.attmgr_weekly th:last-child {
        border-bottom: 1px solid var(--brown);
    }
    #s-therapist table.attmgr_weekly td {
        writing-mode: horizontal-tb
    }
    #s-therapist table.attmgr_weekly .date {
        display: inline;
        font-size: 1.4rem;
    }
    #s-therapist table.attmgr_weekly .dow {
        display: inline;
        font-size: 1.4rem;
    }
    .other .slick-slide {
        margin: 0 0.5rem;
    }
    #s-therapist .other .t-slide-item {
        width: 25rem;
    }
    .other .inner {
        padding: 5rem 0;
    }
    .other .page-h2__wrap {
        margin-bottom: 3rem;
    }
}

/*===================================================

NEWS LIST

====================================================*/
#a-news .top-news-item {
    margin-bottom: 5rem;
    padding-bottom: 5rem;
}
#a-news time {
    margin-right: 4rem;
}

/* page-news */
.p-news-h1 {
    font-size: 2.4rem;
    font-weight: normal;
}

.p-news-top {
    margin-bottom: 5rem;
}
.p-news-main p {
    text-align: left;
    line-height: 2.5;
}
.p-news-nav {
    margin: 5rem 0;
    padding-top: 5rem;
    border-top: 1px solid;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}
.p-news-btn.prev {
    justify-self: start;
    padding-left: 2rem;
}
.p-news-back {
    justify-self: center;
}
.p-news-btn.next {
    justify-self: end;
    padding-right: 2rem;
}
.p-news-nav a:hover {
    opacity: 0.6;
}
.p-news-btn {
    position: relative;
}

/* 矢印 */
.p-news-btn.prev::before,
.p-news-btn.prev::after {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 10px;
    height: 1.5px;
    border-radius: 9999px;
    background-color: #000000;
    transform-origin: 1px 50%;
}
.p-news-btn.next::before,
.p-news-btn.next::after {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    width: 10px;
    height: 1.5px;
    border-radius: 9999px;
    background-color: #000000;
    transform-origin: calc(100% - 1px) 50%;
}
.p-news-btn.prev::before,
.p-news-btn.next::before {
    transform: rotate(45deg);
}

.p-news-btn.prev::after,
.p-news-btn.next::after {
    transform: rotate(-45deg);
}

@media (max-width: 767px) {
    #a-news time {
        margin: 0 0 1rem;
    }
    #a-news .top-news-item {
        margin-bottom: 3rem;
        padding-bottom: 3rem;
    }
    #page-news .inner {
        padding: 5rem 2rem;
    }
    #s-news .inner {
        padding: 7rem 2rem;
    }
}