@charset "utf-8";
/* Trip
--------------------------------------------------------------------------*/
section.contents-tx,
section.contents-tx2 {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin: auto;
  padding: 0;
}
section.contents-tx div.cnt-box {
  box-sizing: border-box;
  width: 100%;
  max-width: 1264px;
  padding: 25px 0px 25px 0px;
  margin: auto;
}
section.contents-tx2 div.cnt-box {
  box-sizing: border-box;
  width: 100%;
  max-width: 1264px;
  padding: 45px 0px 25px 0px;
  margin: auto;
}
section.contents-info {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin: auto;
  padding: 10px 0 0 0;
  background: #faf8f0;
}
section.contents-info div.cnt-box {
  box-sizing: border-box;
  width: 100%;
  max-width: 1264px;
  padding: 45px 0px 45px 0px;
  margin: auto;
  border-bottom: dotted 1px #CFCDC3 !important;
}
section.contents-info div.cnt-box:last-child {
  border-bottom: none !important;
  padding: 45px 0px 45px 0px;
}
#top section.key-v {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  background: #faf8f0;
}
#top section.key-v div.cnt-box-f {
  position: relative;
  width: 100%;
  max-width: 1264px;
  margin: auto;
}
#top section.key-v div.cnt-box-f figure {
  margin: 0 !important;
}
#top section.key-v div.cnt-box-f div.cnt-box-r img {
  margin-top: 5%;
}
#top section.key-v div.key-v-tx {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  max-width: 1264px;
  margin: auto;
  padding: 30px 40px 10px 40px;
  background: #faf8f0;
}
#top section.key-v div.ct-logo {
  margin-top: 15%;
}
#top section.key-v div.tm {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 30px;
  color: #f25488 !important;
  font-weight: bold !important;
  display: flex;
  justify-content: left;
  align-items: center;
  overflow: hidden;
}
#top section.key-v div.tm span.tm-box {
  position: relative;
  box-sizing: border-box;
  background: #f25488;
  padding: 15px 20px;
  color: #FFFFFF;
  font-weight: bold;
  display: inline-block;
  font-size: 110%;
  text-align: center;
}
#top section.key-v div.tm span.tm-tx {
  position: relative;
  padding: 0 20px;
  font-size: 180%;
  font-weight: bold;
  display: inline-block;
}
#contents-trip {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 1264px;
  margin: auto;
  padding: 0;
  border-top: 4px solid #3dbddf;
}
#top h4 {
  background: #3dbddf;
}
#top section#contents {
  padding: 0px 0 10px 0;
}
#top section#contents h6 {
  position: relative;
  padding-left: 55px;
  border-bottom: none;
  margin-bottom: 15px;
  font-size: 140%;
}
#top section#contents h6:before {
  content: url("../img/yoga/icon-h5.png");
  position: absolute;
  display: inline-block;
  width: 50px;
  height: 46px;
  top: -7px;
  left: 0;
  margin: auto;
}
section.contents-tx h3 {
  margin-bottom: 60px;
}
section.contents-tx p {
  margin-bottom: 0px;
}
h3.trip-mark {
  margin: 0 0 40px 0;
}
h3.trip-mark img {
  width: 20%;
  margin: auto;
}
#top div.shop-info {
  display: block;
  margin-bottom: 15px;
}
#top div.shop-info h6 {
  margin: 1rem 0;
}
#top div.shop-info dl.shop-info-dtl {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
#top div.shop-info dl.shop-info-dtl dt {
  position: relative;
  box-sizing: border-box;
  width: 70px !important;
  background: #363636;
  color: #FFF;
  border-radius: 0.5rem;
  text-align: center;
  font-size: 12px;
  padding: 0.18rem 0.5rem 0.14rem 0.5rem;
  margin-bottom: 0.5rem !important;
}
#top div.shop-info dl.shop-info-dtl dd {
  position: relative;
  box-sizing: border-box;
  width: calc(100% - 70px) !important;
  padding-left: 10px !important;
  margin-left: 0 !important;
  margin-bottom: 0.5rem !important;
}
.kuro-box {
  position: relative;
  box-sizing: border-box;
  background: #FFF;
  border: 2px solid #000 !important;
  padding: 4.5rem 4.5rem 3rem 4.5rem;
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.kuro-box div.cnt-box-l,
.kuro-box div.cnt-box-r {
  float: none;
}
@media screen and (max-width: 1050px) {
  section.contents-tx div.cnt-box {
    padding: 25px 5% 25px 5%;
  }
  section.contents-tx2 div.cnt-box {
    padding: 45px 5% 25px 5%;
  }
  section.contents-info div.cnt-box {
    padding: 45px 5% 45px 5%;
  }
  section.contents-info div.cnt-box:last-child {
    border-bottom: none !important;
    padding: 45px 5% 0px 5%;
  }
}
@media screen and (max-width: 767.98px) {
  .kuro-box {
    position: relative;
    box-sizing: border-box;
    background: #FFF;
    border: 2px solid #000 !important;
    padding: 1rem 2rem 0.5rem 2rem;
    display: block;
  }
}
@media screen and (max-width: 640px) {
  section.contents-info {
    padding: 10px 0 20px 0;
    background: #faf8f0;
  }
  section.contents-tx div.cnt-box {
    padding: 20px 8% 10px 8%;
  }
  section.contents-tx2 div.cnt-box {
    padding: 20px 8% 10px 8%;
  }
  section.contents-info div.cnt-box {
    padding: 20px 8% 20px 8%;
  }
  section.contents-info div.cnt-box:last-child {
    border-bottom: none !important;
    padding: 20px 8% 20px 8%;
  }
  section.contents-info div.cnt-box {
    max-width: none;
  }
  section.contents-info div.cnt-box {
    box-sizing: border-box;
    width: 100%;
    max-width: 1264px;
    margin: auto;
    border-bottom: dotted 1px #CFCDC3;
  }
  #top section.key-v div.ct-logo {
    margin-top: 5%;
  }
  #top section.key-v div.cnt-box-f div.cnt-box-r img {
    margin-top: 0;
  }
  h3.trip-mark img {
    width: 40%;
    margin: auto;
  }
}
@media screen and (max-width: 440px) {
  #top section.key-v div.tm {
    display: block;
    justify-content: left;
    align-items: center;
    overflow: hidden;
  }
  #top section.key-v div.tm span.tm-box {
    position: relative;
    padding: 8px 15px;
    display: block;
    font-size: 100%;
    width: 50%;
    margin-bottom: 10px;
  }
  #top section.key-v div.tm span.tm-tx {
    position: relative;
    padding: 0px;
    font-size: 140%;
    display: block;
    width: 100%;
  }
  h3.trip-mark img {
    width: 60%;
    margin: auto;
  }
}
/* map-list
--------------------------------------------------------------------------*/
.page-sn-box {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 1264px;
  padding: 70px 0px 0px 0px;
  margin: auto;
  background: #faf8f0;
}
.page-sn-box-ttl {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: 0 0.5%;
  margin-bottom: 20px;
  height: 80px;
}
.page-sn-box-dtl {
  position: relative;
  width: 100%;
  max-width: 1264px;
  margin: auto;
}
.page-sn-box-dtl img {
  position: relative;
  width: 96%;
  margin: 0 2% 30px 2%;
}
#top .cp_actab label {
  position: absolute;
  width: 18%;
  height: 45px;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  cursor: pointer;
  background: #0096e0;
  color: #FFFFFF;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background 0.8s;
}
.cp_trip-map {
  max-height: 0;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s;
}
.cp_actab input:checked ~ .cp_trip-map {
  max-height: 2000px;
}
#top .cp_actab label:after {
  content: "訪問マップを表示";
}
#top .cp_actab input:checked ~ label::after {
  content: "訪問マップを閉じる";
}
@media screen and (max-width: 1280px) {
  #top .cp_actab label {
    position: absolute;
    width: 50%;
    top: 0;
    bottom: auto;
  }
}
@media screen and (max-width: 640px) {
  .cp_actab input:checked ~ .cp_trip-map {
    max-height: none;
  }
  #top .cp_actab label {
    position: absolute;
    width: 70%;
    top: 0;
    bottom: auto;
  }
  .page-sn-box-dtl img {
    width: 96%;
    margin: 0 2% 20px 2%x;
  }
}
/* photo_layout
--------------------------------------------------------------------------*/
.img-hf img {
  width: 48%;
  display: inline-block;
}
.img-hf img:first-child {
  margin-right: 4%;
}
/* icon
--------------------------------------------------------------------------*/
#always_wrap .cnt-box p.icon-fd,
#always_wrap .cnt-box p.icon-data01,
#always_wrap .cnt-box p.icon-data02,
#always_wrap .cnt-box p.icon-data03,
#always_wrap .cnt-box p.icon-data04,
#always_wrap .cnt-box p.icon-data05,
#always_wrap .cnt-box p.icon-data06,
#always_wrap .cnt-box p.icon-data07,
#always_wrap .cnt-box p.icon-data08,
#always_wrap .cnt-box p.icon-data09,
#always_wrap .cnt-box p.icon-data10,
#always_wrap .cnt-box p.icon-data11,
#always_wrap .cnt-box p.icon-data12,
#always_wrap .cnt-box p.icon-data13,
#always_wrap .cnt-box p.icon-data14,
#always_wrap .cnt-box p.icon-data15,
#always_wrap .cnt-box p.icon-data16,
#always_wrap .cnt-box p.icon-data17,
#always_wrap .cnt-box p.icon-data18,
#always_wrap .cnt-box p.icon-data19,
#always_wrap .cnt-box p.icon-data20,
#always_wrap .cnt-box p.icon-data21,
#always_wrap .cnt-box p.icon-tel {
  margin-bottom: 3px;
}
p.icon-ttl {
  position: relative;
  padding: 2px 0 5px 0;
  margin: 0 !important;
  font-size: 140%;
}
p.icon-fd,
p.icon-tel {
  position: relative;
  padding: 0 0 0 40px;
  margin: 0;
}
p.icon-data01,
p.icon-data02,
p.icon-data03,
p.icon-data04,
p.icon-data05,
p.icon-data06,
p.icon-data07,
p.icon-data08,
p.icon-data09,
p.icon-data10,
p.icon-data11,
p.icon-data12,
p.icon-data13,
p.icon-data14,
p.icon-data15,
p.icon-data16,
p.icon-data17,
p.icon-data18,
p.icon-data19,
p.icon-data20,
p.icon-data21,
p.icon-data22 {
  position: relative;
  padding: 0 0 0 70px;
  margin: 0;
}
p.icon-fd:before,
p.icon-tel:before {
  position: absolute;
  display: inline-block;
  width: 34px;
  height: 24px;
  top: 0;
  left: 0;
  margin: auto;
}
p.icon-fd:before {
  content: url("../img/trip/icon-fd.png");
}
p.icon-tel:before {
  content: url("../img/trip/icon-tel.png");
}
p.icon-data01:before,
p.icon-data02:before,
p.icon-data03:before,
p.icon-data04:before,
p.icon-data05:before,
p.icon-data06:before,
p.icon-data07:before,
p.icon-data08:before,
p.icon-data09:before,
p.icon-data10:before,
p.icon-data11:before,
p.icon-data12:before,
p.icon-data13:before,
p.icon-data14:before,
p.icon-data15:before,
p.icon-data16:before,
p.icon-data17:before,
p.icon-data18:before,
p.icon-data19:before,
p.icon-data20:before,
p.icon-data21:before,
p.icon-data22:before {
  position: absolute;
  display: inline-block;
  width: 62px;
  height: 24px;
  top: 2px;
  left: 0;
  margin: auto;
}
p.icon-data01:before {
  content: url("../img/trip/icon-data1.png");
}
p.icon-data02:before {
  content: url("../img/trip/icon-data2.png");
}
p.icon-data03:before {
  content: url("../img/trip/icon-data3.png");
}
p.icon-data04:before {
  content: url("../img/trip/icon-data4.png");
}
p.icon-data05:before {
  content: url("../img/trip/icon-data5.png");
}
p.icon-data06:before {
  content: url("../img/trip/icon-data6.png");
}
p.icon-data07:before {
  content: url("../img/trip/icon-data7.png");
}
p.icon-data08:before {
  content: url("../img/trip/icon-data8.png");
}
p.icon-data09:before {
  content: url("../img/trip/icon-data9.png");
}
p.icon-data10:before {
  content: url("../img/trip/icon-data10.png");
}
p.icon-data11:before {
  content: url("../img/trip/icon-data11.png");
}
p.icon-data12:before {
  content: url("../img/trip/icon-data12.png");
}
p.icon-data13:before {
  content: url("../img/trip/icon-data13.png");
}
p.icon-data14:before {
  content: url("../img/trip/icon-data14.png");
}
p.icon-data15:before {
  content: url("../img/trip/icon-data15.png");
}
p.icon-data16:before {
  content: url("../img/trip/icon-data16.png");
}
p.icon-data17:before {
  content: url("../img/trip/icon-data17.png");
}
p.icon-data18:before {
  content: url("../img/trip/icon-data18.png");
}
p.icon-data19:before {
  content: url("../img/trip/icon-data19.png");
}
p.icon-data20:before {
  content: url("../img/trip/icon-data20.png");
}
p.icon-data21:before {
  content: url("../img/trip/icon-data21.png");
}
p.icon-data22:before {
  content: url("../img/trip/icon-data22.png");
}
#top div.cnt-box-info {
  width: 100%;
}
@media screen and (max-width: 640px) {
  p.icon-fd,
  p.icon-tel {
    margin: 0 0 5px 0;
  }
  p.icon-data01,
  p.icon-data02,
  p.icon-data03,
  p.icon-data04,
  p.icon-data05,
  p.icon-data06,
  p.icon-data07,
  p.icon-data08,
  p.icon-data09,
  p.icon-data10,
  p.icon-data11,
  p.icon-data12,
  p.icon-data13,
  p.icon-data14,
  p.icon-data15,
  p.icon-data16,
  p.icon-data17,
  p.icon-data18,
  p.icon-data19,
  p.icon-data20 {
    margin: 0 0 5px 0;
  }
  p.icon-fd:before,
  p.icon-tel:before {
    top: 2px;
  }
  p.icon-data01:before,
  p.icon-data02:before,
  p.icon-data03:before,
  p.icon-data04:before,
  p.icon-data05:before,
  p.icon-data06:before,
  p.icon-data07:before,
  p.icon-data08:before,
  p.icon-data09:before,
  p.icon-data10:before,
  p.icon-data11:before,
  p.icon-data12:before,
  p.icon-data13:before,
  p.icon-data14:before,
  p.icon-data15:before,
  p.icon-data16:before,
  p.icon-data17:before,
  p.icon-data18:before,
  p.icon-data19:before,
  p.icon-data20:before {
    top: 2px;
  }
  #top div.cnt-box-info {
    width: 70%;
    margin: 0 15%;
  }
}
div.sp-data {
  margin-bottom: 2rem;
}
div.sp-data p:last-child {
  margin-bottom: 40px;
}
div.sp-data p.mb-30 {
  margin-bottom: 30px;
}
#top h5.profile {
  text-align: center;
  font-size: 120%;
  margin-top: 20px;
}
/*PAGE NAVI
------------------------------------------------*/
#top article.trip-area section.page-navi {
  position: relative;
  padding: 10px 1%;
}
#top article.trip-area section.page-navi ul {
  position: relative;
  width: 100%;
  max-width: 1264px;
  margin: auto !important;
}
#top article.trip-area section.page-navi li a {
  width: 19%;
  margin: 10px 0.5%;
}
@media screen and (max-width: 640px) {
  #top article.trip-area section.page-navi li a {
    width: 48%;
    margin: 5px 1%;
    font-size: 0.9rem;
  }
}
/*SPOT
------------------------------------------------*/
#top section#spot {
  background: url("../img/saijiki/bg.jpg") no-repeat;
  background-size: 1980px;
  background-position: center 0px;
}
#top section#spot div.key-v {
  position: relative;
  width: 100%;
  max-width: 600px;
  margin: 2rem auto 0 auto;
}
#top section#spot div.key-v img {
  width: 100%;
}
@media screen and (max-width: 640px) {
  #top section#spot div.key-v {
    width: 80%;
    margin: 1.2rem auto 0 auto;
  }
}
figure.full-image {
  position: relative;
  margin: 0 auto 4rem auto;
}
figure.full-image picture {
  width: 100%;
}
figure.full-image figcaption {
  margin: 1rem 0;
  color: #111111;
  font-size: 1.6rem;
  line-height: 180%;
  letter-spacing: 0.05em;
}
figure.harf-image {
  position: relative;
  margin: 0 auto 2rem auto;
}
figure.harf-image picture {
  width: 100%;
}
figure.harf-image figcaption {
  margin: 1rem 0;
}
figure.harf-image figcaption.zekkei h6 {
  border: none !important;
  margin-bottom: 1vw !important;
  padding: 0 0.7vw !important;
}
figure.harf-image figcaption.zekkei p {
  margin-bottom: 1vw !important;
  padding: 0 0.7vw !important;
}
@media screen and (max-width: 767.98px) {
  figure.full-image {
    margin: 0 auto 3vw auto;
  }
  figure.full-image figcaption {
    font-size: 110% !important;
    line-height: 150% !important;
  }
  figure.harf-image {
    margin: 0 auto 2vw auto;
  }
}
#always_wrap h5 span {
  display: inline-block;
  color: #1f5b78;
  font-weight: 700;
}
