a
{
    text-decoration: none;

    color: #070707;
}

.sp
{
    display: none !important;
}

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

.pc
{
    display: block;
}

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

.spi
{
    display: none;
}

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

.pdi
{
    display: none;
}

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

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

.pci
{
    display: inline;
}

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

/* ============== .comMesSec ============== */
.comMesSec
{
    max-width: 1920px;
    margin: 0 auto;
    padding-top: 140px;
}

@media print, screen and (max-width: 1920px)
{
    .comMesSec
    {
        margin: 0;
        padding-top: 7.29167vw;
    }
}

.comMesSec__inner
{
    width: 1796px;
    margin-left: auto;
}

@media print, screen and (max-width: 1920px)
{
    .comMesSec__inner
    {
        width: 93.54167vw;
    }
}

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

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

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

@media print, screen and (max-width: 1025px)
{
    .comMesSec__cont
    {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

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

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

.comMesSec__l
{
    width: 704px;
    margin-top: 32px;
}

@media print, screen and (max-width: 1920px)
{
    .comMesSec__l
    {
        width: 36.66667vw;
        margin-top: 1.66667vw;
    }
}

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

@media print, screen and (max-width: 430px)
{
    .comMesSec__l
    {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
        padding: 0 5.33333vw;
    }
}

.comMesSec__r
{
    width: 988px;
}

@media print, screen and (max-width: 1920px)
{
    .comMesSec__r
    {
        width: 51.45833vw;
    }
}

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

@media print, screen and (max-width: 430px)
{
    .comMesSec__r
    {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
        margin-top: 5.33333vw;
        padding-left: 5.33333vw;
    }
}

.comMesSec__r img
{
    display: block;

    width: 100%;
}

.comMesSec__txt
{
    font-family: 'Zen Old Mincho', serif;
    font-weight: 600;
    line-height: 2.3;

    position: relative;
    z-index: 1;

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

/* ============== .comPointSec ============== */
.comPointSec
{
    padding-top: 150px;
    padding-bottom: 200px;
}

@media print, screen and (max-width: 1920px)
{
    .comPointSec
    {
        padding-top: 7.8125vw;
        padding-bottom: 10.41667vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comPointSec
    {
        padding-top: 20vw;
        padding-bottom: 20vw;
    }
}

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

    margin-top: 50px;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 72px 84px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

@media print, screen and (max-width: 1920px)
{
    .comPointSec__cont
    {
        margin-top: 2.60417vw;

        gap: 3.75vw 4.375vw;
    }
}

.comPointSec__item
{
    position: relative;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 663px;
    min-height: 319px;
    padding: 40px 60px 40px 21px;

    background: rgba(255, 255, 255, .8);
}

@media print, screen and (max-width: 1920px)
{
    .comPointSec__item
    {
        width: 34.53125vw;
        min-height: 16.61458vw;
        padding: 2.08333vw 3.125vw 2.08333vw 1.09375vw;
    }
}

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

@media print, screen and (max-width: 430px)
{
    .comPointSec__item
    {
        width: 100%;
        min-height: auto;
        padding: 5.33333vw 2.66667vw 5.33333vw 2.66667vw;
    }
}

.comPointSec__item::before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';

    background-image: url(../images/img_com_point_border.svg);
    background-repeat: repeat-x;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1920px)
{
    .comPointSec__item::before
    {
        height: .10417vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comPointSec__item::before
    {
        height: .26667vw;
    }
}

.comPointSec__item::after
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';

    background-image: url(../images/img_com_point_border.svg);
    background-repeat: repeat-x;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1920px)
{
    .comPointSec__item::after
    {
        height: .10417vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comPointSec__item::after
    {
        height: .26667vw;
    }
}

.comPointSec__item--tour
{
    min-height: 247px;
}

@media print, screen and (max-width: 1920px)
{
    .comPointSec__item--tour
    {
        min-height: 12.86458vw;
    }
}

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

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 43px;
}

@media print, screen and (max-width: 1920px)
{
    .comPointSec__ttlBox
    {
        gap: 2.23958vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comPointSec__ttlBox
    {
        gap: 5.73333vw;
    }
}

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

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 88px;
    height: 83px;
    padding-top: 20px;
}

@media print, screen and (max-width: 1920px)
{
    .comPointSec__numBox
    {
        width: 4.58333vw;
        height: 4.32292vw;
        padding-top: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comPointSec__numBox
    {
        width: 8.59375vw;
        height: 8.10547vw;
        padding-top: 1.95312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comPointSec__numBox
    {
        width: 11.73333vw;
        height: 11.06667vw;
        padding-top: 1.6vw;
    }
}

.comPointSec__numBox::before
{
    position: absolute;
    z-index: -1;

    width: 100%;
    height: 100%;

    content: '';

    background-image: url(../images/img_com_point_num.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    inset: 0;
}

.comPointSec__numBox--tour
{
    padding-top: 14px;
}

@media print, screen and (max-width: 1920px)
{
    .comPointSec__numBox--tour
    {
        padding-top: .72917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comPointSec__numBox--tour
    {
        padding-top: 1.36719vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comPointSec__numBox--tour
    {
        width: 15.73333vw;
        height: 15.06667vw;
        padding-top: 2.4vw;
    }
}

.comPointSec__num
{
    font-family: 'Zen Old Mincho', serif;
    font-weight: 900;

    letter-spacing: .05em;

    color: #fff;
}

.comPointSec__en
{
    font-family: 'Zen Old Mincho', serif;
    font-weight: 900;

    color: #fff;
}

.comPointSec__ttl
{
    font-family: 'Zen Old Mincho', serif;
    font-weight: 900;
}

@media print, screen and (max-width: 1025px)
{
    .comPointSec__ttl
    {
        line-height: 1.5;

        text-align: left;
    }
}

.comPointSec__txt
{
    font-weight: 500;
    line-height: 2;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin-top: 45px;
    padding-left: 39px;

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

@media print, screen and (max-width: 1920px)
{
    .comPointSec__txt
    {
        margin-top: 2.34375vw;
        padding-left: 2.03125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comPointSec__txt
    {
        margin-top: 4vw;
        padding-left: 5.2vw;
    }
}

.comPointSec__txt--tour
{
    padding-left: 0;
}

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

    overflow: hidden;

    padding: 100px 0 143px;
}

@media print, screen and (max-width: 1920px)
{
    .comReasonSec
    {
        padding: 5.20833vw 0 7.44792vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comReasonSec
    {
        padding: 9.76562vw 0 13.96484vw;
    }
}

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

.comReasonSec::before
{
    position: absolute;
    z-index: -2;

    width: 100%;
    height: 100%;

    content: '';

    background-color: #070707;
    background-image: url(../images/img_com_reason_bg_01.png);
    background-repeat: repeat-y;
    background-position: center;
    background-size: contain;

    inset: 0;
}

.comReasonSec::after
{
    position: absolute;
    z-index: -1;

    width: 100%;
    height: 100%;

    content: '';

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

    inset: 0;
}

.comReasonSec__cont
{
    margin-top: 50px;
}

@media print, screen and (max-width: 1920px)
{
    .comReasonSec__cont
    {
        margin-top: 2.60417vw;
    }
}

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

    margin-bottom: 80px;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 42px;
}

@media print, screen and (max-width: 1920px)
{
    .comReasonSec__item
    {
        margin-bottom: 4.16667vw;

        gap: 2.1875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comReasonSec__item
    {
        margin-bottom: 7.12891vw;

        gap: 3.125vw;
    }
}

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

        margin-bottom: 10.66667vw;

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

.comReasonSec__item--last
{
    margin-bottom: 0;
}

.comReasonSec__ttlBox
{
    position: relative;

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

    width: 73px;
    padding-top: 20px;
    padding-bottom: 13px;

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

@media print, screen and (max-width: 1920px)
{
    .comReasonSec__ttlBox
    {
        width: 3.80208vw;
        padding-top: 1.04167vw;
        padding-bottom: .67708vw;
    }
}

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

@media print, screen and (max-width: 430px)
{
    .comReasonSec__ttlBox
    {
            flex-direction: row;

        width: 100%;
        padding: 4vw 0;

        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 4vw;
    }
}

.comReasonSec__ttlBox::before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 3px;
    height: 100%;

    content: '';

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

@media print, screen and (max-width: 1920px)
{
    .comReasonSec__ttlBox::before
    {
        width: .15625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comReasonSec__ttlBox::before
    {
        width: 100%;
        height: .4vw;

        background-image: url(../images/img_com_reason_ttl_line_white.svg);
        background-repeat: repeat-x;
    }
}

.comReasonSec__ttlBox::after
{
    position: absolute;
    top: 0;
    right: 0;

    width: 3px;
    height: 100%;

    content: '';

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

@media print, screen and (max-width: 1920px)
{
    .comReasonSec__ttlBox::after
    {
        width: .15625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comReasonSec__ttlBox::after
    {
        top: auto;
        bottom: 0;

        width: 100%;
        height: .4vw;

        background-image: url(../images/img_com_reason_ttl_line_white.svg);
        background-repeat: repeat-x;
    }
}

.comReasonSec__num
{
    font-family: 'Zen Old Mincho', serif;

    position: relative;

    padding-top: 18px;

    letter-spacing: .1em;

    color: #c6ac7a;
}

@media print, screen and (max-width: 1920px)
{
    .comReasonSec__num
    {
        padding-top: .9375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comReasonSec__num
    {
        padding-top: 0;
        padding-left: 4vw;
    }
}

.comReasonSec__num::before
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    width: 11px;
    height: 11px;
    margin: 0 auto;

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

    background-color: #c6ac7a;
}

@media print, screen and (max-width: 1920px)
{
    .comReasonSec__num::before
    {
        width: .57292vw;
        height: .57292vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comReasonSec__num::before
    {
        right: auto;
        bottom: 0;

        width: 1.46667vw;
        height: 1.46667vw;
        margin: auto 0;
    }
}

.comReasonSec__ttl
{
    font-family: 'Zen Old Mincho', serif;
    line-height: 1.25;

    margin-top: 27px;

    letter-spacing: .25em;
        -ms-writing-mode: tb-rl;

    color: #fff;

    -webkit-writing-mode: vertical-rl;
            writing-mode: vertical-rl;
}

@media print, screen and (max-width: 1920px)
{
    .comReasonSec__ttl
    {
        margin-top: 1.40625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comReasonSec__ttl
    {
        margin-top: 0;

            -ms-writing-mode: lr-tb;

        -webkit-writing-mode: horizontal-tb;
                writing-mode: horizontal-tb;
    }
}

.comReasonSec__txtBox
{
    width: 592px;
    padding-left: 13px;

    text-align: left;
}

@media print, screen and (max-width: 1920px)
{
    .comReasonSec__txtBox
    {
        width: 30.83333vw;
        padding-left: .67708vw;
    }
}

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

@media print, screen and (max-width: 430px)
{
    .comReasonSec__txtBox
    {
        width: 100%;
        padding-left: 0;
    }
}

.comReasonSec__subTtl
{
    font-family: 'Zen Old Mincho', serif;
    font-weight: 900;

    letter-spacing: .05em;

    color: #c6ac7a;
}

.comReasonSec__txt
{
    font-weight: 500;
    line-height: 2.333;

    letter-spacing: .1em;

    color: #fff;
}

.comReasonSec__img
{
    width: 646px;
}

@media print, screen and (max-width: 1920px)
{
    .comReasonSec__img
    {
        width: 33.64583vw;
    }
}

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

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

.comReasonSec__img img
{
    display: block;

    width: 100%;
}

/* ============== .comRecommendSec ============== */
.comRecommendSec
{
    padding: 100px 0 150px;
}

@media print, screen and (max-width: 1920px)
{
    .comRecommendSec
    {
        padding: 5.20833vw 0 7.8125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comRecommendSec
    {
        padding: 9.76562vw 0 9.76562vw;
    }
}

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

.comRecommendSec__inner
{
    width: 1672px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1920px)
{
    .comRecommendSec__inner
    {
        width: 87.08333vw;
    }
}

.comRecommendSec__cont
{
    margin-top: 20px;
    margin-bottom: 150px;
}

@media print, screen and (max-width: 1920px)
{
    .comRecommendSec__cont
    {
        margin-top: 1.04167vw;
        margin-bottom: 7.8125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comRecommendSec__cont
    {
        margin-top: 2.66667vw;
        margin-bottom: 20vw;
    }
}

.comRecommendSec__cont--tour
{
    margin-bottom: 0;
}

.comRecommendSec__txt
{
    font-weight: 700;
    line-height: 2;

    letter-spacing: .1em;
}

@media print, screen and (max-width: 430px)
{
    .comRecommendSec__txt
    {
        text-align: left;
    }
}

.comRecommendSec__txt--left
{
    margin-top: 15px;
    margin-bottom: 30px;

    text-align: left;
}

@media print, screen and (max-width: 1920px)
{
    .comRecommendSec__txt--left
    {
        margin-top: .78125vw;
        margin-bottom: 1.5625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comRecommendSec__txt--left
    {
        margin-top: 3.33333vw;
        margin-bottom: 4vw;
    }
}

.comRecommendSec__txt--right
{
    margin-top: 20px;

    text-align: right;
}

@media print, screen and (max-width: 1920px)
{
    .comRecommendSec__txt--right
    {
        margin-top: 1.04167vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comRecommendSec__txt--right
    {
        margin-top: 5.33333vw;
    }
}

.comRecommendSec__txt--white
{
    color: #fff;
}

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

    margin-top: 60px;

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

@media print, screen and (max-width: 1920px)
{
    .comRecommendSec__flex
    {
        margin-top: 3.125vw;
    }
}

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

        margin-top: 8vw;

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

.comRecommendSec__item
{
    width: 46.59%;
}

@media print, screen and (max-width: 1025px)
{
    .comRecommendSec__item
    {
        width: 48.59%;
    }
}

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

.comRecommendSec__img
{
    width: 100%;
}

.comRecommendSec__img img
{
    display: block;

    width: 100%;
}

.comRecommendSec__ttl
{
    font-family: 'Zen Old Mincho', serif;
    font-weight: 900;

    margin-top: 25px;
    padding-bottom: 8px;

    letter-spacing: .05em;

    color: #8d0100;
}

@media print, screen and (max-width: 1920px)
{
    .comRecommendSec__ttl
    {
        margin-top: 1.30208vw;
        padding-bottom: .41667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comRecommendSec__ttl
    {
        margin-top: 2.44141vw;
        padding-bottom: .78125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comRecommendSec__ttl
    {
        line-height: 1.5;

        margin-top: 4.66667vw;
        padding-bottom: 1.06667vw;
    }
}

.comRecommendSec__ttl--beige
{
    color: #c6ac7a;
}

.comRecommendSec__line
{
    position: relative;
    display: inline-block;
    padding-bottom: 5px;
}

@media print, screen and (max-width: 1920px)
{
    .comRecommendSec__line
    {
        padding-bottom: .26042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comRecommendSec__line
    {
        padding-bottom: .48828vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comRecommendSec__line
    {
        padding-bottom: 1.06667vw;
    }
}

.comRecommendSec__line::before
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 3px;

    content: '';

    background-image: url(../images/img_com_recommend_ttl_line.svg);
    background-repeat: repeat-x;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1920px)
{
    .comRecommendSec__line::before
    {
        height: .15625vw;
    }
}

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

.comRecommendSec__line--beige::before
{
    background-image: url(../images/img_com_recommend_ttl_line_beige.svg);
}