html{
    font-family: 'Noto Sans JP','Roboto', sans-serif;
    font-size: 62.5%;
    color:#313131;
    background-color: #f5f5f5;
    scroll-behavior: smooth;
}

body{
    font-size:1.6rem;
}
.container{
    width: min(1200px, 100% - 32px);
    margin: 0 auto;
}

/*------------------------------------------------
header 
-------------------------------------------------*/
header{
    width:100%;
    background-color: #fff;
}
.header-inner{
    width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
}
.header-inner img{
    height: 80px;
}
.header-inner menu{
    background-color: #f5f5f5;
    padding: 0 50px;
    height:55px;
    line-height: 55px;
    display: flex;
    gap: 50px;
    list-style: none;
    border-radius: 100px;
}
.header-inner menu li a{
    color: #313131;
    text-decoration: none;
    font-weight: bold;
}
.header-inner menu li a:hover{
    color: #0078d4;
}

/*------------------------------------------------
hero 
-------------------------------------------------*/
.hero{
    position: relative;
    width: 100%;
    background:#ffffff;
}
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.hero-gradient{
    width:100%;
    height:1rem;
    background:linear-gradient(to right, #0088E9, #00DEB9);
}
.hero-content{
    width: 1200px;
    margin: 0 auto;
    padding: 50px 0;
    background-image: url(../img/bg_hero--01.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
}
.hero-text{
    margin-top: 30px;
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: bold;
}
.cta-hero{
    display: inline-block;
    margin-top: 30px;
    padding: 15px 70px;
    background-color: #0078d4;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    border-radius: 100px;
}
.cta-hero::after{
    content: url(../img/angle-right--white.png);
    padding-left: 16px;
}
.cta-hero:hover{
    background-color: #005ea2;
}

/*------------------------------------------------
About
-------------------------------------------------*/
#about{
    padding-top: 64px;
    display: flex;
}
.about-left{
    background-image: url(../img/ABOUT.png);
    background-repeat: no-repeat;
    background-position: left top;
    width:50%;
}
.about-inner{
    margin-top: 100px;
    margin-bottom:32px;
    margin-left: 40px;
    background-color: #fff;
    border-radius:16px;
    padding: 50px;
}
.about-inner h2{
    font-size: 1.8rem;
    font-weight: bold;
    color:#0078d4
}
.about-inner h3{
    font-size: 3.2rem;
    font-weight:900;
    line-height:1.3;
}
.about-inner p{
    margin-top: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
}
.about-right{
    width:50%;
    background-image: url(../img/abot-img.png);
    background-repeat: no-repeat;
    background-size:cover;
    border-radius:16px;
}

/*------------------------------------------------
Issues
-------------------------------------------------*/
#issues{
    margin-top: 64px;
    background-image: url(../img/ISSUES.png);
    background-repeat: no-repeat;
    background-position: right 32px;
}
#issues h2{
    font-size: clamp(2.4rem, 5vw, 4.0rem);
    font-weight: 800;
    line-height: 1.3;
}
#issues h2 span{
    color: #0078d4;
}
.issues-wrapper{
    display: flex;
    margin-top: 32px;
    height:400px;
}
.issues-img{
    width: 65%;
}
.issues-bg-img--01{
    background-image: url(../img/issues01.png);
    background-repeat: no-repeat;
    background-size: cover;
}
.issues-bg-img--02{
    background-image: url(../img/issues02.png);
    background-repeat: no-repeat;
    background-size: cover;
}
.issues-bg-img--03{
    background-image: url(../img/issues03.png);
    background-repeat: no-repeat;
    background-size: cover;
}
.issues-content{
    width: 35%;
    background-color: #fff;
    padding: 32px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.issues-number{
    color:#0088E9;
    line-height:1.0;
}
.issues-number p:first-child{
    font-size: 2.0rem;
    font-weight: bold;
}
.issues-number p:last-child{
    font-size: 4.8rem;
    font-weight: bold;
    font-family:'Roboto';
}
.issues-title{
    font-size: 3.2rem;
    font-weight: bold;
    margin-top: 16px;
}
.issues-subtitle{
    font-size: 1.6rem;
    font-weight: bold;
}
.issues-text{
    margin-top: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: left;
}
/*------------------------------------------------
Feature
-------------------------------------------------*/
.feature{
    margin-top: 64px;
    background-color: #B8A45C;
    padding: 32px;
    text-align: center;
    color:#ffffff;
    padding-bottom:128px;
}
.feature strong{
    font-size: 1.8rem;
    font-weight: bold;
}
.feature h2{
    font-size: 4.0rem;
    font-weight: 800;
    line-height: 1.2;
}
.feat-inner{
    width: 1200px;
    margin: 0 auto;
    margin-top: -8.6rem; 
}
.feat-wrapper{
    display: flex;
    gap: 32px;
}
.feat-item{
    width: 33.3333%;
    background-color: #fff;
    border-radius: 16px;
    padding: 32px;
    text-align: center;
}
.feat-number{
    color:#0088E9;
    line-height:1.0;
}
.feat-number p:first-child{
    font-size: 1.4rem;
    font-weight: bold;
}
.feat-number p:last-child{
    font-size: 4.8rem;
    font-weight: bold;
    font-family:'Roboto';
}
.feat-title{
    font-size: 2.4rem;
    font-weight: bold;
    margin-top: 16px;
}
.feat-text{
    margin-top: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
}
/*------------------------------------------------
HowToUse
-------------------------------------------------*/
.howtouse-wrapper{
    margin-top: 34px;
    background-color: #fff;
    display: flex;
    border-radius: 16px;
    gap: 16px;
}
.howtouse-title{
    width: 20%;
    background: linear-gradient(to right, #0088E9, #00DEB9);
    color:#fff;
    text-align: center;
    padding: 32px;
    border-radius: 16px 0 0 16px;
    font-weight: bold;
    font-size: 1.8rem;
}
.howtouse-item{
    width: 25%;
    padding: 16px;
    display: flex;
    align-items: center;
    background-color: #f5f5f5;
    margin: 16px 0;
    border-radius: 8px;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
}
.howtouse-item p{
    margin-left: 76px;
    font-size: 1.6rem;
    font-weight: bold;
}
.howtouse-img01{
    background-image: url(../img/howtouse-img01.png);
    background-repeat: no-repeat;
    background-position: 16px center;
}
.howtouse-img02{
    background-image: url(../img/howtouse-img02.png);
    background-repeat: no-repeat;
    background-position: 16px center;
}
.howtouse-img03{
    background-image: url(../img/howtouse-img03.png);
    background-repeat: no-repeat;
    background-position: 16px center;
}

/*------------------------------------------------
Price Plan
-------------------------------------------------*/
#price-plan{
    background: #ffffff;
    margin-top:64px;
    padding-top:32px;
    text-align: center;
}
#price-plan h2{
    color: #0088E9;
    font-size: 3.2rem;
}
.price-wrapper{
    margin-top: 32px;
    width:600px;
    margin: 0 auto;
    padding-bottom: 64px;
}
.price-title{
    width:100%;
    display:flex;
    margin-top: 32px;
}
.price-title div{
    width:50%;
    text-align: center;
    font-weight: bold;
    padding: 16px 0;
    border: 2px solid #0088E9;
    font-size: 2.4rem;
    color: #0088E9;
}
.price-title div:first-child{
    background: #0088E9;
    color: #ffffff;
}
.price-item{
    width:100%;
    display:flex;
    margin-top: 8px;
}
.price-item div{
    padding: 16px 0;
    border: 2px solid #0088E9;
    font-weight: bold;
    text-align: center;
    font-size: 1.8rem;
}
.price-item div:first-child{
    width: 35%;
    background-color: #0088E9;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.price-item div:last-child{
    width:65%;
    color: #0088E9;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.price{
    font-size: 4.3rem;
}
/*------------------------------------------------
Flow
-------------------------------------------------*/
#flow{
    text-align: center;
    margin-top: 64px;
    margin-bottom: 64px;
}
#flow h2{
    color: #0088E9;
    font-size: 3.2rem;
    margin-bottom: 32px;
}
.flow-item{
    width:600px;
    margin:0 auto;
    display: flex;
    border: 2px solid #0088E9;
    background: #ffffff;
    padding:16px 32px;
    border-radius: 100px;
    font-weight: bold;
    font-size:1.8rem;
    align-items: center;
    justify-content: left;
    line-height: 1.2;
}
.flow-item :first-child{
    color: #0088E9;
    padding-right: 8px;
    font-family: 'Roboto',sans-serif;
}
.flow-item :first-child::after{
    content: '|';
    padding-left: 8px;
    color: #313131;
}
.flow-item p span{
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 1.4;
}
.arrow-bottom{
    font-size:2.1rem;
    margin: 4px 0;
    color:#0088E9;
}
/*------------------------------------------------
FAQ
-------------------------------------------------*/
#faq{
    background: #ffffff;
    text-align: center;
    padding: 64px 0;
}
#faq h2{
    font-size: 3.2rem;
    color: #0088E9;
    margin-bottom: 21px;
}
.faq-item{
    width:1200px;
    margin: 0 auto;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
    border-radius: 8px;
    background: #f6f6f6;
    margin-bottom: 16px;
}
.faq-question,.faq-answer{
    display: flex;
    align-items: center;
}
.faq-q{
    width:7%;
    height: 60px;
    background: #0078d4;
    font-family: 'Roboto';
    font-size: 3.2rem;
    font-weight: bold;
    color: #fff;
    border-radius: 8px 0 0 0;
    padding: 8px 0;
}
.faq-title{
    width:93%;
    height:60px;
    display: flex;
    align-items: center;
    color: #0078d4;
    font-weight: bold;
    font-size: 2.1rem;
    border-bottom: 2px solid #0078d4;
    padding: 8px 16px;
}
.faq-answer{
}
.faq-a{
    width:7%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Roboto';
    font-weight: bold;
    font-size: 3.2rem;
    color: #0078d4;
}
.faq-content{
    width:93%;
    display: flex;
    align-items: center;
    padding: 8px 16px;
    font-size: 1.4rem;
}
/*------------------------------------------------
Application
-------------------------------------------------*/
.application{
    padding-top: 64px;
    padding-bottom: 0px;
    background: #f5f5f5;
    text-align: center;
}
.application h2{
    font-size: 3.6rem;
    font-weight: bold;
    color: #0088E9;
    margin-bottom: 8px;
}
.application p{
    font-size: 1.8rem;
    font-weight: bold;
}
.application-wrap{
    margin: 0;
    padding:0;
}
.application-inner{
    margin-top: 32px;
    padding: 64px 0;
    background: linear-gradient(to right, #0088E9, #00DEB9);
    display: flex;
    gap: 32px;
    justify-content: center;
}
.application-cta-box{
    text-align: left;
    width:588px;
    height: 360px;
    padding: 32px;
    border-radius: 32px;
}
h2.application-contact{
    font-size: 4.8rem;
    color: #00DEB9;
    line-height: 1.2;
    font-weight: 900;
}
h2.application-join{
    font-size: 4.8rem;
    color:#006CBA;
    line-height: 1.2;
    font-weight: 900;
}
.application-cta-box h3{
    font-size: 3.2rem;
    font-weight: 700;
}
.application-cta-box p{
    font-size: 1.6rem;
    font-weight: normal;
    width: 70%;
    margin-bottom: 24px;
}
.cta-rfi{
    display: block;
    width:100%;
    height: 80px;
    line-height: 80px;
    border-radius: 100px;
    background: #00DEB9;
    text-align: center;
    font-size: 2.4rem;
    color: #ffffff;
    font-weight: bold;
    text-decoration: none;
    border: 2px solid #ffffff;
}
.cta-application{
    display: block;
    width:100%;
    height: 80px;
    line-height: 80px;
    border-radius: 100px;
    background: #0078d4;
    text-align: center;
    font-size: 2.4rem;
    color: #ffffff;
    font-weight: bold;
    text-decoration: none;
    border: 2px solid #ffffff;
}
.color__rfi{
    background: #D9FBF6;
}
.color__app{
    background:#E3F3FF;
}
.bg-cta--contact{
    background-image: url(../img/bg_cta_contact.png);
    background-repeat: no-repeat;
    background-position: right 20px bottom;
}
.bg-cta--join{
    background-image: url(../img/bg_cta_join.png);
    background-repeat: no-repeat;
    background-position: right 20px bottom;
}
.cta-rfi::after{
    content: url(../img/angle-right--white.png);
    padding-left: 32px;
}
.cta-application::after{
    content: url(../img/angle-right--white.png);
    padding-left: 32px;
}
a.cta-rfi:hover{
    color: #313131;
}
a.cta-application:hover{
    color: #313131;
}
/*------------------------------------------------
footer
-------------------------------------------------*/
.footer-up{
    background: #ffffff;
    padding-top: 32px;
}
.footer-content{
    width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    padding-bottom: 32px;
}
.footer-content img{
    height: 60px;
}
.footer-adress{
    margin-left: 16px;
    line-height: 1.3;
    font-size: 1.4rem;
}
.footer-adress h4{
    font-size: 2.1rem;
}
.footer-bottom{
    background: #0078d4;
    text-align: center;
    padding: 16px 0;
    color: #ffffff;
    font-size: 1.2rem;
}
/*-------------------------------------
elements
------------------------------------------*/
.radius--left{
    border-radius: 16px 0 0 16px;
}
.radius--right{
    border-radius: 0 16px 16px 0;
}
.fs--12{
    font-size: 1.2rem;
}
.fs--14{
    font-size: 1.4rem;
}
.fs--18{
    font-size: 1.8rem;
}
.fs--21{
    font-size: 2.1rem;
}
.fs--35{
    font-size: 3.5rem;
}
.mgt--8{
    margin-top: 8px;
}
.fw--b{
    font-weight: bold;
}



/*================================================
  SP対応（768px以下）
=================================================*/
@media (max-width: 768px) {
    /*------------------------------------------------
    共通
    -------------------------------------------------*/
    .container {
        width: 100%;
        padding: 0 16px;
        box-sizing: border-box;
    }
    /*------------------------------------------------
    header
    -------------------------------------------------*/
    header {
        position: sticky;
        top: 0;
        z-index: 100;
    }
    .header-inner {
        width: 100%;
        padding: 12px 16px;
        box-sizing: border-box;
        flex-wrap: wrap;
        gap: 12px;
    }
    .header-inner img {
        height: 48px;
    }
    .header-inner menu {
        width: 100%;
        height: auto;
        line-height: 1.4;
        padding: 12px 16px;
        gap: 16px;
        flex-wrap: wrap;
        border-radius: 12px;
        justify-content: center;
    }
    /*------------------------------------------------
    hero
    -------------------------------------------------*/
    .hero-content {
        width: 100%;
        padding: 32px 16px;
        box-sizing: border-box;
        background-image: none;
    }
    .hero-content img {
        width: 100%;
        height: auto;
    }
    .hero-text {
        font-size: 1.5rem;
    }
    .cta-hero {
        display: block;
        text-align: center;
        padding: 15px 0;
    }
    /*------------------------------------------------
    About
    -------------------------------------------------*/
    #about {
        flex-direction: column;
        padding-top: 40px;
    }
    .about-left {
        width: 100%;
        background-image: none;
    }
    .about-inner {
        margin: 0 0 16px 0;
        padding: 24px;
        border-radius: 12px;
    }
    .about-inner p br{
        display: none;

    }
    .about-inner h2 {
        font-size: 1.6rem;
        line-height: 1.8;
    }
    .about-inner h3 {
        font-size: 2.4rem;
    }
    .about-right {
        width: 100%;
        min-height: 200px;
        border-radius: 12px;
    }

    /*------------------------------------------------
    Issues
    -------------------------------------------------*/
    #issues {
        margin-top: 40px;
        background-image: none;
    }
    #issues h2 {
        /*font-size: 2.4rem;*/
    }
    .issues-wrapper {
        flex-direction: column;
        height: auto;
        margin-top: 16px;
        box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.25);
        border-radius: 12px;
    }
    /* 画像が先・テキストが後に統一 */
    .issues-wrapper .issues-content.radius--left {
        order: 2;
    }
    .issues-wrapper .issues-img.radius--right {
        order: 1;
    }
    .issues-img {
        width: 100%;
        min-height: 200px;
        border-radius: 12px 12px 0 0;
    }
    .issues-content {
        width: 100%;
        border-radius: 0 0 12px 12px;
        padding: 24px;
        box-sizing: border-box;
    }
    .issues-title {
        font-size: 2.4rem;
    }
    .issues-text{
        text-align: left;
    }
    .radius--left {
        border-radius: 12px 12px 0 0;
    }
    .radius--right {
        border-radius: 0 0 12px 12px;
    }
    /* 2番目のBOX：画像を上に移動 */
    .issues-wrapper .issues-content.radius--left {
        order: 2;
        border-radius: 0 0 12px 12px;
    }
    .issues-wrapper .issues-img.radius--right {
        order: 1;
        border-radius: 12px 12px 0 0;
    }
    /*------------------------------------------------
    Feature
    -------------------------------------------------*/
    .feature {
        margin-top: 40px;
        padding: 24px 16px 100px;
    }
    .feature strong{
        font-size: 1.6rem;
    }
    .feature h2 {
        font-size: 2.8rem;
    }
    .feat-inner {
        width: 100%;
        padding: 0 16px;
        box-sizing: border-box;
    }
    .feat-wrapper {
        flex-direction: column;
        gap: 16px;
    }
    .feat-item {
        width: 100%;
        box-sizing: border-box;
        line-height: 1.4;
        padding: 16px 24px;
        box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.25);
    }
    .feat-title{
        margin-top: 0;
    }
    .feat-text{
        margin-top: 4px;
        text-align: left;
    }

    /*------------------------------------------------
    HowToUse
    -------------------------------------------------*/
    .howtouse-wrapper {
        flex-direction: column;
        gap: 0;
        border-radius: 12px;
    }
    .howtouse-title {
        width: 100%;
        border-radius: 12px 12px 0 0;
        padding: 16px;
    }
    .howtouse-item {
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        border-radius: 0;
        border-top: 1px solid #e0e0e0;
    }
    .howtouse-item br{
        display: none;
    }
    .howtouse-item:last-child {
        border-radius: 0 0 12px 12px;
    }
    .howtouse-img01,.howtouse-img02,.howtouse-img03{
        background-size: 12%;
    }

     /*------------------------------------------------
    Price Plan
    -------------------------------------------------*/
    #price-plan {
        margin-top: 40px;
        padding: 32px 16px;
        box-sizing: border-box;
    }
    .price-wrapper {
        width: 100%;
        padding-bottom: 40px;
    }
    .price-title div {
        font-size: 1.8rem;
    }
    .price-item div {
        font-size: 1.5rem;
    }
    .price {
        font-size: 3.2rem;
    }
 
    /*------------------------------------------------
    Flow
    -------------------------------------------------*/
    #flow {
        margin-top: 40px;
        margin-bottom: 40px;
        padding: 0 16px;
        box-sizing: border-box;
    }
    .flow-item {
        width: 100%;
        box-sizing: border-box;
        border-radius: 50px;
        font-size: 1.6rem;
        padding: 16px 20px;
        flex-direction: column;
    }
    .flow-item :first-child{
        font-size: 1.8rem;
        margin-bottom: 8px;
    }
    .flow-item :first-child::after{
        content: none;
    }
    #flow p:nth-child(3){
        font-size: 1.2rem;
    }

    /*------------------------------------------------
    FAQ
    -------------------------------------------------*/
    #faq {
        padding: 40px 16px;
        box-sizing: border-box;
    }
    .faq-item {
        width: 100%;
        box-sizing: border-box;
    }
    .faq-title {
        font-size: 1.6rem;
        height: auto;
        min-height: 60px;
        padding: 8px 12px;
        text-align: left;
    }
    .faq-q,
    .faq-a {
        font-size: 2.4rem;
        min-width: 48px;
        width: 48px;
    }
    .faq-q {
        height: auto;
        min-height: 60px;
    }
    .faq-content{
        text-align: left;
    }

    /*------------------------------------------------
    Application
    -------------------------------------------------*/
    .application {
        box-sizing: border-box;
    }
    .application > h2 {
        width: 75%;
        margin: 0 auto;
        font-size: 2.4rem;
        margin-bottom: 16px;
    }
    .application h2 br {
        display: none;
    }
    .application > p {
        width: 90%;
        margin: 0 auto;
        font-size: 1.4rem;
    }
    .application-inner {
        width: 100%;
        margin-top: 16px;
        padding: 24px 16px;
        flex-direction: column;
        gap: 16px;
        box-sizing: border-box;
    }
    .application-cta-box {
        width: 100%;
        height: auto;
        padding: 24px;
        border-radius: 16px;
        box-sizing: border-box;
    }
    h2.application-contact,
    h2.application-join {
        font-size: 3.2rem;
    }
    .application-cta-box h3 {
        font-size: 2.4rem;
    }
    .application-cta-box p {
        width: 80%;
        font-size: 1.4rem;
        margin-bottom: 16px;
    }
     .application-cta-box br{
        display: none;
     }
    .cta-rfi,
    .cta-application {
        width: 100%;
        box-sizing: border-box;
        height: 60px;
        line-height: 60px;
        font-size: 1.6rem;
    }
    .bg-cta--contact,
    .bg-cta--join{
        background-size: 50%;
        background-position: right 5px bottom;
    }
    .cta-rfi::after{
        padding-left: 8px;
    }
    .cta-application::after{
        padding-left: 8px;
    }

    /*------------------------------------------------
    footer
    -------------------------------------------------*/
    .footer-content {
        width: 100%;
        padding: 0 16px 24px;
        box-sizing: border-box;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .footer-content img {
        height: 60px;
    }
    .footer-adress h4 {
        font-size: 1.8rem;
    }
    .footer-bottom{
        height:60px;
    }



} /* end @media */


/*------------------------------------------------
ハンバーガーメニュー（SP用）
-------------------------------------------------*/
 
/* PCではハンバーガーを非表示 */
.hamburger {
    display: none;
}
 
@media (max-width: 768px) {
 
    /* メニューをデフォルトで非表示 */
    .header-inner menu {
        display: none;
        position: absolute;
        top: 72px;
        left: 0;
        width: 100%;
        flex-direction: column;
        gap: 0;
        background-color: #fff;
        border-radius: 0;
        padding: 0;
        height: auto;
        line-height: 1;
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        z-index: 99;
    }
 
    /* is-openで表示 */
    .header-inner menu.is-open {
        display: flex;
    }
 
    .header-inner menu li {
        width: 100%;
        border-bottom: 1px solid #e0e0e0;
    }
 
    .header-inner menu li a {
        display: block;
        padding: 16px 24px;
        font-size: 1.6rem;
    }
 
    /* ハンバーガーボタン */
    .hamburger {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 36px;
        height: 24px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
    }
 
    .hamburger span {
        display: block;
        width: 100%;
        height: 3px;
        background-color: #313131;
        border-radius: 3px;
        transition: transform 0.3s ease, opacity 0.3s ease;
        transform-origin: center;
    }
 
    /* ✕ アニメーション */
    .hamburger.is-open span:nth-child(1) {
        transform: translateY(10.5px) rotate(45deg);
    }
    .hamburger.is-open span:nth-child(2) {
        opacity: 0;
    }
    .hamburger.is-open span:nth-child(3) {
        transform: translateY(-10.5px) rotate(-45deg);
    }
}