@charset "UTF-8";
/*タイトル
---------------------*/
.h1_style{
    max-width: 35rem;
    margin: auto;
}
.h2_style{
    font-size: 2.4rem;
    font-family: 'Zen Maru Gothic', sans-serif;
    margin-bottom: 4rem;
    color: #EA5504;
    font-weight: 100;
}
@media screen and (max-width: 680px) {
.h1_style{
    max-width: 60%;
}
}
/*ボタンスタイル
---------------------*/
.btn_style01{
    display: flex;
    flex-wrap: wrap;
    margin-top: 6rem;
}
.btn_style01.center{
    justify-content: center;
}
.btn_style01 li:first-child{
    margin-right: 5rem;
}
.btn_style01 li{
    margin-bottom: 1rem;
}
.btn_style01 a{
    position: relative;
    display: inline-block;
    background: #EA5504;
    border: 2px solid #EA5504;
    color: #ffffff;
    padding: 1.5rem 0;
    width: 22.5rem;
    text-align: center;
    font-size: 1.6rem;
    transition: .5s;
}
@media screen and (max-width: 680px) {
.btn_style01 li:first-child{
    margin-right: 0;
    margin-bottom: 1rem;
}
.btn_style01 li{
    width: 100%;
    text-align: center;
}
}
.btn_style01.bk a{
    background: #333;
    border: 2px solid #333;
}
.btn_style01 a:hover{
    background: #fff;
    color: #EA5504;
    font-weight: bold;
}
.btn_style01.bk a:hover{
    background: #fff;
    color: #333;
}
.btn_style01 a:after{
    content: "";
    display: inline-block;
    width: 3.3rem;
    height: 3.3rem;
    background: url("../img/arrow.png") no-repeat center center / cover;
    position: absolute;
    right: -1.65rem;
    top: 50%;
    transform: translateY(-50%);
    transition: .3s;
}
.btn_style01.bk a:after{
    background: url("../img/arrow_bk.png") no-repeat center center / cover;
}
.btn_style01 a:hover:after{
    background: url("../img/arrow_hover.png") no-repeat center center / cover;
    right: -2rem;
}
.btn_style01.bk a:hover:after{
    background: url("../img/arrow_bk_hover.png") no-repeat center center / cover;
    right: -2rem;
}
/*header
---------------------*/
.header{
    position: relative;
    width: 100%;
    height: 95vh;
    background: url("../img/mv_top.png") no-repeat left top / 53% ,
    url("../img/mv_bottom.png") no-repeat right bottom -1px / 53% ;
}
.header_wrap{
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.mv_btn{
    justify-content: center;
}

@media screen and (max-width: 680px) {
.header{
    max-height: 37rem;

}
.header_wrap{
    width: 100%;
    position: initial;
    transform: none;
    top: auto;
    left: auto;
    display: flex;
    align-content: center;
}
.h1_style{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
}
/*@media screen and (max-width: 680px) {
.mv_btn{
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
}
.mv_btn li{
    width: 50%;
}
.mv_btn li a{
    width: 100%;
    max-width: 100%;
    display: block;
    margin: 0;
    border-radius: 0;
}
.mv_btn li:first-child a{
    border-right: 1px solid #fff;
}
.mv_btn li:nth-child(2) a{
    border-left: 1px solid #fff;
}
}*/
/*read
---------------------*/
.read_text{
    font-family: 'Zen Maru Gothic', sans-serif;
    width: 68%;
}
.read_img{
    width: 30%;
}
@media screen and (max-width: 680px) {
.read_wrap{
    position: relative;
}
.read_text{
    width: 100%;
    order: 2;
    padding-top: 2rem;
}
.read_img{
    width: 30%;
    order: 1;
    position: absolute;
    right: 0;
    top: 1rem;
}
}
/*about
---------------------*/
.about_list .flex_style{
    margin-bottom: 6rem;
}
.about_img,
.about_text{
    width: 48%;
}
.about_text p{
    max-width: 45rem;
}
.about_list li .h4_style{
    padding-left: 13rem;
}

.about_list li .h4_style:before{
    content: "";
    display: inline-block;
    width: 11rem;
    height: 8rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-56%);
}
.about_list li:first-child .h4_style:before{
    background: url("../img/num01.png") center center / contain;
}
.about_list li:nth-child(2) .h4_style:before{
    background: url("../img/num02.png") center center / contain;
}
.about_list li:last-child .h4_style:before{
    background: url("../img/num03.png") center center / contain;
}
@media screen and (max-width: 890px) {
.about_img,
.about_text{
    width: 100%;
    max-width: 45rem;
    margin: auto;
}
.about_img{
    order: 2;
    margin-top: 2rem;
}
.about_text{
    oreder:1;
}
.about_text .h4_style{
    padding-top: 10rem;
    text-align: center;
}
.about_list li .h4_style{
    padding-left: 0;
}
.about_list li .h4_style:before{
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}
}
/*price
---------------------*/
.price_list{
    margin: 5.2rem 0;
}
.price_list li{
    width: 24.5%;
}
.announcement{
    color: #fff;
    font-size: 2.4rem;
    text-align: center;
    line-height: 1.6;
}
.flow_list li{
    width: 16.85%;
}
.flow_list li:last-child{
    width: 15.75%;
}
@media screen and (max-width: 680px) {
.price_list li{
    width: 100%;
    margin-bottom: 3rem;
    text-align: center;
}
.price_list li:last-child{
    margin-bottom: 0;
}
.announcement{
    font-size: 2rem;
}
.flow_list {
    justify-content: center;
}
.flow_list li{
    width: 30%;
    margin-bottom: 1rem;
}
.flow_list li:last-child{
    width: 27.5%;
}
}
/*vioce
---------------------*/
.voice_list li{
    width: 31%;
    padding: 2.5rem;
    border: 1px solid #333;
    background: #fff;
    text-align:justify;
}
.voice_list li img{
    margin-bottom: 1.5rem;
}
@media screen and (max-width: 680px) {
.voice_list{
justify-content: center;
}
.voice_list li{
    width: 100%;
    max-width: 35rem;
    margin: auto;
    margin-bottom: 2rem;
}
}
/*faq
---------------------*/
.qa-006 {
    max-width: 100%;
    margin-bottom: 5px;
    border-bottom: 1px solid #333333;
}
/* Chrome、Safari以外 */
summary {
  display: block;
}
/* Chrome、Safari */
summary::-webkit-details-marker {
  display: none;
}
.qa-006 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.qa-006 summary::before,
.qa-006 p::before {
    position: absolute;
    left: .5em;
}

.qa-006 summary::before {
    content: "Q";
    font-size: 2.4rem;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 100;
}
.qa-006 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}
.qa-006[open] summary::after {
    transform: rotate(225deg);
}
.qa-006 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}
.qa-006[open] p {
    transform: none;
    opacity: 1;
}
.qa-006 p::before {
    line-height: 1.2;
    content: "A";
    font-size: 2.4rem;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 100;
}
/*access
---------------------*/
.company_wrap{
    margin-bottom: 6rem;
}
.map{
    width: 50%;
}
.map iframe{
    width: 100%;
    height: 100%;
}
.company_list{
    width: 47%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}
.company_list dt{
    width: 20%;
    border-bottom: 1px solid #333;
    padding: 1.5rem 1rem;
}
.company_list dd{
    width: 80%;
    border-bottom: 1px solid #333;
    padding: 1.5rem 1rem;
}
.shop_ico,
.parking_ico{
    padding-left: 5.5rem;
}
.shop_ico.h4_style:before{
    content: "";
    display: inline-block;
    width: 4rem;
    height: 4rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url("../img/ico_shop.png") no-repeat center center / contain;
}
.parking_ico.h4_style:before{
    content: "";
    display: inline-block;
    width: 4rem;
    height: 4rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url("../img/ico_car.png") no-repeat center center / contain;
}
.img_list li{
    width: 32%;
}
@media screen and (max-width: 680px) {
.map{
    width: 100%;
    height: 35rem;
    order: 2;
}
.company_list{
    width: 100%;
    order: 1;
    margin-bottom: 2rem;
}
.img_list li{
    width: 100%;
    margin-bottom: 2rem;
}
.company_list dt{
    width: 25%;
}
.company_list dd{
    width: 75%;
}

}
#loading {
    width: 100vw;
    height: 100vh;
    transition: all 1s;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}
.spinner {
  width: 300px;
  height: 300px;
}
/************************
LOADING
*************************/
#splash {
    position: fixed;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 9999999;
}

#splash-logo {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;

}
#splash-logo img{
    max-width: 30rem;
}
body.mysite #splash{
    display: none;
}
/************************
NEXT PAGE
*************************/
.splashbg{
    display: none;
}
body.appear .splashbg{
    display: block;
    content: "";
    position:fixed;
    z-index: 999;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform: scaleY(0);
    background-color: #EA5504;
    animation-name:PageAnime;
    animation-duration:1.2s;
    animation-timing-function:ease-in-out;
    animation-fill-mode:forwards;
}
body.mysite .splashbg{
    display: none;
}
@keyframes PageAnime{
  0% {
    transform-origin:top;
    transform:scaleY(0);
  }
  50% {
    transform-origin:top;
    transform:scaleY(1);
  }
  50.001% {
    transform-origin:bottom;
  }
  100% {
    transform-origin:bottom;
    transform:scaleY(0);
  }
}
#container{
  opacity: 0;
}
body.appear #container{
    animation-name:PageAnimeAppear;
    animation-duration:3s;
    animation-delay: 0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
}
body.mysite #container{
    animation-name:PageAnimeAppear;
    animation-duration:0;
    animation-delay: 0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
}
@keyframes PageAnimeAppear{
    0% {
    opacity: 0;
    }
    100% {
    opacity: 1;
    }
}