
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
picture,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  vertical-align: baseline;
  word-break: break-word
}

dt {
  font-weight: inherit
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
}

body {
  width: 100%;
  min-width: 320px;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 1.6rem;
  letter-spacing: .04em;
  font-weight: 400;
  color: #333;
  margin: 0 auto;
  line-height: 1.75;
  list-style-type: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt"
}

figure,
p {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0
}

a {
  text-decoration: none
}

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

ol,
ul {
  list-style: none
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top;
  font-size: 0;
  line-height: 0
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: initial;
  line-height: 1.75;
  font-weight: 400
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0
}

.page-fade-enter-active,
.page-fade-leave-active {
  -webkit-transition: opacity .5s .5s;
  transition: opacity .5s .5s
}

.page-fade-enter,
.page-fade-leave-to {
  opacity: 0
}



.header {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 500
}

/* .header-body-ac {
  overflow: hidden
} */

.header-body-ac .header-hamburger-items {
  height: 24px
}

.header-body-ac .header-hamburger-item:nth-child(1) {
  -webkit-transform: translateY(10px) rotate(45deg);
  transform: translateY(10px) rotate(45deg)
}

.header-body-ac .header-hamburger-item:nth-child(2) {
  -webkit-transform: translateY(0) rotate(-45deg);
  transform: translateY(0) rotate(-45deg)
}

.header-body-ac .header-gn-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

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

.header-wrapper-pos {
  width: 100%;
  position: fixed;
  z-index: 502
}

.header-wrapper-pos .header-gn-items,
.header-wrapper-pos .header-logo-link {
  display: none
}

.header-logo {
  max-width: 255px
}

.header-logo-a {
  max-width: 160px
}

.header-logo-s {
  display: none
}

.header-dropdown-wrapper {
  margin: 0 calc(100% - 100vw);
  padding-top: 10px;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 100%;
  -webkit-transition: opacity .3s ease, visibility .3s ease;
  transition: opacity .3s ease, visibility .3s ease
}

.header-dropdown-items.type-1 {
  min-width: 190px;
  /* width: 100%;
  min-width: 185px; */
  padding: 40px 32px;
  border-radius: 24px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #eae6e5
}
.header-dropdown-items.type-2 {
  min-width: 150px;
  /* width: 100%;
  min-width: 185px; */
  padding: 40px 48px 40px 32px;
  border-radius: 24px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #eae6e5
}

.header-dropdown-item:nth-of-type(n+2) {
  margin-top: 10px
}

.header-gn-wrapper {
  height: 90px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 0 0 0 45px;
  background-color: #fff
}

.header-gn-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

.header-gn-item {
  padding-left: 40px
}

.header-gn-item-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative
}

.header-gn-item-wrapper:hover .header-dropdown-wrapper {
  visibility: visible;
  opacity: 1
}

.header-gn-link {
  color: #000;
  position: relative
}

.header-gn-link:after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #000;
  bottom: -2px;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s
}

.header-gn-link-white {
  color: #fff
}

.header-gn-link-white:after {
  background: #fff
}

.header-gn-link:hover:after {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transform-origin: left top;
  transform-origin: left top
}

.header-gn-link-b {
  color: #fff;
  position: relative
}

.header-gn-link-b:after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #fff;
  bottom: -2px;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s
}

.header-gn-link-b:hover:after {
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top
}

.header-gn-slush {
  padding: 0 3px
}

.header-hamburger-wrapper {
  width: auto;
  display: block;
  padding-left: 40px;
  padding-right: 40px
}

.header-hamburger-items:hover {
  cursor: pointer
}

.header-hamburger-items:hover .header-hamburger-item {
  background-color: rgba(47, 93, 80, .7);
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out
}

.header-hamburger-item {
  width: 30px;
  height: 3px;
  background-color: #2f5d50;
  display: block;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out
}

.header-hamburger-item:nth-child(2) {
  margin-top: 6px
}

.header-open-wrapper {
  width: 100%;
  height: 100%;
  display: none;
  opacity: 0;
  background-color: #165e83;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 501
}

.header-open-wrapper-visible {
  display: block;
  opacity: 1;
  -webkit-animation: headerFadeIn .3s ease-in 0s forwards;
  animation: headerFadeIn .3s ease-in 0s forwards
}

.header-open-inner {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  overflow-y: scroll;
  position: relative;
  scrollbar-width: none;
}

.header-open-logo {
  max-width: 255px
}

.header-open-content {
  margin-top: -70px
}

.header-open-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.header-open-item:nth-of-type(1) {
  width: 100%
}

.header-open-item:nth-of-type(n+2) {
  margin-top: 40px
}

.header-open-item-sub-wrapper {
  margin-top: 20px;
  display: flex;
  gap: 8px;
  flex-direction: column;
}

.header-open-item-sub {
  display: block;
}

.header-open-bottom {
  position: fixed;
  bottom: 0;
  z-index: 1;
}

.header-open-bottom-person {
  width: 9.88%;
  position: absolute;
  bottom: 30px;
  right: 30px;
  z-index: -1
}

.header-open-bird {
  position: absolute;
  top: 30%;
  left: -5%;
  z-index: -1;
}

.header-scroll .header-logo {
  display: none
}

.header-scroll .header-logo-s {
  display: block
}

.header-scroll .header-gn-wrapper {
  position: fixed;
  right: 0;
  -webkit-transform: translateX(100%);
  transform: translateX(100%)
}

.header-scroll .header-logo-wrapper {
  position: fixed;
  left: 0;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%)
}

.header-scroll .header-gn-items {
  display: none
}

.header-scroll-navOpen .header-gn-wrapper {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition: -webkit-transform .5s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: -webkit-transform .5s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: transform .5s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: transform .5s cubic-bezier(.645, .045, .355, 1) 0s, -webkit-transform .5s cubic-bezier(.645, .045, .355, 1) 0s
}

.header-scroll-navOpen .header-logo-wrapper {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition: -webkit-transform .5s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: -webkit-transform .5s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: transform .5s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: transform .5s cubic-bezier(.645, .045, .355, 1) 0s, -webkit-transform .5s cubic-bezier(.645, .045, .355, 1) 0s
}

.footer-img-wrapper {
  position: relative
}

.footer-wrapper {
  padding-top: 60px;
  padding-bottom: 30px;
  background-color: #231d27
}

.footer-japanlongtrail-wrapper {
  width: 100%;
  max-width: 614px;
  margin: 0 auto;
}

.footer-japanlongtrail-link {
  display: inline-block;
}

.footer-menu-items {
  margin-top: 40px;
  display: flex;
  gap: 80px;
  justify-content: center;
}

.footer-menu-item {
  position: relative;
}

.footer-menu-item:nth-of-type(n+2)::before {
  content: "";
  width: 1px;
  height: 10px;
  margin: auto 0;
  background-color: #fff;
  inset: 0;
  position: absolute;
  left: -40px;
}

.footer-menu-link {
  color: #fff;
  transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
}

.footer-menu-link:hover {
  opacity: 0.7;
}

.footer-banner-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 50px;
}

.footer-banner-items {
  width: 100%;
  max-width: 614px;
  display: flex;
  gap: 12px;
}

.footer-banner-items-en {
  width: 100%;
  max-width: 404px;
  display: flex;
  gap: 12px;
}

.footer-banner-copy{
  font-size: 9px;
  color: #fff;
  text-align: center;
  margin-top: 5px;
}

.footer-copyright-text {
  font-size: 12px;
  color: #C3C3C3;
  text-align: center;
  margin-top: 50px;
}

.ja .header-gn-jp .header-gn-link {
  font-weight: 700
}

.en-US .header-gn-en .header-gn-link {
  font-weight: 700
}

.page-spinner {
  width: 100px;
  -webkit-animation: Rotate 2.4s both infinite linear;
  animation: Rotate 2.4s both infinite linear
}

.page-path {
  -webkit-animation: DrawLine 1.6s both infinite alternate linear;
  animation: DrawLine 1.6s both infinite alternate linear;
  fill: none;
  stroke: #000;
  stroke-width: 50
}

.page-color-white {
  color: #fff !important;
}

.page-color-red {
  color: #FF0000;
}

.page-toggle-wrapper {
  width: 255px;
  margin: 0 15px;
  background-color: #fff;
  position: relative
}

.page-toggle-wrapper-sub {
  width: 100%;
  height: 115px;
  background-color: #fff;
  overflow: hidden;
  position: absolute
}

.page-toggle-button {
  padding: 10px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative
}

.page-toggle-button:hover {
  cursor: pointer
}

.page-toggle-button svg {
  position: absolute;
  right: 20px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transition: -webkit-transform .3s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: -webkit-transform .3s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: transform .3s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: transform .3s cubic-bezier(.645, .045, .355, 1) 0s, -webkit-transform .3s cubic-bezier(.645, .045, .355, 1) 0s
}

.page-toggle-button.is-active svg {
  -webkit-transform: rotate(0);
  transform: rotate(0)
}

.page-toggle-items {
  margin-top: 10px
}

.page-toggle-item {
  padding: 10px 20px
}

.page-hv-op-wrapper .page-hv-op-copy {
  color: #000;
  position: relative;
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}

.page-hv-op-wrapper:hover .page-hv-op-copy {
  cursor: pointer;
  opacity: .5
}

.page-copy-hv-line {
  color: #000;
  position: relative
}

.page-copy-hv-line:after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #000;
  bottom: -2px;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s
}

.page-copy-hv-line:hover:after {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transform-origin: left top;
  transform-origin: left top
}

.page-copy-line {
  color: #000;
  position: relative
}

.page-copy-line:after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #000;
  bottom: -2px;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s
}

.page-copy-line:hover:after {
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top
}

.page-copy-line-b {
  color: #000;
  position: relative
}

.page-copy-line-b:after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #000;
  bottom: -2px;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s
}

.page-copy-line-b:hover:after {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transform-origin: left top;
  transform-origin: left top
}

.page-section-header {
  padding-top: 260px;
  position: relative
}

.page-lead-copy {
  padding-left: 1em;
  text-indent: -1em
}

.page-mt-12090 {
  margin-top: 120px
}

.page-mb-12090 {
  margin-bottom: 120px
}
.page-mt-2015 {
  margin-top: 20px;
}

.page-mt-6045 {
  margin-top: 60px
}

.page-mt-4030 {
  margin-top: 40px
}

.page-mb-6045 {
  margin-bottom: 60px
}

.page-mb-4030 {
  margin-bottom: 40px
}

.page-mb-2015 {
  margin-bottom: 20px
}

.page-mb-0{
  margin-bottom: 0 !important;
}

.page-100w {
  width: 100vw;
  margin: 0 calc(50% - 50vw)
}

.page-wave-white {
  position: relative
}

.page-wave-white:before {
  content: "";
  height: 70px;
  display: block;
  background: url(../images/common/wave_pc_white.png) no-repeat center center;
  background-size: 100% 100%
}

.page-wave-white:after {
  content: "";
  height: 70px;
  display: block;
  background: url(../images/common/wave_pc_white.png) no-repeat center center;
  background-size: 100% 100%;
  -webkit-transform: rotateX(180deg);
  transform: rotateX(180deg)
}

.page-wave-blue {
  position: relative
}

.page-wave-blue:after {
  content: "";
  height: 70px;
  display: block;
  margin-top: -2px;
  background: url(../images/common/wave_pc_blue.png) no-repeat center center;
  background-size: 100% 100%
}

.page-wave-brown {
  position: relative
}

.page-wave-brown:after {
  content: "";
  height: 70px;
  display: block;
  margin-top: -2px;
  background: url(../images/common/wave_pc_brown.png) no-repeat center center;
  background-size: 100% 100%
}

.page-archive-header-img {
  max-width: 255px;
  position: absolute;
  top: 195px;
  right: 0;
}

.page-archive .page-post-article:nth-of-type(n+4) {
  margin-top: 60px;
}

/* .page-body {
  background: url(../images/common/bg.jpg) repeat center top;
  background-size: 100% auto;
} */

.page-sec-body {
  /* margin-top: clamp(0px, calc(50px + -0.17361111 * (100vw - 992px)), 50px); */
  background: url(../images/common/bg.jpg) repeat center top;
  background-size: 100% auto;
  position: relative;
  z-index: 3;
}

.page-blue {
  color: #165e83
}

.page-bold {
  font-weight: 700
}

.page-jc-c {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.page-copy-c {
  text-align: center
}

.page-copy-r {
  text-align: right
}

.page-scrollTop-wrapper {
  position: absolute;
  right: 30px;
  bottom: calc(100% + 12%);
  z-index: 100;
}

.page-scrollTop-btn {
  width: 60px;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 100%;
  background-color: #fff;
  -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
}

body.page-id-134 .page-scrollTop-wrapper {
  position: fixed;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  z-index: 100;
  bottom: 12%;
}

body.page-id-134 .page-scrollTop-wrapper.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.page-scrollTop-btn:hover {
  background-color: #2f5d50
}

.page-scrollTop-btn svg circle,
.page-scrollTop-btn svg path {
  transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
}

.page-scrollTop-btn:hover svg circle {
  fill: #2f5d50
}

.page-scrollTop-btn:hover svg path {
  stroke: #fff
}

.page-btn-pos {
  position: relative
}

.page-btn-a-link {
  width: 100%;
  max-width: 285px;
  height: 48px;
  color: #fff;
  border-radius: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #2f5d50;
  -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s
}

.page-btn-a-arrow {
  position: absolute;
  right: 20px
}

.page-btn-b-link {
  width: 100%;
  max-width: 285px;
  height: 48px;
  color: #fff;
  border-radius: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #8b968d;
  -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s
}

.page-btn-b-arrow {
  position: absolute;
  left: 20px
}

.page-hv-a #page-arrow-r {
  -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
}

.page-hv-a:hover {
  color: #2f5d50;
  background-color: #fff
}

.page-hv-a:hover #page-arrow-r {
  stroke: #2f5d50
}

.page-hv-a .page-btn-b-arrow svg path {
  transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
}

.page-hv-a:hover .page-btn-b-arrow svg path {
  fill: #2f5d50;
}

.page-hv-b {
  color: #000;
  text-decoration: underline;
  -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
}

.page-hv-b:hover {
  opacity: .3;
}

.page-loading-wrapper {
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: fixed;
  top: 0;
  z-index: 9999
}

.page-loading-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.page-loading-fig {
  width: 100%;
  max-width: 90px
}

.page-post-user {
  background-color: #c97586
}

.page-post-media {
  background-color: #8b968d
}

.page-post-inner {
  margin-left: -15px;
  margin-right: -15px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.page-post-article {
  padding: 0 15px
}

.page-post-content {
  height: 100%
}

.page-post-link {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: #fff;
  -webkit-transition: opacity .3s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: opacity .3s cubic-bezier(.645, .045, .355, 1) 0s
}

.page-post-link:hover {
  opacity: .7
}

.page-post-cat {
  margin-top: -20px;
  margin-bottom: 15px
}

.page-post-cat-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.page-post-cat-item {
  margin-top: 10px;
  margin-right: 10px
}

.page-post-cat-link {
  color: #fff;
  display: inline-block;
  padding: 4px 10px;
  border-radius: 0 0 12px 0
}

.page-post-date {
  color: #000;
  margin-bottom: 20px;
  padding: 0 30px
}

.page-post-title {
  color: #000;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin-bottom: 20px;
  padding: 0 30px
}

.page-post-tag {
  padding: 0 30px 20px
}

.page-post-tag-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.page-post-tag-item {
  margin-right: 5px
}

.page-post-tag-link {
  color: #fff;
  display: inline-block;
  padding: 2px 5px;
  background-color: #715c1f
}

.page-post-navigation-wrapper {
  margin-top: 60px;
  margin-bottom: 120px
}

.page-post-navigation-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.page-post-navigation-next a,
.page-post-navigation-prev a {
  width: 48px;
  height: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 100%;
  background-color: #2f5d50;
  -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
  transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
}

.page-post-navigation-next a:hover,
.page-post-navigation-prev a:hover {
  background-color: #fff;
}

.page-post-navigation-next a svg path,
.page-post-navigation-prev a svg path {
  transition: all .3s cubic-bezier(.645, .045, .355, 1) 0s;
}

.page-post-navigation-next a:hover svg path,
.page-post-navigation-prev a:hover svg path {
  fill: #2f5d50;
}

.page-post-current-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 30px;
}

.page-post-current-item {
  padding: 0 3px;
}

.page-container-m {
  max-width: 930px;
  margin: 0 auto;
}

.page-single-container {
  max-width: 920px;
  margin: 0 auto
}

.page-single-header {
  margin-bottom: 120px
}

.page-single-date {
  margin-bottom: 20px
}

.page-single-cat {
  margin-bottom: 20px
}

.page-single-cat-item:nth-of-type(n+2) {
  margin-left: 10px
}

.page-single-title {
  margin-bottom: 20px
}

.page-single-footer-items {
  margin-top: 120px
}

.page-single-footer-item:nth-of-type(2) {
  margin-top: 40px
}

.page-vs-parallax {
  position: sticky;
  top: 0;
  z-index: 1;
}

.page-fix-vs-inner {
  position: relative
}

.page-fix-vs-sub-wrapper {
  position: absolute;
  bottom: calc(100% - 24px);
  right: 130px;
  z-index: 2;
}

/* .page-fix-content-section {
  position: relative;
  overflow: visible;
  background: url(../images/common/bg.jpg) repeat center -150px;
  background-size: 100% auto
} */

.page-fix-content-section::before {
  content: "";
  position: absolute;
  top: -158px;
  left: 0;
  width: 100%;
  height: 158px;
  background: url(../images/common/bg.jpg)repeat center 158px;
  background-size: 100% auto;
  -webkit-mask-image: url(../images/common/wave_pc_mask.svg);
  mask-image: url(../images/common/wave_pc_mask.svg);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  z-index: 1;
  pointer-events: none
}

.page-fix-content-header {
  margin-bottom: 120px
}

.page-fix-content-header-b {
  margin-bottom: 60px
}

.page-fix-footer-btn-items {
  margin-top: 70px
}

.page-fix-footer-btn-item:nth-of-type(2) {
  margin-top: 40px
}

.grecaptcha-badge {
  display: none
}

.v-enter-active,
.v-leave-active {
  -webkit-transition: all .3s;
  transition: all .3s
}

.v-enter-from,
.v-leave-to {
  height: 0
}

.section-rightfull {
  container-type: inline-size;
}

.container-rightfull {
  /* width: 100vw; */
  margin-right: calc(50% - 50cqi);
}

.container-full {
  width: 100vw;
  margin-inline: calc(50% - 50cqi);
}

.page-hover-op {
  transition: opacity .3s cubic-bezier(.645, .045, .355, 1) 0s;
}

.page-hover-op:hover {
  opacity: .7;
}

.page-position-relative{
  position: relative;
}
.footer{
  position: relative;
  z-index: 3;
}
@media screen and (min-width:768px) {
  body {
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0
  }

  .ft-s4836 {
    font-size: 48px;
    line-height: 1.5;
    letter-spacing: .025em
  }

  .ft-s4028 {
    font-size: 40px;
    line-height: 1;
    letter-spacing: .025em;
  }

  .ft-s3627 {
    font-size: 36px;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .ft-s2818 {
    font-size: 28px;
    line-height: 1;
    letter-spacing: 0;
  }

  .ft-s2418 {
    font-size: 24px;
    line-height: 1.5833333333;
    letter-spacing: 0;
  }

  .ft-s1816 {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0;
  }

  .ft-s1614 {
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0
  }

  .ft-s1412 {
    font-size: 14px;
    line-height: 1.7142857143;
    letter-spacing: 0
  }

  .ft-s1210 {
    font-size: 12px;
    line-height: 1.6666666667;
    letter-spacing: 0
  }

  .ft-s1010 {
    font-size: 10px;
    line-height: 1.6;
    letter-spacing: 0
  }

  .page-container {
    max-width: 1400px
  }
}

@media screen and (min-width:768px)and (max-width:991.98px) {
  body {
    font-size: 14px
  }

  .ft-s4836 {
    font-size: 36px
  }

  .ft-s3627 {
    font-size: 27px
  }

  .ft-s2418 {
    font-size: 18px
  }

  .ft-s1816 {
    font-size: 16px
  }

  .ft-s1614 {
    font-size: 14px
  }

  .ft-s1412 {
    font-size: 12px
  }

  .ft-s1210 {
    font-size: 10px
  }

  .ft-s1010 {
    font-size: 10px
  }

  .header-gn-item {
    display: none
  }

  .page-fix-content-section {
    margin-top: 0
  }
  .page-fix-vs-sub-wrapper{
    right: 70px;
  }
  .page-fix-content-section{
    background-image: url(../images/common/bg.jpg);
background-repeat: repeat;
background-position: center clamp(-104px, calc(-92px + -0.05381166 * (100vw - 768px)), -92px);
  }
  .page-fix-content-section::before {
    top: clamp(-104px, calc(-92px + -0.05381166 * (100vw - 768px)), -92px);
    height: 105px;
    -webkit-mask-image: url(../images/common/wave_tb_mask.svg);
    mask-image: url(../images/common/wave_tb_mask.svg);
    background: url(../images/common/bg.jpg)repeat center 0px;
  }
}

@media screen and (min-width:992px)and (max-width:1199.98px) {
  .header-gn-item {
    padding-left: 20px;
  }
  .header-gn-link{
    font-size: 14px;
  }
}

@media screen and (max-width:767.98px) {
  body {
    font-size: 14px;
    line-height: 1.714;
    letter-spacing: 0
  }

  .ft-s4836 {
    font-size: 36px;
    line-height: 1.5;
    letter-spacing: .025em
  }

  .ft-s4028 {
    font-size: 28px;
  }

  .ft-s3627 {
    font-size: 27px;
    line-height: 1.4814814815;
    letter-spacing: .025em
  }

  .ft-s2818 {
    font-size: 18px;
    line-height: 1;
  }

  .ft-s2418 {
    font-size: 18px;
    line-height: 1.6666666667;
    letter-spacing: 0
  }

  .ft-s1816 {
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0
  }

  .ft-s1614 {
    font-size: 14px;
    line-height: 1.7142857143;
    letter-spacing: 0
  }

  .ft-s1412 {
    font-size: 12px;
    line-height: 1.6666666667;
    letter-spacing: 0
  }

  .ft-s1210 {
    font-size: 10px;
    line-height: 1.6;
    letter-spacing: 0
  }

  .ft-s1010 {
    font-size: 10px;
    line-height: 1.6;
    letter-spacing: 0
  }

  .header-body-ac .header-logo-wrapper {
    display: none
  }

  .header-body-ac .header-wrapper {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end
  }

  .header-body-ac .header-gn-wrapper {
    position: fixed;
    right: 0
  }

  .header-wrapper-pos .header-logo-link {
    display: block
  }

  .header-gn-items {
    display: none
  }

  .header-hamburger-wrapper {
    padding-left: 30px;
    padding-right: 30px
  }

  .header-logo {
    max-width: 120px
  }

  .header-logo-a {
    max-width: 120px
  }

  .header-open-inner {
    display: block
  }

  .header-open-content {
    margin-top: 0;
    padding-top: 100px;
    padding-bottom: 150px
  }

  .header-open-content-item:nth-of-type(1) {
    max-width: 120px;
    position: fixed;
    top: 0;
    left: 0
  }

  .header-open-content-item:nth-of-type(2) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }

  .header-open-items {
    display: inline-block
  }

  .header-open-bottom-person {
    width: 100%;
    max-width: 100px;
    bottom: 0;
    right: 15px
  }

  .header-open-bird {
    max-width: 190px;
    position: fixed;
    top: 20%;
    left: -20%
  }
  .footer-wrapper {
    padding-top: 30px;
  }

  .footer-japanlongtrail-wrapper {
    max-width: 315px;
  }

  .footer-menu-items {
    max-width: 315px;
    margin: 32px auto 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 10px;
  }

  .footer-menu-item {
    display: flex;
    justify-content: center;
  }

  .footer-menu-item:nth-of-type(n+2)::before {
    content: none;
  }

  .footer-menu-item:nth-of-type(2n)::before {
    content: "";
    width: 1px;
    height: 10px;
    margin: auto 0;
    background-color: #fff;
    inset: 0;
    position: absolute;
    left: -5px;
  }

  .footer-banner-wrapper {
    margin-top: 40px;
  }

  .footer-banner-items {
    display: grid;
    max-width: 198px;
  }
  .footer-banner-items-en {
    max-width: 198px;
    display: grid;
  }

  .footer-banner-item {
    max-width: 296px;
    margin: 0 auto;
  }

  .footer-copyright-text {
    font-size: 10px;
    margin-top: 30px;
  }

  .footer-bottom {
    margin-top: 45px
  }

  .footer-bottom-inner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }

  .footer-bottom-copyright {
    margin-top: 45px
  }

  .page-archive-header-img {
    max-width: 190px;
    margin: 45px auto;
    position: relative;
    top: 0;
    right: 0
  }

  .page-toggle-block {
    padding: 0 45px
  }

  .page-toggle-wrapper {
    width: 100%
  }

  .page-toggle-wrapper:nth-of-type(2) {
    margin-top: 24px
  }

  .page-toggle-wrapper-sub {
    position: relative
  }

  .page-section-header {
    padding-top: 200px
  }

  .page-wave-white:before {
    height: 40px;
    background: url(../images/common/wave_sp_white.png) no-repeat center center;
    background-size: 100% 100%
  }

  .page-wave-white:after {
    height: 40px;
    background: url(../images/common/wave_sp_white.png) no-repeat center center;
    background-size: 100% 100%
  }

  .page-wave-blue:after {
    height: 40px;
    background: url(../images/common/wave_sp_blue.png) no-repeat center center;
    background-size: 100% 100%
  }

  .page-wave-brown:after {
    height: 40px;
    background: url(../images/common/wave_sp_brown.png) no-repeat center center;
    background-size: 100% 100%
  }

  .page-mt-12090 {
    margin-top: 90px
  }

  .page-mb-12090 {
    margin-bottom: 90px
  }
  .page-mt-2015 {
    margin-top: 15px
  }

  .page-mt-6045 {
    margin-top: 45px
  }

  .page-mt-4030 {
    margin-top: 30px
  }

  .page-mb-6045 {
    margin-bottom: 45px
  }

  .page-mb-4030 {
    margin-bottom: 30px
  }

  .page-mb-2015 {
    margin-bottom: 15px
  }

  .page-post-inner {
    margin-left: 0;
    margin-right: 0
  }

  .page-post-article {
    padding: 0 45px
  }

  .page-post-article:nth-of-type(n+2) {
    margin-top: 24px
  }

  .page-post-date {
    margin-bottom: 15px;
    padding: 0 15px
  }

  .page-post-title {
    margin-bottom: 15px;
    padding: 0 15px
  }

  .page-post-tag {
    padding: 0 15px 15px
  }

  .page-scrollTop-wrapper {
    right: 15px;
    bottom: calc(100% + 85px);
  }

  .page-single-container {
    padding: 0 25px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
  }

  .page-single-header {
    margin-bottom: 90px
  }

  .page-single-date {
    margin-bottom: 15px
  }

  .page-single-cat {
    margin-bottom: 15px
  }

  .page-single-title {
    margin-bottom: 15px
  }

  .page-single-footer-items {
    margin-top: 90px
  }

  .page-single-footer-item:nth-of-type(2) {
    margin-top: 30px
  }

  .page-fix-vs-sub-wrapper {
    right: 0
  }

  .page-fix-content-section::before {
    height: 34px;
    top: -34px;
    -webkit-mask-image: url(../images/common/wave_sp_mask.svg);
    mask-image: url(../images/common/wave_sp_mask.svg);
    background: url(../images/common/bg.jpg)repeat center 100px;
  }

  .page-fix-content-section {
    margin-top: 0;
    background-position: center -34px
  }

  .page-fix-content-container {
    padding: 30px 25px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
  }

  .page-fix-content-header {
    margin-bottom: 90px
  }

  .page-fix-content-header-b {
    margin-bottom: 45px
  }

  .page-fix-footer-text-wrapper {
    padding: 30px 25px 60px
  }
  body.page-id-134 .page-scrollTop-wrapper {
    bottom: 85px;
  }
}

@-webkit-keyframes headerFadeIn {
  0% {
    display: none;
    opacity: 0
  }

  1% {
    display: block;
    opacity: 0
  }

  100% {
    display: block;
    opacity: 1
  }
}

@keyframes headerFadeIn {
  0% {
    display: none;
    opacity: 0
  }

  1% {
    display: block;
    opacity: 0
  }

  100% {
    display: block;
    opacity: 1
  }
}

.header-open-wrapper-hiding {
  display: block;
  -webkit-animation: headerFadeOut .3s ease-out 0s forwards;
  animation: headerFadeOut .3s ease-out 0s forwards
}

@-webkit-keyframes headerFadeOut {
  0% {
    display: block;
    opacity: 1
  }

  99% {
    display: block;
    opacity: 0
  }

  100% {
    display: none;
    opacity: 0
  }
}

@keyframes headerFadeOut {
  0% {
    display: block;
    opacity: 1
  }

  99% {
    display: block;
    opacity: 0
  }

  100% {
    display: none;
    opacity: 0
  }
}

@-webkit-keyframes Rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}

@keyframes Rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}

@-webkit-keyframes DrawLine {
  0% {
    stroke-dasharray: 0 126
  }

  100% {
    stroke-dasharray: 126 126
  }
}

@keyframes DrawLine {
  0% {
    stroke-dasharray: 0 126
  }

  100% {
    stroke-dasharray: 126 126
  }
}

.footer-img-inner {
  position: relative;
  width: 100%;
  height: 45.3147877013vw;
  background: url(../images/common/shamen_yellow.png) no-repeat;
  background-size: cover;
  overflow: hidden;
}

.man-fig {
  width: 6.4304538799vw;
  height: 12.9663250366vw;
  position: absolute;
  left: 0;
  bottom: 60px;
}

@media screen and (max-width: 767px) {
  .man-fig {
    width: 12.5333333333vw;
    height: 25.3333333333vw;
  }
}

.woman-fig {
  width: 6.82284041vw;
  height: 12.9136163982vw;
  position: absolute;
  left: 0;
  bottom: 60px;
}

@media screen and (max-width: 767px) {
  .woman-fig {
    width: 13.3333333333vw;
    height: 25.8666666667vw;
  }
}

@media screen and (max-width: 767px) {
  .footer-img-inner {
    height: auto;
  }
}

.pc-none {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc-none {
    display: block;
  }
}

.black-mask {
  width: 100%;
  position: absolute;
  bottom: -1px;
  right: 0;
  z-index: 20;
}

.grass {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 15;
  width: 100%;
}

/* ホーム メイン動画セクション */
.home-main-video-section {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.home-main-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cm-pageloader {
  --mask-position: 100%;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  pointer-events: none;
  -webkit-mask-image: url('../images/common/mask-grad-vt.png');
  mask-image: url('../images/common/mask-grad-vt.png');
  -webkit-mask-size: 400% 400%;
  mask-size: 400% 400%;
  -webkit-mask-position: 0 var(--mask-position);
  mask-position: 0 var(--mask-position);
  background-color: #e1dcd7;
}
@media (scripting: none) {
  .cm-pageloader { display: none; }
}
html.is-booting .cm-pageloader,
html.is-swup-transitioning .cm-pageloader {
  opacity: 1;
  visibility: visible;
}
.cm-pageloader {
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: -webkit-mask-position, mask-position, transform, opacity;
}
[data-scroll-fade]{opacity:0;transform:translateY(30px);will-change:opacity,transform}
html.no-js [data-scroll-fade]{opacity:1;transform:none}
@media (scripting: none){[data-scroll-fade]{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){[data-scroll-fade]{opacity:1;transform:none}}
