@charset "UTF-8";

body #wrapper{
  background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAgCAMAAADKfsO6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADNQTFRF5/T5+v3+6PT6+fz+9vv96/X68fj87vf77Pb78vn88/n89fv99/z+6vX67/j77ff79Pr9OBiWrAAAAKNJREFUeNp8klsShCAMBIenKKDe/7S7FiQBSclnl4PTCTDZgs5u+kFkZgvBnRmS68xtAk/60AdJ3wQP+U3gK08l7ZKkD4JDyeAJSklsbk0ncKHKMBosOk/JRt01l8RLp5XEpEOKGIfBJTGkuWSB/VSsmuKlKMrGvJZWNyaKNioDspk3JgzKvkPBuu+/Yqe5Top46bQBYdbpA4LRHiWM9ih/AgwAw+EEJPDbp4wAAAAASUVORK5CYII=);
}

.flex-wrap {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.flex-center {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-justify-content: center; /* Safari */
    justify-content: center;
}

/* -----------------------------------------------
FileName: beach_shuttle.css
----------------------------------------------- */
.bg-white{
  background:#FFF;
}
section#beachspecial-top{
  background:url(/wp-content/themes/shuttle/special/beach/beach-top-bg.jpg) 50% 0 no-repeat;
  background-size:cover;
  text-align:center;
  padding-bottom:5em;
}
@media(min-width:1600px){
  section#beachspecial-top{background-position:50% 80%;}
}
section#beachspecial-top-sp{
  background:url(/wp-content/themes/shuttle/special/beach/beach-top-bg-sp.jpg) 50% 0 no-repeat;
  background-size:cover;
  padding-bottom: 10vw;
  position:relative;
  z-index:0;
}
section#beachspecial-top img,section#beachspecial-top-sp img{
  margin:2em auto;
}
section#beachspecial-top h1,section#beachspecial-top-sp h1{
  color:#036eab;
  line-height:1.4em;
}
section#beachspecial-top h1{
  text-align:center;
  font-size:18px;
  line-height: 1.7em;
    font-weight: 500;
    letter-spacing: 0.05em;
}
@media(max-width:960px) and (min-width:768px){
  section#beachspecial-top h1{font-size:16px;}
}

@media(max-width:767px){
  section#beachspecial-top h1{font-size:3.6vmin;padding:0 0.3em;}
}

section#beachspecial-top-sp h1{
  font-size:3.5vmin;
  text-align:justify;
  padding:0.8em;
}



#beachspecial-imagearea{
  overflow:visible;
}
.beach-top-inner{
  max-width:1300px;
  margin:0 auto;
}
.beach-top-inner-images{
  display: -webkit-flex; display: -ms-flexbox; display: flex;
  -ms-flex-flow:row wrap;flex-flow:row wrap;
  z-index:0;
}
.beach-top-inner-images img{width:25%;z-index:0;height:auto;}
@media(max-width:900px){
  .beach-top-inner-images{display:table;line-height:0;}
}
@media(max-width:640px){
  .beach-top-inner-images img{width:50%;z-index:0;height:auto;}
}
.beach_map_all {
  margin-top:2em;
}
.beach_map_all img{
  max-width:none;
}
@media(max-width:900px){
  .beach_map_all img{
    max-width:100%;
  }
}
.bubble{
  position:relative;
}
.bubble .bubble-directly{
  position:absolute;
  top: -550px;
   left: 20px;
  z-index:99;
  transform: scale(0.9);
}
.bubble .bubble-bridal{
  position:absolute;
  z-index:99;
  top: -270px;
    left: 270px;
  transform: scale(0.9);
}
.bubble .bubble-after{
  position:absolute;
  top: -290px;
    left: 840px;
  z-index:99;
}

@media(max-width:1300px){
  .bubble .bubble-directly{
   position:absolute;
    top: -43vw;
    left: 1vw;
    width:25%;
    z-index:99;
  }
  .bubble .bubble-bridal{
  position:absolute;
    top: -21vw;
    left: 23vw;
    width: 25%;
    z-index:99;
  }
  .bubble .bubble-after{
  position:absolute;
    top: -21vw;
    left: 62vw;
    width: 24%;
    z-index:99;
  }

}


ul{
  list-style: none;
}

.top_banner{
  margin-bottom:2.5em;
}
.top_banner img{
  width:100%;
}
.ancher_nav {
  margin-top: 2em;
}
.ancher_nav ul li {
  width: 24.8%;
  height: 40px;
  margin: 2% 0.1% 1.2%;
  /* background-color: #009fe8; */
  list-style: none;
  display: flex;
  text-align: center;
  position: relative;
  border: 1px solid;
  align-items: center;
  justify-content: center;
}

.ancher_nav ul li a{
    vertical-align: middle;
    text-decoration: none;

    padding-right: 6px;
    color: black;
}


.fsize-12{
  font-size: 12px;
}

.fsize-14{
  font-size: 14px;
}

.ancher_nav ul li .direction_icon{
    position: absolute;
    right: 3%;

}

.beach_area{
  padding-bottom:3em;
  margin-top: 2em;
}

.beach_area .main_title{
  margin-bottom: 1em;
  display: flex;
  justify-content: center;
}

.inner_back{
  background: url(../images/beach_shuttle_back.png) center center;
  padding-top: 2em;
}

.bus_stop{
    margin: auto 0;
}
.get_off{
  font-size:20px;
    margin: auto 10px;
    font-weight: bold;
}

.beach_name{
    margin: auto 20px;
    font-size: 35px;
    font-weight: bold;
}


.beach_description{
  display:table;
  margin-top: 2.3em
}

.beach_description dl{
  display: -webkit-flex; display: -ms-flexbox; display: flex;
  -ms-flex-flow:row nowrap;flex-flow:row nowrap;
  -webkit-justify-content: space-between;-ms-flex-pack: justify; justify-content: space-between;
  -webkit-align-items: flex-start; align-items: flex-start;
}

.beach_description dl dt,.beach_description dl dd{
  width:49%;
  padding:0.3em;
}

.beach_description dl dt{
  line-height: 1.8em;
  font-size: 14px;
  text-align:justify;
}



.image_area{
  margin-top: 2em;
}

.image_area:last-child{

}

.image_area ul{
  display:flex;
}

.image_area ul li{
  display: inline-block;
  vertical-align: top;
}

.image_area ul li:nth-child( -n + 2 ) {
  margin-right: 1em;
}

.image_area ul li p{
  margin-top: 0.4em;
  font-size:14px;
}

.image_area > p{
  margin-top: 0.5em;
  font-size:14px;
}

.image_area ul li .word_min{
    margin-top: 0.4em;
  font-size:11px;
}

.image_area .word_center{
  text-align: center;
}

.image_area img{
  height:200px;
  width:320px;
}

.contact_area{
  margin-top: 2em;
}

.contact_area h3{
  color: #0093DC;
}

.contact_border{
    border: 1px solid;
    background-color: white;
    font-size: 14px;
    overflow: hidden;
    margin-top: 0.5em;
}


.contact_border ul:last-child{
    float: right;
}

.contact_border ul:first-child{
  float:left;
}

.contact_border ul{
  width: 50%;
}

.contact_border li{
  padding:15px 15px;
  line-height: 1.5em;
}

.contact_border li .contact_place{
  font-weight: bold;
  margin-right: 10px;
}

.contact_border li .contact_image{
  margin-top: 10px;
}

/*
.contact_border li .contact_image img{
  margin-right: 9px;
}
*/


@media(max-width:900px){
  .beach_map_all{
    width:90%;
    margin: auto;
  }

  .ancher_nav .flex-wrap {
      padding: 0;
      width: 90%;
      margin: auto;
  }

  .ancher_nav ul li {
    width: 100%;
    font-size: 16px;
  }

  .ancher_nav ul li a{
    font-size: 16px;
  }



  .beach_number{
    height:25px;
    width:20px;
  }
  .bus_stop{
    width: 25px;
  }
  .beach_area .main_title{
    width:90%;
    display: block;
    text-align:center;
    margin: 5px auto;
  }
  .beach_number{
    float: left;
  }
  .beach_name{
    font-size: 19px;
    margin: auto 0;
  }
  .bus_stop{
    margin-top:20px;
  }
  .get_off{
    font-size:13px;
    vertical-align: text-top;
  }
  .beach_description dl{
    text-align:center;
  }

  .image_area{

    margin:auto;
    text-align: center;
    margin-top:1em;
  }
  .image_area ul{
    display:flex;
    padding:0;
  }
  .image_area ul li:nth-child( -n + 2 ){
    margin-right:0.5em;
  }
  .contact_area{

    margin:auto;
  }
  .contact_border ul:first-child{
    float:none;
  }
  .contact_border ul:last-child{
    float:none;
  }
  .contact_border ul{
    width:100%;
    padding:0;
    font-size:12px;
  }
  .contact_image{
    text-align: center;
  }
}

@media(max-width:640px){
  

  .bubble .bubble-directly{
   position:absolute;
    top: -160vw;
    left: 1vw;
    width: 45%;
    z-index:99;
  }
  .bubble .bubble-bridal{
  position:absolute;
    top: -80vw;
    left: 46vw;
    width: 48%;
    z-index:99;
  }
  .bubble .bubble-after{
  position:absolute;
    top: -44vw;
    left: 22vw;
    width: 55%;
    z-index:99;
  }

  .image_area ul{
    display:block;
  }
}

/*T.Yoshizawa UPDATE 2019.08.01*/
.contact-images{
  display: -webkit-flex; display: -ms-flexbox; display: flex;
  -ms-flex-flow:row wrap;flex-flow:row wrap;
  -webkit-justify-content: space-between;-ms-flex-pack: justify; justify-content: space-between;
  -webkit-align-items: flex-start; align-items: flex-start;
    padding-top: 0.7em;
}
.contact-images > img{
  width:49%;
}
@media(max-width:480px){
    .contact-images{padding-top: 0;}
    .contact-images > img{width:100%;margin:0.3em 0;}
}



@media(max-width:900px){
  .beach_description dl dt{font-size: 13px;}
}

@media(max-width:767px){
  .beach_description dl{-ms-flex-flow:row wrap;flex-flow:row wrap;}
  .beach_description dl dt,.beach_description dl dd{width:100%;}
}
@media(max-width:640px){
  .beach_description dl dd img{width:100%;}
  .image_area ul li{margin:0;}
  .image_area ul li img{width:100% !important;max-width:initial;}
}



/**/

.beach_area h1{
  display: -webkit-flex; display: -ms-flexbox; display: flex;
  font-size:35px;
  -ms-flex-flow:row wrap;flex-flow:row wrap;
  -webkit-justify-content: center;-ms-flex-pack: center;justify-content: center;
}
.beach_area h1 span{
  display : -webkit-inline-box; display : -ms-inline-flexbox; display : -webkit-inline-flex; display : inline-flex;
  font-size:0.5em;
  margin-left:1em;
}

.beach_area h1,.beach_area h1 span{
  -webkit-align-items: center;  -ms-flex-align: center; align-items: center;

}

.beach_area h1 [class^="icon-num"]{
  width:2em;
  height:2.4em;
  display:inline-block;
  background-size:contain;
  margin-right:0.3em;
}
.icon-num-1{ background:url(/wp-content/themes/shuttle/special/beach/beach_number_1.png) 50% 50% no-repeat; }
.icon-num-2{ background:url(/wp-content/themes/shuttle/special/beach/beach_number_2.png) 50% 50% no-repeat; }
.icon-num-3{ background:url(/wp-content/themes/shuttle/special/beach/beach_number_3.png) 50% 50% no-repeat; }
.icon-num-4{ background:url(/wp-content/themes/shuttle/special/beach/beach_number_4.png) 50% 50% no-repeat; }
.icon-num-5{ background:url(/wp-content/themes/shuttle/special/beach/beach_number_5.png) 50% 50% no-repeat; }
.icon-num-6{ background:url(/wp-content/themes/shuttle/special/beach/beach_number_6.png) 50% 50% no-repeat; }
.icon-num-7{ background:url(/wp-content/themes/shuttle/special/beach/beach_number_7.png) 50% 50% no-repeat; }
.icon-num-8{ background:url(/wp-content/themes/shuttle/special/beach/beach_number_8.png) 50% 50% no-repeat; }


.beach_area h1 span::before{
  content:"";
  display:inline-block;
  width:2em;
  height:2em;
  margin-right: 0.3em;
  background:url(/wp-content/themes/shuttle/special/beach/bus_stop_icon.png) 50% 50% no-repeat;
  background-size:cover;
}

.beach_area h1 + img{
  margin:1em 0 3em 0;
}

.section-read{
  display: -webkit-flex; display: -ms-flexbox; display: flex;
  -ms-flex-flow:row nowrap; flex-flow:row nowrap;
  -webkit-justify-content: space-between;-ms-flex-pack: justify; justify-content: space-between;
  -webkit-align-items: flex-start; align-items: flex-start;
  padding:12px;
}

.section-read > *{
  display:block;
  width:48.8%;
}
.section-read > p{
  line-height: 1.8em;
    font-size: 14px;
    text-align: justify;
    letter-spacing: -0.01em;
    color:#222;
    font-weight:600;
}

.section-read + div{
  margin-top:2em;
  display: -webkit-flex; display: -ms-flexbox; display: flex;
  -ms-flex-flow:row wrap; flex-flow:row wrap;
  -webkit-justify-content: space-between;-ms-flex-pack: justify; justify-content: space-between;
  -webkit-align-items: flex-start; align-items: flex-start;
}


.section-read + div > div{
  width:33%;
}
.section-read + div > div p{font-size:13px;line-height:1.4em;margin-top:0.6em;}

.beach_area h3{
  color: #0093DC;
  margin-top:2em;
}

.contact-contents{
  border:1px solid #666;
  background:#FFF;
  padding:1em;
  margin-top:0.5em;
  display: -webkit-flex; display: -ms-flexbox; display: flex;
  -ms-flex-flow:row wrap; flex-flow:row wrap;
  -webkit-justify-content: space-between;-ms-flex-pack: justify; justify-content: space-between;
  -webkit-align-items: flex-start; align-items: flex-start;
}

.contact-contents > *{ width:48%;}

.contact-contents dl{
  width:100%;
  padding:1em 0;
}
.contact-contents dl dt{
  font-weight:bold;
  font-size:14px;
  line-height:1.8em;
}
.contact-contents dl dt span{
  font-weight:normal;
  color:#444;
  display:inline-block;
  margin-left:1em;
  font-size:0.95em;
}

.contact-contents dl dd{
   font-size:14px;
  color:#444;
}
.contact-contents dl dd a{
  display:inline-block;
  padding:0.4em 0;
}
.contact-contents dl dd span{
  display:block;
  line-height:1.8em;
}
.contact-contents dl dd span.img-area{
  display: -webkit-flex; display: -ms-flexbox; display: flex;
  -ms-flex-flow:row nowrap; flex-flow:row nowrap;
  -webkit-justify-content: space-between;-ms-flex-pack: justify; justify-content: space-between;
  -webkit-align-items: flex-start; align-items: flex-start;
}
.contact-contents dl dd span.img-area *{
  margin-top:0.5em;
  width:49.5%;
}
.contact-contents dl dd span.img-area * > *{
  width:100%;
  margin:0;
  line-height:1em;
  text-align:center;
}





.inner-full{
    max-width:1000px;
    margin: 0 auto;
    position: relative;
}

.section-read + div > p{font-size:13px;line-height:1.4em;margin-top:0.6em;width:100%;}




@media(max-width:1000px){
  .section-read + div,.beach_area h3{
    width:calc(100% - 24px);
    margin:2em auto 0 auto;
  }
  .contact-contents{
    width:calc(100% - 24px);
    margin:0.5em auto;
  }

}

@media(max-width:767px){

  .beach_area h1 + img{margin: 1em 0 1em 0;}
  .section-read{-ms-flex-flow:column wrap; flex-flow:column wrap;}
  .section-read > *{width:100%;}
  .section-read > p{margin-bottom:1em;}
  .contact-contents{-ms-flex-flow:column nowrap; flex-flow:column nowrap;}
  .contact-contents > *{ width:100%;}
}
@media(max-width:640px){
  .beach_area h1{font-size:5vmin;}
  .beach_area h1 span::before{width:2em;height:2em;}
    .section-read + div{-ms-flex-flow:column nowrap; flex-flow:column nowrap;}
  .section-read + div > div{width:100%;margin-bottom:1.5em;}
  .section-read + div > div img{width:100%;}
  .section-read + div > p{margin-top:0;}
}

#beachspecial-imagearea + section{
  margin-top:2em;
}

@media(max-width:1000px){
  #beachspecial-imagearea + section{
    margin-top:0;
  }
}

















