@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: #F7F7F1;
}
@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: 124px;
}
@media screen and (max-width: 767px) {
  #main {
    padding-top: 100px;
  }
}

/*--------------------
ページ全体
--------------------*/
.mainContainer > * + * {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .mainContainer > * + * {
    margin-top: 60px;
  }
}

/*--------------------
背景色
--------------------*/
.bgDark {
  background: rgba(63, 63, 14, 0.06);
  border-radius: 5px;
  padding: 1.5rem 3%;
}
@media screen and (max-width: 767px) {
  .bgDark {
    padding: 1.2rem 4%;
  }
}
.bgDark .textWrap {
  padding-left: 0;
  padding-right: 0;
}

.bgDark-card {
  background: rgba(63, 63, 14, 0.06);
  border-radius: 5px;
  padding: 24px 40px;
}
@media screen and (max-width: 767px) {
  .bgDark-card {
    padding: 12px 4%;
  }
}

/*--------------------
基本テキスト段落
--------------------*/
.textWrap .textMain {
  line-height: 1.8;
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
}

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

/*--------------------
注意書き
--------------------*/
.textNote,
.textNote-Bg {
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #575757;
  margin-top: 0.8em;
  line-height: 1.6;
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
}
@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.06);
  padding: 0.7em 1.4em 0.7em 1em;
  border-radius: 1em;
}

/*--------------------
テキスト - 装飾
--------------------*/
.textEmb {
  font-weight: 600;
}

.textEmb-color {
  font-weight: 600;
  color: #522A13;
}

.textBreakAll {
  word-break: break-all;
}

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

/*--------------------
テキスト - 注意書きエリア
--------------------*/
.info-safety_paddinWrap {
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .info-safety_paddinWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}

.info-safety {
  border: 4px solid #FF8F66;
  color: #DE673C;
  font-weight: 600;
  border-radius: 16px;
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .info-safety {
    border: 3px solid #FF8F66;
    border-radius: 12px;
  }
}
.info-safety.size-sm {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
  padding: 12px 24px;
}
@media screen and (max-width: 767px) {
  .info-safety.size-sm {
    font-size: 15px;
  }
}
.info-safety.size-xs {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  padding: 8px 16px;
}
@media screen and (max-width: 767px) {
  .info-safety.size-xs {
    font-size: 14px;
  }
}
.info-safety.size-sm .icon-warning {
  display: flex;
  align-items: center;
  column-gap: 16px;
}
.info-safety.size-sm .icon-warning::before {
  content: "\f071";
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  padding: 3px 7px 0 0;
  font-size: 32px;
}
.info-safety.size-xs .icon-warning {
  display: flex;
  align-items: center;
  column-gap: 10px;
}
.info-safety.size-xs .icon-warning::before {
  content: "\f071";
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  padding: 3px 7px 0 0;
  font-size: 24px;
}

/*--------------------
画像サイズ・構成
--------------------*/
/*--------------------
タグ
tag
--------------------*/
.tagWrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.5rem;
  justify-content: center;
}

.tag-S {
  background: #522A13;
  color: #fff;
  font-size: 13px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  font-weight: 600;
  padding: 0.2rem 1rem 0.3rem;
  line-height: 1.4;
  border-radius: 50vh;
}
@media screen and (max-width: 767px) {
  .tag-S {
    font-size: 11px;
  }
}

/*--------------------
アイコン
--------------------*/
/*--------------------
要素レイアウト
--------------------*/
.flex_2-1 {
  display: flex;
  justify-content: space-between;
  column-gap: 60px;
}
@media screen and (max-width: 767px) {
  .flex_2-1 {
    flex-direction: column;
    align-items: center;
  }
}

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

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

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

/*--------------------
カード ※初期のaboutで使用
--------------------*/
.infoCard.size-S .infoCard__textWrap {
  margin-top: 0.3em;
}
.infoCard.size-S .infoCard__textHead {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 500;
  line-height: 150%;
}
@media screen and (max-width: 767px) {
  .infoCard.size-S .infoCard__textHead {
    font-size: 14px;
  }
}

/*--------------------
カード
--------------------*/
.cardBox {
  background: rgba(63, 63, 14, 0.06);
  border-radius: 5px;
  padding: 24px 40px;
  padding-top: 16px;
  padding-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .cardBox {
    padding: 12px 4%;
  }
}
.cardBox .hd-Obj.size-md {
  margin-bottom: 0.5em;
}
.cardBox .hd-Obj.size-md::after {
  margin-top: 0.3em;
}
.cardBox__img {
  margin-bottom: 0.4rem;
}
.cardBox__textMain {
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .cardBox__textMain {
    font-size: 13px;
  }
}
.cardBox__textWrap + .infoTable_S__itemWrap {
  margin-top: 1rem;
}

.cardBox__wrap.grid_2-1 .cardBox,
.cardBox__wrap.grid_3-2 .cardBox {
  padding-left: 24px;
  padding-right: 24px;
}

.cardBox__wrap {
  margin-top: 1.4rem;
}

/*--------------------
スライダー
--------------------*/
.spSlider .sliderItem-inner {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
}

/*--------------------
表
--------------------*/
.infoTable_M__rowWrap {
  display: flex;
  align-items: stretch;
  line-height: 1.5;
}
.infoTable_M__rowWrap + .infoTable_M__rowWrap {
  margin-top: 0.4em;
  padding-top: 0.4em;
  border-top: 1px solid rgba(63, 63, 14, 0.1);
}
.infoTable_M__head {
  display: flex;
  justify-content: center;
  flex-direction: column;
  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) {
  .infoTable_M__head {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .infoTable_M__head {
    text-align: left;
  }
}
.infoTable_M__container {
  display: flex;
  align-items: center;
  flex: 1;
  padding: 1.4em 1em;
}
.infoTable_M__container .textHead {
  font-weight: 600;
  margin-bottom: 0.3em;
}
.infoTable_M__container .textInWrap + .textInWrap {
  margin-top: 1.2rem;
}

.infoTable_M-narrow__rowWrap {
  display: flex;
  align-items: stretch;
  line-height: 1.5;
}
.infoTable_M-narrow__rowWrap + .infoTable_M__rowWrap {
  margin-top: 0.4em;
  padding-top: 0.4em;
  border-top: 1px solid rgba(63, 63, 14, 0.1);
}
.infoTable_M-narrow__head {
  display: flex;
  justify-content: center;
  flex-direction: column;
  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) {
  .infoTable_M-narrow__head {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .infoTable_M-narrow__head {
    text-align: left;
  }
}
.infoTable_M-narrow__container {
  display: flex;
  align-items: center;
  flex: 1;
  padding: 1.4em 1em;
}
.infoTable_M-narrow__container .textHead {
  font-weight: 600;
  margin-bottom: 0.3em;
}
.infoTable_M-narrow__container .textInWrap + .textInWrap {
  margin-top: 1.2rem;
}

.infoTable_M.spcg-narrow {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
}
.infoTable_M.spcg-narrow .infoTable_M__rowWrap + .infoTable_M__rowWrap {
  margin-top: 0.4em;
  padding-top: 0.4em;
}
.infoTable_M.spcg-narrow .infoTable_M__head {
  width: 32%;
  padding: 0.7em 1em;
}
.infoTable_M.spcg-narrow .infoTable_M__container {
  display: flex;
  align-items: center;
  flex: 1;
  padding: 0.7em 1em;
}
.infoTable_M.spcg-narrow .infoTable_M__container .textHead {
  font-weight: 600;
  margin-bottom: 0.3em;
}
.infoTable_M.spcg-narrow .infoTable_M__container .textInWrap + .textInWrap {
  margin-top: 1.2rem;
}

* + .infoTable_M.spcg-narrow {
  margin-top: 1.2rem;
}

.infoTable_S__itemWrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px 4%;
}
@media screen and (max-width: 575px) {
  .infoTable_S__itemWrap {
    grid-template-columns: repeat(1, 1fr);
    gap: 4px 4%;
  }
}
.infoTable_S__item {
  display: flex;
}
.infoTable_S__item-Head {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 34%;
  background: rgba(63, 63, 14, 0.06);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 500;
  color: #575757;
  padding: 0.3rem 0.6rem;
}
@media screen and (max-width: 767px) {
  .infoTable_S__item-Head {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .infoTable_S__item-Head {
    width: 38%;
    padding: 0.2rem 0.5rem;
  }
}
.infoTable_S__item-body {
  display: flex;
  justify-content: left;
  align-items: center;
  width: 66%;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  padding: 0.3rem 0.6rem;
}
@media screen and (max-width: 767px) {
  .infoTable_S__item-body {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .infoTable_S__item-body {
    width: 62%;
    padding: 0.2rem 0.5rem;
  }
}

.infoTable_S__itemWrap.col-1 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 6px 4%;
}
@media screen and (max-width: 575px) {
  .infoTable_S__itemWrap.col-1 {
    grid-template-columns: repeat(1, 1fr);
    gap: 4px 4%;
  }
}

.infoTable_S__item + .infoTable_S__item:nth-child(n+3) {
  padding-top: 6px;
  border-top: 1px solid rgba(63, 63, 14, 0.1);
}
@media screen and (max-width: 767px) {
  .infoTable_S__item + .infoTable_S__item:nth-child(n+3) {
    padding-top: 4px;
    border-top: 1px solid rgba(63, 63, 14, 0.1);
  }
}

@media screen and (max-width: 767px) {
  body .infoTable_S__item + .infoTable_S__item {
    padding-top: 4px;
    border-top: 1px solid rgba(63, 63, 14, 0.1);
  }
}
.infoTable_S + .infoTable_S {
  margin-top: 1rem;
}

/*===========
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: 84px;
  }
}
@media screen and (max-width: 575px) {
  .header-innerWrap {
    padding: 10px 3% 14px;
    height: 72px;
  }
}
.header__logo img {
  display: inline-block;
  max-width: 80px;
}
@media screen and (max-width: 767px) {
  .header__logo img {
    width: auto;
    max-height: 72px;
  }
}
@media screen and (max-width: 575px) {
  .header__logo img {
    width: auto;
    max-height: 56px;
  }
}
.header__textLogo {
  font-size: 17px;
  font-weight: 600;
  color: #522A13;
  line-height: 1.4;
  border-left: 5px solid #522A13;
  padding-left: 10px;
}
@media screen and (max-width: 575px) {
  .header__textLogo {
    font-size: 14px;
    border-left: 4px solid #522A13;
    padding-left: 8px;
  }
}

.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: 5rem;
  background: #522A13;
  color: #fff;
  padding-top: 2rem;
  padding-bottom: 1.2rem;
}
@media screen and (max-width: 767px) {
  .footer {
    padding-top: 1rem;
  }
}

.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: 132px;
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .footer__logo img {
    max-width: 80px;
  }
}

.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;
}

.footer__siteTitle {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .footer__siteTitle {
    font-size: 15px;
  }
}

.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: 6px;
}
@media screen and (max-width: 767px) {
  .footerInfo__container {
    font-size: 12px;
  }
}
.footerInfo__company {
  margin-top: 0.8rem;
}

.footerConInfo {
  margin-top: 1.6rem;
  background-color: #354F2F;
  display: inline-block;
  border-radius: 5px;
  padding: 12px 16px 10px;
}
.footerConInfo__head {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .footerConInfo__head {
    font-size: 14px;
  }
}
.footerConInfo__container {
  margin-top: 0.3rem;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .footerConInfo__container {
    font-size: 12px;
  }
}
.footerConInfo__close {
  margin-top: 0.2rem;
}

.footer__navInfoWrap {
  margin-top: 0.4em;
}

.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: #f3f3e8;
  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: #522A13;
}
.expandMenu .navGlobal {
  margin-top: 96px;
}
@media screen and (max-width: 767px) {
  .expandMenu .navGlobal {
    margin-top: 60px;
  }
}

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

/*----------
ハンバーガーメニュー
----------*/
.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: #522A13;
  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: #522A13;
}

.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
コンテンツ
*/
/*--------------------
汎用：ページ構成 - 導入
lead
--------------------*/
.cont-lead .heroImgWrap {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.cont-lead .textWrap {
  margin-top: 1rem;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .cont-lead .textWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.cont-lead .textWrap .textHead {
  text-align: center;
  margin-top: 1.2em;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .cont-lead .textWrap .textHead {
    text-align: left;
  }
}
.cont-lead .info-safety {
  margin-top: 1.4em;
}

/*--------------------
わかさ氷ノ山について
about
--------------------*/
.cont-aboutDetail {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .cont-aboutDetail {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.cont-aboutDetail > * + * {
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .cont-aboutDetail > * + * {
    margin-top: 48px;
  }
}

.committeeInfo {
  margin-top: 1em;
}
.committeeInfo > * + * {
  margin-top: 1em;
}

.tourismLink {
  margin-top: 1em;
}
.tourismLink > * + * {
  margin-top: 1em;
}

/*--------------------
登山コース
route
--------------------*/
.cont-courseMap {
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .cont-courseMap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.cont-courseMap .mapImg__wrap {
  max-width: 680px;
  margin-right: auto;
  margin-left: auto;
}
.cont-courseMap .mapImg__caption {
  margin-bottom: 0.8rem;
}
.cont-courseMap .btnWrap {
  margin-top: 2rem;
}

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

.courseDT__wrapper {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
}
.courseDT__wrapper > * + * {
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .courseDT__wrapper > * + * {
    margin-top: 32px;
  }
}

.courseDT {
  background: rgba(63, 63, 14, 0.06);
  border-radius: 5px;
  padding: 24px 40px;
}
@media screen and (max-width: 767px) {
  .courseDT {
    padding: 12px 4%;
  }
}
.courseDT__mainWrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 6%;
}
@media screen and (max-width: 767px) {
  .courseDT__mainWrap {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 1rem;
  }
}
.courseDT__level {
  margin-bottom: 1rem;
}
.courseDT__milestones {
  border-top: 1px solid rgba(63, 63, 14, 0.1);
  border-bottom: 1px solid rgba(63, 63, 14, 0.1);
  padding: 0.7rem 0.4rem 0.8rem;
  margin-top: 0.8rem;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .courseDT__milestones {
    font-size: 12px;
  }
}
.courseDT__imgWrap {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .courseDT__imgWrap img {
    max-width: 480px;
  }
}
.courseDT__subWrap {
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .courseDT__subWrap {
    margin-top: 0.8rem;
  }
}
.courseDT .info-safety {
  margin-top: 1rem;
}

.cont-guidedTour {
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .cont-guidedTour {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.cont-guidedTour .block__body {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
}
.cont-guidedTour .textWrap {
  flex: 1;
}
.cont-guidedTour .logo-hibikinomori {
  width: 240px;
}
@media screen and (max-width: 767px) {
  .cont-guidedTour .logo-hibikinomori {
    width: 50%;
    max-width: 180px;
    order: -1;
    margin-bottom: 18px;
  }
}

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

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

/*--------------------
登山届
notification
--------------------*/
.cont-submissionDetails > * + * {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .cont-submissionDetails > * + * {
    margin-top: 60px;
  }
}
.cont-submissionDetails .hd-Bg {
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .cont-submissionDetails .hd-Bg {
    margin-bottom: 0.7rem;
  }
}

.submitMethod__wrapper {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
  display: flex;
  flex-wrap: wrap;
  gap: 64px 6%;
}
@media screen and (max-width: 767px) {
  .submitMethod__wrapper {
    padding-left: 4%;
    padding-right: 4%;
  }
}

.submitMethod {
  width: 100%;
}
.submitMethod.wth_1col-2col {
  width: 47%;
}
@media screen and (max-width: 767px) {
  .submitMethod.wth_1col-2col {
    width: 100%;
  }
}

#submit-onPaper .submitMethod__container > .textWrap {
  margin-top: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #submit-onPaper .submitMethod__container > .textWrap {
    text-align: left;
  }
}

/*--------------------
交通アクセス
access
--------------------*/
.access__map.mapImg__wrap {
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
  max-width: 800px;
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .access__map.mapImg__wrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
@media screen and (max-width: 767px) {
  .access__map.mapImg__wrap {
    margin-top: 24px;
  }
}

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

/*--------------------
プライバシーポリシー
privacy
--------------------*/
.privacyCont__wrapper {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .privacyCont__wrapper {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.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;
}

/*--------------------
トップページ
--------------------*/
body main#main.home,
body main#main.toppage,
body.home #main {
  padding-top: 0;
}

/* トップ - サイトタイトル（ヒーロー）　 */
.topSiteTitle {
  text-align: center;
  position: relative;
}
.topSiteTitle__bgImg {
  aspect-ratio: 116/50;
  object-fit: cover;
  max-width: 1440px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .topSiteTitle__bgImg {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
  }
}
.topSiteTitle__logoImg {
  width: 28%;
  height: auto;
  max-width: 440px;
}
@media screen and (max-width: 767px) {
  .topSiteTitle__logoImg {
    width: 60%;
    max-width: 400px;
  }
}
.topSiteTitle__titleWrap {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  padding-left: 4%;
  padding-right: 4%;
}
.topSiteTitle__subCatch {
  color: #fff;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .topSiteTitle__subCatch {
    font-size: 15px;
  }
}
@media screen and (max-width: 379px) {
  .topSiteTitle__subCatch {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
  }
}
@media screen and (max-width: 379px) and (max-width: 767px) {
  .topSiteTitle__subCatch {
    font-size: 14px;
  }
}

/* トップ - メインコンテンツ　 */
.topContainer > * + * {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .topContainer > * + * {
    margin-top: 56px;
  }
}

/* 
トピックス・お知らせエリア
全体のレイアウト
*/
.topLatestBg {
  background: rgba(63, 63, 14, 0.06);
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  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 {
  display: flex;
  column-gap: 4%;
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .topNews {
    flex-direction: column;
  }
}
.topNews__headWrap {
  width: 24%;
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .topNews__headWrap {
    width: 100%;
    margin-bottom: 1.2em;
    margin-top: 0;
  }
}
.topNews__container {
  flex: 1;
}
.topNews .slick-list {
  overflow: visible;
}

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

.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: 2rem;
    border-top: none;
  }
}

/* トップ - 最近のお知らせ投稿　 */
.slickslider_inner {
  width: 84%;
  margin-left: auto;
  margin-right: auto;
}

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

.home .postCard {
  width: 100%;
}

/* トップ - 特別に告知したいバナー　 */
.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;
  }
}

.topCont-topIntroPage {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .topCont-topIntroPage {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.topCont-topIntroPage > * + * {
  margin-top: 64px;
  padding-top: 64px;
  border-top: 1px solid rgba(63, 63, 14, 0.1);
}
@media screen and (max-width: 767px) {
  .topCont-topIntroPage > * + * {
    margin-top: 40px;
    padding-top: 40px;
  }
}

.topIntroPage.order-reverse .imgWrap {
  order: -1;
}

.topCont-topIntroPage .wrapper-half {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .topCont-topIntroPage .wrapper-half {
    flex-direction: column;
  }
}
.topCont-topIntroPage .wrapper-half .topIntroPage {
  width: 46%;
}
@media screen and (max-width: 767px) {
  .topCont-topIntroPage .wrapper-half .topIntroPage {
    width: 100%;
  }
}
.topCont-topIntroPage .wrapper-half .topIntroPage + .topIntroPage {
  width: 50%;
  padding-left: 4%;
  border-left: 1px solid rgba(63, 63, 14, 0.1);
}
@media screen and (max-width: 767px) {
  .topCont-topIntroPage .wrapper-half .topIntroPage + .topIntroPage {
    width: 100%;
    padding-left: 0;
    border-left: none;
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid rgba(63, 63, 14, 0.1);
  }
}

.topIntroPage {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 6%;
  align-items: center;
}
.topIntroPage .textWrap {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .topIntroPage .textWrap {
    display: contents;
  }
}
.topIntroPage .textHead {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .topIntroPage .textHead {
    order: -2;
  }
}
.topIntroPage .imgWrap {
  width: 64%;
  text-align: center;
}
@media screen and (max-width: 999px) {
  .topIntroPage .imgWrap {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .topIntroPage .imgWrap {
    width: 100%;
    order: -1;
    margin-bottom: 0.8rem;
  }
}
@media screen and (max-width: 767px) {
  .topIntroPage .imgWrap img {
    max-width: 480px;
  }
}
.topIntroPage .info-safety {
  width: 100%;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .topIntroPage .btnWrap {
    order: 100;
  }
}

.topCont-youtube__container {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
}
.topCont-youtube__container .youtubeItem {
  color: #575757;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 4%;
  align-items: center;
  background-color: rgba(63, 63, 14, 0.06);
  padding: 16px;
}
@media screen and (max-width: 575px) {
  .topCont-youtube__container .youtubeItem {
    grid-template-columns: repeat(1, 1fr);
  }
}
.topCont-youtube__container .youtube__thumb {
  aspect-ratio: 16/9;
}
@media screen and (max-width: 767px) {
  .topCont-youtube__container .youtube__textWrap {
    margin-top: 0.6rem;
  }
}
.topCont-youtube__container .youtube__textCatch {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .topCont-youtube__container .youtube__textCatch {
    font-size: 12px;
  }
}
.topCont-youtube__container .youtube__textTitle {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .topCont-youtube__container .youtube__textTitle {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .topCont-youtube__container .youtube__textTitle {
    margin-top: 0.3rem;
  }
}

.topCont-Link .bnrWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px 5%;
  padding-left: 40px;
  padding-right: 40px;
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .topCont-Link .bnrWrap {
    padding-left: 4%;
    padding-right: 4%;
  }
}
@media screen and (max-width: 767px) {
  .topCont-Link .bnrWrap {
    justify-content: left;
    gap: 16px 6%;
  }
}
.topCont-Link .bnrItem {
  max-width: 192px;
}
@media screen and (max-width: 767px) {
  .topCont-Link .bnrItem {
    width: 47%;
  }
}

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

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

.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%);
}

/*--------------------
新規作成固定ページテンプレート
newpage
--------------------*/
.newpageContainer {
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .newpageContainer {
    padding-left: 4%;
    padding-right: 4%;
  }
}

.npMain .mainImgWrap {
  margin-bottom: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.npMain .mainImg {
  max-width: 1120px;
  /* 最大幅 */
  max-height: 600px;
  /* 最大高さ */
  width: 100%;
  /* 幅を100%にして、最大幅の範囲内で調整 */
  height: auto;
  /* 高さは自動で調整 */
  object-fit: contain;
  /* アスペクト比を保ちながら収める */
}

.npSub__imgWrap-a {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.npSub__imgWrap-a .npSub__img {
  max-width: 950px;
  max-height: 600px;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.npSub__imgWrap-b {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  gap: 36px 6%;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.npSub__imgWrap-b .npSub__img {
  width: 47%;
}
@media screen and (max-width: 767px) {
  .npSub__imgWrap-b {
    flex-direction: column;
    gap: 1rem 6%;
    margin-bottom: 1rem;
  }
  .npSub__imgWrap-b .npSub__img {
    width: 100%;
    max-width: 480px;
    margin-right: auto;
    margin-left: auto;
  }
}

.npMain + .npSub {
  margin-top: 72px;
}

.newpageContainer .npSub .npSub__head {
  margin-bottom: 1em;
}

.newpageContainer .textNote-Bg {
  margin-top: 40px;
}
.newpageContainer .btnWrap {
  margin-top: 40px;
}

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

/*--------------------
お問い合わせ先リンク
--------------------*/
.contactLink {
  background-color: #ebecdf;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1rem 4%;
  max-width: 720px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 2.2rem;
}

/*--------------------
ティザーTOP
--------------------*/
.topSiteTitle,
.teaserHero {
  text-align: center;
  position: relative;
}
.topSiteTitle__bgImg,
.teaserHero__bgImg {
  aspect-ratio: 116/56;
  object-fit: cover;
  max-width: 1440px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .topSiteTitle__bgImg,
  .teaserHero__bgImg {
    width: 100%;
    aspect-ratio: 1/0.9;
    object-fit: cover;
  }
}
.topSiteTitle__logoImg,
.teaserHero__logoImg {
  width: 28%;
  height: auto;
  max-width: 440px;
}
@media screen and (max-width: 767px) {
  .topSiteTitle__logoImg,
  .teaserHero__logoImg {
    width: 60%;
    max-width: 400px;
  }
}
.topSiteTitle__titleWrap,
.teaserHero__titleWrap {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  padding-left: 4%;
  padding-right: 4%;
}
.topSiteTitle__subCatch,
.teaserHero__subCatch {
  color: #fff;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .topSiteTitle__subCatch,
  .teaserHero__subCatch {
    font-size: 15px;
  }
}
@media screen and (max-width: 379px) {
  .topSiteTitle__subCatch,
  .teaserHero__subCatch {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
  }
}
@media screen and (max-width: 379px) and (max-width: 767px) {
  .topSiteTitle__subCatch,
  .teaserHero__subCatch {
    font-size: 14px;
  }
}

.teaserTitle__wrap {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  padding-left: 4%;
  padding-right: 4%;
}
@media screen and (max-width: 767px) {
  .teaserTitle__wrap {
    padding-top: 18px;
  }
}
.teaserTitle__titleLogo {
  width: 60%;
  height: auto;
  max-width: 462px;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .teaserTitle__titleLogo {
    width: 72%;
    max-width: 600px;
  }
}
.teaserTitle__titleText {
  width: 72%;
  height: auto;
  max-width: 800px;
  margin-top: 32px;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .teaserTitle__titleText {
    width: 86%;
    margin-top: 18px;
  }
}

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

.aboutNagase + .aboutShinkawa,
.nagase .contactLink {
  margin-top: 72px;
}
@media screen and (max-width: 767px) {
  .aboutNagase + .aboutShinkawa,
  .nagase .contactLink {
    margin-top: 56px;
  }
}

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

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

.teaserCont-uno + .teaserCont-nagase,
.teaserCont-nagase + .teaserCont-management {
  margin-top: 72px;
  padding-top: 72px;
  border-top: 4px solid rgba(63, 63, 14, 0.06);
}
@media screen and (max-width: 767px) {
  .teaserCont-uno + .teaserCont-nagase,
  .teaserCont-nagase + .teaserCont-management {
    margin-top: 56px;
    padding-top: 56px;
  }
}

.aboutNSC {
  margin-top: 1.2rem;
  background: rgba(63, 63, 14, 0.06);
  border-radius: 5px;
  padding: 1.5rem 3%;
}
@media screen and (max-width: 767px) {
  .aboutNSC {
    padding: 1.2rem 4%;
  }
}
.aboutNSC .textWrap {
  padding-left: 0;
  padding-right: 0;
}
.aboutNSC__logoWrap {
  margin-top: 1.4rem;
  display: flex;
  justify-content: center;
  column-gap: 30px;
  align-items: center;
}
.aboutNSC__logoWrap .logo_wakasaHyounosen {
  width: 100%;
  max-width: 190px;
}
.aboutNSC__logoWrap .logo_tottori-camppark {
  width: 100%;
  max-width: 190px;
  padding: 0 15px;
}

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

.tesrUno__lead .tesrUnoLead__head {
  text-align: center;
}

.tesrUno__feature {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 2%;
  margin-top: 40px;
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .tesrUno__feature {
    row-gap: 12px;
  }
}

.unoFeatureItem {
  width: 100%;
  background: rgba(63, 63, 14, 0.06);
  border-radius: 5px;
  padding: 1.5rem 3%;
}
@media screen and (max-width: 767px) {
  .unoFeatureItem {
    padding: 1.2rem 4%;
  }
}
.unoFeatureItem .textWrap {
  padding-left: 0;
  padding-right: 0;
}
.unoFeatureItem .textMain {
  line-height: 1.6;
}
.unoFeatureItem .imgWrap {
  margin-top: 1.3rem;
  margin-right: auto;
  margin-left: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 5%;
  justify-content: center;
  max-width: 720px;
}
.unoFeatureItem figcaption {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  margin-top: 0.3rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .unoFeatureItem figcaption {
    font-size: 12px;
  }
}

.unoFeatureItem.size-md {
  width: 32%;
}
@media screen and (max-width: 767px) {
  .unoFeatureItem.size-md {
    width: 100%;
  }
}

.tesrUno__map {
  max-width: 950px;
  margin-right: auto;
  margin-left: auto;
}

/* 
head-type
見出し 
*/
.heading__pageTitle {
  padding-left: 40px;
  padding-right: 40px;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.6;
  color: #522A13;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  .heading__pageTitle {
    padding-left: 4%;
    padding-right: 4%;
  }
}
@media screen and (max-width: 767px) {
  .heading__pageTitle {
    font-size: 26px;
  }
}
.heading__pageTitle .pageTitle-main {
  line-height: 1.4;
}
.heading__pageTitle .pageTitle-sub {
  font-size: 25px;
  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-sub-sm {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .heading__pageTitle .pageTitle-sub-sm {
    font-size: 15px;
  }
}
.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: #522A13;
}
.hd-Plain.size-xl,
.hd-Plain-cl.size-xl {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0.4em;
}
@media screen and (max-width: 767px) {
  .hd-Plain.size-xl,
  .hd-Plain-cl.size-xl {
    font-size: 25px;
  }
}
.hd-Plain.size-lg,
.hd-Plain-cl.size-lg {
  font-size: 25px;
  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-Plain2 {
  color: #522A13;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hd-Plain2.size-xl {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0.7em;
}
@media screen and (max-width: 767px) {
  .hd-Plain2.size-xl {
    font-size: 25px;
  }
}
.hd-Plain2.size-lg {
  font-size: 25px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0.6em;
}
@media screen and (max-width: 767px) {
  .hd-Plain2.size-lg {
    font-size: 20px;
  }
}
.hd-Plain2.size-md {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0.4em;
}
@media screen and (max-width: 767px) {
  .hd-Plain2.size-md {
    font-size: 17px;
  }
}
.hd-Plain2.size-sm {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0.4em;
}
@media screen and (max-width: 767px) {
  .hd-Plain2.size-sm {
    font-size: 14px;
  }
}

.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: #522A13;
  font-size: 25px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0.7em;
}
.hd-Obj.size-lg::after {
  content: "";
  display: block;
  background-color: #522A13;
  width: 100px;
  height: 4px;
  margin-top: 10px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .hd-Obj.size-lg::after {
    width: 80px;
    height: 3px;
    margin-top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .hd-Obj.size-lg {
    font-size: 20px;
  }
}
.hd-Obj.size-md {
  color: #522A13;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0.7em;
  text-align: center;
}
.hd-Obj.size-md::after {
  content: "";
  display: block;
  background-color: rgba(63, 63, 14, 0.24);
  width: 100px;
  height: 2px;
  margin-top: 0.5em;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .hd-Obj.size-md::after {
    width: 80px;
    height: 2px;
    margin-top: 0.4em;
  }
}
@media screen and (max-width: 767px) {
  .hd-Obj.size-md {
    font-size: 17px;
  }
}
.hd-Obj.size-sm {
  color: #522A13;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0.5em;
}
.hd-Obj.size-sm::after {
  content: "";
  display: block;
  background-color: rgba(63, 63, 14, 0.24);
  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;
  }
}
@media screen and (max-width: 767px) {
  .hd-Obj.size-sm {
    font-size: 15px;
  }
}
.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: #e3e4d5;
  padding-top: 1.4em;
  padding-bottom: 1.4em;
  padding-left: 40px;
  padding-right: 40px;
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 1.6rem;
}
@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: #333333;
  padding-bottom: 0.8rem;
  margin-bottom: 0.9rem;
  border-bottom: 1px solid rgba(63, 63, 14, 0.24);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .hd-Border {
    padding-bottom: 0.5rem;
    margin-bottom: 0.6rem;
  }
}
.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;
  }
}

/* 
btn
ボタン 
*/
.btnWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 1rem;
  gap: 24px 2rem;
}

/*--------------------
テキストボタン
--------------------*/
.textLink-underLine,
.textLink-underLine:link,
.textLink-underLine:visited,
.textLink-underLine:hover {
  color: #522A13;
  text-decoration: underline;
  font-weight: 500;
}

.btnPlane {
  color: #522A13;
  display: inline-block;
  line-height: 1.5;
  font-weight: 500;
  display: flex;
  align-items: center;
  column-gap: 1em;
}
.btnPlane:after {
  content: "\f105";
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  padding: 0 7px 0 0;
  font-size: 21px;
}
@media screen and (max-width: 767px) {
  .btnPlane:after {
    font-size: 18px;
  }
}
.btnPlane.size-sm {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .btnPlane.size-sm {
    font-size: 14px;
  }
}
.btnPlane.size-sm {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .btnPlane.size-sm {
    font-size: 15px;
  }
}
.btnPlane.size-md {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .btnPlane.size-md {
    font-size: 17px;
  }
}
.btnPlane.size-lg {
  font-size: 25px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .btnPlane.size-lg {
    font-size: 20px;
  }
}

.btnFill {
  background: #522A13;
  color: #fff;
  border-radius: 50vh;
  padding: 0.7em 1.2em 0.7em 1.8em;
  line-height: 1.5;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1em;
  min-width: 200px;
}
.btnFill:after {
  content: "\f105";
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  padding: 0 7px 0 0;
  font-size: 21px;
}
@media screen and (max-width: 767px) {
  .btnFill:after {
    font-size: 18px;
  }
}
.btnFill.size-xxs {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  min-width: initial;
  padding: 0.1em 0.8em 0.1em 1.4em;
}
@media screen and (max-width: 767px) {
  .btnFill.size-xxs {
    font-size: 12px;
  }
}
.btnFill.size-xs {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  min-width: initial;
  padding: 0.3em 0.8em 0.3em 1.4em;
}
@media screen and (max-width: 767px) {
  .btnFill.size-xs {
    font-size: 14px;
  }
}
.btnFill.size-sm {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .btnFill.size-sm {
    font-size: 15px;
  }
}
.btnFill.size-md {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .btnFill.size-md {
    font-size: 17px;
  }
}
.btnFill.size-lg {
  font-size: 25px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .btnFill.size-lg {
    font-size: 20px;
  }
}
.btnFill .mgc_heart_line {
  color: #fff;
  font-size: 20px;
}

/*--------------------
ロゴ・アイコン入りの大ボタン
--------------------*/
.btnBorderLogo {
  border: 4px solid #522A13;
  border-radius: 50vh;
  padding: 28px 44px;
  color: #522A13;
}
@media screen and (max-width: 767px) {
  .btnBorderLogo {
    border: 3px solid #522A13;
    padding: 16px 32px;
  }
}
.btnBorderLogo .textMain {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .btnBorderLogo .textMain {
    font-size: 15px;
  }
}
.btnBorderLogo .logoImg {
  margin-right: auto;
  margin-left: auto;
  vertical-align: middle;
}
.btnBorderLogo .icon-eLink {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
}
@media screen and (max-width: 767px) {
  .btnBorderLogo .icon-eLink {
    min-width: 180px;
  }
}
.btnBorderLogo .icon-eLink::after {
  content: "\f08e";
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  padding: 0 0 3px 2px;
  font-size: 20px;
  margin-left: 16px;
}
@media screen and (max-width: 767px) {
  .btnBorderLogo .icon-eLink::after {
    font-size: 17px;
    margin-left: 12px;
  }
}
.btnBorderLogo .icon-PDF {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
}
@media screen and (max-width: 767px) {
  .btnBorderLogo .icon-PDF {
    min-width: 180px;
  }
}
.btnBorderLogo .icon-PDF::after {
  content: "";
  background: url(img/icon_PDF.png);
  background-size: contain;
  padding: 0 0 3px 2px;
  margin-left: 16px;
  display: block;
  width: 34px;
  height: 34px;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .btnBorderLogo .icon-PDF::after {
    margin-left: 12px;
    width: 28px;
    height: 28px;
  }
}

.btnBorderLogo .logo_compass {
  max-width: 100px;
  height: auto;
}

.textLink-icon {
  color: #522A13;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 8px;
}
.textLink-icon::after {
  content: "\f054";
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  padding: 2px 0 0 0;
  font-size: 20px;
}
.textLink-icon.size-xxs {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .textLink-icon.size-xxs {
    font-size: 12px;
  }
}
.textLink-icon.size-xs {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  margin-top: 0.6rem;
}
@media screen and (max-width: 767px) {
  .textLink-icon.size-xs {
    font-size: 14px;
  }
}
.textLink-icon.size-sm {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .textLink-icon.size-sm {
    font-size: 15px;
  }
}
.textLink-icon.size-md {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .textLink-icon.size-md {
    font-size: 17px;
  }
}

/* 
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: #522A13;
}
@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.06);
  color: #522A13;
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  text-align: center;
  line-height: 30px;
}
.m-pagenation__body li.-current {
  background: #522A13;
  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.06);
  color: #522A13;
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  text-align: center;
  line-height: 30px;
}

.post-pagenavi .current {
  background: #522A13;
  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: #522A13;
}

.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: #828181;
}
@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: left;
  line-height: 1.4;
  font-weight: 500;
  color: #575757;
}
@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: 50vh;
  background-color: #522A13;
}
@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.3rem;
  border-radius: 50vh;
  background-color: #522A13;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .postMeta__category > a {
    font-size: 12px;
  }
}

/*=========
アーカイブ系
===============*/
.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;
}
@media screen and (max-width: 767px) {
  .singlePage_wrapper {
    padding-left: 4%;
    padding-right: 4%;
  }
}

.pageTitle-single {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.6;
  text-align: left;
  color: #522A13;
}
@media screen and (max-width: 767px) {
  .pageTitle-single {
    font-size: 24px;
  }
}

.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.3rem;
}

.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;
  line-height: 1.4;
  color: #522A13;
  margin-top: 0.5em;
}
@media screen and (max-width: 767px) {
  .singlePage__container h2 {
    font-size: 17px;
  }
}
.singlePage__container p {
  line-height: 1.7;
  margin-bottom: 0.2em;
}

.wp-block-image {
  text-align: center;
  margin-top: 0.6rem;
  margin-bottom: 1.6rem;
  padding-left: 4%;
  padding-right: 4%;
}
.wp-block-image img {
  height: auto;
  width: 100%;
  vertical-align: bottom;
}
.wp-block-image + .wp-block-image {
  margin-top: 1.6rem;
}

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

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

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

.lang-switch-btn {
  color: #522A13;
  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: #ebecdf;
}

.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: #ebecdf;
  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: #f6f7ed;
  position: absolute;
  top: 0;
  left: 0;
}

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

.langlists__item:hover {
  background-color: #e3e4d5;
}
.langlists__item:hover a {
  color: #522A13;
}

.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: #522A13;
  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 */