html,
body
{
    font-family: 'ryo-gothic-plusn', sans-serif;
    font-size: 20px;
    line-height: 1;

    text-align: center;

    color: #333;
}

a
{
    text-decoration: none;

    color: #333;
}

.sp
{
    display: none !important;
}

@media print, screen and (max-width: 760px)
{
    .sp
    {
        display: block !important;
    }
}

.pc
{
    display: block;
}

@media print, screen and (max-width: 760px)
{
    .pc
    {
        display: none !important;
    }
}

.spi
{
    display: none;
}

@media print, screen and (max-width: 760px)
{
    .spi
    {
        display: inline;
    }
}

.pci
{
    display: inline;
}

@media print, screen and (max-width: 760px)
{
    .pci
    {
        display: none;
    }
}

br
{
    font-size: 0;
}

/* ============== .l-sec ============== */
.l-sec
{
    width: 100%;
}

.l-sec__inner
{
    width: 62.5vw;
    max-width: 1200px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1025px)
{
    .l-sec__inner
    {
        width: 70.70312vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .l-sec__inner
    {
        width: 92vw;
    }
}

.l-sec--fixed
{
    overflow: hidden;
}

/* ============== .head ============== */
.head
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    width: 100%;
    height: 100px;
    margin: 0 auto;

    -webkit-transition: .3s;
            transition: .3s;
}

@media print, screen and (max-width: 1921px)
{
    .head
    {
        height: 5.20833vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .head
    {
        height: 14.53333vw;
    }
}

.head--bg
{
    -webkit-transition: .3s;
            transition: .3s;

    background-color: white;
}

.head__inner
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 100px;
    margin: 0 auto;
    padding: 0 47px 0 30px;

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

@media print, screen and (max-width: 1921px)
{
    .head__inner
    {
        height: 5.20833vw;
        padding: 0 2.44792vw 0 1.5625vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .head__inner
    {
        height: 14.53333vw;
        padding: 0 2.66667vw;
    }
}

.head__logoLink
{
    display: block;

    width: 220px;
}

@media print, screen and (max-width: 1921px)
{
    .head__logoLink
    {
        width: 11.45833vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .head__logoLink
    {
        width: 31.73333vw;
    }
}

.head__logo
{
    width: 100%;

    -webkit-transition: .4s;
            transition: .4s;
}

.head__logo:hover
{
    opacity: .6;
}

.head__logo > img
{
    display: block;

    width: 100%;
}

@media print, screen and (max-width: 760px)
{
    .head__cta
    {
        position: fixed;
        z-index: 999;
        bottom: 0;
        left: 0;

        width: 100%;
        padding: 2.13333vw 0;

        background-color: #fff;
    }
}

.head__contact
{
    position: relative;

    display: block;

    width: 370px;
    height: 77px;
}

@media print, screen and (max-width: 1921px)
{
    .head__contact
    {
        width: 19.27083vw;
        height: 4.01042vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .head__contact
    {
        width: 64.66667vw;
        height: 11.6vw;
        margin: 0 auto;
    }
}

.head__contact:hover .head__redLink
{
    -webkit-transition: .3s;
            transition: .3s;
    -webkit-transform: translate(7px, 7px);
            transform: translate(7px, 7px);
}

@media print, screen and (max-width: 760px)
{
    .head__contact:hover .head__redLink
    {
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
    }
}

.head__redLink
{
    font-size: 24px;
    font-weight: 500;

    position: relative;

    width: 363px;
    padding: 23px 0;

    -webkit-transition: .3s;
            transition: .3s;
    letter-spacing: .08em;

    color: #fff;
    border-radius: 10px;
    background-color: #ca0613;
}

@media print, screen and (max-width: 1921px)
{
    .head__redLink
    {
        font-size: 1.25vw;

        width: 18.90625vw;
        padding: 1.19792vw 0;

        border-radius: .52083vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .head__redLink
    {
        font-size: 3.73333vw;

        width: 63.73333vw;
        padding: 3.46667vw 0;

        border-radius: 1.33333vw;
    }
}

.head__redLink::before
{
    position: absolute;
    top: 0;
    right: 33px;
    bottom: 0;

    width: 8.64px;
    height: 14px;
    margin: auto 0;

    content: '';

    background-image: url(../images/img_link_arrow_white.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .head__redLink::before
    {
        right: 1.71875vw;

        width: .45vw;
        height: .72917vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .head__redLink::before
    {
        right: 2vw;

        width: 1.152vw;
        height: 1.86667vw;
    }
}

.head__bgLink
{
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: 0;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 363px;
    height: 70px;

    border: 1px solid #ca0613;
    border-radius: 10px;
    background-color: white;
}

@media print, screen and (max-width: 1921px)
{
    .head__bgLink
    {
        width: 18.90625vw;
        height: 3.64583vw;

        border-radius: .52083vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .head__bgLink
    {
        width: 63.73333vw;
        height: 10.66667vw;

        border-radius: 1.33333vw;
    }
}

/* ============== .foot ============== */
.foot
{
    padding: 17px 0;

    word-wrap: 100%;

    background-color: #900000;
}

@media print, screen and (max-width: 1921px)
{
    .foot
    {
        padding: .88542vw 0;
    }
}

@media print, screen and (max-width: 760px)
{
    .foot
    {
        padding: 2.26667vw 0 18.26667vw;
    }
}

.foot__txt
{
    font-size: 15px;
    font-weight: 400;

    letter-spacing: .1em;

    color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .foot__txt
    {
        font-size: .78125vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .foot__txt
    {
        font-size: 2.66667vw;
    }
}

/* ============== .mv ============== */
.mv
{
    position: relative;
    z-index: 0;

    width: 100%;
    height: 1080px;
    max-height: 100vh;
}

@media print, screen and (max-width: 1921px)
{
    .mv
    {
        height: 56.25vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .mv
    {
        overflow: hidden;

        height: 177.86667vw;
    }
}

.mv__photo
{
    position: absolute;
    z-index: -1;
    top: 54px;
    left: 0;

    width: 1684px;
}

@media print, screen and (max-width: 1921px)
{
    .mv__photo
    {
        top: 2.8125vw;

        width: 87.70833vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .mv__photo
    {
        top: 38.13333vw;

        width: 100%;
    }
}

.mv__photo > img
{
    display: block;

    width: 100%;
}

.mv__txtBox
{
    position: absolute;
    top: 232px;
    right: 90px;
}

@media print, screen and (max-width: 1921px)
{
    .mv__txtBox
    {
        top: 12.08333vw;
        right: 4.6875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .mv__txtBox
    {
        top: 10.74219vw;
        right: 3.90625vw;
    }
}

.mv__mainTxt
{
    width: 934.76px;
    margin-bottom: 51px;
}

@media print, screen and (max-width: 1921px)
{
    .mv__mainTxt
    {
        width: 48.68542vw;
        margin-bottom: 2.65625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .mv__mainTxt
    {
        width: 49.80469vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .mv__mainTxt
    {
        position: absolute;
        top: 16.8vw;
        right: 0;
        left: 0;

        width: 93.71067vw;
        margin: 0 auto;
    }
}

.mv__mainTxt > img
{
    display: block;

    width: 100%;
}

.mv__txt
{
    font-size: 26px;
    font-weight: 500;
    line-height: 2.07;

    position: relative;
    z-index: 0;

    width: 887px;

    text-align: left;
    letter-spacing: .1em;

    color: #333;
}

@media print, screen and (max-width: 1921px)
{
    .mv__txt
    {
        font-size: 1.35417vw;

        width: 46.19792vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .mv__txt
    {
        font-size: 1.36719vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .mv__txt
    {
        font-size: 3.73333vw;
        line-height: 2;

        position: absolute;
        right: 0;
        bottom: 16.66667vw;
        left: 0;

        width: 94vw;
        margin: 0 auto;

        letter-spacing: 0;
    }
}

.mv__txt:before
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    width: 800px;
    height: 266px;

    content: '';

    background-image: url(../images/img_mv_txt_bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media print, screen and (max-width: 1921px)
{
    .mv__txt:before
    {
        width: 41.66667vw;
        height: 13.85417vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .mv__txt:before
    {
        top: -4vw;
        left: -6.66667vw;

        width: 106.66667vw;
        height: 46.66667vw;

        background-image: url(../images/img_mv_txt_bg_sp.png);
    }
}

.mv__scroll
{
    position: absolute;
    right: 44px;
    bottom: 50px;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 27.84px;

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

@media print, screen and (max-width: 1921px)
{
    .mv__scroll
    {
        right: 2.29167vw;
        bottom: 2.60417vw;

        width: 1.45vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .mv__scroll
    {
        right: 2.92969vw;
        bottom: 4.88281vw;

        width: 2.44141vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .mv__scroll
    {
        display: none;
    }
}

.mv__scrollTxt
{
    width: 15.49px;
}

@media print, screen and (max-width: 1921px)
{
    .mv__scrollTxt
    {
        width: .80677vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .mv__scrollTxt
    {
        width: 1.07422vw;
    }
}

.mv__scrollTxt > img
{
    display: block;

    width: 100%;
}

.mv__solid
{
    position: relative;

    width: 1px;
    height: 121px;

    background-color: #ca0813;
}

@media print, screen and (max-width: 1921px)
{
    .mv__solid
    {
        height: 6.30208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .mv__solid
    {
        height: 8.20312vw;
    }
}

.mv__solid::before
{
    position: absolute;
    bottom: 0;
    left: -8px;

    width: 16px;
    height: 16px;

    content: '';
    -webkit-animation: circlemove 1.8s ease-in-out infinite,cirlemovehide 1.8s ease-out infinite;
            animation: circlemove 1.8s ease-in-out infinite,cirlemovehide 1.8s ease-out infinite;

    background-image: url(../images/mv_solid_circle.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .mv__solid::before
    {
        left: -.41667vw;

        width: .83333vw;
        height: .83333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .mv__solid::before
    {
        left: -.78125vw;

        width: 1.5625vw;
        height: 1.5625vw;
    }
}

@-webkit-keyframes circlemove
{
    0%
    {
        bottom: 95%;
    }
    100%
    {
        bottom: -1%;
    }
}

@keyframes circlemove
{
    0%
    {
        bottom: 95%;
    }
    100%
    {
        bottom: -1%;
    }
}

@-webkit-keyframes cirlemovehide
{
    0%
    {
        opacity: 0;
    }
    50%
    {
        opacity: 1;
    }
    80%
    {
        opacity: .9;
    }
    100%
    {
        opacity: 0;
    }
}

@keyframes cirlemovehide
{
    0%
    {
        opacity: 0;
    }
    50%
    {
        opacity: 1;
    }
    80%
    {
        opacity: .9;
    }
    100%
    {
        opacity: 0;
    }
}

/* ============== .workSec ============== */
.workSec
{
    width: 100%;
    padding: 115px 0 160px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec
    {
        padding: 5.98958vw 0 8.33333vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec
    {
        padding: 0 0 13.33333vw;
    }
}

.workSec__cont
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    margin-top: 80px;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__cont
    {
        margin-top: 4.16667vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__cont
    {
        margin-top: 10.66667vw;
    }
}

.workSec__item
{
    width: 285px;
    height: 285px;
    margin-bottom: 18px;

    border-radius: 20px;
    -webkit-box-shadow: 6px 6px 0 rgba(161, 35, 13, .4);
            box-shadow: 6px 6px 0 rgba(161, 35, 13, .4);
}

@media print, screen and (max-width: 1921px)
{
    .workSec__item
    {
        width: 14.84375vw;
        height: 14.84375vw;
        margin-bottom: .9375vw;

        border-radius: 1.04167vw;
        -webkit-box-shadow: .3125vw .3125vw 0 rgba(161, 35, 13, .4);
                box-shadow: .3125vw .3125vw 0 rgba(161, 35, 13, .4);
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__item
    {
        width: 16.60156vw;
        height: 16.60156vw;
        margin-bottom: 1.46484vw;

        border-radius: 1.95312vw;
        -webkit-box-shadow: .39062vw .39062vw 0 rgba(161, 35, 13, .4);
                box-shadow: .39062vw .39062vw 0 rgba(161, 35, 13, .4);
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__item
    {
        width: 44vw;
        height: 44vw;
        margin-bottom: 4vw;

        -webkit-box-shadow: 1.06667vw 1.06667vw 0 rgba(161, 35, 13, .4);
                box-shadow: 1.06667vw 1.06667vw 0 rgba(161, 35, 13, .4);
    }
}

.workSec__item:nth-child(1)
{
    background-color: #ca0813;
}

.workSec__item:nth-child(2)
{
    background-color: #dd5841;
}

.workSec__item:nth-child(3)
{
    background-color: #ca0813;
}

@media print, screen and (max-width: 760px)
{
    .workSec__item:nth-child(3)
    {
        background-color: #dd5841;
    }
}

.workSec__item:nth-child(4)
{
    background-color: #dd5841;
}

@media print, screen and (max-width: 760px)
{
    .workSec__item:nth-child(4)
    {
        background-color: #ca0813;
    }
}

.workSec__item:nth-child(5)
{
    background-color: #dd5841;
}

@media print, screen and (max-width: 760px)
{
    .workSec__item:nth-child(5)
    {
        background-color: #ca0813;
    }
}

.workSec__item:nth-child(6)
{
    background-color: #ca0813;
}

@media print, screen and (max-width: 760px)
{
    .workSec__item:nth-child(6)
    {
        background-color: #dd5841;
    }
}

.workSec__item:nth-child(7)
{
    background-color: #dd5841;
}

.workSec__item:nth-child(8)
{
    background-color: #ca0813;
}

.workSec__item:nth-child(9)
{
    background-color: #ca0813;
}

.workSec__item:nth-child(10)
{
    background-color: #dd5841;
}

.workSec__item:nth-child(11)
{
    background-color: #ca0813;
}

@media print, screen and (max-width: 760px)
{
    .workSec__item:nth-child(11)
    {
        background-color: #dd5841;
    }
}

.workSec__ttl
{
    font-size: 28px;
    font-weight: 700;
    line-height: 1.35;

    margin-top: 48px;

    letter-spacing: 0;

    color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__ttl
    {
        font-size: 1.45833vw;

        margin-top: 2.5vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__ttl
    {
        font-size: 1.5625vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__ttl
    {
        font-size: 4vw;

        margin-top: 8vw;
    }
}

.workSec__ttl--02
{
    margin-top: 29px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__ttl--02
    {
        margin-top: 1.51042vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__ttl--02
    {
        margin-top: 5.46667vw;
    }
}

.workSec__icon
{
    margin: 0 auto;
}

.workSec__icon > img
{
    display: block;

    width: 100%;
}

.workSec__icon--01
{
    width: 140.82px;
    margin-top: 46px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__icon--01
    {
        width: 7.33437vw;
        margin-top: 2.39583vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__icon--01
    {
        width: 8.20312vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__icon--01
    {
        width: 18.776vw;
        margin-top: 6.13333vw;
    }
}

.workSec__icon--02
{
    width: 132.48px;
    margin-top: 37.5px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__icon--02
    {
        width: 6.9vw;
        margin-top: 1.95312vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__icon--02
    {
        width: 7.71484vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__icon--02
    {
        width: 17.664vw;
        margin-top: 5vw;
    }
}

.workSec__icon--03
{
    width: 119.01px;
    margin-top: 49px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__icon--03
    {
        width: 6.19844vw;
        margin-top: 2.55208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__icon--03
    {
        width: 6.93359vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__icon--03
    {
        width: 15.868vw;
        margin-top: 6.53333vw;
    }
}

.workSec__icon--04
{
    width: 148.14px;
    margin-top: 29px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__icon--04
    {
        width: 7.71562vw;
        margin-top: 1.51042vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__icon--04
    {
        width: 19.752vw;
        margin-top: 3.86667vw;
    }
}

.workSec__icon--05
{
    width: 163.17px;
    margin-top: 43px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__icon--05
    {
        width: 8.49844vw;
        margin-top: 2.23958vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__icon--05
    {
        width: 9.57031vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__icon--05
    {
        width: 21.756vw;
        margin-top: 5.73333vw;
    }
}

.workSec__icon--06
{
    width: 121.27px;
    margin-top: 27px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__icon--06
    {
        width: 6.31615vw;
        margin-top: 1.40625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__icon--06
    {
        width: 7.03125vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__icon--06
    {
        width: 16.16933vw;
        margin-top: 5.33333vw;
    }
}

.workSec__icon--07
{
    width: 109.09px;
    margin-top: 28px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__icon--07
    {
        width: 5.68177vw;
        margin-top: 1.45833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__icon--07
    {
        width: 6.34766vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__icon--07
    {
        width: 14.54533vw;
        margin-top: 5.33333vw;
    }
}

.workSec__icon--08
{
    width: 137.61px;
    margin-top: 23px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__icon--08
    {
        width: 7.16719vw;
        margin-top: 1.19792vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__icon--08
    {
        width: 8.00781vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__icon--08
    {
        width: 18.348vw;
        margin-top: 5.33333vw;
    }
}

.workSec__icon--09
{
    width: 77.04px;
    margin-top: 11.5px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__icon--09
    {
        width: 4.0125vw;
        margin-top: .59896vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__icon--09
    {
        width: 4.49219vw;
        margin-top: 1.12305vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__icon--09
    {
        width: 10.272vw;
        margin-top: 4vw;
    }
}

.workSec__icon--10
{
    width: 157.13px;
    margin-top: 43.5px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__icon--10
    {
        width: 8.18385vw;
        margin-top: 2.26562vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__icon--10
    {
        width: 9.17969vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__icon--10
    {
        width: 20.95067vw;
        margin-top: 5.8vw;
    }
}

.workSec__icon--11
{
    width: 94.66px;
    margin-top: 19.5px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__icon--11
    {
        width: 4.93021vw;
        margin-top: 1.01562vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__icon--11
    {
        width: 5.46875vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__icon--11
    {
        width: 12.62133vw;
        margin-top: 4vw;
    }
}

.workSec__icon--12
{
    width: 193.33px;
    margin-top: 25px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__icon--12
    {
        width: 10.06927vw;
        margin-top: 1.30208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__icon--12
    {
        width: 11.32812vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__icon--12
    {
        width: 29.33333vw;
        margin-top: 3.33333vw;
    }
}

.workSec__iconBox
{
    width: 285px;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__iconBox
    {
        width: 14.84375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__iconBox
    {
        width: 16.60156vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__iconBox
    {
        width: 44vw;
    }
}

.workSec__redTxt
{
    font-size: 22px;
    font-weight: 700;
    line-height: 1.45;

    margin-top: 14px;

    letter-spacing: 0;

    color: #ca0813;
}

@media print, screen and (max-width: 1921px)
{
    .workSec__redTxt
    {
        font-size: 1.14583vw;

        margin-top: .72917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .workSec__redTxt
    {
        font-size: 1.36719vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .workSec__redTxt
    {
        font-size: 3.73333vw;

        margin-top: 1.86667vw;
    }
}

/* ============== .c-ttlSec ============== */
.c-ttlSec--work .c-ttlSec__en
{
    width: 68.19px;
}

@media print, screen and (max-width: 1921px)
{
    .c-ttlSec--work .c-ttlSec__en
    {
        width: 3.55156vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-ttlSec--work .c-ttlSec__en
    {
        width: 4.15039vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-ttlSec--work .c-ttlSec__en
    {
        width: 9.092vw;
    }
}

.c-ttlSec--work .c-ttlSec__ja
{
    color: #333;
}

.c-ttlSec--work .c-ttlSec__ja > span
{
    color: #ca0813;
}

.c-ttlSec--strengths .c-ttlSec__en
{
    width: 125.57px;
}

@media print, screen and (max-width: 1921px)
{
    .c-ttlSec--strengths .c-ttlSec__en
    {
        width: 6.5401vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-ttlSec--strengths .c-ttlSec__en
    {
        width: 7.66602vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-ttlSec--strengths .c-ttlSec__en
    {
        width: 16.74267vw;
    }
}

.c-ttlSec--strengths .c-ttlSec__ja
{
    color: white;
}

.c-ttlSec--voice .c-ttlSec__en
{
    width: 67.09px;
}

@media print, screen and (max-width: 1921px)
{
    .c-ttlSec--voice .c-ttlSec__en
    {
        width: 3.49427vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-ttlSec--voice .c-ttlSec__en
    {
        width: 4.10156vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-ttlSec--voice .c-ttlSec__en
    {
        width: 8.94533vw;
    }
}

.c-ttlSec--voice .c-ttlSec__ja
{
    color: #333;
}

.c-ttlSec--voice .c-ttlSec__ja > span
{
    color: #ca0813;
}

.c-ttlSec--flow .c-ttlSec__en
{
    width: 59.78px;
}

@media print, screen and (max-width: 1921px)
{
    .c-ttlSec--flow .c-ttlSec__en
    {
        width: 3.11354vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-ttlSec--flow .c-ttlSec__en
    {
        width: 3.61328vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-ttlSec--flow .c-ttlSec__en
    {
        width: 7.97067vw;
    }
}

.c-ttlSec--flow .c-ttlSec__ja
{
    color: #333;
}

.c-ttlSec--flow .c-ttlSec__ja > span
{
    color: #ca0813;
}

.c-ttlSec__en
{
    margin: 0 auto;
}

.c-ttlSec__en > img
{
    display: block;

    width: 100%;
}

.c-ttlSec__ja
{
    font-size: 40px;
    font-weight: 700;

    margin-top: 25px;

    letter-spacing: .08em;
}

@media print, screen and (max-width: 1921px)
{
    .c-ttlSec__ja
    {
        font-size: 2.08333vw;

        margin-top: 1.30208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-ttlSec__ja
    {
        font-size: 2.44141vw;

        margin-top: 1.52588vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-ttlSec__ja
    {
        font-size: 5.33333vw;
        line-height: 1.3;

        margin-top: 3.33333vw;
    }
}

/* ============== .strengthsSec ============== */
.strengthsSec
{
    position: relative;
    z-index: 0;

    overflow: hidden;

    width: 100%;
    padding: 105px 0 100px;

    background-color: rgba(221, 88, 64, .72);
}

@media print, screen and (max-width: 1921px)
{
    .strengthsSec
    {
        padding: 5.46875vw 0 5.20833vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .strengthsSec
    {
        padding: 13.33333vw 0;
    }
}

.strengthsSec::before
{
    position: absolute;
    top: 8px;
    left: 15px;

    width: 141.69px;
    height: 1101.82px;

    content: '';

    background-image: url(../images/img_strengths_txt.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .strengthsSec::before
    {
        top: .41667vw;
        left: .78125vw;

        width: 7.37969vw;
        height: 57.38646vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .strengthsSec::before
    {
        width: 8.00781vw;
        height: 62.5vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .strengthsSec::before
    {
        display: none;
    }
}

.strengthsSec__cont
{
    width: 100%;
    margin-top: 80px;
}

@media print, screen and (max-width: 1921px)
{
    .strengthsSec__cont
    {
        margin-top: 4.16667vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .strengthsSec__cont
    {
        margin-top: 10.66667vw;
    }
}

.strengthsSec__item
{
    position: relative;
    z-index: 0;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 230px;
    margin-bottom: 28px;
    padding: 0 79px 0 25px;

    border-radius: 20px;
    background-color: white;

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

@media print, screen and (max-width: 1921px)
{
    .strengthsSec__item
    {
        height: 11.97917vw;
        margin-bottom: 1.45833vw;
        padding: 0 4.11458vw 0 1.30208vw;

        border-radius: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .strengthsSec__item
    {
        height: 13.47656vw;
        padding: 0 2.92969vw 0 1.95312vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .strengthsSec__item
    {
            flex-direction: column;

        height: auto;
        margin-bottom: 3.73333vw;
        padding: 4vw 6.66667vw;

        border-radius: 2.66667vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

.strengthsSec__item:last-child
{
    margin-bottom: 0;
}

@media print, screen and (max-width: 760px)
{
    .strengthsSec__item:nth-child(2) .strengthsSec__ttl > span:before
    {
        display: none;
    }
}

.strengthsSec__item::before
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background-image: url(../images/img_strengths_bg.svg);
    background-repeat: repeat-y;
    background-position: center;
    background-size: cover;
}

.strengthsSec__num
{
    width: 128px;
}

@media print, screen and (max-width: 1921px)
{
    .strengthsSec__num
    {
        width: 6.66667vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .strengthsSec__num
    {
        width: 17.06667vw;
        margin: 0 auto 4vw 0;
    }
}

.strengthsSec__num > img
{
    display: block;

    width: 100%;
}

.strengthsSec__txtBox
{
    width: 879px;

    text-align: left;
}

@media print, screen and (max-width: 1921px)
{
    .strengthsSec__txtBox
    {
        width: 45.78125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .strengthsSec__txtBox
    {
        width: 56.64062vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .strengthsSec__txtBox
    {
        width: 100%;
    }
}

.strengthsSec__ttl
{
    font-size: 34px;
    font-weight: 700;

    margin-bottom: 35px;

    letter-spacing: .08em;

    color: #ca0613;
}

@media print, screen and (max-width: 1921px)
{
    .strengthsSec__ttl
    {
        font-size: 1.77083vw;

        margin-bottom: 1.82292vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .strengthsSec__ttl
    {
        font-size: 2.24609vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .strengthsSec__ttl
    {
        font-size: 4.53333vw;
        line-height: 1.3;

        margin-bottom: 4.66667vw;
    }
}

.strengthsSec__ttl > span
{
    position: relative;
    z-index: 0;
}

.strengthsSec__ttl > span::before
{
    position: absolute;
    z-index: -1;
    bottom: -3px;
    left: 0;

    width: 100%;
    height: 16px;

    content: '';

    background-color: #fdde2c;
}

@media print, screen and (max-width: 1921px)
{
    .strengthsSec__ttl > span::before
    {
        bottom: -.15625vw;

        height: .83333vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .strengthsSec__ttl > span::before
    {
        bottom: -.4vw;

        height: 2.13333vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .strengthsSec__spSolid
    {
        position: relative;
    }
    .strengthsSec__spSolid::before
    {
        position: absolute;
        z-index: -1;
        bottom: -.4vw;
        left: 0;

        width: 100%;
        height: 2.13333vw;

        content: '';

        background-color: #fdde2c;
    }
}

.strengthsSec__sTtl
{
    font-size: 28px;
    font-weight: 700;

    letter-spacing: .08em;

    color: #ca0613;
}

@media print, screen and (max-width: 1921px)
{
    .strengthsSec__sTtl
    {
        font-size: 1.45833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .strengthsSec__sTtl
    {
        font-size: 1.85547vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .strengthsSec__sTtl
    {
        font-size: 3.73333vw;
    }
}

.strengthsSec__txt
{
    font-size: 20px;
    font-weight: 500;
    line-height: 1.65;

    letter-spacing: 0;

    color: #333;
}

@media print, screen and (max-width: 1921px)
{
    .strengthsSec__txt
    {
        font-size: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .strengthsSec__txt
    {
        font-size: 1.36719vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .strengthsSec__txt
    {
        font-size: 3.73333vw;
    }
}

.strengthsSec__circle
{
    position: absolute;
    z-index: -1;
    bottom: 10px;
    left: -300px;

    width: 900px;
}

@media print, screen and (max-width: 1921px)
{
    .strengthsSec__circle
    {
        bottom: .52083vw;
        left: -15.625vw;

        width: 46.875vw;
    }
}

.strengthsSec__circle > img
{
    display: block;

    width: 100%;
}

.strengthsSec__circle02
{
    position: absolute;
    z-index: -1;
    top: -400px;
    right: -400px;

    width: 1300px;
}

@media print, screen and (max-width: 1921px)
{
    .strengthsSec__circle02
    {
        top: -20.83333vw;
        right: -20.83333vw;

        width: 67.70833vw;
    }
}

.strengthsSec__circle02 > img
{
    display: block;

    width: 100%;
}

/* ============== .c-linkSec ============== */
.c-linkSec
{
    position: relative;
    z-index: 0;

    width: 100%;
    padding: 44px 0;

    background: -webkit-gradient(linear, left top, right top, from(#dd5840), to(#ca0613));
    background: linear-gradient(to right, #dd5840 0%, #ca0613 100%);
}

@media print, screen and (max-width: 1921px)
{
    .c-linkSec
    {
        padding: 2.29167vw 0;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-linkSec
    {
        padding: 5.86667vw 0;
    }
}

.c-linkSec::before
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background-image: url(../images/img_link_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.c-linkSec__lead
{
    font-size: 24px;
    font-weight: 500;
    line-height: 2;

    margin-bottom: 38px;

    letter-spacing: .08em;

    color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .c-linkSec__lead
    {
        font-size: 1.25vw;

        margin-bottom: 1.97917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-linkSec__lead
    {
        font-size: 1.36719vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-linkSec__lead
    {
        font-size: 3.73333vw;

        margin-bottom: 5.06667vw;
    }
}

.c-linkSec__txt
{
    font-size: 28px;
    font-weight: 500;

    margin-bottom: 26.5px;

    letter-spacing: .08em;

    color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .c-linkSec__txt
    {
        font-size: 1.45833vw;

        margin-bottom: 1.38021vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-linkSec__txt
    {
        font-size: 1.5625vw;

        margin-bottom: 1.46484vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-linkSec__txt
    {
        font-size: 4vw;

        margin-bottom: 4.66667vw;
    }
}

.c-linkSec__txt > span
{
    position: relative;
}

.c-linkSec__txt > span::before
{
    position: absolute;
    bottom: -5px;
    left: -20px;

    width: 2px;
    height: 30px;

    content: '';
    -webkit-transform: rotate(-35deg);
            transform: rotate(-35deg);

    background-color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .c-linkSec__txt > span::before
    {
        bottom: -.26042vw;
        left: -1.04167vw;

        width: .10417vw;
        height: 1.5625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-linkSec__txt > span::before
    {
        width: .19531vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-linkSec__txt > span::before
    {
        bottom: -.66667vw;
        left: -2.66667vw;

        width: .26667vw;
        height: 4vw;
    }
}

.c-linkSec__txt > span::after
{
    position: absolute;
    right: -20px;
    bottom: -5px;

    width: 2px;
    height: 30px;

    content: '';
    -webkit-transform: rotate(35deg);
            transform: rotate(35deg);

    background-color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .c-linkSec__txt > span::after
    {
        right: -1.04167vw;
        bottom: -.26042vw;

        width: .10417vw;
        height: 1.5625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-linkSec__txt > span::after
    {
        width: .19531vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-linkSec__txt > span::after
    {
        right: -2.66667vw;
        bottom: -.66667vw;

        width: .26667vw;
        height: 4vw;
    }
}

/* ============== .c-btn ============== */
.c-btn
{
    position: relative;
    z-index: 0;

    display: block;

    width: 536px;
    height: 92px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1921px)
{
    .c-btn
    {
        width: 27.91667vw;
        height: 4.79167vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-btn
    {
        width: 64.66667vw;
        height: 11.6vw;
    }
}

.c-btn--01 .c-btn__link
{
    color: #d02122;
    background-color: white;
}

.c-btn--01 .c-btn__link::before
{
    background-image: url(../images/img_link_arrow_red.svg);
}

.c-btn--01 .c-btn__bgLink
{
    border: 1px solid #fff;
}

.c-btn--02 .c-btn__link
{
    color: white;
    background-color: #d02122;
}

.c-btn--02 .c-btn__link::before
{
    background-image: url(../images/img_link_arrow_white.svg);
}

.c-btn--02 .c-btn__bgLink
{
    border: 1px solid #d02122;
}

.c-btn--03 .c-btn__link
{
    font-size: 25px;

    color: #ca4208;
    background-color: white;
}

@media print, screen and (max-width: 1921px)
{
    .c-btn--03 .c-btn__link
    {
        font-size: 1.30208vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-btn--03 .c-btn__link
    {
        font-size: 3.33333vw;
    }
}

.c-btn--03 .c-btn__link::before
{
    background-image: url(../images/img_link_arrow_orange.svg);
}

.c-btn--03 .c-btn__bgLink
{
    border: 1px solid #fff;
}

.c-btn__link
{
    font-size: 28px;
    font-weight: 500;

    position: relative;

    width: 528px;
    padding: 28px 0;

    -webkit-transition: .3s;
            transition: .3s;
    letter-spacing: .08em;

    border-radius: 10px;
}

@media print, screen and (max-width: 1921px)
{
    .c-btn__link
    {
        font-size: 1.45833vw;

        width: 27.5vw;
        padding: 1.45833vw 0;

        border-radius: .52083vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-btn__link
    {
        font-size: 3.73333vw;

        width: 63.73333vw;
        padding: 3.46667vw 0;

        border-radius: 1.33333vw;
    }
}

.c-btn__link::before
{
    position: absolute;
    top: 0;
    right: 33px;
    bottom: 0;

    width: 8.64px;
    height: 14px;
    margin: auto 0;

    content: '';

    background-repeat: no-repeat;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .c-btn__link::before
    {
        right: 1.71875vw;

        width: .45vw;
        height: .72917vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-btn__link::before
    {
        right: 2vw;

        width: 1.152vw;
        height: 1.86667vw;
    }
}

.c-btn__link:hover
{
    -webkit-transition: .3s;
            transition: .3s;
    -webkit-transform: translate(8px, 8px);
            transform: translate(8px, 8px);
}

@media print, screen and (max-width: 1921px)
{
    .c-btn__link:hover
    {
        -webkit-transform: translate(.41667vw, .41667vw);
                transform: translate(.41667vw, .41667vw);
    }
}

@media print, screen and (max-width: 760px)
{
    .c-btn__link:hover
    {
        -webkit-transform: translate(0, 0);
                transform: translate(0, 0);
    }
}

.c-btn__bgLink
{
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: 0;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 528px;
    height: 84px;

    border-radius: 10px;
}

@media print, screen and (max-width: 1921px)
{
    .c-btn__bgLink
    {
        width: 27.5vw;
        height: 4.375vw;

        border-radius: .52083vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .c-btn__bgLink
    {
        width: 63.73333vw;
        height: 10.66667vw;

        border-radius: 1.33333vw;
    }
}

/* ============== .voiceSec ============== */
.voiceSec
{
    width: 100%;
    padding: 105px 0 100px;

    background-color: #f7f7f7;
}

@media print, screen and (max-width: 1921px)
{
    .voiceSec
    {
        padding: 5.46875vw 0 5.20833vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .voiceSec
    {
        padding: 13.33333vw 0;
    }
}

.voiceSec__cont
{
    width: 100%;
    margin-top: 80px;
}

@media print, screen and (max-width: 1921px)
{
    .voiceSec__cont
    {
        margin-top: 4.16667vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .voiceSec__cont
    {
        margin-top: 10.66667vw;
    }
}

.voiceSec__item
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 1025px;
    margin-bottom: 57px;

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

@media print, screen and (max-width: 1921px)
{
    .voiceSec__item
    {
        width: 53.38542vw;
        margin-bottom: 2.96875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .voiceSec__item
    {
        width: 60.54688vw;
        margin-bottom: 4.39453vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .voiceSec__item
    {
        width: 100%;
        margin-bottom: 7.6vw;
    }
}

.voiceSec__item:nth-child(2)
{
    margin: 0 0 57px auto;
}

@media print, screen and (max-width: 1921px)
{
    .voiceSec__item:nth-child(2)
    {
        margin: 0 0 2.96875vw auto;
    }
}

@media print, screen and (max-width: 1025px)
{
    .voiceSec__item:nth-child(2)
    {
        margin: 0 0 4.39453vw auto;
    }
}

@media print, screen and (max-width: 760px)
{
    .voiceSec__item:nth-child(2)
    {
        margin: 0 0 7.6vw auto;
    }
}

.voiceSec__item:nth-child(2) .voiceSec__txtBox::before
{
    right: -28.5px;
    left: auto;

    width: 29px;
    height: 36px;

    background-image: url(../images/img_voice_arrow02.svg);
}

@media print, screen and (max-width: 1921px)
{
    .voiceSec__item:nth-child(2) .voiceSec__txtBox::before
    {
        right: -1.48438vw;

        width: 1.51042vw;
        height: 1.875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .voiceSec__item:nth-child(2) .voiceSec__txtBox::before
    {
        right: -1.95312vw;

        width: 1.95312vw;
        height: 2.44141vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .voiceSec__item:nth-child(2) .voiceSec__txtBox::before
    {
        right: -3.8vw;

        width: 3.86667vw;
        height: 4.8vw;

        background-image: url(../images/img_voice_arrow02_sp.png);
    }
}

.voiceSec__item:nth-child(2) .voiceSec__txtBox:after
{
    top: -26px;
    right: auto;
    left: 27px;

    background-image: url(../images/img_voice_icon02.svg);
}

@media print, screen and (max-width: 1921px)
{
    .voiceSec__item:nth-child(2) .voiceSec__txtBox:after
    {
        top: -1.35417vw;
        left: 1.40625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .voiceSec__item:nth-child(2) .voiceSec__txtBox:after
    {
        top: -1.75781vw;
        left: 1.95312vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .voiceSec__item:nth-child(2) .voiceSec__txtBox:after
    {
        top: -3.46667vw;
        left: 3.6vw;
    }
}

.voiceSec__item:last-child
{
    margin-bottom: 0;
}

.voiceSec__photo
{
    width: 156px;
}

@media print, screen and (max-width: 1921px)
{
    .voiceSec__photo
    {
        width: 8.125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .voiceSec__photo
    {
        width: 8.78906vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .voiceSec__photo
    {
        width: 20.8vw;
    }
}

.voiceSec__photo > img
{
    display: block;

    width: 100%;
}

.voiceSec__txtBox
{
    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 820px;
    padding: 30px 38px 34px;

    border: 2px solid #ca0613;
    border-radius: 20px;
    background-color: white;
    -webkit-box-shadow: 4px 5px 0 #ca0613;
            box-shadow: 4px 5px 0 #ca0613;
}

@media print, screen and (max-width: 1921px)
{
    .voiceSec__txtBox
    {
        width: 42.70833vw;
        padding: 1.5625vw 1.97917vw 1.77083vw;

        border-radius: 1.04167vw;
        -webkit-box-shadow: .20833vw .26042vw 0 #ca0613;
                box-shadow: .20833vw .26042vw 0 #ca0613;
    }
}

@media print, screen and (max-width: 1025px)
{
    .voiceSec__txtBox
    {
        width: 48.82812vw;
        padding: 1.95312vw 2.44141vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .voiceSec__txtBox
    {
        width: 66.66667vw;
        padding: 4vw 3.33333vw;

        border-radius: 2.66667vw;
        -webkit-box-shadow: .53333vw .66667vw 0 #ca0613;
                box-shadow: .53333vw .66667vw 0 #ca0613;
    }
}

.voiceSec__txtBox::before
{
    position: absolute;
    top: 68px;
    left: -24.5px;

    width: 25px;
    height: 33px;

    content: '';

    background-image: url(../images/img_voice_arrow01.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .voiceSec__txtBox::before
    {
        top: 3.54167vw;
        left: -1.27604vw;

        width: 1.30208vw;
        height: 1.71875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .voiceSec__txtBox::before
    {
        top: 3.41797vw;
        left: -1.66016vw;

        width: 1.70898vw;
        height: 2.24609vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .voiceSec__txtBox::before
    {
        top: 9.06667vw;
        left: -3.33333vw;

        width: 3.6vw;
        height: 4.66667vw;

        background-image: url(../images/img_voice_arrow01_sp.png);
    }
}

.voiceSec__txtBox:after
{
    position: absolute;
    top: -11px;
    right: 27px;

    width: 56.42px;
    height: 47.71px;

    content: '';

    background-image: url(../images/img_voice_icon01.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .voiceSec__txtBox:after
    {
        top: -.57292vw;
        right: 1.40625vw;

        width: 2.93854vw;
        height: 2.4849vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .voiceSec__txtBox:after
    {
        top: -.87891vw;
        right: 1.95312vw;

        width: 3.80859vw;
        height: 3.22266vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .voiceSec__txtBox:after
    {
        top: -1.46667vw;
        right: 3.6vw;

        width: 7.52267vw;
        height: 6.36133vw;
    }
}

.voiceSec__ttl
{
    font-size: 28px;
    font-weight: 700;

    margin-bottom: 29px;

    text-align: left;
    letter-spacing: .08em;

    color: #ca0613;
}

@media print, screen and (max-width: 1921px)
{
    .voiceSec__ttl
    {
        font-size: 1.45833vw;

        margin-bottom: 1.51042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .voiceSec__ttl
    {
        font-size: 1.85547vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .voiceSec__ttl
    {
        font-size: 4vw;
        line-height: 1.3;
    }
}

.voiceSec__txt
{
    font-size: 20px;
    font-weight: 500;
    line-height: 1.65;

    text-align: left;
    letter-spacing: 0;

    color: #333;
}

@media print, screen and (max-width: 1921px)
{
    .voiceSec__txt
    {
        font-size: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .voiceSec__txt
    {
        font-size: 1.36719vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .voiceSec__txt
    {
        font-size: 3.73333vw;
    }
}

/* ============== .flowSec ============== */
.flowSec
{
    position: relative;

    width: 100%;
    padding: 105px 0 100px;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec
    {
        padding: 5.46875vw 0 5.20833vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .flowSec
    {
        padding: 13.33333vw 0;
    }
}

.flowSec::before
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background-image: url(../images/img_flow_bg_solid.svg);
    background-repeat: repeat-y;
    background-position: center;
    background-size: cover;
}

@media print, screen and (max-width: 760px)
{
    .flowSec::before
    {
        background-image: url(../images/img_flow_bg_solid_sp.svg);
        background-size: contain;
    }
}

.flowSec__inner
{
    width: 1600px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__inner
    {
        width: 83.33333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__inner
    {
        width: 94.14062vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .flowSec__inner
    {
        width: 92vw;
    }
}

.flowSec__cont
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    margin-top: 71.5px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__cont
    {
        margin-top: 3.72396vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .flowSec__cont
    {
            flex-direction: column;

        margin-top: 9.53333vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

.flowSec__item
{
    position: relative;
    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 516px;
    height: 217px;
    margin-bottom: 17px;
    padding-top: 1.45833vw;
    padding-left: 1.45833vw;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__item
    {
        width: 26.875vw;
        height: 11.30208vw;
        margin-bottom: .88542vw;
        padding-top: 1.45833vw;
        padding-left: 1.45833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__item
    {
        width: 30.27344vw;
        height: 14.84375vw;
        margin-bottom: 1.46484vw;
        padding-top: 3.22266vw;
        padding-left: 1.75781vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .flowSec__item
    {
        width: 100%;
        height: 42.66667vw;
        padding-top: 8vw;
        padding-left: 8vw;
    }
}

.flowSec__item::before
{
    position: absolute;
    right: -44px;
    bottom: 57px;

    width: 33px;
    height: 47px;

    content: '';

    background-image: url(../images/img_flow_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__item::before
    {
        right: -2.29167vw;
        bottom: 2.96875vw;

        width: 1.71875vw;
        height: 2.44792vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__item::before
    {
        right: -2.92969vw;
        bottom: 3.61328vw;

        width: 2.24609vw;
        height: 3.125vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .flowSec__item::before
    {
        right: -5.86667vw;
        right: 0;
        bottom: 7.6vw;
        bottom: -7.33333vw;
        left: 0;

        width: 4.4vw;
        height: 6.26667vw;
        margin: 0 auto;

        -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
    }
}

.flowSec__item:nth-child(3)::before
{
    display: none;
}

@media print, screen and (max-width: 760px)
{
    .flowSec__item:nth-child(3)::before
    {
        display: block;
    }
}

.flowSec__item:last-child::before
{
    display: none;
}

.flowSec__step
{
    position: absolute;
    top: 0;
    left: 0;

    width: 88px;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__step
    {
        width: 4.58333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__step
    {
        width: 5.95703vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .flowSec__step
    {
        width: 16vw;
    }
}

.flowSec__step > img
{
    display: block;

    width: 100%;
}

.flowSec__box
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 480px;
    height: 182px;
    padding: 0 8px 8px 8px;

    border: 2px solid #ca0613;
    border-radius: 20px;
    background: #ca0613;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__box
    {
        width: 25vw;
        height: 9.47917vw;
        padding: 0 .41667vw .41667vw .41667vw;

        border: .10417vw solid #ca0613;
        border-radius: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__box
    {
        width: 28.125vw;
        height: 11.23047vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .flowSec__box
    {
        width: 82.8vw;
        height: auto;
        min-height: 33.59333vw;
        padding: 0 1.33333vw 1.33333vw 1.33333vw;

        border-radius: 2.66667vw;
    }
}

.flowSec__ttl
{
    font-size: 26px;
    font-weight: 700;

    margin: 22px 0;

    letter-spacing: .08em;

    color: #fff;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__ttl
    {
        font-size: 1.35417vw;

        margin: 1.14583vw 0;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__ttl
    {
        font-size: 1.5625vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .flowSec__ttl
    {
        font-size: 4vw;

        margin: 2.93333vw 0;
    }
}

.flowSec__txt
{
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 100px;
    padding: 0 10px;

    text-align: left;
    letter-spacing: 0;

    color: #333;
    border-radius: 12px;
    background-color: white;

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

@media print, screen and (max-width: 1921px)
{
    .flowSec__txt
    {
        font-size: 1.04167vw;

        height: 5.20833vw;
        padding: 0 .52083vw;

        border-radius: .625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__txt
    {
        font-size: 1.36719vw;

        height: 6.83594vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .flowSec__txt
    {
        font-size: 3.73333vw;

        height: auto;
        min-height: 22.13333vw;
        padding: 2.66667vw 1.33333vw;

        border-radius: 1.6vw;
    }
}

.flowSec__bgBox
{
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: 0;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 480px;
    height: 182px;

    border: 2px solid #ca0613;
    border-radius: 20px;
    background-color: white;
}

@media print, screen and (max-width: 1921px)
{
    .flowSec__bgBox
    {
        width: 25vw;
        height: 9.47917vw;

        border: .10417vw solid #ca0613;
        border-radius: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .flowSec__bgBox
    {
        width: 28.125vw;
        height: 11.23047vw;
    }
}

@media print, screen and (max-width: 760px)
{
    .flowSec__bgBox
    {
        width: 82.8vw;
        height: 33.59333vw;

        border: .26667vw solid #ca0613;
        border-radius: 2.66667vw;
    }
}

/* ============== .searchLink ============== */
.searchLink
{
    width: 100%;
    padding: 80px 0;
}

@media print, screen and (max-width: 1921px)
{
    .searchLink
    {
        padding: 4.16667vw 0;
    }
}

.searchLink--02
{
    background-color: #ca4207;
}
