@charset "UTF-8";

/* =====================
  common - pc
===================== */
body {
    font-size: 16px;
    font-family: "Times New Roman", '游明朝', 'Yu Mincho', YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    line-height: 1.4;
    letter-spacing: 0em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
}

img {
    transition: 1.5s
}

.resp,.sp {
    display: none;
}

/* =====================
  animation
===================== */
.fadeUp01 {
    transition: 1s;
    opacity: 0;
    transform: translate(0, 60px);
    -webkit-transform: translate(0, 60px)
}
.fadeUp02 {
    transition: 1s;
    opacity: 0;
    transform: translate(60px, 0);
    -webkit-transform: translate(60px, 0)
}
.fadeUp03 {
    transition: 1s;
    opacity: 0;
    transform: translate(-60px, 0);
    -webkit-transform: translate(-60px, 0)
}
.fadeUpOn {
    opacity: 1;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0)
}




/* =====================
  main - pc
===================== */
.main{
    position: relative;
    overflow: hidden;
    background-color: #002646;
    min-height: 960px;
    z-index: 0;
}
.main_cont{
    position: relative;
    width: 100%;
    margin: 0 auto;
    z-index: 1;
}
.main_cont_ttl{
    max-width: 590px;
    margin: 25px auto;
}
.main_cont_img{
    max-width: 1000px;
    margin: 0 auto;
}
.main_cont img{
    width: 100%;
}
.main_ttl{
    position: absolute;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
    clip-path: inset(0px 0px 99.9% 99.9%);
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0;
    border: 0;
}

/*  main > sub ttl
------------------------*/
.main_subTtl{
    position: relative;
    padding: 82px 0 86px;
    z-index: 1;
}
.subTtl_txt{
    width: 100%;
    max-width: 670px;
    margin: 0 auto;
    color: #fff;
    font-size: 18px;
    text-align: center;
    line-height: 38px;
    letter-spacing: -.035em;
}

.main_bg{
    width: 3584px;
    height: 2044px;
    position: absolute;
    top: 49%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    z-index: -1;
}

/* // end of main */

/* =====================
  tp - pc
===================== */
.tp{
    width: 100%;
    position: relative;
    padding: 60px 0;
    margin: 0 auto;
}
.tp-01{
    background-color: #f0ede8;
}
.tp-02{
    background-color: #ebeef0;
}
.tp-split{
    position: relative;
    padding-bottom: 0;
    background-color: #ebeef0;
    z-index: 0;
}
.split_bg{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1
}

.tp_ttl{
    margin-bottom: 40px;
    text-align: center;
}

/*  tp > tp_cont
------------------------*/
.tp_cont{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 50px 0;
    border-top: 2px solid #917a50;
    border-bottom: 2px solid #917a50;
}
.tp_cont-02{
    border-color: #002646;
}
.tp_cont-split{
    position: relative;
    border-bottom: none;
}
.tp_cont-split::before{
    content: '';
    display: block;
    position: absolute;
    top: -2px;
    right: 0;
    width: 50%;
    height: 2px;
    background-color: #002646;
}
/* .tp_cont-split::after{
    content: '';
    display: block;
    position: absolute;
    bottom: -2px;
    right: 0;
    width: 50%;
    height: 2px;
    background-color: #002646;
} */
.cont_ttl{
    margin-bottom: 50px;
    font-size: 30px;
    line-height: 50px;
    text-align: center;
}
.cont_ttl-second{
    margin-top: -10px;
    font-size: 22px;
    line-height: 38px;
}
.cont_img{
    margin-bottom: 50px;
}
.cont_txt{
    width: 100%;
    max-width: 677px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 40px;
}

/*  tp > tp_cont > vs
------------------------*/
.vs{
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    -js-display: flex;
    display: flex;
}
.vs::before{
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    top: 36.2%;
    width: 160px;
    height: 160px;
    background: url(../images/vs.png) no-repeat;
    background-size: contain;
    transform: translateX(-50%);
    z-index: 10;
}
.vs-left{
    background-color: #917a50;
}
.vs-right{
    background-color: #002646;
}
.vs_cont{
    width: 50%;
    padding: 30px 0 35px;
}
.vs_ttl{
    margin-bottom: 20px;
    text-align: center;
}

.slide{
    width: 100%;
    max-width: 380px;
    margin: 0 auto 25px;
    overflow: hidden;
}

.vs_txt{
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 36px;
    color: #fff;
}


/*  tp > tp_cont > point
------------------------*/
.point{
    margin: 0 30px;
}
.point_item{
    margin-bottom: 50px;
}
.point_item-last{
    margin-bottom: 0;
}
.pDetail_ttl{
    display: -webkit-flex;
    display: -ms-flex;
    -js-display: flex;
    display: flex;
    margin-bottom: 20px;
    padding-bottom: 20px;
    font-size: 26px;
    line-height: 38px;
    border-bottom: 1px solid #000;
}
.pDetail_ttl::before{
    content: '';
    display: block;
    width: 71px;
    height: 71px;
    margin-right: 15px;
}
.pDetail_ttl-01::before{
    background: url(../images/point01.png) no-repeat;
    background-size: contain;
}
.pDetail_ttl-02::before{
    background: url(../images/point02.png) no-repeat;
    background-size: contain;
}
.pDetail_ttl-03::before{
    background: url(../images/point03.png) no-repeat;
    background-size: contain;
}
.pDetail_txt{
    font-size: 18px;
    line-height: 30px;
    letter-spacing: 0.05em;
}

/*  tp > recommend
------------------------*/
.recommend{
    margin-bottom: 90px;
}
.recommend-last{
    margin-bottom: 0;
}
.recommend_ttl{
    position: relative;
    text-align: center;
    padding-bottom: 30px;
    border-bottom: 2px solid #917a50;
}
.recommend_ttl::after{
    content: '';
    display: block;
    position: absolute;
    bottom: -2px;
    right: 0;
    width: 50%;
    height: 2px;
    background-color: #002646;
}
.recommend_ttl_sub{
    display: block;
    padding-top: 10px;
    font-size: 28px;
    letter-spacing: 0.15em;
}
.recommend_img{
    position: relative;
    margin-bottom: 45px;
    border-bottom: 2px solid #917a50;
}
.recommend_img-icon::before{
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    top: 10.8%;
    width: 160px;
    height: 160px;
    background: url(../images/reco.png) no-repeat;
    background-size: contain;
    transform: translateX(-50%);
}
.recommend_img::after{
    content: '';
    display: block;
    position: absolute;
    bottom: -2px;
    right: 0;
    width: 50%;
    height: 2px;
    background-color: #002646;
}
.recommend_txt{
    width: 100%;
    max-width: 670px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 40px;
}
.recommend_txt_sub{
    font-weight: bold;
}
/* // end of tp */




/* =====================
  coupon - pc
===================== */
.coupon{
    margin-top: 90px;
    text-align: center;
}
.coupon_ttl{
    margin-bottom: 30px;
}
.coupon_cont{
    display: -webkit-flex;
    display: -ms-flex;
    -js-display: flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 790px;
    margin: 0 auto;
    padding: 26px;
    background-color: #870007;
    text-decoration: none;
    transition: .4s;
}
.coupon_cont:hover{
    opacity: .8;
}
.coupon_left{
    display: -webkit-flex;
    display: -ms-flex;
    -js-display: flex;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 346px;
    padding: 22px;
    border: 1px solid #fff;
}
.coupon_right_txt{
    width: 100%;
    max-width: 374px;
    color: #fff;
    font-size: 22px;
    line-height: 36px;
    letter-spacing: -1.5px;
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: 1px solid #cf999c;
}
.coupon_right_link{
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    -js-display: flex;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
}
.coupon_cont:hover .coupon_right_link{
    text-decoration: underline;
}
.coupon_right_link::after{
    content: '';
    display: inline-block;
    width: 10px;
    height: 14px;
    margin-left: 8px;
    background: url(../images/arrow.png) no-repeat;
    background-size: contain;
}
/* // end of coupon */




/* =====================
  styling - pc
===================== */
.styling{
    width: 100%;
    text-align: center;
}
.styling_cp{
    width: 100%;
    max-width: 790px;
    margin: 50px auto;
    background-color: #870007;
    transition: .4s;
}
.styling_cp a{
    display: block;
    width: 100%;
    height: 100%;
    padding: 20px 0 19px;
    color: #fff;
    line-height: 1;
    font-size: 20px;
    text-decoration: none;
}
.styling_cp a::after{
    content: '';
    display: inline-block;
    width: 14px;
    height: 20px;
    margin-left: 8px;
    vertical-align: text-top;
    background: url(../images/arrow.png) no-repeat;
    background-size: contain;
}
.styling_cp:hover{
    opacity: .8;
}
.styling_img{
    padding: 40px;
}
/* // end of styling */


/* =====================
  bottom - pc
===================== */
.bottom {
    width: 100%;
    max-width: 1000px;
    margin: 100px auto;
}
.bottom ul {
    margin: 0 auto
}
.bottom ul .left {
    float: left
}
.bottom ul .right {
    float: right
}
/* // end of bottom */



/* *********************
  small pc
********************* */
@media screen and (max-width:1000px){
    img{
        width: 100%;
    }


    /* =====================
      main - small pc
    ===================== */
    .main_bg{
        width: 100%;
        height: 100%;
    }
    /*  main > sub ttl
    ------------------------*/
    .main_subTtl{
        padding: 5vw 0;
    }
    .subTtl_txt{
        font-size: 2.6vw;
        line-height: 4vw;
    }
    /* // end of main */


    /* =====================
      tp - small pc
    ===================== */
    .tp_ttl{
        width: 50%;
        margin: 0 auto 40px;
    }
    /*  tp > tp_cont
    ------------------------*/
    /*  tp > tp_cont > vs
    ------------------------*/
    .vs_ttl{
        width: 45%;
        margin: 0 auto 20px;
    }
    /*  tp > tp_cont > point
    ------------------------*/
    /*  tp > recommend
    ------------------------*/
    .recommend_ttl img{
        width: 40%;
    }
    /* // end of tp */


    /* =====================
      coupon - small pc
    ===================== */
    .coupon_ttl{
        width: 30%;
        margin: 0 auto 30px;
    }
    /* // end of coupon */


    /* =====================
      styling - small pc
    ===================== */
    .styling_img{
        width: 40%;
        margin: 0 auto;
        padding: 40px;
    }
    /* // end of styling */


    /* =====================
      bottom - small small pc
    ===================== */
    .bottom{
    	width: 90%;
    	margin: 10vw auto 0;
        padding-bottom: 10vw;
    }
    .bottom .left{
    	width: 49%;
    	float: left;
    }
    .bottom .right{
    	width: 49%;
    	float: right;
    }
    .bottom img{
        width: 100%;
    }
}



/* *********************
  tablet
********************* */
@media screen and (max-width:767px){
    .pc{
        display: none;
    }
    .resp{
        display: block;
    }


    /* =====================
      main - tablet
    ===================== */
    .main{
        min-height: inherit;
    }
    .main_cont_ttl{
        max-width: inherit;
        margin: 0;
    }
    /*  main > sub ttl
    ------------------------*/
    .subTtl_txt{
        font-size: 2.8vw;
        line-height: 5vw;
    }

    .main_bg{
        display: none;
    }

    /* =====================
      tp - small pc
    ===================== */

    /*  tp > tp_cont
    ------------------------*/

    /*  tp > tp_cont > vs
    ------------------------*/
    .vs::before{
        width: 18vw;
        height: 18vw;
    }
    .slide{
        max-width: 85%;
    }
    .vs_txt{
        width: 85%;
    }
    /*  tp > tp_cont > point
    ------------------------*/
    /*  tp > recommend
    ------------------------*/
    /* // end of tp */


    /* =====================
      coupon - small pc
    ===================== */
    .coupon_cont{
        flex-direction: column;
    }
    .coupon_left{
        margin-bottom: 5vw;
    }
    .coupon_right_txt{
        margin-bottom: 5vw;
        padding-bottom: 0;
        border: 0;
    }
    .coupon_right_link{
        width: 60%;
        margin: 0 auto;
        padding: 2.5vw 0;
        font-size: 22px;
        border: 1px solid #cf999c;
    }
    /* // end of coupon */


    /* =====================
      styling - small pc
    ===================== */
    /* // end of styling */
}



/* *********************
  smartphone
********************* */
@media screen and (max-width:480px){
    .sp{
        display: block;
    }

    .fadeUp01 {
        opacity: 0;
        transform: translate(0,2%);
        -webkit-transform: translate(0,2%)
    }
    .fadeUpOn {
        opacity: 1;
        transform: translate(0, 0);
        -webkit-transform: translate(0, 0)
    }

    /* =====================
      main - smartphone
    ===================== */
    /*  main > sub ttl
    ------------------------*/
    .subTtl_txt{
        width: 90%;
        margin: 0 auto;
        font-size: 4vw;
        line-height: 6vw;
        text-align: left;
    }


    /* =====================
      tp - small pc
    ===================== */
    .tp{
        padding: 5vw 0;
    }
    .tp-split{
        padding-bottom: 0;
    }
    .tp_ttl{
        width: 65%;
        margin: 0 auto 4vw;
    }

    /*  tp > tp_cont
    ------------------------*/
    .tp_cont{
        padding: 5vw 0;
    }
    .cont_ttl{
        margin-bottom: 5vw;
        font-size: 4vw;
        line-height: 1.8;
    }
    .cont_ttl-second{
        width: 90%;
        font-size: 3.2vw;
        text-align: left;
        margin: -2vw auto 5vw;
    }
    .cont_img{
        margin-bottom: 5vw;
    }
    .cont_txt{
        width: 90%;
        font-size: 3.2vw;
        line-height: 2;
    }

    /*  tp > tp_cont > vs
    ------------------------*/
    .tp_cont-vs{
        padding-bottom: 0;
    }
    .vs_cont{
        padding: 3.5vw 0;
    }
    .vs_ttl{
        width: 65%;
        margin: 0 auto 3vw;
    }
    .vs::before{
        width: 14vw;
        height: 14vw;
        top: 31%;
    }
    .vs_txt{
        font-size: 3vw;
        line-height: 2;
    }

    /*  tp > tp_cont > point
    ------------------------*/
    .point{
        width: 90%;
        margin: 0 auto;
    }
    .point_item{
        margin-bottom: 5vw;
    }
    .point_item-last{
        margin-bottom: 0;
    }
    .pDetail_ttl{
        padding-bottom: 2vw;
        margin-bottom: 2vw;
        font-size: 4vw;
        line-height: 1.6;
    }
    .pDetail_ttl::before{
        width: 12vw;
        height: 12vw;
    }
    .pDetail_txt{
        font-size: 12px;
        line-height: 1.8;
    }

    /*  tp > recommend
    ------------------------*/
    .recommend{
        margin-bottom: 9vw;
    }
    .recommend-last{
        margin-bottom: 0;
    }
    .recommend_ttl_sub{
        font-size: 4vw;
    }
    .recommend_img-icon::before{
        width: 17vw;
        height: 17vw;
        top: 8%;
    }
    .recommend_img{
        margin-bottom: 4.5vw;
    }
    .recommend_txt{
        width: 90%;
        font-size: 2.8vw;
        line-height: 2;
    }
    /* // end of tp */


    /* =====================
      coupon - small pc
    ===================== */
    .coupon{
        margin-top: 9vw;
    }
    .coupon_ttl{
        width: 45%;
        margin: 0 auto 3vw;
    }
    .coupon_right_txt{
        font-size: 4.5vw;
    }
    .coupon_right_link{
        font-size: 4.5vw;
    }
    /* // end of coupon */


    /* =====================
      styling - small pc
    ===================== */
    .styling_cp{
        margin: 8vw 0 5vw;
    }
    .styling_cp a{
        font-size: 4.5vw;
        padding: 3vw 0 2.9vw;
    }
    .styling_cp a::after{
        width: 4.5vw;
        height: 4.5vw;
    }
    .styling_img{
        width: 55%;
        padding: 4vw;
    }
    /* // end of styling */


    /* =====================
      bottom - smartphonet
    ===================== */
    .bottom .left{
    	width: 100%;
    	float: none;
        margin-bottom: 7vw;
    }
    .bottom .right{
    	width: 100%;
    	float: none;
    }
}


/* =====================
  bottom - smartphonet
===================== */
@media screen and (max-width:375px){
    /* =====================
      tp - small pc
    ===================== */
    .tp_ttl{
        width: 80%;
    }
    /*  tp > tp_cont
    ------------------------*/
    .cont_ttl{
        font-size: 15px;
    }
    .cont_txt{
        font-size: 13.2px;
    }
    /*  tp > tp_cont > vs
    ------------------------*/
    .vs_txt{
        font-size: 12px;
    }
    /*  tp > tp_cont > point
    ------------------------*/
    .pDetail_ttl{
        font-size: 15px;
    }
    /*  tp > recommend
    ------------------------*/
    .recommend_ttl img{
        width: 50%;
    }
    .recommend_ttl_sub{
        font-size: 15px;
    }
    .recommend_txt{
        font-size: 12px;
    }
    /* // end of tp */

    /* =====================
      styling - small pc
    ===================== */
    /* // end of styling */
}
