@charset "utf-8";
/* LIFE九州モデルコース特集用のCSSです（ぐるり九州から変更）　2021.9.2 */
/*-------------------------------------
	他CSS打消し
-------------------------------------*/
#container, .wrapContent {
  width: 100%;
}
#bred_navi {
  width: 1200px;
  margin: 5px auto;
}
/*-------------------------------------
	共通	
-------------------------------------*/
.gururi * {
  font-size: 16px;
  line-height: 160%;
}
.gururi section {
  padding: 50px 0;
}
.gururi h3 {
  text-align: center;
  font-size: 30px;
  margin: 0 0 30px 0;
}
.gururi h3 span {
  display: block;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 18px;
  font-weight: bold;
  color: #78BBE6;
  margin-bottom: 5px;
}
.gururi .pc-none {
  display: none;
}
@media only screen and (max-width: 789px) {
.gururi .pc-none {
  display: inherit;
}
.gururi section {
  width: 100%;
}
}
/*-------------------------------------
  発地切替ヘッダー（#search） 
-------------------------------------*/
#search {
    padding: 16px 0;
    background: #F99F48;
    box-sizing: border-box;
}
#search .inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  color: #FFF;
  box-sizing: border-box;
}
#search .inner div:first-of-type {
    margin-right: 10px;
    font-size: 18px;
    padding-top: 8px;
    margin-left: 3px;
    color: #333;
}
#search .inner select {
    width: 200%;
    padding: 4px;
    font-size: 18px;
    box-sizing: border-box;
}

/*-------------------------------------
	ナビ（nav）	
-------------------------------------*/
.NewNav {
  border-bottom: 2px solid #78BBE6;
  width: 100%;
  background: #fff;
}
.NewNav ul {
  display: flex;
  justify-content: center;
}
.NewNav.on {
  top: 0;
  position: fixed;
  z-index: 9999;
}
.NewNav a {
  position: relative;
  display: block;
  padding: 10px 25px;
  font-weight: bold;
  color: #333;
  font-size: 18px;
  border-right: 1px solid #ccc;
  margin: 10px 0;
}
.NewNav a::after {
display: block;
    content: "";
    width: 6px;
    height: 6px;
    border-top: solid 2px #78BBE6;
    border-right: solid 2px #78BBE6;
    -webkit-transform: rotate(45deg);
    transform: rotate(135deg);
    position: absolute;
    right: 50%;
    animation: uest 0.7s infinite alternate;
    margin: 7px 0 0 0;
}
.nav-shuyu a {
  background: #F99F48;
    border-radius: 5px;
    margin: 10px;
    border: none;
}
.nav-model a {
  background: rgb(249 159 72 / 70%);
    border-radius: 5px;
    margin: 10px;
    border: none;
}
.contentWrap.faq {
  margin: 40px auto;
}
#closeBtn {
  display: none;
}
@keyframes uest {
  0% {
    top: 50%;
    opacity: 0;
  }
  100% {
    top: 66%;
    opacity: 1;
  }
}
#spFltBtn {
  display: none;
}
@media only screen and (max-width: 789px) {
  .NewNav {
    width: 100%;
    display: none;
  }
  .NewNav ul {
    flex-wrap: wrap;
  }
  .NewNav.on {
    display: block;
    width: 100%;
    position: fixed;
    bottom: 0;
    top: inherit;
    border-top: 4px solid #78BBE6;
    border-bottom: 0;
  }
  .NewNav li {
    width: 100%;
    text-align: center;
  }
  .NewNav a {
    position: relative;
    display: block;
    font-weight: bold;
    color: #333;
    font-size: 120%;
    border-right: none;
    border-bottom: 1px solid #ccc;
    margin: 0;
    padding: 15px 0;
  }
  .NewNav li:last-of-type a {
    border-bottom: none;
  }
  .faqCont {
    width: 94%;
  }
  .faqCont dt span:nth-of-type(2) {
    background: #3a77c7;
    display: inline-block;
    color: #fff;
    padding: 10px 10px;
    width: 12%;
    text-align: center;
    border-radius: 4px;
    margin-left: auto;
    cursor: pointer;
  }
  .nesageInr.type2 > div dt img {
    width: 100%;
    height: 60px;
  }
  #closeBtn {
    background: #78BBE6;
    color: #fff;
    font-size: 180%;
    padding: 10px 20px;
    display: inline-block;
    position: absolute;
    right: 0;
    top: -66px;
  }
  #spFltBtn {
    display: block;
    background: #78BBE6;
    width: 5em;
    text-align: center;
    padding: 20px 5px;
    color: #fff;
    border-radius: 10px;
    position: fixed;
    bottom: 20px;
    left: 10px;
    box-shadow: 1px 1px 1px 1px #e8eeef;
    z-index: 9998;
  }
}
/*-------------------------------------
	ツアーlink（tour-link）
-------------------------------------*/
.tour-link {
  background: #D5EEFF;
}
.tour-link .midashi {
 font-size: 22px;
 text-align: center;
 border-bottom: 1px solid #1B435D;
 width: 95%;
 max-width: 1200px;
 margin: 0 auto 20px auto;
 color: #1B435D;
 font-weight: bold;
}
.tour-link .inner {
  width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.tour-link .box {
  width: 47%;
}
.tour-link .box dt {
  font-size: 18px;
  font-weight: bold;
  padding: 0 0 5px 0;
  color: #1B435D;
  text-align: center;
}
.tour-link .tour-list dd ul {
  display: flex;
  justify-content: space-between;
  margin: 20px 0;
}
.tour-link .tour-list dd ul li {
  width: calc(100% / 3);
  padding: 5px 10px;
}
.tour-link .tour-list dd ul li:nth-child(3), .tour-link .tour-list dd ul li:nth-child(6) {
  border-right: none;
}
.tour-link .tour-list dd ul li .shuyubtn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #1B435D;
  border-radius: 0.5rem;
}
a.btn-border-shadow {
  padding: calc(1.5rem - 12px) 3rem 1.5rem!important;
  background: #fff;
}

a.btn-border-shadow:before {
  position: absolute;
  top: -6px;
  left: -6px;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border: 3px solid #1B435D;
  border-radius: 0.5rem;
}

a.btn-border-shadow:hover {
  padding: calc(1.5rem - 6px) 3rem!important;
}
a.btn-border-shadow:hover:before {
  top: 0;
  left: 0;
}
a.btn-border-shadow--color {
  border-radius: 100vh!important;
}
a.btn-border-shadow--color:before {
  border-radius: 100vh!important;
  -webkit-box-shadow: 3px 3px 0 #78BBE6;
  box-shadow: 3px 3px 0 #78BBE6;
}
@media only screen and (max-width: 789px) {
  .tour-link .inner {
    width: 98%;
    flex-direction: column;
  }
  .tour-link .box {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .tour-link .box dt {
    text-align: center;
  }
  .tour-link .tour-list dd ul li {
    padding: 0 5px;
  }
  .tour-link .tour-list dd ul li .shuyubtn{
    font-size: 1.4rem;
  }
  .tour-link .tour-list dd ul li span {
    font-size: 1.4rem;
  }
  a.btn-border-shadow:before{
    top: -3px;
    left: -3px;
    border: 2px solid #1B435D;
  }
}
/*-------------------------------------
	旅のプランナーはあなた（point）
-------------------------------------*/
.point .lead-txt {
  width: 95%;
  max-width: 600px;
  margin: 0 auto;
}
.point ul {
  display: flex;
  justify-content: space-between;
  margin: 40px 0 0 0;
}
.point li {
  width: calc(100% / 3 - 20px);
}
.point li h4 {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 20px 0;
  color: #3a77c7;
  border-bottom: 2px solid #3a77c7;
}
.point li h4 span {
  font-size: 24px;
}
.point li p {
  padding: 0 10px;
}
@media only screen and (max-width: 789px) {
  .gururi .point h3 {
    font-size: 24px;
  }
  .point ul {
    flex-direction: column;
    width: 95%;
    margin: 0 auto;
  }
  .point li {
    width: 100%;
    margin: 30px 0 0 0;
  }
}
/*-------------------------------------
	みどころ（midokoro）
-------------------------------------*/
.contentWrap .curbTtl {
  font-size: 24px;
  color: #78BBE6;
}
.contentWrap .curbTtl:after {
  border-bottom: 3px solid #78BBE6;
}
.contentWrap.box2.midokoro dl dt {
  width: 60%;
  padding: 0 20px 0 0;
  box-sizing: border-box;
}
.contentWrap.box2.midokoro dl dt img {
  width: 100%;
}
.slideArea {
  display: flex;
  width: 100%;
  height: 315px;
}
@media only screen and (max-width: 789px) {
    .gururi .midokoro h3 {
    font-size: 24px;
  }
  .contentWrap.box2.midokoro dl dt {
    width: 100%;
    padding: 0;
  }
  .contentWrap.box2.midokoro dl dd .txt {
    font-size: 16px;
  }
}
/*-------------------------------------
	モデルコース（modelcourse）
-------------------------------------*/
.modelcourse {
  background: #D5EEFF;
  border-top: 2px solid #FFF;
  border-bottom: 2px solid #FFF;
}
.modelcourse .inner {
  width: 1200px;
  margin: 0 auto;
}
/*タブメニュー*/
.modelcourse .tab-menu .tabs {
  display: flex;
  justify-content: space-between;
  margin: 0 0 15px 0;
}
.modelcourse .tab-menu .tabs li {
  display: block;
  width: calc(100% / 3 - 15px);
  border: 3px solid #e90099;
  text-align: center;
}
.modelcourse .tab-menu .tabs li a {
  display: block;
  background: #FFF;
  color: #e90099;
  font-size: 20px;
  padding: 10px 0;
}
/*タブの中身*/
.modelcourse .tab-wrap {
  background: #FFF;
}
.modelcourse .tab-content h4 {
  font-size: 24px;
  text-align: center;
  padding: 10px 0;
  background: #e90099;
  color: #FFF;
}
.modelcourse .tab-content h4 span {
  font-size: 16px;
  margin: 0 10px 0 0;
}
.modelcourse .box-wrap {
  display: flex;
  justify-content: space-between;
  padding: 10px;
}
.modelcourse .box-wrap .box {
  width: calc(100% /3);
  padding: 10px;
}
.modelcourse .box-wrap .box h5 {
  margin: 0 0 10px 0;
  border-bottom: 2px solid #e90099;
  color: #e90099;
  font-size: 18px;
}
.modelcourse .box-wrap .box dt {
  display: inline-block;
  color: #e90099;
  width: 70px;
  vertical-align: top;
  margin: 5px 0 0 0;
}
.modelcourse .box-wrap .box dd {
  display: inline-block;
  width: calc(100% - 80px);
  margin: 5px 0 0 0;
}
.modelcourse .box-wrap .box p.hotel {
  text-align: center;
  padding: 5px;
  border: 1px dotted #e90099;
  margin: 10px 0 0 0;
}
/*追加アコーディオンver 2021.9*/
summary {
  list-style: none;
  position: relative;
  margin-bottom: 10px;
  padding: 20px 70px 20px 30px;
  cursor: pointer;
  background-color: #fff;
  color: #1B435D;
  font-weight: bold;
  border: 3px solid #1B435D;
}

summary::-webkit-details-marker {
  display: none;
}

summary:hover,
details[open] summary {
  background-color: #1B435D;
    color: #fff;
}

summary::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  transition: transform 0.5s;
  font-size: 30px;
}

details[open] summary::after {
  transform: translateY(-50%) rotate(45deg);
}

.answer {
  padding: 20px 30px;
}

details[open] .answer {
  animation: fadein 0.5s ease;
}

@keyframes fadein {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.topBox{
  display:flex;
  justify-content: space-between;
}
.topBox_left .day{
  background: #fff;
    width: 70px;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    padding: 5px;
    margin: 10px 0;
}
.pickup1 .topBox_left{
  width:60%;
}
.pickup1 .topBox_right{
  width:38%;
  display:flex;
  margin-top: 30px;
}
.pickup3 .topBox{
  display:flex;
  justify-content: flex-start;
}
.pickup3 .topBox_left{
  width:10%;
}
.pickup3 .topBox_right{
  width:75%;
  display: flex;
  margin-top: 30px;
}
.topBox_right .spotName p{
  writing-mode: vertical-rl;
  letter-spacing: 2px;
  font-size: 1.4rem;
  margin: 0 1rem;
}
.timeHow{
 display:flex;
 flex-direction:column;
 align-items:center;
 margin: 0.5rem 1rem;
}
.timeHow p{
  font-size: 1.4rem;
}
.time{
  position:relative;
  padding-right:10px;
}
.time p{
  margin-bottom: 10px;
}
.time:before, .time:after{
  content:"";
  display:block;
  -webkit-transform:skewX(45deg);
  transform:skewX(45deg);
  position:absolute;
  right:0;
  bottom:6px;
}
.time:before{
  width: calc(90%);
  height:3px;
  background:#62A1CB;
}
.time:after{
  width:4px;height:8px;
  background:#62A1CB;
}
.imgBox {
  margin-bottom: 20px;
}
.imgBox ul{
  display: flex;
  justify-content: flex-start;
  margin: 20px 0;
}
.imgBox ul li{
  width: calc(100% / 3 - 10px);
  margin: 0 20px;
}
.imgBox ul li img{
  width:100%;
}
.imgBox ul li .imgWrap{
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow:   hidden;
  position: relative;
  margin: 0 auto;
}
.imgBox .imgWrap img{
  width: 100%;
  height:220px;
}
.imgWrap::before {
  content: "PICK UP";
    position: absolute;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 5px;
    color: #fff;
    top: 0;
    left: 50%;
    transform: translate(-50%, -10%);
    text-shadow: 1px 1px 5px rgb(0 0 0 / 50%);
    z-index: 99;
}
.imgWrap .imgWrapmask{
  width:  100%;
  height: 220px;
  position: absolute; /* 絶対位置指定 */
  top:  0;
  left: 0;
  opacity: 0;  /* マスクを表示しない */
  background-color: rgba(0,0,0,0.2);  /* マスクは半透明 */
  -webkit-transition: all 0.2s ease;
  transition:   all 0.2s ease;
}
.imgWrap .imgText{
  font-size: 1.4rem;
  margin: 10px 0;
}
.imgWrap .imgTitle{
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  padding-top: 110px;
}
.imgWrap:hover .imgWrapmask {
  opacity:    1;  /* マスクを表示する */
}
.tourLinkBox .midashi{
  font-size: 2.5rem;
  color: #1B435D;
  text-align: center;
  margin-bottom: 20px;
}
.tourLinkBox .planName{
  font-size: 1.8rem;
  font-weight: bold;
  color: #1B435D;
  display: inline-block;
  border-bottom: 3px dashed #1B435D;
  padding: 1rem;
  text-align: center;
  margin: 0 12rem 2rem;
}
.tourLinkBox ul{
  display: flex;
  justify-content: space-evenly;
}
.tourLinkBox ul li{
  width: calc(100% / 5 - 10px );
  margin: 10px 15px;
}
.tourLinkBox .btn {
  display: block;
  font-size: 2rem;
  font-weight: bold;
  padding: 10px 30px;
  border-radius: 10px;
  text-align: center;
  color: #fff;
  background-color: #F99F48;
  border-bottom: 5px solid #bb7837;
  -webkit-box-shadow: 0 3px 5px rgb(0 0 0 / 30%);
  box-shadow: 0 3px 5px rgb(0 0 0 / 30%);
}
a.btn-flat:hover {
  margin-top: 3px;
  color: #fff;
  background: #f99331;
  border-bottom: 2px solid #bb7837;
}
.tourLinkBox .btn span{
  font-size: 2rem;
}

@media only screen and (max-width: 789px) {
  .modelcourse .inner {
    width: 95%;
  }
  .modelcourse .tab-menu .tabs li {
    width: calc(100% / 3 - 3px);
    background: #FFF;
  }
  .modelcourse .tab-menu .tabs li a {
    padding: 5px;
    font-size: 16px;
  }
  .modelcourse .box-wrap {
    flex-direction: column;
  }
  .modelcourse .box-wrap .box {
    width: 100%;
  }
/*追加アコーディオンver*/
.imgWrap:active .imgWrapmask {
  opacity:    1;  /* マスクを表示する */
}
.answer {
  padding: 10px 0;
}
.topBox_left .day{
  font-size: 1.8rem;
  padding: 5px;
  margin: 5px 0;
}
.pickup1 .topBox_left,
.pickup1 .topBox_right,
.pickup3 .topBox_left,
.pickup3 .topBox_right{
  width:100%;
}
.topBox{
  flex-direction: column;
}
.topBox_right{
  overflow: scroll;
}
.spotname{
  font-size: 1.4rem;
  margin: 0 5px;
}
.howto{
 margin: 0 ;
 font-size: 1.2rem;
}
.topBox_right .timeHow p{
  font-size: 1.4rem;
  white-space: nowrap!important;
  word-break: keep-all;
}
.tourLinkBox .midashi{
  font-size: 1.4rem;
}
.tourLinkBox ul{
  flex-direction: column;
}
.tourLinkBox ul li {
  width: calc(100% / 1 - 10px );
  margin: 10px auto;
}
.tourLinkBox .btn{
  font-size: 2rem;
}
summary{
  padding: 20px 40px 20px 10px;
}
summary::after{
  right: 10px;
}
.imgBox ul li img{
  height: auto;
}
.pickup1 .imgBox ul li{
  width: calc(100% / 3 );
  margin: 0 5px;
}
.pickup3 .imgBox ul {
  display: block;
}
.pickup3 .imgBox ul li {
  width: 100%;
  margin: 10px auto;
}
}
/*-------------------------------------
	FAQ（faq）※モジュール
-------------------------------------*/
.faq {
  width: 1200px;
  margin: 0 auto;
}
.faq .faqBox dl {
    width: 100%;
    display: flex;
    justify-content: space-evenly;
    margin: 20px 0;
}
.faq .faqBox dl dt {
    width: 32%;
    display: flex;
    justify-content: flex-start;
    background: #e4f1ff;
    align-items: center;
    padding: 30px 10px;
    box-shadow: rgb(99 99 99 / 20%) 0px 2px 8px 0px;
}
.faq .faqBox dl dt span {
    font-size: 2.5rem;
    font-weight: bold;
    color: #707070;
    line-height: normal;
}
.faq .faqBox dl dt p {
    font-size: 1.8rem;
    line-height: 150%;
}
.faq .faqBox dl dd {
    padding: 20px;
    width: 60%;
    background: #fff5eb;
    display: flex;
    align-items: center;
    box-shadow: rgb(99 99 99 / 20%) 0px 2px 8px 0px;
}
.faq .faqBox dl dd p::before {
    content: 'A.';
    color: #555555;
    font-size: 2.5rem;
    font-weight: bold;
    margin-right: 5px;
}
.faq .faqBox dl dd p {
    line-height: 180%;
    font-size: 1.6rem;
}
.faq .faqBox dl dd p a {
    text-decoration: none;
    border-bottom: 1px solid;
    margin: 0 5px;
    color: #1B435D;
}

@media only screen and (max-width: 789px) {
.faq {
  width: 100%;
}
.faq .faqBox{
  width: 95%;
  margin: auto;
}
.faq .faqBox dl{
  flex-direction: column;
  margin: 20px auto;
}
.faq .faqBox dl dt,.faq .faqBox dl dd{
  width: 100%;
  padding: 0;
  margin: 6px auto;
}
.faq .faqBox dl dt p,.faq .faqBox dl dd p{
  padding: 10px;
}
}


/*-------------------------------------
	css追記
-------------------------------------*/

/* .pcOnly{
  display:block;
  }
  .spOnly{
  display:none;
  }
  @media screen and (max-width: 768px){
  .pcOnly{
  display:none;
  }
  .spOnly{
  display:block;
  }
  }
  .contentWrap.box2.midokoro dl {
      width: 80%;
      margin: 0 auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  }
  
  .contentWrap.box2.midokoro dl dt {
      width: 60%;
      padding: 0 20px 0 0;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
  }
  
  .contentWrap.box2.midokoro dl dd {
      position: relative;
      width: 40%;
  }
  @media (max-width: 1024px) {
      .contentWrap.box2.midokoro dl dt {
          width: 100%;
          padding: 0;
      }
  
      .contentWrap.box2.midokoro dl dd {
          width: 100%;
      }
  }
  @media (max-width: 599px) {
      .contentWrap.box2.midokoro dl {
          width: 95%;
      }
  }

  .modalBox ul{
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  }
  .modalBox ul li {
  width: 25%;
      overflow: hidden;
      position: relative;
      z-index: 0;
  }
  
  .modalBox ul li:hover {
      cursor: pointer;
      opacity: 2;
  }
  
  .modalBox ul li img {
      -webkit-transition: .5s;
      transition: .5s;
  }
  
  .modalBox ul li:hover img {
      -webkit-transform: scale(1.5);
              transform: scale(1.5);
  }
  
  [data-element-id] .modalBox ul li:hover img {
      -webkit-transform: inherit;
              transform: inherit;
  }
  
  .modalBox ul li p {
      width: 80%;
      font-size: 18px;
      color: #fff;
      text-align: center;
      text-shadow: 1px 1px 5px #666;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      z-index: 1;
  }
  
  [data-element-id] .modalBox ul li p {
      width: 95%;
      margin: 10px auto;
      color: #000;
      text-shadow: inherit;
      position: static;
      -webkit-transform: inherit;
              transform: inherit;
      font-size: 16px;
  }
  


  
  [data-element-id] .modalBox ul li p .txt {
      display: block;
      text-align: left;
  }
  
  [data-element-id] .modalBox ul li p span:nth-child(2) {
    display: inline-block;
  }
  
  .modalBox ul li p span {
      font-size: 25px;
      font-weight: bold;
      border-top: 1px solid #fff;
      margin-top: 3px;
      padding-top: 3px;
      display: block;
    }
  .modalBox ul li p span:nth-child(1){
    font-size: 18px;
    font-weight: nomal;
    border-top:none;
  }
  
  .modalBox ul li .pic-modal {
    display: none;
  }
  
  [data-element-id] .modalBox .item .pic-modal {
      display: block;
      border: solid 4px green;
  }
  
  [data-element-id] .modalBox .item .pic-modal:after {
      display: block;
      content: "モーダル用";
      color: #fff;
      background: green;
      padding: 5px 5px 0px;
      text-align: center;
  }
  
  @media (max-width: 599px) {
      .modalBox ul li p {
          width: 90%;
          font-size: 14px;
      }
      
      .modalBox ul li p span {
          font-size: 17px;
      }
  } */