@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@400;500&family=Noto+Sans+JP:wght@400;500;700&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");
a,
abbr,
address,
article,
aside,
audio,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
dialog,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
hr,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
main,
mark,
menu,
meter,
nav,
object,
output,
p,
pre,
progress,
q,
rp,
rt,
ruby,
s,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
var,
video {
  border: 0;
  margin: 0;
  padding: 0;
  font-size: 100%;
}

html,
body {
  height: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
  display: block;
}

img {
  color: transparent;
  font-size: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
}

a {
  color: #000;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  outline: 1px solid transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
a img {
  outline: 1px solid transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
a:hover {
  cursor: pointer;
}

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

input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  resize: none;
  outline: none;
  background: none;
}

select::-ms-expand {
  display: none;
}

button:hover {
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th,
td,
caption {
  font-weight: normal;
  vertical-align: top;
  text-align: left;
}

*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* ------------------------------
    mixin
------------------------------ */
/*------------- 共通 -------------*/
html {
  font-size: 62.5%;
  height: 100%;
}
@media screen and (max-width: 1280px) {
  html {
    font-size: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.0833333333vw;
  }
}

section {
  position: relative;
}

main {
  position: relative;
  display: block;
}

img {
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  cursor: pointer;
  color: #333;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  a.u-fade {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer;
  }
  a.u-fade:hover {
    opacity: 0.7;
  }
}

body, h1, h2, h3, h4, h5, h6, p, address, time,
ul, ol, li, dl, dt, dd,
table, th, td, img, figure, figcaption,
form, input, button, textarea, select {
  margin: 0;
  padding: 0;
  border: none;
  line-height: 100%;
  list-style-type: none;
  font-style: normal;
  font-weight: normal;
  font-family: "Noto Sans JP", sans-serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: normal;
  line-break: strict;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

/* ------------------------------
    base
------------------------------ */
body.is-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

body {
  color: #222;
  font-size: 1rem;
  text-align: left;
  width: 100%;
}
body.is-fixed .l-overlay {
  opacity: 0.34;
  visibility: visible;
  pointer-events: auto;
}
main {
  display: block;
}
@media screen and (max-width: 767px) {
  main {
    padding-top: 10.3rem;
  }
}

p, th, td, dt, dd, li, input, button, textarea {
  font-size: 1.6rem;
  line-height: 1.75;
}

.fade {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.fade img {
  outline: 1px solid transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.fade:hover {
  opacity: 0.6;
  cursor: pointer;
}

.h-center {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%) translateZ(0);
          transform: translateX(-50%) translateZ(0);
}

.v-center {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) translateZ(0);
          transform: translateY(-50%) translateZ(0);
}

.hv-center {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) translateZ(0);
          transform: translate(-50%, -50%) translateZ(0);
}

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.tal {
  text-align: left;
}

.tar {
  text-align: right;
}

.tac {
  text-align: center;
}

.left {
  float: left;
}

.right {
  float: right;
}

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

.kiwi, .en {
  font-family: "kiwi", serif;
}

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  body {
    min-width: inherit;
  }
  main {
    padding-top: 10rem;
  }
  input, textarea, select, textarea {
    font-size: 16px;
  }
}
/* ------------------------------
    layout
------------------------------ */
.l-wrapper {
  width: 100%;
  overflow: hidden;
}

.l-container {
  width: 100%;
  max-width: 121rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-container {
    padding: 0 2rem;
  }
}

.l-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
  background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

/* ------------------------------
    component
------------------------------ */
.c-btn__link {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.6rem;
  color: #00865d;
  font-weight: 700;
  background: #fff;
  border: 1px solid #00865d;
  width: 24.9rem;
  height: 5.5rem;
  margin: auto;
  padding-right: 3rem;
  padding-bottom: 0.1em;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  will-change: transform;
}
.c-btn__link span {
  position: relative;
}
.c-btn__link span::before {
  position: absolute;
  content: "";
  background-image: url("../img/common/icn_arrow_green.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 1.4rem;
  height: 0.9rem;
  right: -3rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .c-btn__link:hover {
    opacity: 1;
    color: #fff;
    background: #00865d;
  }
  .c-btn__link:hover span::before {
    background-image: url("../img/common/icn_arrow_white.svg");
  }
}

@media screen and (max-width: 767px) {
  .c-btn__link {
    font-size: 1.8rem;
  }
}
.c-btn-grad a {
  position: relative;
  width: 23.5rem;
  height: 5rem;
  border-radius: 5rem;
  will-change: transform;
  background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
  background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
  -webkit-box-shadow: 0 0.6rem 0 #006d49;
          box-shadow: 0 0.6rem 0 #006d49;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 2rem auto 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.c-btn-grad a span {
  position: relative;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  z-index: 2;
}
.c-btn-grad a span::before {
  position: absolute;
  content: "";
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
}
.c-btn-grad--pdf a span {
  padding-left: 1.5em;
}
.c-btn-grad--pdf a span::before {
  background: url("../img/common/icn_pdf.svg") no-repeat center center/contain;
  width: 1.72rem;
  height: 1.95rem;
  left: 0;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .c-btn-grad--pdf a:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateY(0.6rem);
            transform: translateY(0.6rem);
  }
}
.c-btn-grad--safe a {
  width: 27rem;
}
.c-btn-grad--safe a span {
  padding-right: 2.1em;
}
.c-btn-grad--safe a span::before {
  background: url("../img/common/icn_pdf.svg") no-repeat center center/contain;
  width: 1.86rem;
  height: 2.1rem;
  right: 0;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .c-btn-grad--safe a:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateY(0.6rem);
            transform: translateY(0.6rem);
  }
}

@media screen and (max-width: 767px) {
  .c-btn-grad a {
    width: 25.3rem;
  }
  .c-btn-grad a span {
    font-size: 1.8rem;
  }
  .c-btn-grad--pdf a span {
    padding-top: 0.2em;
  }
  .c-btn-grad--pdf a span::before {
    top: 58%;
  }
  .c-btn-grad--safe a {
    width: 27.8rem;
  }
  .c-btn-grad--safe a span {
    padding-right: 2.3rem;
  }
}
.c-btnarea {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 2.5rem 4rem;
  width: 101rem;
  margin: 8.8rem auto 0;
}
.c-btnarea__btn {
  width: 48.5rem;
}
.c-btnarea__btn a {
  position: relative;
  background: #468f74;
  border-radius: 0.8rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  min-height: 7.8rem;
  padding: 0.7em 0;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .c-btnarea__btn a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer;
  }
  .c-btnarea__btn a:hover {
    opacity: 0.7;
  }
}
.c-btnarea__btn a::before {
  position: absolute;
  content: "";
  background-image: url("../img/common/icn_arrow_white.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 1.4rem;
  height: 0.9rem;
  right: 2.2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  z-index: 2;
}
.c-btnarea__btn--wide {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .c-btnarea {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem 0;
    width: 100%;
    margin-top: 8rem;
  }
  .c-btnarea__btn {
    width: 100%;
  }
  .c-btnarea__btn a {
    border-radius: 0.5rem;
    min-height: 6rem;
    font-size: 1.8rem;
    line-height: 1.6666666667;
    text-align: center;
  }
  .c-btnarea__btn a::before {
    right: 2rem;
  }
}
.c-title {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.1rem 0;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .c-title {
    margin-bottom: 4.2rem;
  }
}
.c-title__txt--en {
  background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
  background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 2rem;
  line-height: 1;
}
.c-title__txt--jp {
  font-size: 3.6rem;
  font-family: "Kiwi Maru", serif;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-title__txt--en {
    font-size: 1.8rem;
  }
  .c-title__txt--jp {
    font-size: 2.8rem;
  }
}
.c-title--left {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.c-title--line::before {
  position: absolute;
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
  background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
  width: 4rem;
  height: 2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -2rem;
}
.c-title--gline::before {
  position: absolute;
  content: "";
  background: #00865d;
  width: 4rem;
  height: 2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -2rem;
}
@media screen and (max-width: 767px) {
  .c-title--gline::before {
    bottom: -2.5rem;
  }
}

.c-news-list {
  border-top: 2px dotted #ccc;
}
.c-news-list li {
  border-bottom: 2px dotted #ccc;
}
.c-news-list li a {
  display: block;
  padding: 3rem 0;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .c-news-list li a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer;
  }
  .c-news-list li a:hover {
    opacity: 0.7;
  }
}
.c-news-list--page {
  border-top: 1px solid #ccc;
}
.c-news-list--page li {
  border-bottom: 1px solid #ccc;
}
.c-news-list--page li a {
  padding: 1.35rem 0;
}
.c-news-list__item {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 3rem;
}
.c-news-list__info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 4rem;
}
.c-news-list__date {
  font-size: 1.5rem;
  font-family: "Open Sans", sans-serif;
  color: #222;
}
.c-news-list__tag {
  font-size: 1.4rem;
  background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
  background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
  padding: 0.05em 0.5em;
  min-width: 7rem;
  text-align: center;
  color: #fff;
}
.c-news-list__detail {
  font-size: 1.6rem;
  -webkit-line-clamp: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-weight: 500;
  color: #222;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 767px) {
  .c-news-list li a {
    padding: 2.5rem 0;
  }
  .c-news-list--page li a {
    padding: 1.8rem 0;
  }
  .c-news-list__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .c-news-list__info {
    gap: 0 2rem;
    width: 100% !important;
  }
  .c-news-list__detail {
    font-size: 1.8rem;
    -webkit-line-clamp: 2;
  }
  .c-news-list__tag {
    padding: 0.02em 0.5em;
  }
}
.c-tours-list {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 3rem calc((100% - 116.4rem) / 2);
}
.c-tours-list a {
  width: 38.8rem;
  height: 100%;
  background: #fff;
  border-radius: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 2.75rem 2.65rem;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .c-tours-list a:hover .c-tours-list__btn {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateY(0.6rem);
            transform: translateY(0.6rem);
  }
}
.c-tours-list a.is-active .c-tours-list__close {
  display: none;
}
.c-tours-list a.is-close .c-tours-list__btn {
  display: none;
}
.c-tours-list__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 670/447;
}
.c-tours-list__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 2rem 0;
  border-bottom: 1px solid #ccc;
  gap: 0 0.5rem;
}
.c-tours-list__departure {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.2rem;
}
.c-tours-list__tag {
  font-size: 1.2rem;
  border: 1px solid #00865d;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 0.3rem;
  padding: 0.25em 0.5em 0.35em;
  line-height: 1;
}
.c-tours-list__tag--datettl {
  background: #00865d;
  color: #fff;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  height: 2.2rem;
}
.c-tours-list__tag--pricettl {
  background: #fff;
  color: #00865d;
}
.c-tours-list__tag--type {
  background: #fff;
  color: #00865d;
  letter-spacing: 0.05em;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  height: 2.2rem;
}
.c-tours-list__date {
  font-size: 1.6rem;
  color: #00865d;
  font-weight: 500;
  line-height: 1.2;
}
.c-tours-list__title {
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 500;
  margin: 1.2rem auto;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.c-tours-list__price {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.5rem;
}
.c-tours-list__unit {
  color: #00865d;
  font-size: 1.2rem;
  line-height: 1;
  padding-bottom: 0.2em;
}
.c-tours-list__num {
  font-size: 1.6rem;
  font-weight: 500;
  margin-left: 0.2em;
}
.c-tours-list__prefecture {
  border: 1px solid #00865d;
  background: #fff;
  width: 100%;
  padding: 0.1em 0 0.2em;
  border-radius: 0.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1.2rem;
  color: #00865d;
  font-size: 1.6rem;
  letter-spacing: 0.2em;
}
.c-tours-list__btn {
  position: relative;
  width: 23.5rem;
  height: 5rem;
  border-radius: 5rem;
  will-change: transform;
  background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
  background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
  -webkit-box-shadow: 0 0.6rem 0 #006d49;
          box-shadow: 0 0.6rem 0 #006d49;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 2rem auto 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.c-tours-list__btn span {
  position: relative;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  z-index: 2;
}
.c-tours-list__btn span::before {
  position: absolute;
  content: "";
  background-image: url("../img/common/icn_arrow_white.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 1.4rem;
  height: 0.9rem;
  right: -3rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
}
.c-tours-list__close {
  width: 33.5rem;
  height: 5.7rem;
  border-radius: 0.8rem;
  background: #f5f5f5;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  font-size: 1.6rem;
  margin: 2rem auto 0;
}
.c-tours-list--gray a {
  border: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
  .c-tours-list {
    display: block;
  }
  .c-tours-list a {
    width: 39rem;
  }
  .c-tours-list__departure {
    gap: 0 1.2rem;
  }
  .c-tours-list__tag {
    font-size: 1.3rem;
  }
  .c-tours-list__date {
    font-size: 1.8rem;
  }
  .c-tours-list__unit {
    font-size: 1.3rem;
  }
  .c-tours-list__num {
    font-size: 1.8rem;
  }
  .c-tours-list__btn span {
    font-size: 1.8rem;
  }
  .c-tours-list__btn span::before {
    right: -2.5rem;
  }
  .c-tours-list__close {
    font-size: 1.8rem;
    width: 100%;
  }
  .c-tours-list--gray a {
    width: 43.9rem;
  }
  .c-tours-list--gray li + li {
    margin-top: 2.7rem;
  }
  .c-tours .slick-track {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .c-tours .slick-list {
    overflow: visible;
  }
  .c-tours .slick-slide {
    margin: 0 1.2rem;
    height: auto !important;
  }
  .c-tours .slide-dots {
    margin: 2.5rem auto 0;
    text-align: center;
  }
  .c-tours .slide-dots li {
    display: inline-block;
    margin: 0 1.4rem;
  }
  .c-tours .slide-dots li button {
    position: relative;
    text-indent: -9999px;
  }
  .c-tours .slide-dots li button:before {
    content: "";
    background: rgba(70, 143, 116, 0.3);
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .c-tours .slide-dots li.slick-active button:before {
    content: "";
    background: #468f74;
  }
}
.c-page-head {
  background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
  background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
  width: 100%;
  height: 20rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-page-head__title {
  font-size: 4.5rem;
  line-height: 2;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-page-head {
    height: 20rem;
  }
  .c-page-head__title {
    font-size: 5.4rem;
  }
}

.c-breadcrumb {
  width: 100%;
  min-height: 6rem;
  padding: 1.8em 0;
  background: #f5f5f5;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-breadcrumb li {
  position: relative;
  display: inline;
  font-size: 1.4rem;
}
.c-breadcrumb li + li {
  margin-left: 4.2rem;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .c-breadcrumb li a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer;
  }
  .c-breadcrumb li a:hover {
    opacity: 0.7;
  }
}
.c-breadcrumb li:not(:last-child)::before {
  position: absolute;
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  border-top: solid 1px #222;
  border-right: solid 1px #222;
  position: absolute;
  right: -2.6rem;
  top: 0.5em;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
  .c-breadcrumb li {
    font-size: 1.6rem;
  }
  .c-breadcrumb li + li {
    margin-left: 4.5rem;
  }
  .c-breadcrumb li:not(:last-child)::before {
    width: 0.8rem;
    height: 0.8rem;
    right: -2.6rem;
    top: 0.6em;
  }
  .c-breadcrumb li:nth-child(3) {
    width: 100%;
    display: block;
    margin-left: 0;
  }
}
/* pagenavi */
.c-pagenavi {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  gap: 0 1.2rem;
}
.c-pagenavi a, .c-pagenavi span {
  font-size: 1.6rem;
  line-height: 1;
  width: 4rem;
  height: 4rem;
  border-radius: 4rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.c-pagenavi a.current, .c-pagenavi span.current {
  background: #00865d;
  text-decoration: none;
  color: #fff;
}
.c-pagenavi a {
  background: #edf4f2;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .c-pagenavi a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer;
  }
  .c-pagenavi a:hover {
    opacity: 0.7;
  }
}
.c-pagenavi.extend {
  background: none;
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.c-pagenavi .nextpostslink,
.c-pagenavi .previouspostslink {
  position: relative;
  font-size: 0;
  color: transparent;
  display: block;
  margin: 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.c-pagenavi .nextpostslink::before,
.c-pagenavi .previouspostslink::before {
  position: absolute;
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  border-top: solid 1px #222;
  border-right: solid 1px #222;
  z-index: 2;
  border-radius: 0;
  top: 50%;
}
.c-pagenavi .nextpostslink.disabled,
.c-pagenavi .previouspostslink.disabled {
  display: none;
}
.c-pagenavi .nextpostslink::before {
  left: 45%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.c-pagenavi .previouspostslink::before {
  left: 55%;
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
          transform: translate(-50%, -50%) rotate(-135deg);
}

@media screen and (max-width: 767px) {
  .c-pagenavi {
    gap: 0 1.2rem;
  }
  .c-pagenavi a, .c-pagenavi span {
    font-size: 1.8rem;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 4.5rem;
    margin-bottom: 0.5em;
  }
  .c-pagenavi .extend {
    width: 1rem;
  }
  .c-pagenavi .nextpostslink::before,
  .c-pagenavi .previouspostslink::before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
/* pager */
.c-pager {
  position: relative;
}
.c-pager__btn a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 23.4rem;
  height: 5.7rem;
  font-weight: 700;
  font-size: 1.6rem;
  color: #fff;
  border-radius: 1rem;
  background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
  background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
  margin: 0 auto;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .c-pager__btn a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer;
  }
  .c-pager__btn a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .c-pager__btn a {
    font-size: 1.8rem;
  }
}

.c-page-detail__header {
  padding-bottom: 2rem;
  margin-bottom: 2.6rem;
  border-bottom: 1px solid #ccc;
}
.c-page-detail__info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.3rem;
  margin-bottom: 0.2em;
}
.c-page-detail__date {
  font-size: 1.6rem;
  font-weight: 500;
}
.c-page-detail__tag {
  font-size: 1.4rem;
  background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
  background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
  padding: 0.05em 0.5em;
  min-width: 7rem;
  text-align: center;
  color: #fff;
}
.c-page-detail__title {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.75;
}
.c-page-detail__contents {
  overflow: hidden;
}
.c-page-detail__contents * + * {
  margin-top: 2.4rem;
}
.c-page-detail__contents h1.wp-block-heading, .c-page-detail__contents h2, .c-page-detail__contents h3, .c-page-detail__contents h4, .c-page-detail__contents h5, .c-page-detail__contents h6, .c-page-detail__contents wp-block-heading {
  position: relative;
  font-weight: 700;
  margin-top: 6rem;
  line-height: 1.75;
}
.c-page-detail__contents h1.wp-block-heading:first-child, .c-page-detail__contents h2:first-child, .c-page-detail__contents h3:first-child, .c-page-detail__contents h4:first-child, .c-page-detail__contents h5:first-child, .c-page-detail__contents h6:first-child, .c-page-detail__contents wp-block-heading:first-child {
  margin-top: 0;
}
.c-page-detail__contents h1.wp-block-heading + p, .c-page-detail__contents h2 + p, .c-page-detail__contents h3 + p, .c-page-detail__contents h4 + p, .c-page-detail__contents h5 + p, .c-page-detail__contents h6 + p, .c-page-detail__contents wp-block-heading + p {
  margin-top: 2.4rem;
}
.c-page-detail__contents h1.wp-block-heading {
  font-size: 3rem;
}
.c-page-detail__contents h2 {
  font-size: 2.1rem;
}
.c-page-detail__contents h3 {
  font-size: 1.9rem;
}
.c-page-detail__contents h4 {
  font-size: 1.7rem;
}
.c-page-detail__contents h5 {
  font-size: 1.6rem;
}
.c-page-detail__contents h6 {
  font-size: 1.5rem;
}
.c-page-detail__contents p {
  font-weight: 500;
}
.c-page-detail__contents p img {
  display: block;
}
.c-page-detail__contents ul, .c-page-detail__contents ol {
  list-style-position: inside;
}
.c-page-detail__contents ul li {
  list-style-type: disc;
}
.c-page-detail__contents ol li {
  list-style-type: decimal;
}
.c-page-detail__contents a:not([class]) {
  text-decoration: underline;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .c-page-detail__contents a:not([class]):hover {
    opacity: 0.7;
  }
}
.c-page-detail__contents figure {
  text-align: center;
}
.c-page-detail__contents figcaption {
  font-size: 1.4rem;
  margin-top: 1rem;
}

@media screen and (max-width: 767px) {
  .c-page-detail__header {
    padding-bottom: 1.5rem;
  }
  .c-page-detail__info {
    margin-bottom: 0.5em;
  }
  .c-page-detail__title {
    font-size: 2.4rem;
  }
  .c-page-detail__contents * + * {
    margin-top: 2.2rem;
  }
  .c-page-detail__contents h1.wp-block-heading, .c-page-detail__contents h2, .c-page-detail__contents h3, .c-page-detail__contents h4, .c-page-detail__contents h5, .c-page-detail__contents h6, .c-page-detail__contents wp-block-heading {
    margin-top: 2.6rem;
  }
  .c-page-detail__contents h1.wp-block-heading + p, .c-page-detail__contents h2 + p, .c-page-detail__contents h3 + p, .c-page-detail__contents h4 + p, .c-page-detail__contents h5 + p, .c-page-detail__contents h6 + p, .c-page-detail__contents wp-block-heading + p {
    margin-top: 2.2rem;
  }
  .c-page-detail__contents h1.wp-block-heading {
    font-size: 3rem;
  }
  .c-page-detail__contents p {
    font-size: 1.8rem;
  }
  .c-page-detail__contents figcaption {
    display: block;
  }
}
/* wp
--------------------------------------*/
.wp-block-image {
  overflow: hidden;
  zoom: 1;
  margin: 4.5rem 0 !important;
}
.wp-block-image::after {
  content: "";
  display: block;
  clear: both;
}
.wp-block-image img {
  width: initial;
}

.aligncenter {
  margin: 0 auto;
  clear: both;
}

.alignright {
  float: right;
  clear: both;
}

.alignleft {
  float: left;
  clear: both;
}

@media screen and (max-width: 767px) {
  .aligncenter,
  .alignright,
  .alignleft {
    float: none;
    margin: 0 auto;
    display: block;
  }
  .aligncenter img,
  .alignright img,
  .alignleft img {
    width: 100%;
  }
}
/* ------------------------------
    project
------------------------------ */
.p-association {
  background: #edf4f2;
  padding: 3.2rem 0 6rem;
}
.p-association__list {
  width: 100%;
  max-width: 99rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 3rem 3rem;
  margin: 0 auto;
}
.p-association__list li:nth-child(1) .p-association__logo, .p-association__list li:nth-child(3) .p-association__logo {
  width: 9rem;
}
.p-association__list li:nth-child(2) .p-association__logo, .p-association__list li:nth-child(4) .p-association__logo {
  width: 10.7rem;
}
.p-association__list a {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 2.2rem;
  width: 48rem;
  height: 12.3rem;
  background: #fff;
  padding: 2.2rem 2rem;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .p-association__list a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer;
  }
  .p-association__list a:hover {
    opacity: 0.7;
  }
}
.p-association__list a::before {
  position: absolute;
  content: "";
  background: url("../img/common/icn_arrow_orange_l.svg") no-repeat center center/contain;
  width: 1.9rem;
  height: 0.9rem;
  right: 2rem;
  bottom: 1.8rem;
}
.p-association__logo {
  width: 12.8rem;
}
.p-association__info {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-bottom: 0.5em;
}
.p-association__name--jp {
  font-size: 1.6rem;
  font-weight: 500;
}
.p-association__name--jp span {
  font-size: 2.4rem;
}
.p-association__name--jp span.sm {
  font-size: 2.25rem;
}
.p-association__name--en {
  font-size: 1.2rem;
  color: #00865d;
}

@media screen and (max-width: 767px) {
  .p-association {
    padding: 8rem 0 8rem;
  }
  .p-association__list {
    max-width: inherit;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2rem 0;
  }
  .p-association__list li:nth-child(1) .p-association__logo, .p-association__list li:nth-child(2) .p-association__logo, .p-association__list li:nth-child(3) .p-association__logo {
    width: 8rem;
  }
  .p-association__list li:nth-child(4) .p-association__logo {
    width: 7.4rem;
  }
  .p-association__list a {
    width: 44rem;
    height: 11.23rem;
    gap: 0 2rem;
  }
  .p-association__logo {
    width: 8rem;
  }
  .p-association__name {
    line-height: 1.5;
  }
  .p-association__name--jp {
    font-size: 1.5rem;
  }
  .p-association__name--jp span {
    font-size: 2.2rem;
  }
  .p-association__name--jp span.sm {
    font-size: 2.1rem;
  }
}
/* ------------------------------
    ユーティリティ
------------------------------ */
.u-bold {
  font-weight: 700;
}

.u-en {
  font-family: "Kiwi Maru", serif;
}

.u-num {
  font-family: "Open Sans", sans-serif;
}

.u-bg--white {
  background: #fff;
}
.u-bg--lgreen {
  background: #edf4f2;
}

.u-color-red {
  color: #ff0000;
}

/* ------------------------------
    header
------------------------------ */
.l-header {
  background-color: #fff;
  position: relative;
  width: 100%;
  z-index: 98;
}
.l-header::before {
  position: absolute;
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
  background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
  width: 100%;
  height: 2rem;
  top: 0;
  left: 0;
  z-index: 101;
}
@media screen and (max-width: 767px) {
  .l-header {
    position: fixed;
    left: 0;
    top: 0;
  }
  .l-header::before {
    height: 1rem;
  }
}
.l-header__inner {
  position: relative;
  z-index: 100;
  height: 22.2em;
  padding-top: 6rem;
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    height: auto;
    padding-top: 0;
  }
}
.l-header__top {
  position: relative;
  background: #fff;
  width: 100%;
  margin: 0 auto 4rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  .l-header__top {
    height: 10.3rem;
    padding: 0.5em 2rem 0 2rem;
    margin: 0 auto;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-header__logo {
  position: relative;
  width: 41.1rem;
  z-index: 101;
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    width: 31.8rem;
  }
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .l-header__logo a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer;
  }
  .l-header__logo a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  .l-header__menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .l-header__menu li {
    position: relative;
    width: 20rem;
    height: 6rem;
    padding-top: 0.3em;
  }
  .l-header__menu li:not(:last-child)::before {
    position: absolute;
    content: "";
    background: #00865d;
    width: 1px;
    height: 3.4rem;
    top: 0;
    right: 0;
  }
  .l-header__menu li a {
    position: relative;
    display: block;
    font-family: "Kiwi Maru", serif;
    font-size: 2.1rem;
    line-height: 1;
    font-weight: 500;
    text-align: center;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) and (min-width: 768px) {
  .l-header__menu li a:hover {
    color: #00865d;
    opacity: 1;
  }
  .l-header__menu li a:hover span::before {
    opacity: 1;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .l-header__menu li a span {
    position: relative;
  }
  .l-header__menu li a span::before {
    position: absolute;
    content: "";
    background: #00865d;
    width: 0;
    height: 0.4rem;
    bottom: -3.2rem;
    left: 0;
    opacity: 0;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
  .l-header__menu li.is-current a span::before {
    opacity: 1 !important;
    width: 100% !important;
  }
  .l-header__safety {
    position: absolute;
    top: 6rem;
    right: 4.5rem;
    z-index: 100;
  }
  .l-header__safety a {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 1.6rem;
    color: #fff;
    font-weight: 700;
    background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
    background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
    border-radius: 9999px;
    margin: auto;
    width: 25rem;
    height: 4rem;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) and (min-width: 768px) {
  .l-header__safety a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer;
  }
  .l-header__safety a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .l-header__nav {
    position: fixed;
    left: 0;
    top: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    width: 38rem;
    height: 100%;
    background: #fff;
    overflow-x: auto;
    scrollbar-width: none;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: 97;
  }
  .l-header__nav-inner {
    overflow-y: auto;
    padding: 10.3rem 2.8rem 10rem;
    height: 100%;
  }
  .l-header__menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .l-header__menu li {
    position: relative;
    width: 100%;
    height: auto;
    border-bottom: 1px solid #ccc;
  }
  .l-header__menu li a {
    position: relative;
    display: block;
    font-family: "Kiwi Maru", serif;
    font-size: 2.1rem;
    line-height: 1;
    font-weight: 500;
    padding: 3.5rem 0 3.5rem 5.4rem;
  }
  .l-header__menu li::before, .l-header__menu li::after {
    position: absolute;
    content: "";
  }
  .l-header__menu li::after {
    background: url("../img/common/icn_arrow_blk.svg") no-repeat center center/contain;
    width: 1.4rem;
    height: 1rem;
    right: 1rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .l-header__menu li::before {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    left: 1rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .l-header__menu li:nth-child(1)::before {
    background-image: url("../img/common/icn_menu_home.svg");
    width: 2.2rem;
    height: 2.2rem;
  }
  .l-header__menu li:nth-child(2)::before {
    background-image: url("../img/common/icn_menu_tour.svg");
    width: 2.2rem;
    height: 2.2rem;
  }
  .l-header__menu li:nth-child(3)::before {
    background-image: url("../img/common/icn_menu_cartebus.svg");
    width: 2.2rem;
    height: 2.1rem;
  }
  .l-header__menu li:nth-child(4)::before {
    background-image: url("../img/common/icn_menu_rentalcar.svg");
    width: 2.6rem;
    height: 1.4rem;
  }
  .l-header__menu li:nth-child(5)::before {
    background-image: url("../img/common/icn_menu_news.svg");
    width: 2.2rem;
    height: 2.2rem;
  }
  .l-header__menu li:nth-child(6)::before {
    background-image: url("../img/common/icn_menu_company.svg");
    width: 1.6rem;
    height: 1.9rem;
  }
  .l-header__safety a {
    position: relative;
    display: block;
    font-size: 1.8rem;
    color: #00865d;
    font-weight: 500;
    padding: 3rem 0 3rem 2.4rem;
  }
  .l-header__safety a::before {
    position: absolute;
    content: "";
    background: url("../img/common/icn_arrow_circle_green.svg") no-repeat center center/contain;
    width: 1.5rem;
    height: 1.5rem;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .l-header__trigger {
    position: absolute;
    right: 1rem;
    top: 2rem;
    z-index: 999;
    width: 6rem;
    height: 6rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer;
  }
  .l-header__line {
    position: relative;
    width: 4rem;
    height: 2.85rem;
  }
  .l-header__line span {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 4rem;
    height: 0.3rem;
    background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
    background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
  .l-header__line span:nth-of-type(1) {
    top: 0;
  }
  .l-header__line span:nth-of-type(2) {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .l-header__line span:nth-of-type(3) {
    bottom: 0;
  }
  .l-header.is-active .l-header__line span:nth-of-type(1) {
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg);
    background: -webkit-gradient(linear, left top, right top, from(rgb(13, 95, 118)), to(rgb(22, 157, 84)));
    background: linear-gradient(90deg, rgb(13, 95, 118) 0%, rgb(22, 157, 84) 100%);
  }
  .l-header.is-active .l-header__line span:nth-of-type(2) {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    opacity: 0;
    visibility: hidden;
  }
  .l-header.is-active .l-header__line span:nth-of-type(3) {
    bottom: 50%;
    -webkit-transform: translateY(50%) rotate(45deg);
            transform: translateY(50%) rotate(45deg);
    background: -webkit-gradient(linear, left top, right top, from(rgb(13, 95, 118)), to(rgb(22, 157, 84)));
    background: linear-gradient(90deg, rgb(13, 95, 118) 0%, rgb(22, 157, 84) 100%);
  }
  .l-header.is-active .l-header__nav {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  .l-header__telttl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
    background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
    border-radius: 9999px;
    width: 32.5rem;
    height: 4.7rem;
    margin: auto;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 1.5rem;
  }
  .l-header__telwrap a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.5rem 0;
  }
  .l-header__telwrap a span {
    line-height: 1;
  }
  .l-header__tel {
    color: rgb(22, 157, 84);
    font-size: 1.8rem;
    font-weight: 900;
  }
  .l-header__num {
    font-size: 3.4rem;
    font-weight: 700;
    font-family: "Open Sans", sans-serif;
    background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
    background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .l-header__hours {
    font-size: 1.6rem;
    background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
    background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 900;
  }
}

/* ------------------------------
    footer
------------------------------ */
.l-footer {
  position: relative;
  width: 100%;
}
.l-footer__contact {
  position: relative;
  background: url("../img/common/bg_footer_contact_pc.jpg") no-repeat center center/cover;
  height: 38.5rem;
  padding: 8.7rem 0;
}
.l-footer__contact::before {
  position: absolute;
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
  background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
  opacity: 0.9;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.l-footer__inner {
  width: 100%;
  height: 21.1rem;
  position: relative;
  background: #fff;
  border-radius: 2rem;
  padding: 4.5rem 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem 0;
}
.l-footer__ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
  background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
  border-radius: 9999px;
  width: 35.5rem;
  height: 6rem;
  margin: auto;
  font-size: 2.4rem;
  font-weight: 700;
  color: #fff;
}
.l-footer__telwrap a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.5rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
	align-items: center; /* 20251212追記 */
}
.l-footer__tel {
  color: rgb(22, 157, 84);
  font-size: 2.6rem;
  font-weight: 900;
	padding-top: 4px; /* 20251212追記 */
}
.l-footer__num {
  font-size: 4.4rem;
  font-weight: 700;
  font-family: "Open Sans", sans-serif;
  background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
  background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.l-footer__hours {
  font-size: 1.6rem;
  color: #0d5f76;
  font-weight: 900;
	line-height: 100%; /* 20251212追記 */
}
.l-footer__copywrap {
  background: #333;
  padding: 7rem 0 2.5rem;
}
.l-footer__copywrap * {
  color: #fff;
}
.l-footer__logo {
  width: 9rem;
  margin: 0 auto;
}
.l-footer__txt {
  width: 19.4rem;
  margin: 1.8rem auto;
}
.l-footer__address {
  text-align: center;
  font-size: 1.4rem;
  margin: 3.2rem auto 1.2rem;
}
.l-footer__sns a {
  display: block;
  width: 2.3rem;
  margin: 0 auto;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .l-footer__sns a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer;
  }
  .l-footer__sns a:hover {
    opacity: 0.7;
  }
}
.l-footer__copy {
  font-size: 1.2rem;
  left: 2.3333333333;
  text-align: center;
  margin-top: 6.5rem;
}
@media screen and (min-width: 768px) {
  .l-footer__pagetop {
    position: fixed;
    bottom: 3rem;
    right: 3rem;
    z-index: 99;
  }
  .l-footer__pagetop a {
    position: relative;
    display: block;
    color: #00865d;
    font-size: 1.4rem;
    font-family: "Open Sans", sans-serif;
    font-weight: 600;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) and (min-width: 768px) {
  .l-footer__pagetop a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    cursor: pointer;
  }
  .l-footer__pagetop a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__pagetop a::before {
    position: absolute;
    content: "";
    width: 0.7rem;
    height: 0.7rem;
    border-top: solid 1px #00865d;
    border-right: solid 1px #00865d;
    top: -1.8rem;
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(-45deg);
            transform: translateX(-50%) rotate(-45deg);
  }
}

@media screen and (max-width: 767px) {
  .l-footer__pagetop {
    text-align: center;
    padding: 0 0 4rem;
    margin-bottom: 6rem;
    border-bottom: 1px solid #fff;
  }
  .l-footer__pagetop a {
    position: relative;
    color: #fff;
    font-size: 1.6rem;
    font-family: "Open Sans", sans-serif;
    font-weight: 600;
  }
  .l-footer__pagetop a::before {
    position: absolute;
    content: "";
    width: 0.7rem;
    height: 0.7rem;
    border-top: solid 1px #00865d;
    border-right: solid 1px #00865d;
    top: -1rem;
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(-45deg);
            transform: translateX(-50%) rotate(-45deg);
  }
  .l-footer__contact {
    background-image: none;
    height: 38.5rem;
    padding: 8rem 0;
  }
  .l-footer__inner {
    border-radius: 1.2rem;
    padding: 3.8rem 0 2.8rem;
    height: 22.1rem;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 3rem 0;
  }
  .l-footer__telwrap a {
    gap: 1.5rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .l-footer__tel {
    font-size: 2.4rem;
  }
  .l-footer__num {
    font-size: 4.2rem;
  }
  .l-footer__hours {
    background: -webkit-gradient(linear, left top, right top, from(rgb(22, 157, 84)), to(rgb(13, 95, 118)));
    background: linear-gradient(90deg, rgb(22, 157, 84) 0%, rgb(13, 95, 118) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
  }
  .l-footer__copywrap {
    padding: 5rem 0 2.5rem;
  }
  .l-footer__txt {
    width: 21rem;
  }
  .l-footer__address {
    font-size: 1.6rem;
    margin: 3.2rem auto 0.5rem;
  }
  .l-footer__copy {
    margin-top: 5rem;
  }
  .page-index .l-footer__contact {
    background-image: url("../img/common/bg_footer_contact_sp.jpg");
  }
}
/* ------------------------------
    responsive
------------------------------ */
@media screen and (min-width: 1500px) {
  .pc-none {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp-none {
    display: none !important;
  }
}
/* ------------------------------
    clearfix
------------------------------ */
.cf {
  zoom: 1;
}
.cf::after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden; /* 隙間対応 */
  font-size: 0.1em; /* 隙間対応 */
  line-height: 0; /* 隙間対応 */
}
/*# sourceMappingURL=common.css.map */