@charset "UTF-8";
/*slider------------------------*/
.mainimg_wrap {
    -webkit-margin-before: clamp(66px, 6.589vw, 90px);
    margin-block-start: clamp(66px, 6.589vw, 90px);
    inline-size: 100%;
    block-size: calc(80vh - clamp(66px, 6.589vw, 90px));
    block-size: calc(80dvh - clamp(66px, 6.589vw, 90px));
}
@media (width >=768px) {
    .mainimg_wrap {
        padding-inline: clamp(20px, 4.39238653vw, 60px);
        min-block-size: 700px;
    }
}
@media (width >=992px) {
    .mainimg_wrap {
        block-size: calc(100vh - clamp(66px, 6.589vw, 90px));
        block-size: calc(100dvh - clamp(66px, 6.589vw, 90px));
    }
}
.swiper-container {
    position: relative;
}

.mainimg_catch_wrap {
    position: absolute;
    inset: auto auto 30px 16px;
    z-index: 10;
    text-align: start;
    display: flex;
    flex-direction: column;
    min-width: 1200px;
    @media (width >= 768px) {
        inset: auto auto 45px 30px;
    }
    @media (width >= 1200px) {
        inset: auto auto 60px 40px;
    }
    
    & .catch_tx {
        font-size: 2.6rem;
        text-shadow: 0px 0px 8px rgb(255, 255, 255), 0px 0px 8px rgb(255, 255, 255), 0px 0px 8px rgb(255, 255, 255), 0px 0px 3px rgb(255, 255, 255);
        @media (width >= 768px) {
            font-size: clamp(3.2rem, 36vw/12, 3.6rem);
            letter-spacing: 0.05em;
        }
        @media (width >= 1200px) {
            font-size: clamp(4rem, 48vw/13.66, 4.8rem);
        }
    }
    & .catch_tx_sub {
        font-size: 1.3rem;
        text-shadow: 0px 0px 8px rgb(255, 255, 255), 0px 0px 8px rgb(255, 255, 255), 0px 0px 8px rgb(255, 255, 255), 0px 0px 3px rgb(255, 255, 255);
        @media (width >= 768px) {
            font-size: clamp(1.6rem, 18vw/12, 1.8rem);
        }
        @media (width >= 1200px) {
            font-size: clamp(2rem, 24vw/13.66, 2.4rem);
        }
    }
}


.swiper-container,
.swiper-slide {
    block-size: calc(80vh - var(--header-h));
    inline-size: 100%;
    @media (width >= 768px) {
        /* min-block-size: 700px; */
        min-block-size: 500px;
    }
    @media (width >=992px) {
        block-size: calc(100vh - var(--header-h));
        /* block-size: calc(100vh - clamp(66px, 6.589vw, 90px)); */
        min-block-size: 500px;
    }
}

@media all and (orientation: portrait) {
    .slide01 {
        background: url(../img/index_img/slide01_port.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: landscape) {
    .slide01 {
        background: url(../img/index_img/slide01_land.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: portrait) {
    .slide02 {
        background: url(../img/index_img/slide02_port.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: landscape) {
    .slide02 {
        background: url(../img/index_img/slide02_land.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: portrait) {
    .slide03 {
        background: url(../img/index_img/slide03_port.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: landscape) {
    .slide03 {
        background: url(../img/index_img/slide03_land.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: portrait) {
    .slide04 {
        background: url(../img/index_img/slide04_port.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: landscape) {
    .slide04 {
        background: url(../img/index_img/slide04_land.jpg) center center no-repeat;
        background-size: cover;
    }
}

/*==========================
講習一覧
==========================*/
.intro_wrap {
    padding-inline: clamp(20px, 4.39238653vw, 60px);
    -webkit-padding-before: clamp(80px, 13.17715959vw, 100px);
    padding-block-start: clamp(80px, 13.17715959vw, 100px);
    -webkit-padding-after: clamp(40px, 4.39238653vw, 60px);
    padding-block-end: clamp(40px, 4.39238653vw, 60px);
    position: relative;
    z-index: 8;

    @media (width >= 1200px) {
        padding-block-end: 0;
    }
}
.intro_wrap .en_title .en_tx {
    font-size: clamp(1rem, 10.980966325vw, 15rem);
}

[class^="course"] + .title01 {
    margin-top: clamp(28px, 48vw/12, 48px);
}
[class^="course"] {
    & .panel_link {
        display: flex;
        align-items: stretch;
        & a {
            width: 100%;
        }
    }
}
.course01 {
    & .panel_link a {
        background: #146b87;
    }
}
.course02 {
    & .panel_link a {
        background: #7a4e73;
    }
}
.course03 {
    & .panel_link a {
        background: #618e4d;
    }
}

.intro_flower01 {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    position: absolute;
    z-index: -1;
    inset: 0 auto auto -8%;
}
.intro_flower01 span {
    display: block;
    background: url(../img/common_img/flower/flower04.png) center center no-repeat;
    background-size: cover;
    inline-size: clamp(320px, 49.560761347vw, 677px);
    aspect-ratio: 677/533;
}
@media (width >=1366px) {
    .intro_flower01 {
        inline-size: 1200px;
        inset: 10px auto auto 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        text-align: start;
    }
    .intro_flower01 span {
        -webkit-transform: translateX(-261px);
        transform: translateX(-261px);
    }
}
.intro_flower02 {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    position: absolute;
    z-index: -1;
    inset: auto -4% -4% auto;
}
.intro_flower02 span {
    display: block;
    background: url(../img/common_img/flower/flower05.png) center center no-repeat;
    background-size: cover;
    inline-size: clamp(240px, 36.2371888726vw, 495px);
    aspect-ratio: 495/476;
    -webkit-margin-start: auto;
    margin-inline-start: auto;
}
@media (width >=1366px) {
    .intro_flower02 {
        inline-size: 1200px;
        inset: auto auto 0 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
    .intro_flower02 span {
        -webkit-transform: translateX(190px) translateY(105px);
        transform: translateX(190px) translateY(105px);
        -webkit-margin-start: auto;
        margin-inline-start: auto;
    }
}

/*==========================
更新プログラム(連動)フォーマット
==========================*/
.news_wrap {
    -webkit-padding-before: clamp(40px, 5.8565153734vw, 80px);
    padding-block-start: clamp(40px, 5.8565153734vw, 80px);
    -webkit-padding-after: clamp(60px, 7.027818448vw, 96px);
    padding-block-end: clamp(60px, 7.027818448vw, 96px);
    padding-inline: clamp(20px, 4.39238653vw, 60px);
    position: relative;
    z-index: 10;
}
.news_wrap .en_title {
    -webkit-margin-after: 0;
    margin-block-end: 0;
}
.news_wrap .en_title .en_tx {
    font-size: clamp(1rem, 10.980966325vw, 15rem);
    text-align: start;
}
@media (width >=992px) {
    .news_wrap .en_title .en_tx {
        -webkit-padding-after: 32px;
        padding-block-end: 32px;
    }
}
.news_wrap .en_title .ja_tx {
    text-align: start;
    -webkit-margin-after: 24px;
    margin-block-end: 24px;
}
@media (width >=992px) {
    .news_wrap .en_title .ja_tx {
        -webkit-margin-before: -0.2em;
        margin-block-start: -0.2em;
    }
}
@media (width >=992px) {
    .news_body {
        display: flex;
        justify-content: space-between;
    }
    .news_body .en_title {
        inline-size: 26%;
    }
    .news_body .news01 {
        inline-size: 74%;
    }
}
.news01 {
    inline-size: min(100%, 880px);
    text-align: start;
    -webkit-margin-after: clamp(24px, 2.9282576867vw, 40px);
    margin-block-end: clamp(24px, 2.9282576867vw, 40px);
}
.news01 dl {
    display: flex;
    flex-direction: column;
    -webkit-border-after: 1px solid rgba(var(--white), 1);
    border-block-end: 1px solid rgba(var(--white), 1);
    -webkit-padding-after: 1.2em;
    padding-block-end: 1.2em;
    @media (width >= 768px) {
        flex-direction: row;
    }
}
.news01 dl dt {
    -webkit-margin-after: 0.8em;
    margin-block-end: 0.8em;
    @media (width >= 768px) {
        width: 110px;
        -webkit-margin-after:0;
        margin-block-end: 0;
    }
}
.news01 dl dd {
    @media (width >= 768px) {
        width: calc(100% - 110px);
    }
}
.news01 dl + dl {
    -webkit-margin-before: 1.2em;
    margin-block-start: 1.2em;
}
.newstitle {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.newstitle a {
    text-decoration: none;
    color: rgba(var(--bace_tx_color), 1);
    transition: 0.2s;
}
.newstitle a:hover {
    opacity: 0.8;
}
.days {
    font-family: "Cinzel", serif;
    font-weight: 500;
}
.news_flower01 {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    position: absolute;
    z-index: -1;
    inset: 10px auto auto -5%;
}
.news_flower01 span {
    display: block;
    background: url(../img/common_img/flower/flower01.png) center center no-repeat;
    background-size: cover;
    inline-size: clamp(244px, 35.7247437775vw, 488px);
    aspect-ratio: 122/111;
}
@media (width >=1366px) {
    .news_flower01 {
        inline-size: 1200px;
        inset: 10px auto auto 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        text-align: start;
    }
    .news_flower01 span {
        -webkit-transform: translateX(-106px);
        transform: translateX(-106px);
    }
}
.news_flower02 {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    position: absolute;
    z-index: -1;
    inset: auto -5% 10px auto;
}
.news_flower02 span {
    display: block;
    background: url(../img/common_img/flower/flower02.png) center center no-repeat;
    background-size: cover;
    inline-size: clamp(220px, 24.8169838946vw, 339px);
    aspect-ratio: 339/223;
}
@media (width >=1366px) {
    .news_flower02 {
        inline-size: 1200px;
        text-align: end;
        inset: auto 0 0 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
    .news_flower02 span {
        -webkit-transform: translateX(160px);
        transform: translateX(160px);
        -webkit-margin-start: auto;
        margin-inline-start: auto;
    }
}


/*==========================
footer ph
==========================*/
.footer_ph {
    background: url(../img/common_img/footer_ph.jpg) center center no-repeat;
    background-size: cover;
    inline-size: 100%;
    block-size: 320px;
    position: relative;
    z-index: 15;
}
@media (width >=768px) {
    .footer_ph {
        background: url(../img/common_img/footer_ph.jpg) center center no-repeat fixed;
        background-size: cover;
        block-size: clamp(480px, 49.7803806735vw, 680px);
    }
}


