/* ---------------------------------------------
   SP向けスタイル (max-width: 767px)
---------------------------------------------- */
@media (min-width: 768px) {

    .link_btn_static a {
        display: inline-block;
        background: #FBD000;
        color: #000;
        font-weight: bold;
        padding: 16px 10px;
        font-size: 16px;
        text-decoration: none;
        text-align: center;
        letter-spacing: 0.05em;
        position: fixed;
        right: 0;
        top: 100px;
        z-index: 100;
        opacity: 0;
        transition: all 0.3s;
    }
    .link_btn_static a:hover {
        background: #FFE150;
    }
    .link_btn_static.scroll a {
        opacity: 1;
    }
    .link_btn_static .arrows {
        position: absolute;
        right: 7px;
        bottom: 7px;
    }

    .site-header {
        width: 100%;
        background-color: #fff;
        padding: 10px;
    }
    .site-header .inner {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    .site-header__logo_right {
        display: flex;
        align-items: center;
    }
    .site-header__logo_right .logo_01 {
        width: 89px;
    }
    .site-header__logo_right .logo_02 {
        width: 57px;
        margin-left: 10px;
    }

    .spOnly {
        display: none;
    }

    .hero {
        width: 100%;
        height: 100vh;
    }
    .hero .inner {
        max-width: 1100px;
        text-align: center;
        height: 100%;
        display: table;
    }
    .hero .inner .hero__content {
        display: table-cell;
        vertical-align: middle;
    }
    .hero .inner .hero__catch {
        font-size: 28px;
        letter-spacing: 0.2em;
    }
    .hero .inner .hero__title {
        width: 556px;
        margin: 60px auto;
    }
    .hero .inner .hero__text {
        max-width: 440px;
        background-color: #FBD000;
        color: #000;
        font-weight: bold;
        font-size: 30px;
        padding: 7px 30px 10px;
        letter-spacing: 0.05em;
        margin: 0 auto 50px auto;
    }
    .hero .inner .btn_first {
        width: 100%;
        display: inline-block;
        color: #FBD000;
        font-weight: bold;
        font-size: 24px;
        padding: 10px 30px;
        letter-spacing: 0.15em;
        border: solid 1px #fff;
        transition: all 0.3s;
        position: relative;
    }
    .hero .inner .btn_first:hover {
        background-color: rgb(255, 255, 255, 0.2);
    }
    .hero .inner .btn_first span {
        color: #fff;
        font-size: 16px;
        display: block;
    }
    .hero .inner .btn_first .arrows {
        position: absolute;
        right: 7px;
        bottom: 7px;
    }
    .hero .hero__circle {
        position: absolute;
        left: 40px;
        top: 80px;
    }
    
    @media (min-width: 768px) and (max-width: 1023px) {
        .hero .hero__circle {
            width: 22vw;
        }
    }

    .section--message {
        padding: 150px 0;
        text-align: center;
    }
    .section--message .inner .section__title {
        color: #FBD000;
        font-size: 44px;
        letter-spacing: 0.15em;
        line-height: 200%;
    }
    .section--message .inner hr {
        width: 44px;
        height: 6px;
        border: none;
        background-color: #fff;
        margin: 50px auto;
    }
    .section--message .inner .section__text {
        font-size: 18px;
        line-height: 36px;
        letter-spacing: 0.1em;
        margin-bottom: 1.4em;
    }
    .section--message .inner .instructor-block {
        width: 100%;
        display: flex;
        gap: 60px;
        margin: 150px auto 100px 0;
    }
    .section--message .inner .instructor-block .instructor-block__content {
        text-align: left;
        font-size: 18px;
        line-height: 36px;
        letter-spacing: 0.1em;
    }
    .section--message .inner .instructor-block .instructor-block__content .instructor-block__name {
        font-size: 45px;
        font-weight: normal;
        margin-bottom: 1em;
    }
    .section--message .inner .instructor-block .instructor-block__content .instructor-block__name span {
        font-size: 28px;
    }
    .video-block {
        width: 80%;
        margin: 40px auto;
    }
    .video-block__title {
        font-weight: normal;
        margin: 10px;
    }

    .link_btn_block a {
        width: 80%;
        display: inline-block;
        background: #FBD000;
        color: #000;
        font-weight: bold;
        padding: 16px 40px;
        font-size: 24px;
        text-decoration: none;
        margin: 5px auto 0;
        text-align: center;
        letter-spacing: 0.05em;
        transition: all 0.3s;
        position: relative;
    }
    .link_btn_block a:hover {
        background: #FFE150;
    }
    .link_btn_block a .arrows {
        position: absolute;
        right: 7px;
        bottom: 7px;
    }

    .section--feature {
        width: 100%;
        background-color: #F5F5F5;
        color: #000;
        padding: 150px 0;
    }
    .section--feature .section__header .section__title {
        font-size: 90px;
        color: #001227;
        font-weight: normal;
        margin-left: -80px;
    }

    .section--feature .section__header .section__title span {
        font-size: 28px;
        margin-left: 20px;
    }
    .section--feature .section__header .section__title::before {
        content: '';/*何も入れない*/
        display: inline-block;
        width: 80px;/*画像の幅*/
        height: 14px;/*画像の高さ*/
        background-image: url(../img/headline_item.svg);
        background-size: contain;
        vertical-align: middle;
        background-repeat: no-repeat;
    }
    @media (min-width: 768px) and (max-width: 1023px) {
        .section--feature .section__header .section__title {
            font-size: 70px;
            margin-left: 0px;
        }
        .section--feature .section__header .section__title span {
            font-size:16px;
        }
        .section--feature .section__header .section__title::before {
            width: 40px;/*画像の幅*/
            height: 12px;/*画像の高さ*/
            background-size: contain;
            vertical-align: middle;
            background-repeat: no-repeat;
        }
    }
    .section--feature h3 {
        font-size: 32px;
        margin: 50px 0 30px 0;
        font-weight: normal;
    }
    .section--feature dl {
        padding: 40px 50px;
        background-color: #fff;
        margin-bottom: 2em;
        font-size: 18px;
    }
    .section--feature dl dt {
        font-size: 24px;
        margin-bottom: 1em;
    }

    .section--info {
        width: 100%;
        padding: 150px 0;
    }
    .section--info .inner .info-block {
        display: flex;
        align-items: center;
        margin-bottom: 150px;
    }
    .section--info .inner .info-block div {
        width: 50%;
        text-align: center;
    }
    .section--info .inner .info-block .info_left img {
        width: 280px;
        margin: 0 auto;
    }
    .section--info .inner .info-block div p {
        letter-spacing: 0.05em;
        font-size: 20px;
    }
    .info_map iframe {
        width: 100%;
        height: 555px;
        margin-bottom: 100px;
    }
    .link_btn_block2 {
        width: 80%;
        display: block;
        font-weight: bold;
        font-size: 24px;
        padding: 10px 30px;
        letter-spacing: 0.15em;
        border: solid 1px #fff;
        transition: all 0.3s;
        position: relative;
        text-align: center;
        margin: 0 auto;
    }
    .link_btn_block2:hover {
        background-color: rgb(255, 255, 255, 0.2);
    }
    .link_btn_block2 .arrows {
        position: absolute;
        right: 7px;
        bottom: 7px;
    }
    footer {
        background-color: #F2F2F2;
        color: #1D738F;
        padding: 80px 0;
        text-align: center;
        font-size: 13px;
    }
    #footer .footerNavi li {
        font-size: 13px;
        padding: 0 10px;
        display: inline-block;
        border-right: 1px solid #1d738f;
        line-height: 1;
    }
    #footer .footerNavi li:last-child {
        border-right: none;
    }
    #footer .footerNavi {
        margin-bottom: 30px;
    }
    div#gFooter {
        background-color: #fff;
        padding: 14px 0;
        position: relative;
        z-index: 22;
        border-top: 1px solid #e5e5e5;
        font-size: 13px;
    }
    div.gStyle div.gStyleIn {
        margin: 0 auto;
        max-width: 1000px;
        display: flex;
    }
    div#gFooter p.groupLogo {
        margin: 9px 10px 9px 0;
    }
    div#gFooter p.groupLogo {
        margin: 9px 10px 9px 0;
    }
    .gStyle a {
        color: #004979;
    }
    div#gFooter div#gFooterGroups {
        margin-left: 10px;
    }
    div#gFooter div#gFooterGroups ul {
        line-height: 1.0;
        margin-top: 10px;
    }
    div#gFooter div#gFooterGroups ul li {
        border-left: solid 1px #cccccc;
        display: inline;
        margin: 0 0 0 9px;
        padding: 0 0 0 9px;
    }
    div#gFooter div#gFooterGroups ul li.first {
        border: none;
        margin-left: 0;
        padding: 0;
    }


.pagetop {
    width: 80px;
    height: 80px;
    position: fixed;
    right: 20px;
    bottom: 20px;
    opacity: 0;
    transition: all 0.6s ease;
    z-index: 90;
}
.pagetop.scroll {
    opacity: 1;
}
}