@charset "UTF-8";
/* ==========================================================
Name:
    module.css

Description:
    サイトで共通使用する汎用モジュールのスタイルを記述する
    アルファベット降順(A->Z)に記述する

Contents:
    layout
    component
    utility
========================================================== */
/* ==========================================================
*
*   layout
*
========================================================== */
/* ---------------------------------------------
*   contents
--------------------------------------------- */
/* ---------------------------------------------
*   footer
--------------------------------------------- */
.footer {
    width: 100%;
    background-color: #333131;
}

.footer__top {
    background-color: #333131;
}

.footer__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    padding: 36px calc(100 / 1400 * 100%);
    background-color: #202020;

    -webkit-box-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 750px) {
    .footer__bottom {
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 4.8vw 5.33333vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
    }
}

.footer__link-area {
    text-align: center;
}

.footer__link {
    color: #a9a9a9;
    font-size: 12px;
}

@media screen and (max-width: 750px) {
    .footer__link {
        text-align: center;
        font-size: 2.93333vw;
    }
}

@media screen and (min-width: 751px) {
    .footer__link {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .footer__link:hover {
        opacity: 0.8;
    }
}

/*  footer-container
--------------------------------------------- */
/*  footer-nav
--------------------------------------------- */
.footer-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    padding: 16px 0 18px;

    -webkit-box-pack: center;
    justify-content: center;
}

@media screen and (max-width: 750px) {
    .footer-nav__list {
        padding: calc(16 / 800 * 100%) 0 calc(18 / 800 * 100%);
    }
}

@media screen and (max-width: 750px) {
    .footer-nav__list {
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 2.66667vw 0 2.66667vw 4.66667vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
    }
}

.footer-nav__list-item {
    margin-right: 30px;
}

.footer-nav__list-item:last-of-type {
    margin-right: 0;
}

@media screen and (max-width: 750px) {
    .footer-nav__list-item {
        margin-right: 0;
    }
}

.footer-nav__link {
    color: #fff;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 13px;
    cursor: pointer;
}

@media screen and (max-width: 750px) {
    .footer-nav__link {
        font-weight: normal;
        font-size: 3.46667vw;
        line-height: 2.3;
    }
}

@media screen and (min-width: 751px) {
    .footer-nav__link {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .footer-nav__link:hover {
        opacity: 0.8;
    }
}

/*  footer-copyright
--------------------------------------------- */
.footer-copyright__txt {
    display: block;
    color: #a9a9a9;
    letter-spacing: 0.1em;
    font-size: 12px;
}

@media screen and (max-width: 750px) {
    .footer-copyright__txt {
        margin-bottom: 2.13333vw;
        font-size: 2.93333vw;
        line-height: 1.54;
    }
}

/* ---------------------------------------------
*   header
--------------------------------------------- */
.header {
    position: relative;
    width: 100%;
}

.header--top {
    position: absolute;
    top: 0;
    left: 0;
}

@media screen and (max-width: 750px) {
    .header--top {
        position: static;
    }
}

/*  header-container
--------------------------------------------- */
.header-container {
    position: relative;
    top: 0;
    right: 0;
    z-index: 200;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: center;
    padding: 18px 96px;
    width: 100%;

    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 1400px) {
    .header-container {
        padding: calc(18 / 1400 * 100vw) calc(50 / 1400 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .header-container {
        padding: 17.5px 20px 17.5px 17px;
    }
}

/*  header-logo
--------------------------------------------- */
.header-logo {
    width: 66px;
}

@media screen and (max-width: 1400px) {
    .header-logo {
        width: calc(66 / 1400 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .header-logo {
        width: 41px;
    }
}

@media screen and (min-width: 751px) {
    .header-logo__link {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .header-logo__link:hover {
        opacity: 0.8;
    }
}

/*  header-nav
--------------------------------------------- */
@media screen and (max-width: 750px) {
    .header-nav {
        display: none;
    }
}

.header-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 31px;
}

@media screen and (max-width: 800px) {
    .header-nav__list {
        margin-bottom: calc(31 / 800 * 100vw);
    }
}

.header-nav__list-item {
    margin-right: 30px;
}

.header-nav__list-item:last-of-type {
    margin-right: 0;
}

.header-nav__link {
    color: #000000;
    font-weight: bold;
    font-size: 15px;
}

@media screen and (min-width: 751px) {
    .header-nav__link:hover {
        padding-bottom: 7px;
        border-bottom: 2px solid #ef4d3c;
    }
}

/*  header-sp-trigger
--------------------------------------------- */
.trigger {
    font-size: 20px;
    cursor: pointer;
}

@media screen and (max-width: 800px) {
    .trigger {
        padding: calc(20 / 800 * 100vw);
    }
}

.target {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 199;
    display: none;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 750px) {
    .target {
        height: 100%;
    }
}

.menu-trigger {
    position: fixed;
    top: 33px;
    right: 91px;
    z-index: 1000;
    border-radius: 50%;
    cursor: pointer;
}

@media screen and (max-width: 1400px) {
    .menu-trigger {
        top: calc(33 / 1400 * 100vw);
        right: calc(50 / 1400 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .menu-trigger {
        top: 27px;
        right: 24px;
    }
}

@media screen and (min-width: 751px) {
    .menu-trigger:hover .menu-trigger__wrap {
        -webkit-box-shadow: 0 0 4px 4px rgba(0, 0, 0, 0.1);
        box-shadow: 0 0 4px 4px rgba(0, 0, 0, 0.1);
    }
}

.menu-trigger__wrap {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

@media screen and (max-width: 1400px) {
    .menu-trigger__wrap {
        width: calc(60 / 1400 * 100vw);
        height: calc(60 / 1400 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .menu-trigger__wrap {
        width: 50px;
        height: 50px;
    }
}

.js-sp-menu-opened .menu-trigger__wrap {
    width: 47px;
    height: 47px;
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
}

@media screen and (max-width: 1400px) {
    .js-sp-menu-opened .menu-trigger__wrap {
        width: calc(48 / 1400 * 100vw);
        height: calc(48 / 1400 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .js-sp-menu-opened .menu-trigger__wrap {
        width: 40px;
        height: 40px;
    }
}

.menu-trigger__txt {
    padding-top: 32px;
    text-align: center;
    font-weight: bold;
    font-size: 12px;
    font-family: "Helvetica Neue", Arial;
}

@media screen and (max-width: 1400px) {
    .menu-trigger__txt {
        padding-top: calc(32 / 1400 * 100vw);
        font-size: calc(12 / 1400 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .menu-trigger__txt {
        padding-top: 30px;
        font-size: 9px;
    }
}

.js-sp-menu-opened .menu-trigger__txt {
    display: none;
}

.js-sp-menu-opened .menu-trigger__line {
    left: 0;
}

.menu-trigger__line {
    position: absolute;
    left: 10px;
    display: block;
    padding-top: 2px;
    width: 100%;
    height: 0;
}

@media screen and (max-width: 1400px) {
    .menu-trigger__line {
        left: calc(10 / 1400 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .menu-trigger__line {
        left: 10px;
    }
}

.menu-trigger__line--top {
    top: 20%;
    width: 40px;
    background-color: #000;
}

@media screen and (max-width: 1400px) {
    .menu-trigger__line--top {
        width: calc(40 / 1400 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .menu-trigger__line--top {
        width: 32px;
    }
}

.menu-trigger__line--bottom {
    top: 40%;
    width: 24px;
    background-color: #000;
}

@media screen and (max-width: 1400px) {
    .menu-trigger__line--bottom {
        width: calc(24 / 1400 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .menu-trigger__line--bottom {
        width: 19px;
    }
}

.menu-trigger__line--top, .menu-trigger__line--bottom {
    -webkit-transition: 500ms;
    transition: 500ms;
}

.js-sp-menu-opened .menu-trigger__line--top {
    top: 48%;
    width: 100%;
    background-color: #fff;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}

.js-sp-menu-opened .menu-trigger__line--bottom {
    top: 45%;
    width: 100%;
    background-color: #fff;
    -webkit-transform: translateY(50%) rotate(-45deg);
    transform: translateY(50%) rotate(-45deg);
}

@media screen and (max-width: 750px) {
    .js-sp-menu-opened .menu-trigger__line--bottom {
        top: 44%;
    }
}

.menu-trigger:hover.js-sp-menu-opened .menu-trigger__wrap {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.header-sp__contents {
    position: absolute;
    top: 0;
    right: 0;
    overflow-y: scroll;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px 5px 70px;
    width: 35.714%;
    height: 100%;
    background-color: #a9a9a9;

    -ms-overflow-style: none;
    scrollbar-width: none;
}

@media screen and (max-width: 1400px) {
    .header-sp__contents {
        padding: calc(5 / 1400 * 100vw) calc(5 / 1400 * 100vw) calc(130 / 1400 * 100vw);
    }
}

.header-sp__contents::-webkit-scrollbar {
    display: none;
}

@media screen and (max-width: 750px) {
    .header-sp__contents {
        padding: 17.5px 20px 50px 17px;
        width: 100%;
        height: 100%;
    }
}

.header-sp__head {
    margin-bottom: 57px;
    height: 92px;
}

@media screen and (max-width: 1400px) {
    .header-sp__head {
        margin-bottom: calc(57 / 1400 * 100vw);
        height: calc(92 / 1400 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .header-sp__head {
        margin-bottom: 50px;
        height: 41px;
    }
}

.header-sp__body {
    margin: 0 auto;
    width: 76%;
}

@media screen and (max-width: 750px) {
    .header-sp__body {
        width: 93.97%;
    }
}

.header-sp__item {
    border-top: 1px solid #fff;
}

.header-sp__item:last-of-type {
    border-bottom: 1px solid #fff;
}

.header-sp__link {
    display: block;
    padding: 23px 0 23px 29px;
    color: #fff;
    font-weight: bold;
    font-size: 22px;
}

@media screen and (min-width: 751px) {
    .header-sp__link {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .header-sp__link:hover {
        opacity: 0.8;
    }
}

@media screen and (max-width: 1400px) {
    .header-sp__link {
        padding: 1.64286vw 0 1.64286vw 2.07143vw;
        font-size: 1.57143vw;
    }
}

@media screen and (max-width: 750px) {
    .header-sp__link {
        padding: 19px 23px 15px;
        font-size: 17px;
    }
}

.header-sp-submenu__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    padding-bottom: 32px;

    -webkit-box-align: center;
    align-items: center;
}

@media screen and (max-width: 1400px) {
    .header-sp-submenu__item {
        padding-bottom: 2.28571vw;
    }
}

@media screen and (max-width: 750px) {
    .header-sp-submenu__item {
        padding-bottom: 15px;
    }
}

.header-sp-submenu__link {
    padding: 0 0 0 78px;
    color: #fff;
    font-weight: bold;
    font-size: 19px;
}

@media screen and (min-width: 751px) {
    .header-sp-submenu__link {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .header-sp-submenu__link:hover {
        opacity: 0.8;
    }
}

@media screen and (max-width: 1400px) {
    .header-sp-submenu__link {
        padding: 0 0.92857vw 0 5.57143vw;
        font-size: 1.35714vw;
    }
}

@media screen and (max-width: 750px) {
    .header-sp-submenu__link {
        padding: 0 23px 0 49px;
        font-size: 15px;
    }
}

.body-global-nav-opened {
    position: fixed;
    width: 100%;
    height: 100%;
}

/*  header-submenu
--------------------------------------------- */
.header-submenu {
    position: relative;
    display: none;
}

.header-submenu__list {
    position: absolute;
    top: 20px;
    left: 0;
    width: 230px;
    background-color: #202020;
}

.header-submenu__item {
    display: inline-block;
}

.header-submenu__link {
    display: block;
    padding: 16px 0;
    padding: 1em;
    color: #fff;
    text-align: center;
    font-size: 15px;
    line-height: 1.2;
}

@media screen and (min-width: 751px) {
    .header-submenu__link {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .header-submenu__link:hover {
        opacity: 0.8;
    }
}

/* ---------------------------------------------
*   wrapper
--------------------------------------------- */
.wrapper {
    background-color: #f7f7f7;
}

/* ==========================================================
*
*   component
*
========================================================== */
/* ---------------------------------------------
*   c-block-1
--------------------------------------------- */
.c-block-1__ttl {
    margin-bottom: 25px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.67;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

@media screen and (max-width: 750px) {
    .c-block-1__ttl {
        margin-bottom: 3.33333vw;
        font-size: 4.53333vw;
    }
}

.c-block-1__txt {
    letter-spacing: 0.05em;
    font-size: 15px;
    line-height: 2;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

@media screen and (max-width: 750px) {
    .c-block-1__txt {
        font-size: 3.73333vw;
        line-height: 1.78;
    }
}

.c-block-1__txt--bold {
    font-weight: bold;
}

.c-block-1__txt--lg {
    font-size: 17px;
}

@media screen and (max-width: 750px) {
    .c-block-1__txt--lg {
        font-size: 4vw;
        line-height: 1.93;
    }
}

.c-block-1__txt-area {
    margin-bottom: 25px;
}

@media screen and (max-width: 800px) {
    .c-block-1__txt-area {
        margin-bottom: calc(25 / 800 * 100%);
    }
}

@media screen and (max-width: 750px) {
    .c-block-1__txt-area {
        margin-bottom: 3.33333vw;
    }
}

.c-block-1__txt-area--mb0 {
    margin-bottom: 0;
}

.c-block-1__box {
    margin-top: 10px;
    margin-bottom: 30px;
    padding: 14px 30px;
    background-color: #f2f2f2;
}

@media screen and (max-width: 800px) {
    .c-block-1__box {
        margin-top: calc(10 / 800 * 100%);
        margin-bottom: calc(30 / 800 * 100%);
        padding: calc(14 / 800 * 100%) calc(30 / 800 * 100%);
    }
}

@media screen and (max-width: 750px) {
    .c-block-1__box {
        margin-top: 5.33333vw;
        margin-bottom: 6.66667vw;
        padding: 4.4vw 4vw;
    }
}

.c-block-1__list--privacy li {
    padding-left: 1em;
    text-indent: -1em;
}

.c-block-1__item {
    margin-bottom: 25px;
    padding-left: 1em;
    text-indent: -1em;
}

.c-block-1__link {
    color: #ef4d3c;
    text-decoration: underline;
}

.c-block-1__link:hover {
    text-decoration: none;
}

.c-block-1__mark {
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
}

@media screen and (max-width: 750px) {
    .c-block-1__tel {
        padding-bottom: 0.66667vw;
        border-bottom: 1px solid #ef4d3c;
        color: #ef4d3c;
    }
}

.c-block-1__mail {
    color: #ef4d3c;
    text-decoration: underline;
}

.c-block-1__mail:hover {
    text-decoration: none;
}

.js-tel-disabled {
    pointer-events: none;
}

/* ---------------------------------------------
*   c-block-access
--------------------------------------------- */
.c-block-access {
    padding-bottom: 90px;
}

@media screen and (max-width: 750px) {
    .c-block-access {
        padding-bottom: 13.33333vw;
    }
}

.c-block-access__inner {
    position: relative;
    overflow: hidden;
    padding-bottom: 52.5%;
    height: 0;
}

@media screen and (max-width: 800px) {
    .c-block-access__inner {
        width: 100%;
    }
}

@media screen and (max-width: 750px) {
    .c-block-access__inner {
        height: 120.66667vw;
    }
}

.c-block-access__inner iframe,
.c-block-access__inner object,
.c-block-access__inner embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ---------------------------------------------
*   tab
--------------------------------------------- */
.js-tab-target {
    display: none;
}

.js-tab-target.is-current {
    display: block;
}

.selector {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;

    -webkit-box-pack: center;
    justify-content: center;
}

.selector__list {
    margin-right: 8px;
    margin-bottom: 20px;
}

@media screen and (max-width: 750px) {
    .selector__list {
        margin-right: 2.66667vw;
        margin-bottom: 2.66667vw;
    }
}

.selector__list:last-of-type {
    margin-right: 0;
}

.selector__trigger {
    position: relative;
    display: inline-block;
    padding: 18px 20px 22px;
    width: 320px;
    background-color: #e5e5e5;
    color: #000;
    text-align: center;
    letter-spacing: 0.1em;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
    -webkit-transition: .3s;
    transition: .3s;
}

@media screen and (max-width: 800px) {
    .selector__trigger {
        padding: calc(18 / 800 * 100vw) calc(20 / 800 * 100vw) calc(22 / 800 * 100vw);
        width: calc(320 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .selector__trigger {
        padding: 4vw 2.66667vw 6.4vw;
        width: 43.33333vw;
        font-size: 3.73333vw;
    }
}

@media screen and (min-width: 751px) {
    .selector__trigger:hover {
        background-color: #ef4d3c;
        color: #fff;
        font-weight: bold;
    }
    .selector__trigger:hover:after {
        position: absolute;
        bottom: 7%;
        left: 50%;
        width: 12px;
        height: 12px;
        border-right: 3px solid #fff;
        border-bottom: 3px solid #fff;
        content: "";
        -webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
        transform: translateY(-50%) translateX(-50%) rotate(45deg);
    }
}

@media screen and (min-width: 751px) and (max-width: 750px) {
    .selector__trigger:hover:after {
        width: 2.93333vw;
        height: 2.93333vw;
        border-right: 0.66667vw solid #fff;
        border-bottom: 0.66667vw solid #fff;
    }
}

.selector__trigger:last-of-type {
    margin-right: 0;
}

.selector__trigger:after {
    position: absolute;
    bottom: 7%;
    left: 50%;
    width: 12px;
    height: 12px;
    border-right: 3px solid #000;
    border-bottom: 3px solid #000;
    content: "";
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
}

@media screen and (max-width: 750px) {
    .selector__trigger:after {
        width: 2.93333vw;
        height: 2.93333vw;
        border-right: 0.66667vw solid #000;
        border-bottom: 0.66667vw solid #000;
    }
}

.selector__trigger.is-current {
    background-color: #ef4d3c;
    color: #fff;
    font-weight: bold;
}

.selector__trigger.is-current:after {
    position: absolute;
    bottom: 7%;
    left: 50%;
    width: 12px;
    height: 12px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    content: "";
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
}

@media screen and (max-width: 750px) {
    .selector__trigger.is-current:after {
        width: 2.93333vw;
        height: 2.93333vw;
        border-right: 0.66667vw solid #fff;
        border-bottom: 0.66667vw solid #fff;
    }
}

.block {
    background-color: #f7f7f7;
}

.block__txt {
    margin-top: 20px;
    font-size: 15px;
    line-height: 2;
}

@media screen and (max-width: 800px) {
    .block__txt {
        padding-left: calc(10 / 800 *100vw);
    }
}

@media screen and (max-width: 750px) {
    .block__txt {
        margin-top: 2.66667vw;
        padding: 0 1.33333vw;
        font-size: 3.73333vw;
    }
}

.block-wrapper {
    margin: auto;
    width: 800px;
}

@media screen and (max-width: 800px) {
    .block-wrapper {
        width: 100%;
    }
}

@media screen and (max-width: 750px) {
    .block-wrapper {
        width: 100%;
    }
}

/* ---------------------------------------------
*   c-block-info
--------------------------------------------- */
.c-block-info {
    position: relative;
    z-index: 10;
    margin: 0 auto;
    width: 800px;
}

@media screen and (max-width: 800px) {
    .c-block-info {
        width: 100%;
    }
}

@media screen and (max-width: 750px) {
    .c-block-info {
        width: 100%;
    }
}

.c-block-info__head {
    padding: 15px 0;
    background-color: #737373;
    text-align: center;
}

@media screen and (max-width: 800px) {
    .c-block-info__head {
        padding: calc(15 / 800 * 100vw) 0;
    }
}

@media screen and (max-width: 750px) {
    .c-block-info__head {
        padding: 2vw 5.33333vw 3.46667vw;
    }
    .windows .c-block-info__head {
        padding: calc(15 / 800 * 100%) calc(40 / 800 * 100%) calc(26 / 800 * 100%);
    }
}

.c-block-info__head span {
    color: #fff;
    letter-spacing: 0.1em;
    font-size: 15px;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

@media screen and (max-width: 800px) {
    .c-block-info__head span {
        font-size: calc(15 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-info__head span {
        letter-spacing: 0.05em;
        font-size: 3.73333vw;
    }
}

.c-block-info__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    padding: 18px 49px 16px 30px;
    background-color: #fff;

    -webkit-box-align: center;
    align-items: center;
}

@media screen and (max-width: 800px) {
    .c-block-info__body {
        padding: calc(18 / 800 * 100vw) calc(49 / 800 * 100vw) calc(16 / 800 * 100vw) calc(30 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-info__body {
        -ms-flex-align: center;
        padding: 2.93333vw 8.66667vw 2.93333vw 5.33333vw;

        -webkit-box-align: center;
        align-items: center;
    }
    .windows .c-block-info__body {
        padding: calc(22 / 670 * 100%) calc(50 / 670 * 100%) calc(22 / 670 * 100%) calc(25 / 670 * 100%);
    }
}

.c-block-info__txt {
    font-size: 15px;
}

@media screen and (max-width: 800px) {
    .c-block-info__txt {
        font-size: calc(15 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-info__txt {
        font-size: 4vw;
    }
}

.c-block-info__txt--en {
    font-weight: bold;
}

.c-block-info__txt--link:hover {
    text-decoration: underline;
}

.c-block-info__ttl {
    padding-right: 20px;
    border-right: 2px solid #e5e5e5;
    letter-spacing: 0.1em;
    font-size: 18px;
    font-family: "Helvetica Neue", Arial;
    line-height: 1;
}

@media screen and (max-width: 800px) {
    .c-block-info__ttl {
        padding-right: calc(20 / 800 * 100vw);
        font-size: calc(18 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-info__ttl {
        padding-right: 2.66667vw;
        border-right: none;
        font-size: 4vw;
    }
}

.c-block-info__contents {
    overflow: hidden;
    padding-left: 20px;
    width: 560px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media screen and (max-width: 800px) {
    .c-block-info__contents {
        padding-left: calc(20 / 800 * 100vw);
        width: calc(560 / 800 * 100vw);
    }
    .ie .c-block-info__contents {
        width: calc(545 / 800 * 100vw);
    }
    .windows.firefox .c-block-info__contents {
        width: calc(545 / 800 * 100vw);
    }
    .windows.chrome .c-block-info__contents {
        width: calc(545 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-info__contents {
        padding-left: 1.33333vw;
        width: 64vw;
        line-height: 1.7;
    }
    .ie .c-block-info__contents {
        width: calc(480 / 750 * 100vw);
    }
    .windows.firefox .c-block-info__contents {
        width: calc(480 / 750 * 100vw);
    }
    .windows.chrome .c-block-info__contents {
        width: calc(480 / 750 * 100vw);
    }
}

.c-block-info__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    width: 100%;

    -webkit-box-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 750px) {
    .c-block-info__inner {
        -ms-flex-align: center;

        -webkit-box-align: center;
        align-items: center;
    }
}

.c-block-info__link {
    position: relative;
    top: 0.2em;
    padding-right: 20px;
    letter-spacing: 0.05em;
    font-size: 13px;
    cursor: pointer;
}

.c-block-info__link:after {
    position: absolute;
    top: 38%;
    right: 6px;
    width: 10px;
    height: 10px;
    border-top: solid 2px #2d2d2d;
    border-right: solid 2px #2d2d2d;
    content: "";
    -webkit-transition: all .2s;
    transition: all .2s;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 800px) {
    .c-block-info__link:after {
        width: calc(10 / 800 * 100vw);
        height: calc(10 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-info__link:after {
        top: 48%;
        right: -50%;
        width: 2.93333vw;
        height: 2.93333vw;
        border-top: solid 0.66667vw #2d2d2d;
        border-right: solid 0.66667vw #2d2d2d;
    }
}

@media screen and (max-width: 800px) {
    .c-block-info__link {
        padding-right: calc(16 / 800 * 100vw);
        font-size: calc(13 / 800 * 100vw);
    }
}

@media screen and (min-width: 751px) {
    .c-block-info__link {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-block-info__link:hover {
        opacity: 0.8;
    }
    .c-block-info__link:hover:after {
        right: -.05em;
    }
}

@media screen and (max-width: 750px) {
    .c-block-info__link {
        padding-right: 0;
        font-size: 3.2vw;
    }
}

@media screen and (max-width: 750px) {
    .c-block-info__sp-none {
        display: none;
    }
}

/* ---------------------------------------------
*   c-block-link
--------------------------------------------- */
.c-block-link {
    position: relative;
    z-index: 10;
    margin-bottom: 100px;
}

@media screen and (max-width: 800px) {
    .c-block-link {
        margin-bottom: calc(100 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-link {
        margin-bottom: 13.33333vw;
    }
}

.c-block-link__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px;
}

@media screen and (max-width: 800px) {
    .c-block-link__list {
        margin-bottom: calc(20 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-link__list {
        margin-bottom: 2.66667vw;

        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

.c-block-link__list:last-of-type {
    margin-bottom: 0;
}

.c-block-link__bnr {
    z-index: 10;
    margin-right: 20px;
    width: 390px;
}

@media screen and (max-width: 800px) {
    .c-block-link__bnr {
        margin-right: calc(20 / 800 * 100vw);
        width: calc(390 / 800 * 100vw);
    }
}

@media screen and (min-width: 751px) {
    .c-block-link__bnr {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-block-link__bnr:hover {
        opacity: 0.8;
    }
}

@media screen and (max-width: 750px) {
    .c-block-link__bnr {
        margin-right: 0;
        margin-bottom: 2.66667vw;
        width: 100%;
    }
}

.c-block-link__item {
    position: relative;
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    -ms-flex-align: center;
    margin-right: 20px;
    padding: 14px 28px 14px 15px;
    width: 390px;
    background-color: #ef4d3c;
    color: #fff;
    letter-spacing: 0.1em;
    font-weight: bold;
    font-size: 18px;

    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
}

@media screen and (max-width: 800px) {
    .c-block-link__item {
        margin-right: calc(20 / 820 * 100vw);
        padding: calc(12 / 390 * 100vw) calc(10 / 390 * 100vw) calc(12 / 390 * 100vw) calc(5 / 390 * 100vw);
        width: calc(390 / 820 * 100vw);
        font-size: calc(18 / 820 * 100vw);
    }
}

@media screen and (min-width: 751px) {
    .c-block-link__item {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-block-link__item:hover {
        opacity: 0.8;
    }
}

@media screen and (max-width: 750px) {
    .c-block-link__item {
        padding: calc(42 / 670 * 100%) calc(70 / 670 * 100%);
        width: 100%;
        font-size: 4vw;
        line-height: 1.93;
    }
}

.c-block-link__item:after {
    position: absolute;
    position: absolute;
    top: 50%;
    right: 13%;
    width: 12px;
    height: 12px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    content: "";
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}

@media screen and (max-width: 750px) {
    .c-block-link__item:after {
        width: 2.66667vw;
        height: 2.66667vw;
        border-top: solid 0.53333vw #fff;
        border-right: solid 0.53333vw #fff;
    }
}

.c-block-link__item--black {
    background-color: #202020;
}

.c-block-link__item--black:after {
    right: 6%;
}

.c-block-link__item--orange {
    margin-right: 20px;
    width: 185px;
    letter-spacing: 0.05em;
    font-size: 14px;
}

@media screen and (max-width: 800px) {
    .c-block-link__item--orange {
        margin-right: calc(18 / 800 * 100vw);
        width: calc(185 / 800 * 100vw);
        font-size: calc(14 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-link__item--orange {
        margin-right: 2.53333vw;
        margin-bottom: 2.66667vw;
        padding: calc(44 / 670 * 100%) calc(45 / 670 * 100%) calc(44 / 670 * 100%) calc(20 / 670 * 100%);
        max-height: 16vw;
        width: calc(325 / 670 * 100%);
        font-weight: bold;
        font-size: 3.2vw;
        line-height: 1.41;
    }
}

@media screen and (max-width: 750px) {
    .c-block-link__item--orange:nth-of-type(2n) {
        margin-right: 0;
    }
}

.c-block-link__item--2col {
    padding-left: 8px;
}

@media screen and (max-width: 800px) {
    .c-block-link__item--2col {
        padding-right: calc(30 / 800 * 100%);
        padding-left: calc(5 / 800 * 100%);
    }
}

@media screen and (max-width: 750px) {
    .c-block-link__item--2col {
        padding-right: calc(65 / 670 * 100%);
        padding-left: calc(15 / 670 * 100%);
    }
    .windows .c-block-link__item--2col {
        padding-right: calc(60 / 670 * 100%);
        padding-left: calc(15 / 670 * 100%);
    }
}

.c-block-link__item:last-of-type {
    margin-right: 0;
}

/* ---------------------------------------------
*   c-block-mv
--------------------------------------------- */
.c-block-mv {
    margin-bottom: 72px;
}

@media screen and (max-width: 800px) {
    .c-block-mv {
        margin-bottom: calc(72 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-mv {
        margin-bottom: 11.6vw;
    }
}

.c-block-mv__main {
    position: relative;
    margin-bottom: 60px;
    padding-left: 7.14%;
    width: 100%;
}

@media screen and (max-width: 800px) {
    .c-block-mv__main {
        margin-bottom: calc(60 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-mv__main {
        margin-bottom: 8vw;
        padding-left: 0;
    }
}

@media screen and (max-width: 750px) {
    .c-block-mv__inner {
        position: relative;
    }
    .c-block-mv__inner:before {
        position: absolute;
        top: 10%;
        left: 3%;
        z-index: 0;
        width: 172px;
        height: 378px;
        background: url(../img/img_dot_white01_sp.png) 0 0 no-repeat;
        background-size: auto 100%;
        content: '';
    }
}

@media screen and (max-width: 750px) and (max-width: 750px) {
    .c-block-mv__inner:before {
        top: 13%;
        width: 22.8vw;
        height: 43.6vw;
    }
}

.c-block-mv__logo {
    position: absolute;
    top: 4%;
    z-index: 10;
    width: 66px;
}

@media screen and (max-width: 800px) {
    .c-block-mv__logo {
        width: calc(66 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-mv__logo {
        width: 10.93333vw;
    }
}

.c-block-mv__main-img {
    position: relative;
}

.c-block-mv__img {
    position: relative;
    margin-left: auto;
    width: calc(1000 / 1300 * 100%);
}

@media screen and (max-width: 750px) {
    .c-block-mv__img {
        width: 81.46%;
    }
}

.c-block-mv__img:before {
    position: absolute;
    right: 3%;
    bottom: -19%;
    z-index: 1;
    width: 130px;
    height: 176px;
    background: url(../img/img_dot_gray01.png) 0 0 no-repeat;
    background-size: auto 100%;
    content: '';
}

@media screen and (max-width: 800px) {
    .c-block-mv__img:before {
        bottom: calc(-116 / 800 *100vw);
        width: calc(130 / 800 *100vw);
        height: calc(176 / 800 *100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-mv__img:before {
        display: none;
    }
}

.c-block-mv__img:after {
    position: absolute;
    top: 23%;
    left: -37%;
    z-index: 0;
    width: 176px;
    height: 272px;
    background: url(../img/img_dot_white01.png) 0 0 no-repeat;
    background-size: auto 100%;
    content: '';
}

@media screen and (max-width: 800px) {
    .c-block-mv__img:after {
        top: calc(110 / 800 *100vw);
        left: calc(-300 / 800 *100vw);
        width: calc(176 / 800 *100vw);
        height: calc(272 / 800 *100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-mv__img:after {
        display: none;
    }
}

@media screen and (min-width: 751px) {
    .c-block-mv__link {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-block-mv__link:hover {
        opacity: 0.8;
    }
}

/* ---------------------------------------------
*   c-block-news
--------------------------------------------- */
.c-block-news {
    position: relative;
    z-index: 10;
}

.c-block-news--detail {
    background-color: transparent;
}

.c-block-news--detail .c-block-news__body:first-of-type {
    border-top: 2px solid #f7f7f7;
}

.c-block-news__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    margin-bottom: 5px;

    -webkit-box-align: center;
    align-items: center;
}

@media screen and (max-width: 800px) {
    .c-block-news__info {
        margin-bottom: calc(5 / 800 *100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-news__info {
        margin-bottom: 0.66667vw;
    }
}

.c-block-news__inner {
    margin-bottom: 30px;
    background-color: #fff;
}

@media screen and (max-width: 750px) {
    .c-block-news__inner {
        margin-bottom: 4vw;
    }
}

.c-block-news__date {
    margin-right: 11px;
    width: auto;
    letter-spacing: 0.1em;
    font-size: 13px;
    line-height: 2;
}

@media screen and (max-width: 800px) {
    .c-block-news__date {
        margin-right: calc(13 / 800 *100vw);
        width: auto;
        font-size: calc(13 / 800 *100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-news__date {
        margin-right: 1.73333vw;
        width: auto;
        font-size: 3.2vw;
    }
}

.c-block-news__tag {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 5px;
    margin-bottom: 2px;
    padding: 0 17px;
    border: 1px solid #ef4d3c;
    color: #ef4d3c;
    font-weight: bold;
    font-size: 11px;
}

.safari .c-block-news__tag {
    padding-top: 4px;
    padding-bottom: 3px;
    line-height: 1;
}

.ie .c-block-news__tag {
    padding-top: 4px;
    padding-bottom: 3px;
    line-height: 1;
}

.windows.chrome .c-block-news__tag {
    padding-top: 4px;
    padding-bottom: 3px;
    line-height: 1;
}

.windows.firefox .c-block-news__tag {
    padding-top: 4px;
    padding-bottom: 3px;
    line-height: 1;
}

@media screen and (max-width: 750px) {
    .c-block-news__tag {
        margin-right: 0.93333vw;
        margin-bottom: 0.26667vw;
        padding: 0 3.2vw;
        border: 0.26667vw solid #ef4d3c;
        font-weight: bold;
        font-size: 2.93333vw;
    }
    .android .c-block-news__tag {
        padding-top: calc(9 / 670 * 100%);
        padding-bottom: calc(6 / 670 * 100%);
        line-height: 1;
    }
}

.c-block-news__tag-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.c-block-news__body {
    border-bottom: 2px solid #f7f7f7;
    background-color: #fff;
}

@media screen and (max-width: 750px) {
    .c-block-news__body {
        border-bottom: 0.26667vw solid #f7f7f7;
    }
}

.c-block-news__foot {
    margin-top: 32px;
    margin-bottom: 36px;
    text-align: center;
}

@media screen and (max-width: 800px) {
    .c-block-news__foot {
        margin-top: calc(32 / 800 * 100vw);
        margin-bottom: calc(36 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-news__foot {
        margin-top: 5.73333vw;
        margin-bottom: 7.33333vw;
    }
}

.c-block-news__txt {
    letter-spacing: 0.05em;
    font-size: 15px;
    line-height: 1.79;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

@media screen and (max-width: 800px) {
    .c-block-news__txt {
        font-size: calc(15 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-news__txt {
        font-size: 3.73333vw;
    }
}

.c-block-news__link {
    position: relative;
    padding-right: 20px;
    font-size: 13px;
}

@media screen and (max-width: 800px) {
    .c-block-news__link {
        padding-right: calc(20 / 800 * 100vw);
        font-size: calc(13 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-news__link {
        font-size: 3.2vw;
    }
}

.c-block-news__link:after {
    position: absolute;
    top: 49%;
    right: 6px;
    width: 10px;
    height: 10px;
    border-top: solid 2px #202020;
    border-right: solid 2px #202020;
    content: "";
    -webkit-transition: all .2s;
    transition: all .2s;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}

.firefox .c-block-news__link:after {
    top: 52%;
}

@media screen and (max-width: 800px) {
    .c-block-news__link:after {
        width: calc(10 / 800 * 100vw);
        height: calc(10 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-block-news__link:after {
        right: -8%;
        padding-right: 0;
        width: 2.93333vw;
        height: 2.93333vw;
        border-top: solid 0.66667vw #202020;
        border-right: solid 0.66667vw #202020;
    }
}

@media screen and (min-width: 751px) {
    .c-block-news__link {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-block-news__link:hover {
        opacity: 0.8;
    }
    .c-block-news__link:hover:after {
        right: -.05em;
    }
}

.c-block-news__link-detail {
    display: block;
    padding: calc(25 / 800 *100%) calc(40 / 800 *100%);
    -webkit-transition: .3s;
    transition: .3s;
}

@media screen and (max-width: 800px) {
    .c-block-news__link-detail {
        padding: calc(28 / 800 *100%) calc(40 / 800 *100%);
    }
}

@media screen and (max-width: 750px) {
    .c-block-news__link-detail {
        padding: 5.97% 4.78%;
    }
}

@media screen and (min-width: 751px) {
    .c-block-news__link-detail:hover {
        background-color: #fbfbfb;
    }
    .c-block-news__link-detail:hover .c-block-news__txt {
        text-decoration: underline;
    }
}

.c-block-news__link-detail--list {
    padding: calc(25 / 800 *100%) calc(20 / 800 *100%);
}

@media screen and (max-width: 750px) {
    .c-block-news__link-detail--list {
        padding: 4.66667vw 4.53333vw;
    }
}

/* ---------------------------------------------
*   c-btn-contact
--------------------------------------------- */
.c-btn-contact {
    position: relative;
    display: block;
    margin: 0 auto;
    padding: 17px 0;
    width: 320px;
    background-color: #202020;
    color: #fff;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 16px;
    line-height: 1.63;
}

@media screen and (max-width: 750px) {
    .c-btn-contact {
        padding: 6.13333vw 0;
        width: 100%;
        font-weight: bold;
        font-size: 4vw;
    }
}

@media screen and (min-width: 751px) {
    .c-btn-contact {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-btn-contact:hover {
        opacity: 0.8;
    }
}

.c-btn-contact:after {
    position: absolute;
    top: 48%;
    right: 15px;
    margin: 0 10px;
    width: 14px;
    height: 14px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}

@media screen and (max-width: 750px) {
    .c-btn-contact:after {
        right: 2.93333vw;
        width: 2.93333vw;
        height: 2.93333vw;
        border-top: 0.66667vw solid #fff;
        border-right: 0.66667vw solid #fff;
    }
}

.c-btn-contact--back {
    margin-right: 20px;
    margin-left: 0;
    background-color: #202020;
    color: #fff;
    text-align: center;
    pointer-events: all;
}

@media screen and (max-width: 750px) {
    .c-btn-contact--back {
        margin: 0;
        margin-right: 2.93333vw;
        padding-left: 2.66667vw;
        width: 43.2vw;
    }
}

@media screen and (min-width: 751px) {
    .c-btn-contact--back {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-btn-contact--back:hover {
        opacity: 0.8;
    }
}

.c-btn-contact--back:after {
    left: 9px;
    width: 12px;
    height: 12px;
    border-top: none;
    border-right: none;
    border-bottom: 3px solid #fff;
    border-left: 3px solid #fff;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}

@media screen and (max-width: 750px) {
    .c-btn-contact--back:after {
        width: 2.93333vw;
        height: 2.93333vw;
        border-bottom: 0.66667vw solid #fff;
        border-left: 0.66667vw solid #fff;
    }
}

.c-btn-contact--top {
    margin: 0 auto;
    padding: 19px 0;
}

@media screen and (max-width: 750px) {
    .c-btn-contact--top {
        padding: 6.13333vw 0;
        width: 100%;
    }
}

.c-btn-contact--send {
    margin: 0;
    background-color: #ef4d3c;
    color: #fff;
    pointer-events: all;
}

@media screen and (max-width: 750px) {
    .c-btn-contact--send {
        margin: 0;
        padding-right: 1.73333vw;
        width: 43.2vw;
    }
}

@media screen and (min-width: 751px) {
    .c-btn-contact--send {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-btn-contact--send:hover {
        opacity: 0.8;
    }
}

.c-btn-contact--send:after {
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}

@media screen and (max-width: 750px) {
    .c-btn-contact--send:after {
        width: 2.93333vw;
        height: 2.93333vw;
        border-top: 0.66667vw solid #fff;
        border-right: 0.66667vw solid #fff;
    }
}

.c-btn-contact__area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    width: 660px;
}

@media screen and (max-width: 750px) {
    .c-btn-contact__area {
        width: 100%;
    }
}

.c-btn-contact__area--top {
    margin-bottom: 300px;
}

@media screen and (max-width: 750px) {
    .c-btn-contact__area--top {
        margin-bottom: 99.33333vw;
    }
}

.c-btn-contact[disabled] {
    background-color: #e5e5e5;
    color: #a9a9a9;
    opacity: 1;
    cursor: not-allowed;
}

.c-btn-contact[disabled]:after {
    border-top: 3px solid #a9a9a9;
    border-right: 3px solid #a9a9a9;
}

@media screen and (max-width: 750px) {
    .c-btn-contact[disabled]:after {
        border-top: 0.66667vw solid #a9a9a9;
        border-right: 0.66667vw solid #a9a9a9;
    }
}

/* ---------------------------------------------
*   c-card-mv
--------------------------------------------- */
.c-card-mv {
    position: absolute;
    bottom: 15%;
    left: -29%;
    z-index: 10;
    width: 460px;
    background-color: #ef4d3c;
}

@media screen and (max-width: 1400px) {
    .c-card-mv {
        width: calc(460 / 1000 * 100%);
    }
}

@media screen and (max-width: 750px) {
    .c-card-mv {
        bottom: 9%;
        left: -16%;
        width: 64vw;
    }
}

.c-card-mv__inner {
    position: relative;
}

.c-card-mv__ttl {
    padding: 52px 40px;
    color: #fff;
    letter-spacing: 0.14em;
    font-weight: bold;
    font-size: 42px;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

.windows .c-card-mv__ttl {
    letter-spacing: 0.09em;
}

@media screen and (max-width: 1400px) {
    .c-card-mv__ttl {
        padding: calc(52 / 1400 * 100vw) calc(40 / 1400 * 100vw);
        font-size: calc(42 / 1400 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-card-mv__ttl {
        padding: 4.66667vw;
        letter-spacing: 0.13em;
        font-size: 6.13333vw;
    }
    .windows .c-card-mv__ttl {
        letter-spacing: 0.08em;
    }
    .android .c-card-mv__ttl {
        letter-spacing: 0.08em;
    }
}

.c-card-mv__ttl:before {
    position: absolute;
    top: -7%;
    left: -3%;
    width: 70px;
    height: 50px;
    background: url(../img/img_comma01.svg) 0 0 no-repeat;
    background-size: auto 100%;
    content: '';
}

@media screen and (max-width: 1400px) {
    .c-card-mv__ttl:before {
        width: calc(70 / 1400 * 100vw);
        height: calc(50 / 1400 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-card-mv__ttl:before {
        width: 9.33333vw;
        height: 6.66667vw;
    }
}

.c-card-mv__ttl:after {
    position: absolute;
    right: -3%;
    bottom: -7%;
    width: 70px;
    height: 50px;
    background: url(../img/img_comma02.svg) 0 0 no-repeat;
    background-size: auto 100%;
    content: '';
}

@media screen and (max-width: 1400px) {
    .c-card-mv__ttl:after {
        width: calc(70 / 1400 * 100vw);
        height: calc(50 / 1400 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-card-mv__ttl:after {
        width: 9.33333vw;
        height: 6.66667vw;
    }
}

/* ---------------------------------------------
*   c-card-service
--------------------------------------------- */
.c-card-service {
    position: relative;
    z-index: 10;
    margin-bottom: 30px;
    padding: 30px;
    width: 100%;
    background-color: #ef4d3c;
}

@media screen and (max-width: 800px) {
    .c-card-service {
        margin-bottom: calc(30 / 800 * 100vw);
        padding: calc(30 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-card-service {
        margin-bottom: 14.66667vw;
        padding: 5.33333vw;
        min-width: auto;
        width: 89.33333vw;
    }
}

.c-card-service:last-of-type {
    margin-bottom: 0;
}

.c-card-service--gray {
    background-color: #e5e5e5;
}

.c-card-service__inner {
    padding: calc(30 / 800 * 100%) calc(78 / 800 * 100%) calc(35 / 800 * 100%);
    background-color: #fff;
}

.windows .c-card-service__inner {
    padding: calc(30 / 800 * 100%) calc(69 / 800 * 100%) calc(35 / 800 * 100%);
}

@media screen and (max-width: 800px) {
    .c-card-service__inner {
        padding: calc(30 / 800 * 100%) calc(78 / 800 * 100%) calc(35 / 800 * 100%);
    }
    .windows .c-card-service__inner {
        padding: calc(30 / 800 * 100%) calc(63 / 800 * 100%) calc(35 / 800 * 100%);
    }
}

@media screen and (max-width: 750px) {
    .c-card-service__inner {
        padding: 13.43% 5.97% 0.63%;
    }
    .windows .c-card-service__inner {
        padding: 13.43% 5.97% 0.63%;
    }
}

@media screen and (max-width: 750px) {
    .c-card-service__inner--gray {
        padding: 13.43% 0 5.97%;
    }
}

.c-card-service__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    padding-bottom: 26px;

    -webkit-box-align: center;
    align-items: center;
}

@media screen and (max-width: 800px) {
    .c-card-service__head {
        padding-bottom: calc(26 / 800 * 100%);
    }
}

@media screen and (max-width: 750px) {
    .c-card-service__head {
        -ms-flex-pack: center;
        padding-bottom: 2.66667vw;

        -webkit-box-pack: center;
        justify-content: center;
    }
}

@media screen and (max-width: 750px) {
    .c-card-service__head-inner--gray {
        padding: 0;
    }
}

.c-card-service__body {
    padding-bottom: 24px;
}

@media screen and (max-width: 750px) {
    .c-card-service__body {
        padding-bottom: 4.66667vw;
    }
}

@media screen and (max-width: 750px) {
    .c-card-service__body--gray {
        padding: 0 5.97% 0;
    }
}

.c-card-service__img {
    margin-right: 23px;
    padding-top: 10px;
    width: 98px;
}

.windows .c-card-service__img {
    margin-right: 20px;
}

@media screen and (max-width: 800px) {
    .c-card-service__img {
        margin-right: calc(23 / 800 * 100%);
        padding-top: calc(10 / 800 * 100%);
    }
}

@media screen and (max-width: 750px) {
    .c-card-service__img {
        position: absolute;
        top: -12%;
        left: 50%;
        margin-right: 0;
        padding-top: 0;
        width: 33.33333vw;
        background-color: #fff;
        text-align: center;
        -webkit-transform: translateX(-50%) translateY(-50%);
        transform: translateX(-50%) translateY(-50%);
    }
    .c-card-service__img img {
        width: 22vw;
    }
}

.c-card-service__img--01 {
    padding-left: 14px;
}

@media screen and (max-width: 800px) {
    .c-card-service__img--01 {
        padding-left: calc(14 / 800 * 100%);
    }
}

@media screen and (max-width: 750px) {
    .c-card-service__img--01 {
        top: -14%;
        padding-left: 0;
    }
}

.c-card-service__img--01 img {
    width: 82px;
}

@media screen and (max-width: 750px) {
    .c-card-service__img--01 img {
        width: calc(82 / 800 * 100%);
    }
}

@media screen and (max-width: 750px) {
    .c-card-service__img--01 img {
        width: 19.33333vw;
    }
}

.c-card-service__txt {
    letter-spacing: 0.1em;
    font-weight: bold;
    font-size: 20px;
    line-height: 2.0;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

@media screen and (max-width: 750px) {
    .c-card-service__txt {
        text-align: center;
        font-size: 4.26667vw;
        line-height: 1.5;
    }
    .windows .c-card-service__txt {
        letter-spacing: 0;
    }
}

.c-card-service__txt--lg {
    font-size: 34px;
    line-height: 1.29;
}

@media screen and (max-width: 800px) {
    .c-card-service__txt--lg {
        font-size: calc(34 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-card-service__txt--lg {
        font-size: 6.66667vw;
    }
}

.windows .c-card-service__txt--lg {
    letter-spacing: 0.05em;
}

.android .c-card-service__txt--lg {
    letter-spacing: 0.05em;
}

.ipad .c-card-service__txt--lg {
    letter-spacing: 0.07em;
}

.c-card-service__txt--sm {
    font-size: 18px;
}

@media screen and (max-width: 750px) {
    .c-card-service__txt--sm {
        font-size: 4.26667vw;
    }
}

.c-card-service__link {
    position: relative;
    padding-right: 20px;
    letter-spacing: 0.1em;
    font-weight: bold;
    font-size: 13px;
    line-height: 2.38;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

@media screen and (max-width: 800px) {
    .c-card-service__link {
        padding-right: calc(20 / 800 *100vw);
        font-size: calc(13 / 800 *100vw);
    }
}

@media screen and (min-width: 751px) {
    .c-card-service__link {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-card-service__link:hover {
        opacity: 0.8;
    }
}

@media screen and (max-width: 750px) {
    .c-card-service__link {
        padding-right: 0;
        font-weight: bold;
        font-size: 3.2vw;
        line-height: 1.83;
    }
}

.c-card-service__link:after {
    position: absolute;
    top: 45%;
    right: 4px;
    width: 14px;
    height: 14px;
    border-top: solid 3px #202020;
    border-right: solid 3px #202020;
    content: "";
    -webkit-transition: all .2s;
    transition: all .2s;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 750px) {
    .c-card-service__link:after {
        right: -20%;
        width: 2.93333vw;
        height: 2.93333vw;
        border-top: solid 0.66667vw #202020;
        border-right: solid 0.66667vw #202020;
    }
}

@media screen and (min-width: 751px) {
    .c-card-service__link:hover:after {
        right: -.05em;
    }
}

@media screen and (max-width: 750px) {
    .c-card-service__detail {
        position: absolute;
        bottom: -0.5%;
        left: 60%;
        padding: 0.66667vw 7.33333vw 0.66667vw 3.73333vw;
        background-color: #fff;
    }
}

/* ---------------------------------------------
*   c-chapter-history
--------------------------------------------- */
.c-chapter-history__ttl {
    padding: 20px 0;
    background-color: #202020;
    color: #fff;
    text-align: center;
    letter-spacing: 0.1em;
    font-weight: bold;
    font-size: 15px;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

@media screen and (max-width: 750px) {
    .c-chapter-history__ttl {
        padding: 3.33333vw 0;
        font-size: 3.73333vw;
        line-height: 1.79;
    }
}

@media screen and (max-width: 750px) {
    .c-chapter-history__ttl--two {
        padding: 2.8vw 0;
    }
}

.c-chapter-history__inner {
    padding-top: 64px;
    background: url(../img/img_bg_line01.png) center top repeat-y;
    background-size: 4px auto;
}

.c-chapter-history__inner:after {
    display: block;
    clear: both;
    content: "";
}

@media screen and (max-width: 750px) {
    .c-chapter-history__inner {
        padding-top: 16vw;
        background: url(../img/img_bg_line01_sp.png) 6.5% top repeat-y;
        background-size: 1.06667vw auto;
    }
}

.c-chapter-history__inner--bottom {
    background: url(../img/img_bg_line02.png) center top repeat-y;
    background-size: 4px auto;
}

@media screen and (max-width: 750px) {
    .c-chapter-history__inner--bottom {
        background: url(../img/img_bg_line02_sp.png) 6.5% top repeat-y;
        background-size: 1.06667vw auto;
    }
}

/* ---------------------------------------------
*   c-link-share
--------------------------------------------- */
.c-link-share {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 15px;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 800px) {
    .c-link-share {
        margin-bottom: calc(30 / 800 *100%);
    }
}

@media screen and (max-width: 750px) {
    .c-link-share {
        margin-bottom: 4.66667vw;
    }
}

.c-link-share__item {
    position: relative;
    margin-right: 5px;
    margin-bottom: 2px;
    padding: 3px 3px 3px 20px;
    width: 98px;
    color: #fff;
    letter-spacing: 0.05em;
    font-size: 13px;
}

.safari .c-link-share__item {
    padding-top: 7px;
    padding-bottom: 4px;
    line-height: 1;
}

.windows .c-link-share__item {
    padding-top: 6px;
    padding-bottom: 5px;
    line-height: 1;
}

@media screen and (max-width: 800px) {
    .c-link-share__item {
        margin-right: calc(5 / 800 * 100%);
        margin-bottom: calc(2 / 800 * 100%);
        padding: calc(3 / 800 * 100%) calc(3 / 800 * 100%) calc(3 / 800 * 100%) calc(20 / 800 * 100%);
        width: calc(98 / 800 * 100%);
        font-size: calc(13 / 800 * 100vw);
    }
    .safari .c-link-share__item {
        padding-top: calc(7 / 800 * 100%);
        padding-bottom: calc(4 / 800 * 100%);
        line-height: 1;
    }
    .windows .c-link-share__item {
        padding-top: calc(6 / 800 * 100%);
        padding-bottom: calc(5 / 800 * 100%);
        line-height: 1;
    }
}

@media screen and (max-width: 750px) {
    .c-link-share__item {
        margin-right: 0.93333vw;
        margin-bottom: 0.26667vw;
        padding: 0.93333vw 0.4vw 0.66667vw 2.66667vw;
        width: 21.33333vw;
        font-size: 2.93333vw;
    }
    .safari .c-link-share__item {
        padding-top: 7px;
        padding-bottom: 4px;
        line-height: 1;
    }
    .windows .c-link-share__item {
        padding-top: 7px;
        padding-bottom: 4px;
        line-height: 1;
    }
}

@media screen and (min-width: 751px) {
    .c-link-share__item {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-link-share__item:hover {
        opacity: 0.8;
    }
}

.c-link-share__item--twitter {
    padding-left: 35px;
    background-color: #1ca2f2;
}

@media screen and (max-width: 800px) {
    .c-link-share__item--twitter {
        padding-left: calc(35 / 800 * 100%);
    }
}

@media screen and (max-width: 750px) {
    .c-link-share__item--twitter {
        padding-left: 7.46667vw;
    }
}

.c-link-share__item--twitter:before {
    position: absolute;
    top: 50%;
    left: 10px;
    width: 21px;
    height: 17px;
    background: url(../img/icon_twitter.svg) 0 0 no-repeat;
    background-size: 100%;
    content: '';
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 750px) {
    .c-link-share__item--twitter:before {
        left: 1.33333vw;
        width: 4.8vw;
        height: 3.86667vw;
    }
}

.c-link-share__item--facebook {
    background-color: #4267b2;
}

@media screen and (max-width: 750px) {
    .c-link-share__item--facebook {
        padding-left: calc(40 / 800 * 100%);
    }
}

.c-link-share__item--facebook:before {
    position: absolute;
    top: 50%;
    left: 10px;
    width: 8px;
    height: 16px;
    background: url(../img/icon_facebook.svg) 0 0 no-repeat;
    background-size: 100%;
    content: '';
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 750px) {
    .c-link-share__item--facebook:before {
        left: 1.33333vw;
        width: 2.13333vw;
        height: 4.26667vw;
    }
}

.c-link-share__item--bookmark {
    padding-left: 30px;
    width: 116px;
    background-color: #00a4de;
}

@media screen and (max-width: 750px) {
    .c-link-share__item--bookmark {
        padding-left: 6vw;
        width: 25.33333vw;
    }
}

.c-link-share__item--bookmark:before {
    position: absolute;
    top: 50%;
    left: 10px;
    width: 16px;
    height: 14px;
    background: url(../img/icon_bookmark.svg) 0 0 no-repeat;
    background-size: 100%;
    content: '';
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 750px) {
    .c-link-share__item--bookmark:before {
        left: 1.33333vw;
        width: 4.26667vw;
        height: 3.73333vw;
    }
}

/* ---------------------------------------------
*   c-list-company
--------------------------------------------- */
.c-list-company {
    margin: 0 auto 40px;
    width: 87.5%;
}

@media screen and (max-width: 800px) {
    .c-list-company {
        margin-bottom: calc(40 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-list-company {
        margin-bottom: 5.33333vw;
        width: 100%;
    }
}

.c-list-company__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 14px 15px;
    border-top: 1px solid #f2f2f2;
    letter-spacing: 0.05em;
    font-size: 15px;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

@media screen and (max-width: 800px) {
    .c-list-company__content {
        padding: calc(14 / 800 * 100vw) calc(15 / 800 * 100vw);
        font-size: calc(15 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-list-company__content {
        padding: 3.2vw 3.46667vw;
        font-size: 3.73333vw;
    }
}

.c-list-company__content:last-of-type {
    border-bottom: 1px solid #f2f2f2;
}

.c-list-company__content-ttl {
    width: 135px;
}

@media screen and (max-width: 800px) {
    .c-list-company__content-ttl {
        width: calc(135 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-list-company__content-ttl {
        width: 22.66667vw;
    }
}

@media screen and (max-width: 750px) {
    .c-list-company__content-txt {
        width: 57.33333vw;
    }
}

.c-list-company__content-txt--lh {
    line-height: 1.73;
}

.c-list-company__bottom {
    text-align: center;
}

.c-list-company__link {
    position: relative;
    z-index: 10;
    display: inline-block;
    margin: 0 auto 100px;
    padding: 20px;
    width: 320px;
    background-color: #ef4d3c;
    color: #fff;
    text-align: center;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 16px;
}

@media screen and (max-width: 800px) {
    .c-list-company__link {
        margin-bottom: calc(100 / 800 * 100vw);
        padding: calc(20 / 800 * 100vw);
        width: calc(320 / 800 * 100vw);
        font-size: calc(16 / 800 * 100vw);
    }
}

@media screen and (min-width: 751px) {
    .c-list-company__link {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-list-company__link:hover {
        opacity: 0.8;
    }
}

@media screen and (max-width: 750px) {
    .c-list-company__link {
        margin-bottom: 16.4vw;
        padding: 6.4vw 4vw;
        width: 100%;
        font-size: 4vw;
    }
}

.c-list-company__link:after {
    position: absolute;
    top: 50%;
    right: 8%;
    width: 12px;
    height: 12px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    content: "";
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}

@media screen and (max-width: 800px) {
    .c-list-company__link:after {
        width: calc(12 / 800 * 100vw);
        height: calc(12 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-list-company__link:after {
        right: 5%;
        width: 2.93333vw;
        height: 2.93333vw;
        border-top: solid 0.66667vw #fff;
        border-right: solid 0.66667vw #fff;
    }
}

@media screen and (max-width: 750px) {
    .c-list-company__inner {
        width: 56vw;
    }
}

/* ---------------------------------------------
*   c-list-contact
--------------------------------------------- */
.c-list-contact {
    margin-bottom: 40px;
}

@media screen and (max-width: 800px) {
    .c-list-contact {
        margin-bottom: calc(40 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-list-contact {
        margin-bottom: 8vw;
    }
}

.c-list-contact__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;

    -webkit-box-align: start;
    align-items: flex-start;
}

@media screen and (max-width: 750px) {
    .c-list-contact__item {
        -ms-flex-direction: column;
        flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
    }
}

.c-list-contact__item:nth-of-type(n + 1) {
    margin-top: 38px;
}

@media screen and (max-width: 800px) {
    .c-list-contact__item:nth-of-type(n + 1) {
        margin-top: calc(38 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-list-contact__item:nth-of-type(n + 1) {
        margin-top: 3.86667vw;
    }
}

.c-list-contact__item-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    padding-top: 10px;
    width: 197px;

    -webkit-box-align: center;
    align-items: center;
}

@media screen and (max-width: 800px) {
    .c-list-contact__item-menu {
        padding-top: calc(10 / 800 * 100vw);
        width: calc(197 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-list-contact__item-menu {
        padding-bottom: 2.66667vw;
        width: 100%;
    }
}

.c-list-contact__item-menu-ttl {
    margin-right: 12px;
    font-size: 15px;
}

@media screen and (max-width: 800px) {
    .c-list-contact__item-menu-ttl {
        margin-right: calc(12 / 800 * 100vw);
        font-size: calc(15 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-list-contact__item-menu-ttl {
        margin-right: 3.06667vw;
        font-weight: bold;
        font-size: 3.73333vw;
    }
}

.c-list-contact__item-menu-icon {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 7px;
    border: 1px solid #ef4d3c;
    color: #ef4d3c;
    letter-spacing: 0.1em;
    font-size: 11px;
}

.safari .c-list-contact__item-menu-icon {
    padding: 4px 7px 3px;
    line-height: 1;
}

.windows.chrome .c-list-contact__item-menu-icon {
    padding: 4px 7px 3px;
    line-height: 1;
}

.edge .c-list-contact__item-menu-icon {
    padding: 4px 7px 3px;
    line-height: 1;
}

.ie .c-list-contact__item-menu-icon {
    padding: 4px 7px 3px;
    line-height: 1;
}

@media screen and (max-width: 800px) {
    .c-list-contact__item-menu-icon {
        padding: 0 calc(7 / 800 * 100vw);
        font-size: calc(11 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-list-contact__item-menu-icon {
        padding: 0px 1.73333vw;
        font-weight: bold;
        font-size: 2.93333vw;
    }
}

.c-list-contact__item-content {
    width: 603px;
}

@media screen and (max-width: 800px) {
    .c-list-contact__item-content {
        width: calc(603 / 800 * 100%);
    }
}

@media screen and (max-width: 750px) {
    .c-list-contact__item-content {
        width: 100%;
    }
}

.c-list-contact__item-content--top {
    width: 420px;
}

@media screen and (max-width: 750px) {
    .c-list-contact__item-content--top {
        width: 100%;
    }
}

/* ---------------------------------------------
*   c-page-nav
--------------------------------------------- */
.c-page-nav {
    margin-top: 40px;
    text-align: center;
}

@media screen and (max-width: 800px) {
    .c-page-nav {
        margin-top: calc(40 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-page-nav {
        margin-top: 4.66667vw;
    }
}

.c-page-nav__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    margin: 0 auto;
    width: 700px;

    -webkit-box-pack: center;
    justify-content: center;
}

@media screen and (max-width: 800px) {
    .c-page-nav__inner {
        width: calc(700 / 800 * 100%);
    }
}

@media screen and (max-width: 750px) {
    .c-page-nav__inner {
        -ms-flex-align: start;
        width: 76.2%;

        -webkit-box-align: start;
        align-items: flex-start;
    }
}

@media screen and (max-width: 750px) {
    .ie .c-page-nav__inner {
        width: 81%;
    }
}

@media screen and (max-width: 750px) {
    .edge .c-page-nav__inner {
        width: 81%;
    }
}

.c-page-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 750px) {
    .c-page-nav__list {
        -ms-flex-pack: center;

        -webkit-box-pack: center;
        justify-content: center;
    }
}

.c-page-nav__item {
    margin-right: 10px;
    width: 50px;
    background-color: #202020;
}

@media screen and (max-width: 800px) {
    .c-page-nav__item {
        margin-right: calc(10 / 800 * 100vw);
        width: calc(50 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-page-nav__item {
        margin-right: 2vw;
        width: 12vw;
    }
}

@media screen and (min-width: 751px) {
    .c-page-nav__item {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-page-nav__item:hover {
        opacity: 0.8;
    }
}

.c-page-nav__item:last-of-type {
    margin-right: 0;
}

@media screen and (max-width: 750px) {
    .c-page-nav__item:nth-of-type(5) {
        margin-right: 0;
    }
}

@media screen and (max-width: 750px) {
    .c-page-nav__item:nth-child(n + 6) {
        margin-top: 2vw;
    }
}

.c-page-nav__link {
    display: block;
    padding: 12px 0;
    color: #fff;
    text-align: center;
    font-size: 15px;
    line-height: 1.73;
}

@media screen and (max-width: 800px) {
    .c-page-nav__link {
        padding: calc(12 / 800 * 100vw) 0;
        font-size: calc(15 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-page-nav__link {
        padding: 2.8vw 0;
        font-size: 3.73333vw;
    }
}

.c-page-nav__link--disabled {
    background-color: #e5e5e5;
    color: #a9a9a9;
    pointer-events: none;
}

.c-page-nav__prev {
    position: relative;
}

@media screen and (min-width: 751px) {
    .c-page-nav__prev {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-page-nav__prev:hover {
        opacity: 0.8;
    }
}

.c-page-nav__prev:before {
    position: absolute;
    top: 50%;
    left: -35px;
    margin: 0 10px;
    width: 12px;
    height: 12px;
    border-bottom: 3px solid #000;
    border-left: 3px solid #000;
    content: '';
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}

@media screen and (max-width: 750px) {
    .c-page-nav__prev:before {
        top: 5.6vw;
        left: -10.66667vw;
        width: 2.93333vw;
        height: 2.93333vw;
        border-bottom: 0.66667vw solid #000;
        border-left: 0.66667vw solid #000;
    }
}

@media screen and (min-width: 751px) {
    .c-page-nav__prev:before {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-page-nav__prev:before:hover {
        opacity: 0.8;
    }
}

.c-page-nav__next {
    position: relative;
}

@media screen and (min-width: 751px) {
    .c-page-nav__next {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .c-page-nav__next:hover {
        opacity: 0.8;
    }
}

.c-page-nav__next:before {
    position: absolute;
    top: 50%;
    right: -26px;
    margin: 0 10px;
    width: 12px;
    height: 12px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    content: '';
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}

@media screen and (max-width: 750px) {
    .c-page-nav__next:before {
        top: 5.6vw;
        right: -8vw;
        width: 2.93333vw;
        height: 2.93333vw;
        border-top: 0.66667vw solid #000;
        border-right: 0.66667vw solid #000;
    }
}

/* ---------------------------------------------
*   c-section-1
--------------------------------------------- */
.c-section-1 {
    width: 100%;
}

.c-section-1__inner {
    z-index: 1;
    margin: 0 auto;
    padding: 0 10px;
    max-width: 820px;
}

@media screen and (max-width: 750px) {
    .c-section-1__inner {
        padding: 0;
        max-width: 100%;
        width: 89.34%;
    }
}

.c-section-1--company {
    position: relative;
    padding-top: 70px;
    background: #f7f7f7 url(../img/img_bg_company.jpg) center bottom no-repeat;
    background-size: cover;
}

@media screen and (max-width: 800px) {
    .c-section-1--company {
        padding-top: calc(70 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-section-1--company {
        padding-top: 9.33333vw;
        background: #f7f7f7 url(../img/img_bg_company_sp.jpg) center bottom no-repeat;
        background-size: cover;
    }
}

.c-section-1--company:before {
    position: absolute;
    right: 3%;
    bottom: -7%;
    z-index: 0;
    width: 130px;
    height: 176px;
    background: url(../img/img_dot_gray01.png) 0 0 no-repeat;
    background-size: auto 100%;
    content: '';
}

@media screen and (max-width: 750px) {
    .c-section-1--company:before {
        display: none;
    }
}

.c-section-1--service {
    position: relative;
    z-index: 10;
    margin-bottom: 120px;
    padding-bottom: 94px;
}

@media screen and (max-width: 800px) {
    .c-section-1--service {
        margin-bottom: calc(120 / 800 * 100vw);
        padding-bottom: calc(94 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-section-1--service {
        margin-bottom: 16vw;
        padding-bottom: 12.53333vw;
    }
}

.c-section-1--service:before {
    position: absolute;
    top: 60px;
    bottom: 0;
    left: 0;
    z-index: -1;
    margin-right: 10%;
    width: calc(100% - 60px);
    background-color: #fff;
    content: '';
}

@media screen and (min-width: 1401px) {
    .c-section-1--service:before {
        width: calc((100% - 1400px) / 2 + 1340px);
    }
}

@media screen and (max-width: 1000px) {
    .c-section-1--service:before {
        width: 100%;
    }
}

@media screen and (max-width: 750px) {
    .c-section-1--service:before {
        top: 1.7%;
        width: 100%;
    }
}

.c-section-1--service:after {
    position: absolute;
    bottom: 21%;
    left: 2%;
    z-index: 0;
    width: 176px;
    height: 201px;
    background: url(../img/img_dot_orange01.png) 0 0 no-repeat;
    background-size: auto 100%;
    content: '';
}

@media screen and (max-width: 750px) {
    .c-section-1--service:after {
        display: none;
    }
}

.c-section-1--news {
    position: relative;
}

.c-section-1--news:before {
    position: absolute;
    top: 0;
    right: 28px;
    z-index: 0;
    width: 153px;
    height: 248px;
    background: url(../img/img_dot_white02.png) 0 0 no-repeat;
    background-size: auto 100%;
    content: '';
}

@media screen and (max-width: 750px) {
    .c-section-1--news:before {
        display: none;
    }
}

.c-section-1--news:after {
    position: absolute;
    bottom: -16%;
    left: 2%;
    z-index: 0;
    z-index: 0;
    width: 176px;
    height: 272px;
    background: url(../img/img_dot_white01.png) 0 0 no-repeat;
    background-size: auto 100%;
    content: '';
}

@media screen and (max-width: 750px) {
    .c-section-1--news:after {
        display: none;
    }
}

.c-section-1--access {
    padding-top: 70px;
}

@media screen and (max-width: 800px) {
    .c-section-1--access {
        padding-top: calc(70 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-section-1--access {
        padding-top: 11.6vw;
    }
}

/* ---------------------------------------------
*   c-section-2
--------------------------------------------- */
.c-section-2 {
    position: relative;
    z-index: 1;
    margin-top: 88px;
    padding-bottom: 120px;
    width: 100%;
}

@media screen and (max-width: 750px) {
    .c-section-2 {
        margin-top: 6.66667vw;
        padding-bottom: 13.33333vw;
    }
}

.c-section-2:after {
    position: absolute;
    top: 55px;
    bottom: 0;
    left: 0;
    z-index: -1;
    margin-right: 10%;
    width: calc(100% - 60px);
    background-color: #fff;
    content: '';
}

@media screen and (min-width: 1401px) {
    .c-section-2:after {
        width: calc((100% - 1400px) / 2 + 1340px);
    }
}

@media screen and (max-width: 1000px) {
    .c-section-2:after {
        width: 100%;
    }
}

@media screen and (max-width: 750px) {
    .c-section-2:after {
        top: 9.33333vw;
        width: 100%;
    }
}

.c-section-2__inner {
    z-index: 10;
    margin: 0 auto;
    width: 800px;
}

.c-section-2__head {
    position: relative;
    margin-bottom: 60px;
    margin-left: -190px;
    padding: 25px 40px;
    width: 440px;
    background-color: #ef4d3c;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

@media screen and (max-width: 1180px) {
    .c-section-2__head {
        margin-left: calc((100vw - 800px) / -2);
    }
}

@media screen and (max-width: 800px) {
    .c-section-2__head {
        margin-left: 0;
    }
}

@media screen and (max-width: 750px) {
    .c-section-2__head {
        margin-bottom: 11.73333vw;
        margin-left: 0;
        padding: 2.66667vw 5.33333vw;
        width: 61.33333vw;
        letter-spacing: 0.1em;
        font-weight: bold;
        font-size: 5.6vw;
    }
}

.c-section-2__head:before {
    position: absolute;
    top: -47%;
    left: -21%;
    z-index: -1;
    width: 178px;
    height: 272px;
    background: url(../img/img_dot_white01.png) 0 0 no-repeat;
    background-size: auto 100%;
    content: '';
}

@media screen and (max-width: 750px) {
    .c-section-2__head:before {
        display: none;
    }
}

@media screen and (max-width: 750px) {
    .c-section-2--history {
        padding-bottom: 15.2vw;
    }
}

.c-section-2--news {
    padding-bottom: 100px;
}

@media screen and (max-width: 750px) {
    .c-section-2--news {
        padding-bottom: 15.2vw;
    }
}

.c-section-2--confirm {
    padding-bottom: 215px;
}

@media screen and (max-width: 750px) {
    .c-section-2--confirm {
        padding-bottom: 16.26667vw;
    }
}

@media screen and (max-width: 750px) {
    .c-section-2--contact {
        padding-bottom: 38.66667vw;
    }
}

/* ---------------------------------------------
*   c-section-history
--------------------------------------------- */
.c-section-history {
    position: relative;
    clear: both;
    padding-top: 16px;
    width: 50%;
    border-top: 1px solid #ef4d3c;
}

@media screen and (max-width: 800px) {
    .c-section-history {
        padding-top: calc(16 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-section-history {
        margin-right: 5%;
        padding-top: 3.06667vw;
        padding-bottom: 10.66667vw;
        width: 88%;
    }
}

.c-section-history__year {
    position: absolute;
    bottom: 100%;
    color: #ef4d3c;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 34px;
    font-family: "Helvetica Neue", Arial;
}

@media screen and (max-width: 750px) {
    .c-section-history__year {
        right: 0;
        padding-bottom: 1.6vw;
        font-size: 7.46667vw;
        line-height: 1.1;
    }
}

.c-section-history__year--right {
    right: 0;
}

.c-section-history--left {
    position: relative;
    padding-right: 20px;
}

@media screen and (max-width: 750px) {
    .c-section-history--left {
        float: right;
        padding-left: 6.13333vw;
    }
}

.c-section-history--left:after {
    position: absolute;
    top: 0;
    right: -20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    border: 4px solid #ef4d3c;
    border-radius: 50%;
    background-color: #fff;
    content: '';
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

@media screen and (max-width: 750px) {
    .c-section-history--left:after {
        left: 0;
        width: 5.33333vw;
        height: 5.33333vw;
        border: 1.06667vw solid #ef4d3c;
    }
}

.c-section-history--right {
    position: relative;
    float: right;
    padding-left: 20px;
}

@media screen and (max-width: 800px) {
    .c-section-history--right {
        padding-left: calc(20 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-section-history--right {
        padding-left: 4vw;
    }
}

.c-section-history--right:after {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    border: 4px solid #ef4d3c;
    border-radius: 50%;
    background-color: #fff;
    content: '';
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

@media screen and (max-width: 750px) {
    .c-section-history--right:after {
        width: 5.33333vw;
        height: 5.33333vw;
        border: 1.06667vw solid #ef4d3c;
    }
}

.c-section-history--end {
    padding-bottom: 0;
}

.c-section-history__txt {
    padding-bottom: 15px;
    letter-spacing: 0.05em;
    font-size: 15px;
    line-height: 1.6;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

@media screen and (max-width: 800px) {
    .c-section-history__txt {
        padding-bottom: calc(15 / 800 * 100vw);
        font-size: calc(15 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-section-history__txt {
        padding-bottom: 4vw;
        font-size: 3.73333vw;
    }
}

.c-section-history__txt--end {
    padding-bottom: 0;
}

@media screen and (max-width: 750px) {
    .c-section-history__txt--pb-sp {
        padding-bottom: 6.66667vw;
    }
}

.c-section-history__ttl {
    font-weight: bold;
    font-size: 15px;
}

@media screen and (max-width: 800px) {
    .c-section-history__ttl {
        font-size: calc(15 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-section-history__ttl {
        padding-bottom: 0.66667vw;
        font-size: 3.73333vw;
    }
}

/* ---------------------------------------------
*   c-section-detail
--------------------------------------------- */
.c-section-detail {
    font-size: 15px;
}

@media screen and (max-width: 750px) {
    .c-section-detail {
        font-size: 3.73333vw;
    }
}

.c-section-detail a {
    color: #ef4d3c;
    text-decoration: underline;
    word-break: break-all;
}

.c-section-detail a:hover {
    text-decoration: none;
}

.c-section-detail b {
    font-weight: bold;
}

.c-section-detail table {
    border: 1px black solid;
    width: 100%;
}

.c-section-detail table td {
    border: 1px black solid;
    padding: .4em
}

.c-section-detail__link {
    text-align: right;
    font-weight: bold;
    font-size: 15px;
}

@media screen and (max-width: 750px) {
    .c-section-detail__link {
        font-size: 3.73333vw;
    }
}

.c-section-detail__head {
    margin-bottom: 45px;
}

@media screen and (max-width: 750px) {
    .c-section-detail__head {
        margin-bottom: 11.33333vw;
    }
}

.c-section-detail .fc-orange {
    color: #ef4d3c;
}

/* ---------------------------------------------
*   c-ttl-1
--------------------------------------------- */
.c-ttl-1 {
    position: relative;
    z-index: 10;
    margin-bottom: 30px;
    text-align: center;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 74px;
    font-family: "Helvetica Neue", Arial;
}

@media screen and (max-width: 800px) {
    .c-ttl-1 {
        margin-bottom: 2.14286vw;
        font-size: calc(74 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-ttl-1 {
        margin-bottom: 4vw;
        font-size: 12vw;
    }
    .windows .c-ttl-1 {
        letter-spacing: 0.01em;
    }
}

@media screen and (max-width: 750px) {
    .c-ttl-1--sp-sm {
        font-size: 10.13333vw;
    }
}

.c-ttl-1 p {
    display: inline-block;
    -webkit-transform: translate3d(0, 80px, 0);
    transform: translate3d(0, 80px, 0);
    -webkit-transform-origin: center center;
    transform-origin: center center;
}

.c-ttl-1 p span {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 1);
    transform: scale3d(0.1, 0.1, 1);
    -webkit-transform-origin: center center;
    transform-origin: center center;
}

.c-ttl-1 p:nth-child(1) {
    -webkit-transition: -webkit-transform 0.3s ease 0.1s;
    transition: -webkit-transform 0.3s ease 0.1s;
    transition: transform 0.3s ease 0.1s;
    transition: transform 0.3s ease 0.1s, -webkit-transform 0.3s ease 0.1s;
}

.c-ttl-1 p:nth-child(1) span {
    -webkit-transition: opacity 0.8s ease 0.1s,-webkit-transform 0.3s ease 0.1s;
    transition: opacity 0.8s ease 0.1s,-webkit-transform 0.3s ease 0.1s;
    transition: transform 0.3s ease 0.1s,opacity 0.8s ease 0.1s;
    transition: transform 0.3s ease 0.1s,opacity 0.8s ease 0.1s,-webkit-transform 0.3s ease 0.1s;
}

.c-ttl-1 p:nth-child(2) {
    -webkit-transition: -webkit-transform 0.3s ease 0.2s;
    transition: -webkit-transform 0.3s ease 0.2s;
    transition: transform 0.3s ease 0.2s;
    transition: transform 0.3s ease 0.2s, -webkit-transform 0.3s ease 0.2s;
}

.c-ttl-1 p:nth-child(2) span {
    -webkit-transition: opacity 0.8s ease 0.2s,-webkit-transform 0.3s ease 0.2s;
    transition: opacity 0.8s ease 0.2s,-webkit-transform 0.3s ease 0.2s;
    transition: transform 0.3s ease 0.2s,opacity 0.8s ease 0.2s;
    transition: transform 0.3s ease 0.2s,opacity 0.8s ease 0.2s,-webkit-transform 0.3s ease 0.2s;
}

.c-ttl-1 p:nth-child(3) {
    -webkit-transition: -webkit-transform 0.3s ease 0.3s;
    transition: -webkit-transform 0.3s ease 0.3s;
    transition: transform 0.3s ease 0.3s;
    transition: transform 0.3s ease 0.3s, -webkit-transform 0.3s ease 0.3s;
}

.c-ttl-1 p:nth-child(3) span {
    -webkit-transition: opacity 0.8s ease 0.3s,-webkit-transform 0.3s ease 0.3s;
    transition: opacity 0.8s ease 0.3s,-webkit-transform 0.3s ease 0.3s;
    transition: transform 0.3s ease 0.3s,opacity 0.8s ease 0.3s;
    transition: transform 0.3s ease 0.3s,opacity 0.8s ease 0.3s,-webkit-transform 0.3s ease 0.3s;
}

.c-ttl-1 p:nth-child(4) {
    -webkit-transition: -webkit-transform 0.3s ease 0.4s;
    transition: -webkit-transform 0.3s ease 0.4s;
    transition: transform 0.3s ease 0.4s;
    transition: transform 0.3s ease 0.4s, -webkit-transform 0.3s ease 0.4s;
}

.c-ttl-1 p:nth-child(4) span {
    -webkit-transition: opacity 0.8s ease 0.4s,-webkit-transform 0.3s ease 0.4s;
    transition: opacity 0.8s ease 0.4s,-webkit-transform 0.3s ease 0.4s;
    transition: transform 0.3s ease 0.4s,opacity 0.8s ease 0.4s;
    transition: transform 0.3s ease 0.4s,opacity 0.8s ease 0.4s,-webkit-transform 0.3s ease 0.4s;
}

.c-ttl-1 p:nth-child(5) {
    -webkit-transition: -webkit-transform 0.3s ease 0.5s;
    transition: -webkit-transform 0.3s ease 0.5s;
    transition: transform 0.3s ease 0.5s;
    transition: transform 0.3s ease 0.5s, -webkit-transform 0.3s ease 0.5s;
}

.c-ttl-1 p:nth-child(5) span {
    -webkit-transition: opacity 0.8s ease 0.5s,-webkit-transform 0.3s ease 0.5s;
    transition: opacity 0.8s ease 0.5s,-webkit-transform 0.3s ease 0.5s;
    transition: transform 0.3s ease 0.5s,opacity 0.8s ease 0.5s;
    transition: transform 0.3s ease 0.5s,opacity 0.8s ease 0.5s,-webkit-transform 0.3s ease 0.5s;
}

.c-ttl-1 p:nth-child(6) {
    -webkit-transition: -webkit-transform 0.3s ease 0.6s;
    transition: -webkit-transform 0.3s ease 0.6s;
    transition: transform 0.3s ease 0.6s;
    transition: transform 0.3s ease 0.6s, -webkit-transform 0.3s ease 0.6s;
}

.c-ttl-1 p:nth-child(6) span {
    -webkit-transition: opacity 0.8s ease 0.6s,-webkit-transform 0.3s ease 0.6s;
    transition: opacity 0.8s ease 0.6s,-webkit-transform 0.3s ease 0.6s;
    transition: transform 0.3s ease 0.6s,opacity 0.8s ease 0.6s;
    transition: transform 0.3s ease 0.6s,opacity 0.8s ease 0.6s,-webkit-transform 0.3s ease 0.6s;
}

.c-ttl-1 p:nth-child(7) {
    -webkit-transition: -webkit-transform 0.3s ease 0.7s;
    transition: -webkit-transform 0.3s ease 0.7s;
    transition: transform 0.3s ease 0.7s;
    transition: transform 0.3s ease 0.7s, -webkit-transform 0.3s ease 0.7s;
}

.c-ttl-1 p:nth-child(7) span {
    -webkit-transition: opacity 0.8s ease 0.7s,-webkit-transform 0.3s ease 0.7s;
    transition: opacity 0.8s ease 0.7s,-webkit-transform 0.3s ease 0.7s;
    transition: transform 0.3s ease 0.7s,opacity 0.8s ease 0.7s;
    transition: transform 0.3s ease 0.7s,opacity 0.8s ease 0.7s,-webkit-transform 0.3s ease 0.7s;
}

.c-ttl-1 p:nth-child(8) {
    -webkit-transition: -webkit-transform 0.3s ease 0.8s;
    transition: -webkit-transform 0.3s ease 0.8s;
    transition: transform 0.3s ease 0.8s;
    transition: transform 0.3s ease 0.8s, -webkit-transform 0.3s ease 0.8s;
}

.c-ttl-1 p:nth-child(8) span {
    -webkit-transition: opacity 0.8s ease 0.8s,-webkit-transform 0.3s ease 0.8s;
    transition: opacity 0.8s ease 0.8s,-webkit-transform 0.3s ease 0.8s;
    transition: transform 0.3s ease 0.8s,opacity 0.8s ease 0.8s;
    transition: transform 0.3s ease 0.8s,opacity 0.8s ease 0.8s,-webkit-transform 0.3s ease 0.8s;
}

.c-ttl-1 p:nth-child(9) {
    -webkit-transition: -webkit-transform 0.3s ease 0.9s;
    transition: -webkit-transform 0.3s ease 0.9s;
    transition: transform 0.3s ease 0.9s;
    transition: transform 0.3s ease 0.9s, -webkit-transform 0.3s ease 0.9s;
}

.c-ttl-1 p:nth-child(9) span {
    -webkit-transition: opacity 0.8s ease 0.9s,-webkit-transform 0.3s ease 0.9s;
    transition: opacity 0.8s ease 0.9s,-webkit-transform 0.3s ease 0.9s;
    transition: transform 0.3s ease 0.9s,opacity 0.8s ease 0.9s;
    transition: transform 0.3s ease 0.9s,opacity 0.8s ease 0.9s,-webkit-transform 0.3s ease 0.9s;
}

.c-ttl-1 p:nth-child(10) {
    -webkit-transition: -webkit-transform 0.3s ease 1.0s;
    transition: -webkit-transform 0.3s ease 1.0s;
    transition: transform 0.3s ease 1.0s;
    transition: transform 0.3s ease 1.0s, -webkit-transform 0.3s ease 1.0s;
}

.c-ttl-1 p:nth-child(10) span {
    -webkit-transition: opacity 0.8s ease 1s,-webkit-transform 0.3s ease 1s;
    transition: opacity 0.8s ease 1s,-webkit-transform 0.3s ease 1s;
    transition: transform 0.3s ease 1s,opacity 0.8s ease 1s;
    transition: transform 0.3s ease 1s,opacity 0.8s ease 1s,-webkit-transform 0.3s ease 1s;
}

.c-ttl-1 p:nth-child(11) {
    -webkit-transition: -webkit-transform 0.3s ease 1.1s;
    transition: -webkit-transform 0.3s ease 1.1s;
    transition: transform 0.3s ease 1.1s;
    transition: transform 0.3s ease 1.1s, -webkit-transform 0.3s ease 1.1s;
}

.c-ttl-1 p:nth-child(11) span {
    -webkit-transition: opacity 0.8s ease 1.1s,-webkit-transform 0.3s ease 1.1s;
    transition: opacity 0.8s ease 1.1s,-webkit-transform 0.3s ease 1.1s;
    transition: transform 0.3s ease 1.1s,opacity 0.8s ease 1.1s;
    transition: transform 0.3s ease 1.1s,opacity 0.8s ease 1.1s,-webkit-transform 0.3s ease 1.1s;
}

.c-ttl-1.active {
    opacity: 1;
}

.c-ttl-1.active p {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.c-ttl-1.active span {
    display: block;
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
}

/* ---------------------------------------------
*   c-ttl-2
--------------------------------------------- */
.c-ttl-2 {
    color: #fff;
    letter-spacing: 0.2em;
    font-weight: bold;
    font-size: 30px;
    line-height: 2.333;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

@media screen and (max-width: 750px) {
    .c-ttl-2 {
        letter-spacing: 0.1em;
        font-size: 5.6vw;
    }
}

.c-ttl-2--sm {
    font-size: 25px;
}

@media screen and (max-width: 750px) {
    .c-ttl-2--sm {
        font-size: 3.73333vw;
    }
}

@media screen and (max-width: 750px) {
    .c-ttl-2--sp-sm {
        font-size: 3.73333vw;
    }
}

/* ---------------------------------------------
*   c-ttl-3
--------------------------------------------- */
.c-ttl-3 {
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.5;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

@media screen and (max-width: 750px) {
    .c-ttl-3 {
        font-size: 5.06667vw;
        line-height: 1.74;
    }
}

/* ---------------------------------------------
*   c-txt-1
--------------------------------------------- */
.c-txt-1 {
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 17px;
    line-height: 2.12;

    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}

@media screen and (max-width: 800px) {
    .c-txt-1 {
        font-size: calc(17 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-txt-1 {
        font-weight: bold;
        font-size: 4vw;
        line-height: 1.93;
    }
}

.c-txt-1--sm {
    font-size: 15px;
    line-height: 2;
}

@media screen and (max-width: 800px) {
    .c-txt-1--sm {
        font-size: calc(15 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-txt-1--sm {
        font-weight: normal;
        font-size: 4vw;
    }
}

/* ---------------------------------------------
*   c-txt-input
--------------------------------------------- */
.c-txt-input__item {
    padding: 5px 12px;
    width: 100%;
    background-color: #f2f2f2;
    font-size: 15px;
    line-height: 2;
}

@media screen and (max-width: 800px) {
    .c-txt-input__item {
        padding: calc(5 / 800 * 100vw) calc(12 / 800 * 100vw);
        font-size: calc(15 / 800 * 100vw);
    }
}

@media screen and (max-width: 750px) {
    .c-txt-input__item {
        padding: 1.06667vw 2.4vw;
        font-size: 3.73333vw;
    }
}

.c-txt-input__item--comfirm {
    background-color: transparent;
}

@media screen and (max-width: 750px) {
    .c-txt-input__item--comfirm {
        border: 1px solid #e5e5e5;
    }
}

.c-txt-input__txtarea {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px 12px;
    width: 100%;
    height: 140px;
    background-color: #f2f2f2;
    font-size: 15px;
    line-height: 2;
}

@media screen and (max-width: 750px) {
    .c-txt-input__txtarea {
        padding: 0.66667vw 2.4vw;
        font-size: 3.73333vw;
    }
}

.c-txt-input__txtarea--comfirm {
    background-color: transparent;
}

@media screen and (max-width: 750px) {
    .c-txt-input__txtarea--comfirm {
        height: 50.66667vw;
        border: 1px solid #e5e5e5;
        line-height: 1.79;
    }
}

/* ==========================================================
*
*   javascript style hooks
*
========================================================== */
/* ---------------------------------------------
*   js-fade-in
--------------------------------------------- */
.js-fadein {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
}

.js-fadein-active {
    opacity: 0;
    -webkit-animation-name: fadein-bottom;
    animation-name: fadein-bottom;
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-animation-delay: .3s;
    animation-delay: .3s;

    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

@-webkit-keyframes fadein-bottom {
    0% {
        opacity: 0;
        -webkit-transform: translateY(20px);
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes fadein-bottom {
    0% {
        opacity: 0;
        -webkit-transform: translateY(20px);
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

/* ---------------------------------------------
*   slide-in
--------------------------------------------- */
.js-slidein-mask {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #f7f7f7;
    -webkit-transition: all 1s;
    transition: all 1s;
}

.js-slidein-mask--white {
    background-color: #fff;
}

.js-slidein-active.js-slidein-mask {
    width: 0;
}

/* ==========================================================
*
*   utility
*
========================================================== */
/* ---------------------------------------------
*   background-color
--------------------------------------------- */
.bg-white {
    background-color: #fff !important;
}

/* ---------------------------------------------
*   font-wight
--------------------------------------------- */
.fw-normal {
    font-weight: 500 !important;
}

.fw-bold {
    font-weight: 700 !important;
}

/* ---------------------------------------------
*   text-align
--------------------------------------------- */
.txt-al-center {
    text-align: center !important;
}

.txt-al-right {
    text-align: right !important;
}

.txt-al-left {
    text-align: left !important;
}

@media screen and (min-width: 751px) {
    .pc-hide {
        display: none !important;
    }
}

@media screen and (max-width: 750px) {
    .sp-hide {
        display: none !important;
    }
}

/* ---------------------------------------------
*   margin-top
--------------------------------------------- */
.mgt-pc--0 {
    margin-top: 0 !important;
}

.mgt-pc--5 {
    margin-top: 5px !important;
}

.mgt-pc--10 {
    margin-top: 10px !important;
}

.mgt-pc--15 {
    margin-top: 15px !important;
}

.mgt-pc--20 {
    margin-top: 20px !important;
}

.mgt-pc--25 {
    margin-top: 25px !important;
}

.mgt-pc--30 {
    margin-top: 30px !important;
}

.mgt-pc--35 {
    margin-top: 35px !important;
}

.mgt-pc--40 {
    margin-top: 40px !important;
}

.mgt-pc--45 {
    margin-top: 45px !important;
}

.mgt-pc--50 {
    margin-top: 50px !important;
}

.mgt-pc--55 {
    margin-top: 55px !important;
}

.mgt-pc--60 {
    margin-top: 60px !important;
}

.mgt-pc--65 {
    margin-top: 65px !important;
}

.mgt-pc--70 {
    margin-top: 70px !important;
}

.mgt-pc--75 {
    margin-top: 75px !important;
}

.mgt-pc--80 {
    margin-top: 80px !important;
}

.mgt-pc--85 {
    margin-top: 85px !important;
}

.mgt-pc--90 {
    margin-top: 90px !important;
}

.mgt-pc--95 {
    margin-top: 95px !important;
}

.mgt-pc--100 {
    margin-top: 100px !important;
}

.mgt-pc--105 {
    margin-top: 105px !important;
}

.mgt-pc--110 {
    margin-top: 110px !important;
}

.mgt-pc--115 {
    margin-top: 115px !important;
}

.mgt-pc--120 {
    margin-top: 120px !important;
}

.mgt-pc--125 {
    margin-top: 125px !important;
}

.mgt-pc--130 {
    margin-top: 130px !important;
}

.mgt-pc--135 {
    margin-top: 135px !important;
}

.mgt-pc--140 {
    margin-top: 140px !important;
}

.mgt-pc--145 {
    margin-top: 145px !important;
}

.mgt-pc--150 {
    margin-top: 150px !important;
}

.mgt-pc--155 {
    margin-top: 155px !important;
}

.mgt-pc--160 {
    margin-top: 160px !important;
}

.mgt-pc--165 {
    margin-top: 165px !important;
}

.mgt-pc--170 {
    margin-top: 170px !important;
}

.mgt-pc--175 {
    margin-top: 175px !important;
}

.mgt-pc--180 {
    margin-top: 180px !important;
}

.mgt-pc--185 {
    margin-top: 185px !important;
}

.mgt-pc--190 {
    margin-top: 190px !important;
}

.mgt-pc--195 {
    margin-top: 195px !important;
}

.mgt-pc--200 {
    margin-top: 200px !important;
}

.mgt-pc--205 {
    margin-top: 205px !important;
}

.mgt-pc--210 {
    margin-top: 210px !important;
}

.mgt-pc--215 {
    margin-top: 215px !important;
}

.mgt-pc--220 {
    margin-top: 220px !important;
}

.mgt-pc--225 {
    margin-top: 225px !important;
}

.mgt-pc--230 {
    margin-top: 230px !important;
}

.mgt-pc--235 {
    margin-top: 235px !important;
}

.mgt-pc--240 {
    margin-top: 240px !important;
}

.mgt-pc--245 {
    margin-top: 245px !important;
}

.mgt-pc--250 {
    margin-top: 250px !important;
}

@media screen and (max-width: 750px) {
    .mgt-sp--0 {
        margin-top: 0 !important;
    }
    .mgt-sp--5 {
        margin-top: 0.66667vw !important;
    }
    .mgt-sp--10 {
        margin-top: 1.33333vw !important;
    }
    .mgt-sp--15 {
        margin-top: 2vw !important;
    }
    .mgt-sp--20 {
        margin-top: 2.66667vw !important;
    }
    .mgt-sp--25 {
        margin-top: 3.33333vw !important;
    }
    .mgt-sp--30 {
        margin-top: 4vw !important;
    }
    .mgt-sp--35 {
        margin-top: 4.66667vw !important;
    }
    .mgt-sp--40 {
        margin-top: 5.33333vw !important;
    }
    .mgt-sp--45 {
        margin-top: 6vw !important;
    }
    .mgt-sp--50 {
        margin-top: 6.66667vw !important;
    }
    .mgt-sp--55 {
        margin-top: 7.33333vw !important;
    }
    .mgt-sp--60 {
        margin-top: 8vw !important;
    }
    .mgt-sp--65 {
        margin-top: 8.66667vw !important;
    }
    .mgt-sp--70 {
        margin-top: 9.33333vw !important;
    }
    .mgt-sp--75 {
        margin-top: 10vw !important;
    }
    .mgt-sp--80 {
        margin-top: 10.66667vw !important;
    }
    .mgt-sp--85 {
        margin-top: 11.33333vw !important;
    }
    .mgt-sp--90 {
        margin-top: 12vw !important;
    }
    .mgt-sp--95 {
        margin-top: 12.66667vw !important;
    }
    .mgt-sp--100 {
        margin-top: 13.33333vw !important;
    }
    .mgt-sp--105 {
        margin-top: 14vw !important;
    }
    .mgt-sp--110 {
        margin-top: 14.66667vw !important;
    }
    .mgt-sp--115 {
        margin-top: 15.33333vw !important;
    }
    .mgt-sp--120 {
        margin-top: 16vw !important;
    }
    .mgt-sp--125 {
        margin-top: 16.66667vw !important;
    }
    .mgt-sp--130 {
        margin-top: 17.33333vw !important;
    }
    .mgt-sp--135 {
        margin-top: 18vw !important;
    }
    .mgt-sp--140 {
        margin-top: 18.66667vw !important;
    }
    .mgt-sp--145 {
        margin-top: 19.33333vw !important;
    }
    .mgt-sp--150 {
        margin-top: 20vw !important;
    }
    .mgt-sp--155 {
        margin-top: 20.66667vw !important;
    }
    .mgt-sp--160 {
        margin-top: 21.33333vw !important;
    }
    .mgt-sp--165 {
        margin-top: 22vw !important;
    }
    .mgt-sp--170 {
        margin-top: 22.66667vw !important;
    }
    .mgt-sp--175 {
        margin-top: 23.33333vw !important;
    }
    .mgt-sp--180 {
        margin-top: 24vw !important;
    }
    .mgt-sp--185 {
        margin-top: 24.66667vw !important;
    }
    .mgt-sp--190 {
        margin-top: 25.33333vw !important;
    }
    .mgt-sp--195 {
        margin-top: 26vw !important;
    }
    .mgt-sp--200 {
        margin-top: 26.66667vw !important;
    }
    .mgt-sp--205 {
        margin-top: 27.33333vw !important;
    }
    .mgt-sp--210 {
        margin-top: 28vw !important;
    }
    .mgt-sp--215 {
        margin-top: 28.66667vw !important;
    }
    .mgt-sp--220 {
        margin-top: 29.33333vw !important;
    }
    .mgt-sp--225 {
        margin-top: 30vw !important;
    }
    .mgt-sp--230 {
        margin-top: 30.66667vw !important;
    }
    .mgt-sp--235 {
        margin-top: 31.33333vw !important;
    }
    .mgt-sp--240 {
        margin-top: 32vw !important;
    }
    .mgt-sp--245 {
        margin-top: 32.66667vw !important;
    }
    .mgt-sp--250 {
        margin-top: 33.33333vw !important;
    }
}

/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */
.mgb-pc--0 {
    margin-bottom: 0 !important;
}

.mgb-pc--5 {
    margin-bottom: 5px !important;
}

.mgb-pc--10 {
    margin-bottom: 10px !important;
}

.mgb-pc--15 {
    margin-bottom: 15px !important;
}

.mgb-pc--20 {
    margin-bottom: 20px !important;
}

.mgb-pc--25 {
    margin-bottom: 25px !important;
}

.mgb-pc--30 {
    margin-bottom: 30px !important;
}

.mgb-pc--35 {
    margin-bottom: 35px !important;
}

.mgb-pc--40 {
    margin-bottom: 40px !important;
}

.mgb-pc--45 {
    margin-bottom: 45px !important;
}

.mgb-pc--50 {
    margin-bottom: 50px !important;
}

.mgb-pc--55 {
    margin-bottom: 55px !important;
}

.mgb-pc--60 {
    margin-bottom: 60px !important;
}

.mgb-pc--65 {
    margin-bottom: 65px !important;
}

.mgb-pc--70 {
    margin-bottom: 70px !important;
}

.mgb-pc--75 {
    margin-bottom: 75px !important;
}

.mgb-pc--80 {
    margin-bottom: 80px !important;
}

.mgb-pc--85 {
    margin-bottom: 85px !important;
}

.mgb-pc--90 {
    margin-bottom: 90px !important;
}

.mgb-pc--95 {
    margin-bottom: 95px !important;
}

.mgb-pc--100 {
    margin-bottom: 100px !important;
}

.mgb-pc--105 {
    margin-bottom: 105px !important;
}

.mgb-pc--110 {
    margin-bottom: 110px !important;
}

.mgb-pc--115 {
    margin-bottom: 115px !important;
}

.mgb-pc--120 {
    margin-bottom: 120px !important;
}

.mgb-pc--125 {
    margin-bottom: 125px !important;
}

.mgb-pc--130 {
    margin-bottom: 130px !important;
}

.mgb-pc--135 {
    margin-bottom: 135px !important;
}

.mgb-pc--140 {
    margin-bottom: 140px !important;
}

.mgb-pc--145 {
    margin-bottom: 145px !important;
}

.mgb-pc--150 {
    margin-bottom: 150px !important;
}

.mgb-pc--155 {
    margin-bottom: 155px !important;
}

.mgb-pc--160 {
    margin-bottom: 160px !important;
}

.mgb-pc--165 {
    margin-bottom: 165px !important;
}

.mgb-pc--170 {
    margin-bottom: 170px !important;
}

.mgb-pc--175 {
    margin-bottom: 175px !important;
}

.mgb-pc--180 {
    margin-bottom: 180px !important;
}

.mgb-pc--185 {
    margin-bottom: 185px !important;
}

.mgb-pc--190 {
    margin-bottom: 190px !important;
}

.mgb-pc--195 {
    margin-bottom: 195px !important;
}

.mgb-pc--200 {
    margin-bottom: 200px !important;
}

.mgb-pc--205 {
    margin-bottom: 205px !important;
}

.mgb-pc--210 {
    margin-bottom: 210px !important;
}

.mgb-pc--215 {
    margin-bottom: 215px !important;
}

.mgb-pc--220 {
    margin-bottom: 220px !important;
}

.mgb-pc--225 {
    margin-bottom: 225px !important;
}

.mgb-pc--230 {
    margin-bottom: 230px !important;
}

.mgb-pc--235 {
    margin-bottom: 235px !important;
}

.mgb-pc--240 {
    margin-bottom: 240px !important;
}

.mgb-pc--245 {
    margin-bottom: 245px !important;
}

.mgb-pc--250 {
    margin-bottom: 250px !important;
}

@media screen and (max-width: 750px) {
    .mgb-sp--0 {
        margin-bottom: 0 !important;
    }
    .mgb-sp--5 {
        margin-bottom: 0.66667vw !important;
    }
    .mgb-sp--10 {
        margin-bottom: 1.33333vw !important;
    }
    .mgb-sp--15 {
        margin-bottom: 2vw !important;
    }
    .mgb-sp--20 {
        margin-bottom: 2.66667vw !important;
    }
    .mgb-sp--25 {
        margin-bottom: 3.33333vw !important;
    }
    .mgb-sp--30 {
        margin-bottom: 4vw !important;
    }
    .mgb-sp--35 {
        margin-bottom: 4.66667vw !important;
    }
    .mgb-sp--40 {
        margin-bottom: 5.33333vw !important;
    }
    .mgb-sp--45 {
        margin-bottom: 6vw !important;
    }
    .mgb-sp--50 {
        margin-bottom: 6.66667vw !important;
    }
    .mgb-sp--55 {
        margin-bottom: 7.33333vw !important;
    }
    .mgb-sp--60 {
        margin-bottom: 8vw !important;
    }
    .mgb-sp--65 {
        margin-bottom: 8.66667vw !important;
    }
    .mgb-sp--70 {
        margin-bottom: 9.33333vw !important;
    }
    .mgb-sp--75 {
        margin-bottom: 10vw !important;
    }
    .mgb-sp--80 {
        margin-bottom: 10.66667vw !important;
    }
    .mgb-sp--85 {
        margin-bottom: 11.33333vw !important;
    }
    .mgb-sp--90 {
        margin-bottom: 12vw !important;
    }
    .mgb-sp--95 {
        margin-bottom: 12.66667vw !important;
    }
    .mgb-sp--100 {
        margin-bottom: 13.33333vw !important;
    }
    .mgb-sp--105 {
        margin-bottom: 14vw !important;
    }
    .mgb-sp--110 {
        margin-bottom: 14.66667vw !important;
    }
    .mgb-sp--115 {
        margin-bottom: 15.33333vw !important;
    }
    .mgb-sp--120 {
        margin-bottom: 16vw !important;
    }
    .mgb-sp--125 {
        margin-bottom: 16.66667vw !important;
    }
    .mgb-sp--130 {
        margin-bottom: 17.33333vw !important;
    }
    .mgb-sp--135 {
        margin-bottom: 18vw !important;
    }
    .mgb-sp--140 {
        margin-bottom: 18.66667vw !important;
    }
    .mgb-sp--145 {
        margin-bottom: 19.33333vw !important;
    }
    .mgb-sp--150 {
        margin-bottom: 20vw !important;
    }
    .mgb-sp--155 {
        margin-bottom: 20.66667vw !important;
    }
    .mgb-sp--160 {
        margin-bottom: 21.33333vw !important;
    }
    .mgb-sp--165 {
        margin-bottom: 22vw !important;
    }
    .mgb-sp--170 {
        margin-bottom: 22.66667vw !important;
    }
    .mgb-sp--175 {
        margin-bottom: 23.33333vw !important;
    }
    .mgb-sp--180 {
        margin-bottom: 24vw !important;
    }
    .mgb-sp--185 {
        margin-bottom: 24.66667vw !important;
    }
    .mgb-sp--190 {
        margin-bottom: 25.33333vw !important;
    }
    .mgb-sp--195 {
        margin-bottom: 26vw !important;
    }
    .mgb-sp--200 {
        margin-bottom: 26.66667vw !important;
    }
    .mgb-sp--205 {
        margin-bottom: 27.33333vw !important;
    }
    .mgb-sp--210 {
        margin-bottom: 28vw !important;
    }
    .mgb-sp--215 {
        margin-bottom: 28.66667vw !important;
    }
    .mgb-sp--220 {
        margin-bottom: 29.33333vw !important;
    }
    .mgb-sp--225 {
        margin-bottom: 30vw !important;
    }
    .mgb-sp--230 {
        margin-bottom: 30.66667vw !important;
    }
    .mgb-sp--235 {
        margin-bottom: 31.33333vw !important;
    }
    .mgb-sp--240 {
        margin-bottom: 32vw !important;
    }
    .mgb-sp--245 {
        margin-bottom: 32.66667vw !important;
    }
    .mgb-sp--250 {
        margin-bottom: 33.33333vw !important;
    }
}
