@charset "UTF-8";

body{
    font-family: "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        Meiryo,
        sans-serif;
    margin: 0px;
    background: url(../img/sT-1-back.jpg) repeat;
    background-position: center top;
    letter-spacing: 0px;
}

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

b{
    font-weight: normal;
}

input, select , button {
    -webkit-appearance: none;
    appearance: none;
}

section{
    background-repeat: repeat-y;
}

/* ==========================================================
!COMMONS
========================================================== */

/* commons part
------------------------------------ */

.flexs{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.b10{
    width: 10%;
    position: relative;
}
.b20{
    width: 20%;
    position: relative;
}
.b30{
    width: 30%;
    position: relative;
}
.b35{
    width: 35%;
    position: relative;
}
.b40{
    width: 40%;
    position: relative;
}
.b47{
    width: 47%;
    position: relative;
}
.b49{
    width: 49%;
    position: relative;
}
.b50{
    width: 50%;
    position: relative;
}
.b60{
    width: 60%;
    position: relative;
}
.b65{
    width: 65%;
    position: relative;
}
.b70{
    width: 70%;
    position: relative;
}
.b80{
    width: 80%;
    position: relative;
}
.b90{
    width: 90%;
    position: relative;
}
.b100{
    width: 100%;
    position: relative;
}


.td1{
    transition-delay: 50ms !important;
}
.td2{
    transition-delay: 100ms !important;
}
.td3{
    transition-delay: 150ms !important;
}
.td4{
    transition-delay: 200ms !important;
}
.td5{
    transition-delay: 250ms !important;
}
.td6{
    transition-delay: 300ms !important;
}
.td7{
    transition-delay: 350ms !important;
}
.td8{
    transition-delay: 400ms !important;
}
.td9{
    transition-delay: 450ms !important;
}
.td10{
    transition-delay: 500ms !important;
}
.td11{
    transition-delay: 550ms !important;
}
.td12{
    transition-delay: 600ms !important;
}
.td13{
    transition-delay: 650ms !important;
}
.td14{
    transition-delay: 700ms !important;
}
.td15{
    transition-delay: 750ms !important;
}
.td16{
    transition-delay: 800ms !important;
}

.trs{
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    transform: translate(0px, 10px);
}

.iB{
    display: inline-block;
}

.atag{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
}

.mt{
    margin-top: -1px !important;
}

/*
COMMON PART
============================================= */

section{
    position: relative;
    background-position: center top;
}


.in{
    width: 100%;
    max-width: 710px;
    position: relative;
    margin: auto;
    background: #fff;
}

.not-back{
    background: none !important;
}

.in-in{
    width: 100%;
    max-width: 710px;
    position: relative;
    margin: auto;
}

.in img{
    width: 100%;
    vertical-align: bottom;
    line-height: 1.0em;
}


.ab{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}


/* scroll animation */

.is-active{
    transform: translate(0px,0px) translateY(0em) scale(1) rotate3d(0,0,0,0) !important;
    opacity: 1 !important;
    filter: blur(0px);
}

/* ==========================================================
!PC BIG SIZE media queries css
========================================================== */

/* FV CONTENTS */

#fv{
    background: url(../img/rp-1-back.jpg) no-repeat;
    background-position: center top;
}


.in > .txt{
    width: 100%;
    position: relative;
}

.in > .txt > .in{
    width: 86%;
}

.in > .txt h2{
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 0.1em;
    border-bottom: 1px solid #000;
    padding: 30px 0px 10px 0px;
    margin-bottom: 20px;
}


.in > .txt h3{
    font-size: 30px;
    letter-spacing: 0.0.5em;
    line-height: 1.4;
    margin-bottom: 25px;
}

.in > .txt h3 small{
    font-size: 18px;
    letter-spacing: 0.05em;;
}

.in > .txt h3 b{
    font-size: 25px;
    padding-left: 7px;
}

.mb1{
    padding-bottom: 120px;
}


/* POINT CONTENTS */

#point{
    position: relative;
    margin-top: -130px;
}

#point::before{
    width: 100%;
    height: 100%;
    background: url(../img/back.jpg) repeat;
    background-position: center top;
    margin-top: 98px;
    position: absolute;
    content: "";
    display: block;
}

.over-in{
    width: 100%;
    height: 98%;
    max-width: 780px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 10;
    pointer-events: none;
}

.over-in::before{
    width: 10px;
    height: 100%;
    background: url(../img/font.png);
    position: absolute;
    left: 0;
    top: 95px;
    content: "";
}

.over-in::after{
    width: 10px;
    height: 100%;
    background: url(../img/font.png);
    position: absolute;
    right: 0;
    top: 95px;
    content: "";
}

#point > .in{
    border-radius: 0px 0px 20px 20px;
}


/* STYLE CONTENTS */

#style_01{
    background: url(../img/hp-style-01-back.webp) no-repeat;
    background-position: center top;
}

#style_02{
    background: url(../img/hp-style-02-back.webp) no-repeat;
    background-position: center top;
}

#style_03{
    background: url(../img/hp-style-03-back.webp) no-repeat;
    background-position: center top;
    padding-bottom: 100px;
}

.space-big{
    width: 100%;
    height: 30px;
}

.space{
    width: 100%;
    height: 20px;
}

.in-in > .container{
    background: #fff;
}

#style_01 > .in{
    background: none;
    border-radius: 20px 20px 0 0;
    overflow: hidden;
}

.slider{
    width: 87%;
    margin: auto;
}

.thumbnail .slick-track {
    transform: unset !important;
}
.thumbnail-img {
    border: 1
}

.slick-slide{
    position: relative;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.slick-slide:hover{
    opacity: 0.5;
}

.slick-slide::before{
    border: 4px solid #000;
    opacity: 0;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.thumbnail .slick-current::before {
    width: 96%;
    height: 93%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    border: 4px solid #f7c7c9;
    opacity: 1;
}

.thumbnail{
    width: 88.5%;
    margin: auto;
}

.icon{
    width: 398px;
    position: absolute;
    left: 2%;
    top: -5%;
    z-index: 10;
}

.i2{
    width: 336px;
}

.i3{
    width: 350px;
}

.pA-box{
    background: #fff;
    padding: 30px 0px;
}

.pA-box > .txt{
    width: 87.5%;
    margin: auto;
    position: relative;
    padding-bottom: 23px;
    padding-top: 23px;
    border-bottom: 1px dotted #000;
}

.pA-box h2{
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.1em;
    position: relative;
}

.pA-box h3{
    font-size: 30px;
    padding-top: 15px;
}

.pA-box h3 small{
    font-size: 18px;
    padding-right: 10px;
}

.pA-box h3 small.note{
    font-size: 12px;
    padding-top: 10px;
    display: block;
}

.pA-box h3 b{
    font-size: 25px;
    padding-left: 5px;
}

.pA-box > .txt .cv-btn{
    width: 200px;
    height: 60px;
    position: absolute;
    right: 0;
    top: 32.5px;
    margin: auto;
}

.cv-btn::before{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 999;
    content: "";
    background: rgba(255,255,255,0.5);
    opacity: 0;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    pointer-events: none;
}


.cv-btn:hover::before{
    opacity: 1;
}

.in-cv::before{
    width: 86%;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    content: "";
    background: rgba(255,255,255,0.5);
    z-index: 99999999999;
    opacity: 0;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    pointer-events: none;
}

.in-cv:hover::before{
    opacity: 1;
}

.slick-prev {
    left: -40px;
    background: #000;
    width: 80px;
    height: 80px;
    z-index: 99999;
    border-radius: 100px;
    content: "";
}

.slick-prev::before{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    content: "";
    background: url(../img/prev-arr.webp) no-repeat;
    background-size: 100%;
    background-position: center center;
    opacity: 1;
}

.slick-next {
    right: -40px;
    background: #000;
    width: 80px;
    height: 80px;
    z-index: 99999;
    border-radius: 100px;
    content: "";
}

.slick-next::before{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    content: "";
    background: url(../img/next-arr.webp) no-repeat;
    background-size: 100%;
    background-position: center center;
    opacity: 1;
}

/* footer */

.sT-1{
    padding-top: 100px;
}


/* 03 ADD CSS */

#point .in .in-in > .txt{
    width: 79%;
    margin-left: auto;
    padding: 5% 0;
    padding-right: 7%;
}


#point .txt > h2{
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.1em;
    position: relative;
    padding-bottom: 1%;
    border-bottom: 1px dotted #000;
}

#point .txt > h3 i{
    font-size: 12px;
    letter-spacing: 0px;
    padding-left: 5px;
    display: block;
    font-style: normal;
}

#point .txt > h3{
    font-size: 30px;
    padding-top: 3%;
    line-height: 1.4;
}

#point .txt > h3 small{
    font-size: 18px;
    padding-right: 10px;
}

#point .txt > h3 small.note{
    font-size: 12px;
    padding-top: 10px;
    display: block;
}

#point .txt > h3 b{
    font-size: 20px;
    padding-left: 5px;
}

#point .cv-btn{
    width: 200px;
    height: 60px;
    position: absolute;
    right: 0%;
    top: 32.5px;
    margin: auto;
}

.fff{
    background: #fff;
}



/* スタイリング */


.sT-1 .item-w{
    padding: 3.5% 0;
}


.sT-1 h2{
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.1em;
    position: relative;
}

.sT-1 h3{
    font-size: 30px;
    padding-top: 15px;
}

.sT-1 h3 small{
    font-size: 18px;
    padding-right: 10px;
}

.sT-1 h3 small.note{
    font-size: 12px;
    padding-top: 10px;
    display: block;
}

.sT-1h3 b{
    font-size: 25px;
    padding-left: 5px;
}

.sT-1 .txt .cv-btn{
    width: 200px;
    height: 60px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.item-w{
    width: 85%;
    margin: auto;
    padding: 5% 0;
    border-bottom: 1px dotted #000 ;
}

.item-last{
}


.sT-1 .item-w .txt{
    width: 100% !important;
    padding: 2% 0 2% 0 !important;
}

.sT-1 .item-w .txt:first-child{
    padding-top: 5% !important;
}

.sT-1 .item-w .txt h2{
    border-bottom: none !important;
    padding-bottom: 1% !important;
}

.sT-1 .item-w .txt h3{
    padding-top: 0px !important;
}

.cv-pad{
    padding: 8% 0;
}

.atag-1{
    width: 72%;
    height: 100%;
    position: absolute;
    left: 21.1%;
    top: 0;
    margin: auto;
    z-index: 10;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.atag-1:hover{
    background: #fff;
    opacity: 0.3;
}


.atag-2{
    width: 86%;
    height: 52%;
    position: absolute;
    left: 0;
    right: 0;
    top: 24%;
    margin: auto;
    z-index: 10;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    border-radius: 10px;
}

.atag-2:hover{
    background: #fff;
    opacity: 0.3;
}


.atag-3{
    width: 86%;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0%;
    margin: auto;
    z-index: 10;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    border-radius: 10px;
}

.atag-3:hover{
    background: #fff;
    opacity: 0.3;
}

.page-top {
    width: 8%;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

.z999{
    z-index: 999;
}

/* ==========================================================
!SP media queries css
========================================================== */

@media screen and (max-width:768px) {
    
    
    /*
    COMMON PART
    ============================================= */
    
    section {
        overflow: hidden;
        background-size: 100%;
    }
    
    .in > .txt h2{
        font-size: 18px;
    }
    
    .pA-box h2{
        font-size: 18px;
    }
    
    .in > .txt h3{
        font-size: 18px;
    }
    
    .pA-box h3{
        font-size: 18px;
    }
    
    .in > .txt h3 small{
        font-size: 12px;
    }
    
    .pA-box h3 small{
        font-size: 12px;
    }
    
    .in > .txt h3 b {
        font-size: 18px;
    }
    
    .pA-box h3 b{
        font-size: 18px;
    }
    
    .icon {
        width: 198px;
    }
    
    .i2 {
        width: 168px;
    }
    
    .i3 {
        width: 175px;
    }
    
    .pA-box > .txt .cv-btn {
        width: 130px;
        height: 39px;
        top: 34.5px;
    }
    
    #style_03{
        padding-bottom: 40px;
    }
    
    .slick-next {
        right: -20px;
        width: 40px;
        height: 40px;
    }
    
    .slick-prev {
        left: -20px;
        width: 40px;
        height: 40px;
    }
    
    .pA-box h3 small.note{
        font-size: 10px;
    }

    
    
    #fv{
        background: url(../img/back-sp.jpg);
        background-position: center center;
    }
    
    #point {
        margin-top: -60px;
    }
    
    #point .txt > h2 {
        font-size: 15px;
        padding-bottom: 6%;
    }
    
    #point .txt > h3 {
        font-size: 20px;
        padding-top: 6%;
        line-height: 1.5;
    }
    
    #point .txt > h3 small {
        font-size: 12px;
    }
    
    #point .txt > h3 b {
        font-size: 12px;
    }
    
    .over-in{
        display: none;
    }
    
    .sT-1 {
        padding-top: 50px;
    }
    
    #point .cv-btn {
        width: 120px;
        height: 37px;
    }
    
    #point .txt > h3 i{
        font-size: 9px;
    }
    
}/* end */

































































