@charset "UTF-8";
/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit;
  /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* 共通 */
/*----------
要素背景・枠線
----------*/
/*----------
見出しスタイル
----------*/
/*----------
見出しスタイル R7
----------*/
/*----------
表示・非表示
----------*/
@media screen and (min-width: 576px) {
  .none_up_sm {
    display: none;
  }
}

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

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

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

/*----------
ページ基本
----------*/
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  overflow-x: hidden;
  font-family: "M PLUS 2", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 1em;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #333333;
  background-color: #FEFFF7;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
  }
}

a {
  text-decoration: none;
  outline: none;
  transition: 0.4s;
}
a:hover {
  text-decoration: none;
  text-decoration: none;
  opacity: 0.8;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

#main {
  overflow-x: hidden;
  padding-top: 116px;
}
@media screen and (max-width: 767px) {
  #main {
    padding-top: 80px;
  }
}

/*--------------------
テキスト・フォント
--------------------*/
.color-pri {
  color: #3B6432;
}

.color-sec {
  color: #FF8F97;
}

.weight-bold {
  font-weight: bold;
}

.textEmb-color-border {
  color: #FF8F97;
  font-weight: 500;
  border: 1px solid #FF8F97;
  text-align: center;
  padding: 0.4em 2em;
  margin-top: 0.8em;
}

.align_cent-just {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .align_cent-just {
    text-align: justify;
  }
}

.align_cent-left {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .align_cent-left {
    text-align: left;
  }
}

main .a_left {
  text-align: left;
}

.font-size-larger {
  font-size: 1.2em;
}

.font-size-smaller {
  font-size: 0.8em;
}

.textWrap {
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .textWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}

/*--------------------
テキストボタン
--------------------*/
.textBtn_s {
  text-align: center;
  margin-bottom: 2em;
}
.textBtn_s a {
  background: #3B6432;
  color: #fff;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  font-weight: 600;
  padding: 0.8em 2em;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .textBtn_s a {
    font-size: 14px;
  }
}
.textBtn_s a::after {
  content: "";
  display: block;
  background: url(./img/icon_arrowRight.png) no-repeat;
  width: 18px;
  height: 30px;
  background-size: contain;
  margin-left: 16px;
}
@media screen and (max-width: 767px) {
  .textBtn_s a::after {
    width: 12px;
    height: 20px;
  }
}

.textBtn_S-border {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.textBtn_S-border a {
  border: 2px solid #3B6432;
  color: #3B6432;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
  padding: 0.2em 1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .textBtn_S-border a {
    font-size: 12px;
  }
}

.btn-ribbon {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.btn-ribbon > * {
  background: url(img/bg-ribbon.png) no-repeat center;
  background-size: cover;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
  width: 180px;
  height: 46px;
  line-height: 46px;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .btn-ribbon > * {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .btn-ribbon > * {
    width: 124px;
    height: 32px;
    line-height: 32px;
  }
}

.textLink-underLine,
.textLink-underLine:link,
.textLink-underLine:visited,
.textLink-underLine:hover {
  color: #3B6432;
  text-decoration: underline;
  font-weight: 500;
}

.bubble-blue {
  text-align: center;
  position: relative;
  margin-bottom: 20px;
}
.bubble-blue::after {
  content: "";
  position: absolute;
  bottom: -12px;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-color: #3B6432 transparent transparent transparent;
  border-width: 12px 12px 0 12px;
}
.bubble-blue p {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 500;
  display: inline-block;
  background-color: #3B6432;
  border-radius: 16px 0 16px 0;
  padding: 1em 2em;
}
@media screen and (max-width: 767px) {
  .bubble-blue p {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .bubble-blue p {
    padding: 0.6em 1.8em;
  }
}

/*--------------------
注意書き
--------------------*/
.noteList,
.note {
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #5B5B5B;
}
@media screen and (max-width: 767px) {
  .noteList,
  .note {
    font-size: 13px;
  }
}

.noteList li {
  text-indent: -1em;
  padding-left: 1em;
}
.noteList li + li {
  margin-top: 0.2em;
}

.text-em {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0.5em;
  font-weight: 600;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .text-em {
    font-size: 14px;
  }
}

.textNote,
.textNote-Bg {
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #5B5B5B;
  margin-top: 0.8em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .textNote,
  .textNote-Bg {
    font-size: 13px;
  }
}
.textNote li,
.textNote-Bg li {
  text-indent: -1em;
  padding-left: 1em;
}
.textNote li + li,
.textNote-Bg li + li {
  margin-top: 0.4em;
}

.textNote-Bg {
  background: rgba(63, 63, 14, 0.1);
  padding: 0.7em 1.4em 0.7em 1em;
  border-radius: 1em;
}

.infoP-single {
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 1.8em;
  padding-bottom: 1.8em;
  background-color: #F1F0EF;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .infoP-single {
    padding-left: 4%;
    padding-right: 4%;
  }
}
@media screen and (max-width: 767px) {
  .infoP-single {
    text-align: left;
  }
}

.infoTableR__rowWrap {
  display: flex;
  align-items: stretch;
  line-height: 1.5;
}
.infoTableR__rowWrap + .infoTableR__rowWrap {
  margin-top: 0.6em;
  padding-top: 0.6em;
  border-top: 1px solid rgba(63, 63, 14, 0.1);
}
.infoTableR__head {
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(63, 63, 14, 0.06);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 500;
  text-align: center;
  width: 32%;
  padding: 1.4em 1em;
}
@media screen and (max-width: 767px) {
  .infoTableR__head {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .infoTableR__head {
    text-align: left;
  }
}
.infoTableR__container {
  display: flex;
  align-items: center;
  flex: 1;
  padding: 1.4em 1em;
}

/*===========
header ヘッダー
===========*/
/* ヘッダーレイアウト */
.header {
  margin-right: auto;
  margin-left: auto;
}
.header-innerWrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 4% 14px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .header-innerWrap {
    padding: 10px 3% 14px;
    height: 60px;
  }
}
.header__logo img {
  display: inline-block;
  max-width: 120px;
}
@media screen and (max-width: 767px) {
  .header__logo img {
    width: auto;
    max-height: 36px;
  }
}

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

.headerNav__menu {
  display: flex;
  column-gap: 2rem;
  margin-right: 3rem;
}
@media screen and (max-width: 767px) {
  .headerNav__menu {
    display: none;
  }
}

/* スクロール途中でヘッダーを表示＆非表示 */
.header-innerWrap {
  position: fixed;
  width: 100%;
  z-index: 1000;
}

.header-innerWrap.UpMove {
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}
.header-innerWrap.DownMove {
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#header.panel-open .header-innerWrap {
  background: none;
}
#header.panel-open .DownMove {
  animation: none;
}
#header.panel-open .UpMove {
  animation: none;
}
#header.panel-open .headerNav__menu {
  display: none;
}

.header__navWrap {
  display: flex;
  justify-content: end;
  align-items: center;
  column-gap: 32px;
  flex: 1;
}
@media screen and (max-width: 575px) {
  .header__navWrap {
    column-gap: 16px;
  }
}

/*==========
footer
フッター
==========*/
.footer {
  text-align: center;
  margin-top: 4rem;
  background: #3B6432;
  color: #fff;
  padding-top: 2rem;
  padding-bottom: 1.2rem;
}

.footer__innerWrap {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .footer__innerWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}

.footer__logo img {
  width: 160px;
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .footer__logo img {
    max-width: 132px;
  }
}

.navGlobal {
  margin-top: 3.2rem;
}
.navGlobal ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2em 3em;
}
@media screen and (max-width: 767px) {
  .navGlobal ul {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }
}
.navGlobal li {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .navGlobal li {
    font-size: 14px;
  }
}

.footer__lang {
  margin-top: 2.4rem;
}

.navSns {
  display: flex;
  justify-content: center;
  column-gap: 1.5rem;
  margin-top: 2.4rem;
}
.navSns i {
  font-size: 32px;
}
.navSns a img.sns__itemLine {
  width: 32px;
}

.footer__navInfoWrap {
  width: 100%;
}

.footer__info {
  margin-top: 2rem;
}

.footerInfo__title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .footerInfo__title {
    font-size: 14px;
  }
}
.footerInfo__container {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  line-height: 1.5;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .footerInfo__container {
    font-size: 12px;
  }
}
.footerInfo__container > * {
  margin-top: 0.2rem;
}

.footer__navInfoWrap {
  padding-top: 1em;
  border-top: 1px solid rgba(63, 63, 14, 0.6);
  margin-top: 1em;
}

.navInfo ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6em 3em;
}
.navInfo li {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .navInfo li {
    font-size: 12px;
  }
}

.navLinkBnr {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.2em 1.8em;
  margin-top: 2em;
}
.navLinkBnr img {
  max-width: 240px;
}

.footer__copyright {
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    font-size: 10px;
  }
}

/* 展開メニュー */
#expandMenu {
  position: fixed;
  z-index: -1;
  opacity: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  transition: all 0.3s;
  background-color: #F1F0EF;
  padding-top: 60px;
}

#expandMenu.panelactive {
  opacity: 1;
  z-index: 999;
}

#expandMenu.panelactive #expandMenu__wrap {
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* 展開メニューのレイアウト */
.expandMenu__inner {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
  text-align: center;
  padding-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .expandMenu__inner {
    padding-left: 4%;
    padding-right: 4%;
  }
}

.expandMenu {
  color: #3B6432;
}
.expandMenu .navGlobal {
  margin-top: 96px;
}
@media screen and (max-width: 767px) {
  .expandMenu .navGlobal {
    margin-top: 60px;
  }
}
.expandMenu .navGlobal li.menu-item-68,
.expandMenu .navGlobal li.menu-item-69 {
  color: #BABABA;
}

.expandMenu__navInfoWrap {
  border-top: 1px solid #DDDDD9;
  padding-top: 0.8em;
  margin-top: 0.8em;
}

/*--------------------
お問い合わせ・申し込み
--------------------*/
.apply__itemHead {
  font-weight: 700;
  font-size: 27px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .apply__itemHead {
    font-size: 20px;
  }
}
.apply__itemHead .text-smaller {
  font-size: 0.8em;
}

.apply__item {
  width: 48%;
  max-width: 420px;
  text-align: center;
  background-color: #3B6432;
  color: #fff;
  border-radius: 10px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .apply__item {
    width: 100%;
  }
}

.apply__item_via-Line {
  background-color: #4cc764;
}
.apply__item_via-Line .apply__itemHead {
  padding: 20px 1.2em;
}
.apply__item_via-Line .apply__itemHead::before {
  content: "";
  display: block;
  background: url(./img/icon_line-fuki.png) no-repeat;
  width: 50px;
  height: 48px;
  background-size: contain;
  margin-right: 16px;
}
@media screen and (max-width: 767px) {
  .apply__item_via-Line .apply__itemHead::before {
    width: 37.5px;
    height: 36px;
  }
}
.apply__item_via-Line .apply__itemHead::after {
  content: "";
  display: block;
  background: url(./img/icon_arrowRight.png) no-repeat;
  width: 18px;
  height: 30px;
  background-size: contain;
  margin-left: 16px;
}
@media screen and (max-width: 767px) {
  .apply__item_via-Line .apply__itemHead::after {
    width: 12px;
    height: 20px;
  }
}
.apply__item_via-Email {
  background-color: #FF8F97;
}
.apply__item_via-Email .apply__itemHead {
  padding: 20px 1.2em;
}
.apply__item_via-Email .apply__itemHead::before {
  content: "";
  display: block;
  background: url(./img/icon_email.png) no-repeat;
  width: 43.5px;
  height: 30px;
  background-size: contain;
  margin-right: 16px;
}
@media screen and (max-width: 767px) {
  .apply__item_via-Email .apply__itemHead::before {
    width: 34.8px;
    height: 24px;
  }
}
.apply__item_via-Email .apply__itemHead::after {
  content: "";
  display: block;
  background: url(./img/icon_arrowRight.png) no-repeat;
  width: 18px;
  height: 30px;
  background-size: contain;
  margin-left: 16px;
}
@media screen and (max-width: 767px) {
  .apply__item_via-Email .apply__itemHead::after {
    width: 12px;
    height: 20px;
  }
}
.apply__item_via-form {
  background-color: #FF8F97;
}
.apply__item_via-form .apply__itemHead {
  height: 100%;
  padding: 20px 1.2em;
  letter-spacing: 0;
}
.apply__item_via-form .apply__itemHead::after {
  content: "";
  display: block;
  background: url(./img/icon_arrowRight.png) no-repeat;
  width: 18px;
  height: 30px;
  background-size: contain;
  margin-left: 16px;
}
@media screen and (max-width: 767px) {
  .apply__item_via-form .apply__itemHead::after {
    width: 12px;
    height: 20px;
  }
}
.apply__item_via-Postal {
  background-color: #E2E2E1;
  color: #5B5B5B;
  padding: 16px 1.6em;
}
.apply__item_via-Postal .apply__itemHead {
  padding: 0 0 0.1em;
  margin-bottom: 0.4em;
  border-bottom: 1px solid #BABABA;
}
.apply__item_via-Postal .apply__itemHead::before {
  content: "";
  display: block;
  background: url(./img/icon_postal.png) no-repeat;
  width: 34.09px;
  height: 30px;
  background-size: contain;
  margin-right: 16px;
}
@media screen and (max-width: 767px) {
  .apply__item_via-Postal .apply__itemHead::before {
    width: 25px;
    height: 22px;
    margin-right: 8px;
  }
}
.apply__item_via-Postal .apply__itemContainer {
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .apply__item_via-Postal .apply__itemContainer {
    text-align: left;
  }
}

/*----------
ハンバーガーメニュー
----------*/
.btn_menuopen {
  position: relative;
  z-index: 9999;
  cursor: pointer;
  width: 60px;
  height: 60px;
  border-radius: 1px;
}
@media screen and (max-width: 767px) {
  .btn_menuopen {
    width: 40px;
    height: 40px;
  }
}

.btn_menuopen span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  height: 6px;
  border-radius: 1px;
  background: #3B6432;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .btn_menuopen span {
    height: 4px;
  }
}

.btn_menuopen span:nth-of-type(1) {
  top: 9px;
}
@media screen and (max-width: 767px) {
  .btn_menuopen span:nth-of-type(1) {
    top: 6px;
  }
}
.btn_menuopen span:nth-of-type(2) {
  top: 27px;
}
@media screen and (max-width: 767px) {
  .btn_menuopen span:nth-of-type(2) {
    top: 18px;
  }
}
.btn_menuopen span:nth-of-type(3) {
  top: 45px;
}
@media screen and (max-width: 767px) {
  .btn_menuopen span:nth-of-type(3) {
    top: 30px;
  }
}

.btn_menuopen.active span {
  transition: all 0.4s;
  background: #3B6432;
}

.btn_menuopen.active span:nth-of-type(1) {
  top: 22px;
  left: 5px;
  transform: translateY(0) rotate(-45deg);
  width: 80%;
}

.btn_menuopen.active span:nth-of-type(2) {
  opacity: 0;
}

.btn_menuopen.active span:nth-of-type(3) {
  top: 22px;
  left: 5px;
  transform: translateY(0) rotate(45deg);
  width: 80%;
}

/* 
contents
コンテンツ
*/
.mainContents {
  margin-bottom: 80px;
  text-align: justify;
}
.mainContents__img {
  width: 100%;
}
.mainContents__textWrap {
  margin-top: 1.5rem;
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .mainContents__textWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
@media screen and (max-width: 767px) {
  .mainContents {
    margin-bottom: 40px;
  }
  .mainContents__img img {
    aspect-ratio: 4/3;
    object-fit: cover;
    width: 100%;
  }
  .mainContents__textWrap {
    margin-top: 0.7rem;
  }
}

.width-m {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
}

.w-padding {
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .w-padding {
    padding-left: 4%;
    padding-right: 4%;
  }
}

/*--------------------
ティザーページ
teaser
--------------------*/
body main#main.teaser-main {
  padding-top: 0;
}

.teaser__hero .siteTitle {
  text-align: center;
  position: relative;
  background-color: #3B6432;
}

.teaser__hero .siteTitle__bgImg {
  aspect-ratio: 2/1;
  object-fit: cover;
  max-width: 1440px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .teaser__hero .siteTitle__bgImg {
    width: 100%;
    aspect-ratio: 2/1.7;
    object-fit: cover;
  }
}

.teaser__hero .siteTitle__logoImg {
  width: 35%;
  max-width: 440px;
}
@media screen and (max-width: 767px) {
  .teaser__hero .siteTitle__logoImg {
    width: 60%;
    max-width: 400px;
  }
}

.teaser__hero .siteTitle__titleWrap {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.teaserRelease {
  background-color: #3B6432;
  color: #fff;
  padding-left: 40px;
  padding-right: 40px;
  text-align: center;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .teaserRelease {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.teaserRelease__catch {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 767px) {
  .teaserRelease__catch {
    font-size: 15px;
  }
}
.teaserRelease__launchMonth {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.6;
  border: 6px solid #fff;
  display: inline-block;
  border-radius: 50vh;
  padding: 0.2em 0.5em 0.3em 1em;
}
@media screen and (max-width: 767px) {
  .teaserRelease__launchMonth {
    font-size: 25px;
  }
}
@media screen and (max-width: 767px) {
  .teaserRelease__launchMonth {
    border: 4px solid #fff;
  }
}

.teaser__container {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 3rem;
}
@media screen and (max-width: 767px) {
  .teaser__container {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.teaser__container > section + section {
  margin-top: 4rem;
}

.teaserLead__head {
  text-align: center;
}

.teaserMap__mapWrap {
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
  margin-right: auto;
  margin-left: auto;
}
.teaserMap__mapImg {
  width: 100%;
}

.teaserPreparation__itemWrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 3%;
  justify-content: center;
  margin-top: 2rem;
}
@media screen and (max-width: 575px) {
  .teaserPreparation__itemWrap {
    flex-direction: column;
  }
}
.teaserPreparation__item {
  width: 31%;
}
@media screen and (max-width: 575px) {
  .teaserPreparation__item {
    width: 100%;
  }
}
.teaserPreparation__catcth {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 500;
  color: #575757;
  margin-bottom: 0.4rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .teaserPreparation__catcth {
    font-size: 14px;
  }
}
.teaserPreparation__btn {
  border: 1px solid rgba(63, 63, 14, 0.14);
  border-radius: 10px;
  padding: 0.4rem 1rem;
  text-align: center;
  display: block;
  margin-top: 0.4rem;
  padding: 24px;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
  color: #373737;
}
@media screen and (max-width: 767px) {
  .teaserPreparation__btn {
    font-size: 15px;
  }
}
.teaserPreparation__btn .teaserPreparation__logoImg {
  width: 100%;
  height: auto;
  vertical-align: middle;
  max-width: 120px;
}
.teaserPreparation__btn .iconImg {
  width: 32px;
  height: auto;
  margin-right: 0.4em;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .teaserPreparation__btn .iconImg {
    width: 24px;
    margin-right: 0.2em;
  }
}
.teaserPreparation__textInfo {
  text-align: center;
  margin-top: 2em;
}
@media screen and (max-width: 767px) {
  .teaserPreparation__textInfo {
    text-align: left;
  }
}

/*--------------------
フォームページ
--------------------*/
.formWrap {
  text-align: center;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .formWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}

/*--------------------
料金表
--------------------*/
.price__head {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  color: #3B6432;
  text-align: center;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .price__head {
    font-size: 17px;
  }
}
.price__head::after {
  content: "";
  background: #FF8F97;
  width: 80px;
  height: 2px;
  display: block;
  margin-top: 0.4em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .price__head {
    margin-bottom: 0.7rem;
  }
}
.price__contentsWrap {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .price__contentsWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}

.price__contentsWrap > * {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .price__contentsWrap > * {
    margin-top: 24px;
  }
}

.price__bubble {
  text-align: center;
  position: relative;
}
.price__bubble::after {
  content: "";
  position: absolute;
  bottom: -12px;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-color: #FF8F97 transparent transparent transparent;
  border-width: 12px 12px 0 12px;
}
.price__bubble p {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 500;
  display: inline-block;
  background-color: #FF8F97;
  border-radius: 16px 0 16px 0;
  padding: 1em 2em;
}
@media screen and (max-width: 767px) {
  .price__bubble p {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .price__bubble p {
    padding: 0.6em 1.8em;
  }
}

.priceTable {
  border-collapse: collapse;
  width: 100%;
}
.priceTable th,
.priceTable td {
  padding: 1.4em 1em;
  text-align: center;
  vertical-align: middle;
  border: 2px solid #fff;
}
.priceTable thead th {
  color: #858585;
  background-color: rgba(63, 63, 14, 0.14);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .priceTable thead th {
    font-size: 12px;
  }
}
.priceTable th.th-long {
  width: 36%;
}
.priceTable tbody th {
  background-color: rgba(63, 63, 14, 0.1);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .priceTable tbody th {
    font-size: 14px;
  }
}
.priceTable tbody th .textSub {
  display: block;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .priceTable tbody th .textSub {
    font-size: 12px;
  }
}
.priceTable td {
  color: #333333;
  background-color: rgba(63, 63, 14, 0.06);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .priceTable td {
    font-size: 14px;
  }
}
.priceTable td.price-coupon {
  color: #FF8F97;
}
.priceTable td .noteList {
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #5B5B5B;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .priceTable td .noteList {
    font-size: 13px;
  }
}
.priceTable td .noteList li {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .priceTable td .noteList li {
    text-align: left;
  }
}

.priceNote__head {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  color: #3B6432;
  text-align: center;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .priceNote__head {
    font-size: 17px;
  }
}
.priceNote__head::after {
  content: "";
  background: #FF8F97;
  width: 80px;
  height: 2px;
  display: block;
  margin-top: 0.4em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .priceNote__head {
    margin-bottom: 0.7rem;
  }
}

.price__note {
  text-align: center;
  margin-bottom: 0.4rem;
}

.priceInfo {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .priceInfo {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.priceInfo > * + * {
  margin-top: 40px;
}

.priceInfo .businessHours__head {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  color: #3B6432;
  text-align: center;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .priceInfo .businessHours__head {
    font-size: 17px;
  }
}
.priceInfo .businessHours__head::after {
  content: "";
  background: #FF8F97;
  width: 80px;
  height: 2px;
  display: block;
  margin-top: 0.4em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .priceInfo .businessHours__head {
    margin-bottom: 0.7rem;
  }
}
.priceInfo .businessHours__container {
  text-align: center;
}

.priceInfo__bnr {
  max-width: 490px;
  display: block;
  margin-right: auto;
  margin-left: auto;
}

/*--------------------
交通アクセス
access
--------------------*/
.accessMap {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .accessMap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
@media screen and (max-width: 767px) {
  .accessMap {
    margin-bottom: 36px;
  }
}

.accessItem__wrapper > * + * {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .accessItem__wrapper > * + * {
    margin-top: 36px;
  }
}

.accessItem {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .accessItem {
    padding-left: 4%;
    padding-right: 4%;
  }
}

/*--------------------
宿泊・お食事
stay-meals
--------------------*/
.stay-meals .mainContents,
.rental-lesson .mainContents {
  padding-top: 2rem;
}
.stay-meals .mainContents > section + section,
.rental-lesson .mainContents > section + section {
  margin-top: 88px;
}
@media screen and (max-width: 767px) {
  .stay-meals .mainContents > section + section,
  .rental-lesson .mainContents > section + section {
    margin-top: 64px;
  }
}

.meal,
.stay {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .meal,
  .stay {
    padding-left: 4%;
    padding-right: 4%;
  }
}

.amenities__itemWrapper {
  display: flex;
  flex-direction: column;
  row-gap: 40px;
}
@media screen and (max-width: 767px) {
  .amenities__itemWrapper {
    row-gap: 24px;
  }
}

.amenitiesItem,
.amenitiesOthers {
  background: #F1F0EF;
  padding: 20px 4%;
}

.amenitiesItem__imgWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 4%;
  margin-bottom: 1rem;
}

.amenitiesOthers__head {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  color: #878787;
  text-align: center;
  margin-bottom: 1.2em;
}
@media screen and (max-width: 767px) {
  .amenitiesOthers__head {
    font-size: 14px;
  }
}

.amenities-sm__wrap {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}
.amenities-sm__head {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  color: #333333;
  border-bottom: 1px solid #DDDDD9;
  text-align: center;
  font-weight: 600;
  padding-bottom: 0.2em;
  margin-bottom: 0.4rem;
}
@media screen and (max-width: 767px) {
  .amenities-sm__head {
    font-size: 14px;
  }
}

.meal .amenitiesItem__imgWrap img,
.stay .amenitiesItem__imgWrap img {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .meal .amenitiesItem__imgWrap img,
  .stay .amenitiesItem__imgWrap img {
    width: 100%;
    max-width: 440px;
  }
}

.dataTable {
  margin-top: 0.5rem;
}
.dataTable__head {
  background: #DDDDD9;
  color: #5B5B5B;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
  padding: 0.4rem 1.6em;
  margin-bottom: 6px;
}
@media screen and (max-width: 767px) {
  .dataTable__head {
    font-size: 12px;
  }
}
.dataTable__itemWrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px 4%;
}
@media screen and (max-width: 767px) {
  .dataTable__itemWrap {
    grid-template-columns: repeat(1, 1fr);
    gap: 4px 4%;
  }
}
.dataTable__item {
  display: flex;
}
.dataTable__item-Head {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 34%;
  background: #EAE9E6;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 500;
  color: #5B5B5B;
  padding: 0.3rem 0.6rem;
}
@media screen and (max-width: 767px) {
  .dataTable__item-Head {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .dataTable__item-Head {
    width: 38%;
    padding: 0.2rem 0.5rem;
  }
}
.dataTable__item-body {
  display: flex;
  justify-content: left;
  align-items: center;
  width: 66%;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  padding: 0.3rem 0.6rem;
}
@media screen and (max-width: 767px) {
  .dataTable__item-body {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .dataTable__item-body {
    width: 42%;
    padding: 0.2rem 0.5rem;
  }
}
.dataTable__textWrap {
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .dataTable__textWrap {
    font-size: 13px;
  }
}

/*--------------------
レンタル・スクール
rental-lesson
--------------------*/
.rental,
.lesson {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .rental,
  .lesson {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.rental__head,
.lesson__head {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  color: #3B6432;
  text-align: center;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .rental__head,
  .lesson__head {
    font-size: 17px;
  }
}
.rental__head::after,
.lesson__head::after {
  content: "";
  background: #FF8F97;
  width: 80px;
  height: 2px;
  display: block;
  margin-top: 0.4em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .rental__head,
  .lesson__head {
    margin-bottom: 0.7rem;
  }
}

.rental__textLead,
.lesson__textLead {
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 1.4rem;
  margin-bottom: 1.4rem;
}

.amenitiesItem__halfWrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 4%;
}
@media screen and (max-width: 767px) {
  .amenitiesItem__halfWrap {
    grid-template-columns: repeat(1, 1fr);
    gap: 24px 4%;
  }
}
.amenitiesItem__halfWrap .dataTable__itemWrap {
  grid-template-columns: repeat(1, 1fr);
}

.amenities-sm__halfWrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 4%;
}
@media screen and (max-width: 767px) {
  .amenities-sm__halfWrap {
    grid-template-columns: repeat(1, 1fr);
    gap: 24px 4%;
  }
}
.amenities-sm__halfWrap .dataTable__itemWrap {
  grid-template-columns: repeat(1, 1fr);
}

.dataTable + .dataTable {
  margin-top: 1rem;
}

.lesson .amenitiesItem__imgWrap img {
  max-width: 680px;
  margin-right: auto;
  margin-left: auto;
  margin-right: auto;
  margin-left: auto;
}

/*--------------------
安全への取り組み
--------------------*/
.safetyConts {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .safetyConts {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.safetyConts__head {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  color: #3B6432;
  text-align: center;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .safetyConts__head {
    font-size: 17px;
  }
}
.safetyConts__head::after {
  content: "";
  background: #FF8F97;
  width: 80px;
  height: 2px;
  display: block;
  margin-top: 0.4em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .safetyConts__head {
    margin-bottom: 0.7rem;
  }
}

.safetyConts__textLead {
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 1.4rem;
  margin-bottom: 1.4rem;
}

.safetyConts .amenitiesItem__textWrap {
  border-bottom: 1px solid #DDDDD9;
  padding-bottom: 1.2rem;
}
.safetyConts .amenitiesItem__textMain {
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .safetyConts .amenitiesItem__textMain {
    font-size: 13px;
  }
}
.safetyConts .amenitiesItem__btn {
  margin-top: 1rem;
}

/*--------------------
ゲレンデ・コース
course
--------------------*/
.courseInfo {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .courseInfo {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.courseInfo__head {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  color: #3B6432;
  text-align: center;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .courseInfo__head {
    font-size: 17px;
  }
}
.courseInfo__head::after {
  content: "";
  background: #FF8F97;
  width: 80px;
  height: 2px;
  display: block;
  margin-top: 0.4em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .courseInfo__head {
    margin-bottom: 0.7rem;
  }
}

.courseItem__wrapper {
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .courseItem__wrapper {
    padding-left: 4%;
    padding-right: 4%;
  }
}

.courseItem__head {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  color: #3B6432;
  text-align: center;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .courseItem__head {
    font-size: 17px;
  }
}
.courseItem__head::after {
  content: "";
  background: #FF8F97;
  width: 80px;
  height: 2px;
  display: block;
  margin-top: 0.4em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .courseItem__head {
    margin-bottom: 0.7rem;
  }
}

/*-----
コースの難易度
-----*/
.course .mainContents > * + * {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .course .mainContents > * + * {
    margin-top: 56px;
  }
}

.courseHero {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.courseHero__textWrap {
  margin-top: 0.8em;
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .courseHero__textWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}

.courseMap {
  max-width: 680px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .courseMap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.courseMap__textEnlarge {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  text-align: right;
  color: #878787;
}
@media screen and (max-width: 767px) {
  .courseMap__textEnlarge {
    font-size: 12px;
  }
}

.courseMap + .courseItem__wrapper {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .courseMap + .courseItem__wrapper {
    margin-top: 36px;
  }
}

.courseItem__wrapper > * + * {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .courseItem__wrapper > * + * {
    margin-top: 40px;
  }
}

.courseLevel {
  display: flex;
  column-gap: 8px;
  justify-content: center;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .courseLevel {
    margin-bottom: 0.7em;
  }
}

.courseLevel__item {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 500;
  color: #fff;
  padding: 0.2em 1em;
  background-color: #3B6432;
}
@media screen and (max-width: 767px) {
  .courseLevel__item {
    font-size: 12px;
  }
}

.courseLevel-beginner {
  background: #3AE1AC;
}
.courseLevel-intermediate {
  background: #F89F9F;
}
.courseLevel-advanced {
  background: linear-gradient(-45deg, #9A7B01 0%, #D5BC00 50%, #9A7B01 100%);
}

.courseItem__textWrap + .courseDetail {
  margin-top: 22px;
}
@media screen and (max-width: 767px) {
  .courseItem__textWrap + .courseDetail {
    margin-top: 0.7em;
  }
}

.courseDetail {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4em;
}
@media screen and (max-width: 575px) {
  .courseDetail {
    gap: 0.3em;
  }
}
@media screen and (max-width: 379px) {
  .courseDetail {
    gap: 0.2em;
  }
}
.courseDetail__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #F1F0EF;
  padding: 0.4em 1em;
}
@media screen and (max-width: 575px) {
  .courseDetail__item {
    padding: 0.4em 0.7em;
  }
}
@media screen and (max-width: 379px) {
  .courseDetail__item {
    padding: 0.4em 0.5em;
  }
}
.courseDetail__head {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  color: #878787;
}
@media screen and (max-width: 767px) {
  .courseDetail__head {
    font-size: 12px;
  }
}
.courseDetail__mainData {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .courseDetail__mainData {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .courseDetail__mainData {
    font-size: 15px;
  }
}
@media screen and (max-width: 575px) {
  .courseDetail__mainData {
    font-size: 14px;
  }
}

/*-----
コースのカラー
-----*/
.courseItem-romance .courseItem__head,
.courseItem-romance .courseDetail__mainData {
  color: #FF03BE;
}
.courseItem-romance .courseItem__head::after {
  background: #FF03BE;
}
.courseItem-panorama .courseItem__head,
.courseItem-panorama .courseDetail__mainData {
  color: #F29900;
}
.courseItem-panorama .courseItem__head::after {
  background: #F29900;
}
.courseItem-challenge .courseItem__head,
.courseItem-challenge .courseDetail__mainData {
  color: #0066D8;
}
.courseItem-challenge .courseItem__head::after {
  background: #0066D8;
}
.courseItem-eagle .courseItem__head,
.courseItem-eagle .courseDetail__mainData {
  color: #00CD00;
}
.courseItem-eagle .courseItem__head::after {
  background: #00CD00;
}
.courseItem-alpine .courseItem__head,
.courseItem-alpine .courseDetail__mainData {
  color: #A204E2;
}
.courseItem-alpine .courseItem__head::after {
  background: #A204E2;
}

/*--------------------
ゲレンデ情報
slope-condition
--------------------*/
.infoTable .status-main,
.infoP-single .status-main {
  color: #3B6432;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .infoTable .status-main,
  .infoP-single .status-main {
    font-size: 14px;
  }
}
.infoTable .status-sub,
.infoP-single .status-sub {
  color: #3B6432;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  margin-top: 0.4em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .infoTable .status-sub,
  .infoP-single .status-sub {
    font-size: 13px;
  }
}
.infoTable .status-text,
.infoP-single .status-text {
  color: #3B6432;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .infoTable .status-text,
  .infoP-single .status-text {
    font-size: 13px;
  }
}

.targetDate {
  text-align: center;
  margin-bottom: 2rem;
}
.targetDate__inner {
  background: #3B6432;
  padding: 1rem 2rem;
  border-radius: 6px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  margin-right: auto;
  margin-left: auto;
  color: #fff;
}
.targetDate__mainDateText {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .targetDate__mainDateText {
    font-size: 17px;
  }
}
.targetDate .updateDate {
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .targetDate .updateDate {
    font-size: 13px;
  }
}

.slope-condition .mainContents > section + section {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .slope-condition .mainContents > section + section {
    margin-top: 64px;
  }
}
.slope-condition .weather,
.slope-condition .liftStatus,
.slope-condition .notices {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .slope-condition .weather,
  .slope-condition .liftStatus,
  .slope-condition .notices {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.slope-condition .weather__head,
.slope-condition .liftStatus__head,
.slope-condition .notices__head {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  color: #3B6432;
  text-align: center;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .slope-condition .weather__head,
  .slope-condition .liftStatus__head,
  .slope-condition .notices__head {
    font-size: 17px;
  }
}
.slope-condition .weather__head::after,
.slope-condition .liftStatus__head::after,
.slope-condition .notices__head::after {
  content: "";
  background: #FF8F97;
  width: 80px;
  height: 2px;
  display: block;
  margin-top: 0.4em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .slope-condition .weather__head,
  .slope-condition .liftStatus__head,
  .slope-condition .notices__head {
    margin-bottom: 0.7rem;
  }
}

/*--------------------
コンセプト
concept
--------------------*/
.conceptHero {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.conceptHero__textWrap {
  margin-top: 1rem;
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .conceptHero__textWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.conceptHero__textHead {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .conceptHero__textHead {
    font-size: 15px;
  }
}

/*--------------------
404 not found
404
--------------------*/
.notFound__textWrap {
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .notFound__textWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.notFound__textHead {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .notFound__textHead {
    font-size: 15px;
  }
}

/*--------------------
お問い合わせ：完了
thanks
--------------------*/
/*--------------------
プライバシーポリシー
privacy
--------------------*/
.privacyCont + .privacyCont {
  margin-top: 4rem;
}
.privacyCont__container {
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .privacyCont__container {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.privacyCont__container > * + * {
  margin-top: 2rem;
}

/* 
head-type
見出し 
*/
.heading__wrapper {
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .heading__wrapper {
    padding-left: 4%;
    padding-right: 4%;
  }
}

.heading__pageTitle {
  font-size: 36px;
  font-weight: 600;
  line-height: 1.6;
  color: #3B6432;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 1em;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .heading__pageTitle {
    font-size: 26px;
  }
}
.heading__pageTitle::after {
  content: "";
  display: inline-block;
  background: url(./img/obj_line-sep.png) no-repeat;
  background-position: center;
  background-size: cover;
  width: 160px;
  height: 4px;
  margin-top: 14px;
}
.heading__pageTitle .pageTitle-main {
  line-height: 1.4;
}
.heading__pageTitle .pageTitle-sub {
  font-size: 27px;
  font-weight: 600;
  line-height: 1.6;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .heading__pageTitle .pageTitle-sub {
    font-size: 20px;
  }
}
.heading__pageTitle .pageTitle-en {
  font-family: "Aleo", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 20px;
  display: block;
  line-height: 1.6;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  .heading__pageTitle .pageTitle-en {
    font-size: 15px;
  }
}

.hd-Plain,
.hd-Plain-cl {
  color: #3B6432;
}
.hd-Plain.size-lg,
.hd-Plain-cl.size-lg {
  font-size: 27px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0.4em;
}
@media screen and (max-width: 767px) {
  .hd-Plain.size-lg,
  .hd-Plain-cl.size-lg {
    font-size: 20px;
  }
}
.hd-Plain.size-sm,
.hd-Plain-cl.size-sm {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0.4em;
}
@media screen and (max-width: 767px) {
  .hd-Plain.size-sm,
  .hd-Plain-cl.size-sm {
    font-size: 15px;
  }
}

.hd-Plain-cl {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .hd-Plain-cl {
    text-align: left;
  }
}

/*--- 下部中央に下線ありの見出し ---*/
.hd-Obj {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hd-Obj .mainTitleWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.hd-Obj.size-lg {
  color: #3B6432;
}
.hd-Obj.size-lg::after {
  content: "";
  display: block;
  background-color: rgba(63, 63, 14, 0.1);
  width: 120px;
  height: 2px;
  margin-top: 10px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .hd-Obj.size-lg::after {
    width: 100px;
    height: 2px;
    margin-top: 4px;
  }
}
.hd-Obj.size-lg .mainTitleWrap {
  gap: 0.4em 0.7em;
}
.hd-Obj.size-lg .mainTitle {
  font-size: 27px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .hd-Obj.size-lg .mainTitle {
    font-size: 20px;
  }
}
.hd-Obj.size-lg .preTitle {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .hd-Obj.size-lg .preTitle {
    font-size: 15px;
  }
}
.hd-Obj.size-lg .subTitle {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .hd-Obj.size-lg .subTitle {
    font-size: 12px;
  }
}
.hd-Obj.size-lg .catchTitle {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  color: #575757;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .hd-Obj.size-lg .catchTitle {
    font-size: 12px;
  }
}
.hd-Obj.size-sm {
  color: #3B6432;
}
.hd-Obj.size-sm::after {
  content: "";
  display: block;
  background-color: rgba(63, 63, 14, 0.1);
  width: 100px;
  height: 2px;
  margin-top: 10px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .hd-Obj.size-sm::after {
    width: 180px;
    height: 2px;
    margin-top: 4px;
  }
}
.hd-Obj.size-sm .mainTitleWrap {
  gap: 0.4em 0.7em;
}
.hd-Obj.size-sm .mainTitle {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .hd-Obj.size-sm .mainTitle {
    font-size: 15px;
  }
}
.hd-Obj.size-sm .subTitle {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .hd-Obj.size-sm .subTitle {
    font-size: 12px;
  }
}

/*--- 薄い背景色ありの見出し ---*/
.hd-Bg,
.hd-Bg-cl {
  color: #575757;
  background-color: #E2E2D4;
  padding-top: 1.4em;
  padding-bottom: 1.4em;
  padding-left: 40px;
  padding-right: 40px;
  margin-bottom: 1.8rem;
}
@media screen and (max-width: 767px) {
  .hd-Bg,
  .hd-Bg-cl {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.hd-Bg.size-md,
.hd-Bg-cl.size-md {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .hd-Bg.size-md,
  .hd-Bg-cl.size-md {
    font-size: 17px;
  }
}
.hd-Bg.size-xs,
.hd-Bg-cl.size-xs {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .hd-Bg.size-xs,
  .hd-Bg-cl.size-xs {
    font-size: 14px;
  }
}

.hd-Bg {
  text-align: center;
}

.hd-Bg-cl {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .hd-Bg-cl {
    text-align: left;
  }
}

/*--- 下辺線の見出し ---*/
.hd-Border {
  color: #373737;
  padding-bottom: 0.5em;
  margin-bottom: 1rem;
  border-bottom: 1px solid rgba(63, 63, 14, 0.14);
  text-align: center;
}
.hd-Border.size-sm {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .hd-Border.size-sm {
    font-size: 15px;
  }
}
.hd-Border.size-xs {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .hd-Border.size-xs {
    font-size: 14px;
  }
}

/* 
front-page
トップページ
*/
/*=========
トップの新着お知らせ
===============*/
.newPost__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 6.5%;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .newPost__wrap {
    width: 100%;
    gap: 30px 6%;
  }
}

.slickslider_inner {
  width: 84%;
  margin-left: auto;
  margin-right: auto;
}

.home .slick-dots {
  bottom: -32px;
}

.home .postCard {
  width: 100%;
}

/*=========
本リニューアル
===============*/
.topLatestBg {
  background: rgba(63, 63, 14, 0.1);
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  margin-bottom: 2rem;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .topLatestBg {
    padding-left: 4%;
    padding-right: 4%;
  }
}
@media screen and (max-width: 767px) {
  .topLatestBg {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}

.topNews,
.topSpecial {
  display: flex;
  column-gap: 4%;
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .topNews,
  .topSpecial {
    flex-direction: column;
  }
}

.topNews__headWrap,
.topSpecial__headWrap {
  width: 24%;
}
@media screen and (max-width: 767px) {
  .topNews__headWrap,
  .topSpecial__headWrap {
    width: 100%;
    margin-bottom: 1.2em;
    margin-top: 0;
  }
}
.topNews__container,
.topSpecial__container {
  flex: 1;
}

.topNews__headWrap {
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .topNews__headWrap {
    margin-top: 0;
  }
}

.topSpecial {
  align-items: center;
}

.topSpecial__bnrWrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 16px;
}
.topSpecial__item {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .topSpecial__item {
    width: 100%;
    max-width: 560px;
    margin-right: auto;
    margin-left: auto;
  }
}

.topSpecial + .topNews {
  margin-top: 1.6rem;
  padding-top: 1.6rem;
  border-top: 2px solid rgba(63, 63, 14, 0.1);
}
@media screen and (max-width: 767px) {
  .topSpecial + .topNews {
    margin-top: 0.8rem;
    padding-top: 0.8rem;
  }
}

.topNews__textBtn-forSP {
  margin-top: 0.8rem;
}

.topNews__head + .topNews__textBtn {
  margin-top: 1em;
}

.topCtg__wrapper > * + * {
  margin-top: 72px;
}
@media screen and (max-width: 767px) {
  .topCtg__wrapper > * + * {
    margin-top: 8px;
  }
}

.topCtgHead {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #3B6432;
  text-align: center;
}
.topCtgHead__titleMain {
  font-size: 24px;
  line-height: 1.3;
  font-family: "Aleo", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  display: block;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .topCtgHead__titleMain {
    font-size: 28px;
  }
}
.topCtgHead__titleMain::after {
  content: "";
  background-color: #FF8F97;
  display: block;
  background: url(./img/obj_line-sep.png) no-repeat;
  background-position: center;
  background-size: cover;
  width: 160px;
  height: 4px;
  margin-top: 6px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .topCtgHead__titleMain::after {
    width: 120px;
    height: 2px;
    margin-top: 2px;
  }
}
.topCtgHead__titleSub {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .topCtgHead__titleSub {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .topCtgHead__titleSub {
    margin-top: 4px;
  }
}

.topCtgHead-sm .topCtgHead__titleMain {
  font-size: 26px;
}
@media screen and (max-width: 767px) {
  .topCtgHead-sm .topCtgHead__titleMain {
    font-size: 19px;
  }
}
.topCtgHead-sm .topCtgHead__titleMain::after {
  width: 100px;
  height: 2px;
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .topCtgHead-sm .topCtgHead__titleMain::after {
    width: 90px;
    height: 2px;
    margin-top: 2px;
  }
}
.topCtgHead-sm .topCtgHead__titleSub {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  margin-top: 4px;
}
@media screen and (max-width: 767px) {
  .topCtgHead-sm .topCtgHead__titleSub {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .topCtgHead-sm .topCtgHead__titleSub {
    margin-top: 2px;
  }
}

.topCtgBnr__linkCover {
  display: block;
}

.topCtgHead-white {
  color: #fff;
}

.topCtgHead + .btn-ribbon {
  margin-top: 1em;
}

.topCtgBnr-lg {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.topCtgBnr-md__wrapper {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
  display: flex;
  flex-wrap: wrap;
  gap: 32px 6%;
}
@media screen and (max-width: 767px) {
  .topCtgBnr-md__wrapper {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.topCtgBnr-md__wrapper > * {
  width: 47%;
}
@media screen and (max-width: 767px) {
  .topCtgBnr-md__wrapper > * {
    width: 100%;
  }
}

.imgTitleHead {
  position: relative;
}
.imgTitleHead__innerWrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* トップ About */
.topAbout__innerWrap {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .topAbout__innerWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
@media screen and (max-width: 767px) {
  .topAbout__innerWrap {
    flex-direction: column;
    padding-left: 0;
    padding-right: 0;
  }
}
.topAbout__container {
  width: 38%;
}
@media screen and (max-width: 767px) {
  .topAbout__container {
    width: 100%;
  }
}
.topAbout__textWrap {
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .topAbout__textWrap {
    margin-top: 0.4em;
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .topAbout__textWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.topAbout__textMain {
  text-align: justify;
}
.topAbout__imgWrap {
  width: 58%;
}
@media screen and (max-width: 767px) {
  .topAbout__imgWrap {
    width: 100%;
    margin-top: 1em;
  }
}

/* トップ ゲレンデ・コース */
.topCourse__textWrap {
  margin-top: 0.8em;
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .topCourse__textWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.topCourse__innerWrap {
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .topCourse__innerWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}

/* --------
トップ ゲレンデ情報
-------- */
.slopeConds {
  padding-left: 40px;
  padding-right: 40px;
  background: #3B6432;
  color: #fff;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .slopeConds {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.slopeConds__innerWrapper {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 3%;
}
@media screen and (max-width: 767px) {
  .slopeConds__innerWrapper {
    flex-direction: column;
    row-gap: 0.4rem;
    align-items: unset;
  }
}
.slopeConds__head {
  text-align: center;
}
.slopeConds__headTitle {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .slopeConds__headTitle {
    font-size: 14px;
  }
}
.slopeConds__targetDate {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .slopeConds__targetDate {
    font-size: 14px;
  }
}
.slopeConds__updateDate {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .slopeConds__updateDate {
    font-size: 12px;
  }
}
.slopeConds__container {
  flex: 1;
}
.slopeConds .textBtn_S-border a {
  color: #fff;
  border-color: #fff;
  padding: 0.8em 1.4em;
  margin-top: 1em;
}

/* リフト状況 */
.slopeCondsLift {
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  .slopeCondsLift {
    margin-top: 0.4rem;
  }
}
.slopeCondsLift__itemWrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px 2%;
}
@media screen and (max-width: 575px) {
  .slopeCondsLift__itemWrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px 2%;
  }
}
.slopeCondsLift__item {
  display: flex;
  align-items: center;
  column-gap: 0.6rem;
  background: #75AA69;
  padding: 0.2em 0.8em;
  border-radius: 100vh;
  justify-content: center;
}
@media screen and (max-width: 999px) {
  .slopeCondsLift__item {
    flex-direction: column;
    justify-content: space-between;
    padding: 0.2em 1.2em;
    border-radius: 12px;
  }
}
@media screen and (max-width: 999px) and (max-width: 767px) {
  .slopeCondsLift__item {
    padding: 0.2em 1.2em 0.1em;
  }
}
.slopeCondsLift__name {
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .slopeCondsLift__name {
    font-size: 10px;
  }
}
.slopeCondsLift__status {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .slopeCondsLift__status {
    font-size: 12px;
  }
}

/* 天候状況 */
.weather__itemWrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.weatherItem {
  width: 32%;
}
.weatherItem + .weatherItem {
  padding-left: 3%;
  margin-left: 3%;
  border-left: 1px solid #75AA69;
  padding-top: 0.2em;
  padding-bottom: 0.4em;
}
.weatherItem__head {
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .weatherItem__head {
    font-size: 10px;
  }
}
@media screen and (max-width: 575px) {
  .weatherItem__head {
    font-size: 12px;
    line-height: 1.7;
    letter-spacing: 0.01em;
  }
}
@media screen and (max-width: 575px) and (max-width: 767px) {
  .weatherItem__head {
    font-size: 10px;
  }
}
.weatherItem__dataWrap {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .weatherItem__dataWrap {
    font-size: 14px;
  }
}
@media screen and (max-width: 575px) {
  .weatherItem__dataWrap {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
  }
}
@media screen and (max-width: 575px) and (max-width: 767px) {
  .weatherItem__dataWrap {
    font-size: 14px;
  }
}
@media screen and (max-width: 379px) {
  .weatherItem__dataWrap {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
  }
}
@media screen and (max-width: 379px) and (max-width: 767px) {
  .weatherItem__dataWrap {
    font-size: 12px;
  }
}

.slopeConds .weatherItem__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.slopeConds .weatherItem__iconFlex {
  display: flex;
  align-items: center;
  column-gap: 8%;
}
.slopeConds .weatherItem__iconFlex img {
  width: 24px;
}
@media screen and (max-width: 767px) {
  .slopeConds .weatherItem__iconFlex img {
    width: 18px;
  }
}
@media screen and (max-width: 575px) {
  .slopeConds .weatherItem__iconFlex img {
    width: 14px;
  }
}

/* 
entry
更新系
*/
/*===========
投稿系
===========*/
.link-cover-wrap {
  position: relative;
}

a.link-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

a:hover,
.link-cover-wrap:hover {
  opacity: 0.8;
  transition: ease-in-out 0.3s;
}

/*========= 固定ページ　ページネーション ===============*/
.post-pagenavi,
.m-pagenation {
  margin-top: 50px;
  display: flex;
  column-gap: 1rem;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  font-weight: bold;
  color: #3B6432;
}
@media screen and (max-width: 767px) {
  .post-pagenavi,
  .m-pagenation {
    font-size: 14px;
  }
}

.m-pagenation__body {
  display: flex;
  column-gap: 1rem;
}
.m-pagenation__body li a {
  background: rgba(63, 63, 14, 0.1);
  color: #3B6432;
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  text-align: center;
  line-height: 30px;
}
.m-pagenation__body li.-current {
  background: #3B6432;
  color: #fff;
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  text-align: center;
  line-height: 30px;
}

.m-pagenation__next,
.m-pagenation__prev {
  padding: 0.5rem 0.5rem;
  font-weight: 500;
}

.post-pagenavi .page-numbers {
  background: rgba(63, 63, 14, 0.6);
  color: #3B6432;
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  text-align: center;
  line-height: 30px;
}

.post-pagenavi .current {
  background: #3B6432;
  color: #fff;
}

.post-pagenavi .prev,
.post-pagenavi .next {
  background: none;
  width: auto;
  height: auto;
  padding: 0.5rem 0.5rem;
}

/*========= 投稿記事ページ　前後のページナビ ===============*/
.pn-nav {
  padding-top: 1.2em;
  margin-top: 2.4em;
  border-top: solid 1px rgba(63, 63, 14, 0.1);
  position: relative;
  height: 50px;
}

.pn-nav .nav-next,
.pn-nav .nav-prev {
  position: absolute;
  font-weight: 500;
  color: #3B6432;
}

.pn-nav .nav-next {
  left: 0;
}

.pn-nav .nav-prev {
  right: 0;
}

/*=========
投稿カード
===============*/
.postCard {
  width: 29%;
}
@media screen and (max-width: 767px) {
  .postCard {
    width: 47%;
  }
}

.postCard__thumb {
  margin-bottom: 8px;
}
.postCard__thumb img {
  aspect-ratio: 3/3;
  object-fit: cover;
  width: 100%;
  height: auto;
}

.postMeta__date {
  display: inline-block;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #858585;
}
@media screen and (max-width: 767px) {
  .postMeta__date {
    font-size: 12px;
  }
}

.postCard__title {
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  text-align: justify;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .postCard__title {
    font-size: 14px;
  }
}

span.postMeta__categoryWrap {
  margin-top: 0.3rem;
}
span.postMeta__category {
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #fff;
  padding: 0.2rem 0.8rem;
  border-radius: 16px;
  background-color: #3B6432;
}
@media screen and (max-width: 767px) {
  span.postMeta__category {
    font-size: 10px;
  }
}

.postMeta__category {
  margin-top: 0.3rem;
}

.postMeta__category > a {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #fff;
  padding: 0.1rem 0.8rem 0.2rem;
  border-radius: 16px;
  background-color: #3B6432;
}
@media screen and (max-width: 767px) {
  .postMeta__category > a {
    font-size: 12px;
  }
}

.cat-topics {
  background: #343939;
}

.cat-news {
  background: #d4caa2;
}

.cat-event {
  background: #3B6432;
}

/*=========
アーカイブ系
===============*/
.postCard__wrap {
  display: flex;
  flex-wrap: wrap;
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
  gap: 40px 6.5%;
}
@media screen and (max-width: 767px) {
  .postCard__wrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
@media screen and (max-width: 767px) {
  .postCard__wrap {
    gap: 30px 6%;
  }
}

/* 
single
投稿記事ページ
*/
.singlePage_wrapper {
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .singlePage_wrapper {
    padding-left: 4%;
    padding-right: 4%;
  }
}

.pageTitle-single {
  font-size: 32px;
  line-height: 1.5;
  text-align: left;
  color: #3B6432;
}
@media screen and (max-width: 767px) {
  .pageTitle-single {
    font-size: 25px;
  }
}

.singlePage__head {
  margin-bottom: 1rem;
}

.postMeta__wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 1.2rem;
  align-items: center;
}

.singlePage__container .wp-block-heading {
  margin-bottom: 0.6rem;
}

.singlePage__container {
  border-top: 1px solid rgba(63, 63, 14, 0.1);
  padding-top: 1.6rem;
}
.singlePage__container h2 {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .singlePage__container h2 {
    font-size: 17px;
  }
}
.singlePage__container h2 + p {
  margin-top: 0.2rem;
}
.singlePage__container p {
  line-height: 1.7;
}
.singlePage__container p + p {
  margin-top: 0.3rem;
}
.singlePage__container .wp-block-image {
  text-align: center;
}
.singlePage__container .wp-block-image img {
  height: auto;
  max-height: 720px;
  max-width: 870px;
  width: 100%;
  vertical-align: bottom;
}
.singlePage__container .wp-block-image + .wp-block-image {
  margin-top: 1.6rem;
}
.singlePage__container .wp-block-image + h2 {
  margin-top: 1.6rem;
}
.singlePage__container .wp-block-image + p {
  margin-top: 1.6rem;
}

.wp-block-gallery + p {
  margin-top: 1.6rem;
}

.wp-block-buttons {
  margin-top: 1rem;
}

body .singlePage_wrapper p a,
body .singlePage_wrapper p a:visited,
body .singlePage_wrapper p a:hover,
body .singlePage_wrapper p a:active {
  color: #3B6432;
  font-weight: bold;
  text-decoration: underline;
}

/* 
シーズンチケット
*/
.seasonticket .hero {
  background-color: #3B6432;
}
.seasonticket .hero__wrapper {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.flyer {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .flyer {
    margin-top: 60px;
  }
}
.flyer__head {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  color: #3B6432;
  text-align: center;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .flyer__head {
    font-size: 17px;
  }
}
.flyer__head::after {
  content: "";
  background: #FF8F97;
  width: 80px;
  height: 2px;
  display: block;
  margin-top: 0.4em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .flyer__head {
    margin-bottom: 0.7rem;
  }
}
.flyer__linkWrap {
  display: block;
  max-width: 680px;
  padding-left: 40px;
  padding-right: 40px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .flyer__linkWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}

.seasonticket .apply {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .seasonticket .apply {
    margin-top: 60px;
  }
}
.seasonticket .apply__head {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  color: #3B6432;
  text-align: center;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .seasonticket .apply__head {
    font-size: 17px;
  }
}
.seasonticket .apply__head::after {
  content: "";
  background: #FF8F97;
  width: 80px;
  height: 2px;
  display: block;
  margin-top: 0.4em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .seasonticket .apply__head {
    margin-bottom: 0.7rem;
  }
}

.seasonticket .apply__itemWrap {
  display: flex;
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px 4%;
}
@media screen and (max-width: 767px) {
  .seasonticket .apply__itemWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
@media screen and (max-width: 767px) {
  .seasonticket .apply__itemWrap {
    flex-direction: column;
    max-width: 400px;
    align-items: center;
  }
}

.seasonticket .benefits {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .seasonticket .benefits {
    padding-left: 4%;
    padding-right: 4%;
  }
}
@media screen and (max-width: 767px) {
  .seasonticket .benefits {
    margin-top: 4rem;
  }
}
.seasonticket .benefits__head {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  color: #3B6432;
  text-align: center;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .seasonticket .benefits__head {
    font-size: 17px;
  }
}
.seasonticket .benefits__head::after {
  content: "";
  background: #FF8F97;
  width: 80px;
  height: 2px;
  display: block;
  margin-top: 0.4em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .seasonticket .benefits__head {
    margin-bottom: 0.7rem;
  }
}
.seasonticket .benefits__container {
  background: #F1F0EF;
  padding: 16px 4%;
}
.seasonticket .benefits__innerHead {
  background: #DDDDD9;
  color: #5B5B5B;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
  padding: 0.8rem 0.8em;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .seasonticket .benefits__innerHead {
    font-size: 14px;
  }
}
.seasonticket .benefits__detail {
  margin-top: 1.6rem;
}
.seasonticket .benefits__itemWrap {
  display: flex;
  justify-content: center;
  align-items: stretch;
  column-gap: 1%;
}
@media screen and (max-width: 767px) {
  .seasonticket .benefits__itemWrap {
    flex-direction: column;
    row-gap: 8px;
  }
}
.seasonticket .benefits__textNote {
  text-align: center;
  margin-top: 1.6em;
}
@media screen and (max-width: 767px) {
  .seasonticket .benefits__textNote {
    text-align: left;
  }
}

.seasonticket .benefitsItem {
  border: 3px solid #3B6432;
  border-radius: 6px;
  padding: 0.6em 0.6em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  row-gap: 0.4rem;
  width: 46%;
}
@media screen and (max-width: 767px) {
  .seasonticket .benefitsItem {
    width: 100%;
  }
}
.seasonticket .benefitsItem-mataha {
  width: 8%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
  color: #3B6432;
}
@media screen and (max-width: 767px) {
  .seasonticket .benefitsItem-mataha {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .seasonticket .benefitsItem-mataha {
    width: 100%;
  }
}
.seasonticket .benefitsItem__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #3B6432;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .seasonticket .benefitsItem__title {
    font-size: 17px;
  }
}
.seasonticket .benefitsItem__title-sub {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .seasonticket .benefitsItem__title-sub {
    font-size: 14px;
  }
}
.seasonticket .benefitsItem__text {
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  text-align: left;
  border-top: 1px solid #3B6432;
  padding-top: 0.4rem;
}
@media screen and (max-width: 767px) {
  .seasonticket .benefitsItem__text {
    font-size: 13px;
  }
}

.seasonticket .ended {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .seasonticket .ended {
    padding-left: 4%;
    padding-right: 4%;
  }
}
@media screen and (max-width: 767px) {
  .seasonticket .ended {
    margin-top: 4rem;
  }
}
.seasonticket .ended__head {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  color: #3B6432;
  text-align: center;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .seasonticket .ended__head {
    font-size: 17px;
  }
}
.seasonticket .ended__head::after {
  content: "";
  background: #FF8F97;
  width: 80px;
  height: 2px;
  display: block;
  margin-top: 0.4em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .seasonticket .ended__head {
    margin-bottom: 0.7rem;
  }
}
.seasonticket .ended__container {
  background: #F1F0EF;
  padding: 16px 4%;
}

.lang-switch {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #ECECE7;
  border-radius: 100vh;
}

.lang-switch-btn {
  color: #3B6432;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
  padding: 0 1.2em;
  height: 36px;
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .lang-switch-btn {
    font-size: 10px;
  }
}
@media screen and (max-width: 767px) {
  .lang-switch-btn {
    padding: 0 1.2em;
    height: 30px;
  }
}

.lang-switch:hover {
  background-color: #ECECE7;
}

.langlists__wrapper {
  display: none;
  /*デフォルトでは非表示の状態にしておく*/
  width: 200px;
  position: absolute;
  z-index: 10000;
  top: 0;
}
@media screen and (max-width: 767px) {
  .langlists__wrapper {
    top: 0;
  }
}

.lang-switch:hover .langlists__wrapper {
  display: block;
  /*Gナビメニューにホバーしたら表示*/
}

.langlists__item {
  background-color: #ECECE7;
  position: relative;
  text-align: center;
  transition: all 0.3s;
}
.langlists__item:first-child {
  border-radius: 16px 16px 0 0;
}
.langlists__item:last-child {
  border-radius: 0 0 16px 16px;
}

.langlists__item:not(:first-child)::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #F5F5EE;
  position: absolute;
  top: 0;
  left: 0;
}

.langlists__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #3B6432;
  text-decoration: none;
  position: relative;
  padding: 0.4em 0.4em;
}

.langlists__item:hover {
  background-color: #E2E2D4;
}
.langlists__item:hover a {
  color: #3B6432;
}

.lang-switch-btn::before {
  content: "";
  display: block;
  mask-image: url("data:image/svg+xml,%3Csvg class='icon-lang' width='64' height='64' viewBox='0 0 64 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 31.9018C0 49.6242 14.3127 64 32 64C49.6873 64 64 49.6533 64 31.9309C62.2545 -10.6436 1.74545 -10.6436 0 31.9309V31.9018ZM21.2364 4.95442C18.2691 7.8936 16 11.4148 14.4873 15.3143H8.23273C11.4618 10.6582 15.9709 7.04968 21.2073 4.95442H21.2364ZM6.60364 18.3699H13.44C12.2473 22.2694 11.6073 26.2853 11.52 30.3594H3.11273C3.22909 26.1107 4.45091 22.0075 6.63273 18.3699H6.60364ZM3.08364 33.415H11.4909C11.5782 37.4891 12.2182 41.5342 13.4109 45.4337H6.57454C4.39273 41.7961 3.17091 37.6638 3.05454 33.415H3.08364ZM8.26182 48.5184H14.5164C16 52.3888 18.2982 55.91 21.2364 58.8492C16 56.7539 11.52 53.1454 8.29091 48.5184H8.26182ZM30.4582 60.3915C25.2218 59.664 20.6545 55.1534 17.7745 48.5184H30.4582V60.3915ZM30.4582 45.4628H16.6109C15.36 41.5633 14.6618 37.5182 14.5164 33.4441H30.4582V45.4628ZM30.4582 30.3594H14.5164C14.6327 26.2853 15.3309 22.2403 16.6109 18.3699H30.4582V30.3594ZM30.4582 15.3143H17.7455C20.6255 8.67933 25.2218 4.16869 30.4582 3.44117V15.3143ZM33.5127 3.44117C38.7782 4.16869 43.3455 8.67933 46.2255 15.3143H33.5127V3.44117ZM33.5127 18.3699H47.3891C48.64 22.2403 49.3382 26.2853 49.4836 30.3594H33.5127V18.3699ZM33.5127 33.415H49.4836C49.3673 37.4891 48.6691 41.5633 47.3891 45.4337H33.5127V33.415ZM33.5127 60.3915V48.5184H46.2255C43.3455 55.1534 38.7782 59.664 33.5127 60.3915ZM42.7636 58.8201C45.7309 55.91 48.0291 52.3888 49.5127 48.4893H55.7673C52.5382 53.1163 48.0291 56.6957 42.7927 58.8201H42.7636ZM57.3964 45.4628H50.56C51.7527 41.5633 52.3927 37.5182 52.48 33.4441H60.8873C60.7709 37.6929 59.5491 41.8252 57.3673 45.4628H57.3964ZM60.9164 30.3594H52.5091C52.4218 26.2853 51.7818 22.2694 50.5891 18.3699H57.4255C59.6073 21.9784 60.8291 26.1107 60.9455 30.3594H60.9164ZM49.4836 15.3143C48 11.4148 45.7018 7.8936 42.7346 4.95442C47.9709 7.07878 52.48 10.6873 55.7091 15.3143H49.4546H49.4836Z' fill='black' /%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: contain;
  background: #3B6432;
  width: 20px;
  height: 20px;
  margin-right: 8px;
}
@media screen and (max-width: 767px) {
  .lang-switch-btn::before {
    width: 16px;
    height: 16px;
  }
}

.lang-switch-btn::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 0.6em;
  height: 0.6em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  margin-left: 8px;
}

.lang-switch-btn a[data-stt-active] {
  font-weight: bold;
}

.lang-switch-btn span.short {
  display: none;
}

@media screen and (max-width: 767px) {
  .header-innerWrap .lang-switch-btn span.normal {
    display: none;
  }
}

.header-innerWrap .lang-switch-btn span.short {
  display: none;
}
@media screen and (max-width: 767px) {
  .header-innerWrap .lang-switch-btn span.short {
    display: block;
  }
}
@media screen and (max-width: 575px) {
  .header-innerWrap .lang-switch-btn span.short {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */