html {
  font-size: 100%;
  -webkit-font-smoothing: antialiased
}

body {
  margin: 0;
  color: #231815;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: none;
  font-style: normal;
  font-optical-sizing: auto;
  position: relative;
  font-feature-settings: "palt";
  letter-spacing: .025em
}

@media screen and (max-width: 959px) {
  body {
    font-size: 3.7333333333vw
  }
}

body.is-fixed {
  position: fixed;
  width: 100%
}

a {
  text-decoration: none
}

@media(hover: hover)and (pointer: fine) {
  a[href^="tel:"] {
    pointer-events: none
  }
}

ol,
ul {
  margin: 0;
  padding: 0
}

li {
  list-style: none
}

img,
svg,
video {
  width: 100%;
  height: auto;
  vertical-align: bottom
}

table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse
}

table th,
table td {
  word-break: break-all
}

input::-ms-clear {
  display: none
}

[data-js-focus-visible]:focus:not([data-focus-visible-added]) {
  outline: none
}

[aria-hidden=false] {
  visibility: visible
}

[aria-hidden=true] {
  display: none;
  visibility: hidden
}

@media screen and (max-width: 959px) {
  .wrapper {
    contain: paint
  }
}

@media screen and (max-width: 959px) {
  .for-pc {
    display: none !important
  }
}

@media screen and (min-width: 960px),
print {
  .for-sp {
    display: none !important
  }
}

.is-fade {
  opacity: 0;
  transform: translateY(60px);
  transition: opacity 500ms ease, transform 500ms ease
}

@media screen and (max-width: 959px) {
  .is-fade {
    transform: translateY(8vw)
  }
}

.is-fade.is-show {
  opacity: 1;
  transform: translateY(0)
}

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

body {
  margin: 0
}

main {
  display: block
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none
}

dt {
  font-weight: bold
}

dd {
  margin-left: 0
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit
}

pre {
  font-family: monospace, monospace;
  font-size: inherit
}

address {
  font-style: inherit
}

a {
  background-color: rgba(0, 0, 0, 0);
  text-decoration: none;
  color: inherit
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}

b,
strong {
  font-weight: bolder
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit
}

small {
  font-size: 80%
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -0.25em
}

sup {
  top: -0.5em
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
  /*-webkit-appearance:none;appearance:none;*/
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: rgba(0, 0, 0, 0);
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default
}

:-moz-focusring {
  outline: auto
}

select:disabled {
  opacity: inherit
}

option {
  padding: 0
}

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0
}

legend {
  padding: 0
}

progress {
  vertical-align: baseline
}

textarea {
  overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

[type=number] {
  -moz-appearance: textfield
}

label[for] {
  cursor: pointer
}

details {
  display: block
}

summary {
  display: list-item
}

[contenteditable]:focus {
  outline: auto
}

table {
  border-color: inherit;
  border-collapse: collapse
}

caption {
  text-align: left
}

td,
th {
  vertical-align: top;
  padding: 0
}

th {
  text-align: left;
  font-weight: bold
}

html {
  font-size: 100%;
  -webkit-font-smoothing: antialiased
}

body {
  margin: 0;
  color: #231815;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: none;
  position: relative;
  font-feature-settings: "palt";
  letter-spacing: .025em
}

@media screen and (max-width: 959px) {
  body {
    font-size: 3.7333333333vw
  }
}

body.is-fixed {
  position: fixed;
  width: 100%
}

a {
  text-decoration: none
}

@media(hover: hover)and (pointer: fine) {
  a[href^="tel:"] {
    pointer-events: none
  }
}

ol,
ul {
  margin: 0;
  padding: 0
}

li {
  list-style: none
}

img,
svg,
video {
  width: 100%;
  height: auto;
  vertical-align: bottom
}

table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse
}

table th,
table td {
  word-break: break-all
}

input::-ms-clear {
  display: none
}

[data-js-focus-visible]:focus:not([data-focus-visible-added]) {
  outline: none
}

[aria-hidden=false] {
  visibility: visible
}

[aria-hidden=true] {
  display: none;
  visibility: hidden
}

@media screen and (max-width: 959px) {
  .wrapper {
    contain: paint
  }
}

@media screen and (max-width: 959px) {
  .for-pc {
    display: none !important
  }
}

@media screen and (min-width: 960px),
print {
  .for-sp {
    display: none !important
  }
}

.is-fade {
  opacity: 0;
  transform: translateY(60px);
  transition: opacity 500ms ease, transform 500ms ease
}

@media screen and (max-width: 959px) {
  .is-fade {
    transform: translateY(8vw)
  }
}

.is-fade.is-show {
  opacity: 1;
  transform: translateY(0)
}

.js-fadeup {
  opacity: 0;
  transform: translateY(100px);
  transition: opacity .8s, transform .8s
}

.js-fadeup.is-inview {
  opacity: 1;
  transform: translateY(0);
  transition-delay: .5s
}

@keyframes kvArrow01 {
  0% {
    transform: translateY(0);
    opacity: 0
  }

  100% {
    transform: translateY(20px);
    opacity: 1
  }
}

@keyframes kvArrow02 {
  0% {
    transform: translateY(0);
    opacity: 0
  }

  100% {
    transform: translateY(20px);
    opacity: 1
  }
}

@keyframes underline {
  from {
    transform: scale(0, 1)
  }

  to {
    transform: scale(1, 1)
  }
}

.btn-wrap {
  margin-top: 130px
}

.btn-wrap-doumin {
  margin-top: 10px
}

@media screen and (max-width: 959px) {
  .btn-wrap {
    margin-top: 50px
  }
}

.btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 30px;
  width: 425px;
  max-width: 425px;
  width: min(22.13vw, 425px);
  border: 2px solid #231815
}

@media screen and (max-width: 959px) {
  .btn {
    width: 100%;
    height: 56px;
    padding: 0 30px;
    border-width: 4px
  }
}

.btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 10px;
  height: 20px;
  background: url(/assets/images/btn-arrow.svg) no-repeat center center/contain;
  background-repeat: no-repeat
}

@media screen and (max-width: 959px) {
  .btn::before {
    background: url(/assets/images/sp/btn-arrow.svg) no-repeat center center/contain
  }
}

.btn__txt {
  font-size: 20px;
  line-height: 1;
  font-family: "Noto Serif JP", serif;
  text-align: center
}

@media screen and (max-width: 959px) {
  .btn__txt {
    font-size: 16px
  }
}

.detail-list {
  margin-top: 30px;
  padding-top: 30px;
  display: flex;
  border-top: 1px solid #898989
}

@media screen and (max-width: 959px) {
  .detail-list {
    margin-top: 20px;
    padding-top: 20px
  }
}

.detail-list:first-of-type {
  border-top: none
}

@media screen and (max-width: 959px) {
  .detail-list:first-of-type {
    padding-top: 0
  }
}

.detail-list__label {
  flex-shrink: 0;
  width: 114px;
  font-size: 16px;
  line-height: 1.8;
  font-family: "Noto Serif JP", serif;
  word-break: keep-all
}

@media screen and (max-width: 959px) {
  .detail-list__label {
    width: 68px;
    font-size: 12px
  }
}

.detail-list__txt {
  font-size: 16px;
  line-height: 1.8;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .detail-list__txt {
    font-size: 12px
  }
}

.footer {
  padding: 0 40px 40px;
  background: #efefef
}

@media screen and (max-width: 959px) {
  .footer {
    padding: 30px 20px 30px
  }
}

.footer__inner {
  position: relative;
  margin: 0 auto;
  padding-top: 40px;
  max-width: 1500px
}

@media screen and (max-width: 959px) {
  .footer__inner {
    padding-top: 0;
    max-width: none
  }
}

.footer__menu {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 20px;
  margin-right: 40px;
  margin-top: 16px
}

@media screen and (max-width: 959px) {
  .footer__menu {
    margin-right: 0;
    padding-bottom: 0;
    margin-top: 30px
  }
}

.footer__menu-item {
  font-size: 16px;
  line-height: 1.5;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .footer__menu-item {
    width: 100%;
    font-size: 12px;
    line-height: 1;
    text-align: center
  }
}

.footer__menu-link {
  position: relative
}

.footer__menu-link::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #1a1311
}

.footer__menu-link:hover::before {
  width: 100%;
  animation: underline ease 500ms
}

.footer__menu-item:nth-of-type(n+2) {
  margin-left: 40px
}

@media screen and (max-width: 959px) {
  .footer__menu-item:nth-of-type(n+2) {
    margin-left: 0;
    margin-top: 20px
  }
}

.footer__sns {
  display: flex;
  flex-wrap: wrap
}

@media screen and (max-width: 959px) {
  .footer__sns {
    justify-content: center
  }
}

.footer__sns-item {
  width: 60px
}

@media screen and (max-width: 959px) {
  .footer__sns-item {
    width: 50px
  }
}

.footer__sns-item img {
  max-width: 100%
}

.footer__sns-item:nth-of-type(n+2) {
  margin-left: 40px
}

@media screen and (max-width: 959px) {
  .footer__sns-item:nth-of-type(n+2) {
    margin-left: 33px
  }
}

.footer__sns-icon {
  transition: 500ms ease
}

.footer__sns-icon:hover {
  opacity: .6
}

.footer__logo {
  margin: 50px auto 0;
  width: 100%;
  max-width: 432px
}

@media screen and (max-width: 959px) {
  .footer__logo {
    margin-top: 30px;
    max-width: 295px
  }
}

.footer__logo img {
  display: inline-block;
  max-width: 100%;
  object-fit: cover
}

.footer__copy {
  display: block;
  margin-top: 30px;
  text-align: center;
  font-size: 14px;
  line-height: 1;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .footer__copy {
    margin-top: 20px;
    font-size: 10px;
    line-height: 2.1
  }
}

.footer__note {
  font-size: 14px;
  line-height: 1.5;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  margin-top: 30px
}

@media screen and (max-width: 959px) {
  .footer__note {
    font-size: 10px;
    margin-top: 20px
  }
}

.footer__info {
  margin-top: 45px;
  display: flex;
  flex-direction: column;
  align-items: center
}

@media screen and (max-width: 959px) {
  .footer__info {
    margin-top: 20px
  }
}

.footer__info__address {
  font-size: 14px
}

@media screen and (max-width: 959px) {
  .footer__info__address {
    font-size: 10px
  }
}

.footer__info__list {
  margin-top: 30px
}

@media screen and (max-width: 959px) {
  .footer__info__list {
    margin-top: 20px
  }
}

.footer__info__list__item {
  font-size: 14px
}

@media screen and (max-width: 959px) {
  .footer__info__list__item {
    font-size: 10px;
    line-height: 2
  }
}

@media screen and (min-width: 960px),
print {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    padding: 30px calc(1.5em + 20px + 2.6vw) 30px 2.6vw;
    width: 100%;
    transition: .3s
  }

  .header__inner {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    position: relative
  }

  .header__logo {
    width: 173px;
    position: absolute;
    top: 0;
    left: 0;
    transition: .3s
  }

  .header__logo img {
    display: inline-block;
    max-width: 100%
  }

  .header__logo-link {
    transition: opacity 500ms ease
  }
}
@media screen and (min-width: 960px)and (hover: hover)and (pointer: fine),
print and (hover: hover)and (pointer: fine) {
  .header__logo-link:hover {
    opacity: .6
  }
}
@media screen and (min-width: 960px),
print {
  .header.float {
    background: #fff
  }

  .header.float .header__logo {
    width: 78px;
    top: 50%;
    transform: translateY(-50%)
  }

  .header.float .gnav__link {
    color: #231815
  }

  .header.float .gnav__link::before {
    background-color: #231815
  }

  .header.float .gnav__btn {
    border-color: #231815;
    color: #231815
  }

  .header.float .gnav__btn:hover {
    color: #fff;
    background: #231815
  }

  .header.float .gt_container--hich1m .gt_switcher .gt_selected a {
    color: #231815 !important
  }

  .header.float .gt_container--hich1m .gt_switcher .gt_selected a::after {
    border-color: #231815 !important
  }

  .header.float .gt_container--hich1m .gt_switcher .gt_option a {
    color: #231815 !important
  }

  .header.float .gt_container--hich1m .gt_switcher .gt_option a::after {
    border-color: #231815 !important
  }

  .gnav__list {
    display: flex;
    align-items: center
  }

  .gnav__item {
    margin-left: 1vw
  }

  .gnav__link {
    position: relative;
    display: inline-block;
    padding-bottom: 2px;
    font-size: min(.83vw, 16px);
    font-weight: bold;
    line-height: 1.5;
    color: #231815;
    transition: .3s;
    transition: opacity 500ms ease
  }
}


@media screen and (min-width: 960px)and (hover: hover)and (pointer: fine),
print and (hover: hover)and (pointer: fine) {
  .gnav__link:hover {
    opacity: .6
  }
}

@media screen and (min-width: 960px),
print {
  .gnav__link::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: #231815
  }

  .gnav__link:hover::before {
    width: 100%;
    animation: underline ease 500ms
  }

  .gnav__btn {
    display: inline-block;
    padding: 1em;
    font-size: min(.83vw, 16px);
    font-weight: bold;
    line-height: 1;
    color: #231815;
    border: 4px solid #231815;
    transition: ease .3s
  }

  .gnav__btn:hover {
    background: #231815;
    color: #fff
  }

  .gnav__logo {
    display: none
  }

  .gnav__50thlogo {
    position: relative;
    width: 38px
  }

  .gnav__50thlogo img {
    transition: .3s
  }

  .gnav__50thlogo img[data-item="2"] {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0
  }

  .lang-list-trigger {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: min(.83vw, 16px);
    font-weight: bold;
    line-height: 1.5;
    color: #fff;
    cursor: pointer;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition: opacity 500ms ease
  }
}

@media screen and (min-width: 960px)and (hover: hover)and (pointer: fine),
print and (hover: hover)and (pointer: fine) {
  .lang-list-trigger:hover {
    opacity: .6
  }
}

@media screen and (min-width: 960px),
print {
  .lang-list-trigger::before {
    content: "";
    order: 1;
    margin-left: 9px;
    width: 15px;
    height: 9px;
    background: url(/assets/images/gnav-arrow.svg) center center/contain;
    background-repeat: no-repeat;
    transition: transform ease .3s
  }

  .lang-list-trigger.is-rotate::before {
    transform: rotate(180deg)
  }

  .lang-list {
    position: absolute;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-20%);
    transition: ease .3s;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
  }

  .lang-list.is-active {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    -webkit-user-select: auto;
    -ms-user-select: auto;
    user-select: auto
  }

  .lang-list__link {
    font-size: min(.83vw, 16px);
    font-weight: bold;
    line-height: 1;
    color: #fff;
    transition: opacity 500ms ease
  }
}

@media screen and (min-width: 960px)and (hover: hover)and (pointer: fine),
print and (hover: hover)and (pointer: fine) {
  .lang-list__link:hover {
    opacity: .6
  }
}

@media screen and (max-width: 959px) {
  .header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    right: 0;
    left: 0;
    z-index: 999
  }

  .header__inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
  }

  .header__logo {
    display: none
  }

  .menu-50th-sp {
    width: auto;
    height: 100vh;
    position: absolute;
  }

  .header__btn {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
    width: 56px;
    height: 56px;
    border-radius: 50%
  }

  .he-01 .header__btn {
    position: fixed;
  }

  .menu-50th-sp .header__btn {
    top:24px;
    right:16px;
  }

  .header__bar {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 28px;
    height: 3px;
    transition: 500ms ease;
    background-color: #231815;
    transition: .3s
  }

  .header__bar:nth-child(1) {
    z-index: 1;
    transform: translate(-50%, -12px)
  }

  .is-active .header__bar:nth-child(1) {
    transform: translate(-50%, -50%) rotate(135deg)
  }

  .header__bar:nth-child(2) {
    transform: translate(-50%, -50%)
  }

  .is-active .header__bar:nth-child(2) {
    opacity: 0
  }

  .header__bar:nth-child(3) {
    transform: translate(-50%, 9px)
  }

  .is-active .header__bar:nth-child(3) {
    transform: translate(-50%, -50%) rotate(-135deg)
  }

  .header.float .gnav {
    background: #fff
  }

  .header.float .gnav__btn {
    border-color: #231815;
    color: #231815
  }

  .header.float .gnav__logo__img {
    opacity: 1
  }

  .header.float .header__bar {
    background-color: #231815
  }

  .gnav {
    transition: .3s;
    position: relative
  }

  .gnav__list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 76px;
    margin-right: 70px
  }


  .gnav__btn {
    display: flex;
    align-items: center;
    height: 28px;
    padding: 0 4px 1px;
    border: 3px solid #231815;
    transition: .3s
  }

  .gnav__drawer {
    position: absolute;
    top: 0;
    right: 0;
    overflow-y: auto;
    width: 268px;
    background-color: #fff;
    height: calc(var(--vh, 1vh)*100);
    height: 100svh;
    text-align: center;
    transform: translateX(100%);
    transition: ease-in-out .3s
  }

  .he-01 .gnav__drawer {
    position:fixed;
  }
  .gnav__drawer.is-hide {
    display: none;
  }

  header.is-active .gnav__drawer {
    display: block;
  }

  .page-modules .gnav__drawer {
    right:-50px;
  }

  .is-active .gnav__drawer {
    transform: translateX(0);
    right:0;
  }

  .gnav__logo {
    display: block;
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%)
  }
  .he-01 .gnav__logo {
    display: none;
  }

  .gnav__logo__img {
    width: 80px;
    transition: .3s;
    opacity: 0
  }

  .gnav__50thlogo {
    width: 60px;
    margin: 0 auto
  }

  .gnav-drawer {
    font-size: 16px
  }

  .gnav-drawer__list {
    margin-bottom: 52px;
    padding-top: 52px
  }

  .gnav-drawer__item {
    line-height: 2;
    margin-bottom: 16px
  }

  .gnav-drawer__sns {
    display: flex;
    justify-content: space-between;
    width: 220px;
    margin: 0 auto 22px
  }

  .gnav-drawer__sns-icon {
    display: block;
    width: 49px
  }

  .gnav-drawer__translate {
    padding-bottom: 56px
  }
}

.header .gt_container--hich1m .gt_switcher {
  position: absolute;
  top: 8px;
  font-family: "Noto Serif JP", serif;
  line-height: 2;
  width: calc(1.5em + 20px)
}

.page-modules .header .gt_container--hich1m .gt_switcher {
  position: relative;
  top:0;
  font-family: "Noto Serif JP", serif;
  line-height: 2;
  width: calc(1.5em + 20px);
  width: 100%;
}

/*.page-modules .container {
  overflow: visible;
}*/
@media screen and (max-width: 959px) {
  .header .gt_container--hich1m .gt_switcher {
    position: static;
    overflow: visible;
    width: 100%;
    line-height: 2;
    text-align: center
  }
}

.header .gt_container--hich1m .gt_switcher .gt_selected {
  background: none
}

@media screen and (max-width: 959px) {
  .header .gt_container--hich1m .gt_switcher .gt_selected {
    display: inline
  }
}

.header .gt_container--hich1m .gt_switcher .gt_option {
  background: none;
  border: 0
}

@media screen and (max-width: 959px) {
  .header .gt_container--hich1m .gt_switcher .gt_option {
    display: inline !important
  }
}

.header .gt_container--hich1m .gt_switcher .gt_selected a:after {
  top: 50%;
  right: 5px;
  width: 10px;
  height: 10px;
  border-top: solid 2px #231815;
  border-right: solid 2px #231815;
  background: none;
  transform: translateY(-50%) rotate(-45deg) scale(-1)
}

@media screen and (max-width: 959px) {
  .header .gt_container--hich1m .gt_switcher .gt_selected a:after {
    display: none
  }
}

.header .gt_container--hich1m .gt_switcher .gt_selected a.open:after {
  top: 50%;
  right: 5px;
  transform: translateY(0) rotate(-45deg) scale(1);
  transform-origin: center center
}

.header .gt_container--hich1m .gt_switcher a {
  opacity: 0
}

@media screen and (min-width: 960px),
print {
  .header .gt_container--hich1m .gt_switcher a {
    font-size: min(.83vw, 16px)
  }
}

@media screen and (max-width: 959px) {
  .header .gt_container--hich1m .gt_switcher a {
    display: inline;
    font-size: 16px;
    padding: 0
  }
}

.header .gt_container--hich1m .gt_switcher a.is-show {
  opacity: 1
}

@media screen and (max-width: 959px) {
  .header .gt_container--hich1m .gt_switcher a.gt_current {
    display: none
  }
}

.header .gt_container--hich1m .gt_switcher .gt_selected a {
  position: relative;
  width: auto;
  padding: 0 20px 0 0;
  border: 0;
  color: #231815;
  transition: .3s
}

@media screen and (max-width: 959px) {
  .header .gt_container--hich1m .gt_switcher .gt_selected a {
    padding: 0;
    text-decoration: underline
  }
}

.header .gt_container--hich1m .gt_switcher .gt_selected a::after {
  transition: .3s
}

.header .gt_container--hich1m .gt_switcher .gt_option a {
  position: relative;
  width: auto;
  padding: 0 20px 0 0;
  border: 0;
  color: #231815
}

@media screen and (max-width: 959px) {
  .header .gt_container--hich1m .gt_switcher .gt_option a {
    padding: 0
  }
}

.header .gt_container--hich1m .gt_switcher .gt_selected a:hover,
.header .gt_container--hich1m .gt_switcher .gt_option a:hover {
  text-decoration: underline;
  background: none
}

.header .gt_container--hich1m .gt_switcher .gt_option {
  width: auto
}

@media screen and (max-width: 959px) {
  .header .gt_container--hich1m .gt_switcher .gt_option {
    display: inline
  }
}

@media screen and (max-width: 959px) {
  .header .gt_container--hich1m .gt_switcher .nturl::before {
    content: " / "
  }
}

.header .gt_container--hich1m .gt_switcher a img {
  display: none
}

.inner {
  margin: 0 auto;
  max-width: 1920px
}

@media screen and (max-width: 959px) {
  .inner {
    max-width: none
  }
}

.page-inner {
  margin: 0 auto;
  max-width: 1920px;
  padding: 0 min(10.9vw, 210px) 230px
}

@media screen and (max-width: 959px) {
  .page-inner {
    max-width: none;
    padding: 0 0 100px
  }
}


.page-links .links-btn__link,
.page-links a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 22px;
  width: 100%;
  transition: ease 500ms
}

@media screen and (max-width: 959px) {
  .page-links .links-btn__link,
  .page-links a {
    padding: 13px
  }
}

.page-links .links-btn__link span,
.page-links a {
  display: block;
  font-size: 28px;
  font-family: "Noto Serif JP", serif;
  line-height: 1
}

@media screen and (max-width: 959px) {
  .page-links .links-btn__link span,
  .page-links a {
    font-size: 20px
  }
}

.link {
  display: block
}

.link .link-txt,
.link a {
  position: relative;
  padding: 0 .5em 4px;
  font-size: 16px;
  font-size: min(.83vw, 16px);
  line-height: .6666666667;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .link .link-txt,
  .link a {
    font-size: 10px;
    line-height: 2
  }
}

.link .link-txt::before,
.link a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #1a1311
}

.link .link-txt:hover::before,
.link a:hover::before {
  animation: underline ease 500ms forwards
}

.link:nth-of-type(n+2) {
  margin-top: 30px
}

.page-contents {
  max-width: 1500px
}

.page-contents__lead {
  margin-top: 50px;
  font-size: 20px;
  line-height: 1.8;
  font-family: "Noto Serif JP", serif;
  text-align: center
}

@media screen and (max-width: 959px) {
  .page-contents__lead {
    margin: 30px 10.66vw 0;
    font-size: 12px;
    text-align: left
  }
}

.page-contents__ttl {
  margin-top: 230px;
  font-size: 40px;
  line-height: 1.4;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  letter-spacing: -0.01em
}

@media screen and (max-width: 959px) {
  .page-contents__ttl {
    margin-top: 100px;
    font-size: 24px;
    line-height: 1.8
  }
}

.page-contents__ttl--sm {
  display: block;
  font-size: 34px;
  line-height: 1.6;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .page-contents__ttl--sm {
    font-size: 16px
  }
}

.page-contents__row {
  margin-top: 230px;
  display: flex;
  justify-content: space-between;
  gap: 50px
}

@media screen and (max-width: 959px) {
  .page-contents__row {
    display: block;
    margin-top: 100px
  }
}

.page-contents__row--reverse {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 50px;
  margin-top: 230px
}

@media screen and (max-width: 959px) {
  .page-contents__row--reverse {
    display: block;
    margin-top: 100px;
    margin-left: auto;
    margin-right: 0
  }
}

.page-contents__img-col {
  width: 58.3%
}

.page-contents__img-col-3set {
  width: 50%;
}

.page-contents__img-col-2set {
  display: flex;
  justify-content: space-between;
  padding-top: 16px;
}

.page-contents__img-col-2set picture:first-child {
  padding-right:8px;
}

.page-contents__img-col-2set picture:last-child {
  padding-left:8px;
}

@media screen and (max-width: 959px) {
  .page-contents__img-col,
  .page-contents__img-col-3set {
    width: 94.66%;
    max-width: none
  }
  .page-contents__img-col-2set {
    width:100%;
  }
  .page-contents__img-col-2set picture {
    width: 50%;
  }
}

.page-contents__row--reverse .page-contents__img-col,
.page-contents__row--reverse .page-contents__img-col-3set {
  margin-left: auto
}

.page-contents__txt-col {
  flex-shrink: 0;
  width: 38.3%
}

@media screen and (max-width: 959px) {
  .page-contents__txt-col {
    margin: 0 auto;
    padding-top: 20px;
    width: 78.66%
  }
}

.page-contents__sb-ttl {
  font-size: 28px;
  line-height: 1.5;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .page-contents__sb-ttl {
    font-size: 16px;
    line-height: 1.8
  }
}

.page-contents__sb-ttl+.page-contents__txt {
  margin-top: 40px
}

@media screen and (max-width: 959px) {
  .page-contents__sb-ttl+.page-contents__txt {
    margin-top: 30px
  }
}

.page-contents__txt-col-sb-ttl {
  font-size: 24px;
  line-height: 1.8
}

.page-contents__txt {
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  line-height: 1.7916666667
}

@media screen and (max-width: 959px) {
  .page-contents__txt {
    font-size: 12px
  }
}

.page-links {
  padding-top: 230px
}

@media screen and (max-width: 959px) {
  .page-links {
    padding: 100px 10.66vw 0
  }
}

.page-links .links-btn,
.page-links .links-btn ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2%;
  width: 100%
}

@media screen and (max-width: 959px) {
  .page-links .links-btn,
  .page-links .links-btn ul {
    gap: 10px
  }
}

.page-links .links-btn__item {
  width: 31.067%;
  background: #efefef;
  box-shadow: 0px 10px 15px 2px rgba(0, 0, 0, .05);
  border-radius: 10px
}

.page-links .links-btn__item:hover .links-btn__link,
.page-links .links-btn__item:hover a {
  background: #fff;
  box-shadow: 0px 10px 15px 2px rgba(0, 0, 0, .05);
  border-radius: 10px
}

@media screen and (max-width: 959px) {
  .page-links .links-btn__item {
    width: calc(50% - 5px);
    background: #fff;
    box-shadow: 0px 5px 7.5px 2px rgba(0, 0, 0, .1)
  }
}

.page-links .links-btn__link,
.page-links a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 22px;
  width: 100%;
  transition: ease 500ms
}

@media screen and (max-width: 959px) {
  .page-links .links-btn__link,
  .page-links a {
    padding: 13px
  }
}

.page-links .links-btn__link span,
.page-links a {
  display: block;
  font-size: 28px;
  font-family: "Noto Serif JP", serif;
  line-height: 1
}

@media screen and (max-width: 959px) {
  .page-links .links-btn__link span,
  .page-links a {
    font-size: 20px
  }
}

.page-links .links-btn__link span small {
  display: block;
  margin-top: 10px;
  font-size: 20px
}

@media screen and (max-width: 959px) {
  .page-links .links-btn__link span small {
    font-size: 12px
  }
}

.page-links .links-contents__item {
  margin-top: 200px;
  padding-top: 30px
}

@media screen and (max-width: 959px) {
  .page-links .links-contents__item {
    margin-top: 70px
  }
}

.page-links .links-contents__item:first-child {
  margin-top: 80px
}

@media screen and (max-width: 959px) {
  .page-links .links-contents__item:first-child {
    margin-top: 40px
  }
}

.page-links .links-contents__item:last-child .links-contents__row:last-child {
  margin-bottom: 0
}

.page-links .links-contents__ttl {
  font-size: 40px;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  line-height: 1.8
}

@media screen and (max-width: 959px) {
  .page-links .links-contents__ttl {
    font-size: 24px
  }
}

.page-links .links-contents__label {
  font-size: 28px;
  font-family: "Noto Serif JP", serif;
  text-align: center
}

@media screen and (max-width: 959px) {
  .page-links .links-contents__label {
    font-size: 16px;
    text-align: left
  }
}

.page-links .links-contents__lead {
  margin-top: 50px;
  font-size: 20px;
  line-height: 1.7;
  font-family: "Noto Serif JP", serif;
  text-align: center
}

@media screen and (max-width: 959px) {
  .page-links .links-contents__lead {
    margin-top: 30px;
    font-size: 12px;
    text-align: left
  }
}

.page-links .links-contents .links-contents__label+.links-contents__lead {
  margin-top: 30px
}

@media screen and (max-width: 959px) {
  .page-links .links-contents .links-contents__label+.links-contents__lead {
    margin-top: 15px
  }
}

.page-links .links-contents__winery {
  margin-top: 50px
}

@media screen and (max-width: 959px) {
  .page-links .links-contents__winery {
    margin-top: 30px
  }
}

.page-links .links-contents__sb-ttl {
  margin-bottom: 40px;
  font-size: 28px;
  font-family: "Noto Serif JP", serif;
  line-height: 1.8
}

@media screen and (max-width: 959px) {
  .page-links .links-contents__sb-ttl {
    margin-bottom: 20px;
    font-size: 16px
  }
}

.page-links .links-contents__row,
.page-links .links-contents__row .advgb-columns-container {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
  margin-bottom: 130px
}

@media screen and (max-width: 959px) {
  .page-links .links-contents__row,
  .page-links .links-contents__row .advgb-columns-container {
    display: block;
    margin-top: 15px;
    margin-bottom: 50px
  }
}

.page-links .links-contents__row--reverse,
.page-links .links-contents__row--reverse, .advgb-columns-container {
  flex-direction: row-reverse
}

.page-links .links-contents__ph,
.page-links .links-contents__ph .advgb-column-inner  {
  flex-shrink: 0;
  width: 58.3%
}

@media screen and (max-width: 959px) {
  .page-links .links-contents__ph,
  .page-links .links-contents__ph .advgb-column-inner {
    width: 100%
  }
}

.page-links .links-contents__ph img,
.page-links .links-contents__ph .advgb-column-inner img {
  display: inline-block;
  max-width: 100%
}

.page-links .links-contents__col,
.page-links .links-contents__col .advgb-column-inner {
  width: 38.3%;
  max-width: 750px
}

@media screen and (max-width: 959px) {
  .page-links .links-contents__col,
  .page-links .links-contents__col .advgb-column-inner {
    margin-top: 15px;
    margin-left: 0;
    width: 100%
  }
}

.page-links .links-contents__txt {
  font-size: 20px;
  line-height: 1.7;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .page-links .links-contents__txt {
    font-size: 12px
  }
}

.page-links .links-contents__map {
  margin-top: 30px;
  width: 300px
}

@media screen and (max-width: 959px) {
  .page-links .links-contents__map {
    margin-top: 15px;
    width: 100%
  }
}

.page-links .links-contents__map img {
  display: inline-block;
  max-width: 100%;
  object-fit: cover
}

.page-tab {
  margin-top: 60px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2%;
  width: 100%
}

@media screen and (max-width: 959px) {
  .page-tab {
    gap: 10px
  }
}

.page-tab__item {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 22px;
  width: calc(16% - 15px);
  color: #676767;
  background: #efefef;
  box-shadow: 0px 10px 15px 2px rgba(0, 0, 0, .05);
  border-radius: 10px;
  cursor: pointer;
  transition: ease 500ms
}

.page-tab__item:hover {
  background: #fff;
  box-shadow: 0px 10px 15px 2px rgba(0, 0, 0, .05);
  border-radius: 10px
}

.page-tab__item.is-active {
  color: #231815;
  background: #fff;
  box-shadow: 0px 10px 15px 2px rgba(0, 0, 0, .05);
  border-radius: 10px
}

@media screen and (max-width: 959px) {
  .page-tab__item {
    padding: 13px;
    width: calc(50% - 5px);
    box-shadow: 0px 5px 7.5px 2px rgba(0, 0, 0, .1)
  }
}

.page-tab span {
  display: block;
  font-size: 16px;
  font-size: min(.83vw, 16pxpx);
  font-family: "Noto Serif JP", serif;
  line-height: 1
}

@media screen and (max-width: 959px) {
  .page-tab span {
    font-size: 20px
  }
}

.page-tab__contents-item {
  display: none;
  margin-top: 60px
}

.page-tab__contents-item.is-show {
  display: block
}

.page-about .hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  background: url(/assets/images/about/kv.png) center center/cover
}

@media screen and (max-width: 959px) {
  .page-about .hero {
    height: calc(var(--vh, 1vh)*100);
    position: relative
  }
}

@media screen and (max-width: 959px) {
  .page-about .hero__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 44px
  }
}

.page-about .hero__sp-logo {
  display: none
}

@media screen and (max-width: 959px) {
  .page-about .hero__sp-logo {
    display: block;
    width: 171px
  }
}

.page-about .hero__ttl {
  width: 50px
}

@media screen and (max-width: 959px) {
  .page-about .hero__ttl {
    width: 6.4vw;
    min-width: 24px
  }
}

.page-about .hero__text {
  font-size: 25px;
  color: #fff;
  margin-top: 30px;
  text-shadow: 0 0 10px #000;
  letter-spacing: .03em
}

@media screen and (max-width: 959px) {
  .page-about .hero__text {
    font-size: 14px;
    position: absolute;
    bottom: 84px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
  }
}

.page-brandlist .hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  background: url(/assets/images/brandlist/kv.png) center center/cover
}

@media screen and (max-width: 959px) {
  .page-brandlist .hero {
    height: calc(var(--vh, 1vh)*100);
    position: relative;
    background-image: url(/assets/images/brandlist/sp/kv.png)
  }
}

@media screen and (max-width: 959px) {
  .page-brandlist .hero__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 44px
  }
}

.page-brandlist .hero__sp-logo {
  display: none
}

@media screen and (max-width: 959px) {
  .page-brandlist .hero__sp-logo {
    display: block;
    width: 171px
  }
}

.page-brandlist .hero__ttl {
  width: 50px
}

@media screen and (max-width: 959px) {
  .page-brandlist .hero__ttl {
    width: 6.4vw;
    min-width: 24px
  }
}

.page-brandlist .hero__text {
  font-size: 25px;
  color: #fff;
  margin-top: 30px;
  text-shadow: 0 0 10px #194893;
  letter-spacing: .03em
}

@media screen and (max-width: 959px) {
  .page-brandlist .hero__text {
    font-size: 14px;
    position: absolute;
    bottom: 84px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
  }
}

.page-brandlist .page-links .links-btn__link {
  padding: 20px 10px
}

@media screen and (max-width: 959px) {
  .page-brandlist .page-links .links-btn__link {
    height: 66px;
    padding: 0 10px
  }
}

@media screen and (max-width: 959px) {
  .page-brandlist .page-links .links-btn__link span {
    line-height: 1.3
  }
}

.page-brandlist .page-links .links-btn .ls {
  font-feature-settings: "palt";
  letter-spacing: -0.2em
}

@media screen and (min-width: 960px),
print {
  .page-brandlist .page-links .links-btn__item {
    width: 21.8%
  }
}

@media screen and (min-width: 960px),
print {
  .page-brandlist .page-links .links-btn__item:nth-child(2) {
    width: 24.46%
  }
}

.page-brandlist .links-contents__ttl {
  text-align: center;
  line-height: 1.5
}

.page-brandlist .links-contents__ttl span {
  font-size: 20px;
  letter-spacing: .03em
}

@media screen and (max-width: 959px) {
  .page-brandlist .links-contents__ttl span {
    font-size: 12px
  }
}

@media screen and (max-width: 959px) {
  .page-brandlist .links-contents__item--takumi .links-contents__row {
    margin: 50px -10.66vw 0
  }
}

@media screen and (max-width: 959px) {
  .page-brandlist .links-contents__item--takumi .links-contents__row--reverse .links-contents__ph {
    margin-left: auto
  }
}

@media screen and (max-width: 959px) {
  .page-brandlist .links-contents__item--takumi .links-contents__col {
    width: 78.66%;
    margin: 20px auto 0;
    padding: 0
  }
}

@media screen and (max-width: 959px) {
  .page-brandlist .links-contents__item--takumi .links-contents__ph {
    width: 94.66%
  }
}

.page-brandlist .links-contents__lead {
  text-align: center;
  padding-bottom: 130px
}

@media screen and (max-width: 959px) {
  .page-brandlist .links-contents__lead {
    font-size: 16px;
    padding-bottom: 0
  }
}

.page-brandlist .links-contents__txt {
  margin-top: 60px
}

@media screen and (max-width: 959px) {
  .page-brandlist .links-contents__txt {
    margin-top: 20px
  }
}

.page-brandlist .links-contents__col {
  width: 39%
}

@media screen and (max-width: 959px) {
  .page-brandlist .links-contents__col {
    width: 100%
  }
}

.page-brandlist .link:first-of-type {
  margin-top: 50px
}

@media screen and (max-width: 959px) {
  .page-brandlist .link:first-of-type {
    margin-top: 20px
  }
}

.page-brandlist .float02 {
  position: fixed;
  bottom: 40px;
  right: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 188px;
  height: 153px;
  border: 3px solid #231815;
  background: #fff;
  opacity: 1;
  visibility: visible;
  transition: .3s
}

.page-tour .float02,
.tour-float02 {
  position: fixed;
  bottom: 40px;
  right: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 350px;
  height: 100px;
  border: 3px solid #231815;
  background: #983b55;
  color:#fff;
  opacity: 1;
  visibility: visible;
  transition: .3s;
  z-index:9999;
}

.top-float02 {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 350px;
  height: 100px;
  color:#fff;
  opacity: 1;
  visibility: visible;
  transition: .3s;
  z-index:9999;
}

/*オンラインショップのバツ印*/
.batsu {
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  top:0;
  right:0;
  cursor: pointer;
}

.top-float02 .batsu {
  top: -7px;
  right: -3px;
}

.batsu::before, .batsu::after { /* 共通設定 */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px; /* 棒の幅（太さ） */
  height: 20px; /* 棒の高さ */
  background: #fff;
}

.top-float02 .batsu::before, .top-float02 .batsu::after{
  background: #333;
}

.batsu::before {
  transform: translate(-50%,-50%) rotate(45deg);
}

.batsu::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}
@media screen and (max-width: 959px) {
  .batsu::before, .batsu::after {
    width: 3px; /* 棒の幅（太さ） */
    height: 15px; /* 棒の高さ */
  }
  .page-brandlist .float02,
  .brandlist-float02,
  .float02,
  .tour-float02 {
    bottom: 20px;
    right: 20px;
    width: 225px;
    height: 80px;
    border: 1px solid #231815
  }
  .top-float02 {
    right: 10px;
    bottom:10px;
  }
}

.page-brandlist .float02__link,
.brandlist-float02__link,
.tour-float02__link {
  font-size: 20px;
  line-height: 1.7;
  position: relative;
  transition: .3s
}

@media screen and (max-width: 959px) {
  .page-brandlist .float02__link,
  .brandlist-float02__link,
  .tour-float02__link {
    font-size: 12px
  }
}

.page-brandlist .float02__link:hover,
.brandlist-float02__link:hover,
.tour-float02__link:hover {
  opacity: .7
}

.page-brandlist .float02__arrow,
.brandlist-float02__arrow {
  position: absolute;
  bottom: 7px;
  right: 4px;
  width: 10px
}

.page-tours .float02__arrow,
.tour-float02__arrow {
  position: absolute;
  bottom: 7px;
  right: -20px;
  width: 10px
}

@media screen and (max-width: 959px) {
  .page-brandlist .float02__arrow,
  .brandlist-float02__arrow {
    bottom: 5px;
    right: 2px;
    width: 6px
  }
}

.page-brandlist .float02.hide,
.brandlist-float02.hide {
  opacity: 0;
  visibility: hidden
}

.page-brandlist .catalog-link {
  margin-top: 60px;
  display: flex;
  justify-content: flex-end
}

.page-challenge .hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  background: url(/assets/images/challenge/kv.jpg) center center/cover
}

@media screen and (max-width: 959px) {
  .page-challenge .hero {
    height: calc(var(--vh, 1vh)*100);
    position: relative
  }
}

@media screen and (max-width: 959px) {
  .page-challenge .hero__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 44px
  }
}

.page-challenge .hero__sp-logo {
  display: none
}

@media screen and (max-width: 959px) {
  .page-challenge .hero__sp-logo {
    display: block;
    width: 171px
  }
}

.page-challenge .hero__ttl {
  width: 50px
}

@media screen and (max-width: 959px) {
  .page-challenge .hero__ttl {
    width: 6.4vw;
    min-width: 24px
  }
}

.page-challenge .hero__text {
  font-size: 25px;
  color: #fff;
  margin-top: 30px;
  text-shadow: 0 0 10px #000;
  letter-spacing: .03em
}

@media screen and (max-width: 959px) {
  .page-challenge .hero__text {
    font-size: 14px;
    position: absolute;
    bottom: 84px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
  }
}

.page-challenge .challenge-block {
  margin-top: 230px
}

@media screen and (max-width: 959px) {
  .page-challenge .challenge-block {
    margin: 100px 10.66vw 0
  }
}

.page-challenge .challenge-block__ttl {
  margin-top: 230px;
  font-size: 40px;
  line-height: 1.4;
  font-family: "Noto Serif JP", serif;
  text-align: center
}

@media screen and (max-width: 959px) {
  .page-challenge .challenge-block__ttl {
    margin-top: 100px;
    font-size: 24px;
    line-height: 1.25;
    text-align: left
  }
}

.page-challenge .challenge-block__lead {
  margin-top: 50px;
  font-size: 24px;
  line-height: 1.8;
  text-align: left;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .page-challenge .challenge-block__lead {
    font-size: 16px;
    line-height: 1.8
  }
}

.page-challenge .challenge-block__contents {
  margin-top: 130px;
  margin-bottom: 230px
}

@media screen and (max-width: 959px) {
  .page-challenge .challenge-block__contents {
    margin-top: 50px;
    margin-bottom: 50px
  }
}

.page-challenge .challenge-block__contents:last-child {
  margin-bottom: 0
}

.page-challenge .challenge-block__sb-ttl {
  font-size: 34px;
  line-height: 1.5;
  font-family: "Noto Serif JP", serif
}

.page-challenge .challenge-block__row {
  margin-top: 25px;
  display: flex;
  justify-content: space-between
}

@media screen and (max-width: 959px) {
  .page-challenge .challenge-block__row {
    display: block
  }
}

.page-challenge .challenge-block__img {
  max-width: 720px
}

.page-challenge .challenge-block__col {
  margin-left: 30px;
  max-width: 750px
}

.page-challenge .challenge-block__txt {
  font-size: 24px;
  line-height: 1.8;
  font-family: "Noto Serif JP", serif
}

.page-challenge .challenge-block__list {
  margin-top: 40px
}

@media screen and (max-width: 959px) {
  .page-challenge .challenge-block__list {
    margin-top: 30px
  }
}

.page-challenge .challenge-block__list li {
  position: relative;
  margin-top: 25px;
  padding-left: 1em;
  font-size: 20px;
  line-height: 1.8;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .page-challenge .challenge-block__list li {
    margin-top: 16px;
    font-size: 12px
  }
}

.page-challenge .challenge-block__list li::before {
  content: "・";
  position: absolute;
  line-height: 1.8;
  left: 0
}

.page-challenge .challenge-block__list li:first-of-type {
  margin-top: 0
}

.page-challenge .challenge-block__img--sm {
  max-width: 410px
}

.page-challenge .challenge-block__col--sm {
  margin-left: 50px;
  max-width: none
}

.page-challenge .challenge-block:nth-of-type(n+2) {
  margin-top: 100px
}

.page-challenge .page-contents__row {
  margin-top: 0
}

.page-challenge .page-contents__img-col {
  width: 58.33%
}

@media screen and (max-width: 959px) {
  .page-challenge .page-contents__img-col {
    width: 100%
  }
}

.page-challenge .page-contents__txt-col {
  width: 39%
}

@media screen and (max-width: 959px) {
  .page-challenge .page-contents__txt-col {
    width: 100%
  }
}

.page-company .hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  background: url(/assets/images/company/kv_2.png) center center/cover
}

@media screen and (max-width: 959px) {
  .page-company .hero {
    height: calc(var(--vh, 1vh)*100);
    position: relative
  }
}

@media screen and (max-width: 959px) {
  .page-company .hero__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 44px
  }
}

.page-company .hero__sp-logo {
  display: none
}

@media screen and (max-width: 959px) {
  .page-company .hero__sp-logo {
    display: block;
    width: 171px
  }
}

.page-company .hero__ttl {
  width: 50px
}

@media screen and (max-width: 959px) {
  .page-company .hero__ttl {
    width: 6.4vw;
    min-width: 24px
  }
}

.page-company .hero__text {
  font-size: 25px;
  color: #fff;
  margin-top: 30px;
  text-shadow: 0 0 10px #000;
  letter-spacing: .03em
}

@media screen and (max-width: 959px) {
  .page-company .hero__text {
    font-size: 14px;
    position: absolute;
    bottom: 84px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
  }
}

.page-company .company-inner {
  padding: 0 min(13.02vw, 250px) 230px;
  max-width: 1500px
}

@media screen and (max-width: 959px) {
  .page-company .company-inner {
    padding: 0 10.66vw 100px
  }
}

.page-company .page-contents__ttl {
  line-height: 1.4
}

.page-company .page-contents__ttl span {
  font-size: 20px;
  letter-spacing: .03em
}

@media screen and (max-width: 959px) {
  .page-company .page-contents__ttl span {
    font-size: 12px
  }
}

.page-company .page-contents__lead {
  margin-top: 80px
}

@media screen and (max-width: 959px) {
  .page-company .page-contents__lead {
    font-size: 16px;
    margin: 30px 0 0;
    text-align: center
  }
}

.page-company .page-contents__lead img {
  width: 100%;
  max-width: 400px
}

@media screen and (max-width: 959px) {
  .page-company .page-contents__sb-ttl {
    font-size: 24px;
    line-height: 1.25
  }
}

.page-company .page-contents__caption {
  margin-top: 80px;
  font-size: 20px;
  line-height: 1.8;
  text-align: center;
  letter-spacing: .03em
}

@media screen and (max-width: 959px) {
  .page-company .page-contents__caption {
    margin-top: 30px;
    font-size: 12px;
    line-height: 2
  }
}

.page-company .company__block {
  margin-top: 230px
}

@media screen and (max-width: 959px) {
  .page-company .company__block {
    margin-top: 100px
  }
}

.page-company .company__chart {
  margin-top: 53px;
  max-width: 950px
}

@media screen and (max-width: 959px) {
  .page-company .company__chart {
    margin: 0 -10.66vw
  }
}

.page-company .company__txt {
  margin-top: 33px;
  font-size: 16px;
  line-height: 1.8;
  font-family: "Noto Serif JP", serif
}

.page-company .detail-list__label {
  width: 160px
}

@media screen and (max-width: 959px) {
  .page-company .detail-list__label {
    width: 102px
  }
}

.page-company .page-tab {
  margin-bottom: 60px
}

.page-company .banner {
  padding-top: 0;
  padding-bottom: 300px
}

@media screen and (max-width: 959px) {
  .page-company .banner {
    padding-bottom: 100px
  }
}

.company-history {
  display: flex
}

.company-history__gen {
  flex-basis: 90px;
  font-size: 16px;
  line-height: 1.5
}

@media screen and (max-width: 959px) {
  .company-history__gen {
    flex-basis: 79px
  }
}

.company-history__list {
  flex-basis: calc(100% - 90px)
}

@media screen and (max-width: 959px) {
  .company-history__list {
    flex-basis: calc(100% - 79px)
  }
}

.company-history__item {
  display: flex;
  overflow: hidden;
  position: relative;
  padding-bottom: 24px
}

@media screen and (max-width: 959px) {
  .company-history__item {
    display: block
  }
}

.company-history__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 6px;
  width: 3px;
  height: 100%;
  background-color: #231815
}

.company-history__item--first::before {
  top: 8px
}

.company-history__year {
  position: relative;
  flex-basis: 120px;
  padding-left: 36px;
  font-size: 16px;
  line-height: 1.5
}

@media screen and (max-width: 959px) {
  .company-history__year {
    margin-bottom: 10px;
    padding-left: 26px
  }
}

.company-history__year::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 16px;
  height: 16px;
  background: url(/assets/images/company/ico-company-history.svg) no-repeat center center/contain
}

.company-history__desc {
  position: relative;
  top: -3px;
  flex-basis: calc(100% - 120px);
  font-size: 16px;
  line-height: 1.8
}

@media screen and (max-width: 959px) {
  .company-history__desc {
    padding-left: 26px;
    font-size: 12px
  }
}

.page-news .hero {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh
}

@media screen and (max-width: 959px) {
  .page-news .hero {
    height: calc(var(--vh, 1vh)*100)
  }
}

@media screen and (max-width: 959px) {
  .page-news .hero__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 108px
  }
}

.page-news .hero__sp-logo {
  display: none
}

@media screen and (max-width: 959px) {
  .page-news .hero__sp-logo {
    display: block;
    width: 171px
  }
}

.page-news .hero__ttl,
.hero__ttl {
  font-size: 50px
}

@media screen and (max-width: 959px) {
  .page-news .hero__ttl .hero__ttl {
    font-size: 24px
  }
}

.page-news .sort {
  display: flex;
  flex-wrap: wrap;
  margin: -32px -32px 0 0
}

@media screen and (max-width: 959px) {
  .page-news .sort {
    justify-content: space-between;
    align-items: center;
    margin: -10px auto 0;
    width: 78.6666666667vw
  }
}

.page-news .sort__item {
  margin: 32px 32px 0 0
}

@media screen and (max-width: 959px) {
  .page-news .sort__item {
    margin: 10px 0 0 0;
    width: 38vw
  }
}

.page-news .sort__link {
  display: block;
  background: #efefef;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, .16);
  border-radius: 10px;
  padding: 22px 34.5px;
  transition: .3s
}

@media screen and (max-width: 959px) {
  .page-news .sort__link {
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: none;
    padding: 0;
    height: 46px;
    font-size: 12px;
    border: 2px solid #efefef
  }
}

.page-news .sort__link:hover,
.page-news .sort__link.is-active {
  background: #fff
}

.page-news .list {
  display: flex;
  flex-wrap: wrap
}

@media screen and (max-width: 1920px) {
  .page-news .list {
    width: 965px;
    margin: 0 auto;
    justify-content: space-between
  }
}

@media screen and (max-width: 959px) {
  .page-news .list {
    width: 78.6666666667vw;
    max-width: 430px
  }
}

.page-news .list__item {
  width: 430px;
  margin: 230px 105px 0 0
}

@media screen and (max-width: 1920px) {
  .page-news .list__item {
    margin-right: 0
  }
}

@media screen and (max-width: 959px) {
  .page-news .list__item {
    width: 100%;
    margin-top: 100px
  }
}

.page-news .list__item:nth-of-type(3n) {
  margin-right: 0
}

.page-news .list__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: .3s
}

.page-news .list__link:hover {
  opacity: .7
}

.page-news .list__link:hover .list__more::after {
  animation: underline ease 500ms forwards
}

.page-news .list__img {
  height: 302px;
  overflow: hidden
}

@media screen and (max-width: 959px) {
  .page-news .list__img {
    height: 48vw
  }
}

.page-news .list__img img {
  object-fit: cover;
  height: 100%
}

.page-news .list__textArea {
  flex-grow: 1;
  margin-top: 24px;
  display: flex;
  flex-direction: column
}

@media screen and (max-width: 959px) {
  .page-news .list__textArea {
    margin-top: 20px
  }
}

.page-news .list__textArea__inner {
  flex-grow: 1;
  margin-top: 30px;
  display: flex;
  align-items: flex-start
}

@media screen and (max-width: 959px) {
  .page-news .list__textArea__inner {
    margin-top: 20px
  }
}

@media screen and (max-width: 959px) {
  .page-news .list__date {
    font-size: 12px
  }
}

.page-news .list__title {
  font-size: 20px;
  line-height: 1.6666666667;
  margin-top: 30px
}

@media screen and (max-width: 959px) {
  .page-news .list__title {
    font-size: 16px;
    line-height: 1.5625;
    margin-top: 20px
  }
}

.page-news .list__tag {
  flex-grow: 1;
  display: flex;
  flex-wrap: wrap
}

.page-news .list__tag__item {
  background: #898989;
  color: #fff;
  padding: 4px 6px;
  margin: 6px 6px 0 0
}

@media screen and (max-width: 959px) {
  .page-news .list__tag__item {
    font-size: 12px
  }
}

.page-news .list__more {
  flex-shrink: 0;
  width: 120px;
  margin-left: 20px;
  text-align: center;
  padding-bottom: 8px;
  position: relative;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end
}

@media screen and (max-width: 959px) {
  .page-news .list__more {
    width: 96px;
    margin-left: 16px;
    font-size: 12px
  }
}

.page-news .list__more::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #1a1311;
  position: absolute;
  bottom: 0;
  left: 0
}

@media screen and (max-width: 959px) {
  .page-news .list__more::after {
    height: 1px
  }
}

.page-newspost .hero {
  display: none
}

@media screen and (max-width: 959px) {
  .page-newspost .hero {
    display: flex;
    justify-content: center;
    margin-top: 99px
  }
}

.page-newspost .hero__sp-logo {
  display: none
}

@media screen and (max-width: 959px) {
  .page-newspost .hero__sp-logo {
    display: block;
    width: 171px
  }
}

.page-newspost .page-contents {
  margin-top: 120px
}

@media screen and (max-width: 959px) {
  .page-newspost .page-contents {
    width: 78.66%;
    margin: 67px auto 0
  }
}

.page-newspost .meta {
  display: flex;
  margin-top: 53px
}

@media screen and (max-width: 959px) {
  .page-newspost .meta {
    margin-top: 20px
  }
}

.page-newspost .date {
  font-size: 24px;
  line-height: 1.2916666667;
  flex-shrink: 0;
  margin-right: 30px
}

@media screen and (max-width: 959px) {
  .page-newspost .date {
    font-size: 12px;
    line-height: 2.0833333333;
    margin-right: 10px
  }
}

.page-newspost .tag {
  display: flex;
  flex-wrap: wrap;
  margin-top: -10px
}

.page-newspost .tag__item {
  line-height: 1.4375;
  color: #fff;
  padding: 4px 6px;
  background: #898989;
  margin: 10px 10px 0 0
}

@media screen and (max-width: 959px) {
  .page-newspost .tag__item {
    font-size: 12px;
    line-height: 1.4166666667
  }
}

.page-newspost .title {
  margin-top: 50px;
  font-size: 28px;
  line-height: 1.7941176471
}

@media screen and (max-width: 959px) {
  .page-newspost .title {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.5625
  }
}

.page-newspost .article {
  font-size: 20px;
  line-height: 1.6666666667
}

@media screen and (max-width: 959px) {
  .page-newspost .article {
    font-size: 12px;
    line-height: 2
  }
}

.page-newspost .article p {
  margin-top: 50px
}

@media screen and (max-width: 959px) {
  .page-newspost .article p {
    margin-top: 20px
  }
}

.page-newspost .article a {
  display: inline-block;
  position: relative;
  padding: 0 10px 8px
}

@media screen and (max-width: 959px) {
  .page-newspost .article a {
    padding: 0 0 8px
  }
}

.page-newspost .article a::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #1a1311;
  position: absolute;
  bottom: 0;
  left: 0%
}

@media screen and (max-width: 959px) {
  .page-newspost .article a::after {
    height: 1px
  }
}

.page-newspost .article a:hover::after {
  animation: underline ease 500ms forwards
}

.page-newspost .button {
  margin-top: 230px;
  display: flex;
  justify-content: center
}

@media screen and (max-width: 959px) {
  .page-newspost .button {
    margin-top: 70px
  }
}

.page-newspost .button__link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 67px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  transition: .3s
}

@media screen and (max-width: 959px) {
  .page-newspost .button__link {
    width: 143px;
    height: 46px;
    box-shadow: none;
    border: 2px solid #efefef;
    font-size: 12px
  }
}

.page-newspost .button__link:hover {
  opacity: .7
}

.page-top .header__logo-link {
  pointer-events: none
}

.page-top .gnav__link,
.page-top .gnav__btn,
.page-top .header .gt_container--hich1m .gt_switcher .gt_selected a,
.page-top .header .gt_container--hich1m .gt_switcher .gt_option a {
  color: #fff
}

.page-top .gnav__btn {
  border-color: #fff
}

.page-top .gnav__btn:hover {
  color: #231815;
  background-color: #fff
}

.page-top .header .gt_container--hich1m .gt_switcher .gt_selected a:after {
  border-color: #fff
}

.page-top .gnav__link::before,
.page-top .header__bar {
  background-color: #fff
}

.page-top .header.is-active .header__bar {
  background-color: #231815
}

@media screen and (max-width: 959px) {

  .page-top .gnav-drawer .gnav__link,
  .page-top .header .gnav-drawer .gt_container--hich1m .gt_switcher .gt_selected a,
  .page-top .header .gt_container--hich1m .gt_switcher .gt_option a {
    color: #231815
  }
}

.page-top .gnav__50thlogo img[data-item="1"] {
  opacity: 0
}

.page-top .gnav__50thlogo img[data-item="2"] {
  opacity: 1
}

.page-top .header.float .gnav__50thlogo img[data-item="1"] {
  opacity: 1
}

.page-top .header.float .gnav__50thlogo img[data-item="2"] {
  opacity: 0
}

.kv__wrap {
  position: relative
}

.kv__wrap::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 60px;
  z-index: 2;
  transform: translateX(-50%);
  width: 40px;
  height: 20px;
  background: url(/assets/images/kv-arrow01.svg) center center/contain;
  background-repeat: no-repeat;
  opacity: 0;
  animation: kvArrow01 2s ease infinite
}

@media screen and (max-width: 959px) {
  .kv__wrap::before {
    bottom: 49px;
    width: 25px;
    height: 12px
  }
}

.kv__wrap::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 35px;
  z-index: 2;
  transform: translateX(-50%);
  width: 40px;
  height: 20px;
  background: url(/assets/images/kv-arrow02.svg) center center/contain;
  background-repeat: no-repeat;
  opacity: 0;
  animation: kvArrow02 2s .5s ease infinite
}

@media screen and (max-width: 959px) {
  .kv__wrap::after {
    bottom: 33px;
    width: 25px;
    height: 12px;
    max-height: 100%
  }
}

.kv__container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center
}

.kv__sp-logo {
  display: none
}

@media screen and (max-width: 959px) {
  .kv__sp-logo {
    display: block;
    width: 46.1333333333vw;
    margin: 0 auto;
    position:absolute;
    top:15%;
    left:25%;
  }
}

.kv__txt {
  max-width: 1042px;
  width: min(54.31vw, 1042px)
}

@media screen and (max-width: 959px) {
  .kv__txt {
    margin-top: 11.7333333333vw;
    width: min(85.33vw, 320px)
  }
}

.about {
  position: relative;
  padding-top: 300px;
  padding-top: min(15vw, 300px)
}

@media screen and (max-width: 959px) {
  .about {
    padding-top: 100px
  }
}

.about__inner {
  position: relative;
  padding-top: 80px
}

@media screen and (max-width: 959px) {
  .about__inner {
    padding-top: 0;
    padding-bottom: 38px
  }
}

.about__ttl {
  position: absolute;
  top: 0;
  z-index: 2;
  left: 210px;
  flex-shrink: 0;
  width: min(11.93vw, 230px)
}

@media screen and (max-width: 959px) {
  .about__ttl {
    margin: 0 auto 20px;
    position: static;
    width: min(29.86vw, 112px);
    transition: .5s
  }
}

.about__ttl img {
  display: block;
  max-width: 100%;
  object-fit: cover
}

.about__wrap {
  display: flex;
  width: 100%
}

@media screen and (max-width: 959px) {
  .about__wrap {
    flex-direction: column
  }
}

.about .link-block {
  display: block
}

@media screen and (max-width: 959px) {
  .about .link-block {
    pointer-events: none
  }
}

.about .ph {
  flex-shrink: 0;
  width: min(52%, 919px);
  background: url(/assets/images/top01-c.webp) top center/contain;
  background-repeat: no-repeat;
  filter: grayscale(100%);
  transition: 500ms ease;
  padding-bottom: 56%
}

html.no-webp .about .ph{
  background: url(/assets/images/top01-c.jpg) top center/contain;
}

@media screen and (max-width: 959px) {
  .about .ph {
    bottom: 0;
    z-index: 10;
    width: 100%;
    padding-top: 80%;
    background: url(/assets/images/sp/top01.webp) center center/contain;
    background-repeat: no-repeat;
    filter: grayscale(0);
    padding-bottom: 0;
    transition-delay: .5s
  }
  html.no-webp .about .ph{
    background: url(/assets/images/sp/top01.png) center center/contain;
  }
}

.about .link-block:hover .ph {
  filter: grayscale(0)
}

.about .lead {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-left: 75px;
  width: 42%
}

@media screen and (max-width: 959px) {
  .about .lead {
    display: block;
    padding: 50px 10.66vw 20px;
    width: 100%
  }
}

.about .lead__txt {
  font-size: 20px;
  line-height: 1.7916666667;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "palt"
}

@media screen and (max-width: 959px) {
  .about .lead__txt {
    font-size: 12px;
    line-height: 1.7
  }
}

.about .link {
  margin-top: 220px
}

@media screen and (max-width: 959px) {
  .about .link {
    display: none;
    margin-top: 0
  }
}

@media screen and (max-width: 959px) {
  .about .sp-link {
    display: block;
    position: absolute;
    bottom: 0;
    right: 5.33vw
  }
}

.about .link-txt {
  position: relative;
  padding: 0 .5em 4px;
  font-size: 16px;
  font-size: min(.83vw, 16px);
  line-height: .6666666667;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .about .link-txt {
    font-size: 10px;
    line-height: 2
  }
}

.about .link-txt::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #1a1311
}

.about .link-txt:hover::before {
  animation: underline ease 500ms forwards
}

.detail {
  position: relative;
  padding-top: 300px
}

@media screen and (max-width: 959px) {
  .detail {
    padding-top: 26.6666666667vw;
    padding-bottom: 38px
  }
}

.detail__inner {
  position: relative;
  padding-top: 80px
}

@media screen and (max-width: 959px) {
  .detail__inner {
    padding-top: 0
  }
}

.detail__ttl {
  position: absolute;
  top: 0;
  z-index: 2;
  flex-shrink: 0;
  right: 211px;
  width: min(6.67vw, 128px)
}

@media screen and (max-width: 959px) {
  .detail__ttl {
    position: static;
    width: min(13.33vw, 50px);
    margin: 0 auto 30px;
    transition: .5s
  }
}

.detail__ttl img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover
}

.detail__wrap {
  display: flex;
  flex-direction: row-reverse;
  width: 100%
}

@media screen and (max-width: 959px) {
  .detail__wrap {
    flex-direction: column
  }
}

.detail .link-block {
  display: block
}

@media screen and (max-width: 959px) {
  .detail .link-block {
    pointer-events: none
  }
}

.detail .ph {
  flex-shrink: 0;
  width: min(52%, 919px);
  background: url(/assets/images/top02-c.webp) top center/contain;
  background-repeat: no-repeat;
  filter: grayscale(100%);
  transition: 500ms ease;
  padding-bottom: 52%
}
html.no-webp .detail .ph {
  background: url(/assets/images/top02-c.jpg) top center/contain;
}
@media screen and (max-width: 959px) {
  .detail .ph {
    bottom: 0;
    z-index: 10;
    margin-left: auto;
    padding-top: 80%;
    width: 94.66%;
    background: url(/assets/images/sp/top02.webp) center right/cover;
    filter: grayscale(0);
    padding-bottom: 0;
    transition-delay: .5s
  }
  html.no-webp .detail .ph {
    background: url(/assets/images/sp/top02.png) top center/contain;
  }
}

.detail .link-block:hover .ph {
  filter: grayscale(0)
}

.detail .lead {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-right: 75px;
  width: 42%
}

@media screen and (max-width: 959px) {
  .detail .lead {
    display: block;
    padding: 50px 10.66vw 20px;
    width: 100%
  }
}

.detail .lead__txt {
  font-size: 20px;
  line-height: 1.7916666667;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "palt"
}

@media screen and (max-width: 959px) {
  .detail .lead__txt {
    font-size: 12px;
    line-height: 1.7
  }
}

@media screen and (max-width: 959px) {
  .detail .lead__txt::-webkit-scrollbar {
    display: none
  }
}

.detail .link {
  display: inline-block;
  margin-top: 48px
}

@media screen and (max-width: 959px) {
  .detail .link {
    display: none;
    margin-top: 0
  }
}

@media screen and (max-width: 959px) {
  .detail .sp-link {
    display: block;
    position: absolute;
    bottom: 0;
    left: 5.33vw
  }
}

.detail .link-txt {
  position: relative;
  padding: 0 .5em 4px;
  font-size: 16px;
  font-size: min(.83vw, 16px);
  line-height: .6666666667;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .detail .link-txt {
    font-size: 10px;
    line-height: 2
  }
}

.detail .link-txt::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #1a1311
}

.detail .link-txt:hover::before {
  animation: underline ease 500ms forwards
}

.making {
  position: relative;
  padding-top: 300px
}

@media screen and (max-width: 959px) {
  .making {
    padding-top: 100px;
    padding-bottom: 38px
  }
}

.making__inner {
  position: relative;
  padding-top: 80px
}

@media screen and (max-width: 959px) {
  .making__inner {
    padding-top: 0
  }
}

.making__ttl {
  position: absolute;
  top: 0;
  left: 210px;
  z-index: 2;
  flex-shrink: 0;
  width: min(11.29vw, 217px)
}

@media screen and (max-width: 959px) {
  .making__ttl {
    position: static;
    width: min(21.33vw, 80px);
    margin: 0 auto 30px;
    transition: .5s
  }
}

.making__ttl img {
  display: block;
  max-width: 100%;
  object-fit: cover
}

.making__wrap {
  display: flex;
  width: 100%
}

@media screen and (max-width: 959px) {
  .making__wrap {
    flex-direction: column
  }
}

.making .link-block {
  display: block
}

@media screen and (max-width: 959px) {
  .making .link-block {
    pointer-events: none
  }
}


.making .ph {
  flex-shrink: 0;
  width: min(52%, 919px);
  background: url(/assets/images/top03-c.webp) top center/contain;
  background-repeat: no-repeat;
  filter: grayscale(100%);
  transition: 500ms ease;
  padding-bottom: 56%
}

html.no-webp .making .ph {
  background: url(/assets/images/top03-c.jpg) top center/contain;
}

@media screen and (max-width: 959px) {
  .making .ph {
    bottom: 0;
    z-index: 10;
    margin-right: auto;
    padding-top: 80%;
    width: 94.66%;
    background: url(/assets/images/sp/top03.webp) center center/cover;
    filter: grayscale(0);
    padding-bottom: 0;
    transition-delay: .5s
  }
  html.no-webp .making .ph {
    background: url(/assets/images/sp/top03.png) center center/cover;
  }
}

.making .link-block:hover .ph {
  filter: grayscale(0)
}

.making .lead {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-left: 75px;
  width: 42%
}

@media screen and (max-width: 959px) {
  .making .lead {
    display: block;
    padding: 50px 10.66vw 20px;
    width: 100%
  }
}

.making .lead__txt {
  font-size: 20px;
  line-height: 1.7916666667;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "palt"
}

@media screen and (max-width: 959px) {
  .making .lead__txt {
    font-size: 12px;
    line-height: 1.7
  }
}

@media screen and (max-width: 959px) {
  .making .lead__txt::-webkit-scrollbar {
    display: none
  }
}

.making .link {
  display: inline-block;
  margin-top: 230px
}

@media screen and (max-width: 959px) {
  .making .link {
    display: none;
    margin-top: 0
  }
}

@media screen and (max-width: 959px) {
  .making .sp-link {
    position: absolute;
    bottom: 0;
    right: 5.33vw
  }
}

.making .link-txt {
  position: relative;
  padding: 0 .5em 4px;
  font-size: 16px;
  font-size: min(.83vw, 16px);
  line-height: .6666666667;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .making .link-txt {
    font-size: 10px;
    line-height: 2
  }
}

.making .link-txt::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #1a1311
}

.making .link-txt:hover::before {
  animation: underline ease 500ms forwards
}

.banner {
  padding-top: 300px
}

@media screen and (max-width: 959px) {
  .banner {
    padding-top: 100px
  }
}

.banner__inner {
  padding: 0 40px
}

@media screen and (max-width: 959px) {
  .banner__inner {
    padding: 0 5.33vw
  }
}

.banner__row {
  display: flex;
  justify-content: center;
  max-width: 1500px;
  margin: 0 auto
}

@media screen and (max-width: 959px) {
  .banner__row {
    display: block;
    max-width: none
  }
}

.banner__col {
  margin: 0 5px
}

@media screen and (max-width: 959px) {
  .banner__col {
    margin: 0 auto;
    width: 100%
  }
}

.banner__link {
  display: block;
  filter: grayscale(100%)
}

@media screen and (max-width: 959px) {
  .banner__link {
    filter: grayscale(0)
  }
}

.banner__link:hover {
  transition: 500ms;
  filter: grayscale(0)
}

.banner__link.disabled {
  pointer-events: none
}

@media screen and (max-width: 959px) {
  .banner__col:nth-of-type(n+2) {
    margin-top: 10px
  }
}

.banner__container {
  display: flex;
  justify-content: flex-end;
  margin: 20px 0 0
}

@media screen and (max-width: 959px) {
  .banner__container {
    margin: 20px 0 40px
  }
}

.banner__container__link {
  position: relative;
  padding: 0 .5em 4px
}

.banner__container__link::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #1a1311
}

.banner__container__link:hover::before {
  animation: underline ease 500ms forwards
}

.brand-list {
  position: relative;
  margin-top: 300px;
  padding-top: 60px;
  padding-bottom: 60px
}

@media screen and (max-width: 959px) {
  .brand-list {
    margin-top: 100px;
    padding-top: 0;
    padding-bottom: 0
  }
}

.brand-list__inner {
  position: relative;
  width: 100%;
  background: #efefef
}

@media screen and (max-width: 959px) {
  .brand-list__inner {
    padding-bottom: 40px;
    padding-top: 140px;
    background: rgba(0, 0, 0, 0)
  }
}

.brand-list__inner::before {
  content: ""
}

@media screen and (max-width: 959px) {
  .brand-list__inner::before {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    max-height: 380px;
    background: #efefef
  }
}

.brand-list__ttl {
  position: absolute;
  top: 0;
  z-index: 2;
  right: 4vw;
  width: min(2.18vw, 42px)
}

@media screen and (max-width: 959px) {
  .brand-list__ttl {
    right: 10.66vw;
    width: 13px
  }
}

.brand-list__ttl-en {
  position: absolute;
  right: 7.5vw;
  /*bottom: 100px;*/
  bottom: 70px;
  z-index: 1;
  width: min(10.26vw, 197px)
}

@media screen and (max-width: 959px) {
  .brand-list__ttl-en {
    right: 0;
    bottom: -55px;
    width: 99px
  }
}

.brand-list__slide {
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: row-reverse;
  gap: 54px;
  margin: 0 auto;
  padding: 136px 0 90px;
  width: 70vw
}

@media screen and (max-width: 959px) {
  .brand-list__slide {
    justify-content: flex-start;
    flex-direction: row;
    gap: 0;
    margin: auto;
    padding: 0;
    width: auto
  }
}

.brand-list__slide::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -60px;
  z-index: 2;
  width: 285px;
  width: min(14.8vw, 285px);
  height: 211px;
  height: min(10.9vw, 211px);
  background: url(/assets/images/logo-brown.svg) center center/contain;
  background-repeat: no-repeat
}

@media screen and (max-width: 959px) {
  .brand-list__slide::after {
    display: none
  }
}

@media screen and (max-width: 959px) {
  .brand-list__item-inner {
    display: flex;
    flex-direction: column-reverse;
    margin-right: 0;
    width: 100%;
    max-width: none
  }
}

.brand-list__item {
  position: relative;
  width: 25%;
  transition: 500ms ease
}

@media screen and (max-width: 959px) {
  .brand-list__item {
    margin: 0;
    width: 100%
  }
}

.brand-list__item:nth-of-type(even) {
  margin-top: -190px
}

@media screen and (max-width: 959px) {
  .brand-list__item:nth-of-type(even) {
    margin-top: 0
  }
}

.brand-list__name {
  position: absolute;
  top: 100px;
  left: 50%;
  transform: translateX(160%);
  width: 53px
}

@media screen and (max-width: 959px) {
  .brand-list__name {
    display: none
  }
}

.brand-list__img {
  margin: 0 auto;
  width: 150px;
  transition: 500ms ease
}

@media screen and (max-width: 959px) {
  .brand-list__img {
    margin-top: 50px;
    width: 115px
  }
}

.brand-list__img:hover {
  transform: scale(1.1);
  opacity: .6
}

@media screen and (max-width: 959px) {
  .brand-list__txt-inner {
    display: flex
  }
}

.brand-list__txt {
  margin-top: 30px;
  font-size: 16px;
  line-height: 1.8;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .brand-list__txt {
    margin-top: 0;
    margin-left: 10.66vw;
    min-height: 155px;
    font-size: 10px;
    line-height: 2.4
  }
}

@media screen and (max-width: 959px) {
  .brand-list__sp-name {
    position: absolute;
    top: -140px;
    right: 16vw;
    width: 34px
  }
}

.brand-list__textWrap {
  margin-top: 15px;
  position: relative
}

@media screen and (max-width: 959px) {
  .brand-list__textWrap {
    margin-top: 20px;
    position: absolute;
    top: 0;
    right: 10.5vw
  }
}

.brand-list__text {
  font-size: 16px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  letter-spacing: .03em
}

@media screen and (max-width: 959px) {
  .brand-list__text {
    font-size: 10px;
    position: static;
    transform: none
  }
}

.swiper-button-prev:after,
.swiper-button-next:after {
  display: none
}

.swiper-container {
  position: relative
}

.swiper-container .swiper-button-prev {
  display: none
}

@media screen and (max-width: 959px) {
  .swiper-container .swiper-button-prev {
    display: block;
    position: absolute;
    left: 10.66vw;
    z-index: 2;
    width: 15px;
    height: 27px;
    transform: translateY(-50%)
  }
}

.swiper-container .swiper-button-prev::after {
  display: inline-block;
  color: #534242;
  font-size: 27px
}

.swiper-container .swiper-button-next {
  display: none
}

@media screen and (max-width: 959px) {
  .swiper-container .swiper-button-next {
    display: block;
    position: absolute;
    right: 10.66vw;
    z-index: 2;
    width: 15px;
    height: 27px;
    transform: translateY(-50%)
  }
}

.swiper-container .swiper-button-next::after {
  display: inline-block;
  color: #534242;
  font-size: 27px
}

.news__inner {
  position: relative;
  margin-top: 300px;
  padding-top: 80px;
  padding-bottom: 100px;
  background: #efefef
}

@media screen and (max-width: 959px) {
  .news__inner {
    margin-top: 100px;
    padding-top: 0;
    padding-bottom: 0;
    background: rgba(0, 0, 0, 0)
  }
}

.news__inner::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
  width: 90%;
  max-width: 1500px;
  height: 1px;
  border-bottom: 1px solid
}

.news__ttl {
  margin: 0 auto;
  width: 100px
}

@media screen and (max-width: 959px) {
  .news__ttl {
    width: 60px
  }
}

.news-list {
  position: relative;
  margin: 80px auto 0;
  padding: 0 4.1vw;
  width: 90%;
  overflow: hidden
}

@media screen and (max-width: 959px) {
  .news-list {
    margin: 15px 0 0;
    padding: 26px 0 26px 15px;
    width: 100%;
    max-width: none;
    background: #efefef
  }
}

.news-list .swiper-wrapper {
  width: 78.125%;
  max-width: 1500px
}

.news-list__item {
  transition: 500ms ease;
  background: #fff;
  height: auto
}

@media screen and (max-width: 959px) {
  .news-list__item {
    background: #fff
  }
}

.news-list__img {
  background: #fff;
  overflow: hidden
}

.news-list__img img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover
}

.news-list__bottom {
  display: flex;
  padding: 20px 20px 30px;
  background: #fff
}

@media screen and (max-width: 959px) {
  .news-list__bottom {
    display: block;
    padding: 20px
  }
}

.news-list__date {
  font-size: 16px;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .news-list__date {
    font-size: 12px
  }
}

.news-list__wrap {
  display: flex;
  flex-direction: column;
  margin-left: 20px
}

@media screen and (max-width: 959px) {
  .news-list__wrap {
    margin-left: 0;
    padding-bottom: 28px
  }
}

.news-list__txt {
  font-size: 16px;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5
}

@media screen and (max-width: 959px) {
  .news-list__txt {
    font-size: 12px
  }
}

.news-list__icon-wrap {
  display: flex;
  margin-top: 8px
}

@media screen and (max-width: 959px) {
  .news-list__icon-wrap {
    position: absolute;
    bottom: 20px;
    margin-top: 10px
  }
}

.news-list__icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 4px 6px;
  background: #898989;
  color: #fff
}

.news-list__icon span {
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  font-family: "Noto Serif JP", serif;
  color: #fff
}

@media screen and (max-width: 959px) {
  .news-list__icon span {
    font-size: 10px
  }
}

.news-list__icon:nth-of-type(n+2) {
  margin-left: 5px
}

.news-list .swiper-button-prev:after,
.news-list .swiper-button-next:after {
  display: none
}

.news-list .swiper-button-prev {
  margin-top: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 40px;
  height: 80px
}

@media screen and (max-width: 959px) {
  .news-list .swiper-button-prev {
    top: 50%;
    left: 5.33vw;
    z-index: 2;
    width: 40px;
    height: 80px;
    transform: translateY(-50%)
  }
}

.news-list .swiper-button-prev::after {
  display: inline-block;
  flex-shrink: 0;
  color: #231815;
  font-size: 0;
  width: 40px;
  height: 80px;
  background: url("/assets/images/news-arrow.svg") center center/contain;
  background-repeat: no-repeat;
  transform: scale(-1)
}

@media screen and (max-width: 959px) {
  .news-list .swiper-button-prev::after {
    width: 20px;
    height: 40px
  }
}

.news-list .swiper-button-next {
  margin-top: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 40px;
  height: 80px
}

@media screen and (max-width: 959px) {
  .news-list .swiper-button-next {
    top: 50%;
    right: 5.33vw;
    width: 40px;
    height: 80px;
    transform: translateY(-50%)
  }
}

.news-list .swiper-button-next::after {
  display: inline-block;
  flex-shrink: 0;
  color: #231815;
  font-size: 0;
  width: 40px;
  height: 80px;
  background: url("/assets/images/news-arrow.svg") center center/contain;
  background-repeat: no-repeat
}

@media screen and (max-width: 959px) {
  .news-list .swiper-button-next::after {
    width: 20px;
    height: 40px
  }
}

br.hide {
  display: none
}

.page-tours .hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  background: url(/assets/images/tours/kv.webp) center center/cover;
}

html.no-webp .page-tours .hero{
  background: url(/assets/images/tours/kv.png) center center/cover;
}

@media screen and (max-width: 959px) {
  .page-tours .hero {
    height: calc(var(--vh, 1vh)*100);
    position: relative
  }
}

@media screen and (max-width: 959px) {
  .page-tours .hero__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 44px
  }
}

.page-tours .hero__sp-logo {
  display: none
}

@media screen and (max-width: 959px) {
  .page-tours .hero__sp-logo {
    display: block;
    width: 171px
  }
}

.page-tours .hero__ttl {
  width: 90px
}

@media screen and (max-width: 959px) {
  .page-tours .hero__ttl {
    width: 12.8vw;
    min-width: 48px
  }
}

.page-tours .hero__text {
  font-size: 25px;
  color: #fff;
  margin-top: 30px;
  text-shadow: 0 0 10px #000, 0 0 10px #000, 0 0 10px #000;
  letter-spacing: .03em
}

@media screen and (max-width: 959px) {
  .page-tours .hero__text {
    font-size: 14px;
    position: absolute;
    bottom: 84px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
  }
}

@media screen and (max-width: 959px) {

  .page-tours .page-contents__row,
  .page-tours .page-contents__row--reverse {
    margin-top: 50px
  }
}

.page-tours .visit-pian {
  margin-top: 230px;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding: 230px calc(50vw - 50%);
  background: #efefef
}

@media screen and (max-width: 959px) {
  .page-tours .visit-pian {
    margin-top: 100px;
    padding: 120px 5.33vw 50px
  }
}

.page-tours .visit-pian__ttl {
  text-align: center;
  font-size: 40px;
  line-height: 1.5;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .page-tours .visit-pian__ttl {
    font-size: 24px
  }
}

.page-tours .visit-pian__lead {
  margin-top: 50px;
  font-size: 20px;
  line-height: 1.7;
  font-family: "Noto Serif JP", serif;
  text-align: center
}

@media screen and (max-width: 959px) {
  .page-tours .visit-pian__lead {
    margin-top: 20px;
    font-size: 12px
  }
}

@media screen and (max-width: 959px) {
  .page-tours .visit-pian__wrap {
    overflow-x: auto;
    margin: 0 -5.33vw;
    padding-bottom: 10px
  }
}

.page-tours .visit-pian__row {
  margin-top: 130px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 50px
}

@media screen and (max-width: 959px) {
  .page-tours .visit-pian__row {
    flex-wrap: nowrap;
    justify-content: flex-start;
    width: 1080px;
    margin: 50px 20px 0;
    gap: 15px
  }
}

.page-tours .visit-pian__row--pickup {
  margin-top: 50px
}

@media screen and (max-width: 959px) {
  .page-tours .visit-pian__row--pickup {
    display: block;
    width: auto;
    margin: 90px 0 50px
  }
}

@media screen and (max-width: 959px) {
  .page-tours .visit-pian__row--pickup .visit-pian__col {
    width: auto
  }
}

.page-tours .visit-pian__col {
  width: calc(50% - 25px);
  padding: 40px;
  background-color: #fff
}

@media screen and (max-width: 959px) {
  .page-tours .visit-pian__col {
    width: 204px;
    padding: 20px
  }
}

.page-tours .visit-pian__icon,
.page-tours .visit-pian__icon-red {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 4px 6px;
  background: #898989
}

.page-tours .visit-pian__icon span,
.page-tours .visit-pian__icon-red span {
  font-size: 14px;
  line-height: 1;
  font-family: "Noto Serif JP", serif;
  color: #fff
}

.page-tours .visit-pian__icon-red {
  background: #d99b9b;
}

.page-tours .visit-pian__label {
  font-size: 20px;
  margin-bottom: 20px;
  line-height: 1.8;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .page-tours .visit-pian__label {
    font-size: 16px
  }
}

.page-tours .visit-pian__txt {
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.8;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .page-tours .visit-pian__txt {
    margin-top: 20px;
    font-size: 12px
  }
}

.page-tours .visit-pian__desc {
  font-size: 16px;
  line-height: 1.8;
  font-family: "Noto Serif JP", serif;
  padding-bottom: 24px;
  border-bottom: 1px solid #000
}

@media screen and (max-width: 959px) {
  .page-tours .visit-pian__desc {
    padding-botto: 20px;
    font-size: 12px
  }
}

.page-tours .visit-pian__lunch {
  display: flex;
  margin-top: 130px
}

.page-tours .visit-pian__lunch-img {
  width: 50%;
  max-width: 720px
}

.page-tours .visit-pian__lunch-col {
  width: 50%;
  margin-left: 30px
}

.page-tours .visit-pian__link {
  display: flex;
  justify-content: flex-end
}

.page-tours .visit-pian__link a {
  text-decoration: underline;
  transition: .3s
}

.page-tours .visit-pian__link a:hover {
  opacity: .7
}

.page-tours .visit-pian .btn {
  border: none;
  background: #983b55;
  color: #fff;
  transition: .3s
}

.page-tours .visit-pian .btn::before {
  background-image: url("/assets/images/btn-arrow02.svg")
}

.page-tours .visit-pian .btn:hover {
  opacity: .7
}

.page-tours .info {
  padding: 230px 0
}

@media screen and (max-width: 959px) {
  .page-tours .info {
    padding: 100px 10.66vw 0
  }
}

.page-tours .info__ttl {
  font-size: 40px;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  text-align: center
}

@media screen and (max-width: 959px) {
  .page-tours .info__ttl {
    font-size: 24px
  }
}

.page-tours .info__row {
  margin-top: 130px;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between
}

@media screen and (max-width: 959px) {
  .page-tours .info__row {
    display: block;
    margin-top: 50px
  }
}

.page-tours .info__col {
  width: 42%;
  padding-right: 50px
}

@media screen and (max-width: 959px) {
  .page-tours .info__col {
    width: 100%;
    padding-right: 0
  }
}

.page-tours .info__sb-ttl {
  font-size: 28px;
  line-height: 1.8;
  font-family: "Noto Serif JP", serif
}

@media screen and (max-width: 959px) {
  .page-tours .info__sb-ttl {
    font-size: 16px
  }
}

.page-tours .info .note {
  font-size: 14px;
  line-height: 1.5;
  font-family: "Noto Serif JP", serif;
  margin-top: 10px
}

@media screen and (max-width: 959px) {
  .page-tours .info .note {
    font-size: 10px
  }
}

.page-tours .info__map {
  width: 58%
}

@media screen and (max-width: 959px) {
  .page-tours .info__map {
    width: 100%;
    margin-bottom: 30px
  }
}

.page-tours .info__map iframe {
  width: 100%;
  height: 650px
}

@media screen and (max-width: 959px) {
  .page-tours .info__map iframe {
    height: 330px
  }
}

.page-tours .info__route {
  margin-top: 130px
}

@media screen and (max-width: 959px) {
  .page-tours .info__route {
    margin-top: 50px
  }
}

.page-tours .info__route-img {
  margin-top: 60px;
  max-width: 981px
}

@media screen and (max-width: 959px) {
  .page-tours .info__route-img {
    margin: 20px 0 10px
  }
}

@media screen and (max-width: 959px) {
  .page-tours .info__route-img img {
    width: auto
  }
}

.page-tours .info__route-img[data-item="2"] {
  max-width: 1363px
}

.page-tours .info .detail-list__label {
  width: 146px;
  font-size: 20px
}

@media screen and (max-width: 959px) {
  .page-tours .info .detail-list__label {
    width: 68px;
    font-size: 12px
  }
}

.page-tours .info .detail-list__txt {
  font-size: 20px
}

@media screen and (max-width: 959px) {
  .page-tours .info .detail-list__txt {
    font-size: 12px
  }
}

.page-tours .info .detail-list__txt a {
  text-decoration: underline;
  transition: .3s
}

.page-tours .info .detail-list__txt a:hover {
  opacity: .7
}

.page-tours .info .detail-list .note {
  margin-top: 10px
}

.page-tours .gnav__link {
  color: #fff;
  text-shadow: 0 0 10px #000, 0 0 10px #000, 0 0 10px #000
}

@media screen and (max-width: 959px) {
  .page-tours .gnav__link {
    color: #231815;
    text-shadow: none
  }
}

.page-tours .gnav__link::before {
  background: #fff
}

.page-tours .gnav__btn {
  color: #fff;
  text-shadow: 0 0 10px #000, 0 0 10px #000, 0 0 10px #000;
  border-color: #fff
}

.page-tours .gnav__btn:hover {
  color: #231815;
  text-shadow: none;
  background: #fff
}

.page-tours .gnav__50thlogo img[data-item="1"] {
  opacity: 0
}

.page-tours .gnav__50thlogo img[data-item="2"] {
  opacity: 1
}

.page-tours .header .gt_container--hich1m .gt_switcher .gt_selected a {
  color: #fff;
  text-shadow: 0 0 10px #000, 0 0 10px #000, 0 0 10px #000
}

.page-tours .header .gt_container--hich1m .gt_switcher .gt_selected a::after {
  border-color: #fff
}

.page-tours .header .gt_container--hich1m .gt_switcher .gt_option a {
  color: #fff;
  text-shadow: 0 0 10px #000, 0 0 10px #000, 0 0 10px #000
}

.page-tours .header.float .gnav__link {
  text-shadow: none
}

.page-tours .header.float .gnav__link::before {
  background: #231815
}

.page-tours .header.float .gnav__btn {
  color: #231815;
  text-shadow: none;
  border-color: #231815
}

.page-tours .header.float .gnav__btn:hover {
  color: #fff;
  background: #231815
}

.page-tours .header.float .gnav__50thlogo img[data-item="1"] {
  opacity: 1
}

.page-tours .header.float .gnav__50thlogo img[data-item="2"] {
  opacity: 0;
  max-width: 1500px;
}

.page-tours .header.float .gt_container--hich1m .gt_switcher .gt_selected a {
  text-shadow: none
}

.page-tours .header.float .gt_container--hich1m .gt_switcher .gt_option a {
  color: #231815;
  text-shadow: none
}

.page-tours .links-btn {
  display: flex;
  justify-content: space-between;
  /*width: 770px;*/
  margin: 230px auto 0
}

@media screen and (max-width: 959px) {
  .page-tours .links-btn {
    width: 595px;
    margin: 100px auto 0
  }
}

@media screen and (max-width: 768px) {
  .page-tours .links-btn {
    width:90%;
  }
}

.page-tours .links-btn__item {
  width: 360px;
  background: #efefef;
  box-shadow: 0px 10px 15px 2px rgba(0, 0, 0, .05);
  border-radius: 10px
}

.page-tours .links-btn__item:hover .links-btn__link {
  background: #fff;
  box-shadow: 0px 10px 15px 2px rgba(0, 0, 0, .05);
  border-radius: 10px
}


@media screen and (max-width: 1500px) {
  .page-tours .links-btn__item {
    width: 200px;
  }
}

@media screen and (max-width: 959px) {
  .page-tours .links-btn__item {
    width: 142px;
    background: #fff;
    box-shadow: 0px 5px 7.5px 2px rgba(0, 0, 0, .1)
  }
}
@media screen and (max-width: 768px) {
  .page-tours .links-btn__item{
    width: calc((100% / 3) - 10px);
  }
}

.page-tours .links-btn__link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 22px;
  width: 100%;
  height: 100%;
  transition: ease 500ms
}

@media screen and (max-width: 959px) {
  .page-tours .links-btn__link {
    padding: 13px
  }
}

.page-tours .links-btn__link span {
  display: block;
  font-size: 28px;
  font-family: "Noto Serif JP", serif;
  line-height: 1
}

@media screen and (max-width: 959px) {
  .page-tours .links-btn__link span {
    font-size: 20px
  }
}

.page-tours .links-btn__link span small {
  display: block;
  margin-top: 10px;
  font-size: 20px
}

@media screen and (max-width: 959px) {
  .page-tours .links-btn__link span small {
    font-size: 12px
  }
}

.page-viticulturist .hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  background: url(/assets/images/viticulturist/kv.png) center center/cover
}

@media screen and (max-width: 959px) {
  .page-viticulturist .hero {
    height: calc(var(--vh, 1vh)*100);
    position: relative
  }
}

@media screen and (max-width: 959px) {
  .page-viticulturist .hero__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 44px
  }
}

.page-viticulturist .hero__sp-logo {
  display: none
}

@media screen and (max-width: 959px) {
  .page-viticulturist .hero__sp-logo {
    display: block;
    width: 171px
  }
}

.page-viticulturist .hero__ttl {
  width: 50px
}

@media screen and (max-width: 959px) {
  .page-viticulturist .hero__ttl {
    width: 6.4vw;
    min-width: 24px
  }
}

.page-viticulturist .hero__text {
  font-size: 25px;
  color: #fff;
  margin-top: 30px;
  text-shadow: 0 0 10px #000;
  letter-spacing: .03em
}

@media screen and (max-width: 959px) {
  .page-viticulturist .hero__text {
    font-size: 14px;
    position: absolute;
    bottom: 84px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
  }
}

.page-viticulturist .page-contents__txt-col {
  width: 40%
}

@media screen and (max-width: 959px) {
  .page-viticulturist .page-contents__txt-col {
    width: 78.66%
  }
}

.page-viticulturist .page-links .links-contents__col {
  width: 39%
}

@media screen and (max-width: 959px) {
  .page-viticulturist .page-links .links-contents__col {
    width: 100%
  }
}

.page-viticulturist #anchor02 .links-contents__wrap {
  margin-top: 130px
}

@media screen and (max-width: 959px) {
  .page-viticulturist #anchor02 .links-contents__wrap {
    margin-top: 50px
  }
}

.page-viticulturist .gnav__btn {
  color: #fff;
  border-color: #fff
}

@media screen and (max-width: 959px) {
  .page-viticulturist .gnav__btn {
    color: #231815;
    border-color: #231815
  }
}

.page-viticulturist .gnav__btn:hover {
  color: #231815;
  background: #fff
}

.page-viticulturist .header .gt_container--hich1m .gt_switcher .gt_selected a {
  color: #fff
}

.page-viticulturist .header .gt_container--hich1m .gt_switcher .gt_selected a::after {
  border-color: #fff
}

.page-viticulturist .header .gt_container--hich1m .gt_switcher .gt_option a {
  color: #fff
}

.page-viticulturist .header.float .gnav__item:nth-of-type(6) .gnav__link,
.page-viticulturist .header.float .gnav__item:nth-of-type(7) .gnav__link {
  color: #231815
}

.page-viticulturist .header.float .gnav__item:nth-of-type(6) .gnav__link::before,
.page-viticulturist .header.float .gnav__item:nth-of-type(7) .gnav__link::before {
  background: #231815
}

.page-viticulturist .header.float .gt_container--hich1m .gt_switcher .gt_option a {
  color: #231815
}

.page-wine .hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  background: url(/assets/images/wine/kv.png) center center/cover
}

@media screen and (max-width: 959px) {
  .page-wine .hero {
    height: calc(var(--vh, 1vh)*100);
    position: relative
  }
}

@media screen and (max-width: 959px) {
  .page-wine .hero__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 44px
  }
}

.page-wine .hero__sp-logo {
  display: none
}

@media screen and (max-width: 959px) {
  .page-wine .hero__sp-logo {
    display: block;
    width: 171px
  }
}

.page-wine .hero__ttl {
  width: 50px
}

@media screen and (max-width: 959px) {
  .page-wine .hero__ttl {
    width: 6.4vw;
    min-width: 24px
  }
}

.page-wine .hero__text {
  font-size: 25px;
  color: #fff;
  margin-top: 30px;
  text-shadow: 0 0 10px #000;
  letter-spacing: .03em
}

@media screen and (max-width: 959px) {
  .page-wine .hero__text {
    font-size: 14px;
    position: absolute;
    bottom: 84px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
  }
}
