@charset "UTF-8";

/* ===========================================
underCommon
============================================*/
.underCover__bg {
    height: 200px;
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 50px;
}

.underCover__title {
    text-shadow: 0px 0px 40px rgba(0, 0, 0, 0.25);
    font-family: var(--font-ttl);
    font-size: var(--size_sp_h1);
    font-weight: 700;
    line-height: 170%;
    letter-spacing: 4px;
}

/*====== min-width:900px ======*/
@media screen and (min-width:900px) {
    .underCover__bg {
        height: 500px;
        margin-bottom: 80px;
    }

    .underCover__title {
        font-size: var(--size_pc_h1);
        font-weight: 700;
        letter-spacing: 4px;
    }
}

/*====== min-width:900px ======*/


/* ===========================================
attractive
============================================*/
.underCover__bg-attractive {
    background-image: url(./img/attractive/attractive_cover_sp.png);
    margin-bottom: 50px;
}

.attractive__container {
    width: 87.2%;
    margin: 0 auto;
}

.attractive__desc {
    font-size: var(--size_sp_main14);
    margin-bottom: var(--sp_gutter_50);
}

.attractive__box {
    margin-bottom: var(--sp_gutter_50);
    position: relative;
}

.attractive__icon-circle {
    position: absolute;
    top: -35px;
    left: -20px;
}

.attractive__box:nth-of-type(even) .attractive__icon-circle {
    background-color: var(--accent2);
}

.attractive__box img {
    border-radius: 32px;
    width: 100%;
    height: auto;
    margin-bottom: var(--sp_gutter_12);
}

.attractive__box-title {
    text-align: left;
    margin-bottom: var(--sp_gutter_12);
    line-height: 140%;
}

.attractive__text {
    font-size: 14px;
    letter-spacing: 1.4px;
    margin-bottom: var(--sp_gutter_12);
}

/*====== min-width:900px ======*/
@media screen and (min-width:900px) {
    .underCover__bg-attractive {
        background-image: url(./img/attractive/attractive_cover_pc.png);
        margin-bottom: 80px;
    }

    .attractive__container {
        max-width: 1060px;
        width: 88%;
    }

    .attractive__desc {
        width: 600px;
        font-size: 1.8rem;
        letter-spacing: 1.8px;
        margin: 0 auto;
        margin-bottom: 180px;
    }

    .attractive__list {
        flex-direction: row;
        flex-wrap: wrap;
        column-gap: 8%;
        justify-content: center;
    }

    .attractive__list::after {
        content: "";
        display: block;
        width: 45%;
    }

    .attractive__box {
        width: 45%;
        margin-bottom: var(--sp_gutter_100);
        margin-top: -90px;
        position: relative;
    }

    .attractive__box:nth-child(even) {
        margin-top: 120px;
    }

    .attractive__box:nth-child(7) {
        margin-bottom: 0;
    }

    .attractive__icon-circle {
        top: -48px;
        left: -40px;
    }

    .attractive__box-title {
        text-align: left;
        margin-bottom: var(--sp_gutter_12);
    }

    .attractive__text {
        font-size: 1.6rem;
        letter-spacing: 1.6px;
        margin-bottom: 16px;
    }

    .attractive__box-btn {
        margin-left: 0;
    }
}

/*====== min-width:900px ======*/

/* ===========================================
about
============================================*/
.underCover__bg-about {
    background-image: url(./img/about/cover_about_sp.png);
}

/* about__intro ------------------------------- */
section.about__intro {
    margin-bottom: var(--sp_gutter_50);
}

.about__intro-container {
    width: 87.2%;
    margin: 0 auto;
}

/* pictureタグのｃｓｓはimgに指定*/
.about__intro-container picture img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    /* ↑picture出力はcoverをかけないと伸びない */
    border-radius: 16px;
    margin-bottom: var(--pc_gutter_24);
}

.about__intro-title {
    margin-bottom: var(--sp_gutter_12);
}

.about__intro-text {
    margin-bottom: var(--pc_gutter_40);
    font-size: 1.4rem;
}

/* カルーセル */
.about__calousel-item {
    margin-right: 10px;
}

/* about__main table ---------------------------- */
.about__main-table {
    width: 87.2%;
    margin: 0 auto;
    font-size: 1.4rem;
}

.about__main-table tr {
    border-bottom: 3px dotted var(--line_dot, #F1D59E);
}

.about__main-table th {
    width: 30.58103975535168%;
}

.about__main-table th,
.about__main-table td {
    padding: 16px 0px;
}

/* テーブルのマップボタン */
.about__main-table-address-wrap {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}

.about__main-table-address-wrap p {
    margin-bottom: 10px;
    text-align: left;
}

.about__mapbtn {
    margin: 0;
}

/* about__access ---------------------------- */
.about__access-map {
    height: 450px;
    margin: 0 auto;
    overflow: hidden;
}


/*====== min-width:900px ======*/
@media screen and (min-width:900px) {
    .underCover__bg-about {
        background-image: url(./img/about/cover_about_pc.png);
    }

    section.about__intro {
        margin-bottom: var(--pc_gutter_100);
    }

    /* intro -------------------------------------- */
    .about__intro-container {
        width: 77.94117647058824%;
        max-width: 1060px;
    }

    .about__intro {
        position: relative;
    }

    /* ブロック要素化させるとimgにtext-alignが効く;*/
    .about__intro picture {
        display: block;
        text-align: right;
    }

    /* 右寄せしたいので親要素（picture）をブロック要素化する */
    .about__intro-container picture img {
        text-align: right;
        width: 79.45701357466063%;
        height: 315px;
        margin-bottom: var(--pc_gutter_24);
        margin-left: 0;
        text-align: right;
        margin-bottom: 200px;
    }

    .about__intro-text-wrapper {
        position: absolute;
        z-index: 100;
        top: 153px;
        height: 300px;
    }

    .about__intro-title {
        margin-bottom: var(--pc_gutter_60);
    }

    .about__intro-text {
        font-size: 1.6rem;
    }

    /* カルーセル */
    .about__calousel-item {
        margin-right: 24px;
    }

    .about__calousel-item img {
        max-width: 400px;
    }

    /* table -------------------------------------- */
    .about__main-table {
        width: 77.94117647058824%;
        max-width: 900px;
        font-size: 1.6rem;
    }

    .about__main-table th,
    .about__main-table td {
        padding: 24px 0px;
    }

    /* tableのマップボタン */
    .about__main-table-address-wrap {
        flex-direction: row;
        align-items: center;
    }

    .about__main-table-address-wrap p {
        margin-bottom: 0;
    }

    /* about__access ---------------------------- */
    .about__access-map {
        width: 77.94117647058824%;
        max-width: 1060px;
        height: 450px;
        margin: 0 auto;
        overflow: hidden;
    }
}

/*====== min-width:900px ======*/


/* ===========================================
policy
============================================*/
.underCover__bg-policy {
    background-image: url(./img/policy/policy_cover_sp.png);
}

/* policy__greeting------------------------- */
.policy__greeting {
    margin-bottom: var(--sp_gutter_50);
}

.policy__greeting-wrap {
    width: 87.2%;
    margin: 0 auto;
}

.policy__greeting-wrap p {
    font-size: 1.4rem;
    margin-bottom: var(--sp_gutter_24);
    line-height: 230%;
}

.policy__greeting-wrap img {
    width: 100%;
}


/* policy__goal------------------------- */
.policy__goal-desc {
    width: 87.2%;
    margin: 0 auto;
    margin-bottom: var(--sp_gutter_12);
}

.policy__goal-bg {
    background-image: url(./img/policy/policy_goal_sp.png);
    height: 1275px;
    background-position: center;
    background-size: cover;
    display: flex;
    align-items: flex-end;
    position: relative;
}

.policy__goal-wrap {
    width: 87.2%;
    max-width: 480px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    /*  */
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.policy__goal-item {
    border-radius: 32px;
    background: var(--fff, #FFF);
    box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.10);
    padding: 66px 40px 48px;
    margin-bottom: 60px;
    position: relative;
}

.policy__goal-item:last-of-type {
    margin-bottom: 0;
}

.policy__goal-item-title {
    padding-bottom: 30px;
    border-bottom: var(--line_dot) dotted 4px;
    font-size: 2.2rem;
}

.policy__goal-item-text {
    font-size: 1.4rem;
    margin-top: 20px;
}

.policy__goal-item-circle {
    position: absolute;
    top: -35px;
    left: calc(50% - 35px);
}

/*====== min-width:900px ======*/
@media screen and (min-width:900px) {
    .underCover__bg-policy {
        background-image: url(./img/policy/policy_cover_pc.png);
    }

    /* policy__greeting------------------------- */

    .policy__greeting {
        margin-bottom: var(--pc_gutter_100);
    }

    .policy__greeting-wrap {
        max-width: 1060px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .policy__greeting-wrap p {
        font-size: 1.6rem;
        padding-right: 24px;
    }

    .policy__greeting-title {
        text-align-last: left;
        padding-right: 24px;
    }

    .policy__greeting-text {
        width: 57%;
        font-size: var(--size_pc_main16);
    }

    .policy__greeting-wrap img {
        /* width: 46.51384909264565%; */
        width: 50%;
        max-width: 487px;
        max-width: 390px;
        /* max-height: 456px; */
    }

    /* policy__goal------------------------- */
    .policy__goal-desc {
        width: 87.2%;
        text-align: center;
        font-size: var(--size_pc_mainL);
        margin-bottom: var(--pc_gutter_24);
    }

    .policy__goal-bg {
        background-image: url(./img/policy/policy_goal_pc.png);
        height: 746px;
        background-position: center center;
        background-size: cover;
        display: flex;
        align-items: flex-end;
    }

    .policy__goal-wrap {
        /* width: 77.94117647058824%; */
        max-width: 1060px;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        column-gap: 32px;
        padding-bottom: 60px;
        top: 78%;
    }

    .policy__goal-item {
        width: 100%;
        margin-bottom: 0;
        padding: 48px 32px 32px;
        top: 0px;
    }

    .policy__goal-item-title {
        font-size: 2.2rem;
        padding-top: 25px;
        padding-bottom: 35px;
    }

    .policy__goal-item-text {
        font-size: 1.6rem;
    }

    .policy__goal-item-circle {
        top: -48px;
        left: calc(50% - 45px);
    }
}

/*====== min-width:900px ======*/

/* ===========================================
enter
============================================*/
.underCover__bg-enter {
    background-image: url(./img/enter/enter_sp_filtered.png);
    margin-bottom: 0;
}

.underCover {
    margin-bottom: 0;
}

/* enter__step------------------------------ */
.enter__step {
    background: var(--base_yellow);
    padding-bottom: var(--sp_gutter_24);
}

.enter__contents-area {
    /* sp-コンテンツ幅327 */
    width: 87.2%;
    margin: 0 auto;
}

.enter__step-title {
    padding-top: 50px;
}

.enter__step-wrap {
    display: flex;
    flex-direction: column;
    margin-top: var(--sp_gutter_50);
}

.enter__step-item {
    max-width: 470px;
    margin: 0 auto;
    border-radius: 32px;
    background: var(--fff, #FFF);
    padding: 48px 40px 28px;
    margin-bottom: var(--sp_gutter_50);
    position: relative;
}

.step-icon {
    max-width: 60px;
    width: 30.53435114503817%;
    margin: 0 auto;
    margin-bottom: 16px;
}

.enter__step-item-title {
    padding-bottom: 20px;
    border-bottom: var(--line_dot) dotted 4px;
    font-size: var(--size_sp_h3);
    margin-bottom: 20px;
}

.enter__step-item-text {
    font-size: var(--size_sp_main14);
    margin-bottom: var(--sp_gutter_12);
}

.enter__step-item-circle {
    display: inline-block;
    line-height: 5px;
    font-family: "wanpaku-rera", sans-serif;
    position: absolute;
    top: -35px;
    left: calc(50% - 35px);
}

.enter__step-item-circle span {
    font-size: 10px;
    line-height: 3.5;
    letter-spacing: 1px;
    display: block;
}

/* enter__guidline------------------------------ */

.enter__guideline-wrap {
    width: 87.2%;
    margin: 0 auto;
    border-radius: 32px;
    background: #FFF;
}

.enter__guideline-table {
    font-size: 1.4rem;
}

.enter__guideline-table tr {
    border-bottom: 3px dotted var(--line_dot, #F1D59E);
}

.enter__guideline-table th {
    width: 30.58103975535168%;
}

.enter__guideline-table th,
.enter__guideline-table td {
    padding: 16px 0px;
}


/*====== min-width:900px ======*/
@media screen and (min-width:900px) {
    .underCover__bg-enter {
        background-image: url(./img/enter/enter_pc_filtered.png);
    }

    /* enter__step------------------------------ */
    .enter__step {
        padding-bottom: var(--pc_gutter_100);
    }


    .enter__contents-area {
        /* ｐｃコンテンツ幅 */
        max-width: 1060px;
        /* width: 77.94117647058824%; */
    }

    .enter__step-title {
        padding-top: 80px;
    }

    .enter__step-wrap {
        flex-direction: row;
        column-gap: 4.716981132075472%;
        justify-content: space-between;
        margin-top: var(--pc_gutter_100);
    }

    .enter__step-item {
        width: 30.18867924528302%;
        padding: 50px 32px 22px;
        margin-bottom: 0;
        position: relative;
    }

    .step-icon {
        width: 30.53435114503817%;
    }

    .enter__step-item-title {
        padding-bottom: var(--sp_gutter_24);
        font-size: var(--size_pc_mainL);
    }

    .enter__step-item-text {
        font-size: var(--size_pc_main16);
    }

    .enter__step-item-circle {
        line-height: 9px;
        font-size: 35px;
        top: -48px;
        left: calc(50% - 45px);
    }

    .enter__step-item-circle span {
        line-height: 4;
    }

    /* enter__guidline------------------------------ */
    .enter__guideline-wrap {
        max-width: 900px;
        width: 77.94117647058824%;
    }

    .enter__guideline-table {
        font-size: 1.6rem;
    }

    .enter__guideline-table th,
    .enter__guideline-table td {
        padding: 24px 0px;
    }
}

/*====== min-width:900px ======*/

/* ===========================================
faq
============================================*/

.underCover__bg-faq {
    background-image: url(./img/faq/cover_qa_sp.png);
}

.faq__list {
    /* sp-コンテンツ幅327 */
    width: 87.2%;
    margin: 0 auto;
}

.faq__question {
    display: block;
    /* detailのデフォルト三角形を消す */
    padding: 20px 32px 20px 54px;
    border-radius: 8px;
    font-size: 1.4rem;
    font-weight: 700;
    /* letter-spacing: 1.4px; */
    color: #fff;
    position: relative;
    cursor: pointer;
}

/* ///// openクラス付与のときの.faq__question ////// */
.faq__question.open {
    border-radius: 8px 8px 0 0;
}

/* Q,Aアイコン */
.faq__question::before,
.faq__answer::before {
    content: "Q";
    width: 31px;
    height: 31px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: 10px;
    background-color: #fff;
    border-radius: 50%;
    color: var(--accent1);
    text-align: center;
    font-family: var(--font-step);
    font-size: 20px;
    line-height: 1.5;
}

/* Aアイコン */
.faq__answer::before {
    content: "A";
    background-color: var(--accent2);
    color: var(--fff, #FFF);
    font-family: var(--font-step);
}

/* 矢印アイコン */
.faq__question::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 7px;
    background-image: url(./img/faq/faq_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: 20px;
}

/* ///// openクラス付与のときの矢印アイコン////// */
.faq__question.open:after {
    transform: rotate(180deg) translateY(7px);
}

/* 余白調整用 */
.faq__list-wrap {
    margin-bottom: var(--sp_gutter_24);
}

.faq__answer {
    display: none;
    padding: 20px 20px 20px 54px;
    border-radius: 0px 0px 8px 8px;
    background: var(--fff, #FFF);
    box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.10);
    font-size: 1.4rem;
    /* letter-spacing: 1.4px; */
    /* margin-bottom: var(--pc_gutter_60); */
    position: relative;

    overflow: hidden;
}

/*====== min-width:900px ======*/
@media screen and (min-width:900px) {

    .underCover__bg-faq {
        background-image: url(./img/faq/cover_qa_pc.png);
    }

    .faq__title {
        margin-bottom: var(--pc_gutter_60);
    }

    .faq__list {
        /* ｐｃコンテンツ幅 */
        max-width: 1060px;
        width: 77.94117647058824%;
        cursor: pointer;
    }

    .faq__question {
        padding: 24px 24px 24px 92px;
        border-radius: 16px;
        font-size: 1.6rem;
        letter-spacing: 1.6px;
    }

    /* ///// openクラス付与のときの.faq__question ////// */
    .faq__question.open {
        border-radius: 16px 16px 0 0;
    }

    /* Q,Aアイコン */
    .faq__question::before,
    .faq__answer::before {
        width: 40px;
        height: 40px;
        left: 24px;
        font-size: 2.4rem;
        line-height: 1.7;
    }

    /* 矢印アイコン */
    .faq__question::after {
        width: 14px;
        height: 13px;
        right: 32px;
    }

    /* ///// openクラス付与のときの矢印アイコン////// */
    .faq__question.open:after {
        transform: rotate(180deg) translateY(8px);
    }

    /* 余白調整用 */
    .faq__list-wrap {
        margin-bottom: var(--pc_gutter_40);
    }

    .faq__answer {
        padding: 48px 24px 48px 92px;
        border-radius: 0 0 16px 16px;
        font-size: 1.6rem;
        letter-spacing: 1.6px;
        margin-bottom: var(--pc_gutter_40);
    }

    /*====== min-width:900px ======*/
}

/* ===========================================
contact
============================================*/

.underCover__bg-contact {
    background-image: url(./img/contact/cover_contact_sp_light.png);
    margin-bottom: 0;
}

.underCover-contact {
    margin-bottom: 0;
}

.underCover__title-contact {
    text-shadow: 0px 0px 40px rgb(0 0 0);
}

/* contact-info------------------------------ */
.contact__info {
    background: var(--base_yellow, #F8F1E3);
    padding: 0px 24px 60px 24px;
}

.contact__section-desc {
    max-width: 520px;
    font-size: 1.4rem;
    line-height: 170%;
    letter-spacing: 1.4px;
    padding-top: 50px;
    padding-bottom: 40px;
    margin: 0 auto;
}

.contact__info-faq-btn {
    margin-bottom: var(--sp_gutter_50);
}

.contact__info-wrap {
    background-color: #fff;
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 40px;
    max-width: 450px;
    margin: 0 auto;
    position: relative;
}

.contact__info-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

}

.contact__info-box img {
    width: 47px;
    /* height: 47px; */
    margin-bottom: 12px;
}

/* ////////////////// */


.contact__info-box-title {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 6px;
}

.contact__info-box .tel-label {
    font-size: 1.8rem;
    color: var(--accent1);
    margin-right: 4px;
}

.contact__info-box .telnum {
    font-size: 2.8rem;
    color: var(--accent1);
}

.contact__info-box .tel-time {
    font-size: 1.1rem;
    text-align: center;
}

/* /////////////　　区切り線　　//////////////// */
.tel-wrap .tel-time::after {
    content: "";
    display: block;
    position: absolute;
    left: 10%;
    top: 51%;
    width: 80%;
    /* height: 1px; */
    border-right: 0;
    border-bottom: 3px dotted var(--line_dot);
}

.contact__info-form-btn {
    width: 100%;
    font-size: 14px;
}

@media screen and (min-width:900px) {
    .underCover__bg-contact {
        background-image: url(./img/contact/cover_contact_pc_light.png);
    }

    /* contact__info------------------------------ */
    .contact__info {
        background: var(--base_yellow, #F8F1E3);
        padding: 0px 150px 100px 150px;
    }

    .contact__section-desc {
        padding-top: 80px;
        padding-bottom: 40px;
        width: 90%;
        max-width: 660px;
        font-size: 1.8rem;
        margin: 0 auto;
    }

    .contact__info-wrap {
        padding: 48px 0;
        flex-direction: row;
        justify-content: center;
        align-items: start;
        gap: 1%;
        max-width: 840px;
        margin: 0 auto;
    }

    .contact__info-box {
        width: 48%;
        max-width: 380px;
    }

    .contact__info-box img {
        width: 60px;
        margin-bottom: 20px;
    }

    .contact__info-box-title {
        font-size: 2.0rem;
        margin-bottom: 12px;
    }

    .contact__info-box .tel-label {
        font-size: 1.8rem;
        margin-right: 4px;
    }

    .contact__info-box .telnum {
        font-size: 3.8rem;
    }

    .contact__info-box .tel-time {
        font-size: 1.4rem;
    }

    /* ///////////////////////// */
    .tel-wrap .tel-time::after {
        content: "";
        display: block;
        position: absolute;
        left: 50%;
        top: 50px;
        width: 3px;
        height: 210px;
        border-left: 3px dotted var(--line_dot);
    }

    .contact__info-form-btn {
        font-size: 16px;
    }

    /*====== min-width:900px ======*/
}

/* contact__form------------------------------ */

.contact__form-contents_area {
    /* sp-コンテンツ幅327 */
    width: 87.2%;
    margin: 0 auto;
}

/*====== min-width:900px ======*/
@media screen and (min-width:768px) {
    .contact__form-contents_area {
        /* ｐｃコンテンツ幅 */
        max-width: 1060px;
        width: 77.94117647058824%;
    }

    .contact__form-title {
        margin-bottom: var(--pc_gutter_40);
    }
}

/*====== min-width:900px ======*/


/* //////////////// form //////////////// */
form {
    width: 100%;
    margin: 0 auto;
}

.form-item {
    display: flex;
    flex-direction: column;
    border-top: 3px dotted var(--line_dot);
    padding-top: 12px;
    padding-bottom: 12px;
    width: 100%;
}

.form-item:nth-child(6) {
    border-bottom: 3px dotted var(--line_dot);
    margin-bottom: 40px;
}

.form-item-Label {
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1;
    vertical-align: middle;
    margin-bottom: 10px;
}

/* 必須 */
.label-required {
    width: 37px;
    background: var(--accent2);
    padding: 4px 0;
    border-radius: 100px;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: 0.1px;
    text-align: center;
    color: #fff;
    display: inline-block;
    vertical-align: middle;
    margin-left: 12px;
    margin-bottom: 4px;
}

/* 入力欄 */
.form-item-input {
    height: 46px;
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 32px;
    padding: 1em;
    background: #ffffff;
    font-size: var(--size_sp_main14);
}

::placeholder {
    color: var(--text_pale);
}

.form-item-textarea {
    height: 300px;
    min-height: 300px;
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 16px;
    padding: 1em;
    background: #ffffff;
    font-size: var(--size_sp_main14);
    resize: vertical;

}

@media screen and (min-width: 768px) {
    form {
        max-width: 900px;
    }

    .form-item {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .form-item:nth-child(6) {
        margin-bottom: 60px;
    }

    .form-item-Label {
        width: 60%;
        font-size: 1.6rem;
        margin-bottom: 0;
    }

    .label-required {
        font-size: 1.1rem;
        margin-right: 10%;
    }

    .form-item-input {
        /* width: 1000px; */
        font-size: var(--size_pc_main16);
    }

    .form-item-textarea {
        min-height: 300px;
        font-size: var(--size_pc_main16);
    }
}

/*====== min-width:900px ======*/


/* ===========================================
news
============================================*/
.news {
    margin-bottom: 50px;
}

.underCover__bg-news {
    background-image: url(./img/news/cover_news_sp_bular0.png);
    margin-bottom: 0;
}

.news__contents_area {
    /* sp-コンテンツ幅327 */
    width: 87.2%;
    margin: 0 auto;
    padding-bottom: 60px;
}

.news__title {
    padding-top: 50px;
}

.news__item {
    background-color: #fff;
    box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.081);
    padding: 40px 40px;
    border-radius: 32px;
    margin-bottom: var(--sp_gutter_24);
}

.news__item:last-child {
    margin-bottom: 0;
}

.news__item-date {
    font-family: var(--font-ttl);
    font-size: 1.2rem;
    color: var(--text_pale);
    margin-bottom: 14px;
    vertical-align: baseline;
}

.news__item-category {
    display: inline-block;
    padding: 6px 10px;
    font-size: 1.1rem;
    line-height: 1;
    border-radius: 36px;
    font-family: var(--font-ttl);
    color: #fff;
    margin-left: 10px;
}

.news__item-title {
    font-family: var(--font-ttl);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    padding-bottom: 24px;
    border-bottom: 3px dotted var(--line_dot);
}

.news__item-text {
    padding-top: 12px;
    font-size: 1.4rem;
    letter-spacing: 1.1px;
}

.news__item-link {
    font-family: var(--font-ttl);
}

/*====== min-width:900px ======*/
@media screen and (min-width:900px) {

    .underCover__bg-news {
        background-image: url(./img/news/cover_news_pc_bl0.png);
    }

    .news__contents_area {
        /* ｐｃコンテンツ幅 */
        max-width: 960px;
        width: 77.94117647058824%;
        margin: 0 auto;
        padding-bottom: 100px;
    }

    .news__title {
        padding-top: 80px;
        margin-bottom: var(--pc_gutter_60);
    }

    .news__item {
        padding: 64px 64px;
        margin-bottom: var(--pc_gutter_40);
    }

    .news__item-date {
        font-size: 1.4rem;
        margin-bottom: 20px;
    }

    .news__item-category {
        padding: 6px 10px;
        font-size: 1.2rem;
        border-radius: 36px;
    }

    .news__item-title {
        font-size: 2.2rem;
        padding-bottom: 32px;
    }

    .news__item-text {
        padding-top: var(--pc_gutter_24);
        font-size: 1.6rem;
    }
}

/*====== min-width:900px ======*/


/* ===========================================
schedule ※ min-width:768px
============================================*/
.underCover__bg-schedule {
    background-image: url(./img/schedule/cover_schedule_sp.png);
}

.schedule__oneday-contents-area {
    width: 87.2%;
    margin: 0 auto;
}

/*====== min-width:768px ======*/
@media screen and (min-width:768px) {

    .underCover__bg-schedule {
        background-image: url(./img/schedule/cover_schedule_pc.png);
    }

    .schedule__oneday-contents-area {
        /* ｐｃコンテンツ幅 */
        max-width: 1200px;
        width: 92.64705882352941%;
        padding-bottom: 0;
    }

    /*====== min-width:768px ======*/
}


/* schedule__timeline-intro -----------------------------*/
.schedule__oneday-title {
    margin-top: 40px;
}

.schedule__timeline-intro {
    margin-bottom: var(--sp_gutter_24);
    width: 100%;
}

.schedule__timeline-intro img {
    width: 100%;
    object-fit: cover;
    border-radius: 320px;
}

.schedule__timeline-intro-text {
    font-size: 2rem;
    font-family: var(--font-ttl);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    margin-top: 24px;
}

.schedule__timeline-end {
    margin-bottom: var(--sp_gutter_24);
    width: 100%;
}

.schedule__timeline-end-text {
    font-size: 2rem;
    font-family: var(--font-ttl);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}


@media screen and (min-width:768px) {

    .schedule__timeline-title {
        margin-top: 80px;
    }

    .schedule__timeline-intro {
        margin-bottom: var(--pc_gutter_60);
    }

    .schedule__timeline-intro-text {
        font-size: 2.6rem;
        margin-top: 40px;
    }

    .schedule__timeline-end {
        margin-bottom: var(--pc_gutter_60);
    }

    .schedule__timeline-end-text {
        font-size: 2.6rem;
        margin-top: 24px;
    }

    /*====== min-width:768px ======*/
}

/* ==================　タイムライン　======================= */
/* schedule-timeline  --------------------------------*/
.schedule__timeline ul {
    position: relative;
}

.schedule__timeline ul:before {
    content: '';
    display: block;
    width: 3px;
    height: 100%;
    background-color: #a9cd0669;
    border-radius: 1px;
    position: absolute;
    top: 0;
    left: 30px;
}

/*============ min-width:768px ============*/
@media screen and (min-width:768px) {
    .schedule__timeline ul {
        display: flex;
        flex-wrap: wrap;
    }

    .schedule__timeline ul:before {
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        height: 97%;
    }
}

/*============ min-width:768px ============*/


/* schedule-timeline-time ----------------------------*/
.schedule__timeline-time {
    position: absolute;
    line-height: 1;
    width: 60px;
    left: 0;
    border-top: solid 24px #ffffff;
    border-bottom: solid 24px #ffffff;
}

.schedule__timeline-item:first-of-type .schedule__timeline-time {
    top: -6px;
}

.schedule__timeline-item:last-child .schedule__timeline-time {
    top: -20px;
}

/*====== min-width:768px ======*/
@media screen and (min-width:768px) {
    .schedule__timeline-time {
        width: 23.4375%;
        border-top: solid 32px #ffffff;
        border-bottom: solid 32px #ffffff;
        border-radius: 100px;
    }

    .schedule__timeline-item:nth-of-type(odd) .schedule__timeline-time {
        right: 0px;
        left: auto;
        -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
        transform: translateX(50%);
    }

    .schedule__timeline-item:nth-of-type(even) .schedule__timeline-time {
        right: auto;
        left: 0;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .schedule__timeline-item:last-of-type .schedule__timeline-time {
        top: -39px;
    }

    /*====== min-width:768px ======*/
}

.schedule__timeline-time span {
    font-family: var(--font-ttl);
    font-size: 1.8rem;
    font-weight: bold;
    color: #ffffff;
    letter-spacing: 1px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: var(--accent1);
    padding: 8px 12px;
    border-radius: 20px;
}

.schedule__timeline-item:nth-of-type(even) .schedule__timeline-time span {
    background-color: var(--accent2);
}

/*====== min-width:768px ======*/
@media screen and (min-width:768px) {
    .schedule__timeline-time span {
        font-size: calc(1.0rem + 1.2vw);
        padding: 12px 24px;
        border-radius: 100px;
    }

    /*====== min-width:768px ======*/
}


/* schedule-item ---------------------------------------*/
.schedule__timeline-item {
    padding-left: 72px;
    margin-bottom: 32px;
    position: relative;
}

/*====== min-width:768px ======*/
@media screen and (min-width:768px) {
    .schedule__timeline-item {
        width: 50%;
        padding-left: 0px;
    }

    .schedule__timeline-item:nth-of-type(odd) {
        padding-right: 10%;
    }

    .schedule__timeline-item:nth-of-type(even) {
        padding-left: 10%;
    }

    .schedule__timeline-item:first-of-type {
        margin-bottom: 0;
    }

    .schedule__timeline-item:nth-of-type(2) {
        margin-top: 203px;
    }

    /* 3/5/7 */
    .schedule__timeline-item:nth-of-type(3) {
        margin-top: -100px;
    }

    /* 5/7 */
    .schedule__timeline-item:nth-of-type(5) {
        margin-top: -140px;
    }

    .schedule__timeline-item:nth-of-type(7) {
        margin-top: -140px;
        margin-bottom: 0;
    }

    /* 4/6/8 */
    .schedule__timeline-item:nth-of-type(2n+4) {
        margin-top: 100px;
    }

    .schedule__timeline-item:nth-of-type(8) {
        margin-top: 234px;
    }

    /*====== min-width:768px ======*/
}

/* schedule-item 以下 ---------------------------------------*/
.schedule__timeline-item img {
    margin-bottom: 10px;
    border-radius: 32px;
}

.schedule__timeline-item h3 {
    font-size: var(--size_sp_h3);
    text-align: left;
    color: var(--accent1);
}

.schedule__timeline-item-text {
    font-size: var(--size_sp_main14);
    letter-spacing: 1px;
    margin-bottom: 6px;
}

.schedule__timeline-item:last-of-type {
    padding-bottom: 10px;
    margin-bottom: 0;
}

/*====== min-width:768px ======*/
@media screen and (min-width:768px) {

    .schedule__timeline-item img {
        margin-bottom: 20px;
        border-radius: 32px;
    }

    .schedule__timeline-item h3 {
        font-size: var(--size_pc_h3);
    }

    .schedule__timeline-item-text {
        font-size: var(--size_pc_main16);
    }
}

/*====== min-width:768px ======*/
/* ---------------------------------------------------- */
/* ==================　/タイムライン　======================= */


/* schedule__years -------------------------------------*/
.schedule__years {
    width: 100%;
    background-color: var(--base_yellow);
    padding-top: 60px;
    padding-bottom: 0px;
    position: relative;
}

.schedule__years-contents-area {
    /* sp-コンテンツ幅327 */
    width: 87.2%;
    margin: 0 auto;
    padding-bottom: 24px;
}

.schedule__seasons-unit {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-wrap: wrap;
    align-content: flex-start;
    align-items: flex-start;
    position: relative;
    margin-bottom: 48px;
}

.schedule__seasons-img img {
    border-radius: 32px;
}

.seasons__icon-circle {
    position: absolute;
    right: -26px;
    top: -26px;
    background: var(--accent1);
}

.seasons__icon-circle.spring {
    background: var(--accent1);
}

.seasons__icon-circle.summer {
    background: var(--accent2);
}

.seasons__icon-circle.autumn {
    background: #d6805e;
}

.seasons__icon-circle.winter {
    background: #48bedc;
}

.schedule__seasons-text {
    width: 100%;
    font-family: var(--font-ttl);
}

.table_sesasons {
    width: 100%;
}

.table_sesasons th {
    font-size: 1.4rem;
    border-bottom: 3px dotted var(--line_dot);
    width: 100%;
    padding: 15px 0;
    font-weight: 500;
}

/*====== min-width:768px ======*/
@media screen and (min-width:900px) {
    .schedule__years {
        padding-top: 120px;
        padding-bottom: 60px;
    }

    .schedule__years-contents-area {
        /* ｐｃコンテンツ幅 */
        max-width: 1060px;
        padding-bottom: 0;
    }

    .schedule__seasons-unit {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: flex-end;
        justify-content: space-between;
        gap: 48px;
        background: #fff;
        padding: 75px;
        border-radius: 64px;
    }

    .schedule__seasons-unit:nth-child(even) {
        flex-direction: row-reverse;
    }

    .schedule__seasons-img {
        margin-bottom: 0;
        width: 64.5%;
    }

    .seasons__icon-circle {
        right: -35px;
        top: -35px;
    }

    .seasons__icon-circle.summer,
    .seasons__icon-circle.winter {
        left: -20px;
    }

    .schedule__seasons-text {
        width: 50%;
    }

    .table_sesasons:last-child {
        margin-bottom: 0;
    }

    .table_sesasons th {
        font-size: 1.6rem;
        width: 100%;
        padding: 15px 0;
        font-weight: 500;
        /* min-width: 140px; */
    }

    /*====== min-width:768px ======*/
}