@charset "utf-8";

/* ==================================================================
	lp.css
=================================================================== */

/* --------------------------------
   □  accentBox 
--------------------------------*/ 
.accentBox{
	z-index:1;
	position:relative;
    height: 100%;
	text-align:center;
	overflow: hidden;
}
.accentBox .mv{
    width: 100vw;
    height: 100vh;    
    margin-bottom: 0; 
}
.accentBox .mv img{        
    object-fit: cover;
    width: 100%;
    height: 100%; 
}
.accentBox .catch{
    position: absolute;
    top: 50%;    
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: calc( 4% + 60px);
    width: 544px;
    min-height: 463px;    
    padding: 50px;
    background-color: rgba(255, 255, 255, 0.7);
    box-sizing: border-box;
}
.accentBox .catch .circle{
    position: absolute;
    top: -25px;
    right: -49px;
    width: 107px;
    height: 107px;
}
.accentBox .catch h2{
    font-weight: 400;
    font-size: 143.75%;
    line-height: 1.5;
}
.accentBox .catch h2 .sml{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 117.39%;
    letter-spacing: 0.1em;
    line-height: 2;
  }
  .accentBox .catch h2 .sml:before,
  .accentBox .catch h2 .sml:after {
    content: '';
    flex-grow: 1;
    height: 2px;
    background: #49565E;
  }  
  .accentBox .catch h2 .sml:before {
    margin-right: 20px;
  }  
  .accentBox .catch h2 .sml:after {
    margin-left: 20px;
  }
  .accentBox .catch h2 .big{
    font-weight: 700;
    font-size: 33.125%;
    font-size: 326.08%;
    letter-spacing: 0.1em;
  }
.accentBox .catch h2,
.accentBox .catch p{
    text-align: center;
    margin-bottom: 20px;
}
.accentBox .buttonStyle a {
    width: 100%;
}
a.scroll {
    display: inline-block;
    position: absolute;
    bottom: 40px;
    right: 40px;
    padding: 0px 0px 90px;
    overflow: hidden;
    line-height: 1;
    letter-spacing: .2em;
    text-decoration: none;
    writing-mode: vertical-rl;
}
    a.scroll span{
        display:inline-block;
        color: #49565E;
        text-align: center;
		font-size: 68.75%;
        font-weight: 700;      
    } 
    a.scroll::after{
        content: '';
        position: absolute;
        bottom: 0;
        left: 45%;
        width: 1px;
        height: 80px;
        background: #49565E;
    }
    .scroll::after{
        animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
    }
	@keyframes sdl{
		0% {
		  transform: scale(1, 0);
		  transform-origin: 0 0;
		}
		50% {
		  transform: scale(1, 1);
		  transform-origin: 0 0;
		}
		50.1% {
		  transform: scale(1, 1);
		  transform-origin: 0 100%;
		}
		100% {
		  transform: scale(1, 0);
		  transform-origin: 0 100%;
		}
	  }    

/* --------------------------------
   □  about
--------------------------------*/ 
#about{
    background: #F0F0F0 url(../../images/lp/about_bg.png) center top no-repeat;
    background-size: 100% auto;
}
#about p{
    margin: auto;
    text-align: center;
}
#about p.logo{
    margin-bottom: 45px;
}
#about .lv3{
    font-size: 200%;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin-bottom: 45px;
}
#about .text{
    font-size: 112.5%;
    line-height: 2;
    letter-spacing: 0.1em;
}
#about .image{
    margin-right: calc(50% - 50vw);
}

/* --------------------------------
   □  benefit
--------------------------------*/ 
#benefit{
    padding-top: 0;
    background: url(../../images/lp/benefit_bg.png) no-repeat left bottom;
}
#benefit .flex .merit{
    max-width: 598px;
    width: 47%;
    background-color: #FFFFFF;
    padding: 50px;
    box-sizing: border-box;
    border-radius: 8px;
    box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
    position: relative;
}
    #benefit .flex .merit:before{
        position: absolute;
        left: 23px;
        top: -23px;
        content: "";
        width: 2px;
        height: 105px;
        background: #B0954F;
        transform: rotate(45deg);
    }
#benefit .flex ul.check {
	list-style: none;    
    line-height: 2.2;
}
#benefit .flex ul.check li{
    font-size: 93.75%;
	padding-left: 30px;
	background: url(../../images/lp/check.svg) left 0px top 10px no-repeat;
    background-size: 15px auto;
}
#benefit .flex .merit .lv4 {
    font-size: 175%;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}
    #benefit .flex .merit .lv4:before{
        content: "";
        display: inline-block;
        width: 61px;
        height: 40px;
        background: url(../../images/lp/benefit1.svg) no-repeat left center;
        background-size: contain;
        vertical-align: bottom;
        margin-right: 12px;
    }
    #benefit .flex .merit2 .lv4:before{
        width: 40px;
        height: 44px;
        background: url(../../images/lp/benefit2.svg) no-repeat left center;
        background-size: contain;
    }

/* --------------------------------
   □  facility
--------------------------------*/ 

/* ◆ slickSlider
	-------------------------------- */
    ul.slickSlider li{
        margin-right: 32px;
    }
    ul.slickSlider li p{
        overflow: hidden;
        border-radius: 8px;
    }
    ul.slickSlider li img{
        display: block;
        width:100%;
    }
    ul.slickSlider li .buttonStyle img{
        display: inline;
        width:auto;
		height: 23px;
    }
    ul.slickSlider .slick-list{
        overflow: visible;
    }
    ul.slickSlider > li{
        margin: 0 20px;
    }
    ul.slickSlider .prev-arrow,
    ul.slickSlider .next-arrow{
        position: absolute;
        bottom: -90px;
        z-index: 10;
    }
    ul.slickSlider .prev-arrow:hover,
    ul.slickSlider .next-arrow:hover{
        opacity: 0.7;
        cursor:pointer;
        transition: all 300ms 0s ease;
    }
    ul.slickSlider .prev-arrow{
        right: 100px;
    }
    ul.slickSlider .next-arrow{
        right: 24px;
    }
    ul.slickSlider .slick-dots{
        bottom: -70px;
        z-index: 10;
        width: auto;
    }
    ul.slickSlider .slick-dots li{
        margin: 0 10px 0 0;
        height: 12px;
        width: 12px;
    }
    ul.slickSlider .slick-dots li button:before {
        font-size: 30px;
        line-height: 12px;
        width: 12px;
    }
    ul.slickSlider .slick-dots li button {
        padding: 0;
        height: 12px;
        width: 12px;
    }

/* --------------------------------
   □  floor
--------------------------------*/
#floor{
    background-color: #E8E8E8;
    border-radius: 8px;
}
#floor .container{
    padding: 0 6%;
}
#floor p.image {
    margin-bottom: 70px;
}
#floor .flex .txts{
    margin-right: 40px;
    min-width: 195px;
}
#floor .flex .txts .lv4 {
    font-size: 300%;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-bottom: 35px;
    text-align: left;
}
#floor .flex .txts p {
    font-size: 93.75%;
    line-height: 2;
}

/* --------------------------------
   □  access
--------------------------------*/ 
#access .flex{    
    margin-right: calc(50% - 50vw);
    flex-direction: row-reverse;
}

#access .map{
    flex: 2 1 680px;
    height: 550px;
}
#access .map iframe{
    height: 100%;
    width: 100%;
    object-fit: cover;
}
#access .txts{
    margin-right: 20px;
    max-width: 420px;
}
#access .txts {
    flex: 1 1 650px;
}
    #access .txts .lv3,
    #access .txts .txt {
        text-align: left;
        margin-bottom: 40px;
    }
    #access .txts .txt {
        line-height: 2;    
        margin-bottom: 60px;
    }
    #access .address{
        margin-bottom: 30px;
    }    
    .gmap{
        font-size: 75%;
        font-weight: 700;
    }
    .gmap a .en{
        border-bottom: 1px solid #B0954F;
        color: #B0954F;
        letter-spacing: 0.2em;
    }
        .gmap a:after {
            content: url(../../images/lp/blank.svg);
            width: 10px;
            height: 10px;
            vertical-align: sub;
            padding-left: 0.5em;
        }
        .gmap a:hover {
            opacity: 0.7;
        }      
    
    ul.listdot{
        margin-bottom: 20px;
        line-height: 2;
    } 
    ul.listdot > li{    
        font-size: 81.25%;
        list-style-type: none;
        position: relative;
        padding-left: 1.5em;
        text-align: left;
    }            
    ul.listdot > li:before{
            display: block;
            position: absolute;
            content: "";
            background: #49565E;
            top: 0.7em;
            left: 0;
            border-radius: 50%;
            width: 7px;
            height: 7px;
        }

/* --------------------------------
   □  overview
--------------------------------*/ 
#overview{
    background-color:#E8E8E8;
}
#overview .tableStyle{
    margin-bottom: 30px;   
}
#overview .tableStyle .gmap a .en{
    margin-left: 12px;
    font-size: 106.6%;
}
.asterisk{
    line-height: 2;
}
.asterisk li{
    text-indent: -1em;
    padding-left: 1em;
    text-align: left;
    font-size: 87.5%;
    margin-bottom: 10px;
}

/* --------------------------------
   □  contact
--------------------------------*/ 
#contact{
    background-color: #49565E;
    color: #fff;
}
#contact .buttonStyle{
    margin: 25px auto 30px;
}
#contact .buttonStyle a{
    width: 600px;
}
	

/* SP用
-------------------------------------------- */
@media only screen and
(max-width : 767px) { 
    /* --------------------------------
    □  accentBox 
    --------------------------------*/
    .accentBox {
        padding-top: 0;
        width: auto;
        margin: 0 -4%;
    }
    .accentBox .mv{
        height: 50vh;
    }
    .accentBox .container {
        height: auto;
        min-height: inherit;
        margin: 0;
    }
    .accentBox .catch {
        position: static;
        width: auto;
        min-height: inherit;
        padding: 8% 4%;
        transform: translateY(0);        
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
    }
    .accentBox .catch h2 {
        font-size: 100%;
    }
    .accentBox .catch .buttonStyle {
        margin-bottom: 12px;
    }
    .accentBox .catch .circle {
        top: -50px;
        right: 4%;
        width: 69px;
        height: 69px;
    }
    a.scroll {
        display: none;
    }

    /* --------------------------------
    □  about
    --------------------------------*/ 
    #about .lv3 {
        font-size: 187.5%;
        margin-bottom: 30px;
    }
    #about .text {
        font-size: 93.75%;
        margin-bottom: 30px;
    }

    /* --------------------------------
    □  benefit
    --------------------------------*/ 
    #benefit .flex .merit {
        max-width: inherit;
        width: 100%;
        padding: 40px 20px;
    }
    #benefit .flex .merit:first-child {
        margin-bottom: 40px;
    }
    #benefit .flex .merit .lv4 {
        font-size: 137.5%;
        margin-bottom: 20px;
    }
    #benefit .flex .merit:before,
    #benefit .flex .merit .lv4:before {
        zoom: 70%;
    }

    /* --------------------------------
    □  facility
    --------------------------------*/ 
    ul.slickSlider li{
        margin-right: 12px;
    }    
    ul.slickSlider .slick-list{
        padding: 0!important;
    }    
    ul.slickSlider .prev-arrow,
    ul.slickSlider .next-arrow{
        width: 40px;
        bottom: -70px;
        z-index: 10;
    }    
    ul.slickSlider .prev-arrow{
        right: 50px;
    }    
    ul.slickSlider .next-arrow{
        right: 0;
    }      
    ul.slickSlider .slick-dots {
        bottom: -50px;
    }
    ul.slickSlider .caption {
        font-size: 87.5%;
    } 

    /* --------------------------------
    □  floor
    --------------------------------*/ 
    #floor {
        margin: 0 -4%;
        border-radius: 0;
    }
    #floor .container{
        padding: 0 4%;
    }
    #floor p.image {
        margin-bottom: 50px;
    }
    #floor .flex .txts {
        margin-bottom: 20px;
        margin-right: 0;
        text-align: center;
    }
    #floor .flex .txts .lv4 {
        font-size: 187.5%;;
        margin-bottom: 20px;
        text-align: center;
    }
    #floor .flex .txts p {
        margin-bottom: 30px;
    }
    #floor .flex:last-child p.image:last-child {
        margin-bottom: 0;
    }
    
    /* --------------------------------
    □  access
    --------------------------------*/ 
    #access .flex {
        flex-flow: wrap-reverse;
        margin-right: 0;
    }
    #access .flex >* {
        flex:0 1 auto;
        width: 100%;
        margin: 0 0 10px;
        max-width: inherit;
    }
    #access .flex .map {
        width: 108%;
        margin: 0 -4%;
    }
    #access .txts .lv3 {
        text-align: center;
    }

    /* --------------------------------
    □  overview
    --------------------------------*/ 

    /* --------------------------------
    □  contact
    --------------------------------*/ 
    #contact .text {
        font-size: 93.75%;
    }
    #contact .buttonStyle a {
        width: 100%;
        font-size: 93.75%;
    }
    #contact .text:last-child {
        font-size: 87.5%;
    } 

}