@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)
}


#content{
    overflow: hidden;
}


/* =====================
  main - pc
===================== */
.main{
    width: 100%;
    margin: 0 auto 100px;
}

/* main > main_visual
------------------------*/
.main_visual{
    position: relative;
    background: url(../images/mv_bg.jpg) no-repeat;
    background-size: cover;
    background-position-x: 50%;
}
.main_txt{
    position: absolute;
    left: 50%;
    bottom: 75px;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
}
.main_visual_img{
    display: block;
    margin: 0 auto;
}
/* // end of main */


/* =====================
  description - pc
===================== */
.description{
    width: 100%;
    padding: 80px 0;
    background: url(../images/wide_bg01@1x.jpg) no-repeat;
    background-size: cover;
    background-position-x: 50%;
}
.description-second{
    background: url(../images/wide_bg03@1x.jpg) no-repeat;
}
.description_txt{
    margin-bottom: 50px;
    font-size: 22px;
    text-align: center;
    color: #fff;
    line-height: 46px;
}
.description_txt-bottom{
    width: 100%;
    max-width: 920px;
    font-size: 20px;
    margin: 0 auto;
}
.description_price{
    text-align: center;
}
.description_img{
    text-align: center;
    margin-bottom: 60px;
}
/* // end of description */


/* =====================
  cont - pc
===================== */
.cont{
    width: 100%;
    padding: 100px 0 0;
    margin: 0 auto 100px;
    position: relative;
    background: url(../images/wide_bg02@1x.jpg) no-repeat;
    background-size: cover;
    background-position-x: 50%;
}
.cont-suit{
    width: 100%;
    padding: 100px 0 60px;
    max-width: 1200px;
    background-image: none;
    background-color: #f5f3f0;
}
.cont::before{
    content: '';
    display: block;
    position: absolute;
    top: -34px;
    left: 50%;
    width: 230px;
    height: 66px;
    background-size: contain;
    background-position-x: 50%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
}
.cont-01::before{
    background: url(../images/ttl_01.png) no-repeat;
}
.cont-02::before{
    background: url(../images/ttl_02.png) no-repeat;
}
.cont-03::before{
    background: url(../images/ttl_03.png) no-repeat;
}
.cont_ttl{
    margin-bottom: 55px;
    text-align: center;
}
.cont_txt{
    width: 100%;
    max-width: 930px;
    margin: 0 auto;
    padding-bottom: 60px;
    font-size: 20px;
    line-height: 42px;
    text-align: center;
}

/* cont > suit
------------------------*/
.suit{
    width: 100%;
    max-width: 980px;
    margin: 0 auto 60px;
}
.suit img{
    display: block;
    margin: 0 auto 35px;
}
.suit_txt{
    font-size: 20px;
    line-height: 42px;
}

/* cont > detail
------------------------*/
.detail{
    display: -webkit-flex;
    display: -ms-flex;
    -js-display: flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 980px;
    margin: 0 auto 40px;
}
.detail-second{
    margin: 0 auto 70px;
}
.detail:last-child{
    margin-bottom: 0;
}
.detail_cont{
    order: 1;
    width: 100%;
    max-width: 440px;
}
.detail_ttl{
    margin-bottom: 20px;
    text-align: center;
}
.detail_txt{
    padding: 35px 0;
    font-size: 18px;
    line-height: 48px;
    letter-spacing: 0.0125em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}
.detail_txt-bold{
    display: block;
    font-weight: bold;
}
.detail_img{
    width: 100%;
    max-width: 440px;
}
.detail_img-right{
    order: 2;
}

/* cont > Tailored Line
------------------------*/
.tLine{
    width: 100%;
    max-width: 980px;
    margin: 0 auto 40px;
    padding: 17px;
    text-align: center;
    background-color: #000;
}
.tLine_img{
    padding: 9px 0;
    border: 3px solid #946134;
}
/* // end of cont */


/* =====================
  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:1100px){
    img{
        max-width: 100%;
    }


    /* =====================
      main - small pc
    ===================== */
    .main_txt{
        /* bottom: 7%; */
        bottom: 13%;
        /* width: 85%; */
        width: 81%;
    }
    /* // end of  */


    /* =====================
      description - small pc
    ===================== */
    .description_txt{
        width: 90%;
        font-size: 18px;
        margin: 0 auto 50px;
    }
    .description_txt-bottom{
        font-size: 16px;
    }
    /* // end of description */


    /* =====================
      cont - small pc
    ===================== */
    .cont_txt{
        width: 90%;
        font-size: 18px;
    }

    /* cont > suit
    ------------------------*/
    .suit{
        width: 90%;
    }
    .suit_txt{
        font-size: 18px;
    }

    /* cont > detail
    ------------------------*/
    .detail{
        width: 90%;
    }

    /* cont > tLine
    ------------------------*/
    .tLine{
        width: 90%;
    }
    /* // end of cont */


    /* =====================
      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:768px){
    .pc{
        display: none;
    }
    .resp{
        display: block;
    }


    /* =====================
      main - tablet
    ===================== */
    .main{
        margin: 0 auto 10vw;
    }
    /* // end of main */


    /* =====================
      description - tablet
    ===================== */
    .description{
        padding: 8vw 0 25vw;
        background: url(../images/wide_bg01_sp.jpg) no-repeat;
        background-size: cover;
    }
    .description-second{
        padding: 8vw 0;
        background: url(../images/wide_bg03_sp.jpg) no-repeat;
        background-size: cover;
    }
    .description_txt{
        margin: 0 auto 5vw;
        line-height: 2;
    }
    .description_txt-bottom{
        text-align: left;
        margin-bottom: 0;
    }
    .description_price{
        width: 45%;
        margin: 0 auto;
    }
    .description_img{
        width: 80%;
        margin: 0 auto 6vw;
    }
    /* // end of description */


    /* =====================
      cont - tablet
    ===================== */
    .cont{
        margin: 0 auto 10vw;
        padding: 10vw 0 0;
        background: url(../images/wide_bg02_sp.jpg) no-repeat;
        background-size: cover;
        background-position: 50% -30vh;
    }
    .cont-suit{
        padding: 10vw 0 6vw;
        background-image: none;
        background-color: #f5f3f0;
    }
    .cont_ttl{
        width: 80%;
        margin: 0 auto 5.5vw;
    }
    .cont_txt{
        padding-bottom: 6vw;
        font-size: 16px;
        text-align: left;
        line-height: 2;
        letter-spacing: -0.0125em;
    }
    .cont::before{
        top: -4.1vw;
        height: 8vw;
    }
    .cont-01::before{
        background-size: contain;
        background-position-x: 50%;
    }
    .cont-02::before{
        background-size: contain;
        background-position-x: 50%;
    }
    .cont-03::before{
        background-size: contain;
        background-position-x: 50%;
    }

    /* cont > suit
    ------------------------*/
    .suit{
        margin: 0 auto 6vw;
    }
    .suit img{
        margin: 0 auto 3.5vw;
    }
    .suit_txt{
        line-height: 2;
    }

    /* cont > detail
    ------------------------*/
    .detail_cont{
        width: 47%;
    }
    .detail-second{
        margin: 0 auto 7vw;
    }
    .detail_ttl{
        margin-bottom: 2vw;
    }
    .detail_txt{
        padding: 3.5vw 0;
        font-size: 16px;
        line-height: 2;
    }
    .detail_img{
        width: 47%;
    }

    /* cont > Tailored Line
    ------------------------*/
    .tLine{
        margin: 0 auto 4vw;
        padding: 1.7vw;
    }
    .tLine_img{
        padding: .9vw 0;
        border: 2px solid #946134;
    }
    /* // end of cont */
}



/* *********************
  phablet
********************* */
@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 - phablet
    ===================== */
    /* // end of main */


    /* =====================
      description - phablet
    ===================== */
    .description{
        padding: 8vw 0 20vw;
    }
    .description-second{
        padding: 6vw 0;
    }
    .description_txt{
        font-size: 14px;
    }
    /* // end of description */


    /* =====================
      cont - phablet
    ===================== */
    .cont{
        margin: 0 auto 10vw;
        padding: 10vw 0 0;
        background: url(../images/wide_bg02_sp@1.5x.jpg) no-repeat;
        background-size: cover;
        background-size: 150%;
        background-position: 50% -20%;
    }
    .cont-suit{
        padding: 10vw 0 6vw;
        background-image: none;
        background-color: #f5f3f0;
    }
    .cont_txt{
        font-size: 14px;
    }

    /* cont > suit
    ------------------------*/
    .suit_txt{
        font-size: 14px;
    }

    /* cont > detail
    ------------------------*/
    .detail_ttl{
        width: 40%;
        margin: 0 auto 2vw;
    }
    .detail_txt{
        font-size: 12px;
    }
    /* // end of cont */


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


/* =====================
  bottom - smartphone
===================== */
@media screen and (max-width:375px){
    /* =====================
      main - smartphone
    ===================== */
    /* main  >
    ------------------------*/
    /* // end of main */


    /* =====================
      description - smartphone
    ===================== */
    /* description  >
    ------------------------*/
    /* // end of description */


    /* =====================
      cont - smartphone
    ===================== */
    /* cont  >
    ------------------------*/
    /* // end of cont */
}
