@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900&display=swap");
@import url("https://use.typekit.net/hkp7ogm.css");

@font-face {
    font-family: 'Font Awesome 5 Free';
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/FontAwesome5/fa-regular-400.eot");
    src: url("../fonts/FontAwesome5/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../fonts/FontAwesome5/fa-regular-400.woff2") format("woff2"), url("../fonts/FontAwesome5/fa-regular-400.woff") format("woff"), url("../fonts/FontAwesome5/fa-regular-400.ttf") format("truetype"), url("../fonts/FontAwesome5/fa-regular-400.svg#fontawesome") format("svg");
}

@font-face {
    font-family: 'Font Awesome 5 Free';
    font-style: normal;
    font-weight: 900;
    src: url("../fonts/FontAwesome5/fa-solid-900.eot");
    src: url("../fonts/FontAwesome5/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/FontAwesome5/fa-solid-900.woff2") format("woff2"), url("../fonts/FontAwesome5/fa-solid-900.woff") format("woff"), url("../fonts/FontAwesome5/fa-solid-900.ttf") format("truetype"), url("../fonts/FontAwesome5/fa-solid-900.svg#fontawesome") format("svg");
}

/*  基本
-------------------------------------------------------*/
html {
    font-size: 62.5%;
}

body {
    width: 100%;
    height: 100%;
    color: #333333;
    background-color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(26 / 750 * 100vw);
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: .05em;
    word-wrap: break-word;
    overflow-wrap: break-word;
    overflow-x: hidden;
}

@media screen and (min-width: 751px) {
    body {
        font-size: calc(16 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    body {
        font-size: 16px;
        font-size: 1.6rem;
    }
}

/*  リンク
-------------------------------------------------------*/
a {
    -webkit-transition: all .3s;
    transition: all .3s;
}

a:hover {
    cursor: pointer;
}

a.opacity:hover {
    opacity: 0.5;
}

/*  ヘッダー
-------------------------------------------------------*/
.header {
    position: fixed;
    top: 0;
    left: 0;
    margin: 0 auto;
    width: 100%;
    height: 21.3vw;
    background: -moz-linear-gradient(left, #fff, #fff);
    background: -webkit-linear-gradient(left, #fff, #fff);
    background: linear-gradient(to right, #fff, #fff);
    z-index: 888;
    transition: .3s;
	border-bottom:thin solid #35ace1;
}

@media screen and (min-width: 751px) {
    .header {
        padding: 0;
        height: auto;
    }
}

.header__top {
    position: relative;
    margin: 0 auto;
    padding: 0 3.3vw;
    width: 100%;
    height: 21.3vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header__top__inner {
    margin: 0 auto;
    padding: 3.3vw;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 21.3vw;
}

@media screen and (min-width: 751px) {
    .header__top__inner {
        padding: 0 1vw;
        width: 100%;
        height: 9.58vw;
    }
}

@media screen and (min-width: 1250px) {
    .header__top__inner {
        padding: 0;
        width: 1200px;
        height: 115px;
    }
}

/* ----------------- ロゴ - */
.header__logo {
    width: 56.6vw;
    text-align: center;
}

.header__logo img {
    width: 56.6vw;
    height: auto;
}

@media screen and (min-width: 751px) {
    .header__logo {
        margin-right: 1.3vw;
        width: 24vw;
    }

    .header__logo img {
        width: 23vw;
    }
}

@media screen and (min-width: 1250px) {
    .header__logo {
        margin-right: 20px;
        width: 315px;
    }

    .header__logo img {
        width: 300px;
    }
}

@media screen and (min-width: 751px) {
    .header__top__inner__right {
        width: calc(100% - 24vw - 1.3vw);
    }
}

@media screen and (min-width: 1250px) {
    .header__top__inner__right {
        width: calc(100% - 315px - 20px);
    }
}

/*  メニュー
-------------------------------------------------------*/
.navigation {
    position: relative;
}

@media screen and (max-width: 750px) {
    .navigation {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: fixed;
        top: 0;
        right: 0;
        width: 0%;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: opacity 0.7s, visibility 0.7s;
        transition: opacity 0.7s, visibility 0.7s;
        overflow: hidden;
        z-index: 222;
    }

    .navigation.is-close {
        position: fixed;
        top: 0;
        left: 0;
        width: 0%;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: opacity 0.35s, visibility 0.35s;
        transition: opacity 0.35s, visibility 0.35s;
        overflow: hidden;
    }

    .navigation.is-open {
        opacity: 1;
        visibility: visible;
        width: 100%;
    }
}

.navi__wrap__top {
    display: none;
}

/* ----------------- ナビコンテナ - */
@media screen and (max-width: 750px) {
    .navigation_inner {
        position: relative;
        margin-left: auto;
        width: 94.6vw;
        height: 100vh;
        overflow-x: scroll;
        z-index: 999;
    }

    .navi__wrap__top {
        position: fixed;
        top: 0;
        right: 0;
        display: block;
        width: 94.6vw;
        height: 15.6vw;
        background-color: #35ace1;
        z-index: 8889;
    }

    .navigation_content {
        position: relative;
        margin: 15.6vw auto 0 auto;
        padding-bottom: 8.9vw;
        width: 100%;
        background-color: rgba(255, 255, 255, 0.95);
    }
}

@media screen and (min-width: 751px) {
    .navi-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .navigation_content {
        padding: 0;
        width: 100%;
    }
}

/* ----------------- グローバルナビ (SP) - */
@media screen and (max-width: 750px) {
    .navi {
        margin: 0 auto;
        width: 85.3vw;
    }

    .navi a {
        position: relative;
        display: block;
        padding: 1em 0;
        border-bottom: 2px solid #35ace1;
        color: #575757;
        font-size: calc(36 / 750 * 100vw);
        font-weight: 700;
    }

    .navi a:last-child {
        border-bottom: none;
    }

    .navi span {
        margin-left: 1em;
        color: #35ace1;
        font-family: bebas-kai, sans-serif;
        font-size: calc(30 / 750 * 100vw);
    }

    .navi a:after {
        position: absolute;
        right: 0;
        top: 50%;
        content: '\f0da';
        margin-top: -.8em;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
    }
}

/* ----------------- グローバルナビ (PC) - */
@media screen and (min-width: 751px) {
    .navi {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: 6.17vw;
    }

    .navi a {
        position: relative;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        padding: 0.83vw 1em;
        width: auto;
        height: auto;
        color: #575757;
        border-right: 1px solid #e6e6e6;
        font-size: calc(13 / 1200 * 100vw);
        font-weight: 700;
        text-align: center;
        line-height: 1em;
    }

    .navi span {
        display: block;
        width: 100%;
        margin-top: .5em;
        color: #35ace1;
        font-family: bebas-kai, sans-serif;
        font-size: calc(14 / 1200 * 100vw);
        font-weight: 400;
    }

    .navi a:last-child {
        border-right: none;
    }

    .navi a::after {
        position: absolute;
        bottom: 0;
        left: 50%;
        content: '';
        width: 0;
        height: 0.25vw;
        background-color: #35ace1;
        transition: .3s;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .navi a:hover::after {
        width: 90%;
    }
}

@media screen and (min-width: 1250px) {
    .navi {
        height: 74px;
    }

    .navi a {
        padding: 10px 1em;
        font-size: 14px;
        font-size: 1.4rem;
    }

    .navi span {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .navi a::after {
        height: 3px;
    }
}

.navigation__sp {
    margin: 0 auto;
    width: 83vw;
}

@media screen and (min-width: 751px) {
    .navigation__sp {
        display: none;
    }
}

/* ----------------- トグルボタン - */
.toggle {
    position: absolute;
    top: 4vw;
    right: 3.6vw;
    width: 14.6vw;
    height: 14.6vw;
    cursor: pointer;
    z-index: 9999 !important;
    -webkit-transition: opacity 0.25s ease;
    transition: opacity 0.25s ease;
}

@media screen and (min-width: 751px) {
    .toggle {
        display: none;
    }
}

.toggle span {
    position: absolute;
    top: 1.6vw;
    left: 2vw;
    width: 10.9vw;
    height: 0.8vw;
    background-color: #575757;
    -webkit-transition: all 0.35s ease;
    transition: all 0.35s ease;
    cursor: pointer;
}

.toggle span:nth-of-type(2) {
    top: 5vw;
    width: 8.2vw;
}

.toggle span:nth-of-type(3) {
    top: 8.8vw;
}

.toggle.is-active span:nth-of-type(1) {
    -webkit-transform: translateY(3.6vw) translateX(0) rotate(45deg);
    transform: translateY(3.6vw) translateX(0) rotate(45deg);
	background-color: #fff;
}

.toggle.is-active span:nth-of-type(2) {
    opacity: 0;
}

.toggle.is-active span:nth-of-type(3) {
    display: block;
    -webkit-transform: translateY(-3.6vw) translateX(0) rotate(-45deg);
    transform: translateY(-3.6vw) translateX(0) rotate(-45deg);
	background-color: #fff;
}

.toggle__text {
    position: absolute;
    bottom: 1vw;
    left: 50%;
    margin-left: .1em;
    color: #575757;
    font-size: calc(24 / 750 * 100vw);
    font-weight: 700;
    line-height: 1em;
    letter-spacing: 0.19em;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.toggle.is-active .toggle__text {
    bottom: 6vw;
    left: -8vw;
    color: #fff;
    font-family: bebas-kai, sans-serif;
    font-size: calc(36 / 750 * 100vw);
    letter-spacing: 0.05em;
}

.toggle.is-active {
    position: absolute;
    top: 2vw;
    right: 3.6vw;
}

.btn-apply {
    position: relative;
    display: block;
    padding: 0 1em;
    border-radius: 2em;
    border: 0.8vw solid #fff;
    background-color: #dd1c2b;
    color: #fff;
    font-size: calc(37 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
    line-height: 3em;
}

.btn-apply:hover {
    border: 0.8vw solid #dd1c2b;
    background-color: #fff;
    color: #dd1c2b;
}

.btn-apply:before {
    content: '';
    position: relative;
    display: inline-block;
    top: .1em;
    margin-right: .5em;
    width: 5.6vw;
    height: 4.5vw;
    background-image: url(../img/header/cart.png);
    background-size: contain;
}

.btn-apply:hover::before {
    background-image: url(../img/header/cart_red.png);
}

.btn-contact {
    position: relative;
    display: block;
    padding: 0 1em;
    border-radius: 2em;
    box-shadow: 0px 0px 6px 0px rgba(51, 51, 51, 0.2);
    border: 0.8vw solid #f39800;
    background-color: #fff;
    color: #f39800;
    font-size: calc(37 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
    line-height: 2em;
}

.btn-contact:hover {
    background-color: #f39800;
    color: #fff;
}

.btn-apply:after,
.btn-contact:after {
    position: absolute;
    top: 50%;
    right: .5em;
    content: '\f0da';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (min-width: 751px) {
    .btn-apply {
        border: 0.33vw solid #fff;
        font-size: calc(24 / 1200 * 100vw);
    }

    .btn-apply .btn-apply:hover {
        border: 0.33vw solid #dd1c2b;
    }

    .btn-apply:before {
        width: 2.25vw;
        height: 1.83vw;
    }

    .btn-contact {
        border: 0.33vw solid #f39800;
        font-size: calc(24 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .btn-apply {
        border: 4px solid #fff;
        font-size: 24px;
        font-size: 2.4rem;
    }

    .btn-apply:hover {
        border: 4px solid #dd1c2b;
    }

    .btn-apply:before {
        width: 27px;
        height: 22px;
    }

    .btn-contact {
        border: 4px solid #f39800;
        font-size: 24px;
        font-size: 2.4rem;
    }
}

/* ----------------- 被リンク - */
.hilink {
    display: block;
    background: -moz-linear-gradient(left, #1d52aa, #209edb);
    background: -webkit-linear-gradient(left, #1d52aa, #209edb);
    background: linear-gradient(to right, #1d52aa, #209edb);
    padding: .2em 0;
    color: #fff;
    font-size: calc(22 / 750 * 100vw);
    text-align: center;
}

@media screen and (min-width: 751px) {
    .hilink {
        font-size: calc(12 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .hilink {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

/*  フッター
-------------------------------------------------------*/
.footer {
    position: relative;
    background: -moz-linear-gradient(left, #fcfcfc, #fcfcfc);
    background: -webkit-linear-gradient(left, #fcfcfc, #fcfcfc);
    background: linear-gradient(to right, #fcfcfc, #fcfcfc);
	border-top:thin solid #35ace1;
}

.footer__inner {
    padding: 6vw 0 5vw 0;
}

@media screen and (min-width: 751px) {
    .footer__inner {
        padding: 2vw 0 1.6vw 0;
    }
}

@media screen and (min-width: 1250px) {
    .footer__inner {
        padding: 25px 0 20px 0;
    }
}

.footer__info p {
    color: #575757;
    font-size: calc(26 / 750 * 100vw);
    text-align: center;
}

@media screen and (min-width: 751px) {
    .footer__info p {
        color: #575757;
        font-size: calc(14 / 1200 * 100vw);
        text-align: center;
    }
}

@media screen and (min-width: 1250px) {
    .footer__info p {
        font-size: 14px;
        font-size: 1.4rem;
    }
}

.footer__btn {
    margin-bottom: 2vw;
    text-align: center;
}

.footer__btn a {
    display: inline-block;
    padding: 1em 1em;
    width: 76vw;
    border-radius: 2.5em;
    border: 2px solid #fff;
    color: #fff;
    font-size: calc(26 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
}

.footer__btn a:hover {
    background-color: #0071be;
}

@media screen and (min-width: 751px) {
    .footer__btn {
        margin-bottom: 0.83vw;
    }

    .footer__btn a {
        padding: 1.2em 1em;
        width: 24.1vw;
        border: 0.17vw solid #fff;
        font-size: calc(14 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .footer__btn {
        margin-bottom: 10px;
    }

    .footer__btn a {
        width: 290px;
        border: 2px solid #fff;
        font-size: 14px;
        font-size: 1.4rem;
    }
}

/* ----------------- ナビゲーション - */
.footer__navi {
    display: flex;
    justify-content: center;
    margin-top: 4vw;
}

.footer__navi li a {
    padding: 0 .5em;
    color: #575757;
    font-size: calc(18 / 750 * 100vw);
    text-align: center;
}

.footer__navi li {
    border-right: 1px solid #e6e6e6;
    line-height: 1em;
}

.footer__navi li:last-child {
    border-right: none;
}

.footer__navi a:hover {
    color: #0071be;
}

@media screen and (min-width: 751px) {
    .footer__navi {
        flex-wrap: wrap;
        margin-top: 1.6vw;
    }

    .footer__navi li a {
        display: inline-block;
        padding: 0 1em;
        width: auto;
        font-size: calc(12 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .footer__navi {
        margin-top: 20px;
    }

    .footer__navi li a {
        font-size: 14px;
        font-size: 1.4rem;
    }
}

/* ----------------- コピーライト - */
.copyright {
    display: block;
    background-color: #0071be;
    padding: .2em 0;
    color: #fff;
    font-family: bebas-kai, sans-serif;
    font-size: calc(22 / 750 * 100vw);
    text-align: center;
}

@media screen and (min-width: 751px) {
    .copyright {
        font-size: calc(12 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .copyright {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

.floating {
    display: none;
}

@media screen and (min-width: 751px) {
    .floating {
        position: fixed;
        bottom: 0;
        left: 0;
        overflow: hidden;
        width: 100%;
        z-index: 777;
        transition: .3s;
    }

    .floating .cta {
        padding: 5px 0;
    }

    .floating .cta .cta__btn__apply,
    .floating .cta .cta__btn__contact {
        line-height: 70px;
    }

    .floating .cta__content {
        align-items: center;
    }
}

/*  セクション
-------------------------------------------------------*/
.section {
    position: relative;
    padding: 10vw 0;
}

.section__large {
    position: relative;
    padding: 16vw 0;
}

@media screen and (min-width: 751px) {
    .section {
        padding: 5vw 0;
    }

    .section__large {
        padding: 10.83vw 0 14.17vw 0;
    }
}

@media screen and (min-width: 1250px) {
    .section {
        padding: 60px 0;
    }

    .section__large {
        padding: 130px 0 170px 0;
    }
}

.section__inner {
    position: relative;
    margin: 0 auto;
    padding: 0 2.6vw;
    width: 100%;
}

@media screen and (min-width: 751px) {
    .section__inner {
        padding: 0 1vw;
        max-width: calc(1200 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .section__inner {
        padding: 0;
        max-width: 1200px;
    }
}

.section__innertop {
    position: relative;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

@media screen and (min-width: 751px) {
    .section__innertop {
        padding: 0;
        max-width: calc(1200 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .section__innertop {
        padding: 0;
        max-width: 1200px;
    }
}

.section__heading__wrap {
    margin-bottom: 5vw;
    text-align: center;
}

@media screen and (min-width: 751px) {
    .section__heading__wrap {
        margin-bottom: calc(45 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .section__heading__wrap {
        margin-bottom: 40px;
    }
}

.section__heading {
    color: #0071be;
    font-size: calc(54 / 750 * 100vw);
    font-weight: 700;
    line-height: 1.4em;
}

.section__heading span {
    font-size: calc(42 / 750 * 100vw);
}

.section__subheading__wrap {
    display: inline-block;
    padding: 0 2.5em;
    background-color: #35ace1;
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
}

.section__subheading {
    color: #fff;
    font-family: bebas-kai, sans-serif;
    font-size: calc(28 / 750 * 100vw);
    text-align: center;
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
}

@media screen and (min-width: 751px) {
    .section__heading {
        font-size: calc(48 / 1200 * 100vw);
    }

    .section__heading span {
        font-size: calc(36 / 1200 * 100vw);
    }

    .section__subheading {
        font-size: calc(24 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .section__heading {
        font-size: 48px;
        font-size: 4.8rem;
    }

    .section__heading span {
        font-size: 36px;
        font-size: 3.6rem;
    }

    .section__subheading {
        font-size: 24px;
        font-size: 2.4rem;
    }
}

.section__desc {
    margin-top: 1.5em;
    font-weight: 700;
    text-align: center;
}

/*  メインビジュアル
-------------------------------------------------------*/
.mv {
    position: relative;
    margin: 0 auto;
    margin-top: 21.3vw;
    width: 100%;
    height: 126vw;
    background-image: url("../img/mv/bg.jpg");
    background-size: cover;
    background-position: bottom center;
}

.mv .section__inner {
    height: 100%;
}

@media screen and (min-width: 751px) {
    .mv {
        margin-top: 9.58vw;
        height: 61.67vw;
    }
}

@media screen and (min-width: 1250px) {
    .mv {
        margin-top: 115px;
        height: 740px;
    }
}

.mv__image {
    position: relative;
    margin: 0 auto;
    padding-top: 0;
    width: 100%;
    z-index: 1;
}

.mv__btn {
    position: absolute;
    bottom: 7.6vw;
    left: 50%;
    width: 91.2vw;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1;
}

@media screen and (min-width: 751px) {
    .mv__image {
        padding-top: 2.5vw;
    }

    .mv__btn {
        bottom: 46px;
        left: 1vw;
        width: 36.25vw;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@media screen and (min-width: 1250px) {
    .mv__image {
        padding-top: 30px;
    }

    .mv__btn {
        position: absolute;
        bottom: 46px;
        left: 0;
        width: 435px;
    }
}

/*  ポイント
-------------------------------------------------------*/
.section__point {
    background-image: url(../img/point/bg.jpg);
    background-size: cover;
}

.point__outer {
    margin-bottom: 6vw;
}

.point__box {
    background-color: #fff;
    position: relative;
    margin-left: 7vw;
    display: flex;
    align-items: center;
    width: 80vw;
    height: 28vw;
    box-shadow: 0px 0px 6px 0px rgba(51, 51, 51, 0.2);
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
}

.point__box__inner {
    display: flex;
    align-items: center;
    margin: 0 auto;
    padding: 2vw 3vw;
    width: 80vw;
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
}

.point__box::after {
    content: "";
    position: absolute;
    bottom: .3em;
    right: .3em;
    width: 0;
    height: 0;
    border-bottom: 1.3em solid #0071be;
    border-left: 1.5em solid transparent;
}

.point__box__inner__image {
    width: 16vw;
    text-align: center;
}

.point__box__inner__content {
    width: calc(100% - 16vw);
}

@media screen and (min-width: 751px) {
    .point {
        display: flex;
        flex-wrap: wrap;
        margin-left: -5.83vw;
    }

    .point__outer {
        margin-left: 5.83vw;
        margin-bottom: 4.17vw;
        width: calc(50% - 5.83vw);
    }

    .point__second .point__outer {
        margin: 0 auto 4.17vw auto;
    }

    .point__box {
        margin-left: 2.9vw;
        width: 40.42vw;
        height: 12.08vw;
    }

    .point__box__inner {
        padding: 1.67vw 2.08vw;
        width: 40.42vw;
    }

    .point__box__inner__image {
        width: 9.17vw;
    }

    .point__box__inner__content {
        width: calc(100% - 9.17vw);
    }
}

@media screen and (min-width: 1250px) {
    .point {
        margin-left: -70px;
    }

    .point__outer {
        margin-left: 70px;
        margin-bottom: 50px;
        width: calc(50% - 70px);
    }

    .point__second .point__outer {
        margin: 0 auto 50px auto;
    }

    .point__box {
        width: 485px;
        height: 145px;
    }

    .point__box__inner {
        padding: 20px 25px;
        width: 485px;
    }

    .point__box__inner__image {
        width: 110px;
    }

    .point__box__inner__content {
        width: calc(100% - 110px);
    }
}

.point__heading {
    color: #dd1c2b;
    font-size: calc(28 / 750 * 100vw);
    font-weight: 700;
    line-height: 1.4em;
}

.point__heading span {
    font-size: calc(26 / 750 * 100vw);
}

@media screen and (min-width: 751px) {
    .point__heading {
        font-size: calc(22 / 1200 * 100vw);
    }

    .point__heading span {
        font-size: calc(16 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .point__heading {
        font-size: 22px;
        font-size: 2.2rem;
    }

    .point__heading span {
        font-size: 16px;
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 750px) {
    .img_point_icon {
        width: 10vw;
        height: auto;
    }
}

@media screen and (max-width: 1249px) {
    .img_point_icon {
        max-width: 75%;
        height: auto;
    }
}

/*  料金プラン
-------------------------------------------------------*/
.plan__item {
    margin: 0 auto;
    margin-bottom: 6vw;
    width: 80vw;
}

.plan__item__inner {
    padding: 5vw 3vw;
    border-radius: 1em;
    background-color: #f2f8fc;
}

.plan__header {
    display: flex;
    align-items: center;
    margin-left: .5em;
    height: 20vw;
}

.plan__header__label {
    position: relative;
    display: inline-block;
    margin-right: 3vw;
    padding: 1.2em .2em;
    width: 26vw;
    height: 100%;
    -webkit-transform: skewX(-10deg);
    transform: skewX(-10deg);
}

.plan__header__label__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    color: #fff;
    font-family: bebas-kai, sans-serif;
    font-size: calc(28 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
    line-height: 1.6em;
    -webkit-transform: skewX(10deg);
    transform: skewX(10deg);
}

.plan__header__label__inner span {
    font-family: bebas-kai, sans-serif;
    font-size: calc(42 / 750 * 100vw);
}

.plan__item__text {
    width: calc(100% - 26vw - 3vw);
    font-size: calc(28 / 750 * 100vw);
    font-weight: 700;
    line-height: 1.4em;
    letter-spacing: -0.1em;
}

.plan___item__price {
    display: flex;
    align-items: flex-end;
}

.plan___item__price__left {
    margin-right: 3vw;
    width: 30vw;
}

.plan___item__price__right {
    display: flex;
    align-items: flex-end;
    width: calc(100% - 30vw - 3vw);
}

.plan___item__price__label {
    display: block;
    padding: .3em 1em;
    border-radius: 1.5em;
    font-size: calc(22 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
}

.plan___item__price__label2 {
    font-size: calc(28 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
}

.plan__item__image {
    margin: 6vw auto;
    width: 60vw;
}

.plan___item__price__num {
    position: relative;
    top: .05em;
    font-family: bebas-kai, sans-serif;
    font-size: calc(120 / 750 * 100vw);
    line-height: 1em;
}

.plan___item__price__tax {
    font-size: calc(34 / 750 * 100vw);
    line-height: 1.1em;
}

.plan___item__price__tax span {
    display: block;
    font-size: calc(22 / 750 * 100vw);
}

@media screen and (min-width: 751px) {
    .plan {
        display: flex;
        margin-left: -1.08vw;
    }

    .plan__item {
        margin-left: 1.08vw;
        margin-bottom: 0;
        width: calc(25% - 1.08vw);
    }

    .plan__item__inner {
        padding: 1.67vw 1.25vw;
        border-radius: 1em;
        background-color: #f2f8fc;
    }

    .plan__header {
        display: flex;
        align-items: center;
        margin-left: .5em;
        height: 7.5vw;
    }

    .plan__header__label {
        position: relative;
        display: inline-block;
        margin-right: 1.67vw;
        padding: 1.2em .2em;
        width: 7.08vw;
        height: 100%;
        -webkit-transform: skewX(-10deg);
        transform: skewX(-10deg);
    }

    .plan__header__label__inner {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        width: 100%;
        height: 100%;
        color: #fff;
        font-family: bebas-kai, sans-serif;
        font-size: calc(18 / 1200 * 100vw);
        font-weight: 700;
        text-align: center;
        line-height: 1.6em;
        -webkit-transform: skewX(10deg);
        transform: skewX(10deg);
    }

    .plan__header__label__inner span {
        display: block;
        font-family: bebas-kai, sans-serif;
        font-size: calc(32 / 1200 * 100vw);
    }

    .plan__item__text {
        width: calc(100% - 7.08vw - 1.67vw);
        font-size: calc(17 / 1200 * 100vw);
        font-weight: 700;
        line-height: 1.4em;
        letter-spacing: -0.1em;
    }

    .plan___item__price {
        display: flex;
        align-items: flex-end;
    }

    .plan___item__price__left {
        margin-right: 0.42vw;
        width: 7.5vw;
    }

    .plan___item__price__right {
        display: flex;
        align-items: flex-end;
        width: calc(100% - 7.5vw - 0.42vw);
    }

    .plan___item__price__label {
        display: block;
        padding: .3em .3em;
        border-radius: 1.5em;
        font-size: calc(11 / 1200 * 100vw);
        font-weight: 700;
        text-align: center;
    }

    .plan___item__price__label2 {
        font-size: calc(17 / 1200 * 100vw);
        font-weight: 700;
        text-align: center;
    }

    .plan__item__image {
        margin: 0 auto;
        margin-bottom: 1.67vw;
        width: 100%;
    }

    .plan___item__price__num {
        position: relative;
        top: .05em;
        font-family: bebas-kai, sans-serif;
        font-size: calc(65 / 1200 * 100vw);
        line-height: 1em;
    }

    .plan___item__price__tax {
        font-size: calc(24 / 1200 * 100vw);
    }

    .plan___item__price__tax span {
        display: block;
        font-size: calc(10 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .plan {
        margin-left: -13px;
    }

    .plan__item {
        margin-left: 13px;
        width: calc(25% - 13px);
    }

    .plan__item__inner {
        padding: 20px 15px;
    }

    .plan__header {
        height: 90px;
    }

    .plan__header__label {
        margin-right: 20px;
        width: 85px;
    }

    .plan__header__label__inner {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .plan__header__label__inner span {
        font-size: 32px;
        font-size: 3.2rem;
    }

    .plan__item__text {
        width: calc(100% - 85px - 20px);
        font-size: 18px;
        font-size: 1.8rem;
    }

    .plan___item__price__left {
        margin-right: 5px;
        width: 90px;
    }

    .plan___item__price__right {
        width: calc(100% - 90px - 5px);
    }

    .plan___item__price__label {
        font-size: 12px;
        font-size: 1.2rem;
    }

    .plan___item__price__label2 {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .plan__item__image {
        margin-bottom: 20px;
    }

    .plan___item__price__num {
        font-size: 70px;
        font-size: 7.0rem;
    }

    .plan___item__price__tax {
        font-size: 24px;
        font-size: 2.4rem;
        line-height: .8em;
    }

    .plan___item__price__tax span {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

.plan__item:nth-of-type(1) {
    color: #f19ec2;
}

.plan__item:nth-of-type(1) .plan__header__label {
    background-color: #f19ec2;
    color: #fff;
}

.plan__item:nth-of-type(1) .plan___item__price__label {
    background-color: #ffecf4;
}

.plan___item__price .plan___item__price__label {
    background-color: #ffecf4;
}

.plan__item:nth-of-type(2) {
    color: #b3d465;
}

.plan__item:nth-of-type(2) .plan__header__label {
    background-color: #b3d465;
    color: #fff;
}

.plan__item:nth-of-type(2) .plan___item__price__label {
    background-color: #f1fcd7;
}

.plan__item:nth-of-type(3) {
    color: #13b5b1;
}

.plan__item:nth-of-type(3) .plan__header__label {
    background-color: #13b5b1;
    color: #fff;
}

.plan__item:nth-of-type(3) .plan___item__price__label {
    background-color: #dbf5f4;
}

.plan__item:nth-of-type(4) {
    color: #f39800;
}

.plan__item:nth-of-type(4) .plan__header__label {
    background-color: #f39800;
    color: #fff;
}

.plan__item:nth-of-type(4) .plan___item__price__label {
    background-color: #ffefd3;
}

.plan__btn {
    display: block;
    position: relative;
    padding: .7em 0;
    width: 100%;
    border: 3px solid #dd1c2b;
    background-color: #dd1c2b;
    border-radius: 2.5em;
    color: #fff;
    font-size: calc(26 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
}

@media screen and (min-width: 751px) {
    .plan__btn {
        display: inline-block;
        width: 22.08vw;
        font-size: calc(16 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .plan__btn {
        width: 265px;
        font-size: 16px;
        font-size: 1.6rem;
    }
}

.plan__btn:hover {
    background-color: #fff;
    color: #dd1c2b;
}

.plan__btn:after {
    position: absolute;
    top: 50%;
    right: .5em;
    content: '\f0da';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.plan__list li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: calc(24 / 750 * 100vw);
}

.plan__list li:before {
    content: '・';
}

@media screen and (min-width: 751px) {
    .plan__list li {
        font-size: calc(12 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .plan__list li {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

/*  広いエリアで利用可能
-------------------------------------------------------*/
.section__area {
    position: absolute;
    top: 20vw;
    left: -25%;
    width: 150%;
    height: 220vw;
    background-color: #fefaf2;
    -webkit-transform: rotate(-5deg) translate3d(0, 0, 0);
    transform: rotate(-5deg) translate3d(0, 0, 0);
}

@media screen and (min-width: 751px) {
    .section__area {
        top: 8.33vw;
        height: 57.5vw;
    }
}

@media screen and (min-width: 1250px) {
    .section__area {
        top: 100px;
        height: 690px;
    }
}

.area {
    margin-bottom: 6vw;
}

.area__image {
    margin: 0 auto;
    margin-bottom: 4vw;
    width: 80%;
}

@media screen and (min-width: 751px) {
    .area {
        display: flex;
        margin-bottom: 2.92vw;
    }

    .area__image {
        margin-bottom: 0;
        width: 37.50vw;
    }

    .area__content {
        width: calc(100% - 37.50vw - 4vw);
    }

    .area:nth-of-type(even) .area__image {
        margin-right: 4vw;
        order: 1;
    }

    .area:nth-of-type(odd) .area__image {
        margin-left: 4vw;
        order: 2;
    }

    .area:nth-of-type(even) .area__content {
        order: 2;
    }

    .area:nth-of-type(odd) .area__content {
        order: 1;
    }
}

@media screen and (min-width: 1250px) {
    .area {
        margin-bottom: 35px;
    }

    .area__image {
        width: 450px;
    }

    .area__content {
        width: calc(100% - 450px - 50px);
    }

    .area:nth-of-type(even) .area__image {
        margin-right: 50px;
    }

    .area:nth-of-type(odd) .area__image {
        margin-left: 50px;
    }
}

.area__heading {
    margin: 1em 0;
    font-size: calc(34 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
    line-height: 1.4em;
}

@media screen and (min-width: 751px) {
    .area__heading {
        font-size: calc(24 / 1200 * 100vw);
        text-align: left;
    }
}

@media screen and (min-width: 1250px) {
    .area__heading {
        font-size: 24px;
        font-size: 2.4rem;
    }
}

/*  ご利用の流れ
-------------------------------------------------------*/
.section__flow {
    position: absolute;
    top: 28vw;
    left: -25%;
    width: 150%;
    height: 310vw;
    background-color: #f2f8fc;
    -webkit-transform: rotate(-5deg) translate3d(0, 0, 0);
    transform: rotate(-5deg) translate3d(0, 0, 0);
}

@media screen and (min-width: 751px) {
    .section__flow {
        top: 25vw;
        height: 57.5vw;
    }
}

@media screen and (min-width: 1250px) {
    .section__flow {
        top: 300px;
        height: 690px;
    }
}

.flow__caption {
    display: inline-block;
    padding: 0 .5em;
    background: linear-gradient(transparent 60%, #35ace1 60%);
    font-size: calc(34 / 750 * 100vw);
    font-weight: 700;
}

@media screen and (min-width: 751px) {
    .flow__caption {
        font-size: calc(24 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .flow__caption {
        font-size: 24px;
        font-size: 2.4rem;
    }
}

.flow {
    position: relative;
    margin: 0 auto;
    margin-bottom: 6vw;
    padding: 4vw 2.6vw;
    border: 2px solid #0071be;
    background-color: #fff;
    width: 100%;
}

.flow:after {
    position: absolute;
    bottom: -9vw;
    left: 50%;
    content: '\f0d7';
    color: #7fbae0;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: calc(90 / 750 * 100vw);
    line-height: 1em;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.flow:last-of-type:after {
    content: '';
}

.flow__image {
    margin: 0 auto;
    margin-bottom: 4vw;
    width: 40%;
    text-align: center;
}

.flow__label:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border-top: 22vw solid #0071be;
    border-right: 22vw solid transparent;
    z-index: 1;
}

.flow__label p {
    position: absolute;
    top: .2em;
    left: .2em;
    color: #fff;
    font-size: calc(46 / 750 * 100vw);
    font-family: bebas-kai, sans-serif;
    font-weight: 700;
    line-height: 1em;
    z-index: 2;
}

@media screen and (min-width: 751px) {
    .flow {
        position: relative;
        display: flex;
        align-items: center;
        margin: 0 auto;
        margin-bottom: 3.33vw;
        padding: 1.67vw 1.67vw 2.5vw 10.83vw;
        border: 2px solid #0071be;
        width: 75vw;
        min-height: 12.92vw;
    }

    .flow:after {
        position: absolute;
        bottom: -5vw;
        left: 50%;
        content: '\f0d7';
        color: #7fbae0;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-size: calc(80 / 1200 * 100vw);
        line-height: 1em;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .flow:last-of-type:after {
        content: '';
    }

    .flow__image {
        margin-right: 2.5vw;
        margin-bottom: 0;
        width: 17.5vw;
        text-align: center;
    }

    .flow__content {
        width: calc(100% - 17.5vw - 2.5vw);
    }

    .flow__label:before {
        border-top: 10.83vw solid #0071be;
        border-right: 10.83vw solid transparent;
    }

    .flow__label p {
        font-size: calc(36 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .flow {
        margin-bottom: 40px;
        padding: 20px 20px 30px 130px;
        width: 900px;
        min-height: 155px;
    }

    .flow:after {
        bottom: -60px;
        font-size: 80px;
        font-size: 8.0rem;
    }

    .flow__image {
        margin-right: 30px;
        width: 210px;
    }

    .flow__content {
        width: calc(100% - 210px - 30px);
    }

    .flow__label:before {
        border-top: 130px solid #0071be;
        border-right: 130px solid transparent;
    }

    .flow__label p {
        font-size: 36px;
        font-size: 3.6rem;
    }
}

.flow__heading__wrap {
    display: flex;
    align-items: center;
}

.flow__heading__wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}

.flow__heading {
    color: #0071be;
    font-size: calc(40 / 750 * 100vw);
    font-weight: 700;
    line-height: 1.4em;
    text-align: center;
}

.flow__heading__label {
    margin-left: 1em;
    padding: .5em 1em;
    border-radius: 1.5em;
    background-color: #dd1c2b;
    color: #fff;
    font-size: calc(30 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
    line-height: 1em;
}

.flow__text,
.flow__btn__wrap {
    font-weight: 700;
    text-align: center;
}

@media screen and (min-width: 751px) {
    .flow__heading__wrap {
        justify-content: flex-start;
    }

    .flow__heading {
        font-size: calc(30 / 1200 * 100vw);
        text-align: left;
    }

    .flow__heading__label {
        font-size: calc(20 / 1200 * 100vw);
    }

    .flow__text,
    .flow__btn__wrap {
        text-align: left;
    }
}

@media screen and (min-width: 1250px) {
    .flow__heading {
        font-size: 30px;
        font-size: 3.0rem;
    }

    .flow__heading__label {
        font-size: 20px;
        font-size: 2.0rem;
    }
}

.flow__btn {
    position: relative;
    display: inline-block;
    padding: .3em 1em;
    border-radius: 1.5em;
    border: 2px solid #0071be;
    background-color: #0071be;
    color: #fff;
    font-size: calc(30 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
}

.flow__btn:hover {
    background-color: #fff;
    color: #0071be;
}

@media screen and (min-width: 751px) {
    .flow__btn {
        font-size: calc(16 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .flow__btn {
        font-size: 16px;
        font-size: 1.6rem;
    }
}

.btn__blank,
.btn__arrow {
    position: relative;
}

.btn__blank:after {
    margin-left: .5em;
    content: '\f24d';
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
}

.btn__arrow:after {
    margin-left: .5em;
    content: '\f0da';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

/*  端末スペック
-------------------------------------------------------*/
.spec__left {
    margin-bottom: 4vw;
}

@media screen and (min-width: 751px){
	.spec2 .spec__left {
		background: #0075c1;
	}
	.spec__left .mb50{
		background: #fff;
		margin-bottom:0;
		padding-bottom: calc(50 / 1200 * 100vw);
	}
}

@media screen and (min-width: 751px) {
    .spec {
        display: flex;
        margin-bottom: 2.92vw;
    }

    .spec__left {
        margin-bottom: 0;
        margin-right: 2.5vw;
        width: 52.5vw;
    }

    .spec__right {
        width: calc(100% - 52.5vw - 2.5vw);
    }
}

@media screen and (min-width: 1250px) {
    .spec__left {
        margin-right: 30px;
        width: 630px;
    }

    .spec__right {
        width: calc(100% - 630px - 30px);
    }
}

.spec__name {
    text-align: center;
}

@media screen and (min-width: 751px) {
    .spec__name {
        text-align: left;
    }
}

@media screen and (max-width: 750px) {
    .spec__name img {
        width: 52vw;
        height: auto;
    }
}

.spec__detail {
    font-size: calc(34 / 750 * 100vw);
    color: #0071be;
    font-weight: 700;
    text-align: center;
}

@media screen and (min-width: 751px) {
    .spec__detail {
        font-size: calc(24 / 1200 * 100vw);
        text-align: left;
    }
}

@media screen and (min-width: 1250px) {
    .spec__detail {
        font-size: 24px;
        font-size: 2.4rem;
    }
}

.table-spec {
    margin: 0 auto;
    width: 100%;
    border: 1px solid #0071be;
}

.table-spec tr {
    border-bottom: 1px solid #0071be;
}

.table-spec tr:last-of-type {
    border-bottom: none;
}

.table-spec th {
    padding: .5em 1em;
    width: 40%;
    border-right: 1px solid #0071be;
    background-color: #d7f7f4;
    font-weight: 700;
    text-align: left;
    line-height: 1.7em;
}

.table-spec td {
    padding: .5em 1em;
    width: calc(100% - 40%);
    line-height: 1.7em;
}

@media screen and (min-width: 751px) {
    .table-spec th {
        padding: 1em 1em;
        width: 18.75vw;
    }

    .table-spec td {
        padding: 1em 1em;
        width: calc(100% - 18.75vw);
    }
}

@media screen and (min-width: 1250px) {
    .table-spec th {
        width: 225px;
    }

    .table-spec td {
        width: calc(100% - 225px);
    }
}

.swiper-container {
    width: 100%;
    overflow: hidden;
}

.swiper__button__wrap {
    display: flex;
    justify-content: flex-end;
}

.swiper__button__wrap > div {
    margin-right: 2px;
    line-height: 1em;
    transition: .3s;
}

.swiper__button__wrap > div:hover {
    opacity: 0.7;
}

.swiper__button__wrap > div:last-of-type {
    margin-right: 0;
}

.swiper__button__prev:before {
    content: '';
    display: inline-block;
    background-image: url(../img/spec/prev.jpg);
    background-size: contain;
    width: 10vw;
    height: 10vw;
}

.swiper__button__next:before {
    content: '';
    display: inline-block;
    background-image: url(../img/spec/next.jpg);
    background-size: contain;
    width: 10vw;
    height: 10vw;
}

@media screen and (min-width: 751px) {

    .swiper__button__prev:before,
    .swiper__button__next:before {
        width: 5.33vw;
        height: 5.33vw;
    }
}

@media screen and (min-width: 1250px) {

    .swiper__button__prev:before,
    .swiper__button__next:before {
        width: 64px;
        height: 64px;
    }
}

@media screen and (min-width: 751px) and (max-width: 1249px) {
    .spec__name {
        width: 40vw;
        height: auto;
    }
}

/*  
-------------------------------------------------------*/
.section__option {
    position: absolute;
    top: 43vw;
    left: -25%;
    width: 150%;
    height: 205vw;
    background: -moz-linear-gradient(left, #1d52aa, #209edb);
    background: -webkit-linear-gradient(left, #1d52aa, #209edb);
    background: linear-gradient(to right, #1d52aa, #209edb);
    -webkit-transform: rotate(-5deg) translate3d(0, 0, 0);
    transform: rotate(-5deg) translate3d(0, 0, 0);
}

@media screen and (min-width: 751px) {
    .section__option {
        top: 25vw;
        height: 69.17vw;
    }
}

@media screen and (min-width: 1250px) {
    .section__option {
        top: 300px;
        height: 830px;
    }
}

.option__catch {
    display: inline-block;
    padding: .3em 2em;
    border-radius: 2.5em;
    border: 2px solid #35ace1;
    color: #35ace1;
    font-size: calc(30 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
    line-height: 1.6em;
}

@media screen and (min-width: 751px) {
    .option__catch {
        border-radius: 1.5em;
        font-size: calc(24 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .option__catch {
        font-size: 24px;
        font-size: 2.4rem;
    }
}

.option__price {
    display: flex;
    align-items: flex-end;
    margin: 0 auto;
    width: 100%;
    color: #35ace1;
    font-weight: 700;
}

.option__price__label {
    position: relative;
    margin-bottom: .5em;
    width: 22vw;
    height: 22vw;
    border-radius: 50%;
    background-color: #35ace1;
}

.option__price__label p {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    color: #0071be;
    font-size: calc(38 / 750 * 100vw);
    line-height: 1.2em;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.option__price__left {
    padding: 0 3vw 0 3vw;
    width: 28vw;
    text-align: center;
}

.option__price__right {
    display: flex;
    align-items: flex-end;
    width: calc(100% - 28vw);
}

.option__price__num {
    font-family: bebas-kai, sans-serif;
    font-size: calc(278 / 750 * 100vw);
    line-height: 0.8em;
}

.option__price__text {
    font-size: calc(46 / 750 * 100vw);
    line-height: 1em;
}

.option__price__text span {
    padding-left: .2em;
    font-size: calc(28 / 750 * 100vw);
}

@media screen and (min-width: 751px) {
    .option__price {
        width: 36.25vw;
    }

    .option__price__label {
        width: 7.17vw;
        height: 7.17vw;
    }

    .option__price__label p {
        font-size: calc(24 / 1200 * 100vw);
    }

    .option__price__left {
        padding: 0 1.25vw;
        width: 10vw;
    }

    .option__price__right {
        width: calc(100% - 10vw);
    }

    .option__price__num {
        font-size: calc(180 / 1200 * 100vw);
    }

    .option__price__text {
        font-size: calc(36 / 1200 * 100vw);
    }

    .option__price__text span {
        font-size: calc(18 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .option__price {
        width: 440px;
    }

    .option__price__label {
        width: 86px;
        height: 86px;
    }

    .option__price__label p {
        font-size: 24px;
        font-size: 2.4rem;
    }

    .option__price__left {
        padding: 0 15px;
        width: 120px;
    }

    .option__price__right {
        width: calc(100% - 120px);
    }

    .option__price__num {
        font-size: 180px;
        font-size: 18.0rem;
    }

    .option__price__text {
        font-size: 36px;
        font-size: 3.6rem;
    }

    .option__price__text span {
        font-size: 18px;
        font-size: 1.8rem;
    }
}

.option__box {
    margin: 0 auto;
    width: 100%;
    padding: 4vw;
    background-color: #fff;
}

@media screen and (min-width: 751px) {
    .option__box {
        width: 75vw;
        padding: 2.5vw 2.92vw;
    }
}

@media screen and (min-width: 1250px) {
    .option__box {
        width: 900px;
        padding: 30px 35px;
    }
}

.option__list li {
    padding-left: 1em;
    text-indent: -1em;
}

.option__list li:before {
    content: '・';
}

/*  よくある質問
-------------------------------------------------------*/
.faq {
    margin: 0 auto 25px auto;
    width: 100%;
}

.faq__heading {
    margin-bottom: 20px;
    font-size: calc(36 / 750 * 100vw);
    font-weight: 700;
}

@media screen and (min-width: 751px) {
    .faq {
        margin: 0 auto 2.08vw auto;
        width: 75vw;
    }

    .faq__heading {
        margin-bottom: 1.67vw;
        font-size: calc(24 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .faq {
        margin: 0 auto 25px auto;
        width: 900px;
    }

    .faq__heading {
        margin-bottom: 20px;
        font-size: 24px;
        font-size: 2.4rem;
    }
}

.faq__list dt {
    position: relative;
    display: flex;
    align-items: center;
    margin-top: 3vw;
    padding-right: 14vw;
    width: 100%;
    background-color: #d7f7f4;
    height: 12vw;
    z-index: 1;
}

.faq__list dt:first-child {
    margin-top: 0;
}

.faq__list dd {
    display: none;
    background-color: #fff;
}

@media screen and (min-width: 751px) {
    .faq__list dt {
        margin-top: 1.25vw;
        padding-right: 7.92vw;
        height: 5.83vw;
    }
}

@media screen and (min-width: 1250px) {
    .faq__list dt {
        margin-top: 15px;
        padding-right: 95px;
        height: 70px;
    }
}

.faq__icon,
.faq__icon span {
    transition: all .4s;
}

.faq__icon {
    position: absolute;
    top: 0;
    right: 0;
    width: 12vw;
    height: 100%;
    background-color: #0071be;
    z-index: 1;
}

.faq__icon span {
    position: absolute;
    left: 3.2vw;
    width: 6vw;
    height: 1vw;
    background-color: #fff;
}

.faq__icon span:nth-of-type(1) {
    top: 5.6vw;
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
}

.faq__icon span:nth-of-type(2) {
    top: 5.6vw;
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}

.faq__icon.is-active span:nth-of-type(1) {
    display: none;
}

.faq__icon.is-active span:nth-of-type(2) {
    top: 5.6vw;
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}

@media screen and (min-width: 751px) {
    .faq__icon {
        width: 6.67vw;
    }

    .faq__icon span {
        left: 2.08vw;
        width: 2.50vw;
        height: 0.33vw;
    }

    .faq__icon span:nth-of-type(1) {
        top: 2.67vw;
    }

    .faq__icon span:nth-of-type(2) {
        top: 2.67vw;
    }

    .faq__icon.is-active span:nth-of-type(2) {
        top: 2.67vw;
    }
}

@media screen and (min-width: 1250px) {
    .faq__icon {
        width: 80px;
    }

    .faq__icon span {
        left: 25px;
        width: 30px;
        height: 4px;
    }

    .faq__icon span:nth-of-type(1) {
        top: 32px;
    }

    .faq__icon span:nth-of-type(2) {
        top: 32px;
    }

    .faq__icon.is-active span:nth-of-type(2) {
        top: 32px;
    }
}

.faq__answer {
    display: flex;
    padding: 1em 0;
}

.faq__num {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 10vw;
    font-family: bebas-kai, sans-serif;
    font-size: calc(58 / 750 * 100vw);
    line-height: 1em;
}

.faq__answer > div {
    width: calc(100% - 10vw);
    padding-right: 10vw;
}

.faq__answer p {
    margin-bottom: 1.67vw;
}

.faq__answer p:last-of-type {
    margin-bottom: 0;
}

.faq__num__q {
    color: #35ace1;
}

.faq__num__a {
    align-self: flex-start;
    color: #ee8d95;
}

.faq__title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-size: calc(26 / 750 * 100vw);
    font-weight: 700;
    line-height: 1.4em;
}

.faq__title span {
    display: block;
}

@media screen and (min-width: 751px) {
    .faq__answer {
        padding: 1.8em 0;
    }

    .faq__num {
        width: 5.42vw;
        font-size: calc(48 / 1200 * 100vw);
    }

    .faq__answer > div {
        width: calc(100% - 5.42vw);
        padding-right: 5.42vw;
    }

    .faq__answer p {
        margin-bottom: 1.67vw;
    }

    .faq__title {
        font-size: calc(18 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .faq__num {
        width: 65px;
        font-size: 48px;
        font-size: 4.8rem;
    }

    .faq__answer > div {
        width: calc(100% - 65px);
        padding-right: 65px;
    }

    .faq__answer p {
        margin-bottom: 20px;
    }

    .faq__title {
        font-size: 18px;
        font-size: 1.8rem;
    }
}

/*  必要書類・お支払い方法
-------------------------------------------------------*/
.section__procedure {
    padding: 6vw 0;
    background-color: #f6f6f6;
}

.procedure {
    margin: 0 auto;
    padding: 6vw 4vw;
    background-color: #fff;
}

.procedure__heading {
    font-size: calc(46 / 750 * 100vw);
    font-weight: 700;
}

@media screen and (min-width: 751px) {
    .section__procedure {
        padding: 4.58vw 0 2.92vw 0;
    }

    .procedure {
        padding: 3.33vw 4.17vw;
        width: 83.33vw;
    }

    .procedure__heading {
        font-size: calc(36 / 1200 * 100vw);
        font-weight: 700;
    }
}

@media screen and (min-width: 1250px) {
    .section__procedure {
        padding: 55px 0 35px 0;
    }

    .procedure {
        padding: 40px 50px;
        width: 1000px;
    }

    .procedure__heading {
        font-size: 36px;
        font-size: 3.6rem;
    }
}

.procedure__box {
    padding: 4vw;
    border: 1vw solid #0071be;
    border-radius: 1em;
}

.procedure__box__flex__image {
    margin: 0 auto;
    width: 16vw;
    text-align: center;
}

.procedure__box__flex__text {
    text-align: center;
}

.procedure__box__flex__text p {
    display: inline-block;
    color: #000;
    font-size: calc(34 / 750 * 100vw);
    font-weight: 700;
    background: linear-gradient(transparent 60%, #ffec3d 60%);
}

@media screen and (min-width: 751px) {
    .procedure__box {
        padding: 2.5vw 2.92vw;
        border: 0.25vw solid #0071be;
        border-radius: 1em;
    }

    .procedure__box__flex {
        display: flex;
        align-items: center;
        height: 13.75vw;
    }

    .procedure__box__flex__image {
        margin-right: 2.5vw;
        width: 20vw;
    }

    .procedure__box__flex__text {
        width: calc(100% - 20vw - 2.5vw);
        text-align: left;
    }

    .procedure__box__flex__text p {
        display: inline-block;
        color: #000;
        font-size: calc(24 / 1200 * 100vw);
        font-weight: 700;
        background: linear-gradient(transparent 60%, #ffec3d 60%);
        text-align: center;
    }
}

@media screen and (min-width: 1250px) {
    .procedure__box {
        padding: 30px 35px;
        border: 3px solid #0071be;
    }

    .procedure__box__flex {
        height: 165px;
    }

    .procedure__box__flex__image {
        margin-right: 30px;
        width: 240px;
    }

    .procedure__box__flex__text {
        width: calc(100% - 240px - 30px);
    }

    .procedure__box__flex__text p {
        font-size: 24px;
        font-size: 2.4rem;
        text-align: left;
    }
}

.procedure__hojo {
    font-size: calc(24 / 750 * 100vw);
}

.procedure__list__top {
    padding: 1.5em 1em;
    border-radius: 1em 1em 0 0;
    background-color: #0071be;
    color: #fff;
    font-weight: 700;
}

.procedure__list__top span {
    color: #cce3f3;
    text-decoration: underline;
}

.procedure__list__bottom {
    padding: 1.5em 1em;
    border-radius: 0 0 1em 1em;
    background-color: #d7f7f4;
    font-weight: 700;
}

.procedure__list__bottom ul li {
    font-size: calc(24 / 750 * 100vw);
}

.procedure__payment:first-of-type {
    margin-bottom: 4vw;
}

.procedure__payment__label {
    display: block;
    margin-bottom: 6vw;
    padding: .8em 0;
    width: 50vw;
    border-radius: 1.5em;
    border: 3px solid #0071be;
    color: #0071be;
    font-size: calc(28 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
}

.procedure__payment__content {
    display: block;
}

.procedure__payment__price {
    display: inline-block;
    padding: 0 .3em;
    background: linear-gradient(transparent 60%, #ffec3d 60%);
    font-size: calc(34 / 750 * 100vw);
    font-weight: 700;
    line-height: 1em;
}

.procedure__payment__price span {
    font-family: bebas-kai, sans-serif;
    font-size: calc(90 / 750 * 100vw);
}

.procedure__payment_text {
    font-size: calc(24 / 750 * 100vw);
}

.procedure__payment__card {
    display: flex;
    align-items: flex-end;
    margin-left: -4vw;
}

.procedure__payment__card li {
    margin-left: 4vw;
    width: calc(20% - 4vw);
}

@media screen and (min-width: 751px) {
    .procedure__hojo {
        padding: 0 2em;
        font-size: calc(14 / 1200 * 100vw);
    }

    .procedure__list__top {
        padding: 1.5em 3em;
        border-radius: 1em 1em 0 0;
        background-color: #0071be;
        color: #fff;
        font-weight: 700;
    }

    .procedure__list__top span {
        color: #cce3f3;
        text-decoration: underline;
    }

    .procedure__list__bottom {
        display: flex;
        justify-content: space-between;
        padding: 1.5em 3em;
        border-radius: 0 0 1em 1em;
        background-color: #f2f8fc;
        font-weight: 700;
    }

    .procedure__list__bottom ul li {
        font-size: calc(14 / 1200 * 100vw);
    }

    .procedure__payment {
        display: flex;
        align-items: flex-end;
    }

    .procedure__payment:first-of-type {
        margin-bottom: 0;
    }

    .procedure__payment__label {
        display: block;
        margin-right: 0.83vw;
        margin-bottom: 0;
        padding: .8em 0;
        width: 15.83vw;
        border-radius: 1.5em;
        border: 0.25vw solid #0071be;
        color: #0071be;
        font-size: calc(18 / 1200 * 100vw);
        font-weight: 700;
        text-align: center;
    }

    .procedure__payment__content {
        display: block;
        width: calc(100% - 15.83vw - 0.83vw);
        border-bottom: 1px solid #cccccc;
    }

    .procedure__payment__price {
        display: inline-block;
        padding: 0 .3em;
        background: linear-gradient(transparent 60%, #ffec3d 60%);
        font-size: calc(24 / 1200 * 100vw);
        font-weight: 700;
        line-height: 1em;
    }

    .procedure__payment__price span {
        font-family: bebas-kai, sans-serif;
        font-size: calc(60 / 1200 * 100vw);
    }

    .procedure__payment_text {
        font-size: calc(14 / 1200 * 100vw);
    }

    .procedure__payment__card {
        display: flex;
        align-items: flex-end;
        margin-left: 0;
        min-height: 5vw;
    }

    .procedure__payment__card li {
        margin-left: 0;
        width: auto;
    }
}

@media screen and (min-width: 1250px) {
    .procedure__hojo {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .procedure__list__bottom ul li {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .procedure__payment__label {
        margin-right: 10px;
        width: 190px;
        border: 3px solid #0071be;
        font-size: 18px;
        font-size: 1.8rem;
    }

    .procedure__payment__content {
        width: calc(100% - 190px - 10px);
    }

    .procedure__payment__price {
        font-size: 24px;
        font-size: 2.4rem;
    }

    .procedure__payment__price span {
        font-size: 60px;
        font-size: 6.0rem;
    }

    .procedure__payment_text {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .procedure__payment__card {
        min-height: 60px;
    }
}

@media screen and (max-width: 1249px) {
    .img__procedure__card {
        width: 11.17vw;
        height: auto;
    }

    .img__procedure__passport {
        width: 19.33vw;
        height: auto;
    }
}

/*  CTA
-------------------------------------------------------*/
.cta {
    padding: 6vw 1.3vw;
    background-color: #35ace1;
}

.cta__heading {
    margin: 0 auto;
    margin-bottom: 4vw;
    padding: 3.5vw 3vw;
    width: 100%;
    border-radius: 3em;
    border: 1vw solid #0071be;
    background-color: #fff;
}

.cta__heading__text {
    margin: 0 auto;
    margin-bottom: 2vw;
    width: 62vw;
    text-align: right;
}

.cta__heading__text p {
    color: #0071be;
    font-size: calc(34 / 750 * 100vw);
    font-weight: 700;
    line-height: 1.4em;
}

.cta__heading__text p span {
    position: relative;
}

.cta__heading__text p span:before {
    position: absolute;
    top: -1.8em;
    left: 50%;
    content: '●';
    color: #35ace1;
    font-size: calc(20 / 750 * 100vw);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.cta__heading__image {
    margin: 0 auto;
    width: 60vw;
    text-align: center;
}

.cta__content__left {
    padding-bottom: 4vw;
    border-bottom: 1px solid #fff;
    width: 100%;
}

.cta__content__left__heading {
    display: flex;
    align-items: center;
}

.cta__content__left__heading__image {
    margin-right: 4vw;
    width: 12vw;
}

.cta__content__left__heading__text {
    width: calc(100% - 12vw - 4vw);
    color: #000;
    font-size: calc(34 / 750 * 100vw);
    font-weight: 700;
    line-height: 1.4em;
}

.cta__content__right {
    margin-top: 4vw;
    width: 100%;
}

.cta__content__right__heading {
    display: block;
    padding: .3em 0;
    border: 1px solid #000;
    background-color: #fff;
    color: #000;
    font-size: calc(28 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
}

.cta__content__number {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cta__content__number__image {
    margin-right: 3vw;
    width: 12vw;
    text-align: center;
}

.cta__content__number__text {
    width: calc(100% - 12vw - 3vw);
}

.cta__content__number__text p {
    color: #000;
    font-family: bebas-kai, sans-serif;
    font-size: calc(108 / 750 * 100vw);
    line-height: 1em;
    letter-spacing: 0;
}

.cta__text {
    text-align: center;
    line-height: 1.4em;
}

.cta__btn__apply {
    display: block;
    position: relative;
    margin-bottom: 2vw;
    padding: 0 1em;
    border: 1vw solid #fff;
    background-color: #dd1c2b;
    border-radius: 3em;
    box-shadow: 0px 4px 6px 0px rgba(51, 51, 51, 0.1);
    color: #fff;
    font-size: calc(34 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
    line-height: 18vw;
}

.cta__btn__apply:hover {
    border: 1vw solid #dd1c2b;
    background-color: #fff;
    color: #dd1c2b;
}

.cta__btn__apply:before {
    content: '';
    position: relative;
    display: inline-block;
    top: .1em;
    margin-right: .5em;
    width: 6.6vw;
    height: 4.7vw;
    background-image: url(../img/cta/cart.png);
    background-size: contain;
}

.cta__btn__apply:hover::before {
    background-image: url(../img/cta/cart_red.png);
}

.cta__btn__contact {
    display: block;
    position: relative;
    padding: 0 1em;
    border: 1vw solid #fff;
    background-color: #0071be;
    border-radius: 3em;
    box-shadow: 0px 4px 6px 0px rgba(51, 51, 51, 0.1);
    color: #fff;
    font-size: calc(28 / 750 * 100vw);
    font-weight: 700;
    text-align: center;
    line-height: 18vw;
}

.cta__btn__contact:hover {
    border: 1vw solid #0071be;
    background-color: #fff;
    color: #0071be;
}

.cta__btn__contact:before {
    content: '';
    position: relative;
    display: inline-block;
    top: .2em;
    margin-right: .5em;
    width: 6.6vw;
    height: 4.7vw;
    background-image: url(../img/cta/mail.png);
    background-size: contain;
}

.cta__btn__contact:hover::before {
    background-image: url(../img/cta/mail_blue.png);
}

.cta__btn__apply:after,
.cta__btn__contact:after {
    margin-left: 1em;
    content: '\f0da';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

@media screen and (min-width: 751px) {
    .cta {
        padding: 3.75vw 0;
        background-color: #35ace1;
    }

    .cta__heading {
        display: flex;
        align-items: flex-end;
        margin: 0 auto;
        margin-bottom: 2.5vw;
        padding: 1.25vw 6.5vw;
        width: 75vw;
        border-radius: 4em;
        border: 0.5vw solid #0071be;
        background-color: #fff;
    }

    .cta__heading__text {
        margin-bottom: 0;
        width: calc(100% - 27.08vw - 1.25vw);
        text-align: right;
    }

    .cta__heading__text p {
        color: #0071be;
        font-size: calc(24 / 1200 * 100vw);
        font-weight: 700;
        line-height: 1.4em;
    }

    .cta__heading__text p span {
        position: relative;
    }

    .cta__heading__text p span:before {
        position: absolute;
        top: -1.8em;
        left: 50%;
        content: '●';
        color: #35ace1;
        font-size: calc(10 / 1200 * 100vw);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .cta__heading__image {
        margin-left: 1.25vw;
        width: 27.92vw;
    }

    .cta__heading__image img {
        width: 26.92vw;
        height: auto;
    }

    .cta__content {
        display: flex;
    }

    .cta__content__left {
        padding-bottom: 0;
        border-right: 1px solid #fff;
        border-bottom: none;
        padding-right: 1.5vw;
        width: 68vw;
    }

    .cta__content__left__heading {
        display: flex;
        align-items: center;
        background: linear-gradient(transparent 60%, #fff 60%);
    }

    .cta__content__left__heading__image {
        margin-right: 0;
        width: 7vw;
        text-align: center;
    }

    .cta__content__left__heading__image img {
        width: 4.17vw;
        height: auto;
    }

    .cta__content__left__heading__text {
        width: calc(100% - 7vw);
        color: #000;
        font-size: calc(24 / 1200 * 100vw);
        font-weight: 700;
        font-style: italic;
    }

    .cta__content__left__btn {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .cta__content__right {
        margin-top: 0;
        padding-left: 1.5vw;
        width: calc(100% - 68vw);
    }

    .cta__content__right__heading {
        display: block;
        padding: .3em 0;
        border: 1px solid #000;
        background-color: #fff;
        color: #000;
        font-size: calc(18 / 1200 * 100vw);
        font-weight: 700;
        text-align: center;
    }

    .cta__content__number {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .cta__content__number__image {
        margin-right: .5em;
        width: 3vw;
        text-align: center;
    }

    .cta__content__number__image img {
        width: 2.67vw;
        height: auto;
    }

    .cta__content__number__text {
        width: calc(100% - 3vw - .5em);
    }

    .cta__content__number__text p {
        color: #000;
        font-family: bebas-kai, sans-serif;
        font-size: calc(50 / 1200 * 100vw);
        line-height: 1em;
        letter-spacing: 0;
    }

    .cta__text {
        text-align: left;
    }

    .cta__btn__apply {
        display: inline-block;
        position: relative;
        margin-bottom: 0;
        padding: 0 3.5em;
        border: 0.33vw solid #fff;
        background-color: #dd1c2b;
        border-radius: 3em;
        box-shadow: 0px 4px 6px 0px rgba(51, 51, 51, 0.1);
        color: #fff;
        font-size: calc(23 / 1200 * 100vw);
        font-weight: 700;
        line-height: 7.5vw;
    }

    .cta__btn__apply:hover {
        border: 0.33vw solid #dd1c2b;
        background-color: #fff;
        color: #dd1c2b;
    }

    .cta__btn__apply:before {
        content: '';
        position: relative;
        display: inline-block;
        top: .1em;
        margin-right: .5em;
        width: 2.42vw;
        height: 1.83vw;
        background-image: url(../img/cta/cart.png);
        background-size: contain;
    }

    .cta__btn__apply:hover::before {
        background-image: url(../img/cta/cart_red.png);
    }

    .cta__btn__contact {
        display: inline-block;
        position: relative;
        padding: 0 2em;
        border: 0.33vw solid #fff;
        background-color: #0071be;
        border-radius: 3em;
        box-shadow: 0px 4px 6px 0px rgba(51, 51, 51, 0.1);
        color: #fff;
        font-size: calc(18 / 1200 * 100vw);
        font-weight: 700;
        line-height: 7.5vw;
    }

    .cta__btn__contact:hover {
        border: 0.33vw solid #0071be;
        background-color: #fff;
        color: #0071be;
    }

    .cta__btn__contact:before {
        content: '';
        position: relative;
        display: inline-block;
        top: .2em;
        margin-right: .5em;
        width: 2.42vw;
        height: 1.75vw;
        background-image: url(../img/cta/mail.png);
        background-size: contain;
    }

    .cta__btn__contact:hover::before {
        background-image: url(../img/cta/mail_blue.png);
    }

    .cta__btn__apply:after,
    .cta__btn__contact:after {
        margin-left: 1em;
        content: '\f0da';
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
    }
}

@media screen and (min-width: 1250px) {
    .cta {
        padding: 45px 0;
    }

    .cta__heading {
        margin-bottom: 30px;
        padding: 15px 90px;
        width: 900px;
        border: 6px solid #0071be;
    }

    .cta__heading__text {
        width: calc(100% - 325px - 15px);
    }

    .cta__heading__text p {
        font-size: 24px;
        font-size: 2.4rem;
    }

    .cta__heading__text p span:before {
        font-size: 10px;
        font-size: 1.0rem;
    }

    .cta__heading__image {
        margin-left: 15px;
        width: 335px;
    }

    .cta__heading__image img {
        width: 323px;
    }

    .cta__content__left {
        padding-right: 30px;
        width: 865px;
    }

    .cta__content__left__heading__image {
        width: 84px;
        text-align: center;
    }

    .cta__content__left__heading__image img {
        width: 50px;
        height: auto;
    }

    .cta__content__left__heading__text {
        width: calc(100% - 84px);
        font-size: 24px;
        font-size: 2.4rem;
    }

    .cta__content__right {
        padding-left: 30px;
        width: calc(100% - 865px);
    }

    .cta__content__right__heading {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .cta__content__number__image {
        width: 36px;
    }

    .cta__content__number__image img {
        width: 32px;
    }

    .cta__content__number__text {
        width: calc(100% - 36px - .3em);
    }

    .cta__content__number__text p {
        font-size: 50px;
        font-size: 5.0rem;
    }

    .cta__btn__apply {
        border: 4px solid #fff;
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 90px;
    }

    .cta__btn__apply:hover {
        border: 4px solid #dd1c2b;
    }

    .cta__btn__apply:before {
        width: 29px;
        height: 22px;
    }

    .cta__btn__contact {
        border: 4px solid #fff;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 90px;
    }

    .cta__btn__contact:hover {
        border: 4px solid #0071be;
    }

    .cta__btn__contact:before {
        width: 29px;
        height: 21px;
    }
}

.mt05 {
    margin-top: calc(8 / 750 * 100vw);
}

.mt10 {
    margin-top: calc(13 / 750 * 100vw);
}

.mt12 {
    margin-top: calc(15 / 750 * 100vw);
}

.mt15 {
    margin-top: calc(18 / 750 * 100vw);
}

.mt20 {
    margin-top: calc(23 / 750 * 100vw);
}

.mt25 {
    margin-top: calc(28 / 750 * 100vw);
}

.mt30 {
    margin-top: calc(33 / 750 * 100vw);
}

.mt35 {
    margin-top: calc(38 / 750 * 100vw);
}

.mt40 {
    margin-top: calc(43 / 750 * 100vw);
}

.mt45 {
    margin-top: calc(48 / 750 * 100vw);
}

.mt50 {
    margin-top: calc(53 / 750 * 100vw);
}

.mt55 {
    margin-top: calc(58 / 750 * 100vw);
}

.mt60 {
    margin-top: calc(63 / 750 * 100vw);
}

.mt65 {
    margin-top: calc(68 / 750 * 100vw);
}

.mt70 {
    margin-top: calc(73 / 750 * 100vw);
}

.mt80 {
    margin-top: calc(83 / 750 * 100vw);
}

.mt90 {
    margin-top: calc(93 / 750 * 100vw);
}

.mt100 {
    margin-top: calc(103 / 750 * 100vw);
}

.mb05 {
    margin-bottom: calc(8 / 750 * 100vw);
}

.mb10 {
    margin-bottom: calc(13 / 750 * 100vw);
}

.mb12 {
    margin-bottom: calc(15 / 750 * 100vw);
}

.mb15 {
    margin-bottom: calc(18 / 750 * 100vw);
}

.mb20 {
    margin-bottom: calc(23 / 750 * 100vw);
}

.mb25 {
    margin-bottom: calc(28 / 750 * 100vw);
}

.mb30 {
    margin-bottom: calc(33 / 750 * 100vw);
}

.mb35 {
    margin-bottom: calc(38 / 750 * 100vw);
}

.mb40 {
    margin-bottom: calc(43 / 750 * 100vw);
}

.mb45 {
    margin-bottom: calc(48 / 750 * 100vw);
}

.mb50 {
    margin-bottom: calc(53 / 750 * 100vw);
}

.mb55 {
    margin-bottom: calc(58 / 750 * 100vw);
}

.mb60 {
    margin-bottom: calc(63 / 750 * 100vw);
}

.mb65 {
    margin-bottom: calc(68 / 750 * 100vw);
}

.mb70 {
    margin-bottom: calc(73 / 750 * 100vw);
}

.mb80 {
    margin-bottom: calc(83 / 750 * 100vw);
}

.mb90 {
    margin-bottom: calc(93 / 750 * 100vw);
}

.mb100 {
    margin-bottom: calc(103 / 750 * 100vw);
}

@media screen and (min-width: 751px) {
    .mt05 {
        margin-top: calc(5 / 1200 * 100vw);
    }

    .mt10 {
        margin-top: calc(10 / 1200 * 100vw);
    }

    .mt15 {
        margin-top: calc(15 / 1200 * 100vw);
    }

    .mt20 {
        margin-top: calc(20 / 1200 * 100vw);
    }

    .mt25 {
        margin-top: calc(25 / 1200 * 100vw);
    }

    .mt30 {
        margin-top: calc(30 / 1200 * 100vw);
    }

    .mt35 {
        margin-top: calc(35 / 1200 * 100vw);
    }

    .mt40 {
        margin-top: calc(40 / 1200 * 100vw);
    }

    .mt45 {
        margin-top: calc(45 / 1200 * 100vw);
    }

    .mt50 {
        margin-top: calc(50 / 1200 * 100vw);
    }

    .mt60 {
        margin-top: calc(60 / 1200 * 100vw);
    }

    .mt70 {
        margin-top: calc(70 / 1200 * 100vw);
    }

    .mt80 {
        margin-top: calc(80 / 1200 * 100vw);
    }

    .mt90 {
        margin-top: calc(90 / 1200 * 100vw);
    }

    .mt100 {
        margin-top: calc(100 / 1200 * 100vw);
    }

    .mb05 {
        margin-bottom: calc(5 / 1200 * 100vw);
    }

    .mb10 {
        margin-bottom: calc(10 / 1200 * 100vw);
    }

    .mb15 {
        margin-bottom: calc(15 / 1200 * 100vw);
    }

    .mb20 {
        margin-bottom: calc(20 / 1200 * 100vw);
    }

    .mb25 {
        margin-bottom: calc(25 / 1200 * 100vw);
    }

    .mb30 {
        margin-bottom: calc(30 / 1200 * 100vw);
    }

    .mb35 {
        margin-bottom: calc(35 / 1200 * 100vw);
    }

    .mb40 {
        margin-bottom: calc(40 / 1200 * 100vw);
    }

    .mb45 {
        margin-bottom: calc(45 / 1200 * 100vw);
    }

    .mb50 {
        margin-bottom: calc(50 / 1200 * 100vw);
    }

    .mb60 {
        margin-bottom: calc(60 / 1200 * 100vw);
    }

    .mb70 {
        margin-bottom: calc(70 / 1200 * 100vw);
    }

    .mb80 {
        margin-bottom: calc(80 / 1200 * 100vw);
    }

    .mb90 {
        margin-bottom: calc(90 / 1200 * 100vw);
    }

    .mb100 {
        margin-bottom: calc(100 / 1200 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .mt05 {
        margin-top: 5px;
    }

    .mt10 {
        margin-top: 10px;
    }

    .mt15 {
        margin-top: 15px;
    }

    .mt20 {
        margin-top: 20px;
    }

    .mt25 {
        margin-top: 25px;
    }

    .mt30 {
        margin-top: 30px;
    }

    .mt35 {
        margin-top: 35px;
    }

    .mt40 {
        margin-top: 40px;
    }

    .mt45 {
        margin-top: 45px;
    }

    .mt50 {
        margin-top: 50px;
    }

    .mt60 {
        margin-top: 60px;
    }

    .mt70 {
        margin-top: 70px;
    }

    .mt80 {
        margin-top: 80px;
    }

    .mt90 {
        margin-top: 90px;
    }

    .mt100 {
        margin-top: 100px;
    }

    .mb05 {
        margin-bottom: 5px;
    }

    .mb10 {
        margin-bottom: 10px;
    }

    .mb15 {
        margin-bottom: 15px;
    }

    .mb20 {
        margin-bottom: 20px;
    }

    .mb25 {
        margin-bottom: 25px;
    }

    .mb30 {
        margin-bottom: 30px;
    }

    .mb35 {
        margin-bottom: 35px;
    }

    .mb40 {
        margin-bottom: 40px;
    }

    .mb45 {
        margin-bottom: 45px;
    }

    .mb50 {
        margin-bottom: 50px;
    }

    .mb60 {
        margin-bottom: 60px;
    }

    .mb70 {
        margin-bottom: 70px;
    }

    .mb80 {
        margin-bottom: 80px;
    }

    .mb90 {
        margin-bottom: 90px;
    }

    .mb100 {
        margin-bottom: 100px;
    }
}

.fw7 {
    font-weight: 700;
}

.center {
    text-align: center;
}

/*  配置
-------------------------------------------------------*/
.sp-left {
    text-align: left;
}

@media screen and (max-width: 750px) {
    .sp-none {
        display: none;
    }

    .pc-br {
        display: inline;
    }

    .sp-br {
        display: block;
    }
}

@media screen and (min-width: 751px) {
    .pc-br {
        display: block;
    }

    .sp-br {
        display: inline;
    }

    .sp-left {
        text-align: center;
    }
}

@media screen and (max-width: 1249px) {
    .tab-br {
        display: inline;
    }

    .tabsp-br {
        display: block;
    }
}

@media screen and (min-width: 1250px) {
    .tab-br {
        display: block;
    }

    .tabsp-br {
        display: inline;
    }
}

/*  画像
-------------------------------------------------------*/
.img-maxfit {
    max-width: 100%;
    height: auto;
}

.img-fit {
    width: 100%;
    max-width: 100%;
    height: auto;
}


/*  必須項目
-------------------------------------------------------*/
.hissu{
	float:right;
	color:#FFF;
	background:#F30;
	font-size:11px;
	display:inline;
	padding-left:5px;
	padding-right:5px;
}
.hissu2{
	color:#FFF;
	background:#F30;
	display:inline;
	padding-left:10px;
	padding-right:10px;
}

/* 商品数を減らした場合調整
-------------------------------------------------------*/
.max {
    max-width: 800px;
}
