@font-face {
    font-family: "Gotham Bold";
    src: url("../font/Gotham-Bold.otf") format("opentype");
    font-weight: bold;
    font-style: normal
}

@media(min-width: 961px) {
    html {
        scroll-padding-top: 110px
    }
}

.section_head {
    margin-bottom: 40px
}

.section_head .en {
    color: #0f58a3;
    font-size: 41px;
    font-family: "Gotham Bold";
    letter-spacing: .05em;
    line-height: 53px
}

@media(min-width: 1161px) {
    .section_head .en {
        font-size: 74px;
        line-height: 70px
    }
}

.section_head .jp {
    font-weight: bold;
    letter-spacing: .1em
}

@media(max-width: 960px) {
    .section_head .jp {
        margin-top: 9.5px;
        font-size: 17px;
        line-height: 12px
    }
}

@media(min-width: 1161px) {
    .section_head .jp {
        font-size: 32px;
        line-height: 70px
    }
}

.section_head p {
    font-size: 14px;
    font-weight: 500;
    line-height: 28px
}

@media(max-width: 960px) {
    .section_head p {
        margin-top: 9.5px
    }
}

.more_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 200px;
    height: 40px;
    margin-top: 27px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    background: #00a0e9;
    box-shadow: 0 0 0 2px #00a0e9;
    border-radius: 100px;
    overflow: hidden;
    z-index: 1
}

.more_btn span {
    position: relative;
    z-index: 1
}

.more_btn::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 30px;
    transform: scale(0);
    transition: .2s
}

.more_btn::after {
    display: block;
    content: "";
    width: 13px;
    height: 13px;
    margin-left: 16px;
    background: url(../img/arrow_right_white.svg) no-repeat center/100%
}

.more_btn.white_sky {
    color: #00a0e9;
    background: #fff;
    box-shadow: 0 0 0 2px #fff
}

.more_btn.white_sky::before {
    background-color: #00a0e9
}

.more_btn.white_sky::after {
    background-image: url(../img/arrow_right_sky.svg)
}

@media(min-width: 961px) {
    .more_btn.white_sky:hover {
        color: #fff
    }

    .more_btn.white_sky:hover::after {
        background-image: url(../img/arrow_right_white.svg)
    }
}

.more_btn.blue {
    background: #0f58a3;
    box-shadow: 0 0 0 2px #0f58a3
}

@media(min-width: 961px) {
    .more_btn.blue:hover {
        color: #0f58a3
    }

    .more_btn.blue:hover::after {
        background-image: url(../img/arrow_right_blue.svg)
    }
}

@media(min-width: 961px) {
    .more_btn:hover {
        color: #00a0e9
    }

    .more_btn:hover::before {
        transform: scale(1)
    }

    .more_btn:hover::after {
        transition: .2s .2s;
        transform: translateX(5px);
        background-image: url(../img/arrow_right_sky.svg)
    }
}

.header {
    position: relative;
    z-index: 10
}

.header_btn {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: fixed;
    top: 20px;
    right: 20px;
    width: 45px;
    height: 45px;
    background: #fff;
    border-radius: 10px;
    cursor: pointer;
    overflow: hidden;
    transition: background-color .3s;
    z-index: 1
}

@media(min-width: 961px) {
    .header_btn {
        top: 40px;
        right: 40px;
        width: 60px;
        height: 60px
    }
}

@media(min-width: 1321px) {
    .header_btn {
        display: none
    }
}

.header_btn .bar span {
    display: block;
    position: absolute;
    left: calc(50% - 12.5px);
    width: 25px;
    height: 0;
    border-bottom: 1px solid #000;
    transition: .3s
}

@media(min-width: 961px) {
    .header_btn .bar span {
        left: calc(50% - 15px);
        width: 30px;
        border-bottom-width: 1.5px
    }
}

.header_btn .bar span:nth-child(1) {
    top: calc(50% - 6.5px)
}

@media(min-width: 961px) {
    .header_btn .bar span:nth-child(1) {
        top: calc(50% - 8.5px)
    }
}

.header_btn .bar span:nth-child(2) {
    top: calc(50% - .5px)
}

.header_btn .bar span:nth-child(3) {
    top: calc(50% + 5.5px)
}

@media(min-width: 961px) {
    .header_btn .bar span:nth-child(3) {
        top: calc(50% + 7.5px)
    }
}

.header .menu {
    position: fixed
}

@media(max-width: 1320px) {
    .header .menu {
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: #00a0e9;
        transition: .2s;
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        padding: 90px 0 60px
    }
}

@media(min-width: 961px) {
    .header .menu {
        display: flex;
        justify-content: center;
        align-items: center
    }
}

@media(min-width: 1321px) {
    .header .menu {
        top: 20px;
        right: 20px;
        padding: 0 40px;
        background: rgba(255, 255, 255, .9);
        border-radius: 20px
    }
}

@media(min-width: 1321px) {
    .header .menu .inner .link {
        display: flex
    }
}

.header .menu .inner .link .item {
    position: relative
}

@media(max-width: 960px) {
    .header .menu .inner .link .item:nth-child(n+2) {
        margin-top: 26px
    }
}

@media(min-width: 1321px) {
    .header .menu .inner .link .item:nth-child(n+2) {
        margin-left: 40px
    }
}

@media(min-width: 961px) {
    .header .menu .inner .link .item>a {
        display: flex;
        justify-content: center;
        align-items: center
    }
}

.header .menu .inner .link .item>a .en {
    display: block;
    color: #0f58a3;
    font-size: 17px;
    font-weight: bold;
    font-family: "Gotham Bold";
    letter-spacing: .1em;
    line-height: 1
}

@media(max-width: 960px) {
    .header .menu .inner .link .item>a .en {
        margin-bottom: 14px;
        line-height: 12px
    }
}

@media(min-width: 961px) {
    .header .menu .inner .link .item>a .en {
        width: 237px;
        font-size: 20px;
        text-align: right
    }
}

@media(min-width: 1321px) {
    .header .menu .inner .link .item>a .en {
        display: none
    }
}

.header .menu .inner .link .item>a .jp {
    display: block;
    font-weight: bold;
    letter-spacing: .1em;
    white-space: nowrap
}

@media(max-width: 960px) {
    .header .menu .inner .link .item>a .jp {
        font-size: 17px;
        line-height: 12px
    }
}

@media(max-width: 1320px) {
    .header .menu .inner .link .item>a .jp {
        color: #fff
    }
}

@media(max-width: 1320px)and (min-width: 961px) {
    .header .menu .inner .link .item>a .jp {
        width: 471px;
        margin-left: 40px;
        font-size: 30px;
        line-height: 70px
    }
}

@media(min-width: 1321px) {
    .header .menu .inner .link .item>a .jp {
        font-size: 12px;
        line-height: 70px
    }
}

.header .menu .inner .link .item .sub {
    display: flex
}

@media(max-width: 960px) {
    .header .menu .inner .link .item .sub {
        margin: 14px 0 0
    }
}

@media(min-width: 961px) {
    .header .menu .inner .link .item .sub {
        margin: -5px 0 22px 277px
    }
}

@media(min-width: 1321px) {
    .header .menu .inner .link .item .sub {
        display: none
    }
}

.header .menu .inner .link .item .sub a {
    width: 110px;
    margin-right: 7px;
    color: #fff;
    font-size: 14px;
    letter-spacing: .1em;
    text-indent: .1em;
    text-align: center;
    line-height: 22px;
    background: #0f58a3;
    border-radius: 11px
}

.header .menu .inner .sp {
    margin-top: 40px
}

.header .menu .inner .sp .logo {
    width: 198px
}

.header .menu .inner .sp .more_btn {
    margin: 20px 0 40px
}

.header .menu .inner .sp .copyright {
    display: block;
    margin-top: 70px;
    color: #fff;
    font-size: 14px;
    letter-spacing: .1em;
    line-height: 10px
}

.navOpen {
    overflow: hidden
}

.navOpen .header_btn .bar span {
    top: calc(50% - .5px)
}

.navOpen .header_btn .bar span:nth-child(1) {
    transform: rotate(30deg)
}

.navOpen .header_btn .bar span:nth-child(2) {
    transform: scaleX(0)
}

.navOpen .header_btn .bar span:nth-child(3) {
    transform: rotate(-30deg)
}

.navOpen .header .menu {
    opacity: 1;
    visibility: visible
}

#mv {
    position: relative;
    margin-bottom: 18.67vw;
    z-index: 1
}

@media(min-width: 961px) {
    #mv {
        margin-bottom: 7.64vw
    }
}

#mv .txt {
    position: absolute;
    font-weight: bold
}

@media(max-width: 960px) {
    #mv .txt {
        top: 46.67vw;
        left: 6.67vw
    }
}

@media(min-width: 961px) {
    #mv .txt {
        top: 14.72vw;
        left: 7.6vw
    }
}

#mv .txt p {
    letter-spacing: .1em
}

@media(max-width: 960px) {
    #mv .txt p {
        font-size: 3.47vw;
        line-height: 7.2vw
    }
}

@media(min-width: 961px) {
    #mv .txt p {
        font-size: 1.81vw;
        line-height: 3.75vw
    }
}

#mv .txt h1 {
    font-weight: bold;
    letter-spacing: .1em
}

@media(max-width: 960px) {
    #mv .txt h1 {
        margin-top: 2vw;
        font-size: 7.2vw;
        line-height: 10.13vw
    }
}

@media(min-width: 961px) {
    #mv .txt h1 {
        margin-top: 1.04vw;
        font-size: 4.17vw;
        line-height: 5.69vw
    }
}

#mv::after {
    display: block;
    content: "";
    position: absolute;
    aspect-ratio: 211.34/158.54;
    background: url(../img/mv_char.png) no-repeat center/100%
}

@media(max-width: 960px) {
    #mv::after {
        width: 56.25%;
        right: 2.67vw;
        bottom: -15.6vw
    }
}

@media(min-width: 961px) {
    #mv::after {
        right: 4.93vw;
        bottom: -7.43vw;
        width: 29.31vw;
        height: 22.01vw
    }
}

section#about {
    z-index: 0
}

section#about .section_head .en {
    font-size: 63px
}

@media(min-width: 961px) {
    section#about .section_head .en {
        font-size: 84px
    }
}

@media(max-width: 960px) {
    section#about .section_head .jp {
        margin-top: 13px;
        font-size: 24px;
        line-height: 35px
    }
}

@media(min-width: 961px) {
    section#about .clm {
        display: flex;
        justify-content: space-between
    }
}

@media(min-width: 961px) {
    section#about .clm .img {
        width: 475px;
        max-width: calc(50% - 20px)
    }
}

@media(min-width: 961px)and (min-width: 1350px) {
    section#about .clm .img {
        width: 540px
    }
}

@media(max-width: 960px) {
    section#about .clm .txt {
        margin-top: 40px
    }
}

@media(min-width: 961px) {
    section#about .clm .txt {
        width: 610px;
        margin-left: 40px;
        margin-top: 97px
    }
}

@media(min-width: 961px)and (min-width: 1350px) {
    section#about .clm .txt {
        width: calc(100% - 620px);
        margin-left: 80px;
        white-space: nowrap
    }
}

section#about .clm .txt p {
    margin-top: 30px;
    font-size: 14px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: .05em
}

@media(min-width: 961px) {
    section#about .clm .txt p {
        font-size: 17px;
        line-height: 38px
    }
}

section#about ul {
    margin-top: 98px
}

@media(min-width: 961px) {
    section#about ul {
        display: flex;
        justify-content: center;
        margin-top: 148px
    }
}

section#about ul li {
    position: relative;
    height: 290px;
    background: #d3f3f3;
    border-radius: 25px
}

@media(max-width: 960px) {
    section#about ul li:nth-child(n+2) {
        margin-top: 81px
    }
}

@media(min-width: 961px) {
    section#about ul li {
        width: 310px;
        height: 290px
    }

    section#about ul li:nth-child(n+2) {
        margin-left: 40px
    }
}

section#about ul li img {
    position: absolute;
    top: -68px;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    height: 210px
}

@media(min-width: 961px) {
    section#about ul li img {
        top: -60px
    }
}

section#about ul li p {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 170px;
    font-size: 17px;
    font-weight: bold;
    height: 90px;
    line-height: 30px;
    text-align: center;
    box-sizing: content-box
}

@media(min-width: 961px) {
    section#about ul li p {
        padding-top: 171px
    }
}

section#how-to {
    margin-top: 70px;
    padding: 50px 0;
    background: #d3f3f3
}

@media(min-width: 961px) {
    section#how-to {
        margin-top: 110px;
        padding: 110px 0
    }
}

section#how-to .box {
    padding: 30px 0;
    background: #fff;
    border-radius: 25px
}

@media(min-width: 961px) {
    section#how-to .box {
        padding: 100px 0
    }
}

section#how-to .box .list .item:nth-child(n+2) {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #cad6db
}

@media(min-width: 961px) {
    section#how-to .box .list .item:nth-child(n+2) {
        margin-top: 60px;
        padding-top: 60px
    }
}

section#how-to .box .step_clm {
    padding: 0 20px
}

@media(min-width: 961px) {
    section#how-to .box .step_clm {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        padding: 0 120px
    }
}

@media(min-width: 961px) {
    section#how-to .box .step_clm .txt {
        width: 475px
    }
}

section#how-to .box .step_clm .txt .step {
    width: 110px;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    font-family: "Gotham Bold";
    text-align: center;
    text-indent: .1em;
    letter-spacing: .1em;
    line-height: 31px;
    background: #0f58a3;
    border-radius: 16px
}

section#how-to .box .step_clm .txt .title {
    margin: 21px 0 13.5px;
    font-size: 17px;
    letter-spacing: .1em;
    line-height: 30px
}

@media(min-width: 961px) {
    section#how-to .box .step_clm .txt .title {
        margin: 20.5px 0 14px;
        font-size: 20px;
        line-height: 33px
    }
}

@media(max-width: 960px) {
    section#how-to .box .step_clm .img {
        max-width: 295px;
        margin: 22.5px auto 0
    }
}

@media(min-width: 961px) {
    section#how-to .box .step_clm .img {
        width: 360px
    }
}

@media(min-width: 961px) {
    section#how-to .box .step_clm.img_clm2 .txt {
        width: 275px
    }
}

@media(min-width: 961px) {
    section#how-to .box .step_clm.img_clm2 .img {
        display: flex;
        justify-content: space-between;
        width: 506px;
        max-width: calc(100% - 300px)
    }
}

@media(max-width: 960px) {
    section#how-to .box .step_clm.img_clm2 .img img:nth-child(n+2) {
        margin-top: 30px
    }
}

@media(min-width: 961px) {
    section#how-to .box .step_clm.img_clm2 .img img {
        width: calc(50% - 6px)
    }
}

section#how-to .box .step_clm+.comment {
    margin: 22px 20px 0
}

@media(min-width: 961px) {
    section#how-to .box .step_clm+.comment {
        margin: 23px 120px 0;
        line-height: 10px;
        text-align: right
    }
}

section#how-to .box .register {
    margin: 30px 20px 0;
    padding: 25.5px 0 30px;
    background: #f6f7f9;
    border-radius: 15px
}

@media(min-width: 961px) {
    section#how-to .box .register {
        margin: 60px 60px 0;
        padding: 50px
    }
}

section#how-to .box .register h4 {
    letter-spacing: .1em;
    line-height: 33px
}

@media(max-width: 960px) {
    section#how-to .box .register h4 {
        margin-bottom: 25.5px;
        padding: 0 20px;
        font-size: 20px
    }
}

@media(min-width: 961px) {
    section#how-to .box .register h4 {
        margin-bottom: 30px;
        font-size: 20px;
        line-height: 14px
    }
}

@media(min-width: 961px) {
    section#how-to .box .register ul {
        display: flex;
        justify-content: space-between
    }
}

@media(min-width: 961px) {
    section#how-to .box .register ul li {
        width: 165px
    }
}

section#how-to .box .register ul li .num {
    color: #0f58a3;
    font-size: 20px;
    font-family: "Gotham Bold";
    letter-spacing: .2em;
    line-height: 15px
}

section#how-to .box .register ul li p {
    margin: 22.5px 0;
    white-space: nowrap
}

@media(min-width: 961px) {
    section#how-to .box .register ul li p {
        height: 50px;
        margin: 14.5px 0;
        font-size: 14px;
        line-height: 25px
    }
}

section#how-to .box .register ul li:nth-child(n+2) .img {
    position: relative
}

@media(min-width: 961px) {
    section#how-to .box .register ul li:nth-child(n+2) .img::after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        left: calc((100% - 660px)/12);
        transform: translate(-50%, -50%);
        width: 11px;
        height: 19px;
        background: url(../img/flow_arrow.svg) no-repeat center;
        background-size: contain
    }
}

@media(max-width: 960px) {
    section#how-to .box .register .swiper ul li {
        padding: 0 20px
    }

    section#how-to .box .register .swiper ul li .img {
        width: 165px;
        margin: 0 auto
    }

    section#how-to .box .register .swiper .swiper-pagination {
        display: flex;
        justify-content: center;
        align-items: center;
        position: static;
        margin-top: 30px;
        padding-bottom: 2px
    }

    section#how-to .box .register .swiper .swiper-pagination span {
        display: block;
        position: relative;
        width: 6px;
        height: 6px;
        margin: 0 7.5px;
        background: #0f58a3;
        opacity: 1
    }

    section#how-to .box .register .swiper .swiper-pagination span::after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 8px;
        height: 8px;
        border: 2px solid #0f58a3;
        opacity: 0;
        box-sizing: border-box;
        border-radius: 50%
    }

    section#how-to .box .register .swiper .swiper-pagination span.swiper-pagination-bullet-active {
        background: rgba(0, 0, 0, 0)
    }

    section#how-to .box .register .swiper .swiper-pagination span.swiper-pagination-bullet-active::after {
        opacity: 1
    }

    section#how-to .box .register .swiper .nav>div {
        position: absolute;
        bottom: 207px;
        width: 11px;
        height: 19px;
        transition: opacity .2s;
        z-index: 1
    }

    section#how-to .box .register .swiper .nav>div.prev {
        left: calc((100% - (50% + 82.5px))/2);
        transform: translate(-50%, 50%) rotate(180deg)
    }

    section#how-to .box .register .swiper .nav>div.next {
        right: calc((100% - (50% + 82.5px))/2);
        transform: translate(50%, 50%)
    }

    section#how-to .box .register .swiper .nav>div.swiper-button-disabled {
        opacity: 0
    }
}

section#where {
    padding: 50px 0
}

@media(min-width: 961px) {
    section#where {
        padding: 110px 0
    }
}

section#where .section_head {
    margin-bottom: 100px
}

@media(min-width: 961px) {
    section#where .section_head {
        margin-bottom: 115px
    }
}

section#where .switch_list {
    position: relative;
    margin-top: 60px
}

@media(min-width: 961px) {
    section#where .switch_list {
        margin-top: 75px
    }
}

section#where .switch_list>.item {
    position: relative
}

section#where .switch_list>.item .switch_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 50%;
    height: 60px;
    color: #fff;
    font-size: 18px;
    text-align: center;
    text-indent: .1em;
    letter-spacing: .1em;
    border-radius: 28px 28px 0 0;
    cursor: pointer;
    pointer-events: all
}

@media(max-width: 960px) {
    section#where .switch_list>.item .switch_btn {
        line-height: 20px
    }
}

@media(min-width: 961px) {
    section#where .switch_list>.item .switch_btn {
        height: 75px;
        font-size: 20px;
        border-radius: 50px 50px 0 0
    }
}

@media(max-width: 960px) {
    section#where .switch_list>.item .switch_btn .sp_small {
        display: block;
        font-size: 12px
    }
}

section#where .switch_list>.item:nth-child(1) .switch_btn {
    left: 0;
    background: #0f58a3
}

section#where .switch_list>.item:nth-child(2) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

section#where .switch_list>.item:nth-child(2) .switch_btn {
    left: 50%;
    background: #cad6db
}

section#where .switch_list>.item:nth-child(2) .box {
    visibility: hidden;
    opacity: 0;
    transition: .3s
}

section#where .switch_list>.item:nth-child(2):not(.active) {
    pointer-events: none
}

section#where .switch_list>.item:nth-child(2).active .box {
    opacity: 1;
    visibility: visible
}

section#where .switch_list>.item .box {
    background: #d3f3f3
}

@media(max-width: 960px) {
    section#where .switch_list>.item .box {
        padding: 50px 0
    }
}

@media(min-width: 961px) {
    section#where .switch_list>.item .box {
        border-radius: 0 0 25px 25px
    }
}

section#where .switch_list>.item .box .list .item {
    position: relative
}

@media(max-width: 960px) {
    section#where .switch_list>.item .box .list .item {
        padding: 0 20px
    }
}

@media(min-width: 961px) {
    section#where .switch_list>.item .box .list .item {
        padding: 60px 0
    }
}

section#where .switch_list>.item .box .list .item:nth-child(n+2) {
    border-top: 1px solid #cad6db
}

@media(max-width: 960px) {
    section#where .switch_list>.item .box .list .item:nth-child(n+2) {
        margin-top: 30px;
        padding-top: 30px
    }
}

section#where .switch_list>.item .box .list .item .title {
    position: relative;
    padding-left: 15px;
    font-weight: bold;
    font-size: 17px;
    letter-spacing: .1em;
    line-height: 12px
}

@media(max-width: 960px) {
    section#where .switch_list>.item .box .list .item .title {
        margin-bottom: 30px
    }
}

@media(min-width: 961px) {
    section#where .switch_list>.item .box .list .item .title {
        position: absolute;
        top: 24px;
        left: 24px
    }
}

@media(min-width: 961px)and (min-width: 1161px) {
    section#where .switch_list>.item .box .list .item .title {
        top: 60px;
        left: 40px
    }
}

section#where .switch_list>.item .box .list .item .title::before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    height: 18px;
    border-right: 5px solid #0f58a3
}

@media(min-width: 961px) {
    section#where .switch_list>.item .box .list .item .img {
        width: 670px;
        margin: 0 auto
    }
}

section#where .switch_list>.item .box .list .item .comment {
    width: fit-content;
    margin: 30px auto 0
}

section#where .switch_list>.item .box .list .item .route_link {
    margin-top: 30px;
    background: #fff;
    border-radius: 20px;
    border: 1px solid #cad6db
}

@media(max-width: 960px) {
    section#where .switch_list>.item .box .list .item .route_link {
        padding: 22px 0 13px
    }
}

@media(min-width: 961px) {
    section#where .switch_list>.item .box .list .item .route_link {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 145px
    }
}

section#where .switch_list>.item .box .list .item .route_link span {
    display: block
}

@media(max-width: 960px) {
    section#where .switch_list>.item .box .list .item .route_link span {
        text-align: center;
        margin-bottom: 15px;
        font-size: 12px;
        line-height: 9px
    }
}

@media(min-width: 961px) {
    section#where .switch_list>.item .box .list .item .route_link span {
        font-size: 17px;
        line-height: 30px;
        letter-spacing: .1em
    }
}

@media(max-width: 960px) {
    section#where .switch_list>.item .box .list .item .route_link img {
        width: calc(100% - 10px);
        max-width: 285px;
        margin: 0 auto
    }
}

@media(min-width: 961px) {
    section#where .switch_list>.item .box .list .item .route_link img {
        width: 230px;
        margin-left: 76px
    }
}

section#examples {
    padding: 50px 0;
    background: #d3f3f3
}

@media(min-width: 961px) {
    section#examples {
        padding: 110px 0
    }
}

section#examples .box {
    padding: 38px 0;
    background: #fff;
    border-radius: 25px
}

@media(min-width: 961px) {
    section#examples .box {
        padding: 30px 0
    }
}

section#examples .box img {
    width: auto;
    max-width: 100%;
    height: 263px;
    margin: 0 auto;
    padding: 0 10px;
    object-fit: contain
}

@media(min-width: 961px) {
    section#examples .box img {
        height: 612px
    }
}

section#discount {
    padding: 50px 0
}

@media(min-width: 961px) {
    section#discount {
        padding: 110px 0
    }
}

section#discount .box {
    padding: 50px 20px;
    background: #d3f3f3;
    border-radius: 25px
}

@media(min-width: 961px) {
    section#discount .box {
        padding: 60px 60px 105px
    }
}

section#discount .box>p {
    margin-bottom: 12px;
    font-size: 17px;
    font-weight: bold;
    line-height: 30px
}

@media(min-width: 961px) {
    section#discount .box>p {
        margin-bottom: 43px
    }
}

@media(min-width: 961px) {
    section#discount .box .list {
        display: flex;
        justify-content: space-between
    }
}

@media(max-width: 960px) {
    section#discount .box .list .item:nth-child(n+2) {
        margin-top: 30px;
        padding-top: 30px;
        border-top: 1px solid #000
    }
}

@media(min-width: 961px) {
    section#discount .box .list .item {
        width: calc(50% - 20px)
    }
}

section#discount .box .list .item p {
    margin-bottom: 21px;
    color: #0f58a3;
    text-indent: .1em;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: .1em;
    line-height: 30px
}

section#discount .box .list .item p span {
    color: #ff8a00
}

section#discount .box .list .item .schedule {
    position: relative
}

section#discount .box .list .item .schedule .title {
    color: #fff;
    text-align: center;
    text-indent: .1em;
    letter-spacing: .1em;
    line-height: 48.75px;
    background: #0f58a3;
    border-radius: 30px 30px 0 0
}

@media(min-width: 961px) {
    section#discount .box .list .item .schedule .title {
        font-size: 17px;
        line-height: 65px;
        border-radius: 40px 40px 0 0
    }
}

section#discount .box .list .item .schedule .img img:nth-child(2) {
    margin-top: 8px
}

section#discount .box .list .item .schedule.schedule1 .img img:nth-child(2) {
    transform: translateX(-5.1%);
    width: 49.7%
}

section#discount .box .list .item .schedule.schedule2 .img img:nth-child(2) {
    margin-left: 21.1%;
    width: 55.75%
}

section#discount .box .comment {
    margin-top: 22px;
    font-size: 14px;
    font-weight: 500;
    line-height: 26px
}

@media(min-width: 961px) {
    section#discount .box .comment {
        margin-top: 40px;
        line-height: 10px
    }
}

section#terms {
    padding: 50px 0;
    background: #d3f3f3
}

@media(min-width: 961px) {
    section#terms {
        padding: 110px 0
    }
}

section#terms .box {
    padding: 30px 20px;
    background: #fff;
    border-radius: 25px
}

@media(min-width: 961px) {
    section#terms .box {
        padding: 60px
    }
}

section#terms .box img {
    width: auto;
    max-width: 100%;
    height: 263px;
    margin: 0 auto;
    padding: 0 10px;
    object-fit: contain
}

@media(min-width: 961px) {
    section#terms .box img {
        height: 612px
    }
}

section#terms .box p {
    line-height: 26px
}

section#terms .box p:nth-child(n+2) {
    margin-top: 1.6em
}

section#precautions {
    padding: 50px 0
}

@media(min-width: 961px) {
    section#precautions {
        padding: 110px 0
    }
}

section#precautions .list {
    background: #d3f3f3;
    border-radius: 25px
}

section#precautions .list .item {
    position: relative;
    letter-spacing: .1em
}

section#precautions .list .item:nth-child(n+2) {
    border-top: 1px solid #cad6db
}

@media(max-width: 960px) {
    section#precautions .list .item {
        padding: 57.5px 20px 30px
    }
}

@media(min-width: 961px) {
    section#precautions .list .item {
        padding: 32.5px 54px 32.5px 140px
    }
}

section#precautions .list .item:nth-child(1)::after {
    content: "01"
}

section#precautions .list .item:nth-child(2)::after {
    content: "02"
}

section#precautions .list .item:nth-child(3)::after {
    content: "03"
}

section#precautions .list .item:nth-child(4)::after {
    content: "04"
}

section#precautions .list .item:nth-child(5)::after {
    content: "05"
}

section#precautions .list .item:nth-child(6)::after {
    content: "06"
}

section#precautions .list .item:nth-child(7)::after {
    content: "07"
}

section#precautions .list .item:nth-child(8)::after {
    content: "08"
}

section#precautions .list .item:nth-child(9)::after {
    content: "09"
}

section#precautions .list .item:nth-child(10)::after {
    content: "10"
}

section#precautions .list .item:nth-child(11)::after {
    content: "11"
}

section#precautions .list .item:nth-child(12)::after {
    content: "12"
}

section#precautions .list .item:nth-child(13)::after {
    content: "13"
}

section#precautions .list .item:nth-child(14)::after {
    content: "14"
}

section#precautions .list .item:nth-child(15)::after {
    content: "15"
}

section#precautions .list .item:nth-child(16)::after {
    content: "16"
}

section#precautions .list .item:nth-child(17)::after {
    content: "17"
}

section#precautions .list .item:nth-child(18)::after {
    content: "18"
}

section#precautions .list .item:nth-child(19)::after {
    content: "19"
}

section#precautions .list .item:nth-child(20)::after {
    content: "20"
}

section#precautions .list .item::after {
    position: absolute;
    color: #0f58a3;
    font-size: 20px;
    font-weight: 900;
    font-family: "Gotham Bold";
    letter-spacing: .2em;
    line-height: 15px
}

@media(max-width: 960px) {
    section#precautions .list .item::after {
        top: 30px;
        left: 20px
    }
}

@media(min-width: 961px) {
    section#precautions .list .item::after {
        top: 40px;
        left: 60px
    }
}

section#qa {
    padding: 50px 0;
    background: #d3f3f3
}

@media(min-width: 961px) {
    section#qa {
        padding: 110px 0
    }
}

section#qa .list .item {
    position: relative;
    padding: 55px 0 43.5px;
    background: #fff;
    letter-spacing: .1em;
    border-radius: 25px
}

@media(min-width: 961px) {
    section#qa .list .item {
        padding: 20.5px 83px 24.5px 147px;
        border-radius: 999px
    }
}

section#qa .list .item:nth-child(1)::before {
    content: "Q.01"
}

section#qa .list .item:nth-child(2)::before {
    content: "Q.02"
}

section#qa .list .item:nth-child(3)::before {
    content: "Q.03"
}

section#qa .list .item:nth-child(4)::before {
    content: "Q.04"
}

section#qa .list .item:nth-child(5)::before {
    content: "Q.05"
}

section#qa .list .item:nth-child(6)::before {
    content: "Q.06"
}

section#qa .list .item:nth-child(7)::before {
    content: "Q.07"
}

section#qa .list .item:nth-child(8)::before {
    content: "Q.08"
}

section#qa .list .item:nth-child(9)::before {
    content: "Q.09"
}

section#qa .list .item:nth-child(10)::before {
    content: "Q.10"
}

section#qa .list .item:nth-child(11)::before {
    content: "Q.11"
}

section#qa .list .item:nth-child(12)::before {
    content: "Q.12"
}

section#qa .list .item:nth-child(13)::before {
    content: "Q.13"
}

section#qa .list .item:nth-child(14)::before {
    content: "Q.14"
}

section#qa .list .item:nth-child(15)::before {
    content: "Q.15"
}

section#qa .list .item:nth-child(16)::before {
    content: "Q.16"
}

section#qa .list .item:nth-child(17)::before {
    content: "Q.17"
}

section#qa .list .item:nth-child(18)::before {
    content: "Q.18"
}

section#qa .list .item:nth-child(19)::before {
    content: "Q.19"
}

section#qa .list .item:nth-child(20)::before {
    content: "Q.20"
}

section#qa .list .item::before {
    position: absolute;
    color: #0f58a3;
    font-family: "Gotham Bold";
    letter-spacing: .2em;
    font-size: 20px;
    line-height: 15px
}

@media(max-width: 960px) {
    section#qa .list .item::before {
        top: 20px;
        left: 0;
        width: 100%;
        text-align: center
    }
}

@media(min-width: 961px) {
    section#qa .list .item::before {
        top: 30px;
        left: 40px
    }
}

@media(max-width: 960px) {
    section#qa .list .item::after {
        display: block;
        content: "";
        position: absolute;
        left: 50%;
        bottom: 20px;
        transform: translateX(-50%);
        width: 19px;
        height: 11px;
        background: url(../img/open_arrow.svg) no-repeat center;
        background-size: contain;
        transition: transform .3s
    }
}

section#qa .list .item.open::after {
    transform: translateX(-50%) rotate(180deg)
}

section#qa .list .item:nth-child(n+2) {
    margin-top: 10px
}

@media(min-width: 961px) {
    section#qa .list .item:nth-child(n+2) {
        margin-top: 20px
    }
}

section#qa .list .item dt {
    letter-spacing: .1em;
    font-size: 17px;
    font-weight: bold;
    line-height: 30px
}

@media(max-width: 960px) {
    section#qa .list .item dt {
        padding: 0 16.5px
    }
}

@media(min-width: 961px) {
    section#qa .list .item dt {
        font-size: 20px;
        line-height: 33px
    }
}

@media(max-width: 960px) {
    section#qa .list .item dd {
        position: relative;
        height: 0;
        overflow: hidden;
        transition: height .3s
    }
}

@media(min-width: 961px) {
    section#qa .list .item dd {
        margin-top: 4px
    }
}

@media(max-width: 960px) {
    section#qa .list .item dd p {
        margin-top: 21px;
        padding: 22.5px 19.5px 0;
        border-top: 1px solid #000
    }
}

section#qa .more_btn {
    margin: 30px auto 0
}

@media(min-width: 961px) {
    section#qa .more_btn {
        margin-top: 50px
    }
}

section#contact {
    padding: 50px 0
}

@media(min-width: 961px) {
    section#contact {
        padding: 110px 0
    }
}

@media(min-width: 961px) {
    section#contact .link_list {
        display: flex;
        flex-wrap: wrap;
        width: calc(100% + 100px)
    }
}

section#contact .link_list .link_item {
    font-size: 17px;
    font-weight: bold;
    letter-spacing: .1em;
    line-height: 30px
}

@media(max-width: 960px) {
    section#contact .link_list .link_item:nth-child(n+2) {
        margin-top: 50px
    }
}

@media(min-width: 961px) {
    section#contact .link_list .link_item {
        min-width: 341px;
        margin-right: 100px
    }
}

section#contact .link_list .link_item::nth-child(n + 2) {
    margin-top: 41px
}

section#contact .link_list .link_item h3 {
    margin-bottom: 15px;
    padding-bottom: 6px;
    font-size: 17px;
    line-height: 30px;
    border-bottom: 1px solid #cad6db
}

section#contact .link_list .link_item h3+p {
    line-height: 12px
}

section#contact .link_list .link_item dl dt {
    margin-bottom: 15px;
    line-height: 12px
}

section#contact .link_list .link_item dl dd {
    color: #0f58a3;
    font-size: 25px;
    font-weight: 500;
    font-family: "Gotham Bold";
    line-height: 18px
}

section#contact .link_list .link_item a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 15px;
    line-height: 28px;
    white-space: nowrap
}

section#contact .link_list .link_item a::after {
    display: block;
    content: "";
    width: 65px;
    height: 26px;
    margin-left: 10px;
    background: #0f58a3 url(../img/arrow_right_white.svg) no-repeat center/13px auto;
    border-radius: 14px;
    border: 1px solid #0f58a3
}

@media(min-width: 961px) {
    section#contact .link_list .link_item a::after {
        transition: background-color .3s
    }
}

@media(min-width: 961px) {
    section#contact .link_list .link_item a:hover::after {
        background-color: #fff;
        background-image: url(../img/arrow_right_blue.svg)
    }
}

.footer {
    padding: 50px 0;
    background: #0f58a3
}

@media(min-width: 961px) {
    .footer {
        padding: 80px 0
    }
}

@media(min-width: 961px) {
    .footer .clm {
        display: flex;
        justify-content: space-between
    }
}

.footer .clm .left .logo {
    width: 264px
}

@media(max-width: 960px) {
    .footer .clm .right {
        margin: 40px 0 69px
    }
}

@media(min-width: 961px) {
    .footer .clm .right .link {
        display: flex
    }
}

.footer .clm .right .link .list {
    color: #fff
}

@media(min-width: 961px) {
    .footer .clm .right .link .list:nth-child(n+2) {
        margin-left: 30px
    }
}

@media(min-width: 961px)and (min-width: 1161px) {
    .footer .clm .right .link .list:nth-child(n+2) {
        margin-left: 116px
    }
}

@media(max-width: 960px) {
    .footer .clm .right .link .list .item {
        margin-top: 34px
    }
}

@media(min-width: 961px) {
    .footer .clm .right .link .list .item:nth-child(n+2) {
        margin-top: 34px
    }
}

.footer .clm .right .link .list .item a {
    letter-spacing: .1em
}

.footer .clm .right .link .list .item a.parent {
    margin-bottom: 12.5px;
    font-size: 17px;
    line-height: 12px
}

.footer .copyright {
    display: block;
    color: #fff;
    font-size: 14px;
    line-height: 10px;
    letter-spacing: .1em
}

@media(max-width: 960px) {
    .footer .copyright {
        margin-top: 69px
    }
}