@charset "UTF-8";
/* CSS Document */

/* ===== zoom animation ===== */
@keyframes zoomUp {
from { transform: scale(1); }
to   { transform: scale(1.2); }
}

@keyframes kids01 {
0% {
transform:rotate(15deg);
}
60% {
transform:rotate(0deg);
}
100% {
transform:rotate(15deg);
}
}

@keyframes kids02 {
0% {
transform:rotate(-15deg);
}
60% {
transform:rotate(0deg);
}
100% {
transform:rotate(-15deg);
}
}

/*PC*/
@media print, screen and (min-width: 801px) {
main::before{
display: none;
}

/* MV
--------------------------------------------*/
#mv {
position: relative;
width: 100%;
height: 920px;
height: 100vh;
height: 100svh;
min-height: 900px;
padding-bottom:100px;
box-sizing: border-box;
z-index:10;
margin-bottom:0;
min-width: 1260px;/* ★ここが要件 */
overflow: hidden;
}

#mv::before {
content: "";
display: block;
position: absolute;
left: 0;
bottom: 140px;
width: 100%;
height: 40%;
background: #f0f5f5;
z-index: 1;
}

#mv .slider_scroll {
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
}

#mv .slider_wrap {
position: relative;
width: 97%;
height: 88%;
margin:0;
border-radius: 30px;
background: #fff;
z-index: 10;
overflow: hidden;
}

#mv .slider_wrap .slider li {
background-repeat: no-repeat;
background-size: cover;
background-position: center;
height: 100vh;
margin: 0;
}

#mv .slider_wrap .slider .slider01 { background-image: url("../images/slider/mv01.jpg"); }
#mv .slider_wrap .slider .slider02 { background-image: url("../images/slider/mv02.jpg"); }
#mv .slider_wrap .slider .slider03 { background-image: url("../images/slider/mv03.jpg"); }


#mv .add-animation {
animation: zoomUp 10s linear forwards;
}

#mv .r_wave {
content: "";
display: block;
position: absolute;
right: 0;
bottom: 420px;
width: 243px;
height: 200px;
background: url("../images/slider/fv_r.png");
background-size: cover;
z-index: 2;
}

/* ★ 一時停止中は zoom を止める */
#mv.is-paused .add-animation {
animation-play-state: paused !important;
}

/* ★追加：dots + ボタンを「スライダー外」に並べる */
#mv .slider_control {
position: relative;
z-index: 20;
display: flex;
align-items: center;
gap: 16px;
margin-top: 20px;
padding-left: 3%;
}

/* slickのdots（外に出したので position を無効化） */
#mv .slider_control .slick-dots {
order: 1;
position: static;
bottom: auto;
width: auto;
margin:-20px 0 0;
padding: 0;
}

/* dots を先頭に */
#mv .slider_control .slick-dots {
position: static;
margin:-20px 0 0; 
}

/* dotsの見た目（任意） */
#mv .slider_control .slick-dots li button:before {
font-size:50px;
}

/* 再生/停止ボタン */
#mv .slider_toggle {
order: 2;
border-radius:5px;
border: none;
background: #FFF;
border:1px solid #624b1e;
color: #624b1e;
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
padding: 5px;
font-size: 90%;
font-weight: 700;
line-height: 1;
}

#mv .slider_toggle:hover {
opacity: 0.85;
}

/* キーボードフォーカス視認性 */
#mv .slider_toggle:focus-visible {
outline: 3px solid rgba(0,0,0,0.35);
outline-offset: 2px;
}

#mv .slider_wrap .ttl_box{
position: absolute;
left: 3%;
top: 50%;
z-index: 20;
}

#mv .slider_wrap .ttl_box span{
display:table;
background: #fafaeb;
border-radius: 20px;
padding: 12px;
box-sizing: border-box;
font-size: 110%;
line-height: 1;
margin-bottom: 20px;
text-shadow: #fafaeb 2px 0px,#fafaeb -2px 0px, #fafaeb 0px -2px, #fafaeb 0px 2px, #fafaeb 2px 2px, #fafaeb -2px 2px, #fafaeb 2px -2px, #fafaeb -2px -2px, #fafaeb 1px 2px, #fafaeb -1px 2px, #fafaeb 1px -2px, #fafaeb -1px -2px, #fafaeb 2px 1px, #fafaeb -2px 1px, #fafaeb 2px -1px, #fafaeb -2px -1px;
box-shadow: 3px 3px 0px 0px #624b1e;
}

#mv .slider_wrap .ttl_box span:last-child{
margin-bottom: 0;
}

#mv .slider_wrap .ttl_box .ttl02{
position: absolute;
top: 88px;
left: 0;
width: 687px;
height:auto;
}

#mv .slider_wrap .ttl_box .ttl03{
position: absolute;
top: 180px;
left: 0;
width: 409px;
height:auto;
}



#mv .kids_wrap{
width: 40%;
position: absolute;
bottom:15%;
right: 4%;
z-index: 20;
}

#mv .kids_wrap .kids01{
position: absolute;
bottom: 0;
left: 0;
width:28%;
animation:kids01 1.5s linear infinite;
}

#mv .kids_wrap .kids02{
position: absolute;
bottom: 0;
left: 38%;
width:23%;
animation:kids02 1.5s linear infinite;
}

#mv .kids_wrap .kids03{
position: absolute;
bottom: 0;
right: 0;
width:33%;
animation:kids01 1.5s linear infinite;
}

#mv .wave{
background: url("../images/com/bg_weve_b2.png") center bottom no-repeat;
background-size: cover;
width: 100%;
height: 10%;
}

/*concept
----------------------------------------*/
#concept{
position:relative;
}

#concept::before{
content: "";
position: absolute;
width: 100%;
height: 100%;
top: -110px;
left: 0;
background: #f9f6f4;
z-index: -1;
}

#concept .wave{
background: url("../images/com/bg_weve_g.png") center top no-repeat;
background-size: cover;
width: 100%;
height: 80px;
}

#concept .concept_wrap{
width: 94%;
margin: 0 auto;
position: relative;
padding: 0 0 60px;
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#concept .concept_wrap .txt_box{
position: relative;
width: 50%;
margin-bottom: 60px;
}

#concept .concept_wrap .img_box{
width: 45%;
position: relative;
margin-bottom: 60px;
}

#concept .concept_wrap .img_box .child_img{
position: absolute;
bottom: 0;
left: 0;
width: 50%;
z-index: 5;
}

#concept .concept_wrap .concept_list{
width: 90%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: auto;
}

#concept .concept_wrap .concept_list li{
width: 30%;
position: relative;
}

#concept .concept_wrap .concept_list li .img{
position: relative;
margin: 0 0 20px;
}

#concept .concept_wrap .concept_list li .img .icon{
width: 90px;
position: absolute;
top: -30px;
left: -20px;
z-index: 5;
}

#concept .concept_wrap .concept_list li h3{
text-align: center;
font-size: 140%;
line-height: 1;
margin: 0 0 20px;
}

#concept .concept_wrap .concept_list li .txt{
margin-bottom: 40px;
}

#concept .concept_wrap .concept_list li table{
width: 100%;
border-top: 1px solid #624b1e;
border-right: 1px solid #624b1e;
background: #FFF;
font-size: 85%;
}

#concept .concept_wrap .concept_list li table th{
width: 45%;
padding: 5px;
box-sizing: border-box;
border-left: 1px solid #624b1e;
border-bottom: 1px solid #624b1e;
}

#concept .concept_wrap .concept_list li table td{
width: 55%;
padding: 5px;
box-sizing: border-box;
border-left: 1px solid #624b1e;
border-bottom: 1px solid #624b1e;
}

/*use
----------------------------------------*/
#use{
position:relative;
}

#use::before{
content: "";
position: absolute;
width: 100%;
height: 100%;
top: 80px;
left: 0;
background: #faecec;
z-index: -1;
}

#use .wave{
background: url("../images/com/bg_weve_p.png") center top no-repeat;
background-size: cover;
width: 100%;
height: 80px;
}

#use .use_wrap{
width: 94%;
margin: 0 auto;
position: relative;
padding: 60px 0;
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: row-reverse;
}

#use .use_wrap .txt_box{
position: relative;
width: 50%;
margin-bottom: 60px;
}

#use .use_wrap .txt_box .txt{
margin-bottom: 40px;
}

#use .use_wrap .txt_box .child_img{
position: absolute;
top: -160px;
right: 15%;
width: 30%;
z-index: 5;
}

#use .use_wrap .txt_box .child_img2{
position: absolute;
bottom:-5%;
left: -8%;
width: 28%;
z-index: 5;
}

#use .use_wrap .img_box{
width: 45%;
position: relative;
margin-bottom: 60px;
}


/*guide
----------------------------------------*/
#guide{
position:relative;
}

#guide .wave{
background: url("../images/com/bg_weve.png") center top no-repeat;
background-size: cover;
width: 100%;
height: 80px;
}

#guide .guide_wrap{
width: 94%;
margin: 0 auto;
position: relative;
padding: 60px 0;
box-sizing: border-box;
}

#guide .guide_wrap .ttl_txt{
text-align: center;
}

#guide .guide_wrap table{
width:70%;
margin: 0 auto;
border-top: 1px solid #624b1e;
border-right: 1px solid #624b1e;
background: #FFF;
}

#guide .guide_wrap th{
width: 25%;
padding: 10px;
box-sizing: border-box;
border-left: 1px solid #624b1e;
border-bottom: 1px solid #624b1e;
background: #f0f5f5;
}

#guide .guide_wrap td{
width: 75%;
padding: 10px;
box-sizing: border-box;
border-left: 1px solid #624b1e;
border-bottom: 1px solid #624b1e;
}

#guide .guide_wrap td ol{
counter-reset: my-counter;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}

#guide .guide_wrap td ol li{
margin-right: 20px;
padding-left: 25px;
box-sizing: border-box;
position: relative;
}

#guide .guide_wrap td ol li:before {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #FFF;
border: 1px solid #624b1e;
border-radius: 50%;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
height: 20px;
width: 20px;
color: #624b1e;
line-height:1;
position: absolute;
top:5px;
left:0;
font-size: 80%;
}

#guide .guide_wrap td ol li:last-child{
margin-right: 0;
}

#guide .guide_wrap .guide_list{
width: 90%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin:40px auto 100px;
}

#guide .guide_wrap .guide_list li{
width: 30%;
position: relative;
}

#guide .child_img{
position: absolute;
bottom: 0;
left: 20%;
width: 15%;
z-index: 5;
}



/*faq
----------------------------------------*/
#faq{
position:relative;
}

#faq::before{
content: "";
position: absolute;
width: 100%;
height: 100%;
top: 80px;
left: 0;
background: #f0f5f5;
z-index: -1;
}

#faq .wave{
background: url("../images/com/bg_weve_b.png") center top no-repeat;
background-size: cover;
width: 100%;
height: 80px;
}

#faq .faq_wrap{
width: 94%;
margin: 0 auto;
position: relative;
padding: 60px 0;
box-sizing: border-box;
}

#faq .faq_wrap .ttl_txt{
text-align: center;
}

#faq .faq_wrap .faq_list{
width: 80%;
margin: 0 auto 160px;
}

#faq .faq_wrap .faq_list li{
position: relative;
width: 100%;
padding: 35px;
box-sizing: border-box;
background:#FFF;
border: 1px solid #624b1e;
border-radius: 14px;
margin-bottom: 4%;
}

#faq .faq_wrap .faq_list li .q_icon{
position: absolute;
top: -15px;
left: -15px;
width: 50px;
z-index: 5;
}

#faq .faq_wrap .faq_list li dl{
position: relative;
font-weight: 700;
line-height: 1.6;
}

#faq .faq_wrap .faq_list li dl dt{
margin-bottom: 15px;
}

#faq .faq_wrap .faq_list li dl dd{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#faq .faq_wrap .faq_list li dl dd .icon{
width: 40px;
position: relative;
}

#faq .faq_wrap .faq_list li dl dd .txt{
width: calc(100% - 50px);
position: relative;
color: #782828;
}

#faq .child_img{
position: absolute;
bottom: 0;
left: 10%;
width: 18%;
z-index: 5;
}

#faq .img_box{
position: absolute;
bottom: -5%;
right: 10%;
width:25%;
z-index: 5;
}


/*floormap
----------------------------------------*/
#floormap{
position:relative;
}

#floormap .wave{
background: url("../images/com/bg_weve.png") center top no-repeat;
background-size: cover;
width: 100%;
height: 80px;
}


#floormap .floormap_box{
width: 80%;
margin: 0 auto 100px;
position: relative;
padding: 35px;
box-sizing: border-box;
background: #faecec;
border: 2px solid #782828;
border-radius: 20px;
}

#floormap .floormap_wrap .ttl_txt{
text-align: center;
}



/*access
----------------------------------------*/
#access{
position:relative;
}

#access .wave{
background: url("../images/com/bg_weve.png") center top no-repeat;
background-size: cover;
width: 100%;
height: 80px;
}

#access .gmap{
margin: 0 0 60px;
vertical-align: bottom;
}

#access .gmap iframe{
border-radius: 1rem;
overflow: hidden;
}

#access .ttl_txt {
text-align: center;
margin-top: 20px;
}

#access .dot_list{
margin: 0 0 30px 20px;
}

#access table{
width: 100%;
border-top: 1px solid #624b1e;
border-right: 1px solid #624b1e;
background: #FFF;
font-size: 85%;
margin: 0 0 60px;
}

#access table th{
width: 25%;
padding: 5px;
box-sizing: border-box;
border-left: 1px solid #624b1e;
border-bottom: 1px solid #624b1e;
}

#access table td{
width: 75%;
padding: 5px;
box-sizing: border-box;
border-left: 1px solid #624b1e;
border-bottom: 1px solid #624b1e;
}

#access .txt{
margin-bottom: 60px;
}

#access .txt2{
margin-bottom: 10px;
}


}
/*sp*/
@media only screen and (max-width: 800px) {
main::before{
display: none;
}

/* MV
--------------------------------------------*/
#mv {
position: relative;
width: 100%;
height: 100vh;
height: 100svh;
min-height: 400px;
padding-bottom:0;
box-sizing: border-box;
z-index:10;
overflow: hidden;
}

#mv::before {
content: "";
display: block;
position: absolute;
left: 0;
bottom: 55px;
width: 100%;
height: 400px;
background: #f0f5f5;
z-index: 1;
}

#mv .slider_scroll {
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
}

#mv .slider_wrap {
position: relative;
width: 97%;
height:calc(100% - 105px);
margin:0;
background: #fff;
z-index: 10;
overflow: hidden;
border-radius: 15px;
}

#mv .slider_wrap .slider li {
background-repeat: no-repeat;
background-size: cover;
background-position: center;
height: 100vh;
margin: 0;
}

#mv .slider_wrap .slider .slider01 { background-image: url("../images/slider/mv01_sp.jpg"); }
#mv .slider_wrap .slider .slider02 { background-image: url("../images/slider/mv02_sp.jpg"); }
#mv .slider_wrap .slider .slider03 { background-image: url("../images/slider/mv03_sp.jpg"); }


#mv .add-animation {
animation: zoomUp 10s linear forwards;
}

#mv .r_wave {
content: "";
display: block;
position: absolute;
right: 0;
bottom: 375px;
width: 75px;
height: 71px;
background: url("../images/slider/fv_r.png");
background-size: cover;
z-index: 2;
}

/* ★ 一時停止中は zoom を止める */
#mv.is-paused .add-animation {
animation-play-state: paused !important;
}

/* ★追加：dots + ボタンを「スライダー外」に並べる */
#mv .slider_control {
position: relative;
z-index: 20;
display: flex;
align-items: center;
gap: 16px;
margin-top: 10px;
padding-left: 3%;
}

/* slickのdots（外に出したので position を無効化） */
#mv .slider_control .slick-dots {
order: 1;
position: static;
bottom: auto;
width: auto;
margin:-20px 0 0;
padding: 0;
}

/* dots を先頭に */
#mv .slider_control .slick-dots {
position: static;
margin:-20px 0 0; 
}

/* dotsの見た目（任意） */
#mv .slider_control .slick-dots li button:before {
font-size:50px;
}

/* 再生/停止ボタン */
#mv .slider_toggle {
order: 2;
border-radius:5px;
border: none;
background: #FFF;
border:1px solid #624b1e;
color: #624b1e;
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
padding: 5px;
font-size: 90%;
font-weight: 700;
line-height: 1;
}

#mv .slider_toggle:hover {
opacity: 0.85;
}

/* キーボードフォーカス視認性 */
#mv .slider_toggle:focus-visible {
outline: 3px solid rgba(0,0,0,0.35);
outline-offset: 2px;
}

#mv .slider_wrap .ttl_box{
position: absolute;
left: 0%;
top: 25%;
z-index: 20;
writing-mode: vertical-rl;
}

#mv .slider_wrap .ttl_box span{
display:table;
background: #fafaeb;
border-radius: 20px;
padding: 10px;
box-sizing: border-box;
font-size: 50%;
line-height: 1;
margin-left:5px;
text-shadow: #fafaeb 2px 0px,#fafaeb -2px 0px, #fafaeb 0px -2px, #fafaeb 0px 2px, #fafaeb 2px 2px, #fafaeb -2px 2px, #fafaeb 2px -2px, #fafaeb -2px -2px, #fafaeb 1px 2px, #fafaeb -1px 2px, #fafaeb 1px -2px, #fafaeb -1px -2px, #fafaeb 2px 1px, #fafaeb -2px 1px, #fafaeb 2px -1px, #fafaeb -2px -1px;
box-shadow: 3px 3px 0px 0px #624b1e;
}

#mv .slider_wrap .ttl_box span:last-child{
margin-bottom: 0;
}

#mv .slider_wrap .ttl_box .ttl02{
position: absolute;
top: 88px;
left: 0;
width: 687px;
height:auto;
}

#mv .slider_wrap .ttl_box .ttl03{
position: absolute;
top: 180px;
left: 0;
width: 409px;
height:auto;
}

#mv .kids_wrap{
width: 40%;
position: absolute;
bottom:15%;
right: 4%;
z-index: 20;
}

#mv .kids_wrap .kids01{
position: absolute;
bottom: 0;
left: 0;
width:28%;
animation:kids01 1.5s linear infinite;
}

#mv .kids_wrap .kids02{
position: absolute;
bottom: 0;
left: 38%;
width:23%;
animation:kids02 1.5s linear infinite;
}

#mv .kids_wrap .kids03{
position: absolute;
bottom: 0;
right: 0;
width:33%;
animation:kids01 1.5s linear infinite;
}

#mv .wave{
background: url("../images/com/bg_weve_b2.png") center bottom no-repeat;
background-size: 100% auto;
width: 100%;
height: 15px;
}

#mv .slick-dots li{
margin: 0 15px 0 0;
}

#mv .slick-dots li:last-child{
margin-right: 0;
}

#mv .slider_control {
  position: relative;
  z-index: 20;
}

#mv .slider_control .slick-dots,
#mv .slider_control .slick-dots li,
#mv .slider_control .slick-dots button {
  pointer-events: auto;
}

#mv .slider_toggle {
  position: relative; /* ここが absolute で dots に被ってると事故りやすい */
  z-index: 21;        /* toggle は dots と被らない位置に置くのが理想 */
}


/*concept
----------------------------------------*/
#concept{
position:relative;
}

#concept::before{
content: "";
position: absolute;
width: 100%;
height: 100%;
top: -50px;
left: 0;
background: #f9f6f4;
z-index: -1;
}

#concept .wave{
background: url("../images/com/bg_weve_g.png") center top no-repeat;
background-size: 100% auto;
width: 100%;
height: 15px;
}

#concept .concept_wrap{
width: 90%;
margin: 0 auto;
position: relative;
padding: 30px 0;
box-sizing: border-box;
}

#concept .concept_wrap .txt_box{
position: relative;
width: 100%;
margin-bottom:30px;
}

#concept .concept_wrap .img_box{
width:80%;
position: relative;
margin:0 auto 40px;
}

#concept .concept_wrap .img_box .child_img{
position: absolute;
bottom: 0;
left: 0;
width: 50%;
z-index: 5;
}

#concept .concept_wrap .concept_list{
width: 90%;
margin: auto;
}

#concept .concept_wrap .concept_list li{
width: 100%;
position: relative;
margin-bottom: 30px;
}

#concept .concept_wrap .concept_list li:last-child{
margin-bottom: 0;
}

#concept .concept_wrap .concept_list li .img{
position: relative;
margin: 0 0 20px;
}

#concept .concept_wrap .concept_list li .img .icon{
width: 40px;
position: absolute;
top: 0px;
left: 0px;
z-index: 5;
}

#concept .concept_wrap .concept_list li h3{
text-align: center;
font-size: 120%;
line-height: 1;
margin: 0 0 20px;
}

#concept .concept_wrap .concept_list li .txt{
margin-bottom: 40px;
}

#concept .concept_wrap .concept_list li table{
width: 100%;
border-top: 1px solid #624b1e;
border-right: 1px solid #624b1e;
background: #FFF;
font-size: 85%;
}

#concept .concept_wrap .concept_list li table th{
display: block;
padding: 5px;
box-sizing: border-box;
border-left: 1px solid #624b1e;
border-bottom: 1px solid #624b1e;
}

#concept .concept_wrap .concept_list li table td{
display: block;
padding: 5px;
box-sizing: border-box;
border-left: 1px solid #624b1e;
border-bottom: 1px solid #624b1e;
}

/*use
----------------------------------------*/
#use{
position:relative;
}

#use::before{
content: "";
position: absolute;
width: 100%;
height: 100%;
top: 10px;
left: 0;
background: #faecec;
z-index: -1;
}

#use .wave{
background: url("../images/com/bg_weve_p.png") center top no-repeat;
background-size: 100% auto;
width: 100%;
height: 15px;
}

#use .use_wrap{
width: 90%;
margin: 0 auto;
position: relative;
padding: 30px 0;
box-sizing: border-box;
}

#use .use_wrap .txt_box{
position: relative;
width: 100%;
margin-bottom: 30px;
}

#use .use_wrap .txt_box .txt{
margin-bottom: 40px;
}

#use .use_wrap .txt_box .child_img{
position: absolute;
top: -60px;
right: 10%;
width: 30%;
z-index: 5;
}

#use .use_wrap .txt_box .child_img2{
position: relative;
top: -10%;
left: -8%;
width: 28%;
z-index: 5;
}

#use .use_wrap .img_box{
width: 80%;
position: relative;
margin:0 auto;
}


/*guide
----------------------------------------*/
#guide{
position:relative;
}

#guide .wave{
background: url("../images/com/bg_weve.png") center top no-repeat;
background-size: 100% auto;
width: 100%;
height:15px;
}

#guide .guide_wrap{
width: 90%;
margin: 0 auto;
position: relative;
padding: 30px 0;
box-sizing: border-box;
}

#guide .guide_wrap .ttl_txt{
text-align: center;
}

#guide .guide_wrap table{
width:100%;
margin: 0 auto;
border-top: 1px solid #624b1e;
border-right: 1px solid #624b1e;
background: #FFF;
}

#guide .guide_wrap th{
display: block;
padding: 10px;
box-sizing: border-box;
border-left: 1px solid #624b1e;
border-bottom: 1px solid #624b1e;
background: #f0f5f5;
}

#guide .guide_wrap td{
display: block;
padding: 10px;
box-sizing: border-box;
border-left: 1px solid #624b1e;
border-bottom: 1px solid #624b1e;
}

#guide .guide_wrap td ol{
counter-reset: my-counter;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}

#guide .guide_wrap td ol li{
margin-right: 20px;
padding-left: 25px;
box-sizing: border-box;
position: relative;
}

#guide .guide_wrap td ol li:before {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #FFF;
border: 1px solid #624b1e;
border-radius: 50%;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
height: 20px;
width: 20px;
color: #624b1e;
line-height:1;
position: absolute;
top:5px;
left:0;
font-size: 80%;
}

#guide .guide_wrap td ol li:last-child{
margin-right: 0;
}

#guide .guide_wrap .guide_list{
width: 90%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin:20px auto;
}

#guide .guide_wrap .guide_list li{
width: 31%;
position: relative;
}

#guide .child_img{
position: absolute;
bottom: 0;
left: 15%;
width: 30%;
z-index: 5;
}



/*faq
----------------------------------------*/
#faq{
position:relative;
}

#faq::before{
content: "";
position: absolute;
width: 100%;
height: 100%;
top: 10px;
left: 0;
background: #f0f5f5;
z-index: -1;
}

#faq .wave{
background: url("../images/com/bg_weve_b.png") center top no-repeat;
background-size: 100% auto;
width: 100%;
height: 15px;
}

#faq .faq_wrap{
width: 90%;
margin: 0 auto;
position: relative;
padding: 30px 0;
box-sizing: border-box;
}

#faq .faq_wrap .ttl_txt{
text-align: center;
}

#faq .faq_wrap .faq_list{
width: 90%;
margin: 0 auto 20px;
}

#faq .faq_wrap .faq_list li{
position: relative;
width: 100%;
padding: 20px;
box-sizing: border-box;
background:#FFF;
border: 1px solid #624b1e;
border-radius: 14px;
margin-bottom: 30px;
}

#faq .faq_wrap .faq_list li:last-child{
margin-bottom: 0;
}

#faq .faq_wrap .faq_list li .q_icon{
position: absolute;
top: -15px;
left: -15px;
width: 40px;
z-index: 5;
}

#faq .faq_wrap .faq_list li dl{
position: relative;
font-weight: 700;
line-height: 1.6;
}

#faq .faq_wrap .faq_list li dl dt{
margin-bottom: 15px;
}

#faq .faq_wrap .faq_list li dl dd{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#faq .faq_wrap .faq_list li dl dd .icon{
width: 30px;
position: relative;
}

#faq .faq_wrap .faq_list li dl dd .txt{
width: calc(100% - 40px);
position: relative;
color: #782828;
}

#faq .child_img{
position: relative;
width:40%;
margin: auto;
z-index: 5;
}

#faq .img_box{
display: none;
position: absolute;
bottom: -5%;
right: 10%;
width:25%;
z-index: 5;
}


/*floormap
----------------------------------------*/
#floormap{
position:relative;
}

#floormap .wave{
background: url("../images/com/bg_weve.png") center top no-repeat;
background-size: 100% auto;
width: 100%;
height: 15px;
}


#floormap .floormap_box{
width: 90%;
margin: 0 auto 40px;
position: relative;
padding: 25px;
box-sizing: border-box;
background: #faecec;
border: 2px solid #782828;
border-radius: 14px;
}

#floormap .floormap_wrap .ttl_txt{
text-align: center;
}

/*access
----------------------------------------*/
#access{
position:relative;
}

#access .wave{
background: url("../images/com/bg_weve.png") center top no-repeat;
background-size: 100% auto;
width: 100%;
height: 15px
}

#access .section_wrap{
width: 100%;
}

#access .section_wrap .block{
width: 90%;
margin: 0 auto;
}

#access .ttl_txt {
text-align: center;
margin-top: 20px;
}

#access .gmap{
margin: 0 0 30px;
vertical-align: bottom;
}

#access .gmap iframe{
border-radius: .6rem;
overflow: hidden;
}

#access .dot_list{
margin: 0 0 30px 20px;
}

#access table{
width: 100%;
border-top: 1px solid #624b1e;
border-right: 1px solid #624b1e;
background: #FFF;
font-size: 85%;
margin-bottom: 30px;
}

#access table th{
display: block;
padding: 5px;
box-sizing: border-box;
border-left: 1px solid #624b1e;
border-bottom: 1px solid #624b1e;
}

#access table td{
display: block;
padding: 5px;
box-sizing: border-box;
border-left: 1px solid #624b1e;
border-bottom: 1px solid #624b1e;
}
#access .txt{
margin-bottom: 60px;
}

#access .txt2{
margin-bottom: 10px;
}


}