/* rishiri_renual.css */

.pcOnry{
  display: block;
}
.spOnry{
  display: none;
}
@media (max-width: 768px) {
  .pcOnry{
    display: none;
  }
  .spOnry{
    display: block;
  }
}
.mainWrap *{
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: .9rem;.search .formArea .inner1100.ac
}
.fastpen{
  font-family: "fastpen", sans-serif;
font-weight: 400;
font-style: normal;
}
.inner1100{
  overflow: hidden;
}

/* waves */
.waves_wrap {
  position:relative;
  text-align:center;
/*   background: linear-gradient(60deg, rgba(84,58,183,1) 0%, rgba(0,172,193,1) 100%); */
  color:white;
  background: url(/upload/tenant_1/rishiriRebun_mv.webp) no-repeat center top;
  background-size: cover;
}
.logo {
  width:50px;
  fill:white;
  padding-right:15px;
  display:inline-block;
  vertical-align: middle;
}

.inner-header {
  height:65vh;
  width:100%;
  margin: 0;
  padding: 0;
}

.flex { /*Flexbox for containers*/
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.waves {
  position:relative;
  width: 100%;
  height:15vh;
  margin-bottom:-7px; /*Fix for safari gap*/
  min-height:100px;
  max-height:150px;
}

.content {
  position:relative;
  height:20vh;
  text-align:center;
  background-color: white;
}

/* Animation */

.parallax > use {
  animation: move-forever 25s cubic-bezier(.55,.5,.45,.5)     infinite;
}
.parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
.parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
}
.parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}
.parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}
@keyframes move-forever {
  0% {
   transform: translate3d(-90px,0,0);
  }
  100% { 
    transform: translate3d(85px,0,0);
  }
}
/*Shrinking for mobile*/
@media (max-width: 768px) {
  .waves {
    height:40px;
    min-height:40px;
  }
  .content {
    height:30vh;
  }
  h1 {
/*     font-size:24px; */
  }
}
/* wavesここまで */

.waves_wrap p.illust01{
  text-align: center;
  margin-bottom: 20px;
}
.waves_wrap p.illust01 img{
  display: inline;
  width: 120px;
}
.waves_wrap .ttl01{
  font-size: 26px;
}
.waves_wrap .en{
  font-size: 85px;
  margin-bottom: 30px;
}
.waves_wrap h2.ttl02{
  font-size: 24px;
  margin-bottom: 30px;
}
.waves_wrap p.illust02{
  text-align: center;
}
.waves_wrap p.illust02 img{
  display: inline;
  width: 300px;
}

@media (max-width: 768px) {
  .waves_wrap .ttl01{
    font-size: 18px;
  }
  .waves_wrap .en{
    font-size: 40px;
  }
}
/* search */
.formArea dl.specialty dd ul li{
  display: flex;
  justify-content: center;
  align-items: center;
}
.formArea dl.specialty dd ul li input{
  display: block;
}
.formArea dl.specialty dd ul li label::before{
  display: none;
}
.formArea dl.specialty dd ul li input:checked + label:after{
  display: none;
}
.formArea .pcOnly dl.specialty dd ul li input:checked + label:after{
  display: none;
}

.search .formArea .inner1100.ac{
  width: 100%;
}

#search2.search{
  margin-top: 0;
}

.depWrap{
  background: none;
}
.depWrap .inner{
  background-color: #5594ca;
  border-radius: 60px;
  text-align: center;
  padding: 15px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 60px auto;
}
.searchWrap{
  padding: 40px 60px;
  border-radius: 10px;
  border: double 8px #859db4;
}

@media (max-width: 768px) {
  .depWrap .inner{
    margin: 30px auto;
  }
  .search .formArea .inner1100.ac{
    margin-bottom: 10px;
  }
}

/* nav */
.nav{
  margin-bottom: 60px;
}
.nav li{
  text-align: center;
  font-size: 18px;
  color: #035fa4;
  font-weight: bold;
  margin-bottom: 20px;
}

.fancy_wrap{
  padding: 10px;
}
.fancy {
 background-color: transparent;
 border: 2px solid #5594ca;
 border-radius: 0;
 box-sizing: border-box;
 color: #fff;
 cursor: pointer;
 display: inline-block;
 float: right;
 font-weight: 700;
 letter-spacing: 0.05em;
 margin: 0;
 outline: none;
 overflow: visible;
 padding: 1.25em 2em;
 position: relative;
 text-align: center;
 text-decoration: none;
 text-transform: none;
 transition: all 0.3s ease-in-out;
 user-select: none;
 font-size: 13px;
 padding: 15px 20px;
 width: 100%;
 display: flex;
justify-content: center;
}

.fancy::before {
 content: " ";
/*  width: 1.5625rem; */
 height: 2px;
/*   background: #5594ca; */
 top: calc(50% + 3px);
 left: 1.5em;
 position: absolute;
 transform: translateY(-50%);
 transform-origin: center;
 transition: background 0.3s linear, width 0.3s linear;
 border: 6px solid transparent;
border-top: 7px solid #5594ca;
}

.fancy .text {
 font-size: 1.125em;
 line-height: 1.33333em;
/*  padding-left: 2em; */
 display: block;
 text-align: left;
 transition: all 0.3s ease-in-out;
 text-transform: uppercase;
 text-decoration: none;
 color: #5594ca;
 font-size: 18px;
}

.fancy .top-key {
 height: 2px;
 width: 1.5625rem;
 top: -2px;
 left: 0.625rem;
 position: absolute;
 background: #e8e8e8;
 transition: width 0.5s ease-out, left 0.3s ease-out;
}

.fancy .bottom-key-1 {
 height: 2px;
 width: 1.5625rem;
 right: 1.875rem;
 bottom: -2px;
 position: absolute;
 background: #e8e8e8;
 transition: width 0.5s ease-out, right 0.3s ease-out;
}

.fancy .bottom-key-2 {
 height: 2px;
 width: 0.625rem;
 right: 0.625rem;
 bottom: -2px;
 position: absolute;
 background: #e8e8e8;
 transition: width 0.5s ease-out, right 0.3s ease-out;
}

.fancy:hover {
 color: white;
 background: #5594ca;
}

.fancy:hover::before {
 width: 0.9375rem;
/*  background: white; */
border-top: 7px solid #FFF;
}

.fancy:hover .text {
 color: white;
 padding-left: 0.5em;
}

.fancy:hover .top-key {
 left: -2px;
 width: 0px;
}

.fancy:hover .bottom-key-1,
 .fancy:hover .bottom-key-2 {
 right: 0;
 width: 0;
}

@media (max-width: 768px) {
  .nav{
    margin-bottom: 30px;
  }
  .fancy{
    padding: 10px 0;
  }
  .fancy .text{
    font-size: 12px;
  }
  .fancy::before{
    left: 2px;
  }
  .fancy_wrap {
    padding: 5px;
  }
}

/*--------------------------------------------------
                      read 
----------------------------------------------------*/

.read{
  background: url(/upload/tenant_1/rishiriRebun_bg_m3.webp) bottom center no-repeat;
  background-size: cover ;
  width: 100%;
}

.read .inner{
  padding: 150px 0;
}

.read h3{
    text-align: center;
    font-size: 26px;
    color: #FFF;
    font-weight: bold;
    margin-bottom: 30px;
}
.read h3 span{
  display: inline-block;
  position: relative;
  font-size: 22px;
}
.read h3 span:before{
  content:"";
  background: url('/upload/tenant_1/rishiriRebun_illust_wave2.webp') no-repeat top center;
  display: inline-block;
  width: 116px;
  height: 35px;
  position: absolute;
  left: -180px;
  top: -10px;
}
.read h3 span:after{
  content:"";
  background: url('/upload/tenant_1/rishiriRebun_illust_wave2.webp') no-repeat top center;
  display: inline-block;
  width: 116px;
  height: 35px;
  position: absolute;
  right: -180px;
  bottom: -10px;
}
.read p{
    text-align: center;
    font-size: 16px;
    line-height: 1.8;
    color: #FFF;
}

@media (max-width: 768px) {
  .read .inner{
    padding: 100px 0;
  }
  .read h3 span{
    font-size: 18px;
  }
  .read h3 span:before{
    left: -100px;
    width: 60px;
    background-size: contain;
  }
  .read h3 span:after{
    right: -100px;
    width: 60px;
    background-size: contain;
  }
  .read p{
    width: 90%;
    margin: 0 auto;
    font-size: 15px;
  }
}

/* search2 */

.search{
  background: #abbbca;
  background: url(/upload/tenant_1/rishiriRebun_search_bg2.webp) top left repeat;
}
.search .ttl01{
  background: #5594ca;
  background: url(/upload/tenant_1/rishiriRebun_ribbon02.webp) no-repeat top center;
  width: 600px;
  height: auto;
  background-size: contain;
  position: relative;
  padding: 18px;
  font-size: 20px;
}
.search h3.ttl01:before{
  content:"";
  background: url(/upload/tenant_1/rishiriRebun_seach_illust02.webp) top left no-repeat;
  background-size: contain;
  width: 66px;
  height: 29px;
  display: inline-block;
  position: absolute;
  left: -40px;
  top: 0;
  padding: 0;
  margin: 0;
  border: none;
}
.search h3.ttl01:after{
  content:"";
  background: url(/upload/tenant_1/rishiriRebun_seach_illust01.webp) top left no-repeat;
  background-size: contain;
  width: 82px;
  height: 48px;
  display: inline-block;
  position: absolute;
  right: -40px;
  top: 0;
  padding: 0;
  margin: 0;
  border: none;
}
.formArea{
  margin-bottom: 0;
}
.formArea dl dd select, .formArea dl dd input[type=text]{
  border: solid 1px #abbbca;
}
.search form button{
  background: #ffd600;
  color: #5594ca;
}
/* .search .ttl01::before, .search .ttl01::after{
  content:none;
} */

@media (max-width: 768px) {
  .searchWrap {
      padding: 40px 30px 10px 30px;
  }
  .search .ttl01{
    font-size: 15px;
    padding: 25px 0;
    line-height: 1;
    width: 98%;
    margin-bottom: 15px;
  }
  .search h3.ttl01:before{
    left: -30px ;
    width: 50px;
    top: -20px;
  }
  .search h3.ttl01:after{
    width: 50px;
    top: -20px;
    right: -20px;
  }
  #search2.search{
    padding: 40px 15px;
  }
  .ac-content.spOnly{
    display: none;
  }
}


/* Tour */
.otherTour{
  background-color: #FFF;
}
.otherTour h2{
  display: block;
  text-align: center;
  color: #0061ae;
  margin-bottom: 30px;
}
.otherTour h2 span{
      text-align: center;
    display: block;
}
.otherTour h2 span img{
      display: inline;
}
/* .otherTour h3,.area h3{
    color: #5595cb;
    text-align: center;
    font-size: 30px;
    margin-bottom: 50px;
    font-weight: bold;
    position: relative;
}
.otherTour h3:after,.area h3:after{
  content:"";
  background: url(/upload/tenant_1/rishiriRebun_illust_waveY.webp) top left no-repeat;
  display: inline-block;
  width: 400px;
  height: auto;
  position: absolute;
  bottom: -10px;
  left: calc(50% - 232px);
  height: 11px;
  width: 467px;
  background-size: contain;
} */

.otherTour h2,.area h2,.season h2,.calender h2,.flower h2,.spot h2,.model h2,.hotel h2,.clothing h2,.access h2,.kanko h2,.campaignQa h2{
    text-align: center;
    margin-bottom: 15px;
    font-weight: bold;
    position: relative;
}
.otherTour h2 span,.area h2 span,.season h2 span,.calender h2 span,.flower h2 span,.spot h2 span,.model h2 span,.hotel h2 span,.clothing h2 span,.access h2 span,.kanko h2 span,.campaignQa h2 span{
    line-height: 2;
    border-bottom:solid 2px #0265a6;
    font-size: 22px;
    padding: 0 3em 10px;
    position: relative;
}
.border{
    text-align: center;
    margin-bottom: 60px;
}
.border img,.area .border img{
  display: inline-block;
  width: auto;
}
.lead{
    font-size: 18px;
    margin-bottom: 60px;
    margin-top: -20px;
    text-align: center;
}
.otherTour h2 span:before,.area h2 span:before,.calender h2 span:before,.flower h2 span:before,.spot h2 span:before,.hotel h2 span:before,.clothing h2 span:before,.access h2 span:before,.kanko h2 span:before,.campaignQa h2 span:before{
  display: inline-block;
  content:"";
  background: url(/upload/tenant_1/rishiriRebun_ttl_iilust01.webp) bottom left;
  position: absolute;
  bottom: 5px;
  left: -80px;
  width: 146px;
  height: 68px;
}
.season h2 span:before,.model h2 span:before{
  display: inline-block;
  content:"";
  background: url(/upload/tenant_1/rishiriRebun_ttl_iilust01_w.webp) bottom left;
  position: absolute;
  bottom: 5px;
  left: -80px;
  width: 146px;
  height: 68px; 
}
.area h2 span:before,.calender h2 span:before,.spot h2 span:before,.hotel h2 span:before,.access h2 span:before,.campaignQa h2 span:before{
  display: inline-block;
  content:"";
  background: url(/upload/tenant_1/rishiriRebun_ttl_iilust03_1.webp) bottom left;
  position: absolute;
  bottom: 5px;
  left: -100px;
  width: 143px;
  height: 67px;
}

.otherTour h2 span:after,.area h2 span:after,.calender h2 span:after,.flower h2 span:after,.spot h2 span:after,.hotel h2 span:after,.clothing h2 span:after,.access h2 span:after,.kanko h2 span:after,.campaignQa h2 span:after{
  display: inline-block;
  content:"";
  background: url(/upload/tenant_1/rishiriRebun_ttl_iilust02.webp) bottom left;
  position: absolute;
  bottom: 5px;
  right: -50px;
  width: 83px;
  height: 85px;
}
.season h2 span:after,.model h2 span:after{
  display: inline-block;
  content:"";
  background: url(/upload/tenant_1/rishiriRebun_ttl_iilust02_w.webp) bottom left;
  position: absolute;
  bottom: 5px;
  right: -50px;
  width: 83px;
  height: 85px;
}

.area h2 span:after,.calender h2 span:after,.spot h2 span:after,.hotel h2 span:after,.access h2 span:after,.campaignQa h2 span:after{
  display: inline-block;
  content:"";
  background: url(/upload/tenant_1/rishiriRebun_ttl_iilust04.webp) bottom left;
  position: absolute;
  bottom: 5px;
  right: -80px;
  width: 96px;
  height: 77px;
}

.area ,.calender ,.spot ,.hotel ,.access ,.campaignQa {
  background: #dde2e7;
}
.rishiriWrap .season{
  background: #2466a7;
  color:#FFF;
  margin: 0;
}
.rishiriWrap .season h2 span{
  border-bottom: solid 2px #FFF;
}
.otherTour ul.area{
  display: flex;
  justify-content: center;
  margin-bottom: 60px;
}
.otherTour ul.area li{
  background: none;
  margin: 0 10px;
}
.otherTour ul.area li a{
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFF;
  background-color: #48cde0;
  font-size: 18px;
  font-weight: bold;
  flex-direction: column;
}
.otherTour ul.area li:nth-child(even) a{
  background-color: #3c8fd0;
}
.otherTour ul.area li a i{
  display: block;
}
.otherTour .box{
/*   background-color: #c1edf3; */
  background: url(/upload/tenant_1/rishiriRebun_tour_bg.webp) top left repeat;
  border-radius: 10px;
  position: relative;
  margin-bottom: 40px;
}
.otherTour .box:nth-child(even){
  background-color: #c9e3f8;
}
.otherTour .box h4{
    width: 100%;
    background: #48cde0;
    border-radius: 10px 10px 0 0;
    padding: 15px;
    color: #FFF;
    position: relative;
    z-index: 2;
    margin-bottom: 0;
}
.otherTour .box:nth-child(even) h4{
    background: #3c8fd0;
}
.otherTour .box_inner{
  padding: 40px;
    position: relative;
    z-index: 2;
}
.otherTour .box_inner ul{
  display: flex;
  justify-content: flex-start;
}
.otherTour .box_inner ul li{
  width: 31%;
  margin: 0 1%;
    border-radius: 10px;
    background: #FFF;
    padding: 0;
}
.otherTour .box_inner ul li .photo img{
  border-radius: 10px 10px 0 0;
}
.otherTour .box_inner ul li .text{
  padding: 20px;
}
.otherTour .box_inner ul li .text p.ttl{
    font-size: 18px;
    color: #0060a4;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 15px;
}
.otherTour .box_inner ul li .text .point{
  color: #FFF;
    border: none;
}
.otherTour .box_inner ul li .text .point span{
  margin-right: 5px;
  background-color: #eda91a;
  font-size: 13px;
  padding: 5px 10px;
  margin-bottom: 3px;
  display: inline-block;

}
.otherTour .box_inner ul li .text .ttl{
  color: #48cde0;
}
.otherTour .box_inner .btn_wrap{
  display: flex;
  justify-content: flex-start;
  padding: 0px 15px 40px 15px;
}
.otherTour .box_inner .btn_wrap .pri{
  font-size: 24px;
  font-weight: bold;
  color: #e23131;
}
.otherTour .box_inner .btn_wrap a{
  display: block;
  width: 31%;
  background: #ec7192;
  color: #FFF;
  text-align: center;
  border-radius: 6px;
  margin: 0 1%;
  font-size: 20px;
  font-weight: bold;
}
.otherTour .box_inner .btn_wrap a p{
  padding: 5px 0;
}
.otherTour .box_inner .btn_wrap a i{
      font-size: 90%;
}
.otherTour .box_inner .btn_wrap a .info{
  position: absolute;
  text-align: center;
  color: red;
  font-weight: bold;
  background-color: none;
}
.otherTour .box_inner .btn_wrap a .info .pri span{
  font-weight: bold;
}
.otherTour .linkAll{
  text-align: center;
  margin-top: 30px;
}
.otherTour .box .linkAll a{
  display: inline-block;
  background-color: #eda91a;
  color: #FFF;
  padding: 5px 30px;
  border-radius: 6px;
  font-size: 18px;
  font-weight: bold;
}
@media (max-width: 1025px) {
  .otherTour .box_inner{
    padding: 30px;
  }
  .otherTour .box_inner ul li .text .ttl{
    font-size: 16px;
  }
  .otherTour .box_inner ul li .text .body{
    font-size: 13px;
  }
  .otherTour .box_inner ul li .text .point span{
    font-size: 12px;
  }
  .otherTour .box_inner .btn_wrap a p{
    font-size: 15px;
  }
  .otherTour .box_inner .btn_wrap a .info .pri span{
    font-size: 12px;
  }
}
.otherTour ul li a{
  display: block;
  padding: 0 15px;
}
.otherTour ul li .photo{
  margin-bottom: 15px;
}
.otherTour ul li .photo img{
  border-radius: 10px;
}
.otherTour ul li .text .ttl{
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
  color: #0966a6;
}
.otherTour ul li .text .body{
  font-size: 14px;
  margin-bottom: 10px;
}
.otherTour ul li .pri{
  color: #d91c1c;
  font-size: 26px;
  font-weight: bold;
  text-align: center;
}



@media (max-width: 768px) {
  .lead{
    font-size: 15px;
    width: 80%;
    margin: 0 auto;
    margin-bottom: 30px;
  }
  .otherTour h2 span, .area h2 span, .season h2 span, .calender h2 span, .flower h2 span, .spot h2 span, .model h2 span, .hotel h2 span, .clothing h2 span, .access h2 span, .kanko h2 span, .campaignQa h2 span{
    font-size: 16px; 
    padding: 0 1em 5px;
  }
  .otherTour h2 span:before, .area h2 span:before, .calender h2 span:before, .flower h2 span:before, .spot h2 span:before, .hotel h2 span:before, .clothing h2 span:before, .access h2 span:before, .kanko h2 span:before, .campaignQa h2 span:before{
    width: 90px;
    background-size: contain;
    left: -60px;
    background-repeat: no-repeat;
  }
  .calender h2 span:before{
    left: -120px;
  }
  .season h2 span:before, .model h2 span:before{
    width: 90px;
    background-size: contain;
    left: -60px;
    background-repeat: no-repeat;
  }
  .season h2 span:before{
    left: -120px;
  }
  .otherTour h2 span:after, .area h2 span:after, .calender h2 span:after, .flower h2 span:after, .spot h2 span:after, .hotel h2 span:after, .clothing h2 span:after, .access h2 span:after, .kanko h2 span:after, .campaignQa h2 span:after{
    width: 60px;
    background-size: contain;
    background-repeat: no-repeat;
    right: -60px;
  }
  .season h2 span:after,.model h2 span:after{
    width: 60px;
    background-size: contain;
    background-repeat: no-repeat;
    right: -60px;
  }
  .season h2 span:after{
    right: -70px;
  }
  .border{
    margin-bottom: 30px;
  }
  .border img, .area .border img{
    width: 100px;
  }
  .otherTour .box_inner{
    padding: 15px 10px;
  }
  .otherTour ul.area{
    flex-wrap: wrap;
  }
  
  .otherTour ul.area li{
    margin: 0 3px;
    margin-bottom: 10px;
  }
  .otherTour .box_inner ul li a{
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
  }
  .otherTour .box_inner ul li{
    width: 100%;
    margin:0; 
    margin-bottom: 15px;
  }
  .otherTour .box_inner ul li a .photo{
    width: 40%;
    height: 100%;
  }
  .otherTour .box_inner ul li a .photo img{
    border-radius: 10px 0 0 10px;
    object-fit: cover;
    height: 100%;
    min-height: 180px;
    width: auto;
  }
  .otherTour .box_inner ul li a .text{
    width: 60%;
    padding: 10px 10px 0;
  }
  .otherTour .box_inner ul li a .text .ttl{
    font-size: 13px;
    margin-bottom: 10px;
  }
  .otherTour .box_inner ul li a .text .body{
    font-size: 12px;
  }
  .otherTour .box_inner ul li .btn_wrap{
    padding: 0 10px;
    width: 100%;
  }
  .otherTour .box_inner ul li .btn_wrap .pri{
    font-size: 18px;
    text-align: right;
    width: 100%;
  }
/*   .otherTour ul li a{
  display: flex;
  justify-content: space-between;
}
.otherTour ul li a .photo{
  width: 40%;
} */
  .otherTour ul li a .photo img{
    object-fit: cover;
    height: 100%;
    max-height: 300px;
  }
/*   .otherTour ul li a .text{
  width: 56%;
} */
  .otherTour ul li .text .ttl{
    font-size: 15px;
    margin-bottom: 5px;
  }
  .otherTour ul li .text .body{
    font-size: 12px;
    margin-bottom: 5px;
  }
  .otherTour ul li .pri{
    font-size: 20px;
    text-align: left;
  }
}

/* --------------------------------------------------
                        area
--------------------------------------------------*/

.area .areaRishiri,.area .areaRebun{
  width: 42%;
  margin: 0 2%;
  margin-bottom: 60px;
}
.area .areaRishiri img,.area .areaRebun img{
  border: solid 3px #FFF;
}
.area img{
  width: 100%;
}
.area h3{
  text-align: center;
    margin: 10px;
    font-size: 24px;
    font-weight: bold;
    color: rgb(6, 48, 102);
}

.area .acecss h3{
  position: relative;
}

.area .acecss h3:after{
  content:"";
  background: url(/upload/tenant_1/rishiriRebun_access_illust.webp) top right;
  display: inline-block;
  width: 129px;
  height: 61px;
  position: absolute;
    right: 0;
    top: -10px;
}

.area .acecss h3 span:first-child{
  font-size: 18px;
  color: #063066;
  border-bottom: solid 1px #5594ca;
  display: block;
  width: 24em;
  margin: 0 auto;
  margin-bottom: 10px;
}
.area .acecss h3 span:last-child{
  color: #5594ca;
  display: block;
  font-size: 30px;
}

@media (max-width: 768px) {
  .area .areaRishiri, .area .areaRebun{
    width: 100%;
  }
  .area h3{
    font-size: 18px;
  }
}


/* --------------------------------------------------
                        season
--------------------------------------------------*/

.season .photo{
      padding: 0 15px;
      position: relative;
}
.season .photo img{
  border-radius: 10px;

}
.season .photo:after{
  content:"";
  background:url(/upload/tenant_1/rishiriRebun_season_iilust.webp) top right no-repeat;
  display: inline-block;
  position: absolute;
  width: 63px;
  height: 58px;
  bottom: 10px;
  right: 0;
}

.season .text{
  padding: 0 15px;
  text-align: left;
}
.season .text h3{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 30px;
    color: #FFF;
}

@media (max-width: 768px) {
  .season .photo{
    margin-bottom: 15px;
  }
  .season .text h3{
    font-size: 16px;
    margin-bottom: 15px;
  }
  .season .text p{
    font-size: 14px;
  }
}

/* --------------------------------------------------
                        acecss
--------------------------------------------------*/
.acecss{
  width: 800px;
  margin: 0 auto;
}
.acecss img{
  border: solid 3px #FFF;
  max-width: 680px;
    margin: 0 auto;
}

@media (max-width: 830px) {
  .acecss{
    width: 100%;
  }
  .area .acecss h3 span:first-child{
    width: 100%;
  }
  .area .acecss h3:after{
    width: 60px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 50px;
  }
}

/* --------------------------------------------------
                        calender
--------------------------------------------------*/

.calender_inner .img{
  width: 55%;
}
.calender_inner .img img{
  border:solid 3px #FFF;
}
.calender_inner .text{
  width: 42%;
  margin-left: 3%;
}
.calender_inner .text ul{
  background-color: #FFF;
  padding: 20px;
}
.calender_inner .text ul li{
  margin-bottom: 5px;
}
.calender_inner .text ul li span{
  font-weight: bold;
  color: #50775b;
}

@media (max-width: 768px) {
  .calender_inner .img{
    width: 100%;
    margin-bottom: 15px;
  }
  .calender_inner .text{
    width: 100%;
    margin-left: 0;
  }
  .calender_inner .text ul{
        padding: 15px;
  }
  .calender_inner .text ul li{
    font-size: 15px;
  }
}


/* --------------------------------------------------
                        flower
--------------------------------------------------*/

.flower ul li{
  padding: 0 15px;
}

.flower ul li .photo{
  margin-bottom: 10px;
}
.flower ul li .photo img{
  border-radius: 10px;
}
.flower ul li .text .area{
  background-color: #136eae;
  color: #FFF;
  text-align: center;
  border-radius: 15px;
  margin-bottom: 5px;
}
.flower ul li .text .ttl{
  font-weight: bold;
  color: #0966a6;
  text-align: center;
  font-size: 16px;
}
.flower .swiper03{
  position: relative;
}
.swiper03 .swiper-horizontal>.swiper-pagination-bullets,.swiper03 .swiper-pagination-bullets.swiper-pagination-horizontal{
  bottom: -30px;
}
.swiper03 .swiper-button-prev,.swiper03 .swiper-button-next{
  bottom: -30px;
}

@media (max-width: 768px) {
  .flower ul li{
    padding: 10px;
  }
}

/* --------------------------------------------------
                        model
--------------------------------------------------*/

.model{
  background: #2466a7;
  color: #FFF;
  margin: 0;
}
.model h2 span{
  border-bottom: solid 2px #FFF;
}


/*タブ切り替え全体のスタイル*/
.tabs {
  margin-top: 50px;
  padding-bottom: 40px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  margin: 0 auto;}

/*タブのスタイル*/
.tab_item {
  width: calc(100%/2);
  height: 50px;
  border-bottom: 3px solid #4486d7;
  background-color: #d9d9d9;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  cursor: pointer;
}
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 40px 40px 0;
  clear: both;
  overflow: hidden;
}
.tab_content li{
  padding: 0 15px;
  margin-bottom: 20px;
}
.tab_content li .photo{
  margin-bottom: 10px;
  position: relative;
}
.tab_content li .photo img{
  border-radius: 10px;
}
.tab_content li .text .ttl{
  color: #4486d7;
  font-weight: bold;
  margin-bottom: 5px;
}
.tab_content li .photo .area{
    position: absolute;
    right: -10px;
    bottom: -10px;
    width: 4em;
    height: 4em;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    /* font-weight: bold; */
    background-color: #4486d7;
    color: #FFF;
}
.tab_content .link{
  margin: 10px;
}
.tab_content .link a{
  width: 20em;
  margin: 0 auto;
  display: block;
  background-color: #ffd600;
  color: #5594ca;
  font-weight: bold;
  text-align: center;
  padding: 10px;
  border-radius: 30px;
  font-size: 16px;
}


/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content,
#design:checked ~ #design_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #4486d7;
  color: #fff;
  cursor: pointer;
}

.swiper{
  padding-bottom: 30px;
}
.swiper-button-prev{
    position: absolute;
    bottom: 0px;
    top: auto;
/*     left: calc(50% - 5em); */
    cursor: pointer;
    z-index: 21;
    left: 30%;
}
.swiper-button-prev:after{
  content:"";
  display: inline-block;
  background: url(/upload/tenant_1/hatsuyume2024_arrowL.webp) left top no-repeat;
  background-size: cover;
  width: 24px;
  height: 24px;
  z-index: 20;
  position: absolute;
  bottom: 0;
}
.swiper-button-next{
  position: absolute;
  bottom: 0;
  top: auto;
/*   right: calc(50% - 5em); */
  cursor: pointer;
  z-index: 21;
  right: 30%;
}
.swiper-button-next:after{
  content:"";
  display: inline-block;
  background: url(/upload/tenant_1/hatsuyume2024_arrowR.webp) left top no-repeat;
  background-size: cover;
  width: 24px;
  height: 24px;
  z-index: 20;
  position: absolute;
  bottom: 0;
}

.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal{
  position: absolute;
  z-index: 20;
  bottom: 0px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 6px;
}


@media (max-width: 768px) {
  .tab_content{
    padding: 15px 0;
  }
  .tab_content li .photo img{
    width: 80%;
    margin: 0 auto;
  }
  .tab_content li .photo .area{
    right: 0;
    bottom: 0;
  }
  .tab_content li .text .body{
    font-size: 13px;
  }
  .tab_content li .text .ttl{
    text-align: center;
  }
  .swiper-button-prev{
    left: 10%;
  }
  .swiper-button-next{
    right: 10%;
  }
}


/* ========================================================
		courseSection
 ======================================================== */
 
 /*	this is my short cut clear fix.
	with note "display:flex" */
.courseSection .cfx:before,.courseSection .cfx:after {
  content:"";
  display: table;
}
.courseSection .cfx:after { clear:both; }
.courseSection .cfx { *zoom:1; }

.courseSection .cf:before,.courseSection .cf:after {
  content:"";
  display: table;
}
.courseSection .cf:after { clear:both; }
.courseSection .cf { *zoom:1; }


/* unnuber list is clear fix */
.courseSection ul:before,.courseSection ul:after {
content:"";
display: table;
}
.courseSection ul:after { clear:both; }
.courseSection ul { *zoom:1; }

/* data list is clear fix */
.courseSection dl:before,.courseSection dl:after {
content:"";
display: table;
}
.courseSection dl:after { clear:both; }
.courseSection dl { *zoom:1; }


.courseSection li { list-style:none; }




.courseSection {
margin-bottom: 40px;
line-height: 2em;
}

.courseSection h2,.bnrSection h2 {
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/bg_dots001.webp);
background-repeat: repeat-x;
background-position: center top 15px;
height: 118px;
text-align: center;
}
.courseSection h2 img ,.bnrSection h2 img{
width: 239px;
background-color: #fff;
padding: 0 5px;
margin:0 auto;
}
.bnrSection h2 img{
  width: 300px;
}

.courseSection h3 {
/* background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/bg_course_title001.webp);
background-repeat: repeat-x;
background-position: center top;
vertical-align: middle;
display: table;
width: 100%;
height: 116px;
margin-bottom: 25px; */
}

.courseSection h3 span {
/* display: table-cell;
height: 116px;
vertical-align: middle;
text-align: center; */
}

.courseSection h3 img {
width: 332px;margin:0 auto;
}

@media screen and (max-width: 374px) {
		.courseSection h3 img {
		width: 100%;
		}
}


.courseSection .pointList h4 {
text-align: center;
line-height: 13px;
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/bg_dots002.webp);
background-repeat: repeat-x;
background-position: center center;
margin-bottom: 15px;
}
.courseSection .pointList h4 span {
display: inline-block;
font-size: 2rem;
line-height: 1.0em;
background-color: #2466a7;
padding: 0 5px;
}

.courseSection .detailLink {
background-color: #E6A521;
padding: 15px 0;
text-align: center;
margin-bottom: 5px;
color: #FFF;
}
.courseSection .moreCourse{
  margin-top: 10px;
}
.courseSection .detailLink{
  margin-top: 10px;
}
.courseSection .detailLinkList {
/* display:  none; */
  width: 80%;
  margin: 0 auto;
}

.courseSection .detailLinkList li{
  background-color: #FFF;
  margin: 10px 0;
  padding: 10px;
}

.courseSection .detailLinkList li a{
  display: flex;
  justify-content: center;
  font-size: 16px;
  line-height: 1.5;
}
.courseSection .detailLinkList li a p:first-child{
  margin-right: 10px;
}
.courseSection .detailLinkList li a p:last-child{
    color: red;
    font-weight: bold;
}
.courseSection .detailLinkList li a p:last-child span{
  font-size: 130%;
}

.courseSection .detailLink h4 {
/* font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif; */
font-size: 1.1rem;
font-weight: bold;
text-align: center;
margin-bottom: 5px;
}
.courseSection .acordion .detailLink h4 {
  color: #43694d;
}

.courseSection select {
-webkit-appearance: none;
-moz-appearance: none;
-webkit-box-sizing: content-box;
appearance: none;
font-size:1rem;
padding:10px 30px 10px 10px;
border: none;
border-radius:0;
background-color: #fff;
background-image:url(/import/tenant_1/153.127.54.224/html20220113/images/mark_down001.webp);
background-repeat:no-repeat;
background-position:right 12px center;
width: 280px;
box-sizing: border-box;

}
.courseSection select::-ms-expand {
display: none;
}

.courseSection .moreCourse .day {
/* font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif; */
font-size: 1rem;
font-weight: bold;
color: #fff;
background-color: #7ba987;
text-align: center;
line-height: 24px;
width: 72px;
margin-bottom: 20px;
}

.courseSection .commonCourse {
position: relative;
margin-bottom: 50px;
}

.courseSection .commonCourse .number {
position: absolute;
top: -10px;
left: 15px;
}
.courseSection .number img {
width: 83px;
height: auto;
}

.courseSection .mainPhoto {
margin-bottom: 32px;
}
.courseSection .mainPhoto .photo {
margin-bottom: 5px;
}
.courseSection .mainPhoto img {
width: 100%;
}

.courseSection .mainPhotoCaption {
font-size: .8rem;;
line-height: 1.35em;
margin: 0 15px;
}

.courseSection .commonCourse .courseDetal {
margin: 0 15px;
position: relative;
}

.courseSection .commonCourse .period {
position: absolute;
top: -10px;
left: 18px;
width: 95px;
/* font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif; */
font-size: 1rem;
font-weight: bold;
color: #fff;
line-height: 24px;
background-color: #7F8173;
text-align: center;
letter-spacing: 0.2em;
padding-left: 0.2em;
}



.courseSection .pointList {
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/bg_dots002.webp);
background-repeat: repeat-x;
background-position: center bottom;
margin-bottom: 20px;
padding-bottom: 20px;
}

.courseSection .pointList li {
/* font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif; */
font-size: .8rem;
line-height: 1.9em;
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/list_mark001.webp);
background-repeat: no-repeat;
background-position: left 2px top 0.7em;
padding-left: 1em;
}

.moreCourse .photo img {
width: 100%;
height: auto;
border-radius: 10px;
}

.moreCourse .photo .figure {
margin: 0;
}

.moreCourse .photo .caption {
font-size: .8rem;
line-height: 16px;
padding-left: 1.5em;
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/icon_camera001.webp);
background-repeat: no-repeat;
background-position: left center;
}

.moreCourse .courseList > li {
margin-bottom: 25px;
}





/* acordion */

.courseSection .acordion{margin: 0;}
.courseSection .acordion > dt {
  cursor:pointer;
/* font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif; */
font-size: 15px;
font-weight: bold;
line-height: 44px;
text-align: center;
color: #fff;
background-color: #7ba987;
}
.courseSection .acordion > dd {
background-color: #f2f2f1;
padding: 20px 15px;
font-size: 1.4rem;
line-height: 1.6em;
color: #000;
}
.schduleList {
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/bg_green_dots002.webp);
background-repeat: repeat-y;
background-position: left 36px top;
padding: 0 0 20px 0;
}

.schduleTimeLine dl {
}

.schduleList dt {
float: left;
width: 72px;
font-size: 1rem;
color: #fff;
text-align: center;
line-height: 18px;
background-color: #7F8173;
border-radius: 50px;
}

.schduleList dd {
float: right;
width: calc(100% - 80px);
font-size: 1.4rem;
line-height: 1em;
}

.schduleTimeLine li {
background-repeat: no-repeat;
background-position: left 3px top;
padding-left: 28px;
font-size: 12px;
line-height: 1.2em;
margin-bottom: 0.6em;
}
.schduleTimeLine li.air {
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/icon_plain001.webp);
}
.schduleTimeLine li.car {
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/icon_car001.webp);
}
.schduleTimeLine li.other {
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/icon_map001.webp);
}
.schduleTimeLine li.walk {
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/icon_walk001.webp);
}
.schduleTimeLine li.eat {
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/icon_eat001.webp);
}
.schduleTimeLine li.hotel {
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/icon_hotel001.webp);
}
.schduleTimeLine li.parking {
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/icon_parking001.webp);
}
.schduleTimeLine li.ship {
background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/icon_ship001.webp);
}
.cf:after {
    clear: both;
}
.courseSection ul:before,.courseSection ul:after {
    content: "";
    display: table;
}

.courseSection .commonCourse .number{
    position: absolute;
    top: -14px;
    left: -12px;
    font-size: 30px;
    width: 5em;
    text-align: center;
    background-color: #ffd600;
    color: #4486d7;
    padding: 5px 0;
}
.courseSection .mainPhoto .photo{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.courseSection .mainPhoto img{
    margin-bottom: 10px;
    border-radius: 10px;
    width: 48%;
}
.courseSection .mainPhoto img:first-child{
  width: 100%;
}
.courseSection .commonCourse .courseDetal h3{
  font-size: 16px;
}
.courseSection .commonCourse .period{
    position: relative;
    top: auto;
    left: auto;
    width: 4em;
    font-size: 16px;
    line-height: 26px;
    background-color: #FFF;
    color: #2466a7;
    width: 5.5em;
    text-align: center;
    display: block;
}
.courseSection .pointList li{
  font-size: 13px;
  line-height: 2.25em;
  padding-left: 0;
  background: none;
  list-style: circle;
  margin-left: 20px;
}
.courseSection .detailLinkList li a p:first-child{
  color: #2466a7;
  font-weight: bold;
}

/* for PC */
@media screen and (min-width: 1025px) {
  
  .schduleTimeLine li {
    font-size: 16px;
  }

		.courseSection {
		margin-bottom: 100px;
		}

		.courseSection h2,.bnrSection h2 {
		background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/bg_dots001a.webp);
		background-position: center top 40px;
		height: 136px;
		margin-bottom: 100px;
		}
		.courseSection h2 img,.bnrSection h2 img {
		width: auto;
		padding: 0;
		}


		.courseSection h3 {
/*     background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/bg_course_title001a.webp);
display: table;
width: 100%;
height: 167px;
margin-bottom: 35px; */
		}

		.courseSection h3 span {
/*     height: 167px; */
		}

		.courseSection h3 img {
		width: auto;
		}

		.courseSection .pointList h4 {
		line-height: 16px;
		margin-bottom: 15px;
		}
		.pointList h4 span {
		font-size: 1.6rem;
		padding: 0 10px;
		}

		.courseSection .detailLink {
		background-color: transparent;
		padding: 0;
		text-align: center;
		margin-bottom: 0;
		color: #FFF;
		}
		
		.courseSection .detailLinkList {
		display: block;
		width: 100%;
		}
		
		.courseSection .detailLinkList li {
		  background: none;
      margin: 0;
      padding: 0;
		width: 100%;
		margin-bottom: 15px;
		}
		.courseSection .detailLinkList li a{
      display: block;
    }
    .courseSection .detailLinkList li a p:first-child{
      margin-right: 0;
      color: #FFF;
      font-weight: bold;
    }

		.courseSection .detailLinkList li:nth-child(even) {
/*     float: right; */
		}
		
		.courseSection .detailLinkList a {
		display: block;
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 37px;
		color: #fff;
		background-color: #E6A521;
		background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/mark001.webp);
		background-repeat: no-repeat;
		background-position: right 12px center;
		padding: 10px 0;
		}
		
    .courseSection .detailLinkList a p{
    line-height: 1.4;
    }
    .courseSection .detailLinkList a p:last-child{
    color: #e50000;
    font-size: 1.2em;
    }

		.courseSection .detailLink h4 {font-size: 1rem;}

		.courseSection select {
		display: none;
		}
		.courseSection select::-ms-expand {
		display: none;
		}

		.courseSection .moreCourse .day {
		font-size: 1.2rem;
		width: 122px;
		line-height: 36px;
		margin-bottom: 30px;
		}


		.courseSection .commonCourse {
		position: relative;
		margin-bottom: 200px;
		}
		
		.courseSection .commonCourse:last-child {
		margin-bottom: 0;
		}

		.courseSection .commonCourse .number {
		position: absolute;
		top: -14px;
		left: -12px;
		font-size: 40px;
    width: 5em;
    text-align: center;
    background-color: #ffd600;
    color: #4486d7;
    padding: 5px 0;
		}
		.courseSection .number img {
		width: auto;
		}

		.courseSection .mainPhoto {
		float: left;
		width: 513px;
		margin-bottom: 30px;
		}
		.courseSection .mainPhoto .photo {
		margin-bottom: 5px;
		display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
		}
		.courseSection .mainPhoto img.photo01 {
  		width: 100%;
  		border-radius: 10px;
      margin-bottom: 20px;
		}
		.courseSection .mainPhoto img.photo02,.courseSection .mainPhoto img.photo03 {
  	border-radius: 10px;
    width: 48%;
		}

		.courseSection .mainPhotoCaption {
		font-size: .8rem;
		line-height: 1.35em;
		margin: 0;
		}

		.courseSection .iLeft {
		float: right;
		width: 460px;
		margin-bottom: 30px;
		}

		.courseSection .commonCourse .courseDetal {
		margin: 0;
		margin-bottom: 30px;
		position: relative;
		}
		
		.courseSection .commonCourse .courseDetal h3{
  		display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 0;
		}
		.courseSection .commonCourse .courseDetal h3 span:nth-child(2){
		  width: calc(100% - 5.5em);
      font-size: 24px;
      font-weight: bold;
		}

		.courseSection .commonCourse .period {
		  position: relative;
		  top: auto;
		  left: auto;
      width: 4em;
  		font-size: 1.2rem;
  		line-height: 33px;
  		background-color: #FFF;
      color: #2466a7;
      width: 5.5em;
      text-align: center;
		}



		.courseSection .pointList {
		background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/bg_dots002.webp);
		background-repeat: repeat-x;
		background-position: center bottom;
		margin-bottom: 20px;
		padding-bottom: 20px;
		}

		.courseSection .pointList li {
		font-size: 1rem;
		line-height: 2.25em;
		padding-left: 1em;
		background: none;
    list-style: circle;
    margin-left: 20px;
		}

		.moreCourse .photo img {
		  border-radius: 10px;
		}

		.moreCourse .photo  {
		float: right;
		width: 480px;
		margin-bottom: 30px;
		position: relative;
		}

		.moreCourse li:nth-child(even) .photo  {
		float: left;
		position: relative;
		left: 20px;
		}

		.moreCourse .photo .caption {
		font-size: .8rem;
		line-height: 16px;
		padding-left: 1.5em;
		background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/icon_camera001.webp);
		background-repeat: no-repeat;
		background-position: left center;
		}

		.moreCourse .courseList > li {
		margin-bottom: 25px;
		}
		.moreCourse .courseList > li:last-child {
		margin-bottom: 0;
		}



		/* acordion */

		.courseSection .acordion{}
		.courseSection .acordion > dt {
		font-size: 23px;
		line-height: 54px;
		}
		.courseSection .acordion > dt:hover{opacity:0.8;}
		.courseSection .acordion > dd {
		padding: 30px 30px;
		}

		.schduleList {
		background-image: url(/import/tenant_1/153.127.54.224/html20220113/images/bg_green_dots002a.webp);
		background-repeat: repeat-y;
		background-position: left 36px top;
		padding: 0 0 30px 0;
		margin-left: 25px;
		float: left;
		width: 410px;
		}
		
		
    .courseList li .schduleList.fR {
      float: right;
    }

		.schduleTimeLine dl {
		}

		.schduleList dt {
		float: left;
		width: 72px;
		font-size: 1rem;
		color: #fff;
		text-align: center;
		line-height: 18px;
		background-color: #7F8173;
		border-radius: 50px;
		}

		.schduleList dd {
		float: right;
		width: calc(100% - 80px);
		font-size: 1.4rem;
		line-height: 1em;
		}

}
.cf:before, .cf:after {
    content: "";
    display: table;
}

/* --------------------------------------------------
                        hotel
--------------------------------------------------*/

.hotel .swiper02{
      position: relative;
}
.hotel ul li{
  padding: 0px 15px;
}
.hotel ul li.soon{
  position: relative;
}
.hotel ul li.soon a{
  opacity: 0.3;
  position: relative;
  cursor: default;
}
/* .hotel ul li.soon:before{
  content:"comming soon";
  display: inline-block;
  position: absolute;
  top: 10%;
  left: calc(100% - 10em);
  color: #000;
  font-size: 20px;
  font-weight: bold;
} */
.hotel ul li.soon .soonTxt{
  position: absolute;
  top: 10%;
  left: calc(100% - 10em);
  color: #000;
  font-size: 20px;
  font-weight: bold;
}
.hotel ul li .photo img{
  border-radius: 10px;
}
.hotel ul li .text{
  padding: 10px;
}
.hotel ul li .text .area{
  background: #2466a7;
  color: #FFF;
  text-align: center;
  margin: 5px 0;
  border-radius: 10px;
}
.hotel ul li .text .ttl{
  font-weight: bold;
  font-size: 16px;
}
.hotel ul li .text .pri{
  color: red;
  font-weight: bold;
  font-size: 20px;
}
.hotel ul li .text .pri .pri{
  font-size: 20px;
}

.hotel .swiper-horizontal>.swiper-pagination-bullets,.hotel .swiper-pagination-bullets.swiper-pagination-horizontal,.hotel .swiper-button-prev,.hotel .swiper-button-next{
    bottom: -30px;
}
@media (max-width: 768px) {
/*   .hotel ul li.soon:before{
  left: calc(100% - 12.5em);
} */
  .hotel ul li.soon .soonTxt{
    left: calc(100% - 12.5em);    
  }
}
/* --------------------------------------------------
                        clothing
--------------------------------------------------*/

.clothing .photo{
  display: flex;
  justify-content: center;
}

/* --------------------------------------------------
                        access
--------------------------------------------------*/

.access_inner{
  max-width: 700px;
  margin: 0 auto;
  margin-bottom: 15px;
}
.access h3{
    background: #0164a7;
    padding: 5px;
    text-align: center;
    color: #FFF;
    margin-bottom: 10px;
}
.access .box{
  justify-content: space-between;
}
.access .box .ttl{
  width: 9em;
  font-weight: bold;
  display: flex;
}
.access .box .ttl img{
    width: 2em;
    height: max-content;
    margin-right: 1em;
}
.access .box .text{
  width: calc(100% - 9em);
}
.access .link{
  background-color: #7ba987;
  color: #FFF;
  text-align: center;
  font-size: 18px;
    max-width: 700px;
    margin: 0 auto;
    width: 90%;
}
.access .link a{
      font-size: 18px;
      display: block;
}
@media (max-width: 768px) {
  .access .box{
    margin-bottom: 10px;
  }
  .access .link{
    width: 100%;
    padding: 5px;

  }
  .access .link a{
    font-size: 16px;
  }
  .access .box .ttl img.air{
    width: 29px;
    height: 23px;
  }
  .access .box .ttl img.ferry{
    width: 29px;
    height: 18px; 
  }
}

/* --------------------------------------------------
                        kanko
--------------------------------------------------*/

.kanko .kanko_inner{
  margin-bottom: 15px;
}
.kanko .box{
  padding: 0 15px;
}
.kanko .box .photo{
  margin-bottom: 10px;
}
.kanko .box .photo img{
  border-radius: 10px;
}
.kanko .box .link{
  background-color: #0164a7;
  color: #FFF;
  text-align: center;
  padding: 2px;
  border-radius: 15px;
}
.kanko .box .text{
      margin-bottom: 10px;
}
.kanko .moreLink a{
    display: block;
    width: 14em;
    text-align: center;
    margin: 0 auto;
    font-size: 18px;
    background-color: #7ba987;
    color: #FFF;
    padding: 6px;
}
@media (max-width: 768px) {
  .kanko .box .text{
    margin-bottom: 10px;
  }
  .kanko .moreLink a{
    width: 100%;
    font-size: 15px;
  }
  .kanko .box{
    margin-bottom: 20px;
  }
}

/* --------------------------------------------------
                        campaignQa
--------------------------------------------------*/

.campaignQa .box dl+dl {
    margin-top: 40px;
}

.campaignQa .box dl > * {
    font-size: 18px;
    padding: 30px 50px 30px 140px;
    border-radius: 4px;
    position: relative;
    z-index: 0;
}

.campaignQa .box dl dt {
  background: #FFF;
    cursor: pointer;
}

.campaignQa .box dl dt:hover {
    background:#d4f6ff;
}

.campaignQa .box dl dd {
  background: #f0fcff;
}

.campaignQa .box dl dt:before {
    content: "";
    width: 10px;
    height: 10px;
    border-bottom: solid 2px #333;
    border-right: solid 2px #333;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -6px;
    -webkit-transform: rotate( 45deg);
            transform: rotate( 45deg);
}

.campaignQa .box dl dt.active:before {
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
}

.campaignQa .box dl .sub {
    width: 60px;
    height: 60px;
    font-size: 30px;
    color: #fff;
    text-align: center;
    line-height: 60px;
    border-radius: 4px;
    position: absolute;
    top: 45px;
    left: 30px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 0;
}

.campaignQa .box dl dt .sub {
  background: #013895;
}

.campaignQa .box dl dd .sub {
  background: #5ebaba;
}

.campaignQa .box dl .more a {
    background-color: #568fc7;
    color: #fff;
    padding: 5px 10px 4px 25px;
    margin: 0 5px;
    border-radius: 4px;
    position: relative;
    display: inline-block;
}

.campaignQa .box dl .more a:after {
    content: '';
    width: 6px;
    height: 6px;
    border-bottom: solid 2px #FFF;
    border-right: solid 2px #FFF;
    position: absolute;
    top: 60%;
    left: 5px;
    margin-top: -6px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    z-index: 0;
}

.campaignQa .box dl .moreTxt {
    display: inline-block;
}

.campaignQa .box dl .moreTxt a {
    color: #568fc7;
}

.campaignQa .box dl .moreTxt a:hover {
    text-decoration: underline;
}

@media (max-width: 1024px) {
    .campaignQa .box dl+dl {
        margin-top: 20px;
    }
}

@media (max-width: 599px) {
    .campaignQa .box dl > * {
        font-size: 14px;
        padding: 20px 30px 10px 55px;
    }
    .campaignQa .box{
      padding: 0 10px;
    }
    .campaignQa .box dl .sub {
        width: 35px;
        height: 35px;
        font-size: 18px;
        line-height: 35px;
        top: 30px;
        left: 10px;
    }

    .campaignQa .box dl dt:before {
        width: 8px;
        height: 8px;
        right: 10px;
    }
}


@media (max-width: 1024px) {
  #footer .footerSiteMap .inner{
    width: 94%;
  }
}
