@charset "utf-8";



/* main */

main {
    width: 100%;
    height:100vh;
    margin:0 auto;
    padding:0;
    position:relative;
    z-index:1;
}
main .main {z-index:2;}
main .main-01 {width:100%; height:100vh; background:url("../img/main-pc-01.jpg") bottom center no-repeat; background-size:cover;}
main .main-02 {width:100%; height:100vh; background:url("../img/main-pc-02.jpg") bottom center no-repeat; background-size:cover;}
main .main-03 {width:100%; height:100vh; background:url("../img/main-pc-03.jpg") bottom center no-repeat; background-size:cover;}

@media only screen and (max-width:640px){
    
    main {
        width:100%;
        height:100vh;
        margin: 0 auto;
        padding:0;
        position:relative;
    }
    main .main-01 {width:100%; height:100vh; background:url("../img/main-sp-01.jpg") center no-repeat; background-size:cover;}
    main .main-02 {width:100%; height:100vh; background:url("../img/main-sp-02.jpg") center no-repeat; background-size:cover;}
    main .main-03 {width:100%; height:100vh; background:url("../img/main-sp-03.jpg") center no-repeat; background-size:cover;}
}



/* slide */

.slide {
    width: 100%;
    height:100%;
    position:absolute; top:0; left:0; right:0;
    margin: 0;
    padding:0;
    z-index: -1;
}
.slide .item {
    height: 100%;
    position: relative;
}
.slide .item img {
    height:100%;
    margin:auto;
    position:absolute; top:0; bottom:0; right:0; left:0;
}
.slide > .slick-list,
.slide > .slick-list > .slick-track,
.slide > .slick-list > .slick-track > .slick-slide > div {
    height:100%;
    position:relative;
}
.slide-animation {
    animation: fadezoom 10s 0s forwards;
}
@keyframes fadezoom {
      0% {transform:scale(1.1);}
    100% {transform:scale(1.2);}
}

@media only screen and (max-width:640px){
}



/* click_to_go_to_page */

.click_to_go_to_page {
    margin:0 auto 100px;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
}
.click_to_go_to_page h3 {
    width:100%;
    margin-bottom:10px;
    text-align: center;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center; flex-direction:column;
}
.click_to_go_to_page h3 span.en {
    font-size:2.5rem;
    line-height:1.2;
}
.click_to_go_to_page h3 span.mincho {
    font-size:1.2rem;
}
.click_to_go_to_page a {
    padding:5px 25px;
    color:#8ccdd2;
    font-size: 1.3rem;
    line-height:1.5;
    border-radius:5px;
    border:solid 2px #8ccdd2;
    position:relative;
    transition: .8s;
}
.click_to_go_to_page a:hover {
    opacity:1;
    color:#fff;
    background:#8ccdd2;
}
.click_to_go_to_page a::before {
    content: "";
    width: 30px;
    height:30px;
    margin:auto;
    position:absolute; bottom:-50px; left:0; right:0;
    display: inline-block;
    vertical-align: middle;
    color:#8ccdd2;
    line-height: 1;
    border: 1px solid currentColor;
    border-left: 0;
    border-bottom:0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg);
    transition: .8s;
}
.click_to_go_to_page a:hover::before {
    bottom:-60px;
}

@media only screen and (max-width:640px){
    
    .click_to_go_to_page h3 span.en {
        font-size:1.7rem;
    }
    .click_to_go_to_page h3 span.mincho {
        font-size:1.1rem;
    }
}



/* about */

.about {
    padding-top:120px;
}
.about h3 span.en {
    margin-bottom:10px;
    font-size:2.2rem;
    line-height: 1.5;
}
.about h3 span.mincho {
    display: block;
    font-size:1.2rem;
    line-height: 1.5;
}

.about p {
    width:80%;
    max-width:650px;
    margin:50px auto 0;
    text-align: center;
}
.about p b {
    margin-bottom:10px;
    display:block;
    font-size:1.2rem;
}

.about .contact {
    width:80%;
    max-width:600px;
    margin:50px auto 0;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
}
.about .contact p {
    width:100%;
    margin: 0;
    color:#8ccdd2;
    font-size:1.2rem;
    text-align: center;
}
.about .contact a {
    font-size:1.2rem;
    color:#8ccdd2;
    line-height: 1;
}
.about .contact a span {
    font-size:2rem;
}

@media only screen and (max-width:640px){
    
    .about {
        padding-top:80px;
    }
    .about h3 span.en {
        font-size:2rem;
    }
}



/* plan */

.plan ul {
    width:100%;
    margin: 0;
    padding:50px 0 100px;
    overflow: hidden;
}
.plan ul li {
    padding:20px 0 0;
    position:relative;
    transition: .5s;
}

.plan ul li[class^="plan-"]::after {
    content: "";
    width: 100px;
    height:100px;
    position:absolute; top:0; left:0;
}
.plan ul li.plan-01::after {background:url("../img/plan-01.png") center no-repeat; background-size:cover;}
.plan ul li.plan-02::after {background:url("../img/plan-02.png") center no-repeat; background-size:cover;}
.plan ul li.plan-03::after {background:url("../img/plan-03.png") center no-repeat; background-size:cover;}
.plan ul li.plan-04::after {background:url("../img/plan-04.png") center no-repeat; background-size:cover;}
.plan ul li.plan-05::after {background:url("../img/plan-05.png") center no-repeat; background-size:cover;}
.plan ul li.plan-06::after {background:url("../img/plan-06.png") center no-repeat; background-size:cover;}

.plan ul li img {
    width:100%;
    margin:0 auto;
    display:block;
    border-radius:800px;
}
.plan ul li h4 {
    width:100%;
    margin:0 auto 10px;
    font-size:3rem;
    font-weight:400;
    color:#bea073;
    text-align:center;
    line-height: 1;
    letter-spacing:0;
}
.plan ul li h4 b {
    font-weight:normal;
}
.plan ul li h4 small {
    margin-left:5px;
    font-size:0.9rem;
}
.plan ul li p {
    width:80%;
    margin:0 auto;
    text-align:center;
    line-height: 1.6;
}
.plan ul li p.mincho {
    width:100%;
    margin-top:20px;
    font-size:1.4rem;
    color:#bea073;
    letter-spacing:0;
}
.plan ul li > div {
    width:75%;
    margin:10px auto 15px;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:center; align-items:center;
}
.plan ul li > div span {
    width:32.2%;
    margin:3px 0;
    padding: 0;
    font-size:0.9rem;
    color:#fff;
    text-align:center;
    line-height:1.8;
    background:#969696;
}

.plan ul li:not(.slick-center) {
    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
    -ms-transform: scale(0.8);
    -o-transform: scale(0.8);
    transform: scale(0.8);
}
.plan ul li:not(.slick-center) img ,
.plan ul li:not(.slick-center) h4 ,
.plan ul li:not(.slick-center) p ,
.plan ul li:not(.slick-center) div {
    opacity: .3;
    transition: .5s;
}

@media only screen and (max-width:640px){

    .plan ul {
        padding:10px 0 80px;
    }
    .plan ul li {
        padding:30px 0 0;
    }
    
    .plan ul li[class^="plan-"]::after {
        width: 85px;
        height:85px;
    }
    .plan ul li span {
        width:90%;
        margin: 0 auto;
        display: block;
        background:#fcf9f2;
    }
    .plan ul li p {
        width:90%;
        margin:0 auto 10px;
    }
    .plan ul li > div {
        width:100%;
    }
}



/* point */

.point {
    margin-bottom:50px;
}
.point ul {
    width:80%;
    max-width:1300px;
    margin:0 auto;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:stretch; align-items:stretch;
}
.point ul li {
    width:27%;
    margin:50px 0 0;
    padding:20px 0 0 3%;
    position:relative;
}
.point ul li h4 {
    padding:15px 5px;
    font-size:1.7rem;
    color:#fff;
    line-height:1.3;
    position:absolute; top:0; left:0;
    -ms-writing-mode:tb-rl;
    writing-mode:vertical-rl;
    background:rgba(140,205,210,0.9);
    z-index:100;
}
.point ul li img {
    max-width:100%;
    margin:0 auto 25px;
    display:block;
    position:relative;
    z-index:10;
}
.point ul li p {
    width:100%;
    line-height:2;
}
.point ul li p b {
    font-weight:normal;
    color:#f54678;
}
.point ul li strong {
    margin: 15px auto;
    padding:15px 0;
    display:block;
    font-size:1rem;
    color:#bea073;
    text-align:center;
    line-height:1.5;
    letter-spacing:0.05rem;
    border-top:dashed 1px #bea073;
    border-bottom:dashed 1px #bea073;
}

@media only screen and (max-width:640px){
    
    .point h3 span.en {
        font-size:3.4rem;
    }
    .point .sp {
        width:90%;
        margin:30px auto;
        display:flex; flex-flow:row wrap; justify-content:space-between; align-content:stretch; align-items:stretch;
    }
    .point .sp a {
        width:31%;
        padding:20px 0 80px;
        font-size:0.8rem;
        line-height:1.5;
        text-align:center;
        letter-spacing:0;
        position:relative;
        border:solid 1px #8ccdd2;
        border-radius:100px;
        background:#fff;
    }
    .point .sp a::after {
        content: "MORE";
        position:absolute; bottom:45px; left:0;
        width:100%;
        font-size:1rem;
        font-family:'Alice', serif;
        text-align:center;
        color:#bea073;
        line-height:1;
    }
    .point .sp a span.en {
        margin:0 auto 5px;
        display: block;
        font-size:3rem;
        color:#8ccdd2;
        text-align:center;
        line-height: 1;
    }
    .point .sp a b {
        margin:0 auto 5px;
        display:block;
        font-size:1rem;
        color:#8ccdd2;
        text-align:center;
    }
    .down {
        width: 16px;
        height:16px;
        margin:auto;
        position:absolute; bottom:20px; left:0; right:0;
        display:inline-block;
        vertical-align:middle;
        color:#bea073;
        line-height:1;
        border:2px solid currentColor;
        border-left:0;
        border-bottom:0;
        box-sizing:border-box;
        transform:translateY(-25%) rotate(135deg);
    }
    .point ul li {
        width:97%;
        margin:50px 0 0;
        padding-top:40px;
    }
    .point ul li::after {
        content: "";
        position:absolute; top:-30px; right:0;
        font-size:6.5rem;
        font-family:'Alice', serif;
        color:#8ccdd2;
        line-height:1;
        letter-spacing:0;
        z-index:100;
    }
    .point ul li:nth-of-type(1)::after {content:"01";}
    .point ul li:nth-of-type(2)::after {content:"02";}
    .point ul li:nth-of-type(3)::after {content:"03";}
    
    .point ul li::before {
        content: "Point";
        position:absolute; top:-5px; right:3.5em;
        font-size:2rem;
        color:#8ccdd2;
        font-family:'Alice', serif;
        line-height:1;
        z-index:100;
    }
    
    .point ul li h4 {
        left:-10px;
    }
    .point ul li img {
        margin:0 auto 20px;
    }
    .point ul li strong {
        font-size:1.1rem;
    }
}



/* flow */

.flow {
    background:url("../img/flowBg-pc.jpg") bottom center no-repeat fixed;
    background-size:cover;
}
.flow h3 {
    color:#fff;
}
.flow ol {
    width:100%;
    max-width:800px;
    margin:0 auto 80px;
    position:relative;
}
.flow ol li {
    margin:50px 0 0;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:flex-start; align-items:flex-start;
    position:relative;
}
.flow ol li div {
    margin: 0 0 10px;
    padding:0 0 0 80px;
    position:relative;
}
.flow ol li div::after {
    content: "";
    width: 62px;
    height:47px;
    padding:15px 0 0;
    font-size:1.8rem;
    color:#fff;
    text-align:center;
    line-height:1;
    position:absolute; top:0; left:0;
    border-radius:100px;
    border:solid 1px #fff;
}
.flow ol li:nth-of-type(1) div::after {content:"01";}
.flow ol li:nth-of-type(2) div::after {content:"02";}
.flow ol li:nth-of-type(3) div::after {content:"03";}
.flow ol li:nth-of-type(4) div::after {content:"04";}
.flow ol li:nth-of-type(5) div::after {content:"05";}

.flow ol li div span {
    display: block;
    font-size:2rem;
    line-height: 1;
}
.flow ol li div b {
    font-weight:normal;
    line-height: 1;
}

.flow ol li div span ,
.flow ol li div b ,
.flow ol li p {
    color:#fff;
}

.flow ol li p {
    width:100%;
    text-align:center;
    line-height:1.8;
}

@media only screen and (max-width:640px){
    
    .flow {
        background:url("../img/flowBg-sp.jpg") center no-repeat;
        background-size:cover;
    }
    .flow ol {margin:0 auto 50px;}
    .flow ol li {margin:40px 0 0;}
    .flow ol li div {padding:0 0 0 60px;}
    .flow ol li div::after {
        width: 45px;
        height:35px;
        padding:10px 0 0;
        font-size:1.6rem;
    }
    .flow ol li div span {font-size:1.5rem;}
    .flow ol li p {line-height:1.5;}
}



/* gallery */

.gallery {padding-top:120px;}

.gallery ul {
    width:100%;
    margin:50px auto 0;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
}
.gallery ul li {
    width:15%;
    margin:0;
}
.gallery ul li a {
    width:100%;
    margin:0 auto;
    display:block;
}
.gallery ul li a img {
    max-width:100%;
    margin:0 auto;
    display:block;
}

@media only screen and (max-width:640px){
    
    .gallery ul li {
        width:30%;
    }
}



/* contact */

.contact a.lineBanner {
    width:260px;
    margin:20px auto 0;
    padding:10px 0;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
    color:#00b900;
    font-weight:900;
    line-height:1.2;
    border:solid 2px #00b900;
    border-radius:50px;
    background:#fff;
}
.contact a.lineBanner img {
    max-width:40px;
    margin:0 15px 0 0;
}

.contact > div {
    width:100%;
    margin:30px auto 0;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
}
.contact > div a {
    font-size:1.5rem;
    color:#8ccdd2;
    line-height: 1.5;
}
.contact > div a span {
    font-size:3rem;
}

@media only screen and (max-width:640px){
    
    .gallery {padding-top:80px;}
}

#index {
    padding-right: 0px !important;
}

#scrtop {
    margin: 0 !important;
    padding: 0 !important;
}
