@charset "UTF-8";

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0
}

.slick-list:focus {
  outline: none
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
  font-size: 0
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table
}

.slick-track:after {
  clear: both
}

.slick-loading .slick-track {
  visibility: hidden
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none
}

[dir="rtl"] .slick-slide {
  float: right
}

.slick-slide img {
  display: block
}

.slick-slide.slick-loading img {
  display: none
}

.slick-slide.dragging img {
  pointer-events: none
}

.slick-initialized .slick-slide {
  display: block
}

.slick-loading .slick-slide {
  visibility: hidden
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}

.slick-arrow.slick-hidden {
  display: none
}

.slick-dots {
  position: absolute;
  width: 100%;
  bottom: 20px;
  text-align: center
}

.slick-dots li {
  display: inline-block;
  vertical-align: top;
  margin: 0 7px
}

.slick-dots li button {
  appearance: none;
  width: 11px;
  height: 11px;
  padding: 0;
  border-radius: 50%;
  background-color: #fff;
  border: none;
  font-size: 0
}

.introductionPanel .slick-slide {
  opacity: 0.5
}

.introductionPanel .slick-slide.slick-center {
  opacity: 1
}

@media screen and (max-width: 768px) {
  .introductionPanel .slick-slide {
    opacity: 1
  }
}

.introductionPanel .slick-arrow {
  position: absolute;
  top: 50%;
  appearance: none;
  background-color: transparent;
  width: 50px;
  height: 50px;
  font-size: 0;
  margin-top: -25px;
  border: none;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  cursor: pointer;
  z-index: 10
}

.introductionPanel .slick-arrow:focus {
  outline: none
}

.introductionPanel .slick-prev {
  left: calc((100% - 1000px)/2);
  background-image: url("../img/arrow_left.svg")
}

@media screen and (max-width: 1280px) {
  .introductionPanel .slick-prev {
    left: 10px
  }
}

.introductionPanel .slick-next {
  right: calc((100% - 1000px)/2);
  background-image: url("../img/arrow_right.svg")
}

@media screen and (max-width: 1280px) {
  .introductionPanel .slick-next {
    right: 10px
  }
}

.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
  -webkit-filter: blur(3px);
  filter: blur(3px)
}

.remodal-overlay {
  background: rgba(255, 255, 255, 0.9)
}

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}

.remodal-overlay.remodal-is-opening {
  -webkit-animation-name: remodal-overlay-opening-keyframes;
  animation-name: remodal-overlay-opening-keyframes
}

.remodal-overlay.remodal-is-closing {
  -webkit-animation-name: remodal-overlay-closing-keyframes;
  animation-name: remodal-overlay-closing-keyframes
}

.remodal-wrapper {
  padding: 10px 10px 0
}

.remodal {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 10px;
  padding: 35px;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  color: #2b2e38;
  background: #fff
}

@media screen and (max-width: 768px) {
  .remodal {
    padding: 15px
  }
}

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}

.remodal.remodal-is-opening {
  -webkit-animation-name: remodal-opening-keyframes;
  animation-name: remodal-opening-keyframes
}

.remodal.remodal-is-closing {
  -webkit-animation-name: remodal-closing-keyframes;
  animation-name: remodal-closing-keyframes
}

.remodal,
.remodal-wrapper:after {
  vertical-align: middle
}

.remodal-close {
  position: absolute;
  top: -15px;
  right: -15px;
  display: block;
  overflow: visible;
  width: 35px;
  height: 35px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  text-decoration: none;
  color: #fff;
  background-color: #C02000;
  border-radius: 50%;
  border: 0;
  outline: 0
}

.remodal-close:hover,
.remodal-close:focus {
  color: #fff
}

.remodal-close:before {
  font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
  font-size: 25px;
  line-height: 35px;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 35px;
  content: "\00d7";
  text-align: center
}

.remodal-confirm,
.remodal-cancel {
  font: inherit;
  display: inline-block;
  overflow: visible;
  min-width: 110px;
  margin: 0;
  padding: 12px 0;
  cursor: pointer;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border: 0;
  outline: 0
}

.remodal-confirm {
  color: #fff;
  background: #81c784
}

.remodal-confirm:hover,
.remodal-confirm:focus {
  background: #66bb6a
}

.remodal-cancel {
  color: #fff;
  background: #e57373
}

.remodal-cancel:hover,
.remodal-cancel:focus {
  background: #ef5350
}

.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
  padding: 0;
  border: 0
}

@-webkit-keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0)
  }
}

@keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0)
  }
}

@-webkit-keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
  }

  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0)
  }
}

@keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
  }

  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0)
  }
}

@-webkit-keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@-webkit-keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@media only screen and (min-width: 641px) {
  .remodal {
    max-width: 700px
  }
}

.lt-ie9 .remodal-overlay {
  background: #2b2e38
}

.lt-ie9 .remodal {
  width: 700px
}

html.remodal-is-locked {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none
}

.remodal,
[data-remodal-id] {
  display: none
}

.remodal-overlay {
  position: fixed;
  z-index: 9999;
  top: -5000px;
  right: -5000px;
  bottom: -5000px;
  left: -5000px;
  display: none
}

.remodal-wrapper {
  position: fixed;
  z-index: 10000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  overflow: auto;
  text-align: center;
  -webkit-overflow-scrolling: touch
}

.remodal-wrapper:after {
  display: inline-block;
  height: 100%;
  margin-left: -0.05em;
  content: ""
}

.remodal-overlay,
.remodal-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.remodal {
  position: relative;
  outline: none;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%
}

.remodal-is-initialized {
  display: inline-block
}

body,
dd,
dl,
dt,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
html,
ol,
p,
ul {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: 400
}

ul,
li,
ol {
  list-style: none;
  padding: 0;
  margin: 0
}

table {
  border-collapse: collapse
}

html {
  font-size: 62.5%
}

body {
  color: #000;
  background-color: #fff;
  font-size: 1.6rem;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Arial", "メイリオ", "Meiryo", sans-serif;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  opacity: 0;
  visibility: hidden;
  transition: opacity .8s, visibility .8s
}

body.home {
  background-image: url("../img/bg.png");
  background-repeat: repeat;
  background-position: 0 0
}

body.page--show {
  opacity: 1;
  visibility: visible
}

@media all and (-ms-high-contrast: none) {
  body {
    font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif
  }
}

a {
  color: #000;
  text-decoration: underline
}

a:hover {
  text-decoration: none
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom
}

main {
  display: block;
  overflow: hidden;
}

.spNav__btn {
  display: none;
  position: fixed;
  width: 60px;
  height: 60px;
  background: url("../img/sp_menu_bg.png") no-repeat 50% 50%;
  background-size: contain;
  top: 15px;
  right: 15px;
  z-index: 201
}

@media screen and (max-width: 768px) {
  .spNav__btn {
    display: block
  }
}

.spNav__btn a {
  display: block;
  width: 100%;
  height: 100%;
  background: url("../img/sp_menu_open.png") no-repeat 50% 50%;
  background-size: 30px auto
}

.nav--show .spNav__btn a {
  background: url("../img/sp_menu_close.png") no-repeat 50% 50%;
  background-size: 23px auto
}

.spNav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/bg.png");
  background-repeat: repeat;
  background-position: 0 0;
  z-index: 200;
  overflow: scroll;
  opacity: 0;
  visibility: hidden;
  transition: all .1s
}

.nav--show .spNav {
  opacity: 1;
  visibility: visible
}

@media screen and (max-width: 768px) {
  .spNav {
    display: block
  }
}

.spNav__wrap {
  padding: 90px 30px 30px
}

.spNavList li {
  margin: 15px 0
}

.spNavList li a {
  display: block;
  background-color: #fff;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  height: 50px;
  line-height: 50px;
  text-decoration: none;
  color: #C02000;
  text-align: center
}

.spNav__english {
  margin-top: 30px
}

.spNav__search {
  margin-top: 20px
}

.spNav__sns__title.sns__title {
  margin-top: 30px;
  text-align: left
}

.spNav__sns__list {
  justify-content: space-between
}

.wrap {
  max-width: 1000px;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: auto;
  margin-right: auto
}

.wrap2 {
  max-width: 850px;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 100px;
}

.pageContents {
  padding-top: 80px
}

.pageContents a {
  color: #C02000
}

@media screen and (max-width: 640px) {
  .pageContents {
    padding-top: 20px
  }

  .wrap2 {
    margin-top: 50px;
  }
}

.btn--calendar {
  display: inline-block;
  padding-left: 25px;
  text-decoration: underline;
  font-size: 1.4rem;
  line-height: 18px;
  background: url("../img/icon_calendar.png") no-repeat 0 0;
  background-size: auto 18px
}

.btn--calendar span {
  padding-right: 20px;
  background: url("../img/nav_calendar_arrow.png") no-repeat 100% 5px;
  background-size: auto 6px
}

.tour__stitle {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  position: relative;
  z-index: 1;
}

.tour__stitle--2row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.tour__stitle span {
  display: inline-block;
  padding-left: 50px;
  padding-right: 50px;
  padding-bottom: 10px;
  background: url("../img/tour_bg_k.png") repeat-x 0 100%;
  background-size: auto 2px
}

.tour__stitle2 {
  display: flex;
    align-items: center;
}

.tour__stitle2--heading {
  background-color: #C02000;
  color: #fff;
  padding: 8px;
  text-align: center;
  border-radius: 100px;
  min-width: 320px;
  line-height: 1.4;
  font-size: 0.8em;
}

.tour__stitle2--img {
  border-radius: 100%;
  overflow: hidden;
  width: 50px;
  height: 50px;
  background-color: #95c6ff;
  background-image: url("../img/nav-tour@2x.png");
  background-size: 154%;
  background-position: center -10px;
  margin-left: -24px;
  z-index: 2;
}

@media screen and (max-width: 640px) {
  .tour__stitle {
    font-size: 1.6rem
  }

  .tour__stitle span {
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px
  }

  .tour__stitle--2row {
    gap: 0;
    margin-top: 12px;
  }

  .tour__stitle2--heading {
    min-width: 240px;
  }
}

.tour__bgtitle {
  margin-bottom: 50px;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  background-image: url("../img/tour_bg_ribbon.png");
  background-repeat: no-repeat;
  line-height: 56px;
  height: 56px;
  position: relative
}

.tour__bgtitle:before,
.tour__bgtitle:after {
  content: "";
  display: block
}

@media screen and (max-width: 640px) {
  .tour__bgtitle {
    height: 45px;
    line-height: 45px;
    font-size: 1.6rem;
    background-position: 50% 50%;
    background-image: url("../img/tour_bg_ribbon_sp.png");
    background-size: 100% auto
  }
}

.tour__waititle {
  margin-bottom: 30px;
  font-size: 2.0rem;
  text-align: center;
  color: #294b94
}

.tour__waititle span {
  display: inline-block;
  position: relative;
  line-height: 40px
}

.tour__waititle span:before,
.tour__waititle span:after {
  content: "";
  display: block;
  width: 3px;
  height: 66px;
  background-color: #294b94;
  position: absolute;
  top: -10px
}

.tour__waititle span:before {
  left: -30px;
  transform: rotate(-45deg)
}

.tour__waititle span:after {
  right: -30px;
  transform: rotate(45deg)
}

@media screen and (max-width: 640px) {
  .tour__waititle {
    font-size: 1.6rem
  }

  .tour__waititle span {
    line-height: 1.4;
    margin-right: 40px;
    margin-left: 40px
  }

  .tour__waititle span:before,
  .tour__waititle span:after {
    width: 2px;
    height: 40px;
    top: 0
  }
}

.pageContents {
  background-color: #fff
}

.tourCourseBox {
  margin-top: 140px;
  border: 5px solid #add2ee;
  border-radius: 10px;
  background-color: #fff;
  position: relative
}

.tourCourseBox .tour__stitle--1 {
  position: absolute;
  top: 60px;
  width: 100%;
  text-align: center
}

@media screen and (max-width: 640px) {
  .tourCourseBox {
    margin-top: 100px;
    padding-top: 20px
  }

  .tourCourseBox .tour__stitle--1 {
    position: relative;
    top: auto
  }
}

.tourCourse__title {
  text-align: center;
  position: absolute;
  top: -70px;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 0
}

.tourCourse__title span {
  display: inline-block;
  background-color: #fff
}

@media screen and (max-width: 768px) {
  .tourCourse__title {
    top: -20vw
  }
}

.tourCourse__section {
  border-bottom: 5px solid #add2ee
}

.tourCourse__section.tourCourse3 {
  border-bottom: none
}

.tourCourse1 {
  padding: 35px 80px 35px 35px;
  display: flex;
  justify-content: space-between
}

@media screen and (max-width: 640px) {
  .tourCourse1 {
    padding: 20px;
    flex-direction: column
  }
}

.tourCourse1__left {
  width: 16.70455%
}

@media screen and (max-width: 640px) {
  .tourCourse1__left {
    width: auto;
    padding-top: 20px
  }
}

.tourCourse1__right {
  width: 78.40909%;
  padding-top: 80px
}

.tourCourse1__right--top160 {
  padding-top: 160px;
}

@media screen and (max-width: 640px) {
  .tourCourse1__right {
    width: auto;
    padding-top: 20px
  }

  .tourCourse1__right--top160 {
    padding-top: 20px;
  }
}

.tourCoursePrice {
  width: 100%;
  display: table
}

.tourCoursePrice__row {
  display: table-row
}

.tourCoursePrice__da,
.tourCoursePrice__price {
  display: table-cell;
  vertical-align: middle;
  padding: 20px 0;
  border-bottom: 5px solid #add2ee
}

@media screen and (max-width: 640px) {
  .tourCoursePrice {
    display: block
  }

  .tourCoursePrice__row,
  .tourCoursePrice__da,
  .tourCoursePrice__price {
    display: block
  }

  .tourCoursePrice__da {
    border-bottom: none;
    padding-bottom: 0
  }
}

.tourCoursePrice__da {
  text-align: center;
  width: 232px;
  line-height: 1.6;
  font-weight: bold
}

.tourCoursePrice__da__1 {
  font-size: 1.4rem
}

.tourCoursePrice__da__2 {
  font-size: 2.2rem
}

@media screen and (max-width: 640px) {
  .tourCoursePrice__da {
    width: auto
  }
}

.tourCoursePrice + .tourCourseOutline {
  margin-top: 10px;
  padding-top: 20px;
  border-top: 5px solid #add2ee
}

.tourCoursePrice__row:last-child .tourCoursePrice__da,
.tourCoursePrice__row:last-child .tourCoursePrice__price {
  border-bottom: 0;
  padding-bottom: 0
}

.tourCoursePrice__price__cap {
  font-size: 1.4rem;
  margin-top: 10px
}

.tourCourse2 {
  display: flex
}

@media screen and (max-width: 640px) {
  .tourCourse2 {
    flex-direction: column-reverse
  }

  .tourCoursePrice__price__cap {
    text-align: left;
  }
}

.tourCourse2__left {
  flex: 1;
  padding: 25px
}

@media screen and (max-width: 640px) {
  .tourCourse2__left {
    padding: 20px
  }
}

.tourCourse2__right {
  width: 385px;
  border-left: 5px solid #add2ee
}

@media screen and (max-width: 640px) {
  .tourCourse2__right {
    width: auto;
    height: 50vw;
    border-left: none
  }
}

.tourCourse2__image {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%
}

.tourCourseOutline {
  display: table;
  width: 100%;
  font-size: 1.4rem
}

.tourCourseOutline__row {
  display: table-row
}

.tourCourseOutline__title,
.tourCourseOutline__data {
  display: table-cell;
  padding: 5px 0;
  border-bottom: 1px solid #c7c2bc
}

.tourCourseOutline__title {
  font-weight: bold
}

@media screen and (max-width: 640px) {
  .tourCourseOutline {
    display: block
  }

  .tourCourseOutline__row,
  .tourCourseOutline__title,
  .tourCourseOutline__data {
    display: block
  }

  .tourCourseOutline__title {
    padding-top: 10px;
    border-bottom: none;
    padding-bottom: 0
  }

  .tourCourseOutline__data {
    padding-top: 0;
    padding-bottom: 10px
  }
}

.tourCourseOutline__caption {
  margin-top: 10px;
  line-height: 1.7;
  font-size: 1.2rem
}

.tourCourse3 .tour__stitle {
  top: 15px
}

.tourCoursePlan {
  padding: 0 35px 35px;
  text-align: center
}

@media screen and (max-width: 640px) {
  .tourCoursePlan {
    padding: 30px 20px 20px
  }
}

.tourPlan {
  margin-top: 90px
}

.tourPlan .wrap {
  max-width: 900px
}

@media screen and (max-width: 640px) {
  .tourPlan {
    margin-top: 40px
  }

  .tourPlan .wrap {
    padding-left: 10px;
    padding-right: 10px
  }
}

.tourPlan__item {
  text-align: center
}

.tourPlanBox {
  margin-top: 30px;
  margin-bottom: 50px;
  display: flex;
  justify-content: space-between
}

.tourPlanBox img {
  width: 100%
}

@media screen and (max-width: 640px) {
  .tourPlanBox {
    flex-direction: column
  }
}

.tourPlanBox__left {
  width: 45.33333%
}

@media screen and (max-width: 640px) {
  .tourPlanBox__left {
    width: auto
  }
}

.tourPlanBox__right {
  width: 51.11111%;
  background: url("../img/tour_bg_k2.png") repeat-x 0 100%;
  background-size: auto 1px
}

@media screen and (max-width: 640px) {
  .tourPlanBox__right {
    width: auto;
    padding-bottom: 20px
  }
}

.tourPlanBox__text {
  margin-top: 15px;
  font-size: 1.4rem;
  line-height: 2.1
}

.tourPlanBox--2-1 .tourPlanBox__text {
  margin-top: 0
}

.tourPlanBox__image {
  display: flex;
  justify-content: space-between
}

.tourPlanBox__image .tourPlanBox__image__item--2 {
  width: calc(50% - 5px)
}

.tourPlanBox__image .cap {
  font-size: 1.2rem;
  text-align: right
}

@media screen and (max-width: 640px) {
  .tourPlanBox__image {
    margin-top: 20px
  }
}

.tourPlanBoxMini {
  display: flex;
  max-width: 660px;
  margin-left: auto;
  margin-right: auto;
  justify-content: space-between;
  margin-bottom: 30px;
}

@media screen and (max-width: 640px) {
  .tourPlanBoxMini {
    flex-direction: column
  }

  .tourPlanBoxMini--spR {
    flex-direction: column-reverse
  }
}

.tourPlanBoxMini__image {
  width: 47.72727%
}

.tourPlanBoxMini__image img {
  width: 100%
}

@media screen and (max-width: 640px) {
  .tourPlanBoxMini__image {
    width: auto
  }
}

.tourPlanBoxMini__text {
  width: 49.24242%;
  background: url("../img/tour_bg_k2.png") repeat-x 0 100%;
  background-size: auto 1px
}

.tourPlanBoxMini__text .tourPlanBox__text {
  margin-top: 0
}

.tourPlanBox--1-2 .tourPlanBoxMini__text,
.tourPlanBox--2-2 .tourPlanBoxMini__text,
.tourPlanBox--2-3 .tourPlanBoxMini__text {
  margin-top: 40px
}

@media screen and (max-width: 640px) {
  .tourPlanBoxMini__text {
    width: auto;
    margin-top: 20px;
    padding-bottom: 20px
  }

  .tourPlanBox--1-2 .tourPlanBoxMini__text,
  .tourPlanBox--2-2 .tourPlanBoxMini__text,
  .tourPlanBox--2-3 .tourPlanBoxMini__text {
    margin-top: 20px
  }
}

.tourPlan__item--1-1,
.tourPlan__item--2-1 {
  margin-left: -10px
}

.tourPlan__item--1-4 {
  margin-top: 20px;
  margin-bottom: 20px
}

.tourPlan__item--1-6 {
  margin-top: 20px;
  margin-right: -80px
}

@media screen and (max-width: 640px) {
  .tourPlan__item--1-6 {
    margin-right: 0
  }
}

.tourPlan__item--1-6 {
  margin-bottom: 20px
}

.tourPlan__item--1-8 {
  margin-top: 20px;
  margin-bottom: 30px
}

.tourPlan__item--1-10 {
  position: relative;
  top: -20px
}

.tourPlan__item--2-4 {
  margin-top: -20px;
  margin-right: -80px
}

@media screen and (max-width: 640px) {
  .tourPlan__item--2-4 {
    margin-right: 0
  }
}

.tourPlan__item--2-6 {
  margin-top: 20px
}

.tourPlan__item--2-7 {
  margin-top: 15px;
  margin-bottom: 20px
}

.tourPlan__item--2-9 {
  margin-top: 20px;
  margin-bottom: 25px
}

.tourPlan__item--2-10 {
  margin-top: 20px
}

.tourPlanBox--2-2 {
  margin-top: 20px
}

.tourPlan__item--3-2 .tourPlanBox__right {
  width: 51.3%
}

@media screen and (max-width: 640px) {
  .tourPlan__item--3-2 .tourPlanBox__right {
    width: auto
  }
}

.tourPlan__btn {
  margin-top: 50px
}

.tourPlan__btn a {
  display: block;
  max-width: 512px;
  margin-left: auto;
  margin-right: auto;
  height: 66px;
  line-height: 66px;
  border-radius: 5px;
  background-color: #004b84;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-size: 2.3rem;
  font-weight: bold;
  background-image: url("../img/icon_arrow_bottom.svg");
  background-position: calc(100% - 15px) 50%;
  background-repeat: no-repeat;
  background-size: auto 16px
}

@media screen and (max-width: 640px) {
  .tourPlan__btn {
    margin-top: 30px;
    margin-left: 20px;
    margin-right: 20px
  }

  .tourPlan__btn a {
    height: 40px;
    line-height: 40px;
    font-size: 1.8rem;
    background-size: auto 8px
  }
}

.tourContact {
  margin-top: 100px
}

.tourContact .wrap {
  max-width: 820px
}

@media screen and (max-width: 640px) {
  .tourContact {
    margin-top: 50px
  }
}

.tourCalendar {
  margin-bottom: 100px;
  text-align: center
}

@media screen and (max-width: 640px) {
  .tourCalendar {
    margin-bottom: 50px
  }
}

.tourContact__text {
  font-size: 1.6rem;
  line-height: 2.25
}

@media screen and (max-width: 640px) {
  .tourContact__text {
    line-height: 1.6;
    font-size: 1.4rem
  }
}

.tourBtns {
  margin-top: 50px
}

.tourBtns .wrap {
  max-width: 820px
}

.tourBtns__box {
  display: flex;
  justify-content: space-between
}

@media screen and (max-width: 640px) {
  .tourBtns__box {
    flex-direction: column
  }
}

.tourBtns__tel {
  width: 54.5122%;
  background-color: #eaeff1;
  border: 1px solid #004b84;
  border-radius: 5px;
  color: #2b50a1;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center
}

@media screen and (max-width: 640px) {
  .tourBtns__tel {
    width: auto;
    padding: 20px
  }
}

.tourBtns__tel__title {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.0;
  margin-bottom: 10px
}

@media screen and (max-width: 640px) {
  .tourBtns__tel__title {
    line-height: 1.4
  }
}

.tourBtns__tel__number .number {
  padding-left: 35px;
  background: url("../img/icon_tel.png") no-repeat 0 50%;
  font-size: 2.8rem;
  line-height: 1.0;
  font-weight: bold
}

@media screen and (max-width: 640px) {

  .tourBtns__tel__number .number,
  .tourBtns__tel__number .time {
    display: block
  }

  .tourBtns__tel__number .number {
    padding-top: 20px;
    padding-left: 0;
    background-position: 50% 0
  }
}

.tourBtns__reserve {
  width: 44.26829%
}

.tourBtns__reserve a {
  display: block;
  border-radius: 5px;
  background-color: #004b84;
  color: #fff;
  text-decoration: none;
  padding: 20px 50px 15px 20px;
  background-image: url("../img/icon_arrow.svg");
  background-position: calc(100% - 15px) 50%;
  background-repeat: no-repeat;
  background-size: auto 20px;
  transition: opacity .3s
}

.tourBtns__reserve a:hover {
  opacity: 0.7
}

@media screen and (max-width: 640px) {
  .tourBtns__reserve {
    width: auto;
    margin-top: 20px
  }
}

.tourBtns__reserve__title {
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.0;
  margin-bottom: 10px
}

@media screen and (max-width: 640px) {
  .tourBtns__reserve__title {
    line-height: 1.2
  }
}

.tourBtns__reserve__caption {
  font-size: 1.4rem;
  line-height: 1.2
}

.tourBtns__banner {
  display: flex;
  justify-content: center;
  margin-top: 20px
}

.tourBtns__banner__item {
  width: 240px;
  height: 82px;
  border: 1px solid #004b84;
  margin: 0 5px
}

.tourBtns__banner__item a {
  display: block;
  width: 100%;
  height: 100%;
  transition: opacity .3s
}

.tourBtns__banner__item a:hover {
  opacity: 0.7
}

.tourBtns__banner__item--logo a {
  background: url("../img/logo_kisen.png") no-repeat 50% 50%
}

.tourBtns__banner__item--tsubaki a {
  text-align: center;
  font-size: 2.0rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #004b84;
  text-decoration: none;
  padding-top: 40px;
  background: url("../img/icon_flower.png") no-repeat 50% 10px
}

@media screen and (max-width: 640px) {
  .tourBtns__banner__item {
    width: calc(50% - 10px);
    height: 50px;
    margin-left: auto;
    margin-right: auto
  }

  .tourBtns__banner__item--logo a {
    background-size: auto 20px
  }

  .tourBtns__banner__item--tsubaki a {
    padding-top: 25px;
    font-size: 1.2rem;
    letter-spacing: 0;
    background-position: 50% 8px;
    background-size: auto 15px
  }
}

.tourCourse--water {
  margin-top: 60px;
  padding-bottom: 130px;
  padding-top: 40px;
  background-color: #dfe8ee
}

.tourCourse--water .tourCourse__title span {
  background-color: transparent
}

@media screen and (max-width: 640px) {
  .tourCourse--water {
    margin-top: 30px;
    padding-bottom: 60px
  }
}

.tourCourseBox--2-3 .tourCourse__title {
  top: -120px
}

@media screen and (max-width: 640px) {
  .tourCourseBox--2-3 {
    padding-top: 10%
  }

  .tourCourseBox--2-3 .tourCourse__title {
    top: -40vw
  }
}

.gfooter {
  margin-top: 60px;
  padding-bottom: 150px
}

@media screen and (max-width: 768px) {
  .gfooter {
    padding-bottom: 60px
  }
}

.pageContents + .gfooter {
  padding-bottom: 60px
}

.footerBanner__title {
  margin-bottom: 30px;
  font-size: 2.2rem;
  text-align: center;
  font-weight: bold
}

@media screen and (max-width: 768px) {
  .footerBanner__title {
    margin-bottom: 20px
  }
}

.footerBannerList {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  row-gap: 10px;
}

.footerBannerList a {
  transition: opacity .3s
}

.footerBannerList a:hover {
  opacity: 0.7
}

@media screen and (max-width: 768px) {
  .footerBannerList {
    flex-wrap: wrap;
    align-items: center;
    row-gap: 4px;
  }

  .footerBannerList a {
    display: block;
    margin: 5px 0
  }
}

@media screen and (max-width: 768px) {
  .footerBannerList__item {
    width: calc(25% - 5px)
  }
}

@media screen and (max-width: 640px) {
  .footerBannerList__item {
    width: calc(50% - 5px)
  }
}

.footerTool {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 30px
}

@media screen and (max-width: 768px) {
  .footerTool {
    flex-direction: column;
    align-items: center
  }
}

.sns__title {
  margin-bottom: 10px;
  font-size: 2.2rem;
  font-weight: bold
}

@media screen and (max-width: 768px) {
  .sns__title {
    font-size: 1.4rem;
    text-align: center
  }
}

.sns__list {
  display: flex
}

.sns__list a {
  display: block;
  width: 45px;
  height: 45px;
  margin-right: 30px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity .3s
}

.sns__list a:hover {
  opacity: 0.7
}

.sns__list a.sns--line {
  background-image: url("../img/sns_line.png")
}

.sns__list a.sns--tw {
  background-image: url("../img/sns_tw.png")
}

.sns__list a.sns--fb {
  background-image: url("../img/sns_fb.png")
}

.sns__list a.sns--ig {
  margin-right: 0;
  background-image: url("../img/sns_ig.png")
}

@media screen and (max-width: 768px) {
  .sns__list {
    margin-bottom: 30px
  }
}

.footerToolLogo__image {
  width: 180px;
  margin-left: auto
}

.footerToolLogo__image a {
  display: block;
  height: 0;
  overflow: hidden;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  padding-top: 33px;
  background-image: url("../img/logo_kisen.png")
}

@media screen and (max-width: 768px) {
  .footerToolLogo__image {
    margin-right: auto;
    margin-bottom: 10px
  }

  .footerToolLogo__image a {
    width: 155px;
    padding-top: 30px
  }
}

.footerToolLogo__copyright {
  padding-top: 10px;
  font-size: 1.2rem;
  letter-spacing: 0.2em;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}

.fixNav {
  width: 100%;
  height: 50px;
  padding: 10px;
  /*display: flex;*/
  z-index: 100;
  transition: transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
  transform: translate(0, 30%)
}

.is--introduction .fixNav {
  position: fixed;
  transform: translate(0, 0);
  top: 0;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.is--introduction .fixNav i {
  display: none;
}

@media screen and (max-width: 768px) {
  .fixNav {
    height: 50px;
    display: none;
    transition: transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    transform: translate(0, 100%);
  }

  .is--introduction .fixNav {
    display: block;
    top: auto;
    bottom: 0;
    padding: 0;
  }
}

.fixNav__col a span:after {
  content: "";
  display: block;
  width: 14px;
  height: 8px;
  background-position: 100% 50%;
  background-size: contain;
  position: absolute;
  top: 50%;
  margin-top: -4px;
  right: 0;
}

.fixNav__col--tour a span:after {
  right: 10px;
  background-image: url(../img/nav_tour_arrow.png);
}
}

.is--introduction .introduction__title {
  padding-top: 150px;
}

/*
.fixNav__col {
width: 50%;
background-color: #fff;
text-align: center;
font-size: 2.4rem;
line-height: 77px;
box-shadow: 0 -5px 10px rgba(0, 0, 0, 0.1)
}
*/

/*
.fixNav__col a {
display: block;
text-decoration: none
}
*/

/*
.fixNav__col a span {
padding-right: 30px;
position: relative
}
*/

/*
.fixNav__col a span:after {
content: "";
display: block;
width: 14px;
height: 8px;
background-position: 100% 50%;
background-size: contain;
position: absolute;
top: 50%;
margin-top: -4px;
right: 0
}
*/

@media screen and (max-width: 768px) {
  .fixNav__col {
    display: none;
    font-size: 2.0rem;
    line-height: 50px
  }
}

/*.fixNav__col--calendar {
margin-right: 1px
}

.fixNav__col--calendar a {
color: #C02000
}

.fixNav__col--calendar a span {
display: inline-block;
padding-left: 80px;
background-image: url("../img/icon_calendar.png");
background-position: 0 50%;
background-repeat: no-repeat;
background-size: auto 44px
}

.fixNav__col--calendar a span:after {
background-image: url("../img/nav_calendar_arrow.png")
}
*/
@media screen and (max-width: 768px) {
  .fixNav__col--calendar a span {
    padding-left: 30px
  }


  .fixNav__col--tour {
    margin-left: 1px
  }

  .fixNav__col--tour a {
    color: #324266;
    text-decoration: none;
  }

  .fixNav__col--tour {
    display: block;
    width: 100%;
    font-size: 1.6rem
  }

  .fixNav__col--tour a span {
    background-image: url("../img/nav_tour_icon.png");
    background-repeat: no-repeat;
    display: block;
    text-align: center;
    padding-left: 0px;
    background-position: 10px 50%;
    background-size: auto 29px;
    text-decoration: none;
  }

  .fixNav__col--tour a span:after {
    background-image: url("../img/nav_tour_arrow.png");
    right: 10px
  }
}

.footerYoutube {
  text-align: center;
  max-width: 560px;
  margin: 80px auto
}

.footerYoutube iframe {
  width: 100%
}

@media screen and (max-width: 640px) {
  .footerYoutube {
    margin: 40px auto
  }

  .footerYoutube iframe {
    height: 200px
  }
}

.footerYoutube__caption {
  font-size: 1.4rem;
  text-align: right
}

.icon--zoomIn {
  display: inline-block;
  vertical-align: middle;
  width: 25px;
  height: 25px;
  margin: 0 5px;
  background: url("../img/icon_zoomin.svg") no-repeat 50% 50%
}

.accordion__btn {
  margin-bottom: 10px
}

.accordion__btn a {
  display: block;
  text-decoration: none;
  text-align: center;
  padding: 15px 0;
  line-height: 1.0;
  border: 1px solid #000;
  background-color: #fff;
  position: relative
}

.accordion__btn a:after,
.accordion__btn a:before {
  content: "";
  display: block;
  position: absolute;
  background-color: #000
}

.accordion__btn a:after {
  width: 11px;
  height: 1px;
  top: 50%;
  right: 10px
}

.accordion__btn a:before {
  height: 11px;
  width: 1px;
  top: 50%;
  margin-top: -5px;
  right: 15px
}

.accordion__btn.opened a:before {
  display: none
}

.transition--height {
  transition: height .3s
}

.mainvisual {
  position: relative
}

.mainvisual__image img {
  width: 100%;
  margin: 0 auto;
}

.mainvisual__header {
  position: absolute;
  top: 30px;
  right: 30px;
  display: flex;
  align-items: center
}

@media screen and (max-width: 768px) {
  .mainvisual__header {
    position: static;
    margin-top: 20px
  }
}

.mainvisual__search {
  margin-right: 30px
}

@media screen and (max-width: 768px) {
  .mainvisual__search {
    display: none
  }
}

.mainvisual__english {
  width: 270px
}

@media screen and (max-width: 768px) {
  .mainvisual__english {
    width: 180px;
    margin-left: auto;
    margin-right: auto
  }
}

.englishinfo__modal {
  text-align: left
}

.introduction__top {
  margin-bottom: 10px;
  padding-bottom: 190px;
  background: url("../img/intro_img_1.jpg") no-repeat 50% 100%;
  background-size: 100% auto
}

@media screen and (max-width: 768px) {
  .introduction__top {
    padding-bottom: 180px
  }
}

@media screen and (max-width: 640px) {
  .introduction__top {
    padding-bottom: 140px;
    background-size: auto 140px
  }
}

.introduction__box {
  padding-top: 60px;
  display: flex;
  justify-content: space-around;
  align-items: center
}

@media screen and (max-width: 768px) {
  .introduction__box {
    padding-top: 0px;
    flex-direction: column
  }
}

.introduction__left {
  position: relative
}

@media screen and (max-width: 768px) {
  .introduction__left {
    width: 100%
  }
}

.introduction__title {
  width: 100%;
  text-align: center;
  font-size: 1.9em;
  position: relative;
  z-index: 1;
  padding: 100px 0 120px 0;
  line-height: 2.3em;
  letter-spacing: 0.2em;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
}

.introduction__title img {
  width: 100%
}

@media screen and (max-width: 768px) {
  .introduction__title {
    width: 100%;
    padding: 0px 0 50px 0;
    font-size: 1.1em;
  }

  .introduction__title img {
    width: 100%
  }
}

.introduction__text {
  max-width: 674px;
  font-size: 1.8rem;
  line-height: 2.6;
  margin-right: 40px;
  margin-left: 60px;
  letter-spacing: 0.05em
}

@media screen and (max-width: 768px) {
  .introduction__text {
    max-width: inherit;
    margin-top: 30px;
    margin-left: 0;
    margin-right: 0;
    font-size: 1.6rem;
    line-height: 2.0
  }
}

.introduction__illust {
  position: absolute;
  top: 40px;
  left: -200px;
  width: 208px;
  z-index: 0
}

@media screen and (max-width: 768px) {
  .introduction__illust {
    width: 104px;
    left: auto;
    right: -10px;
    position: relative;
  }
}

.introductionPanel {
  position: relative
}

.introductionPanel__item {
  max-width: 500px;
  padding: 0 5px;
  box-sizing: border-box
}

.slick-track .introductionPanel__item {
  background: none;
}

@media screen and (max-width: 768px) {
  .introductionPanel__item {
    width: 100%;
    padding: 10px 20px;
    margin-left: auto;
    margin-right: auto
  }
}

.introductionPanel__image img {
  width: 100%
}

.introductionPanel__info {
  padding: 15px 30px 20px;
  background-color: #C3BBAD
}

@media screen and (max-width: 768px) {
  .introductionPanel__info {
    padding: 15px
  }
}

.introductionPanel__title {
  font-size: 2.2rem;
  margin: 10px;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
  text-align: center
}

@media screen and (max-width: 768px) {
  .introductionPanel__title {
    margin-bottom: 10px;
    font-size: 1.8rem
  }
}

.introductionPanel__text {
  font-size: 1.8rem
}

@media screen and (max-width: 768px) {
  .introductionPanel__text {
    font-size: 1.4rem
  }
}

.introductionPanel__btn {
  width: 252px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px
}

.introductionPanel__btn a {
  display: block;
  background-color: #fff;
  color: #C02000;
  text-align: center;
  text-decoration: none;
  padding: 10px;
  line-height: 1.0;
  font-size: 1.8rem;
  transition: opacity .3s
}

.introductionPanel__btn a:hover {
  opacity: 0.7
}

@media screen and (max-width: 768px) {
  .introductionPanel__btn {
    width: auto
  }
}

.forecast {
  margin-top: 100px
}

@media screen and (max-width: 768px) {
  .forecast {
    margin-top: 60px
  }
}

.forecast__title {
  margin-bottom: 40px;
  text-align: center;
  font-size: 3.2rem;
  padding-bottom: 10px;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
  line-height: 1.0;
  position: relative
}

.forecast__title:after {
  content: "";
  display: block;
  width: 82px;
  height: 1px;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -41px
}

@media screen and (max-width: 768px) {
  .forecast__title {
    margin-bottom: 20px;
    font-size: 2.4rem
  }
}

.forecast__term {
  display: flex;
  justify-content: space-between
}

@media screen and (max-width: 768px) {
  .forecast__term li {
    margin: 0 5px;
    text-align: center
  }
}

.forecast__banner {
  display: flex;
  justify-content: space-between;
  margin-top: 40px
}

.forecast__banner a {
  transition: opacity .3s
}

.forecast__banner a:hover {
  opacity: 0.7
}

@media screen and (max-width: 768px) {
  .forecast__banner {
    margin-top: 20px;
    flex-direction: column
  }

  .forecast__banner li {
    margin: 10px 0;
    text-align: center
  }

  .forecast__banner li a {
    display: block
  }
}

.aboutIzuoshima {
  margin-top: 100px;
  padding-top: 60px;
  padding-bottom: 70px;
  padding-left: calc((100% - 850px)/2 + 280px);
  padding-right: calc((100% - 850px)/2);
  background: url("../img/illust_map.png") no-repeat -160px 0;
  background-size: 700px auto
}

@media screen and (max-width: 1280px) {
  .aboutIzuoshima {
    background-size: 50% auto;
    padding-right: calc((100% - 960px)/2)
  }
}

@media screen and (max-width: 768px) {
  .aboutIzuoshima {
    margin-right: 40px
  }
}

@media screen and (max-width: 640px) {
  .aboutIzuoshima {
    margin-top: 30px;
    margin-right: 0;
    padding-top: 95%;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 20px;
    background-position: 100% 0;
    background-size: 140% auto
  }
}

.aboutIzuoshima__title {
  font-size: 2.3rem;
  font-weight: bold;
  margin-bottom: 20px
}

.aboutIzuoshima__text {
  font-size: 1.8rem;
  line-height: 2.4;
  margin-bottom: 30px
}

@media screen and (max-width: 640px) {
  .aboutIzuoshima__text {
    margin-bottom: 20px;
    font-size: 1.4rem
  }
}

.aboutIzuoshima__btn {
  display: flex;
  justify-content: space-between
}

.aboutIzuoshima__btn a {
  transition: opacity .3s
}

.aboutIzuoshima__btn a:hover {
  opacity: 0.7
}

@media screen and (max-width: 640px) {

  /*
  .aboutIzuoshima__btn {
  flex-direction: column
}
  */
  .aboutIzuoshima__btn li {
    margin: 10px 0
  }

  .aboutIzuoshima__btn li a {
    display: block
  }

  .aboutIzuoshima__btn li a img {
    width: 100%
  }
}

.map {
  padding-top: 80px;
  margin-top: 70px;
  padding-bottom: 150px;
  background-color: #99C7E8;
  text-align: center;
  position: relative
}

@media screen and (max-width: 768px) {
  .map {
    padding-top: 40px;
    margin-top: 40px;
    padding-bottom: 100px;
    padding-left: 20px;
    padding-right: 20px
  }
}

.map__title {
  font-size: 4.5rem;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.1em
}

@media screen and (max-width: 640px) {
  .map__title {
    font-size: 2.2rem
  }
}

.map__text {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  text-align: left
}

.map__text__title {
  font-size: 2.1rem
}

@media screen and (max-width: 640px) {
  .map__text__title {
    font-size: 1.2rem
  }
}

.map__caption {
  font-size: 1.7rem;
  margin-top: 10px
}

.map__caption a {
  color: #294C99
}

@media screen and (max-width: 640px) {
  .map__caption {
    font-size: 1.4rem
  }
}

.mapArea {
  margin-top: 50px;
  width: 900px;
  margin-left: auto;
  margin-right: auto;
  position: relative
}

@media screen and (max-width: 1280px) {
  .mapArea {
    width: 640px
  }
}

@media screen and (max-width: 480px) {
  .mapArea {
    width: 320px
  }
}

@media screen and (max-width: 320px) {
  .mapArea {
    width: 260px
  }
}

.mapArea__btn {
  position: absolute
}

.mapArea__btn a {
  transition: opacity .3s
}

.mapArea__btn a:hover {
  opacity: 0.7
}

.mapArea__btn a img {
  width: 100%
}

.mapArea__btn--school {
  width: 32.77778%;
  top: 23.40426%;
  left: -1.66667%
}

.mapArea__btn--garden {
  width: 28.11111%;
  top: 19.14894%;
  left: 37.77778%
}

.mapArea__btn--park {
  width: 34.33333%;
  top: 24.8227%;
  right: -7.33333%
}

@media screen and (max-width: 480px) {
  .mapArea__btn--park {
    top: 22.69504%;
    right: -7.33333%
  }
}

@media screen and (max-width: 320px) {
  .mapArea__btn--park {
    width: 70px;
    top: 19.14894%;
    right: 0
  }
}

.mapArea__btn--tunnel {
  width: 30.77778%;
  bottom: 9.64539%;
  right: -2.66667%
}

.map__google {
  width: 100%;
  text-align: left;
  position: absolute;
  bottom: 150px;
  left: 0;
  z-index: 10
}

.map__google a {
  transition: opacity .3s
}

.map__google a:hover {
  opacity: 0.7
}

@media screen and (max-width: 768px) {
  .map__google {
    width: 180px;
    bottom: 10%
  }
}

.eventArea {
  position: relative
}

.eventArea--oshima {
  margin-top: 150px
}

.eventArea--motomachi {
  margin-top: 100px;
  z-index: 10
}

@media screen and (max-width: 768px) {
  .eventArea--motomachi {
    margin-top: 50px
  }

  .eventArea--oshima {
    margin-top: 50px
  }
}

.eventArea__title {
  text-align: center;
  margin-bottom: 70px;
  max-width: 556px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 64px;
}

@media screen and (max-width: 768px) {
  .eventArea__title {
    margin-bottom: 40px;
    padding-top: 40px;
  }
}

.eventBox {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #C3BBAD;
  padding-bottom: 40px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .eventBox {
    flex-direction: column;
    border-bottom: none;
    background: url("../img/line.png") no-repeat 50% 100%;
    background-size: auto 32px;
    padding-bottom: 60px
  }
}

.eventBox--1 .eventBox__left {
  width: 36%
}

.eventBox--1 .eventBox__right {
  width: calc(100% - 36% - 50px)
}

@media screen and (max-width: 768px) {

  .eventBox--1 .eventBox__left,
  .eventBox--1 .eventBox__right {
    width: 100%
  }

  .eventBox--1 .eventBox__right {
    margin-top: 30px
  }
}

.eventBox--2 .eventBox__left {
  width: calc(100% - 36% - 50px)
}

.eventBox--2 .eventBox__right {
  width: 36%
}

@media screen and (max-width: 768px) {
  .eventBox--2 {
    flex-direction: column-reverse
  }

  .eventBox--2 .eventBox__left,
  .eventBox--2 .eventBox__right {
    width: 100%
  }

  .eventBox--2 .eventBox__left {
    margin-top: 30px
  }
}

.eventBox--3 {
  border-bottom: none
}

.eventBox--3 .eventBox__col {
  width: calc((100% - 60px)/2)
}

.eventBox--3 .eventBox__col:nth-child(2n) {
  border-left: 1px solid #C3BBAD;
  padding-left: 30px
}

.eventBox--3 .eventBox__col .eventBox__image {
  margin-top: -65px;
  position: relative;
  z-index: 0
}

.eventBox--3 .eventBox__col .eventBox__date {
  position: relative;
  z-index: 1
}

.eventBox--3 .eventBox__col .eventBox__title {
  text-align: center;
  margin-top: 30px
}

@media screen and (max-width: 768px) {
  .eventBox--3 .eventBox__col {
    width: 100%;
    margin-top: 40px
  }

  .eventBox--3 .eventBox__col:first-child {
    margin-top: 0
  }

  .eventBox--3 .eventBox__col:nth-child(2n) {
    padding-left: 0;
    border: none
  }

  .eventBox--3 .eventBox__col .eventBox__title {
    text-align: left
  }

  .eventBox--3 .eventBox__col .eventBox__image {
    margin-top: -40px
  }

  .eventBox--3 .eventBox__col .eventBox__date {
    width: 70px
  }
}

.eventBox--4 {
  margin-top: 100px;
  padding: 30px;
  border-bottom: none;
  background-color: #fff
}

.eventBox--4 .eventBox__left {
  width: 50%
}

.eventBox--4 .eventBox__right {
  width: calc(50% - 50px)
}

.eventBox--4 .eventBox__title {
  font-size: 2.9rem
}

@media screen and (max-width: 768px) {
  .eventBox--4 {
    margin-top: 60px;
    background-image: none;
    padding: 20px
  }

  .eventBox--4 .eventBox__left,
  .eventBox--4 .eventBox__right {
    width: auto
  }

  .eventBox--4 .eventBox__right {
    margin-top: 30px
  }

  .eventBox--4 .eventBox__title {
    font-size: 1.8rem
  }
}

.eventBox__header {
  display: flex;
  align-items: center;
  position: relative;
}

.eventBox__header .eventBox__date {
  margin-right: 10px
}

.eventBox__header--illust {
  border-bottom: 1px solid #C02000;
  padding-left: 80px
}

.eventBox__header--illust .eventBox__illust {
  position: absolute;
  bottom: 0;
  left: 0
}

@media screen and (max-width: 768px) {
  .eventBox__header .eventBox__date {
    max-width: 120px
  }

  .eventBox__header--illust {
    padding-left: 60px
  }

  .eventBox__header--illust .eventBox__illust {
    width: 140px
  }

  .eventBox__header--illust .eventBox__title {
    font-size: 1.4rem;
    padding-bottom: 5px
  }
}

.eventBox__title {
  font-size: 3.2rem;
  line-height: 1.3;
  font-weight: bold;
  color: #C02000;
}

.eventBox__title span {
  font-size: 2.4rem
}

@media screen and (max-width: 768px) {
  .eventBox__title {
    font-size: 2.0rem
  }

  .eventBox__title span {
    font-size: 1.6rem
  }
}

.eventBox__text {
  margin-top: 20px;
  margin-bottom: 30px;
  font-size: 1.8rem
}

@media screen and (max-width: 768px) {
  .eventBox__text {
    font-size: 1.6rem
  }
}

.eventBox__detail {
  padding: 20px;
  background-color: #DCD7D1
}

.eventBox__detail h3 {
  font-weight: bold
}

.eventBox__detail + .eventBox__detail {
  margin-top: 10px
}

.eventBox__image {
  text-align: center
}

.eventBox__image img {
  margin-left: auto;
  margin-right: auto
}

.eventBox__imageCap {
  margin-top: 10px;
  font-size: 1.4rem;
  text-align: right
}

.eventBox__btn {
  margin-top: 20px
}

.eventBox__btn > div {
  margin-bottom: 10px
}

.eventBox__btn > div:last-child {
  margin-bottom: 0
}

.eventBox__btn a em {
  font-style: normal;
  font-size: 1.6rem
}

@media screen and (max-width: 768px) {
  .eventBox__btn a em {
    font-size: 1.2rem
  }
}

.eventBox__btn--pamph a,
.eventBox__btn--pamph div {
  display: block;
  text-decoration: none;
  background-color: #C3BBAD;
  font-size: 2.2rem;
  padding: 15px;
  line-height: 1.4;
  background-repeat: no-repeat;
  transition: opacity .3s;
  padding-left: 75px;
  background-image: url("../img/icon_pdf.png");
  background-position: 20px 50%;
  background-size: auto 40px;
  position: relative;
  padding-right: 30px;
  height: 67px;
  box-sizing: border-box;
  line-height: 67px;
  padding-top: 0;
  padding-bottom: 0
}

.eventBox__btn--pamph a:hover,
.eventBox__btn--pamph div:hover {
  opacity: 0.7
}

@media screen and (max-width: 768px) {

  .eventBox__btn--pamph a,
  .eventBox__btn--pamph div {
    font-size: 1.6rem
  }
}

@media screen and (max-width: 768px) {

  .eventBox__btn--pamph a,
  .eventBox__btn--pamph div {
    padding-left: 40px;
    background-position: 10px 50%;
    background-size: auto 20px
  }
}

.eventBox__btn--pamph a:after,
.eventBox__btn--pamph div:after {
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  background-image: url("../img/icon_arrow.svg");
  background-position: 0 0;
  background-size: contain;
  position: absolute;
  top: 50%;
  margin-top: -7px
}

.eventBox__btn--pamph a:after,
.eventBox__btn--pamph div:after {
  right: 20px
}

@media screen and (max-width: 768px) {

  .eventBox__btn--pamph a,
  .eventBox__btn--pamph div {
    padding-right: 20px
  }

  .eventBox__btn--pamph a:after,
  .eventBox__btn--pamph div:after {
    right: 10px
  }
}

.eventBox__btn--pamph div {
  opacity: 0.3
}

.eventBox__btn--pamph div:hover {
  opacity: 0.3
}

.eventBox__btn--application a {
  display: block;
  text-decoration: none;
  background-color: #C3BBAD;
  font-size: 2.2rem;
  padding: 15px;
  line-height: 67px;
  background-repeat: no-repeat;
  transition: opacity .3s;
  padding-left: 75px;
  background-image: url("../img/icon_camera.png");
  background-position: 20px 50%;
  background-size: auto 28px;
  position: relative;
  padding-right: 30px;
  height: 67px;
  padding-top: 0;
  padding-bottom: 0;
  box-sizing: border-box
}

.eventBox__btn--application a:hover {
  opacity: 0.7
}

@media screen and (max-width: 768px) {
  .eventBox__btn--application a {
    font-size: 1.6rem
  }
}

@media screen and (max-width: 768px) {
  .eventBox__btn--application a {
    padding-left: 40px;
    background-position: 10px 50%;
    background-size: auto 18px
  }
}

.eventBox__btn--application a:after {
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  background-image: url("../img/icon_arrow.svg");
  background-position: 0 0;
  background-size: contain;
  position: absolute;
  top: 50%;
  margin-top: -7px
}

.eventBox__btn--application a:after {
  right: 20px
}

@media screen and (max-width: 768px) {
  .eventBox__btn--application a {
    padding-right: 20px
  }

  .eventBox__btn--application a:after {
    right: 10px
  }
}

@media screen and (max-width: 768px) {
  .eventBox__btn--application a {
    height: auto;
    padding-bottom: 10px;
    padding-top: 10px;
    font-size: 1.4rem
  }
}

.stampRally {
  position: relative;
  padding-top: 210px;
}

@media screen and (max-width: 768px) {
  .stampRally {
    margin-top: 20px;
    padding-top: 60px;
  }
}

.stampRally__wrap {
  background-color: #DCD7D1;
  padding: 40px;
  position: relative
}

@media screen and (max-width: 768px) {
  .stampRally__wrap {
    padding: 20px
  }
}

.stampRally__illust {
  position: absolute;
  top: -15px;
  right: 80px
}

@media screen and (max-width: 768px) {
  .stampRally__illust {
    width: 60px;
    right: 10px;
    z-index: 1
  }
}

.stampRally__title {
  width: 532px;
  margin-left: -266px;
  position: absolute;
  top: -130px;
  left: 50%;
  z-index: 0;
}

@media screen and (max-width: 640px) {
  .stampRally__title {
    width: auto;
    margin-left: 0;
    top: -60px;
    left: 40px;
    right: 40px;
    z-index: 0
  }
}

.stampRally__boxInner {
  position: relative;
  z-index: 1
}

.stampRally__stitle {
  text-align: center;
  font-size: 3.2rem;
  font-weight: bold;
}

.stampRally__stitle span {
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
  .stampRally__stitle span {
    font-size: 1.3rem;
  }

  .stampRally__stitle {
    font-size: 1.6rem
  }
}

.stampRally__box {
  margin-top: 50px;
  display: flex;
  justify-content: space-between
}

@media screen and (max-width: 768px) {
  .stampRally__box {
    margin-top: 30px;
    flex-direction: column-reverse
  }
}

.stampRally__left {
  width: 56.043956%
}

@media screen and (max-width: 768px) {
  .stampRally__left {
    width: auto;
    margin-top: 30px
  }
}

.stampRally__btn a,
.stampRally__btn div {
  display: block;
  text-decoration: none;
  background-color: #C3BBAD;
  padding: 15px;
  line-height: 1.4;
  background-repeat: no-repeat;
  transition: opacity .3s;
  padding-left: 75px;
  background-image: url("../img/icon_pdf.png");
  background-position: 20px 50%;
  background-size: auto 40px;
  position: relative;
  padding-right: 30px;
  margin-top: 10px;
  font-size: 1.8rem;
}

.stampRally__btn--web a,
.stampRally__btn--web div {
  background-image: url("../img/icon_web.png");
  background-size: auto 30px;
}

.stampRally__btn a:hover,
.stampRally__btn div:hover {
  opacity: 0.7
}

@media screen and (max-width: 768px) {

  .stampRally__btn a,
  .stampRally__btn div {
    font-size: 1.6rem
  }
}

@media screen and (max-width: 768px) {

  .stampRally__btn a,
  .stampRally__btn div {
    padding-left: 40px;
    background-position: 10px 50%;
    background-size: auto 20px
  }
}

.stampRally__btn a:after,
.stampRally__btn div:after {
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  background-image: url("../img/icon_arrow.svg");
  background-position: 0 0;
  background-size: contain;
  position: absolute;
  top: 50%;
  margin-top: -7px
}

.stampRally__btn a:after,
.stampRally__btn div:after {
  right: 20px
}

@media screen and (max-width: 768px) {

  .stampRally__btn a,
  .stampRally__btn div {
    padding-right: 20px
  }

  .stampRally__btn a:after,
  .stampRally__btn div:after {
    right: 10px
  }
}

.stampRally__btn div {
  opacity: 0.3
}

.stampRally__btn div:hover {
  opacity: 0.3
}

.stampRally__right {
  width: 40%
}

@media screen and (max-width: 768px) {
  .stampRally__right {
    width: auto
  }
}

.stampRally__wbox {
  margin: 20px 0;
  padding: 15px 20px;
  background-color: #fff
}

.stampRally__image img {
  width: 100%
}

@media screen and (max-width: 768px) {
  .stampRally__image {
    width: 90%;
    margin-left: auto;
    margin-right: auto
  }
}

.stampRally__imageCap {
  margin-top: 10px;
  text-align: right;
  font-size: 1.4rem
}

.chirashi {
  margin-top: 60px
}

@media screen and (max-width: 768px) {
  .chirashi {
    margin-top: 20px
  }
}

.chirashi__box {
  padding: 40px;
  background-color: #DCD7D1;
  display: flex;
  justify-content: space-between
}

@media screen and (max-width: 768px) {
  .chirashi__box {
    padding: 20px;
    flex-direction: column
  }
}

@media screen and (max-width: 768px) {
  .chirashi__image {
    text-align: center
  }
}

.chirashi__left {
  width: 160px
}

@media screen and (max-width: 768px) {
  .chirashi__left {
    width: auto
  }
}

.chirashi__right {
  width: calc(100% - 160px - 50px)
}

@media screen and (max-width: 768px) {
  .chirashi__right {
    width: auto;
    margin-top: 20px
  }
}

.chirashi__text {
  font-size: 2.2rem
}

@media screen and (max-width: 768px) {
  .chirashi__text {
    font-size: 1.6rem
  }
}

.chirashi__btn {
  margin-top: 20px
}

.chirashi__btn a {
  display: block;
  text-decoration: none;
  background-color: #C3BBAD;
  font-size: 2.2rem;
  padding: 15px;
  line-height: 1.4;
  background-repeat: no-repeat;
  transition: opacity .3s;
  padding-left: 75px;
  background-image: url("../img/icon_pdf.png");
  background-position: 20px 50%;
  background-size: auto 40px;
  position: relative;
  padding-right: 30px;
  font-size: 2.2rem;
  display: inline-block
}

.chirashi__btn a:hover {
  opacity: 0.7
}

@media screen and (max-width: 768px) {
  .chirashi__btn a {
    font-size: 1.6rem
  }
}

@media screen and (max-width: 768px) {
  .chirashi__btn a {
    padding-left: 40px;
    background-position: 10px 50%;
    background-size: auto 20px
  }
}

.chirashi__btn a:after {
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  background-image: url("../img/icon_arrow.svg");
  background-position: 0 0;
  background-size: contain;
  position: absolute;
  top: 50%;
  margin-top: -7px
}

.chirashi__btn a:after {
  right: 20px
}

@media screen and (max-width: 768px) {
  .chirashi__btn a {
    padding-right: 20px
  }

  .chirashi__btn a:after {
    right: 10px
  }
}

.calendar {
  padding-top: 70px;
  padding-bottom: 100px;
  overflow: hidden;
}

.calendar .wrap {
  position: relative
}

@media screen and (max-width: 768px) {
  .calendar {
    padding-bottom: 20px;
    padding-top: 30px;
  }
}

.calendar__illust {
  width: 192px;
  position: absolute;
  top: 0;
  left: -100px;
  z-index: 0;

}

.calendar__illust2 {
  width: 192px;
  position: absolute;
  bottom: -20px;
  right: -140px;
  z-index: 0
}

.calendar__title {
  margin-bottom: 40px;
  text-align: center;
  font-size: 4.5rem;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-weight: bold
}

.calendar__title span {
  padding-left: 60px;
  background-image: url("../img/icon_calendar.png");
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: auto 44px
}

@media screen and (max-width: 768px) {
  .calendar__title {
    margin-bottom: 20px;
    font-size: 2.0rem
  }

  .calendar__title span {
    display: inline-block;
    padding-left: 0;
    padding-top: 30px;
    line-height: 30px;
    background-position: 50% 0;
    background-size: auto 24px
  }
}

.calendar__image {
  position: relative;
  z-index: 1
}

.calendar__image img {
  width: 100%
}

.spotBanner {
  margin-top: 70px;
  height: 350px;
  background: url("../img/spot_bg.jpg") no-repeat 50% 50%;
  background-size: cover
}

.spotBanner a {
  display: block;
  height: 100%;
  transition: opacity .3s
}

.spotBanner a:hover {
  opacity: 0.7
}

.spotBanner .wrap {
  height: 100%;
  display: flex;
  align-items: center
}

.spotBanner__btn {
  margin: 50px auto 0px auto;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .spotBanner {
    margin-top: 0;
    height: 160px
  }

  .spotBanner .spotBanner__btn {
    max-width: 240px
  }
}

.accessArea {
  margin-top: 130px;
  margin-bottom: 70px;
}

.accessArea__title {
  text-align: center;
  margin-bottom: 50px
}

.accessArea__title p {
  display: inline-block;
  text-align: left;
  font-size: 3.8rem;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
  line-height: 1.4;
  font-weight: bold;
  padding-left: 118px;
  background: url(../img/2021nav-access@2x.png) no-repeat 0 80%;
  background-size: 100px auto;
}

.accessArea__title p span {
  font-size: 2.1rem;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Arial", "メイリオ", "Meiryo", sans-serif;
  font-weight: normal
}

@media screen and (max-width: 768px) {
  .accessArea__title {
    margin-bottom: 20px
  }

  .accessArea__title p {
    padding-top: 80px;
    padding-left: 0;
    background-position: 50% 0;
    font-size: 1.8rem;
    background-size: 90px auto;
  }

  .accessArea__title p span {
    font-size: 1.6rem
  }

  .accessArea {
    margin-bottom: 0;
  }
}

.accessArea__box {
  display: flex;
  justify-content: space-between
}

@media screen and (max-width: 768px) {
  .accessArea__box {
    flex-direction: column
  }
}

@media screen and (max-width: 768px) {

  .accessArea__left,
  .accessArea__right {
    width: auto;
    text-align: center
  }
}

.accessArea__right {
  /* margin-top: 30px; */
}

.accessArea__btn {
  margin-top: 30px
}

.accessArea__btn a {
  transition: opacity .3s
}

.accessArea__btn a:hover {
  opacity: 0.7
}

@media screen and (max-width: 768px) {
  .accessArea__btn {
    margin-top: 0
  }
}

.btn--tourDetail {
  padding: 10px 35px 10px 20px;
  background-color: #324266;
  color: #fff;
  text-decoration: none;
  border: 3px solid #fff;
  border-radius: 50px;
  background-image: url("../img/icon_arrow_bold.png");
  background-position: calc(100% - 10px) 50%;
  background-repeat: no-repeat;
  background-size: auto 14px;
  transition: opacity .3s;
}

.btn--tourDetail:hover {
  opacity: 0.7
}

@media screen and (max-width: 640px) {
  .btn--tourDetail {
    display: block;
    text-align: center;
    width: 100%;
    box-sizing: border-box
  }
}

.tourAreaWrap {
  padding-top: 150px
}

.tourArea {
  background-color: #dfe8ee;
  position: relative;
  padding-top: 180px;
  padding-bottom: 90px
}

.tourArea .wrap {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 640px) {
  .tourArea {
    padding-top: 90px
  }
}

.tourArea__title {
  width: 100%;
  position: absolute;
  left: 0;
  top: -120px;
  text-align: center;
  z-index: 0
}

@media screen and (max-width: 640px) {
  .tourArea__title {
    width: calc(100% - 40px);
    margin-left: 20px;
    margin-right: 20px;
    top: -75px
  }
}

.tourArea__intro {
  position: absolute;
  left: 0;
  top: 80px;
  width: 100%;
  text-align: center;
  font-size: 2.1rem;
  z-index: 1
}

@media screen and (max-width: 640px) {
  .tourArea__intro {
    top: 7vw;
    font-size: 1.6rem
  }
}

.tourSection {
  background-color: #fff;
  border: 3px solid #324266;
  padding: 50px 40px;
  position: relative;
  margin-top: 80px
}

.tourSection:first-child {
  margin-top: 0
}

@media screen and (max-width: 768px) {
  .tourSection {
    padding: 50px 20px
  }
}

@media screen and (max-width: 640px) {
  .tourSection {
    padding-bottom: 20px;
    padding-top: 40px
  }
}

.tourSection__title {
  position: absolute;
  width: 100%;
  left: 0;
  top: -30px;
  text-align: center
}

.tourSection__headerIllust {
  position: absolute;
  right: 60px;
  top: -60px;
  text-align: center
}

@media screen and (max-width: 640px) {
  .tourSection__headerIllust {
    right: 0;
    top: -50px;
    width: 50px
  }
}

.tourSection__text {
  font-size: 2.0rem;
  text-align: center
}

@media screen and (max-width: 640px) {
  .tourSection__text {
    font-size: 1.6rem
  }
}

.tourBusPrice {
  display: flex;
  justify-content: center;
  margin-top: 20px
}

@media screen and (max-width: 640px) {
  .tourBusPrice {
    flex-direction: column
  }
}

.tourBusPrice__item {
  width: 434px;
  border: 4px solid #c7c2bc;
  box-sizing: border-box;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
  margin: 0 8px;
}

@media screen and (max-width: 640px) {
  .tourBusPrice__item {
    width: 100%;
    margin-bottom: 20px;
    margin-left: 0;
    margin-right: 0
  }

  .tourBusPrice__item:last-child {
    margin-bottom: 0
  }
}

.tourBusPrice__header {
  background-color: #c7c2bc;
  padding: 10px 8px;
}

.tourBusPrice__item--1 .tourBusPrice__header {
  border-bottom: 10px solid #ff7300
}

.tourBusPrice__item--2 .tourBusPrice__header {
  border-bottom: 10px solid #d0250b;
}

.tourBusPrice__item--3 .tourBusPrice__header {
  border-bottom: 10px solid #6c9751;
}

@media screen and (max-width: 640px) {
  .tourBusPrice__header {
    padding: 10px
  }
}

.tourBusPrice__image {
  height: 100%
}

.tourBusPrice__image img {
  object-fit: cover
}

.tourBusPrice__title {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.3;
}

.tourBusPrice__title span {
  font-size: 13px;
  background-color: #6c9751;
  padding: .2em;
  vertical-align: middle;
  display: inline-block;
  margin: .2em;
  color: #fff;
  font-weight: bold;
}

@media screen and (max-width: 640px) {
  .tourBusPrice__title {
    font-size: 1.6rem
  }
}

.tourBusPrice__date {
  font-size: 1.5rem;
  margin-top: 10px;
  line-height: 1.4
}

@media screen and (max-width: 640px) {
  .tourBusPrice__date {
    font-size: 1.3rem
  }
}

.tourBusPrice__main {
  position: relative
}

.tourBusPrice__main img {
  width: 100%
}

.tourBusPrice__btn {
  position: absolute;
  width: 100%;
  bottom: 14px;
  left: 0;
  box-sizing: border-box;
  padding-left: 10%;
  padding-right: 9%;
}

.tourBusPrice__btn a {
  display: block;
  height: 50px;
  border-radius: 10px;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  text-decoration: none;
  line-height: 50px;
  background-image: url("../img/icon_arrow.png");
  background-position: calc(100% - 22px) 50%;
  background-repeat: no-repeat;
  background-size: auto 14px;
  transition: opacity .3s;
}

.tourBusPrice__btn a:hover {
  opacity: 0.7
}

.tourBusPrice__item--1 .tourBusPrice__btn a {
  background-color: #ff7300
}

.tourBusPrice__item--2 .tourBusPrice__btn a {
  background-color: #d0250b
}

.tourBusPrice__item--3 .tourBusPrice__btn a {
  background-color: #6c9751
}

@media screen and (max-width: 640px) {
  .tourBusPrice__btn {
    bottom: 15px
  }

  .tourBusPrice__btn a {
    font-size: 1.8rem;
    height: 50px;
    line-height: 50px
  }
}

@media screen and (max-width: 320px) {
  .tourBusPrice__btn {
    bottom: 10px
  }

  .tourBusPrice__btn a {
    height: 40px;
    line-height: 40px;
    font-size: 1.6rem
  }
}

.tourBus__btn {
  padding-top: 35px;
  margin-top: 30px;
  border-top: 3px solid #324266
}

.tourBus__btn a {
  display: block;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  background-color: #324266;
  font-size: 2.1rem;
  text-align: center;
  border-radius: 10px;
  text-decoration: none;
  max-width: 512px;
  height: 66px;
  line-height: 66px;
  background-image: url("../img/icon_arrow.png");
  background-position: calc(100% - 22px) 50%;
  background-repeat: no-repeat;
  background-size: auto 24px;
  transition: opacity .3s
}

.tourBus__btn a:hover {
  opacity: 0.7
}

@media screen and (max-width: 640px) {
  .tourBus__btn {
    margin-top: 20px;
    padding-top: 20px
  }

  .tourBus__btn a {
    font-size: 1.4rem;
    line-height: 1.4;
    height: auto;
    text-align: left;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-right: 30px;
    padding-left: 15px;
    background-position: calc(100% - 15px) 50%;
    background-size: auto 12px
  }
}

.tourBus__more {
  border-top: none;
  margin-top: 0;
}

.tourSection#TourKippu {
  background: #fff url("../img/tour_bus_bg.jpg") no-repeat 50% 100%
}

.tourTag {
  margin-top: 30px;
  display: flex;
  justify-content: center
}

.tourTag p {
  font-size: 1.8rem;
  color: #324266;
  font-weight: bold;
  text-align: center;
  background-color: #c7c2bc;
  width: 150px;
  height: 45px;
  line-height: 45px;
  margin: 0 6px
}

.tourTag p.hasCap {
  box-sizing: border-box;
  padding-top: 5px;
  line-height: 1.0
}

.tourTag p.hasCap span {
  font-weight: normal;
  font-size: 1.2rem
}

@media screen and (max-width: 640px) {
  .tourTag {
    margin-top: 15px;
    flex-wrap: wrap;
    margin-left: -5px;
    margin-right: -5px
  }

  .tourTag p {
    width: calc(50% - 10px);
    font-size: 1.4rem;
    margin: 0 5px;
    margin-bottom: 10px
  }

  .tourTag p.hasCap {
    width: 70%;
  }
}

.tourKippuList {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  margin-right: -30px
}

@media screen and (max-width: 640px) {
  .tourKippuList {
    margin-top: 25px;
    margin-right: -10px
  }
}

.tourKippuList__item {
  width: calc((100% - 120px)/4);
  margin-right: 30px;
  margin-bottom: 30px
}

.tourKippuList__item img {
  width: 100%
}

@media screen and (max-width: 640px) {
  .tourKippuList__item {
    width: calc(50% - 10px);
    margin-right: 10px;
    margin-bottom: 10px
  }
}

.tourKippuList__item--2 {
  width: calc(50% - 30px)
}

@media screen and (max-width: 640px) {
  .tourKippuList__item--2 {
    width: 100%
  }
}

.tourKippuFooter {
  color: #fff;
  display: flex;
  justify-content: space-between
}

@media screen and (max-width: 640px) {
  .tourKippuFooter {
    padding-top: 10px;
    flex-direction: column
  }
}

@media screen and (max-width: 640px) {
  .tourKippuFooter__btn {
    margin-top: 20px;
    width: 100%
  }
}

.tourSectionWrap {
  margin-top: 80px;
  display: flex;
  justify-content: space-between
}

@media screen and (max-width: 640px) {
  .tourSectionWrap {
    margin-top: 40px;
    flex-direction: column
  }
}

.tourSectionWrap__left {
  width: 61.8%
}

@media screen and (max-width: 640px) {
  .tourSectionWrap__left {
    width: 100%
  }
}

.tourSectionWrap__right {
  width: 36%
}

@media screen and (max-width: 640px) {
  .tourSectionWrap__right {
    width: 100%;
    margin-top: 40px
  }
}

.tourSection__imagebox {
  display: flex;
  justify-content: space-between
}

@media screen and (max-width: 768px) {
  .tourSection__imagebox {
    flex-direction: column-reverse
  }
}

.tourSection__imagebox__text {
  width: calc(100% - 146px)
}

.tourSection__imagebox__text .tourSection__text {
  margin-top: 10px;
  text-align: left;
  font-size: 1.8rem;
  line-height: 1.6
}

@media screen and (max-width: 768px) {
  .tourSection__imagebox__text {
    width: auto;
    margin-top: 20px
  }
}

.tourSection__imagebox__image {
  width: 146px
}

@media screen and (max-width: 768px) {
  .tourSection__imagebox__image {
    width: auto
  }

  .tourSection__imagebox__image img {
    width: 100%
  }
}

.tourSection__text--date {
  font-size: 1.4rem
}

.tourSectionHiking__plan {
  margin-top: 20px;
  display: flex;
  justify-content: space-between
}

@media screen and (max-width: 640px) {
  .tourSectionHiking__plan {
    flex-direction: column
  }
}

.tourSectionHiking__plan__left {
  margin-left: -18px
}

@media screen and (max-width: 640px) {
  .tourSectionHiking__plan__left {
    margin-bottom: 20px;
    text-align: center
  }
}

@media screen and (max-width: 640px) {
  .tourSectionFooter__btn {
    margin-top: 20px
  }
}

.tourSectionWrap .tourSection {
  padding-bottom: 20px;
  height: 100%;
  box-sizing: border-box
}

.tourSectionWrap__right .tourSection {
  padding-left: 15px;
  padding-right: 15px
}

.tourSectionWrap__right .tourSection__imagebox__text .tourSection__text--date {
  font-size: 1.2rem
}

.tourSectionWrap__right .tourSection__imagebox__text .tourSection__text {
  margin-top: 10px
}

.tourSectionWrap__right .tourSectionSet__plan {
  text-align: center;
  margin-top: 20px
}

.tourSectionWrap__right .tourSectionFooter__btn {
  margin-top: 30px
}

.tourSectionFooter__btn {
  text-align: right
}

.sp-only {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-only {
    display: block
  }
}

@media screen and (max-width: 768px) {
  .pc-only {
    display: none
  }
}

.ar {
  text-align: right
}

#Top {
  background: url(../img/bg.png)repeat;
}

.pagenav ul {
  display: flex;
  justify-content: space-between;
  color: #BA1F01;
  font-weight: bold;
}

.pagenav ul li {
  text-align: center;
}

.pagenav ul li a {
  color: #BA1F01;
  text-decoration: none;
}

.pagenav ul li:after {
  background: url(../img/nav_calendar_arrow.png) center bottom no-repeat;
  content: "";
  height: 10px;
  width: 20px;
  display: block;
  margin: 5px auto;
}

.pagenav ul li i.icon:after {
  content: "";
  height: 100px;
  display: block;
  width: 100px;
  background: url(../img/nav-about@2x.png) center bottom no-repeat;
  background-size: 100px;
  margin: 0 auto;
}

.pagenav ul li i.icon:after {
  content: "";
  height: 100px;
  display: block;
  width: 100px;
  background: url(../img/nav-about@2x.png) center center no-repeat;
  background-size: 100px;
  margin: 0 auto;
}

.pagenav ul li i.icon--nav-map:after {
  background: url(../img/nav-map@2x.png) center center no-repeat;
  background-size: 100px;
}

.pagenav ul li i.icon--nav-event:after {
  background: url(../img/nav-cal@2x.png) center center no-repeat;
  background-size: 100px;
}

.pagenav ul li i.icon--nav-point:after {
  background: url(../img/nav-event@2x.png) center center no-repeat;
  background-size: 100px;
}

.pagenav ul li i.icon--nav-access:after {
  background: url(../img/2021nav-access@2x.png) center center no-repeat;
  background-size: 100px;
}

.pagenav ul li i.icon--nav-tour:after {
  background: url(../img/nav-tour@2x.png) center center no-repeat;
  background-size: 100px;
}

.introductionPanel__slider2 .introductionPanel__item {
  width: 100%;
}

.introductionPanel__item {
  max-width: 500px;
  margin: 0 5px;
  box-sizing: border-box;
  width: 100%;
  background-color: #C3BBAD;
  padding: 0;
}

.main-title {
  width: 38% !important;
  position: absolute;
  top: 70%;
  margin-top: -28% !important;
  margin-right: -26% !important;
  left: 3%;
  /* max-width: 390px; */
}

ul.point {
  display: flex;
  justify-content: space-between;
}


.point__title,
.rec__title {
  margin-bottom: 40px;
  text-align: center;
  font-size: 4.5rem;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-weight: bold
}

.point__title:before {
  height: 54px;
  width: 90px;
  content: "";
  display: inline-block;
  background-image: url(../img/nav-event@2x.png);
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: auto 90px;
}

.rec__title:before {
  height: 64px;
  width: 90px;
  content: "";
  display: inline-block;
  background-image: url(../img/ico-rec@2x.png);
  background-position: 50% 15px;
  background-repeat: no-repeat;
  background-size: auto 50px;
}

.point__title span.small {
  font-size: 2rem;
  display: inline-block;
  background: none;
  margin-left: 10px;
}

.rec__title {
  margin-top: 100px;
}

.recomend h3 {
  text-align: center;
  font-size: 2.0rem;
  margin-top: 10px;
}

.l-news__list li {
  border-bottom: solid 1px #324266;
  padding: 10px;
}

.l-news__list li a {
  color: #324266;
  text-decoration: none;
  font-weight: bold;
}

.l-news__list li a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 768px) {
  .pagenav {
    display: none;
  }

  .introductionPanel__item {
    padding: 10px 0px;
    margin: 0;
  }

  .l-news__list li {
    border-bottom: solid 1px #324266;
    padding: 10px 5px;
    font-size: 1.2rem;
  }

  .introductionPanel__slider2 {
    width: 100vw;
    height: calc(100vh - 32px);

    top: 0;
    left: 0;
    margin: 0 auto;
    text-align: center;
  }

  .introductionPanel__slider2 img {
    object-fit: cover;
    width: 100%;
    height: calc(100vh - 32px);
    margin: 0 auto;
    text-align: center;
  }

  .introductionPanel__slider2 img.coverPosition {
    object-position: 100% 50%;
  }

  .main-title {
    width: 80% !important;
    margin-top: -15% !important;
    margin-left: -40% !important;
    top:51%;
    left: 50%;
  }

  ul.point {
    display: block;
  }

  .point__title span.small {
    display: block;
  }

  .point__title,
  .rec__title {
    font-size: 2.5rem;
    margin-bottom: 20px;
  }

  .rec__title:before {
    display: block;
    margin: 10px auto;
  }

  .rec__title {
    margin-top: 30px;
  }

  .accessArea {
    margin-top: 70px;
  }

  .point__title:before {
    height: 54px;
    width: 72px;
    content: "";
    display: inline-block;
    background-image: url(../img/nav-event@2x.png);
    background-size: auto 70px;
  }

  .point {
    margin-top: 30px;
  }
}

.btn-gray a {
  color: #999;
  background-color: #cccccc;
  pointer-events: none;
}

.btn-gray a:after {
  content: none;
}

.spotBanner__btn:hover {
  opacity: 0.5;
}

.zyunbityu {
  text-align: center;
  font-size: 1.6em;
  background: #ccc;
  padding: 20px;
  color: #666;
}

.forecast__banner {
  justify-content: center;
}

.contactGuide--btn {
  background-color: #ebf0f2;
  color: #294da5;
  border: 1px solid #294da5;
}

.contactGuide--center {
  margin-left: auto;
  margin-right: auto;
}

.contactGuide {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 430px;
  width: 90%;
  border-radius: 5px;
  margin-top: 2rem;
  text-align: center;
  padding: 10px;
  box-sizing: border-box;
}

.contactGuide__title {
  font-weight: bold;
  line-height: 1;
}

.contactGuide__number {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1.0;
  margin-top: 8px;
}

.contactGuide__col {
  margin-right: 15px;
}

.telnumber {
  font-weight: bold;
  line-height: 1.1;
}

.telnumber a {
  text-decoration: none;
  color: #294da5;
  font-size: 2.4rem;
}

.telnumber .icon {
  width: 24px;
  height: 26px;
  margin-right: 7px;
  object-fit: contain;
}

.contactGuide__counter {
  font-weight: bold;
  margin-top: 0.5rem;
}

.pick {
  position: relative;
}

.pick__item {
  position: absolute;
  top: -1.6em;
  font-weight: normal;
  padding: 0 .2em;
  font-size: 2rem;
  color: #fff;
  line-height: 1.3;
  right: 0;
  background-color: #C02000;
}

.pick__item.new {
  top: -0.6em;
}

@media screen and (max-width: 768px) {
  .pick__item {
    font-size: 1.5rem;
    min-width: 4em;
  }

  .pick__item.new {
    top: -1.6em;
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
}

.col {
  
}

.col--2 {
    width: 50%;
}

@media screen and (max-width: 768px) {
  .is-spCol1 {
    width: 100% !important;
  }
}



  .top__heading {
    position: absolute;
    top: 74px;
    left: 42%;
    width: 80%;
    font-size: 40px;
    font-weight: bold;
    color: #861c22;
    text-shadow: 2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff, -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff, -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
  }

  @media screen and (max-width: 768px) {
    .top__heading {
      position: absolute;
      bottom: 13%;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      width: 100%;
      font-size: 26px;
      top: auto;
      text-align: center;
    }
  }

  @media screen and (min-width: 768px) {
    .is-sp {
      display: none;
    }
  }

  .info {
    padding-top: 24px;
  }

  .info__box {
    background-color: #fff;
    padding: 16px;
    border: 2px solid #ff0000;
    box-sizing: border-box;
  }

  .info__heading {
    font-weight: bold
  }

  @media screen and (min-width: 769px) {
    .info {
      position: absolute;
      bottom: 24px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      width: 100%;
    }
  }

  .eventBox__btn div em {
    font-style: normal;
    font-size: 1.6rem
  }

  @media screen and (max-width: 768px) {
    .eventBox__btn div em {
      font-size: 1.2rem
    }
  }

  .eventBox__btn--application div {
    display: block;
    text-decoration: none;
    background-color: #C3BBAD;
    font-size: 1.8rem;
    padding: 15px;
    background-repeat: no-repeat;
    transition: opacity .3s;
    padding-left: 75px;
    background-image: url("./assets/img/icon_camera.png");
    background-position: 20px 50%;
    background-size: auto 28px;
    position: relative;
    padding-right: 30px;
    height: 67px;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 1.2;
    padding-top: 8px;
    box-sizing: border-box
  }

  .eventBox__btn--application div:hover {
    opacity: 0.7
  }

  @media screen and (max-width: 768px) {
    .eventBox__btn--application div {
      font-size: 1.6rem
    }
  }

  @media screen and (max-width: 768px) {
    .eventBox__btn--application div {
      padding-left: 40px;
      background-position: 10px 50%;
      background-size: auto 18px
    }
  }

  .eventBox__btn--application div:after {
    content: "";
    display: block;
    width: 8px;
    height: 14px;
    background-image: url("./assets/img/icon_arrow.svg");
    background-position: 0 0;
    background-size: contain;
    position: absolute;
    top: 50%;
    margin-top: -7px
  }

  .eventBox__btn--application div:after {
    right: 20px
  }

  @media screen and (max-width: 768px) {
    .eventBox__btn--application div {
      padding-right: 20px
    }

    .eventBox__btn--application div:after {
      right: 10px
    }
  }

  @media screen and (max-width: 768px) {
    .eventBox__btn--application div {
      height: auto;
      padding-bottom: 10px;
      padding-top: 10px;
      font-size: 1.4rem
    }
  }

  .stampRally__image {
    text-align: center;
  }

  .stampRally__image img {
    max-width: 260px;
  }

  .stampRally__image a:hover {
    opacity: .5;
  }

  .tourBusPrice__btn div {
    display: block;
    height: 50px;
    border-radius: 10px;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    color: #fff;
    text-decoration: none;
    line-height: 50px;
    background-image: url("./assets/img/icon_arrow.png");
    background-position: calc(100% - 22px) 50%;
    background-repeat: no-repeat;
    background-size: auto 14px;
    transition: opacity .3s;
  }

  .tourBusPrice__item--1 .tourBusPrice__btn div {
    background-color: #ff7300
  }

  .tourBusPrice__item--2 .tourBusPrice__btn div {
    background-color: #d0250b
  }

  .tourBusPrice__item--3 .tourBusPrice__btn div {
    background-color: #6c9751
  }

  .eventArea--motomachi {
    margin-top: 150px;
  }

  @media screen and (max-width: 768px) {
    .eventArea--motomachi {
      margin-top: 50px;
    }
  }

  .eventArea--oshima {
    margin-top: 100px;
  }

  @media screen and (max-width: 768px) {
    .eventArea--oshima {
      margin-top: 50px;
    }
  }

  .eventArea--mihara {
    margin-top: 100px;
  }

  @media screen and (max-width: 768px) {
    .eventArea--mihara {
      margin-top: 50px;
    }
  }