/**
 * Swiper 4.5.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 13, 2019
 */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1
}

.swiper-container-no-flexbox .swiper-slide {
  float: left
}

.swiper-container-vertical>.swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.swiper-container-multirow>.swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.swiper-container-free-mode>.swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto
}

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform
}

.swiper-slide-invisible-blank {
  visibility: hidden
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto
}

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  -o-transition-property: transform, height;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform
}

.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px
}

.swiper-container-3d .swiper-cube-shadow,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal>.swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y
}

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical>.swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x
}

.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto
}

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-lock {
  display: none
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: .3s opacity;
  -o-transition: .3s opacity;
  transition: .3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0
}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(.33);
  -ms-transform: scale(.33);
  transform: scale(.33);
  position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(.66);
  -ms-transform: scale(.66);
  transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(.33);
  -ms-transform: scale(.33);
  transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(.66);
  -ms-transform: scale(.66);
  transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(.33);
  -ms-transform: scale(.33);
  transform: scale(.33)
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: .2
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff
}

.swiper-container-vertical>.swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: .2s top, .2s -webkit-transform;
  transition: .2s top, .2s -webkit-transform;
  -o-transition: .2s transform, .2s top;
  transition: .2s transform, .2s top;
  transition: .2s transform, .2s top, .2s -webkit-transform
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s left, .2s -webkit-transform;
  transition: .2s left, .2s -webkit-transform;
  -o-transition: .2s transform, .2s left;
  transition: .2s transform, .2s left;
  transition: .2s transform, .2s left, .2s -webkit-transform
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s right, .2s -webkit-transform;
  transition: .2s right, .2s -webkit-transform;
  -o-transition: .2s transform, .2s right;
  transition: .2s transform, .2s right;
  transition: .2s transform, .2s right, .2s -webkit-transform
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, .25);
  position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progressbar,
.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0
}

.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-container-vertical>.swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0
}

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff
}

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, .25)
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #fff
}

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000
}

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, .25)
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000
}

.swiper-pagination-lock {
  display: none
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, .1)
}

.swiper-container-horizontal>.swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%
}

.swiper-container-vertical>.swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, .5);
  border-radius: 10px;
  left: 0;
  top: 0
}

.swiper-scrollbar-cursor-drag {
  cursor: move
}

.swiper-scrollbar-lock {
  display: none
}

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

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

.swiper-slide-zoomed {
  cursor: move
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite
}

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-container-cube {
  overflow: visible
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-next+.swiper-slide,
.swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible
}

.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0
}

.swiper-container-flip {
  overflow: visible
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.swiper-container-coverflow .swiper-wrapper {
  -ms-perspective: 1200px
}

@charset "utf-8";

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

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

body {
  line-height: 1
}

ol,
ul {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: "";
  content: none
}

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

@font-face {
  font-display: block;
  font-family: icomoon;
  font-style: normal;
  font-weight: 400;
  src: url(fonts/icomoon.eot?v17a758b4f70);
  src: url(fonts/icomoon.eot?v17a758b4f70#iefix) format("embedded-opentype"), url(fonts/icomoon.ttf?v17a758b4f70) format("truetype"), url(fonts/icomoon.woff?v17a758b4f70) format("woff"), url(fonts/icomoon.svg?v17a758b4f70#icomoon) format("svg")
}

* {
  box-sizing: border-box
}

:after,
:before {
  box-sizing: border-box
}

main {
  display: block
}

[hidden],
template {
  display: none !important
}

[disabled] {
  cursor: not-allowed !important
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important
}

[role=button],
a,
area,
button,
input:not([type=range]),
label,
select,
summary,
textarea {
  outline: 0 !important;
  touch-action: manipulation
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: inherit
}

a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover {
  color: inherit;
  text-decoration: inherit
}

a:not([href]):not([tabindex]):focus {
  outline: 0
}

@-webkit-keyframes animArrow {

  0%,
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
  }

  50% {
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0)
  }
}

@keyframes animArrow {

  0%,
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
  }

  50% {
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0)
  }
}

@-webkit-keyframes animArrowPrev {

  0%,
  to {
    -webkit-transform: scaleX(-1) translateZ(0);
    transform: scaleX(-1) translateZ(0)
  }

  50% {
    -webkit-transform: scaleX(-1) translate3d(10%, 0, 0);
    transform: scaleX(-1) translate3d(10%, 0, 0)
  }
}

@keyframes animArrowPrev {

  0%,
  to {
    -webkit-transform: scaleX(-1) translateZ(0);
    transform: scaleX(-1) translateZ(0)
  }

  50% {
    -webkit-transform: scaleX(-1) translate3d(10%, 0, 0);
    transform: scaleX(-1) translate3d(10%, 0, 0)
  }
}

html {
  font-size: 93.75%;
  line-height: 2;
  min-height: 100%
}

@media screen and (max-width:960px) {
  html {
    font-size: 93.75%;
    line-height: 2
  }
}

body {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  word-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff;
  color: #2d2622;
  font-family: Noto Sans JP, YuGothic, Yu Gothic Medium, Yu Gothic, Meiryo, メイリオ, sans-serif;
  font-size: 100%;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: inherit;
  overflow-wrap: break-word;
  vertical-align: baseline;
  width: 100%
}

[data-lang=en] body {
  font-family: Noto Sans, sans-serif
}

[data-lang=zh-cmn-Hans] body {
  font-family: Noto Sans SC, sans-serif
}

[data-lang=zh-cmn-Hant] body {
  font-family: Noto Sans TC, sans-serif
}

[data-lang=ko] body {
  font-family: Noto Sans KR, sans-serif
}

[data-lang=th] body {
  font-family: Noto Sans Thai, sans-serif
}

hr {
  background: none;
  border: none;
  border-top: 1px solid #005bac;
  height: 0;
  margin-bottom: 51px;
  margin-top: 53px
}

@media screen and (max-width:960px) {
  hr {
    margin-bottom: 41px;
    margin-top: 43px
  }
}

*+figure {
  margin-top: 37px
}

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

figcaption {
  font-size: .8rem;
  letter-spacing: .1em;
  line-height: 1.67;
  margin-top: 4px
}

@page {
  margin: 20px
}

button,
input,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 0;
  text-align: inherit
}

button,
select {
  cursor: pointer
}

button {
  outline: none;
  width: 100%
}

input::-ms-clear,
input::-ms-reveal,
select::-ms-expand {
  display: none
}

h2 {
  font-size: 2.14rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.44;
  margin-bottom: 45px
}

*+h2 {
  margin-top: 45px
}

ul>li {
  padding-left: 16px;
  position: relative
}

ul>li:before {
  background-color: #005bac;
  border: 1px solid #005bac;
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 10px;
  margin-left: -16px;
  margin-right: 6px;
  margin-top: -4px;
  vertical-align: middle;
  width: 10px
}

li>ul>li {
  padding-left: 15px
}

li>ul>li:before {
  background-color: transparent;
  height: 8px;
  margin-left: -12px;
  margin-right: 4px;
  width: 8px
}

ol {
  counter-reset: number;
  list-style-type: none
}

ol>li:before {
  color: #005bac;
  content: counter(number) ".";
  counter-increment: number;
  display: inline-block;
  font-weight: 700
}

ol>li+li {
  margin-top: 6px
}

*+ol,
*+ul {
  margin-top: 16px
}

@media screen and (max-width:960px) {

  *+ol,
  *+ul {
    margin-top: 16px
  }
}

ol+ol,
ol+ul,
ul+ol,
ul+ul {
  margin-top: 30px
}

*+p {
  margin-top: 8px
}

ol+p,
p+p,
ul+p {
  margin-top: 22px
}

b,
strong {
  font-weight: 700
}

em {
  color: #e60012;
  font-style: normal
}

mark {
  background-color: transparent;
  color: #2d2622
}

sup {
  vertical-align: super
}

sub,
sup {
  font-size: smaller
}

sub {
  vertical-align: sub
}

a {
  color: #005bac;
  opacity: 1;
  text-decoration: underline;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1)
}

a:visited {
  color: #005bac
}

a:hover {
  color: #005bac;
  opacity: .6;
  text-decoration: underline
}

a:hover:before {
  text-decoration: none
}

.l-base {
  background-color: #ccc;
  background-image: url(images/bg_pattern_gray.png?v17968796755);
  background-position: top;
  background-repeat: repeat;
  background-size: 50px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow: hidden;
  position: relative
}

.t-csr.l-base {
  background-image: url(images/bg_pattern_csr.png?v17968803a7c)
}

.csr-detail.t-csr.l-base {
  background: #fff;
}

@media print,
screen and (min-width:961px) {
  .l-base {
    min-width: 1000px
  }
}

.l-base__header {
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 3
}

.l-base__body {
  flex-grow: 1;
  position: relative;
  z-index: 1
}

.l-base__body,
.l-base__body _:-ms-lang(x)::-ms-backdrop {
  min-height: 1px
}

.t-article .l-base__body {
  padding-top: 160px
}

@media screen and (max-width:960px) {
  .t-article .l-base__body {
    padding-top: 126px
  }
}

.l-base__footer {
  z-index: 2
}

.l-base__footer,
.l-header {
  position: relative
}

@media print,
screen and (min-width:961px) {
  .l-header:before {
    background-color: #fff;
    box-shadow: 0 3px 15px 0 rgba(0, 0, 0, .1);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
    width: 100%
  }
}

.l-header.is-fixed:before {
  opacity: 1
}

.l-header__inner {
  align-items: flex-start;
  display: flex;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1
}

@media screen and (max-width:960px) {
  .l-header__inner {
    height: 75px
  }
}

.l-header__logo {
  display: flex;
  justify-content: center;
  padding-left: 32px;
  position: relative;
  z-index: 3
}

@media screen and (max-width:960px) {
  .l-header__logo {
    left: 0;
    opacity: 1;
    padding-left: 70px;
    padding-right: 70px;
    position: absolute;
    top: 0;
    transition: opacity .3s cubic-bezier(.39, .575, .565, 1), visibility 0s cubic-bezier(.39, .575, .565, 1) .3s;
    transition-delay: 0s;
    width: 100%
  }

  .l-header.is-fixed .l-header__logo {
    opacity: 0;
    transition-delay: 0s, 1s;
    visibility: hidden
  }

  .l-header.is-open .l-header__logo {
    opacity: 1;
    visibility: visible
  }
}

@media print,
screen and (min-width:961px) {
  .l-header__logo .c-logo {
    transition: width .3s cubic-bezier(.39, .575, .565, 1);
    width: 170px
  }

  .l-header.is-fixed .l-header__logo .c-logo {
    width: 114px
  }
}

@media screen and (max-width:960px) {
  .l-header__logo .c-logo {
    width: 150px
  }
}

.l-header__spFixedLogo {
  background-color: #fff;
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, .1);
  height: 100%;
  left: 0;
  padding: 16px 20px 17px;
  position: absolute;
  top: -100%;
  transition: top .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%;
  z-index: 1
}

.l-header.is-fixed .l-header__spFixedLogo {
  top: 0
}

@media print,
screen and (min-width:961px) {
  .l-header__spFixedLogo {
    display: none
  }

  .l-header__wrap {
    margin-left: auto
  }
}

@media screen and (max-width:960px) {
  .l-header__wrap {
    background-color: #aaa;
    background-image: url(images/bg_pattern_gray.png?v17968796755);
    background-position: top;
    background-repeat: repeat;
    background-size: 50px;
    display: none;
    left: 0;
    max-height: 100%;
    overflow-y: auto;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 2
  }
}

.l-header__cont {
  align-items: center;
  display: flex;
  padding-right: 20px;
  padding-top: 33px;
  position: relative
}

@media print,
screen and (min-width:961px) {
  .l-header__cont {
    transition: padding .3s cubic-bezier(.39, .575, .565, 1)
  }

  .l-header.is-fixed .l-header__cont {
    padding-bottom: 19px;
    padding-top: 19px
  }
}

@media screen and (max-width:960px) {
  .l-header__cont {
    flex-direction: column;
    min-height: 100vh;
    padding-right: 0;
    padding-top: 136px;
    width: 100%
  }

  .l-header__contact,
  .l-header__ec,
  .l-header__lang,
  .l-header__nav,
  .l-header__sns {
    max-width: 260px;
    width: 100%
  }
}

@media print,
screen and (min-width:961px) {
  .l-header__nav {
    margin-top: -6px
  }

  .l-header__lang {
    margin-left: 36px
  }
}

@media screen and (max-width:960px) {
  .l-header__lang {
    margin-top: 25px
  }
}

@media print,
screen and (min-width:961px) {
  .l-header__ec {
    margin-left: 24px
  }
}

@media screen and (max-width:960px) {
  .l-header__ec {
    margin-top: 30px
  }
}

@media print,
screen and (min-width:961px) {
  .l-header__sns {
    position: fixed;
    right: 17px;
    top: 340px
  }
}

@media screen and (max-width:960px) {
  .l-header__sns {
    margin-top: 30px
  }
}

.l-header__contact {
  margin-top: 10px
}

@media print,
screen and (min-width:961px) {
  .l-header__contact {
    display: none
  }
}

.l-header__banner {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: flex-end;
  margin-top: 36px;
  max-width: 400px;
  width: 100%
}

@media print,
screen and (min-width:961px) {
  .l-header__banner {
    display: none
  }
}

.l-header__toggle {
  margin-left: auto;
  padding-right: 20px;
  padding-top: 10px;
  position: relative;
  z-index: 4
}

@media print,
screen and (min-width:961px) {
  .l-header__toggle {
    display: none
  }
}

.l-main,
.l-main__head {
  position: relative
}

.l-main__head {
  z-index: 1
}

.l-main__body {
  position: relative;
  z-index: 2
}

.l-main:not(.l-main--top):not(.l-main--notfound):not(.l-main--maintenance) .l-main__body {
  margin-left: auto;
  margin-right: auto;
  max-width: 1040px;
  padding-bottom: 100px;
  padding-left: 20px;
  padding-right: 20px
}

@media screen and (max-width:960px) {
  .l-main:not(.l-main--top):not(.l-main--notfound):not(.l-main--maintenance) .l-main__body {
    padding-bottom: 60px
  }
}

.l-main__head+.l-main__body {
  padding-top: 100px
}

@media screen and (max-width:960px) {
  .l-main__head+.l-main__body {
    padding-top: 60px
  }
}

.t-underlayer .l-main__body {
  padding-top: 0
}

.l-sectionColumn {
  margin-left: auto;
  margin-right: auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px
}

.l-sectionColumn__body {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px
}

.l-sectionColumn__item {
  margin-top: 0;
  padding-left: 10px;
  padding-right: 10px;
  width: 50%
}

@media screen and (max-width:960px) {
  .l-sectionColumn__item {
    width: 100%
  }
}

.l-article__inner {
  background-color: #fff;
  padding: 90px 20px 75px
}

@media screen and (max-width:960px) {
  .l-article__inner {
    padding-bottom: 40px;
    padding-top: 28px
  }
}

.l-article__header {
  margin-bottom: 24px;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
  width: 100%
}

.l-article__mainImg {
  margin: 0 auto 50px;
  max-width: 720px;
  text-align: center;
  width: 100%
}

@media screen and (max-width:960px) {
  .l-article__mainImg {
    margin-bottom: 30px
  }
}

.l-article__body {
  margin-left: auto;
  margin-right: auto;
  max-width: 640px;
  width: 100%
}

*+.l-article__related {
  margin-top: 90px
}

@media screen and (max-width:960px) {
  *+.l-article__related {
    margin-top: 60px
  }
}

.l-article__pager {
  margin-left: auto;
  margin-right: auto;
  max-width: 340px
}

*+.l-article__pager {
  margin-top: 70px
}

@media screen and (max-width:960px) {
  *+.l-article__pager {
    margin-top: 30px
  }
}

.l-contWrapper {
  margin-left: calc(500px - 50vw);
  margin-right: calc(500px - 50vw);
  padding: 80px 20px
}

@media screen and (max-width:1040px) {
  .l-contWrapper {
    margin-left: -20px;
    margin-right: -20px
  }
}

@media screen and (max-width:960px) {
  .l-contWrapper {
    padding-bottom: 60px;
    padding-top: 60px
  }
}

.l-contWrapper--bgWhite {
  background-color: #fff
}

.l-contWrapper--patternYellow {
  background-color: #fff4d5;
  background-image: url(images/bg_pattern_yellow.png?v179780dab94);
  background-position: top;
  background-size: 50px
}

.l-main__body>.l-contWrapper:first-child {
  margin-top: -100px
}

@media screen and (max-width:960px) {
  .l-main__body>.l-contWrapper:first-child {
    margin-top: -60px
  }
}

.l-main__body>.l-contWrapper:last-child {
  margin-bottom: -100px
}

@media screen and (max-width:960px) {
  .l-main__body>.l-contWrapper:last-child {
    margin-bottom: -60px
  }
}

.l-contWrapper__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px
}

.l-footer {
  background-color: #005bac
}

.l-footer__return {
  position: absolute;
  right: 20px;
  top: -35px
}

@media print,
screen and (min-width:1041px) {
  .l-footer__return {
    right: calc(50% - 500px)
  }
}

.l-footer__inner {
  -ms-grid-columns: 1fr 6% 30% 6% 30%;
  -ms-grid-rows: auto -webkit-max-content -webkit-max-content;
  -ms-grid-rows: auto max-content max-content;
  -webkit-column-gap: 6%;
  -moz-column-gap: 6%;
  column-gap: 6%;
  display: -ms-grid;
  display: grid;
  grid-template-areas: "logo item1 item2""links item1 item2""copy item1 item2";
  grid-template-columns: 1fr 30% 30%;
  grid-template-rows: auto -webkit-max-content -webkit-max-content;
  grid-template-rows: auto max-content max-content;
  margin-left: auto;
  margin-right: auto;
  max-width: 1040px;
  padding: 63px 20px 60px
}

@media screen and (max-width:960px) {
  .l-footer__inner {
    display: block;
    padding-bottom: 28px;
    padding-top: 40px
  }
}

.l-footer__logo {
  grid-area: logo;
  -ms-grid-column: 1;
  -ms-grid-row: 1;
  margin-left: -20px
}

@media screen and (max-width:960px) {
  .l-footer__logo {
    display: none
  }
}

.l-footer__links {
  grid-area: links;
  -ms-grid-column: 1;
  -ms-grid-row: 2
}

.l-footer__copyright {
  grid-area: copy;
  -ms-grid-column: 1;
  -ms-grid-row: 3;
  margin-top: 18px
}

@media screen and (max-width:960px) {
  .l-footer__copyright {
    margin-top: 14px
  }
}

.l-footer__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between
}

@media screen and (max-width:960px) {
  .l-footer__item {
    display: none
  }
}

.l-footer__item:nth-child(4) {
  -ms-grid-row-span: 3;
  grid-area: item1;
  -ms-grid-column: 3;
  -ms-grid-row: 1
}

.l-footer__item:nth-child(5) {
  -ms-grid-row-span: 3;
  grid-area: item2;
  -ms-grid-column: 5;
  -ms-grid-row: 1
}

.l-footer__maintenance {
  margin-left: auto;
  margin-right: auto;
  max-width: 1040px;
  padding: 7px 20px
}

.c-button,
.l-footer__maintenance {
  display: flex;
  justify-content: center
}

.c-button {
  align-items: center;
  background-color: #005bac;
  border: 1px solid #005bac;
  color: #fff;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.6;
  padding: 17px 50px;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: border-color .3s cubic-bezier(.39, .575, .565, 1), color .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%;
  z-index: 1
}

@media screen and (max-width:960px) {
  .c-button {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 1.6;
    padding-left: 45px;
    padding-right: 45px
  }
}

.c-button:visited {
  color: #fff
}

.c-button:hover {
  color: #005bac;
  opacity: 1;
  text-decoration: none
}

.c-button:before {
  border: 1px solid #fff;
  bottom: 1px;
  content: "";
  display: block;
  left: 1px;
  position: absolute;
  right: 1px;
  top: 1px;
  transition: border-color .3s cubic-bezier(.39, .575, .565, 1)
}

.c-button:hover:before {
  border-color: #005bac
}

.c-button:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  bottom: 0;
  content: "";
  display: block;
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 10px;
  line-height: 1;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  right: 11px;
  text-indent: 0;
  text-transform: none;
  top: 2px
}

@media screen and (max-width:960px) {
  .c-button:after {
    content: "";
    right: 8px
  }
}

.c-button:hover:after {
  -webkit-animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

.c-button--air-port,
.c-button--current,
.c-button--event,
.c-button--return,
.c-button--skeleton {
  background-color: transparent;
  color: #005bac
}

.c-button--air-port:visited,
.c-button--current:visited,
.c-button--event:visited,
.c-button--return:visited,
.c-button--skeleton:visited {
  color: #005bac
}

.c-button--air-port:hover,
.c-button--current:hover,
.c-button--event:hover,
.c-button--return:hover,
.c-button--skeleton:hover {
  color: #fff
}

.c-button--air-port:before,
.c-button--current:before,
.c-button--event:before,
.c-button--return:before,
.c-button--skeleton:before {
  border-color: #005bac
}

.c-button--air-port:hover:before,
.c-button--current:hover:before,
.c-button--event:hover:before,
.c-button--return:hover:before,
.c-button--skeleton:hover:before {
  border-color: #fff
}

.c-button--brown {
  background-color: #2d2622
}

.c-button--gold {
  background-color: #be9a60;
  border-color: #be9a60
}

.c-button--gold:hover {
  color: #be9a60
}

.c-button--gold:hover:before {
  border-color: #be9a60
}

.c-button--white {
  background-color: #fff;
  border-color: #fff;
  color: #005bac
}

.c-button--white:visited {
  color: #005bac
}

.c-button--white:hover {
  border-color: #fff;
  color: #fff
}

.c-button--white:before {
  border-color: #fff
}

.c-button--white:hover:before {
  border-color: #fff
}

.c-button--outside:after,
.c-button[href^=http]:not([href*="//www.ishiya.co.jp/"]):after {
  content: "";
  font-size: 16px;
  height: 16px;
  margin-bottom: auto;
  margin-top: auto;
  right: 14px;
  top: 0
}

.c-button--outside:hover:after,
.c-button[href^=http]:not([href*="//www.ishiya.co.jp/"]):hover:after {
  -webkit-animation: none;
  animation: none
}

.c-button--air-port,
.c-button--current,
.c-button--event {
  font-size: 1.34rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.4;
  min-height: 148px;
  padding: 20px 20px 16px
}

@media screen and (max-width:960px) {

  .c-button--air-port,
  .c-button--current,
  .c-button--event {
    font-size: 1.2rem;
    letter-spacing: .1em;
    line-height: 1.45;
    min-height: 100px
  }
}

.c-button--air-port:before,
.c-button--current:before,
.c-button--event:before {
  bottom: 3px;
  left: 3px;
  right: 3px;
  top: 3px
}

.c-button--air-port:after,
.c-button--current:after,
.c-button--event:after {
  content: none
}

.c-button--prev:after,
.c-button--return:after {
  left: 11px;
  right: auto;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1)
}

.c-button--prev:hover:after,
.c-button--return:hover:after {
  -webkit-animation: animArrowPrev .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: animArrowPrev .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

.c-button__body:after {
  background-color: #fff;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  transition: -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1), -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%;
  z-index: -1
}

.c-button:hover .c-button__body:after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: left top;
  transform-origin: left top
}

.c-button--air-port .c-button__body:after,
.c-button--current .c-button__body:after,
.c-button--event .c-button__body:after,
.c-button--return .c-button__body:after,
.c-button--skeleton .c-button__body:after {
  background-color: #005bac
}

.c-button--white .c-button__body:after {
  background-color: #005bac
}

.c-button--air-port .c-button__body:before,
.c-button--current .c-button__body:before,
.c-button--event .c-button__body:before {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  align-items: center;
  background-color: #005bac;
  border: 1px solid #005bac;
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-family: icomoon !important;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 80px;
  justify-content: center;
  left: 0;
  line-height: 1;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
  text-indent: 0;
  text-transform: none;
  top: -41px;
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1), color .3s cubic-bezier(.39, .575, .565, 1);
  width: 80px
}

@media screen and (max-width:960px) {

  .c-button--air-port .c-button__body:before,
  .c-button--current .c-button__body:before,
  .c-button--event .c-button__body:before {
    height: 60px;
    top: -31px;
    width: 60px
  }
}

.c-button--air-port:hover .c-button__body:before,
.c-button--current:hover .c-button__body:before,
.c-button--event:hover .c-button__body:before {
  background-color: #fff;
  color: #005bac
}

.c-button--current .c-button__body:before {
  content: "";
  font-size: 40px;
  padding-bottom: 4px
}

@media screen and (max-width:960px) {
  .c-button--current .c-button__body:before {
    font-size: 26px;
    padding-left: 4px
  }
}

.c-button--air-port .c-button__body:before {
  content: "";
  font-size: 27px;
  padding-top: 4px
}

@media screen and (max-width:960px) {
  .c-button--air-port .c-button__body:before {
    font-size: 20px;
    padding-left: 4px
  }
}

.c-button--event .c-button__body:before {
  content: "";
  font-size: 43px;
  padding-bottom: 4px
}

@media screen and (max-width:960px) {
  .c-button--event .c-button__body:before {
    font-size: 28px;
    padding-left: 4px
  }
}

.c-button__body span {
  display: inline-block
}

.c-shopLink {
  align-items: center;
  background-color: #005bac;
  border: 1px solid #005bac;
  border-radius: 36px;
  color: #fff;
  display: flex;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1rem;
  font-weight: 400;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 2;
  padding: 1px 17px 3px;
  text-decoration: none;
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1), border-color .3s cubic-bezier(.39, .575, .565, 1), color .3s cubic-bezier(.39, .575, .565, 1)
}

@media screen and (max-width:960px) {
  .c-shopLink {
    border-radius: 42px;
    font-size: 1.2rem;
    letter-spacing: .1em;
    line-height: 1.67;
    padding-bottom: 6px;
    padding-top: 4px
  }
}

.c-shopLink:visited {
  color: #fff
}

.c-shopLink:hover {
  background-color: #fff;
  border-color: #005bac;
  color: #005bac;
  opacity: 1;
  text-decoration: none
}

.c-shopLink:before {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "";
  display: inline-block;
  font-family: icomoon !important;
  font-size: 16px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 16px;
  line-height: 1;
  margin-right: 8px;
  margin-top: 2px;
  text-indent: 0;
  text-transform: none;
  vertical-align: middle;
  width: 16px
}

@media screen and (max-width:960px) {
  .c-shopLink:before {
    font-size: 20px;
    height: 20px;
    margin-right: 10px;
    width: 20px
  }
}

.c-shopLink:after {
  content: none !important
}

.c-spContact {
  align-items: center;
  border-bottom: 1px solid #005bac;
  color: #005bac;
  display: flex;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  padding-bottom: 12px;
  padding-right: 50px;
  padding-top: 12px;
  position: relative;
  text-decoration: none
}

.c-spContact:visited {
  color: #005bac
}

.c-spContact:hover {
  color: #005bac;
  opacity: 1;
  text-decoration: none
}

.c-spContact:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  bottom: 0;
  content: "";
  display: block;
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 10px;
  line-height: 1;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  right: 0;
  text-indent: 0;
  text-transform: none;
  top: 2px
}

.c-returnBtn {
  background-color: #be9a60;
  border: 1px solid #be9a60;
  border-radius: 50%;
  color: #fff;
  display: block;
  height: 70px;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
  width: 70px
}

.c-returnBtn:before {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "";
  display: block;
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  left: 0;
  line-height: 1;
  position: absolute;
  text-align: center;
  text-indent: 0;
  text-transform: none;
  top: 17px;
  -webkit-transform: scale(.5);
  transform: scale(.5);
  width: 100%
}

.c-returnBtn:visited {
  color: #fff
}

.c-returnBtn:hover {
  color: #fff;
  opacity: .8;
  text-decoration: none
}

.c-returnBtn:hover:before {
  -webkit-animation: returnArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: returnArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

.c-returnBtn__text {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.07rem;
  font-weight: 400;
  left: 0;
  letter-spacing: .1em;
  line-height: 1.88;
  position: absolute;
  text-align: center;
  top: 24px;
  width: 100%
}

@-webkit-keyframes returnArrow {

  0%,
  to {
    -webkit-transform: scale(.5) translateZ(0);
    transform: scale(.5) translateZ(0)
  }

  50% {
    -webkit-transform: scale(.5) translate3d(0, -40%, 0);
    transform: scale(.5) translate3d(0, -40%, 0)
  }
}

@keyframes returnArrow {

  0%,
  to {
    -webkit-transform: scale(.5) translateZ(0);
    transform: scale(.5) translateZ(0)
  }

  50% {
    -webkit-transform: scale(.5) translate3d(0, -40%, 0);
    transform: scale(.5) translate3d(0, -40%, 0)
  }
}

*+.c-column {
  margin-top: 53px
}

@media screen and (max-width:960px) {
  *+.c-column {
    margin-top: 30px
  }
}

.l-article .c-column {
  margin-left: -40px;
  margin-right: -40px
}

@media screen and (max-width:800px) {
  .l-article .c-column {
    margin-left: calc(-50vw + 40px + 50%);
    margin-right: calc(-50vw + 40px + 50%)
  }
}

@media screen and (max-width:720px) {
  .l-article .c-column {
    margin-left: 0;
    margin-right: 0
  }
}

.c-column__body {
  display: flex;
  flex-wrap: wrap;
  margin-left: -20px;
  margin-right: -20px;
  margin-top: -40px
}

@media screen and (max-width:960px) {
  .c-column__body {
    margin-top: -20px
  }
}

.c-column__item {
  margin-top: 40px;
  padding-left: 20px;
  padding-right: 20px
}

@media screen and (max-width:960px) {
  .c-column__item {
    margin-top: 20px
  }
}

.c-column__item--width1 {
  width: 8.3333333333%
}

@media screen and (max-width:960px) {
  .c-column__item--width1 {
    width: 100%
  }
}

.c-column__item--spWidth1 {
  width: 8.3333333333%
}

.c-column__item--width2 {
  width: 16.6666666667%
}

@media screen and (max-width:960px) {
  .c-column__item--width2 {
    width: 100%
  }
}

.c-column__item--spWidth2 {
  width: 16.6666666667%
}

.c-column__item--width3 {
  width: 25%
}

@media screen and (max-width:960px) {
  .c-column__item--width3 {
    width: 100%
  }
}

.c-column__item--spWidth3 {
  width: 25%
}

.c-column__item--width4 {
  width: 33.3333333333%
}

@media screen and (max-width:960px) {
  .c-column__item--width4 {
    width: 100%
  }
}

.c-column__item--spWidth4 {
  width: 33.3333333333%
}

.c-column__item--width5 {
  width: 41.6666666667%
}

@media screen and (max-width:960px) {
  .c-column__item--width5 {
    width: 100%
  }
}

.c-column__item--spWidth5 {
  width: 41.6666666667%
}

.c-column__item--width6 {
  width: 50%
}

@media screen and (max-width:960px) {
  .c-column__item--width6 {
    width: 100%
  }
}

.c-column__item--spWidth6 {
  width: 50%
}

.c-column__item--width7 {
  width: 58.3333333333%
}

@media screen and (max-width:960px) {
  .c-column__item--width7 {
    width: 100%
  }
}

.c-column__item--spWidth7 {
  width: 58.3333333333%
}

.c-column__item--width8 {
  width: 66.6666666667%
}

@media screen and (max-width:960px) {
  .c-column__item--width8 {
    width: 100%
  }
}

.c-column__item--spWidth8 {
  width: 66.6666666667%
}

.c-column__item--width9 {
  width: 75%
}

@media screen and (max-width:960px) {
  .c-column__item--width9 {
    width: 100%
  }
}

.c-column__item--spWidth9 {
  width: 75%
}

.c-column__item--width10 {
  width: 83.3333333333%
}

@media screen and (max-width:960px) {
  .c-column__item--width10 {
    width: 100%
  }
}

.c-column__item--spWidth10 {
  width: 83.3333333333%
}

.c-column__item--width11 {
  width: 91.6666666667%
}

@media screen and (max-width:960px) {
  .c-column__item--width11 {
    width: 100%
  }
}

.c-column__item--spWidth11 {
  width: 91.6666666667%
}

.c-column__item--width12 {
  width: 100%
}

@media screen and (max-width:960px) {
  .c-column__item--width12 {
    width: 100%
  }
}

.c-column__item--spWidth12 {
  width: 100%
}

.c-contactHeading3 {
  background-color: #fff4d5;
  background-image: url(images/bg_pattern_yellow.png?v179780dab94);
  background-position: top;
  background-size: 50px;
  color: #be9a60;
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.67rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.68;
  margin-bottom: 32px;
  padding: 4px 20px 6px;
  position: relative;
  text-align: center
}

.c-contactHeading3:before {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  font-family: icomoon !important;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  text-indent: 0;
  text-transform: none;
  vertical-align: middle
}

.c-contactHeading3--customer:before {
  content: "";
  font-size: 24px;
  margin-right: 5px;
  margin-top: -6px
}

.c-contactHeading3--business:before {
  content: "";
  font-size: 24px;
  margin-right: 6px;
  margin-top: -4px
}

*+.c-contactHeading3 {
  margin-top: 40px
}

.c-contactHeading4 {
  font-size: 1.34rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.6;
  margin-bottom: 16px;
  padding-left: 50px;
  padding-top: 3px;
  position: relative
}

@media screen and (max-width:960px) {
  .c-contactHeading4 {
    font-size: 1.2rem;
    letter-spacing: .1em;
    line-height: 1.56;
    padding-left: 40px;
    padding-top: 0
  }
}

.c-contactHeading4:before {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  align-items: center;
  border: 1px solid #005bac;
  border-radius: 50%;
  color: #005bac;
  display: flex;
  font-family: icomoon !important;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 36px;
  justify-content: center;
  left: 0;
  line-height: 1;
  position: absolute;
  text-indent: 0;
  text-transform: none;
  top: 0;
  vertical-align: middle;
  width: 36px
}

@media screen and (max-width:960px) {
  .c-contactHeading4:before {
    height: 30px;
    width: 30px
  }
}

.c-contactHeading4--mail:before {
  content: "";
  font-size: 13px;
  padding-left: 2px
}

@media screen and (max-width:960px) {
  .c-contactHeading4--mail:before {
    font-size: 12px
  }
}

.c-contactHeading4--tel:before {
  content: "";
  font-size: 20px;
  padding-left: 2px
}

*+.c-contactHeading4 {
  margin-top: 40px
}

.c-contactHeading3+.c-contactHeading4 {
  margin-top: 32px
}

:root {
  counter-reset: csrHeading3 csrHeading4
}

.c-csrHeading2 {
  counter-reset: csrHeading3;
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2.14rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.32;
  margin-bottom: 26px;
  position: relative;
  text-align: center
}

@media screen and (max-width:960px) {
  .c-csrHeading2 {
    font-size: 1.8rem;
    letter-spacing: .1em;
    line-height: 1.56;
    margin-bottom: 16px
  }
}

.c-csrHeading2 span {
  display: inline-block
}

.c-csrHeading3 {
  counter-reset: csrHeading4;
  display: flex;
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.67rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.68;
  margin-bottom: 50px;
  position: relative
}

@media screen and (max-width:960px) {
  .c-csrHeading3 {
    font-size: 1.34rem;
    letter-spacing: .1em;
    line-height: 1.4;
    margin-bottom: 25px
  }
}

.c-csrHeading3:before {
  align-items: center;
  background-color: #005bac;
  color: #fff;
  content: counter(csrHeading3, upper-roman);
  counter-increment: csrHeading3;
  display: flex;
  justify-content: center;
  letter-spacing: -2px;
  margin-right: 2px;
  min-width: 48px;
  padding: 2px 3px 4px;
  text-align: center
}

@media screen and (max-width:960px) {
  .c-csrHeading3:before {
    min-width: 42px;
    padding-bottom: 7px;
    padding-top: 7px
  }
}

*+.c-csrHeading3 {
  margin-top: 78px
}

@media screen and (max-width:960px) {
  *+.c-csrHeading3 {
    margin-top: 46px
  }
}

.c-csrHeading3__text {
  background-color: #005bac;
  color: #fff;
  display: block;
  flex-grow: 1;
  padding: 2px 14px 4px
}

@media screen and (max-width:960px) {
  .c-csrHeading3__text {
    padding-bottom: 7px;
    padding-top: 7px
  }
}

.c-csrHeading4 {
  font-size: 1.34rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.8;
  margin-bottom: 10px;
  padding-left: 1.1em
}

@media screen and (max-width:960px) {
  .c-csrHeading4 {
    font-size: 1.2rem;
    letter-spacing: .1em;
    line-height: 1.78
  }
}

.c-csrHeading4:before {
  content: counter(csrHeading4) ".";
  counter-increment: csrHeading4;
  display: inline-block;
  margin-left: -1.1em;
  text-align: right;
  white-space: nowrap;
  width: 1.1em
}

*+.c-csrHeading4 {
  margin-top: 30px
}

@media screen and (max-width:960px) {
  *+.c-csrHeading4 {
    margin-top: 20px
  }
}

.c-langChange {
  display: block
}

.c-langChange,
.c-langChange__label {
  position: relative
}

.c-langChange__label:after {
  background-color: #fff;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  opacity: .2;
  position: absolute;
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%
}

@media screen and (max-width:960px) {
  .c-langChange__label:after {
    background-color: #005bac;
    opacity: 1
  }
}

@media print,
screen and (min-width:961px) {

  .c-langChange.is-fixed .c-langChange__label:after,
  .t-article .c-langChange__label:after {
    background-color: #2d2622
  }
}

.c-langChange__toggle {
  color: #fff;
  display: block;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: .94rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2.15;
  padding-bottom: 3px;
  padding-left: 22px;
  padding-right: 17px;
  position: relative;
  transition: color .3s cubic-bezier(.39, .575, .565, 1);
  z-index: 1
}

@media screen and (max-width:960px) {
  .c-langChange__toggle {
    color: #005bac;
    font-size: 1.2rem;
    letter-spacing: .1em;
    line-height: 1.67;
    padding-bottom: 9px;
    padding-left: 37px;
    padding-top: 6px
  }
}

.c-langChange__toggle:after,
.c-langChange__toggle:before {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  font-family: icomoon !important;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  text-indent: 0;
  text-transform: none
}

.c-langChange__toggle:before {
  bottom: 2px;
  content: "";
  font-size: 16px;
  height: 16px;
  left: 0;
  top: 0;
  width: 16px
}

@media screen and (max-width:960px) {
  .c-langChange__toggle:before {
    font-size: 20px;
    height: 20px;
    width: 20px
  }
}

.c-langChange__toggle:after {
  bottom: 0;
  content: "";
  font-size: 10px;
  height: 10px;
  right: -6px;
  top: 0;
  -webkit-transform: scale(.4, -.4);
  transform: scale(.4, -.4);
  width: 22px
}

@media screen and (max-width:960px) {
  .c-langChange__toggle:after {
    right: -2px;
    -webkit-transform: scale(.75, -.75);
    transform: scale(.75, -.75)
  }
}

@media print,
screen and (min-width:961px) {

  .c-langChange.is-fixed .c-langChange__toggle,
  .t-article .c-langChange__toggle {
    color: #2d2622
  }
}

.c-langChange__body {
  display: none
}

@media print,
screen and (min-width:961px) {
  .c-langChange__body {
    left: 0;
    position: absolute;
    top: 100%;
    width: 100%
  }
}

.c-langChange__list {
  padding-top: 3px;
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1)
}

@media print,
screen and (min-width:961px) {
  .c-langChange.is-fixed .c-langChange__list {
    background-color: #fff;
    box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .1)
  }
}

.c-langChange__item {
  margin-top: 0;
  padding-bottom: 3px;
  padding-left: 0;
  padding-top: 3px;
  position: relative
}

.c-langChange__item:before {
  content: none
}

@media print,
screen and (min-width:961px) {
  .c-langChange__item:not(:last-child):after {
    background-color: #2d2622;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    opacity: 0;
    position: absolute;
    transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
    width: 100%
  }

  .c-langChange.is-fixed .c-langChange__item:not(:last-child):after {
    opacity: .2
  }
}

.c-langChange__link {
  color: #fff;
  display: block;
  font-size: .87rem;
  letter-spacing: .1em;
  line-height: 1.54;
  text-align: center;
  text-decoration: none;
  transition: color .3s cubic-bezier(.39, .575, .565, 1), opacity .3s cubic-bezier(.39, .575, .565, 1)
}

@media screen and (max-width:960px) {
  .c-langChange__link {
    color: #005bac;
    font-size: 1.2rem;
    letter-spacing: .1em;
    line-height: 1.67
  }
}

.c-langChange__link:visited {
  color: #fff
}

@media screen and (max-width:960px) {
  .c-langChange__link:visited {
    color: #005bac
  }
}

.c-langChange__link:hover {
  color: #fff;
  text-decoration: none
}

@media screen and (max-width:960px) {
  .c-langChange__link:hover {
    color: #005bac
  }
}

@media print,
screen and (min-width:961px) {

  .c-langChange.is-fixed .c-langChange__link,
  .t-article .c-langChange__link {
    color: #2d2622
  }
}

.c-langChange__link--cn {
  font-family: Noto Sans SC, sans-serif
}

.c-langChange__link--tw {
  font-family: Noto Sans TC, sans-serif
}

.c-langChange__link--ko {
  font-family: Noto Sans KR, sans-serif
}

.c-langChange__link--th {
  font-family: Noto Sans Thai, sans-serif
}

.c-noticeList li {
  padding-left: 1.1em
}

.c-noticeList li:before {
  background-color: transparent;
  border: none;
  border-radius: 0;
  content: "※";
  height: auto;
  margin-left: -1.1em;
  margin-right: 0;
  margin-top: 0;
  vertical-align: inherit;
  width: 1.1em
}

@media screen and (max-width:960px) {
  .c-snsLinks__list {
    align-items: center;
    display: flex;
    justify-content: center
  }
}

.c-snsLinks__item {
  margin-top: 0;
  padding-left: 0
}

.c-snsLinks__item:before {
  content: none
}

@media print,
screen and (min-width:961px) {
  .c-snsLinks__item+.c-snsLinks__item {
    margin-top: 16px
  }
}

@media screen and (max-width:960px) {
  .c-snsLinks__item+.c-snsLinks__item {
    margin-left: 26px
  }
}

.c-snsLinks__link {
  display: block
}

@media screen and (max-width:960px) {
  .c-snsLinks__link {
    width: 30px
  }
}

.c-snsLinks__link--twitter{
  width: 26px;
  height: 26px;
  background-color: #000;
  border-radius: 18px;
  display: grid;
  place-items: center;
}

@media screen and (max-width:960px) {
  .c-snsLinks__link--twitter{
    width: 30px;
    height: 30px;
  }
}

.c-snsLinks__link img {
  display: block
}

@media screen and (max-width:960px) {
  .c-snsLinks__link img {
    width: 100%
  }
  .c-snsLinks__link--twitter img{
    width: 12px;
    height: 12px;
  }
}

:root {
  counter-reset: underHeading2 underHeading3
}

.c-underHeading2 {
  display: flex;
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.67rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.68;
  margin-bottom: 50px;
  position: relative
}

@media screen and (max-width:960px) {
  .c-underHeading2 {
    font-size: 1.34rem;
    letter-spacing: .1em;
    line-height: 1.4;
    margin-bottom: 25px
  }
}

.c-underHeading2--num {
  counter-reset: underHeading3
}

.c-underHeading2--num:before {
  align-items: center;
  background-color: #005bac;
  color: #fff;
  content: counter(underHeading2, upper-roman);
  counter-increment: underHeading2;
  display: flex;
  justify-content: center;
  letter-spacing: -2px;
  margin-right: 2px;
  min-width: 48px;
  padding: 2px 3px 4px;
  text-align: center
}

@media screen and (max-width:960px) {
  .c-underHeading2--num:before {
    min-width: 42px;
    padding-bottom: 7px;
    padding-top: 7px
  }
}

*+.c-underHeading2 {
  margin-top: 78px
}

@media screen and (max-width:960px) {
  *+.c-underHeading2 {
    margin-top: 46px
  }
}

.c-underHeading2__text {
  background-color: #005bac;
  color: #fff;
  display: block;
  flex-grow: 1;
  padding: 2px 14px 4px
}

@media screen and (max-width:960px) {
  .c-underHeading2__text {
    padding-bottom: 7px;
    padding-top: 7px
  }
}

.c-underHeading3 {
  font-size: 1.34rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.8;
  margin-bottom: 10px;
  padding-left: 1.1em
}

@media screen and (max-width:960px) {
  .c-underHeading3 {
    font-size: 1.2rem;
    letter-spacing: .1em;
    line-height: 1.78
  }
}

.c-underHeading3:before {
  content: counter(underHeading3) ".";
  counter-increment: underHeading3;
  display: inline-block;
  margin-left: -1.1em;
  text-align: right;
  white-space: nowrap;
  width: 1.1em
}

*+.c-underHeading3 {
  margin-top: 30px
}

@media screen and (max-width:960px) {
  *+.c-underHeading3 {
    margin-top: 20px
  }
}

.c-fileIcon:after,
.c-fileIcon:before {
  text-decoration: underline
}

.c-fileIcon:after {
  border: 1px solid #2d2622;
  display: inline-block;
  font-size: .87rem;
  letter-spacing: .1em;
  line-height: 1;
  margin-left: 18px;
  min-width: 40px;
  padding: 1px 4px 2px;
  text-align: center;
  text-decoration: none
}

.c-fileIcon:hover:after {
  text-decoration: none
}

.c-fileIcon--pdf:after {
  border-color: #c7412b;
  color: #c7412b;
  content: "PDF"
}

.p-navGlobal__list {
  display: flex;
  flex-wrap: wrap
}

@media screen and (max-width:960px) {
  .p-navGlobal__list {
    margin-left: -16px;
    margin-right: -16px;
    margin-top: -18px
  }
}

.p-navGlobal__item {
  margin-top: 0;
  padding-left: 0
}

@media screen and (max-width:960px) {
  .p-navGlobal__item {
    margin-top: 18px;
    padding-left: 16px;
    padding-right: 16px;
    width: 50%
  }
}

@media print,
screen and (min-width:961px) {
  .p-navGlobal__item+.p-navGlobal__item {
    margin-left: 30px
  }
}

.p-navGlobal__item:before {
  content: none
}

.p-navGlobal__text {
  color: #fff;
  display: block;
  position: relative;
  text-decoration: none;
  transition: color .3s cubic-bezier(.39, .575, .565, 1)
}

@media screen and (max-width:960px) {
  .p-navGlobal__text {
    color: #005bac
  }
}

@media print,
screen and (min-width:961px) {
  .p-navGlobal__text:after {
    background-color: #fff;
    bottom: -8px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transition: width .3s cubic-bezier(.39, .575, .565, 1), background-color .3s cubic-bezier(.39, .575, .565, 1);
    width: 0
  }
}

.p-navGlobal__text:visited {
  color: #fff
}

@media screen and (max-width:960px) {
  .p-navGlobal__text:visited {
    color: #005bac
  }
}

.p-navGlobal__text:hover {
  color: #fff;
  opacity: 1;
  text-decoration: none
}

@media screen and (max-width:960px) {
  .p-navGlobal__text:hover {
    color: #005bac
  }
}

.p-navGlobal__text:hover:after {
  width: 100%
}

@media print,
screen and (min-width:961px) {

  .p-navGlobal.is-fixed .p-navGlobal__text,
  .t-article .p-navGlobal__text {
    color: #2d2622
  }

  .p-navGlobal.is-fixed .p-navGlobal__text:after,
  .t-article .p-navGlobal__text:after {
    background-color: #2d2622
  }

  .p-navGlobal.is-fixed .p-navGlobal__text:hover,
  .p-navGlobal.is-fixed .p-navGlobal__text:visited,
  .t-article .p-navGlobal__text:hover,
  .t-article .p-navGlobal__text:visited {
    color: #2d2622
  }
}

.p-navGlobal__text__en {
  display: block;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.47rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.37
}

@media screen and (max-width:960px) {
  .p-navGlobal__text__en {
    font-size: 2rem;
    letter-spacing: .1em;
    line-height: 1.4
  }
}

.p-navGlobal__text__ja {
  display: block;
  font-size: .74rem;
  letter-spacing: .1em;
  line-height: 1.37;
  margin-top: 3px
}

@media screen and (max-width:960px) {
  .p-navGlobal__text__ja {
    font-size: .87rem;
    letter-spacing: .1em;
    line-height: 1.54
  }
}

.p-navToggle {
  align-items: flex-start;
  display: flex;
  height: 50px;
  justify-content: center;
  overflow: visible;
  padding-top: 39px;
  position: relative;
  transition: padding-top .3s cubic-bezier(.39, .575, .565, 1);
  width: 30px
}

.p-navToggle__body {
  color: #fff;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: .67rem;
  font-weight: 400;
  letter-spacing: .18em;
  line-height: 1;
  transition: color .3s cubic-bezier(.39, .575, .565, 1)
}

.t-article .p-navToggle__body {
  color: #2d2622
}

.p-navToggle.is-fixed .p-navToggle__body {
  color: #005bac
}

.p-navToggle.is-open .p-navToggle__body {
  color: #231815
}

.p-navToggle .p-navToggle__body:before,
.p-navToggle:after,
.p-navToggle:before {
  background-color: #fff;
  content: "";
  display: block;
  height: 1px;
  left: calc(50% - 15px);
  position: absolute;
  transition: all .3s cubic-bezier(.39, .575, .565, 1);
  width: 30px
}

.p-navToggle:before {
  top: 10px
}

.p-navToggle .p-navToggle__body:before {
  top: 20px
}

.p-navToggle:after {
  top: 30px
}

.t-article .p-navToggle .p-navToggle__body:before,
.t-article .p-navToggle:after,
.t-article .p-navToggle:before {
  background-color: #2d2622
}

.p-navToggle.is-fixed .p-navToggle__body:before,
.p-navToggle.is-fixed:after,
.p-navToggle.is-fixed:before {
  background-color: #005bac
}

.p-navToggle.is-open .p-navToggle__body:before,
.p-navToggle.is-open:after,
.p-navToggle.is-open:before {
  background-color: #231815
}

.p-navToggle.is-open:after,
.p-navToggle.is-open:before {
  left: calc(50% - 18px);
  top: 20px;
  width: 36px
}

.p-navToggle.is-open:before {
  -webkit-transform: rotate(35.18deg);
  transform: rotate(35.18deg)
}

.p-navToggle.is-open:after {
  -webkit-transform: rotate(-35.18deg);
  transform: rotate(-35.18deg)
}

.p-navToggle.is-open .p-navToggle__body:before {
  left: 50%;
  top: 20px;
  width: 0
}

.p-spBanner__list {
  display: flex;
  flex-wrap: wrap
}

.p-spBanner__item {
  margin-top: 0;
  padding-left: 0;
  width: 50%
}

.p-spBanner__item:before {
  content: none
}

.p-spBanner__link {
  display: block
}

.p-spBanner__link:after {
  content: none
}

.p-spBanner__link img {
  width: 100%
}

@media screen and (max-width:960px) {
  .p-footerLinks {
    display: flex;
    justify-content: center
  }
}

.p-footerLinks__item {
  padding-left: 0
}

@media screen and (max-width:960px) {
  .p-footerLinks__item {
    padding-left: 14px;
    padding-right: 14px
  }
}

.p-footerLinks__item:before {
  content: none
}

.p-footerLinks__item+.p-footerLinks__item {
  margin-top: 3px
}

@media screen and (max-width:960px) {
  .p-footerLinks__item+.p-footerLinks__item {
    margin-top: 0
  }
}

.p-footerLinks__link {
  color: #fff;
  font-size: .87rem;
  letter-spacing: .1em;
  line-height: 1.39;
  text-decoration: none
}

.p-footerLinks__link:visited {
  color: #fff
}

.p-footerLinks__link:hover {
  color: #fff;
  opacity: 1;
  text-decoration: underline
}

.p-footerSitemap__item {
  margin-top: 0;
  padding-left: 0
}

.p-footerSitemap__item:before {
  content: none
}

.p-footerSitemap__link {
  color: #fff;
  display: block;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  padding-bottom: 9px;
  padding-top: 8px;
  position: relative;
  text-decoration: none;
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1), color .3s cubic-bezier(.39, .575, .565, 1)
}

.p-footerSitemap__link:before {
  background-color: rgba(255, 255, 255, .2);
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%
}

.p-footerSitemap__link:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  bottom: 0;
  content: "";
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 10px;
  line-height: 1;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  right: 0;
  text-indent: 0;
  text-transform: none;
  top: 0
}

.p-footerSitemap__link:visited {
  color: #fff
}

.p-footerSitemap__link:hover {
  color: #fff;
  opacity: 1;
  text-decoration: none
}

.p-footerSitemap__link:hover:after {
  -webkit-animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

.p-footerSitemap__child {
  -ms-grid-columns: (-webkit-max-content)[2];
  -ms-grid-columns: (max-content)[2];
  -webkit-column-gap: 12.6666666667%;
  -moz-column-gap: 12.6666666667%;
  column-gap: 12.6666666667%;
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(2, -webkit-max-content);
  grid-template-columns: repeat(2, max-content);
  margin-top: 0;
  padding-bottom: 17px;
  padding-top: 12px
}

.p-footerSitemap__child,
.p-footerSitemap__child _:-ms-lang(x)::-ms-backdrop {
  -ms-grid-columns: max-content 12.6666666667% max-content
}

.p-footerSitemap__child__item {
  margin-top: 4px;
  padding-left: 0
}

.p-footerSitemap__child__item:first-child,
.p-footerSitemap__child__item:first-child _:-ms-lang(x)::-ms-backdrop {
  -ms-grid-column: 1;
  -ms-grid-row: 1
}

.p-footerSitemap__child__item:nth-child(2),
.p-footerSitemap__child__item:nth-child(2) _:-ms-lang(x)::-ms-backdrop {
  -ms-grid-column: 3;
  -ms-grid-row: 1
}

.p-footerSitemap__child__item:nth-child(3),
.p-footerSitemap__child__item:nth-child(3) _:-ms-lang(x)::-ms-backdrop {
  -ms-grid-column: 1;
  -ms-grid-row: 2
}

.p-footerSitemap__child__item:nth-child(4),
.p-footerSitemap__child__item:nth-child(4) _:-ms-lang(x)::-ms-backdrop {
  -ms-grid-column: 3;
  -ms-grid-row: 2
}

.p-footerSitemap__child__item:nth-child(5),
.p-footerSitemap__child__item:nth-child(5) _:-ms-lang(x)::-ms-backdrop {
  -ms-grid-column: 1;
  -ms-grid-row: 3
}

.p-footerSitemap__child__item:nth-child(6),
.p-footerSitemap__child__item:nth-child(6) _:-ms-lang(x)::-ms-backdrop {
  -ms-grid-column: 3;
  -ms-grid-row: 3
}

.p-footerSitemap__child__item:before {
  content: none
}

.p-footerSitemap__child__link {
  color: #fff;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  text-decoration: none
}

.p-footerSitemap__child__link:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  height: 1px;
  margin-right: 12px;
  margin-top: -2px;
  vertical-align: middle;
  width: 8px
}

.p-footerSitemap__child__link:visited {
  color: #fff
}

.p-footerSitemap__child__link:hover {
  color: #fff;
  opacity: 1;
  text-decoration: underline
}

.p-footerSitemapSp {
  display: flex;
  justify-content: center
}

.p-footerSitemapSp__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -18px;
  margin-top: -6px;
  padding-left: 2px;
  padding-right: 2px
}

.p-footerSitemapSp__item {
  margin-top: 6px;
  padding-left: 18px;
  padding-right: 18px;
  position: relative
}

.p-footerSitemapSp__item:before {
  content: none
}

.p-footerSitemapSp__item:after {
  background-color: #fff;
  content: "";
  display: block;
  height: 16px;
  opacity: .2;
  position: absolute;
  right: 0;
  top: 8px;
  width: 1px
}

.p-footerSitemapSp__link {
  color: #fff;
  font-size: .87rem;
  letter-spacing: .1em;
  line-height: 2.31;
  text-decoration: none
}

.p-footerSitemapSp__link:visited {
  color: #fff
}

.p-footerSitemapSp__link:hover {
  color: #fff;
  opacity: 1;
  text-decoration: underline
}

.p-copyright {
  color: #fff;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: .67rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.6
}

@media screen and (max-width:960px) {
  .p-copyright {
    text-align: center
  }

  .p-copyright__text br {
    display: none
  }
}

*+.p-relationBtns {
  margin-top: 19px
}

.p-relationBtns__item {
  margin-top: 0;
  padding-left: 0
}

.p-relationBtns__item:before {
  content: none
}

.p-relationBtns__item+.p-relationBtns__item {
  margin-top: 4px
}

.p-relationBtns__item .c-button {
  padding-bottom: 9px;
  padding-top: 9px
}

.p-relationSites {
  display: flex;
  width: 100%
}

.p-relationSites__ttl {
  align-items: center;
  background-color: #003767;
  color: #fff;
  display: flex;
  font-size: .87rem;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 1.54;
  min-width: 200px;
  padding: 11px 20px 9px;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-relationSites__ttl {
    font-size: .87rem;
    letter-spacing: .1em;
    line-height: 1.54;
    min-width: 100px;
    padding-left: 10px;
    padding-right: 10px
  }
}

.p-relationSites__list {
  background-color: #00498a;
  flex-grow: 1;
  font-size: .87rem;
  letter-spacing: .1em;
  line-height: 1.54;
  padding: 11px 20px 9px
}

@media screen and (max-width:960px) {
  .p-relationSites__list {
    font-size: .87rem;
    letter-spacing: .1em;
    line-height: 1.54;
    padding-bottom: 13px;
    padding-top: 15px
  }
}

@media print,
screen and (min-width:961px) {
  .p-relationSites__body {
    display: flex;
    justify-content: center
  }
}

.p-relationSites__item {
  color: #fff;
  margin-top: 0;
  padding-left: 0
}

.p-relationSites__item:before {
  content: none
}

@media print,
screen and (min-width:961px) {
  .p-relationSites__item+.p-relationSites__item {
    margin-left: 23px
  }
}

@media screen and (max-width:960px) {
  .p-relationSites__item+.p-relationSites__item {
    margin-top: 6px
  }
}

.p-relationSites__link {
  color: #fff;
  font-size: .87rem;
  letter-spacing: .1em;
  line-height: 1.54;
  padding-left: 15px;
  text-decoration: none
}

@media screen and (max-width:960px) {
  .p-relationSites__link {
    font-size: .8rem;
    letter-spacing: .1em;
    line-height: 1.67
  }
}

.p-relationSites__link:before {
  background-color: #fff;
  content: "";
  display: inline-block;
  height: 1px;
  margin-left: -15px;
  margin-right: 7px;
  margin-top: -2px;
  vertical-align: middle;
  width: 8px
}

.p-relationSites__link:visited {
  color: #fff
}

.p-relationSites__link:hover {
  color: #fff
}

.p-relationSites__link--outside:after,
.p-relationSites__link[href^=http]:not([href*="//www.ishiya.co.jp/"]):after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "";
  display: inline-block;
  font-family: icomoon !important;
  font-size: 16px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  margin-left: 5px;
  margin-top: -4px;
  text-indent: 0;
  text-transform: none;
  vertical-align: middle
}

.p-mainVisual {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: var(--100vh, 100vh);
  position: relative
}

.p-mainVisual:after,
.p-mainVisual:before {
  position: absolute
}

.p-mainVisual:before {
  content: "Scroll";
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-weight: 400
}

@media print,
screen and (min-width:961px) {
  .p-mainVisual:before {
    bottom: 126px;
    font-size: .94rem;
    letter-spacing: .1em;
    line-height: 1;
    right: 22px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
  }
}

@media screen and (max-width:960px) {
  .p-mainVisual:before {
    bottom: 26px;
    font-size: .94rem;
    left: 0;
    letter-spacing: .1em;
    line-height: 1;
    text-align: center;
    width: 100%
  }
}

.p-mainVisual:after {
  -webkit-animation: scrollBar 1.6s cubic-bezier(.39, .575, .565, 1) 0s infinite;
  animation: scrollBar 1.6s cubic-bezier(.39, .575, .565, 1) 0s infinite;
  background-color: #2d2622;
  bottom: 0;
  content: "";
  height: 120px;
  right: 29px;
  width: 1px
}

@media screen and (max-width:960px) {
  .p-mainVisual:after {
    height: 20px;
    left: 0;
    margin-left: auto;
    margin-right: auto;
    right: 0
  }
}

.p-mainVisual__inner {
  display: flex;
  flex-grow: 1;
  min-height: calc(100vh - 48px);
  min-height: calc(var(--100vh, 100vh) - 48px);
  padding-right: 60px;
  position: relative;
  z-index: 1
}

@media screen and (max-width:960px) {
  .p-mainVisual__inner {
    padding-bottom: 50px;
    padding-right: 0
  }
}

.p-mainVisual__inner:after {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, .4) 0, transparent 100%);
  content: "";
  height: 238px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2
}

@media screen and (max-width:960px) {
  .p-mainVisual__inner:after {
    height: 126px
  }
}

.p-mainVisual__ttl {
  bottom: 135px;
  position: absolute;
  right: 134px;
  z-index: 3
}

.p-mainVisual__slider {
  display: flex;
  width: 100%
}

.p-mainVisual__slider__list {
  width: 100%
}

.p-mainVisual__slider__item {
  background-color: #fff;
  height: 100%;
  margin-top: 0;
  padding-left: 0;
  position: relative
}

.p-mainVisual__slider__item:before {
  content: none
}

.p-mainVisual__slider__item img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%
}

.p-mainVisual__pager {
  bottom: 19px;
  position: absolute;
  right: 76px;
  z-index: 2
}

@media screen and (max-width:960px) {
  .p-mainVisual__pager {
    bottom: 66px;
    right: 16px
  }
}

.p-mainVisual__banners {
  display: flex;
  margin-top: 0
}

@media screen and (max-width:960px) {
  .p-mainVisual__banners {
    display: none
  }
}

.p-mainVisual__banners__item {
  margin-top: 0;
  padding-left: 0
}

.p-mainVisual__banners__item:before {
  content: none
}

.p-mainVisual .p-mainVisual__pager {
  display: flex
}

.p-mainVisual .p-mainVisual__pager .swiper-pagination-bullet {
  background-color: transparent;
  border-radius: 0;
  height: 20px;
  opacity: 1;
  position: relative;
  width: 20px
}

.p-mainVisual .p-mainVisual__pager .swiper-pagination-bullet:before {
  background-color: rgba(0, 0, 0, .2);
  border-radius: 50%;
  content: "";
  display: block;
  height: 12px;
  left: 4px;
  position: absolute;
  top: 4px;
  width: 12px
}

.p-mainVisual .p-mainVisual__pager .swiper-pagination-bullet-active:before {
  background-color: #005bac
}

.p-mainVisual .p-mainVisual__pager .swiper-pagination-bullet+.swiper-pagination-bullet {
  margin-left: 4px
}

@-webkit-keyframes scrollBar {
  0% {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0
  }

  30% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0
  }

  50% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
  }

  70%,
  to {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
  }
}

@keyframes scrollBar {
  0% {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0
  }

  30% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0
  }

  50% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
  }

  70%,
  to {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
  }
}

.p-topNewsSection {
  position: relative;
  z-index: 1
}

*+.p-topNewsSection {
  margin-top: 80px
}

@media screen and (max-width:960px) {
  *+.p-topNewsSection {
    margin-top: 20px
  }
}

@media print,
screen and (min-width:961px) {
  .p-topNewsSection__inner {
    -ms-grid-columns: 240px 40px calc(100% - 280px);
    -ms-grid-rows: -webkit-max-content auto;
    -ms-grid-rows: max-content auto;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
    display: -ms-grid;
    display: grid;
    grid-template-areas: "ttl body""more body";
    grid-template-columns: 240px calc(100% - 280px);
    grid-template-rows: -webkit-max-content auto;
    grid-template-rows: max-content auto;
    margin-left: auto;
    margin-right: auto;
    max-width: 1040px;
    padding: 50px 20px 54px
  }
}

@media screen and (max-width:960px) {
  .p-topNewsSection__inner {
    padding: 54px 20px 40px 115px
  }
}

.p-topNewsSection__inner:before {
  background-color: #fff;
  bottom: 0;
  content: "";
  height: calc(100% - 50px);
  position: absolute;
  right: 0;
  width: calc(50% + 560px);
  z-index: -1
}

@media screen and (max-width:960px) {
  .p-topNewsSection__inner:before {
    height: 100%;
    width: calc(100% - 95px)
  }
}

.p-topNewsSection__ttl {
  grid-area: ttl;
  padding-top: 55px
}

@media screen and (max-width:960px) {
  .p-topNewsSection__ttl {
    padding-bottom: 43px;
    padding-top: 0
  }
}

.p-topNewsSection__ttl__en {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.12;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-topNewsSection__ttl__en {
    font-size: 2.4rem;
    letter-spacing: .08em;
    line-height: 1.12
  }
}

.p-topNewsSection__ttl__ja {
  align-items: center;
  color: #005bac;
  display: flex;
  font-size: 1rem;
  font-weight: 400;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 2;
  margin-bottom: 0;
  margin-top: 7px
}

@media screen and (max-width:960px) {
  .p-topNewsSection__ttl__ja {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2
  }
}

.p-topNewsSection__ttl__ja:after,
.p-topNewsSection__ttl__ja:before {
  border-color: #005bac;
  border-style: solid;
  border-width: 1px 0;
  content: "";
  display: block;
  height: 6px;
  margin-top: 2px;
  width: 60px
}

.p-topNewsSection__ttl__ja:before {
  margin-right: 12px
}

.p-topNewsSection__ttl__ja:after {
  margin-left: 12px
}

.p-topNewsSection__body {
  grid-area: body;
  margin-top: -50px
}

@media screen and (max-width:960px) {
  .p-topNewsSection__body {
    margin-left: -95px;
    margin-top: 0
  }
}

.p-topNewsSection__more {
  grid-area: more;
  margin-left: auto;
  margin-right: auto;
  margin-top: 24px;
  max-width: 340px;
  width: 100%
}

@media screen and (max-width:960px) {
  .p-topNewsSection__more {
    margin-top: 40px
  }
}

.p-topNewsSection__more .c-button {
  padding-bottom: 11px;
  padding-top: 11px
}

.p-topLineupSection {
  position: relative
}

.p-topLineupSection:after,
.p-topLineupSection:before {
  background-size: cover;
  content: "";
  display: block;
  opacity: .1;
  position: absolute;
  width: 100%;
  z-index: -2
}

.p-topLineupSection:before {
  background-image: linear-gradient(-45deg, #000, #fff);
  background-position: 100% 100%;
  height: 400px;
  left: 0;
  top: -133px
}

@media screen and (max-width:960px) {
  .p-topLineupSection:before {
    height: 250px;
    top: 0
  }
}

.p-topLineupSection:after {
  background-image: url(images/bg_lineup_bottom.png?v17a611909f4);
  background-position: 100% 100%;
  bottom: 0;
  height: 600px;
  left: 0
}

@media screen and (max-width:960px) {
  .p-topLineupSection:after {
    background-image: linear-gradient(0deg, #000, #fff);
    height: 157px
  }
}

.p-topLineupSection__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1040px;
  padding: 93px 20px 145px
}

@media screen and (max-width:960px) {
  .p-topLineupSection__inner {
    padding-bottom: 120px;
    padding-top: 73px
  }
}

.p-topLineupSection__inner:after,
.p-topLineupSection__inner:before {
  background-size: cover;
  content: "";
  display: block;
  position: absolute;
  z-index: -1
}

.p-topLineupSection__inner:before {
  background-image: url(images/deco_lineup_top.png?v17a611e4df6);
  height: 141px;
  right: calc(50% - 523px);
  top: 17px;
  width: 219px
}

@media screen and (max-width:1086px) {
  .p-topLineupSection__inner:before {
    right: 20px
  }
}

@media screen and (max-width:960px) {
  .p-topLineupSection__inner:before {
    background-image: url(images/deco_lineup_top_sp.png?v17a6653bbb9);
    height: 199px;
    left: 0;
    margin-left: auto;
    margin-right: auto;
    right: -16px;
    top: 25px;
    width: 317px
  }
}

.p-topLineupSection__inner:after {
  background-image: url(images/deco_lineup_bottom.png?v17a611fc803);
  bottom: 93px;
  height: 141px;
  left: calc(50% - 591px);
  width: 219px
}

@media screen and (max-width:1222px) {
  .p-topLineupSection__inner:after {
    left: 20px
  }
}

@media screen and (max-width:960px) {
  .p-topLineupSection__inner:after {
    background-image: url(images/deco_lineup_bottom_sp.png?v17a66542e8a);
    bottom: 118px;
    height: 109px;
    left: 14px;
    width: 51px
  }
}

.p-topLineupSection__ttl {
  margin-bottom: 40px
}

@media screen and (max-width:960px) {
  .p-topLineupSection__ttl {
    margin-bottom: 43px
  }
}

.p-topLineupSection__ttl__en {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.12;
  text-align: center
}

.p-topLineupSection__ttl__ja {
  align-items: center;
  color: #005bac;
  display: flex;
  font-size: 1rem;
  font-weight: 400;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 2;
  margin-bottom: 0;
  margin-top: 13px;
  position: relative
}

@media screen and (max-width:960px) {
  .p-topLineupSection__ttl__ja {
    margin-top: 8px
  }
}

.p-topLineupSection__ttl__ja:after,
.p-topLineupSection__ttl__ja:before {
  border-color: #005bac;
  border-style: solid;
  border-width: 1px 0;
  content: "";
  display: block;
  height: 6px;
  margin-top: 2px;
  width: 60px
}

.p-topLineupSection__ttl__ja:before {
  margin-right: 14px
}

.p-topLineupSection__ttl__ja:after {
  margin-left: 14px
}

.p-topPickupSection {
  padding-top: 110px
}

@media screen and (max-width:960px) {
  .p-topPickupSection {
    padding-top: 95px
  }
}

.p-topLineupSection+.p-topPickupSection {
  margin-top: -110px
}

@media screen and (max-width:960px) {
  .p-topLineupSection+.p-topPickupSection {
    margin-top: -95px
  }
}

.p-topPickupSection__inner {
  background-color: #fff4d5;
  background-image: url(images/bg_pattern_yellow.png?v179780dab94);
  background-position: top;
  background-size: 50px;
  display: flex;
  flex-direction: column;
  padding-bottom: 74px;
  position: relative;
  z-index: 1
}

@media screen and (max-width:960px) {
  .p-topPickupSection__inner {
    padding-bottom: 46px
  }
}

.p-topPickupSection__inner:before {
  background-image: linear-gradient(to right, #be9a60 0, #be9a60 calc(50% - 159px), transparent calc(50% - 159px), transparent calc(50% + 159px), #be9a60 calc(50% + 159px)), linear-gradient(to right, #be9a60 0, #be9a60 100%);
  background-position: 0 0, 0 100%;
  background-repeat: repeat-x, repeat-x;
  background-size: calc(100%) 1px, 100% 1px;
  bottom: 10px;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 10px;
  z-index: -1
}

@media screen and (max-width:960px) {
  .p-topPickupSection__inner:before {
    background-image: linear-gradient(to right, #be9a60 0, #be9a60 calc(50% - 135px), transparent calc(50% - 135px), transparent calc(50% + 135px), #be9a60 calc(50% + 135px)), linear-gradient(to right, #be9a60 0, #be9a60 100%)
  }
}

.p-topPickupSection__ttl {
  margin: -110px auto 63px;
  padding-top: 67px;
  position: relative;
  text-align: center;
  width: 360px
}

@media screen and (max-width:960px) {
  .p-topPickupSection__ttl {
    margin-bottom: 32px;
    margin-top: -96px;
    padding-top: 75px;
    width: 310px
  }
}

.p-topPickupSection__ttl:before {
  background-color: #fff4d5;
  background-image: url(images/bg_pattern_yellow.png?v179780dab94);
  background-position: top;
  background-size: 50px;
  border-radius: 50%;
  content: "";
  display: block;
  height: 360px;
  left: 0;
  position: absolute;
  top: 0;
  width: 360px;
  z-index: -2
}

@media screen and (max-width:960px) {
  .p-topPickupSection__ttl:before {
    height: 310px;
    width: 310px
  }
}

.p-topPickupSection__ttl:after {
  background-image: url(images/border_pickup_heading.svg?v17a606dfc8f);
  background-size: cover;
  content: "";
  display: block;
  height: 111px;
  left: 20px;
  position: absolute;
  top: 10px;
  width: 320px;
  z-index: 3
}

@media screen and (max-width:960px) {
  .p-topPickupSection__ttl:after {
    background-image: url(images/border_pickup_heading_sp.svg?v17963932f13);
    height: 96px;
    left: 18px;
    width: 272px
  }
}

.p-topPickupSection__ttl__en {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.12;
  position: relative;
  z-index: 2
}

@media screen and (max-width:960px) {
  .p-topPickupSection__ttl__en {
    font-size: 2.4rem;
    letter-spacing: .08em;
    line-height: 1.12
  }
}

.p-topPickupSection__ttl__ja {
  color: #be9a60;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2;
  margin-bottom: 0;
  margin-top: 9px;
  position: relative;
  z-index: 2
}

@media screen and (max-width:960px) {
  .p-topPickupSection__ttl__ja {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2
  }
}

.p-topPickupSection__ttl__ja:after,
.p-topPickupSection__ttl__ja:before {
  background-image: url(images/icon_pickup_heading.svg?v175969dfcc2);
  background-size: cover;
  content: "";
  display: inline-block;
  height: 22px;
  margin-top: -14px;
  vertical-align: middle;
  width: 30px
}

.p-topPickupSection__ttl__ja:before {
  margin-right: 23px;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1)
}

.p-topPickupSection__ttl__ja:after {
  margin-left: 23px
}

.p-topPickupSection__body {
  margin-left: auto;
  margin-right: auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%
}

.p-topRelSection {
  background-color: #fff;
  padding-bottom: 80px;
  padding-top: 80px
}

@media screen and (max-width:960px) {
  .p-topRelSection {
    padding-bottom: 50px;
    padding-top: 50px
  }
}

.p-topRelSection__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px
}

.p-topBnrSection {
  background-color: #fff;
  padding-bottom: 80px;
  padding-top: 80px
}

@media screen and (max-width:960px) {
  .p-topBnrSection {
    padding-bottom: 40px;
    padding-top: 40px
  }
}

.p-topRelSection+.p-topBnrSection {
  padding-top: 0
}

.p-topBnrSection__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px
}

.p-topAboutSection {
  padding-bottom: 100px;
  padding-top: 96px
}

@media screen and (max-width:960px) {
  .p-topAboutSection {
    padding-bottom: 0;
    padding-top: 54px
  }
}

.p-topAboutSection__ttl {
  margin-bottom: 48px
}

@media screen and (max-width:960px) {
  .p-topAboutSection__ttl {
    margin-bottom: 8px
  }
}

.p-topAboutSection__ttl__en {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.12;
  text-align: center
}

.p-topAboutSection__ttl__ja {
  align-items: center;
  color: #005bac;
  display: flex;
  font-size: 1rem;
  font-weight: 400;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 2;
  margin-bottom: 0;
  margin-top: 7px;
  position: relative
}

.p-topAboutSection__ttl__ja:after,
.p-topAboutSection__ttl__ja:before {
  border-color: #005bac;
  border-style: solid;
  border-width: 1px 0;
  content: "";
  display: block;
  height: 6px;
  margin-top: 2px;
  width: 60px
}

.p-topAboutSection__ttl__ja:before {
  margin-right: 14px
}

.p-topAboutSection__ttl__ja:after {
  margin-left: 14px
}

.p-topShopSection {
  padding-bottom: 100px;
  padding-top: 100px
}

@media screen and (max-width:960px) {
  .p-topShopSection {
    padding-bottom: 60px;
    padding-top: 60px
  }
}

.p-topShopSection__inner {
  margin-left: auto;
  max-width: 460px;
  padding: 76px 29px 70px 27px;
  position: relative
}

@media screen and (max-width:960px) {
  .p-topShopSection__inner {
    max-width: 100%;
    padding-bottom: 60px;
    padding-top: 84px
  }
}

.p-topShopSection__inner:after {
  -o-border-image: url(images/frame_shop_section.svg?v17a65655d4a) 40/40;
  border-image: url(images/frame_shop_section.svg?v17a65655d4a) 40/40;
  border-style: solid;
  border-width: 1px;
  bottom: 10px;
  content: "";
  left: 10px;
  position: absolute;
  right: 10px;
  top: 10px
}

.p-topShopSection__ttl {
  margin-bottom: 33px
}

.p-topShopSection__ttl__en {
  color: #fff;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.12;
  text-align: center
}

.p-topShopSection__ttl__ja {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 1rem;
  font-weight: 400;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 2;
  margin-bottom: 0;
  margin-top: 13px;
  position: relative
}

@media screen and (max-width:960px) {
  .p-topShopSection__ttl__ja {
    margin-top: 8px
  }
}

.p-topShopSection__ttl__ja:after,
.p-topShopSection__ttl__ja:before {
  border-color: #fff;
  border-style: solid;
  border-width: 1px 0;
  content: "";
  display: block;
  height: 6px;
  margin-top: 2px;
  width: 60px
}

.p-topShopSection__ttl__ja:before {
  margin-right: 14px
}

.p-topShopSection__ttl__ja:after {
  margin-left: 14px
}

.p-topShopSection__body {
  margin-left: auto;
  margin-right: auto;
  max-width: 340px
}

.p-topShopSection__img {
  height: 100%;
  left: 0;
  margin-top: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1
}

.p-topShopSection__img:after {
  background-color: rgba(0, 0, 0, .3);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%
}

.p-topShopSection__img img {
  height: 100%;
  width: 100%
}

.p-topNewsList__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px
}

.p-topNewsList__item {
  display: flex;
  margin-top: 0;
  padding-left: 15px;
  padding-right: 15px;
  width: 33.33%
}

@media screen and (max-width:960px) {
  .p-topNewsList__item {
    width: 100%
  }
}

.p-topNewsList__item:before {
  content: none
}

@media screen and (max-width:960px) {
  .p-topNewsList__item+.p-topNewsList__item {
    margin-top: 30px
  }
}

.p-topNewsCard,
.p-topNewsCard__inner {
  display: flex;
  width: 100%
}

.p-topNewsCard__inner {
  color: #2d2622;
  flex-direction: column;
  text-decoration: none
}

@media screen and (max-width:960px) {
  .p-topNewsCard__inner {
    flex-direction: row
  }
}

.p-topNewsCard__inner:visited {
  color: #2d2622
}

.p-topNewsCard__inner:hover {
  color: #2d2622;
  opacity: 1;
  text-decoration: none
}

.p-topNewsCard__img {
  box-shadow: 7px 7px 20px 0 rgba(4, 0, 0, .1);
  overflow: hidden;
  padding-top: 66.3636363636%;
  position: relative
}

@media screen and (max-width:960px) {
  .p-topNewsCard__img {
    min-width: 150px;
    padding-top: 100px;
    width: 150px
  }
}

.p-topNewsCard__img img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1), -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%
}

@media print,
screen and (min-width:961px) {
  .p-topNewsCard:hover .p-topNewsCard__img img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }
}

.p-topNewsCard__ttl {
  flex-grow: 1;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 2;
  margin-top: 24px;
  position: relative
}

@media screen and (max-width:960px) {
  .p-topNewsCard__ttl {
    font-size: 1rem;
    letter-spacing: .08em;
    line-height: 1.67;
    margin-left: 18px;
    margin-top: 0;
    width: calc(100% - 168px)
  }
}

.p-topNewsCard__ttl:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  bottom: 13px;
  color: #005bac;
  content: "";
  display: block;
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 10px;
  line-height: 1;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  right: -1px;
  text-indent: 0;
  text-transform: none
}

@media screen and (max-width:960px) {
  .p-topNewsCard__ttl:after {
    bottom: 5px
  }
}

.p-topNewsCard:hover .p-topNewsCard__ttl:after {
  -webkit-animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

.p-topNewsCard__ttl__text {
  display: block;
  width: 100%
}

.p-topNewsCard__ttl__text.is-clone {
  height: auto;
  position: absolute;
  visibility: hidden;
  width: 100%;
  z-index: -1
}

@media print,
screen and (min-width:961px) {
  .p-topLineupList {
    max-width: 800px;
    padding-bottom: 30px;
    padding-top: 30px
  }

  .p-topLineupList__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: -30px
  }
}

.p-topLineupList__item {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-left: -20px;
  margin-right: -20px;
  margin-top: 30px;
  padding-left: 0;
  position: relative;
  /* width: calc(20% + 40px) */
  width: calc(25% + 40px)
}

@media screen and (max-width:960px) {
  .p-topLineupList__item {
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    width: 240px
  }
}

.p-topLineupList__item:before {
  content: none
}

@media print,
screen and (min-width:961px) {

  .p-topLineupList__item:nth-child(4n+1),
  .p-topLineupList__item:nth-child(4n+3)

  /* .p-topLineupList__item:nth-child(4n+5) */
    {
    top: -30px
  }

  .p-topLineupList__item:nth-child(4n+5),
  .p-topLineupList__item:nth-child(4n+7) {
    top: -15px
  }

  .p-topLineupList__item:nth-child(n+5) {
    left: 12.5%;
  }
}

@media print,
screen and (min-width:961px) {

  .p-topLineupList__item:nth-child(4n+2),
  .p-topLineupList__item:nth-child(4n+4) {
    top: 30px
  }
}

.p-topLineupList__nav {
  align-items: center;
  display: flex;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5px;
  max-width: 235px;
  width: 100%
}

@media print,
screen and (min-width:961px) {
  .p-topLineupList__nav {
    display: none
  }
}

.p-topLineupList__barWrap {
  flex-grow: 1;
  height: 2px;
  margin-left: 20px;
  margin-right: 20px;
  position: relative;
  z-index: 1
}

.p-topLineupList__barWrap:before {
  background-color: #000;
  content: "";
  height: 1px;
  left: 0;
  opacity: .1;
  position: absolute;
  top: 50%;
  width: 100%;
  z-index: 1
}

.p-topLineupList__bar {
  background-color: #005bac;
  height: 2px;
  left: 0;
  position: absolute;
  top: 0;
  transition: left .6s cubic-bezier(.39, .575, .565, 1);
  z-index: 2
}

.p-topLineupList__arrow {
  display: block;
  height: 18px;
  min-width: 10px;
  position: relative;
  width: 10px
}

.p-topLineupList__arrow:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #2d2622;
  content: "";
  display: block;
  font-family: icomoon !important;
  font-size: 18px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 18px;
  left: 0;
  line-height: 1;
  position: absolute;
  text-indent: 0;
  text-transform: none;
  top: 0;
  width: 10px
}

.p-topLineupList__arrow--next:after {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1)
}

.p-topLineupList__num {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.34rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.5;
  text-align: center
}

@media print,
screen and (min-width:961px) {
  .p-topLineupList__num {
    display: none
  }
}

.p-topLineupList__num__current {
  color: #005bac
}

.p-topLineupCard {
  color: #2d2622;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  width: 100%
}

.p-topLineupCard:visited {
  color: #2d2622
}

.p-topLineupCard:hover {
  color: #2d2622;
  text-decoration: none
}

.p-topLineupCard__img {
  align-items: center;
  display: flex;
  justify-content: center
}

.p-topLineupCard__name {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.56;
  margin-top: -8px;
  text-align: center
}

.p-topLineupCard__name small{
  font-feature-settings: "palt";
  font-size: .8rem;
  padding-left: .2rem;
}

@media screen and (max-width:960px) {
  .p-topLineupCard__name {
    font-size: 1.34rem;
    letter-spacing: .1em;
    line-height: 1.5
  }
}

.p-topLineupList.swiper-container-initialized {
  overflow: visible
}

.p-topPickupList {
  display: flex;
  flex-direction: column
}

.p-topPickupList__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -25px;
  margin-right: -25px;
  margin-top: -50px;
  width: 100%
}

.p-topPickupList__item {
  display: flex;
  margin-top: 50px;
  padding-left: 25px;
  padding-right: 25px;
  width: 33.33%
}

.p-topPickupList__item:before {
  content: none
}

.p-topPickupList__pager {
  width: 100%
}

@media print,
screen and (min-width:961px) {
  .p-topPickupList__pager {
    order: -1
  }
}

.p-topPickupList__arrow {
  align-items: center;
  background-color: #fff4d5;
  background-image: url(images/bg_pattern_yellow.png?v179780dab94);
  background-position: top;
  background-size: 50px;
  border-radius: 50%;
  display: flex;
  height: 40px;
  justify-content: center;
  position: absolute;
  top: 92px;
  width: 40px;
  z-index: 1
}

@media print,
screen and (min-width:961px) {
  .p-topPickupList__arrow {
    display: none
  }
}

.p-topPickupList__arrow:before {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #be9a60;
  content: "";
  font-family: icomoon !important;
  font-size: 18px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  text-indent: 0;
  text-transform: none
}

.p-topPickupList__arrow--prev {
  left: -20px
}

.p-topPickupList__arrow--next {
  right: -20px
}

.p-topPickupList__arrow--next:before {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1)
}

.p-topPickupCard {
  color: #2d2622;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  width: 100%
}

.p-topPickupCard:visited {
  color: #2d2622
}

.p-topPickupCard:hover {
  color: #2d2622;
  opacity: 1;
  text-decoration: none
}

.p-topPickupCard__img {
  overflow: hidden;
  padding-top: 66.6666666667%;
  position: relative;
  width: 100%;
  z-index: 1
}

.p-topPickupCard__img:before {
  border: 1px solid #be9a60;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2
}

.p-topPickupCard__img:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  align-items: center;
  background-color: #be9a60;
  bottom: 0;
  color: #fff;
  content: "";
  display: flex;
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 28px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 0;
  text-indent: 0;
  text-transform: none;
  width: 50px;
  z-index: 3
}

.p-topPickupCard__img img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1), -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%;
  z-index: 1
}

@media print,
screen and (min-width:961px) {
  .p-topPickupCard:hover .p-topPickupCard__img img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }
}

.p-topPickupCard__text {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-weight: 700;
  justify-content: center;
  margin-top: 25px;
  min-height: 68px;
  text-align: center;
  width: 100%
}

.p-topPickupCard__text__sub {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  max-width: 100%
}

@media screen and (max-width:960px) {
  .p-topPickupCard__text__sub {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2
  }
}

.p-topPickupCard__text__main {
  font-size: 1.34rem;
  letter-spacing: .1em;
  line-height: 1.6;
  margin-bottom: 0;
  margin-top: -6px;
  max-width: 100%
}

@media screen and (max-width:960px) {
  .p-topPickupCard__text__main {
    font-size: 1.34rem;
    letter-spacing: .1em;
    line-height: 1.6
  }
}

*+.p-topPickupCard__text__main {
  margin-top: 6px
}

.p-topPickupList.swiper-container-initialized {
  margin-top: -46px
}

@media screen and (max-width:960px) {
  .p-topPickupList.swiper-container-initialized {
    margin-top: 0;
    overflow: visible
  }
}

.p-topPickupList.swiper-container-initialized .p-topPickupList__list {
  flex-wrap: nowrap;
  margin: 0
}

.p-topPickupList.swiper-container-initialized .p-topPickupList__item {
  margin-top: 0;
  padding-left: 0;
  padding-right: 0;
  width: 100%
}

@media screen and (max-width:960px) {
  .p-topPickupList.swiper-container-initialized .p-topPickupList__item {
    width: 335px
  }
}

.p-topPickupList.swiper-container-initialized .p-topPickupList__pager {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 26px;
  margin-right: -4px
}

@media screen and (max-width:960px) {
  .p-topPickupList.swiper-container-initialized .p-topPickupList__pager {
    justify-content: center;
    margin-bottom: 0;
    margin-right: 0;
    margin-top: 30px
  }
}

.p-topPickupList.swiper-container-initialized .p-topPickupList__pager .swiper-pagination-bullet {
  background-color: transparent;
  border-radius: 0;
  height: 20px;
  margin: 0;
  opacity: 1;
  position: relative;
  width: 20px
}

.p-topPickupList.swiper-container-initialized .p-topPickupList__pager .swiper-pagination-bullet:before {
  background-color: rgba(0, 0, 0, .2);
  border-radius: 50%;
  content: "";
  display: block;
  height: 12px;
  left: 4px;
  position: absolute;
  top: 4px;
  width: 12px
}

.p-topPickupList.swiper-container-initialized .p-topPickupList__pager .swiper-pagination-bullet-active:before {
  background-color: #be9a60
}

.p-topPickupList.swiper-container-initialized .p-topPickupList__pager .swiper-pagination-bullet+.swiper-pagination-bullet {
  margin-left: 4px
}

.p-topRelationCards__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center
}

.p-topRelationCards__item {
  margin-top: 0;
  padding-left: 0;
  width: 33.33%
}

@media screen and (max-width:960px) {
  .p-topRelationCards__item {
    width: 100%
  }
}

.p-topRelationCards__item:before {
  content: none
}

.p-topRelationCard {
  color: #fff;
  display: flex;
  flex-direction: column;
  position: relative;
  text-decoration: none;
  z-index: 1
}

.p-topRelationCard:visited {
  color: #fff
}

.p-topRelationCard:hover {
  color: #fff;
  text-decoration: none
}

.p-topRelationCard__top {
  display: flex;
  flex-direction: column;
  min-height: 300px;
  position: relative
}

.p-topRelationCard__bg {
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1
}

.p-topRelationCard__bg:after {
  background-color: #2d2622;
  content: "";
  height: 100%;
  left: 0;
  opacity: .75;
  position: absolute;
  top: 0;
  width: 100%
}

.p-topRelationCard--ginza .p-topRelationCard__bg:after {
  background-color: #1b150b
}

.p-topRelationCard--shop .p-topRelationCard__bg:after {
  background-color: #0f2b44
}

.p-topRelationCard--park .p-topRelationCard__bg:after {
  background-color: #0c2510
}

.p-topRelationCard__bg img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1), -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%
}

@media print,
screen and (min-width:961px) {
  .p-topRelationCard:hover .p-topRelationCard__bg img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }
}

.p-topRelationCard__logo {
  align-items: flex-end;
  display: flex;
  height: 155px;
  justify-content: center;
  margin-bottom: 0;
  margin-top: 0
}

.p-topRelationCard__desc {
  margin-top: 24px;
  text-align: center
}

.p-topRelationCard__label {
  background-color: #2d2622;
  margin-top: 0;
  padding: 14px 60px 16px;
  position: relative;
  text-align: center
}

.p-topRelationCard__label:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  bottom: 0;
  content: "";
  display: block;
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 10px;
  line-height: 1;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  right: 16px;
  text-indent: 0;
  text-transform: none;
  top: 0
}

.p-topRelationCard:hover .p-topRelationCard__label:after {
  -webkit-animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

.p-topRelationCard--ginza .p-topRelationCard__label {
  background-color: #be9a60
}

.p-topRelationCard--shop .p-topRelationCard__label {
  background-color: #005bac
}

.p-topRelationCard--park .p-topRelationCard__label {
  background-color: #124819
}

.p-topBanners__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: -10px;
  margin-right: -10px;
  margin-top: -40px
}

@media screen and (max-width:960px) {
  .p-topBanners__list {
    margin-top: -30px
  }
}

.p-topBanners__item {
  margin-top: 40px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%
}

@media screen and (max-width:960px) {
  .p-topBanners__item {
    margin-top: 30px
  }
}

.p-topBanners__item:before {
  content: none
}

@media print,
screen and (min-width:961px) {
  .p-topBanners__item--half {
    width: 50%
  }
}

.p-topBannerCard {
  color: #2d2622;
  display: block;
  text-decoration: none
}

.p-topBannerCard:visited {
  color: #2d2622
}

.p-topBannerCard:hover {
  color: #2d2622;
  text-decoration: none
}

.p-topBannerCard__img img {
  width: 100%
}

.p-topBannerCard__text {
  font-weight: 700;
  padding-bottom: 16px;
  padding-top: 17px;
  text-align: center
}

.p-topBannerCard__text__sub {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.67;
  margin-top: 0
}

@media screen and (max-width:960px) {
  .p-topBannerCard__text__sub {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 1.67
  }
}

.p-topBannerCard__text__sub span {
  display: inline-block
}

@media print,
screen and (min-width:961px) {
  .p-topBannerCard__text__sub br {
    display: none
  }
}

.p-topBannerCard__text__main {
  font-size: 1.34rem;
  letter-spacing: .1em;
  line-height: 1.5;
  margin-top: 0
}

@media screen and (max-width:960px) {
  .p-topBannerCard__text__main {
    font-size: 1.34rem;
    letter-spacing: .1em;
    line-height: 1.5
  }
}

.p-topBannerCard__text__sub+.p-topBannerCard__text__main {
  margin-top: 6px
}

@media screen and (max-width:600px) {
  .p-topAboutLinks {
    margin-left: auto;
    margin-right: auto;
    max-width: 240px
  }
}

.p-topAboutLinks__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
  margin-top: -6px
}

@media screen and (max-width:960px) {
  .p-topAboutLinks__list {
    margin-top: 0
  }
}

.p-topAboutLinks__item {
  display: flex;
  margin-top: 6px;
  padding-left: 15px;
  padding-right: 15px;
  width: 50%
}

@media screen and (max-width:600px) {
  .p-topAboutLinks__item {
    margin-top: 0;
    width: 100%
  }
}

.p-topAboutLinks__item:before {
  content: none
}

.p-topAboutLinks__link {
  align-items: center;
  border-bottom: 1px solid #2d2622;
  color: #2d2622;
  display: flex;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  padding-bottom: 16px;
  padding-top: 16px;
  position: relative;
  text-decoration: none;
  transition: border-color .3s cubic-bezier(.39, .575, .565, 1), color .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%
}

@media screen and (max-width:960px) {
  .p-topAboutLinks__link {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2;
    padding-right: 45px
  }
}

.p-topAboutLinks__link:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  bottom: 0;
  color: #005bac;
  content: "";
  display: block;
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 10px;
  line-height: 1;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  right: -2px;
  text-indent: 0;
  text-transform: none;
  top: 2px
}

@media screen and (max-width:960px) {
  .p-topAboutLinks__link:after {
    content: "";
    right: -1px
  }
}

.p-topAboutLinks__link:visited {
  color: #2d2622
}

.p-topAboutLinks__link:hover {
  border-bottom-color: #005bac;
  color: #005bac;
  opacity: 1;
  text-decoration: none
}

.p-topAboutLinks__link:hover:after {
  -webkit-animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

.p-pageTitle {
  background-color: #fff;
  display: flex;
  position: relative
}

.p-pageTitle:after {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, .4) 0, transparent 100%);
  content: "";
  height: 238px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2
}

@media screen and (max-width:960px) {
  .p-pageTitle:after {
    height: 126px
  }
}

.p-pageTitle--csr {
  background-image: url(images/img_csrTitleBg.jpg?v1795a4c829d);
  background-position: top;
  background-size: cover
}

.p-pageTitle--noImage {
  background-color: transparent
}

@media print,
screen and (min-width:961px) {
  .t-inquiry .p-pageTitle {
    padding-bottom: 40px
  }
}

.p-pageTitle__inner {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 400px;
  padding: 94px 20px 56px;
  width: 100%
}

@media screen and (max-width:960px) {
  .p-pageTitle__inner {
    min-height: 300px;
    padding-bottom: 56px;
    padding-top: 126px
  }
}

@media print,
screen and (min-width:961px) {
  .p-pageTitle--csr .p-pageTitle__inner {
    min-height: 300px;
    padding-bottom: 45px;
    padding-top: 105px
  }
}

.p-pageTitle--short .p-pageTitle__inner {
  min-height: 300px
}

@media screen and (max-width:960px) {
  .p-pageTitle--short .p-pageTitle__inner {
    min-height: 260px
  }
}

@media print,
screen and (min-width:961px) {
  .t-underlayer .p-pageTitle__inner {
    min-height: 342px;
    padding-bottom: 27px;
    padding-top: 123px
  }
}

.p-pageTitle__ttl {
  color: #fff;
  position: relative;
  text-align: center;
  z-index: 3
}

.p-pageTitle--noImage .p-pageTitle__ttl {
  color: #005bac
}

.p-pageTitle__ttl__en {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.25
}

@media screen and (max-width:960px) {
  .p-pageTitle__ttl__en {
    font-size: 2.4rem;
    letter-spacing: .08em;
    line-height: 1.25
  }
}

.p-pageTitle__ttl__ja {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  margin-top: 11px
}

@media screen and (max-width:960px) {
  .p-pageTitle__ttl__ja {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 1.34
  }
}

.p-pageTitle__img {
  height: 100%;
  left: 0;
  margin-top: 0;
  padding-right: 60px;
  pointer-events: none;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
  z-index: 1
}

@media screen and (max-width:960px) {
  .p-pageTitle__img {
    padding-right: 0
  }
}

.p-pageTitle__img:before {
  background-color: rgba(0, 0, 0, .3);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: calc(100% - 60px);
  z-index: 2
}

@media screen and (max-width:960px) {
  .p-pageTitle__img:before {
    width: 100%
  }
}

.p-pageTitle__img img {
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 1
}

@media print,
screen and (min-width:961px) {
  .t-inquiry .p-pageTitle__img {
    height: calc(100% - 40px)
  }
}

.p-sectionBox {
  margin-left: calc(500px - 50vw);
  margin-right: calc(500px - 50vw);
  padding-left: 20px;
  padding-right: 20px;
  position: relative
}

@media screen and (max-width:1040px) {
  .p-sectionBox {
    margin-left: -20px;
    margin-right: -20px
  }
}

.p-sectionBox--bgWhite,
.p-sectionBox--contact,
.p-sectionBox--guidelines {
  background-color: #fff;
  padding-bottom: 100px;
  padding-top: 100px
}

@media screen and (max-width:960px) {

  .p-sectionBox--bgWhite,
  .p-sectionBox--contact,
  .p-sectionBox--guidelines {
    padding-bottom: 60px;
    padding-top: 60px
  }
}

.l-main__body>.p-sectionBox--bgWhite:last-child,
.l-main__body>.p-sectionBox--contact:last-child,
.l-main__body>.p-sectionBox--guidelines:last-child {
  margin-bottom: -100px
}

@media screen and (max-width:960px) {

  .l-main__body>.p-sectionBox--bgWhite:last-child,
  .l-main__body>.p-sectionBox--contact:last-child,
  .l-main__body>.p-sectionBox--guidelines:last-child {
    margin-bottom: -60px
  }
}

*+.p-sectionBox {
  margin-top: 100px
}
*+.p-sectionBox--mtHalf {
  margin-top: 50px
}

@media screen and (max-width:960px) {
  *+.p-sectionBox {
    margin-top: 60px
  }
  *+.p-sectionBox--mtHalf {
    margin-top: 30px
  }
}

*+.p-sectionBox--bgWhite,
*+.p-sectionBox--contact,
*+.p-sectionBox--guidelines {
  margin-top: 0
}

.l-contWrapper .p-sectionBox {
  padding-bottom: 0;
  padding-top: 0
}

.p-sectionBox__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  position: relative
}

.p-sectionBox__ttl {
  max-width: 100%;
  position: relative;
  text-align: center;
  width: 100%
}

.p-sectionBox__ttl__en {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.39;
  margin-bottom: 0
}

@media screen and (max-width:960px) {
  .p-sectionBox__ttl__en {
    font-size: 2rem;
    letter-spacing: .08em;
    line-height: 1.4
  }
}

@media print,
screen and (min-width:961px) {
  .p-sectionBox__ttl__en br {
    display: none
  }
}

.p-sectionBox__ttl__ja {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2;
  margin-bottom: 0;
  margin-top: 5px;
  width: 100%
}

.p-sectionBox__ttl__ja:first-child {
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2.14rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.32;
  margin-top: 0
}

@media screen and (max-width:960px) {
  .p-sectionBox__ttl__ja:first-child {
    font-size: 1.8rem;
    letter-spacing: .08em;
    line-height: 1.56
  }
}

.p-sectionBox__desc {
  margin-top: 24px;
  max-width: 100%;
  text-align: justify;
  -moz-text-align-last: center;
  text-align-last: center;
  width: 100%
}

.p-sectionBox__desc,
.p-sectionBox__desc _:lang(x)+_:-webkit-full-screen-document {
  text-align: center
}

@media screen and (max-width:960px) {
  .p-sectionBox__desc {
    margin-top: 8px;
    -moz-text-align-last: left;
    text-align-last: left
  }

  .p-sectionBox__desc,
  .p-sectionBox__desc _:lang(x)+_:-webkit-full-screen-document {
    text-align: justify
  }
}

@media screen and (max-width:960px) {
  .p-sectionBox__desc br {
    display: none
  }
}

.p-sectionBox__body {
  max-width: 100%;
  position: relative;
  width: 100%
}

.p-sectionBox__body,
.p-sectionBox__body _:-ms-lang(x)::-ms-backdrop {
  min-height: 1px
}

*+.p-sectionBox__body {
  margin-top: 53px
}

.p-sectionBox__ttl+.p-sectionBox__body {
  margin-top: 35px
}

.p-sectionBox__desc+.p-sectionBox__body {
  margin-top: 53px
}

.p-sectionBox--box .p-sectionBox__body {
  margin-top: 53px
}

.p-sectionBox--bar .p-sectionBox__ttl__en,
.p-sectionBox--bar .p-sectionBox__ttl__ja:first-child,
.p-sectionBox--csrTop .p-sectionBox__ttl__en,
.p-sectionBox--csrTop .p-sectionBox__ttl__ja:first-child {
  align-items: center;
  display: flex;
  justify-content: center
}

.p-sectionBox--bar .p-sectionBox__ttl__en:after,
.p-sectionBox--bar .p-sectionBox__ttl__en:before,
.p-sectionBox--bar .p-sectionBox__ttl__ja:first-child:after,
.p-sectionBox--bar .p-sectionBox__ttl__ja:first-child:before,
.p-sectionBox--csrTop .p-sectionBox__ttl__en:after,
.p-sectionBox--csrTop .p-sectionBox__ttl__en:before,
.p-sectionBox--csrTop .p-sectionBox__ttl__ja:first-child:after,
.p-sectionBox--csrTop .p-sectionBox__ttl__ja:first-child:before {
  border-bottom: 1px solid #2d2622;
  border-top: 2px solid #2d2622;
  content: "";
  display: block;
  flex-grow: 1;
  height: 9px;
  margin-top: 10px
}

.p-sectionBox--bar .p-sectionBox__ttl__en:before,
.p-sectionBox--bar .p-sectionBox__ttl__ja:first-child:before,
.p-sectionBox--csrTop .p-sectionBox__ttl__en:before,
.p-sectionBox--csrTop .p-sectionBox__ttl__ja:first-child:before {
  margin-right: 28px
}

@media screen and (max-width:960px) {

  .p-sectionBox--bar .p-sectionBox__ttl__en:before,
  .p-sectionBox--bar .p-sectionBox__ttl__ja:first-child:before,
  .p-sectionBox--csrTop .p-sectionBox__ttl__en:before,
  .p-sectionBox--csrTop .p-sectionBox__ttl__ja:first-child:before {
    margin-right: 8px
  }
}

.p-sectionBox--bar .p-sectionBox__ttl__en:after,
.p-sectionBox--bar .p-sectionBox__ttl__ja:first-child:after,
.p-sectionBox--csrTop .p-sectionBox__ttl__en:after,
.p-sectionBox--csrTop .p-sectionBox__ttl__ja:first-child:after {
  margin-left: 28px
}

@media screen and (max-width:960px) {

  .p-sectionBox--bar .p-sectionBox__ttl__en:after,
  .p-sectionBox--bar .p-sectionBox__ttl__ja:first-child:after,
  .p-sectionBox--csrTop .p-sectionBox__ttl__en:after,
  .p-sectionBox--csrTop .p-sectionBox__ttl__ja:first-child:after {
    margin-left: 8px
  }
}

.p-sectionBox--bar .p-sectionBox__ttl__ja:first-child:after,
.p-sectionBox--bar .p-sectionBox__ttl__ja:first-child:before,
.p-sectionBox--csrTop .p-sectionBox__ttl__ja:first-child:after,
.p-sectionBox--csrTop .p-sectionBox__ttl__ja:first-child:before {
  margin-top: 4px
}

.p-sectionBox--contact .p-sectionBox__ttl,
.p-sectionBox--frame .p-sectionBox__ttl,
.p-sectionBox--guidelines .p-sectionBox__ttl {
  background-image: url(images/bg_pattern_gray.png?v17968796755);
  background-position: top;
  background-repeat: repeat;
  background-size: 50px;
  margin-top: -80px;
  padding-left: 30px;
  padding-right: 30px;
  width: auto
}

@media screen and (max-width:960px) {

  .p-sectionBox--contact .p-sectionBox__ttl,
  .p-sectionBox--frame .p-sectionBox__ttl,
  .p-sectionBox--guidelines .p-sectionBox__ttl {
    margin-top: -50px;
    padding-left: 12px;
    padding-right: 12px
  }
}

.t-csr .p-sectionBox--contact .p-sectionBox__ttl,
.t-csr .p-sectionBox--frame .p-sectionBox__ttl,
.t-csr .p-sectionBox--guidelines .p-sectionBox__ttl {
  background-image: url(images/bg_pattern_csr.png?v17968803a7c)
}

.p-sectionBox--bgWhite.p-sectionBox--frame .p-sectionBox__ttl,
.p-sectionBox--contact .p-sectionBox__ttl,
.p-sectionBox--guidelines .p-sectionBox__ttl {
  background-color: #fff;
  background-image: none
}

.p-sectionBox--contact .p-sectionBox__inner,
.p-sectionBox--frame .p-sectionBox__inner,
.p-sectionBox--guidelines .p-sectionBox__inner {
  -o-border-image: url(images/frame_section.svg?v179601bb2fa) 40/40;
  border-image: url(images/frame_section.svg?v179601bb2fa) 40/40;
  border-style: solid;
  border-width: 1px;
  padding: 58px 69px 70px
}

@media screen and (max-width:960px) {

  .p-sectionBox--contact .p-sectionBox__inner,
  .p-sectionBox--frame .p-sectionBox__inner,
  .p-sectionBox--guidelines .p-sectionBox__inner {
    padding: 28px 30px 40px
  }
}

.p-sectionBox--guidelines {
  padding-top: 111px
}

@media screen and (max-width:960px) {
  .p-sectionBox--guidelines {
    padding-top: 72px
  }
}

.p-sectionBox--guidelines .p-sectionBox__inner {
  padding-bottom: 82px
}

@media screen and (max-width:960px) {
  .p-sectionBox--guidelines .p-sectionBox__inner {
    padding-bottom: 40px
  }
}

.p-sectionBox--guidelines .p-sectionBox__body {
  margin-top: 56px;
  position: static
}

@media screen and (max-width:960px) {
  .p-sectionBox--guidelines .p-sectionBox__body {
    margin-top: 30px
  }
}

@media print,
screen and (min-width:961px) {

  .p-sectionBox--guidelines .p-sectionBox__body:before,
  .p-sectionBox--guidelines .p-sectionBox__inner:after,
  .p-sectionBox--guidelines .p-sectionBox__inner:before {
    background-size: cover;
    content: "";
    display: block;
    position: absolute
  }
}

.p-sectionBox--guidelines .p-sectionBox__inner:before {
  background-image: url(images/deco_guidelines01.png?v17959b96315);
  height: 378px;
  right: -50px;
  top: -51px;
  width: 278px
}

.p-sectionBox--guidelines .p-sectionBox__inner:after {
  background-image: url(images/deco_guidelines02.png?v17959b9b369);
  height: 160px;
  right: -87px;
  top: 40.874811463%;
  width: 160px
}

.p-sectionBox--guidelines .p-sectionBox__body:before {
  background-image: url(images/deco_guidelines03.png?v17959ba13a7);
  bottom: 16.6415284062%;
  height: 260px;
  right: -56px;
  width: 232px
}

@media screen and (max-width:960px) {
  .p-sectionBox--csrTop .p-sectionBox__ttl:after {
    background-image: url(images/deco_csrTop04.png?v1797559fbcb);
    background-size: cover;
    content: "";
    display: block;
    height: 159px;
    margin-left: auto;
    margin-right: auto;
    margin-top: -8px;
    width: 159px
  }
}

.p-sectionBox--csrTop .p-sectionBox__desc {
  margin-top: 48px
}

@media screen and (max-width:960px) {
  .p-sectionBox--csrTop .p-sectionBox__desc {
    margin-top: -30px
  }
}

.p-sectionBox--csrTop .p-sectionBox__body {
  position: static;
  
}

.p-sixPromises{
  margin-bottom: 120px;
}

@media print,
screen and (min-width:961px) {

  .p-sectionBox--csrTop .p-sectionBox__body:before,
  .p-sectionBox--csrTop .p-sectionBox__inner:after,
  .p-sectionBox--csrTop .p-sectionBox__inner:before {
    background-size: cover;
    content: "";
    display: block;
    position: absolute
  }
}

.p-sectionBox--csrTop .p-sectionBox__inner:before {
  background-image: url(images/deco_csrTop01.png?v17970f5186c);
  height: 212px;
  left: -113px;
  /* top: 110px; */
  top: 870px;
  width: 322px;

  
  z-index: -1
}

.p-sectionBox--csrTop .p-sectionBox__inner:after {
  background-image: url(images/deco_csrTop02.png?v17970f47306);
  height: 229px;
  right: -201px;
  /* top: 746px; */
  top: 1466px;
  width: 336px;
  z-index: 2
}

.p-sectionBox--csrTop .p-sectionBox__body:before {
  background-image: url(images/deco_csrTop03.png?v17970f5b8a7);
  background-size: contain;
  background-repeat: no-repeat;
  /* height: 338px; */

  height: 260px;

  left: -160px;
  
  /* top: 735px; */
  top: 1435px;

  width: 261px;
  z-index: -1
}

@media print,
screen and (min-width:961px) {
  .p-sectionBox--contact .p-sectionBox__inner {
    padding-left: 80px;
    padding-right: 80px
  }
}

.p-pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%
}

.p-pagination__next a,
.p-pagination__next span,
.p-pagination__prev a,
.p-pagination__prev span {
  align-items: center;
  display: flex;
  font-size: 1rem;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 1.6
}

@media screen and (max-width:960px) {

  .p-pagination__next a,
  .p-pagination__next span,
  .p-pagination__prev a,
  .p-pagination__prev span {
    font-size: .94rem;
    letter-spacing: .1em;
    line-height: 1.58
  }
}

.p-pagination__next a:after,
.p-pagination__next span:after,
.p-pagination__prev a:after,
.p-pagination__prev span:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "";
  display: inline-block;
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  margin-top: 2px;
  text-indent: 0;
  text-transform: none;
  vertical-align: middle
}

@media screen and (max-width:960px) {

  .p-pagination__next a:after,
  .p-pagination__next span:after,
  .p-pagination__prev a:after,
  .p-pagination__prev span:after {
    content: ""
  }
}

.p-pagination__next a,
.p-pagination__prev a {
  color: #005bac;
  text-decoration: none
}

.p-pagination__next a:visited,
.p-pagination__prev a:visited {
  color: #005bac
}

.p-pagination__next a:hover,
.p-pagination__prev a:hover {
  color: #005bac;
  opacity: 1;
  text-decoration: none
}

.p-pagination__next a:hover:after,
.p-pagination__prev a:hover:after {
  -webkit-animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

.p-pagination__prev {
  order: 1
}

.p-pagination__prev a:after,
.p-pagination__prev span:after {
  margin-right: 10px;
  order: -1;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1)
}

@media screen and (max-width:960px) {

  .p-pagination__prev a:after,
  .p-pagination__prev span:after {
    margin-right: 6px
  }
}

.p-pagination__prev a:hover:after {
  -webkit-animation: animArrowPrev .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: animArrowPrev .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

.p-pagination__next {
  order: 3
}

@media screen and (max-width:960px) {
  .p-pagination__next {
    order: 2
  }
}

.p-pagination__next a:after,
.p-pagination__next span:after {
  margin-left: 10px
}

@media screen and (max-width:960px) {

  .p-pagination__next a:after,
  .p-pagination__next span:after {
    margin-left: 6px
  }
}

.p-pagination__list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: -10px;
  margin-right: -10px;
  margin-top: 0;
  order: 2
}

@media screen and (max-width:960px) {
  .p-pagination__list {
    margin-top: 24px;
    order: 3;
    width: 100%
  }
}

.p-pagination__item {
  margin-top: 0;
  padding-left: 10px;
  padding-right: 10px
}

.p-pagination__item:before {
  content: none
}

.p-pagination__ellipsis,
.p-pagination__link {
  align-items: center;
  color: #005bac;
  display: flex;
  justify-content: center;
  min-width: 20px;
  padding: 4px 3px
}

.p-pagination__link {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-weight: 400;
  position: relative;
  text-decoration: none
}

.p-pagination__link:visited {
  color: #005bac
}

.p-pagination__link:hover {
  color: #005bac;
  opacity: 1;
  text-decoration: none
}

.p-pagination__link:after {
  background-color: #005bac;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  opacity: 0;
  position: absolute;
  width: 100%
}

.p-pagination__link.is-active:after,
.p-pagination__link:hover:after {
  opacity: 1
}

.p-pagination__link span {
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 1;
  position: relative;
  top: -3px
}

.p-pagination__ellipsis span {
  font-size: .94rem;
  letter-spacing: 0;
  line-height: 1
}

.p-pagination__btn {
  display: flex;
  justify-content: center;
  order: 2;
  width: 340px
}

@media screen and (max-width:960px) {
  .p-pagination__btn {
    margin-top: 30px;
    order: 3;
    width: 100%
  }
}

*+.p-btnWrap {
  margin-top: 80px
}

@media screen and (max-width:960px) {
  *+.p-btnWrap {
    margin-top: 50px
  }
}

.p-btnWrap__body {
  display: flex;
  justify-content: center;
  margin-left: -10px;
  margin-right: -10px;
  margin-top: -20px
}

@media screen and (max-width:960px) {
  .p-btnWrap__body {
    flex-wrap: wrap
  }
}

.p-btnWrap__item {
  margin-top: 20px;
  max-width: 360px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%
}

.p-articleHead__ttl {
  font-size: 1.67rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.6;
  margin-bottom: 53px
}

@media screen and (max-width:960px) {
  .p-articleHead__ttl {
    font-size: 1.67rem;
    letter-spacing: .1em;
    line-height: 1.6;
    margin-bottom: 28px
  }
}

.p-articleHead__info {
  align-items: center;
  display: flex;
  flex-wrap: wrap
}

.p-articleHead__label {
  background-color: #005bac;
  color: #fff;
  font-size: .87rem;
  letter-spacing: .1em;
  line-height: 1;
  min-width: 80px;
  padding: 3px 5px 4px;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-articleHead__label {
    font-size: .8rem;
    letter-spacing: .1em;
    line-height: 1
  }
}

.p-articleHead__label--safety {
  background-color: #005bac
}

.p-articleHead__label--compliance {
  background-color: #258b91
}

.p-articleHead__label--environment {
  background-color: #63b453
}

.p-articleHead__label--sports {
  background-color: #b4ae53
}

.p-articleHead__label--region {
  background-color: #b46c53
}

.p-articleHead__label--employ {
  background-color: #b45397
}

.p-articleHead__date {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1;
  margin-left: 20px;
  margin-top: -4px
}

@media screen and (max-width:960px) {
  .p-articleHead__date {
    font-size: 1.07rem;
    letter-spacing: .1em;
    line-height: 1
  }
}

.p-aboutTitle {
  position: relative;
  z-index: 1
}

.p-aboutTitle:after,
.p-aboutTitle:before {
  background-size: cover;
  content: "";
  display: block;
  pointer-events: none;
  position: absolute
}

.p-aboutTitle:before {
  background-image: url(images/deco_about_title01.png?v179176b95a0);
  padding-top: 28.515625%;
  right: calc(1.09375% + 40px);
  top: 59px;
  width: 36.015625%
}

@media screen and (max-width:1280px) {
  .p-aboutTitle:before {
    padding-top: 365px;
    right: calc(50% - 640px + 54px);
    width: 461px
  }
}

@media screen and (max-width:960px) {
  .p-aboutTitle:before {
    background-image: url(images/deco_about_title_sp.png?v179826fcb40);
    padding-top: 248px;
    right: calc(50% - 187.5px);
    top: 0;
    width: 375px
  }
}

.p-aboutTitle:after {
  background-image: url(images/deco_about_title02.png?v179176308b4);
  bottom: 178px;
  height: 363px;
  left: calc(50% - 545px);
  width: 246px
}

@media screen and (max-width:960px) {
  .p-aboutTitle:after {
    display: none
  }
}

.p-aboutTitle__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  min-height: 800px;
  padding-bottom: 172px;
  padding-top: 169px;
  position: relative
}

@media screen and (max-width:960px) {
  .p-aboutTitle__inner {
    min-height: 0;
    padding-bottom: 82px;
    padding-top: 138px
  }
}

.p-aboutTitle__ttl {
  color: #fff;
  max-width: 100%;
  text-align: center
}

.p-aboutTitle__ttl__en {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.25
}

@media screen and (max-width:960px) {
  .p-aboutTitle__ttl__en {
    font-size: 2.4rem;
    letter-spacing: .08em;
    line-height: 1.25
  }
}

.p-aboutTitle__ttl__ja {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.34;
  margin-top: 6px
}

@media screen and (max-width:960px) {
  .p-aboutTitle__ttl__ja {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 1.34;
    margin-top: 3px
  }
}

.p-aboutTitle__lead {
  color: #fff;
  margin-top: 47px;
  max-width: 100%;
  text-shadow: 0 0 9.5px rgba(0, 0, 0, .1)
}

@media screen and (max-width:960px) {
  .p-aboutTitle__lead {
    margin-top: 29px
  }
}

.p-aboutTitle__lead__ttl {
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.67rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.8;
  margin-bottom: 14px;
  padding-left: 25px;
  padding-right: 25px;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-aboutTitle__lead__ttl {
    font-size: 1.34rem;
    letter-spacing: .1em;
    line-height: 1.8
  }

  .p-aboutTitle__lead__ttl br {
    display: none
  }

  .p-aboutTitle__lead__ttl span {
    display: inline-block
  }
}

.p-aboutTitle__lead__desc {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  padding-left: 20px;
  padding-right: 20px;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-aboutTitle__lead__desc {
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 2
  }
}

.p-aboutTitle__lead__desc p+p {
  margin-top: 12px
}

.p-aboutTitle__lead__desc span {
  display: inline-block
}

.p-aboutTitle__img {
  height: 100%;
  left: 0;
  margin-top: 0;
  padding-right: 60px;
  pointer-events: none;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
  z-index: -1
}

@media screen and (max-width:960px) {
  .p-aboutTitle__img {
    height: 100%;
    padding-right: 0
  }
}

.p-aboutTitle__img:after,
.p-aboutTitle__img:before {
  content: "";
  left: 0;
  position: absolute
}

.p-aboutTitle__img:before {
  background-image: linear-gradient(to top, rgba(0, 0, 0, .4) 0, transparent 100%);
  bottom: 0;
  height: 84.875%;
  width: calc(100% - 60px);
  z-index: 2
}

@media screen and (max-width:960px) {
  .p-aboutTitle__img:before {
    width: 100%
  }
}

.p-aboutTitle__img:after {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, .4) 0, transparent 100%);
  height: 238px;
  top: 0;
  width: 100%;
  z-index: 3
}

.p-aboutTitle__img img {
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 1
}

@media screen and (max-width:960px) {
  .p-aboutTitle__img img {
    font-family: "object-fit: cover; object-position: bottom center;";
    -o-object-position: bottom center;
    object-position: bottom center
  }
}

.p-aboutTitle__csr {
  margin-left: auto;
  margin-right: auto;
  margin-top: -189px;
  max-width: 1000px;
  width: 100%
}

@media screen and (max-width:960px) {
  .p-aboutTitle__csr {
    margin-top: 30px;
    /* margin-top: -6.0784313725% */
  }
}

/* @media screen and (max-width:510px) {
  .p-aboutTitle__csr {
    margin-top: -31px
  }
} */

.p-aboutCsrLink {
  color: #fff;
  display: block;
  position: relative;
  text-decoration: none
}

.p-aboutCsrLink:visited {
  color: #fff
}

.p-aboutCsrLink:hover {
  color: #fff;
  opacity: 1;
  text-decoration: none
}

.p-aboutCsrLink img {
  opacity: 1;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1)
}

.p-aboutCsrLink:hover img {
  opacity: .8
}

.p-aboutCsrLink__img {
  position: relative;
  background-color: #fff;
}

/* .p-aboutCsrLink__img:before {
  background-image: url(images/bg_img_csr.png?v17983fbe626);
  background-size: cover;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1
} */

@media screen and (max-width:960px) {
  .p-aboutCsrLink__img:before {
    background-image: url(images/bg_img_csr_sp.png?v17982af99a6)
  }
}

/* @media screen and (max-width:536px) {
  .p-aboutCsrLink__img {
    margin-left: calc(-536px/2 + 50vw);
    margin-right: calc(-536px/2 + 50vw)
  }
}

@media screen and (max-width:375px) {
  .p-aboutCsrLink__img {
    margin-left: -80.5px;
    margin-right: -80.5px
  }
} */

*+.p-categoryCards {
  margin-top: 52px
}

.p-categoryCards__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -4px;
  margin-right: -4px;
  margin-top: -40px
}

.p-categoryCards--2column .p-categoryCards__list {
  margin-left: -20px;
  margin-right: -20px
}

@media screen and (max-width:960px) {
  .p-categoryCards__list {
    margin-top: -20px
  }
}

.p-categoryCards__item {
  margin-top: 40px;
  padding-left: 4px;
  padding-right: 4px;
  /* width: 33.33% */
  width: 50%;
}

@media screen and (max-width:960px) {
  .p-categoryCards__item {
    margin-top: 20px;
    width: 50%
  }
}

@media screen and (max-width:600px) {
  .p-categoryCards__item {
    width: 100%
  }
}

.p-categoryCards--2column .p-categoryCards__item {
  padding-left: 20px;
  padding-right: 20px
}

@media print,
screen and (min-width:961px) {
  .p-categoryCards--2column .p-categoryCards__item {
    width: 50%
  }
}

.p-categoryCards__item:before {
  content: none
}

.p-categoryCard {
  display: block;
  position: relative;
  text-decoration: none
}

.p-categoryCard:hover {
  opacity: 1;
  text-decoration: none
}

.p-categoryCard__text {
  background-color: rgba(0, 0, 0, .6);
  bottom: 0;
  color: #fff;
  font-size: 1rem;
  left: 0;
  letter-spacing: .1em;
  line-height: 2;
  padding: 15px 60px 15px 20px;
  position: absolute;
  width: 100%;
  z-index: 2
}

.p-categoryCard__text:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  bottom: 0;
  content: "";
  display: block;
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 10px;
  line-height: 1;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  right: 15px;
  text-indent: 0;
  text-transform: none;
  top: 2px
}

.p-categoryCard:hover .p-categoryCard__text:after {
  -webkit-animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

.p-categoryCard__img {
  margin-top: 0;
  overflow: hidden;
  padding-top: 52.5%;
  /* padding-top: 73.1707317073%; */
  position: relative;
  z-index: 1
}

.p-categoryCard--2column .p-categoryCard__img {
  padding-top: 50%
}

.p-categoryCard__img img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1), -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%
}

@media print,
screen and (min-width:961px) {
  .p-categoryCard:hover .p-categoryCard__img img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }
}

@media print,
screen and (min-width:961px) {
  .p-companyProfile {
    display: table;
    margin-left: auto;
    margin-right: auto
  }

  .p-companyProfile__item {
    display: table-row
  }
}

@media screen and (max-width:960px) {
  .p-companyProfile__item {
    border-bottom: 1px solid #2d2622;
    padding-bottom: 12px;
    padding-top: 12px
  }

  .p-companyProfile__item:first-child {
    border-top: 1px solid #2d2622
  }
}

.p-companyProfile__label {
  font-weight: 700
}

@media print,
screen and (min-width:961px) {
  .p-companyProfile__label {
    display: table-cell;
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2.67;
    width: 137px
  }
}

@media screen and (max-width:960px) {
  .p-companyProfile__label {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2
  }
}

@media print,
screen and (min-width:961px) {
  .p-companyProfile__desc {
    display: table-cell;
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2.67;
    padding-left: 40px;
    position: relative;
    width: calc(100% - 137px)
  }
}

@media screen and (max-width:960px) {
  .p-companyProfile__desc {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2
  }
}

@media print,
screen and (min-width:961px) {
  .p-companyProfile__desc:before {
    background-color: #2d2622;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 1px
  }

  .p-companyProfile__item:first-child .p-companyProfile__desc:before {
    height: calc(100% - 13px);
    top: 13px
  }

  .p-companyProfile__item:last-child .p-companyProfile__desc:before {
    height: calc(100% - 11px)
  }
}

.p-branchList__ttl {
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.67rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.68;
  margin-bottom: 22px;
  text-align: center
}

.p-branchList__item {
  margin-top: 0;
  padding-left: 0
}

.p-branchList__item:before {
  content: none
}

.p-branchList__item+.p-branchList__item {
  margin-top: 32px
}

@media print,
screen and (min-width:961px) {
  .p-branchColumn {
    display: flex
  }
}

.p-branchColumn__ttl {
  background-color: #005bac;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .3em;
  line-height: 1.34;
  padding: 5px 4px;
  text-align: center
}

@media print,
screen and (min-width:961px) {
  .p-branchColumn__ttl {
    min-width: 28px;
    width: 28px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
  }
}

@media screen and (max-width:960px) {
  .p-branchColumn__ttl {
    margin-bottom: 15px
  }
}

@media print,
screen and (min-width:961px) {
  .p-branchColumn__text {
    flex-grow: 1;
    margin-bottom: -4px;
    margin-top: -7px;
    padding-left: 20px
  }
}

@media screen and (max-width:960px) {
  .p-branchColumn__img {
    margin-top: 20px
  }
}

*+.p-branchItem {
  margin-top: 14px
}

.p-branchItem__name {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 2;
  padding-left: 18px;
  position: relative
}

.p-branchItem__name:before {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #005bac;
  content: "";
  display: inline-block;
  font-family: icomoon !important;
  font-size: 15px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 15px;
  line-height: 1;
  margin-left: -18px;
  margin-right: 3px;
  margin-top: -3px;
  text-indent: 0;
  text-transform: none;
  vertical-align: middle;
  width: 15px
}

.p-branchItem__desc {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  padding-left: 18px
}

.p-visionLogo {
  background-color: #fff;
  margin-left: calc(500px - 50vw);
  margin-right: calc(500px - 50vw);
  padding: 80px 20px 74px;
  text-align: center
}

@media screen and (max-width:1040px) {
  .p-visionLogo {
    margin-left: -20px;
    margin-right: -20px
  }
}

@media screen and (max-width:960px) {
  .p-visionLogo {
    padding-bottom: 44px;
    padding-top: 50px
  }
}

.l-main__body>.p-visionLogo:first-child {
  margin-top: -100px
}

@media screen and (max-width:960px) {
  .l-main__body>.p-visionLogo:first-child {
    margin-top: -60px
  }
}

.p-visionLogo__logo {
  padding-left: 20px;
  padding-right: 20px
}

.p-visionLogo__text {
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.34rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.6;
  margin-top: 33px
}

@media screen and (max-width:960px) {
  .p-visionLogo__text {
    font-size: 1.34rem;
    letter-spacing: .1em;
    line-height: 1.6
  }
}

.p-visionLogo__text__block {
  display: inline-block
}

.p-histImgColumn {
  display: flex;
  position: relative;
  text-align: justify
}

@media print,
screen and (min-width:961px) {
  .p-histImgColumn {
    justify-content: space-between
  }
}

@media screen and (max-width:960px) {
  .p-histImgColumn {
    flex-direction: column
  }
}

*+.p-histImgColumn {
  margin-top: 40px
}

.p-histImgColumn+p,
.p-histImgColumn p+p {
  margin-top: 30px
}

@media screen and (max-width:960px) {

  .p-histImgColumn+p,
  .p-histImgColumn p+p {
    margin-top: 20px
  }
}

.p-histImgColumn__img {
  position: relative;
  text-align: center
}

@media print,
screen and (min-width:961px) {
  .p-histImgColumn__img {
    margin-top: 9px;
    width: 50%
  }

  .p-histImgColumn--imgLeft .p-histImgColumn__img {
    order: 1
  }

  .p-histImgColumn--imgRight .p-histImgColumn__img {
    order: 2
  }
}

@media screen and (max-width:960px) {
  .p-histImgColumn__img {
    -ms-grid-row-align: center;
    align-self: center;
    margin-bottom: 24px
  }
}

.p-histImgColumn__img__deco--01 {
  bottom: -17px;
  position: absolute;
  right: -10.4%;
  width: 75.8%;
  z-index: 1
}

@media screen and (max-width:1104px) {
  .p-histImgColumn__img__deco--01 {
    right: calc(500px - 50vw)
  }
}

@media screen and (max-width:1040px) {
  .p-histImgColumn__img__deco--01 {
    right: -20px
  }
}

@media screen and (max-width:960px) {
  .p-histImgColumn__img__deco--01 {
    right: -10.4%
  }
}

@media screen and (max-width:604px) {
  .p-histImgColumn__img__deco--01 {
    right: calc(500px/2 - 50vw)
  }
}

@media screen and (max-width:540px) {
  .p-histImgColumn__img__deco--01 {
    right: -20px
  }
}

@media print,
screen and (min-width:961px) {
  .p-histImgColumn__text {
    width: calc(50% - 51px)
  }

  .p-histImgColumn--imgLeft .p-histImgColumn__text {
    order: 2
  }

  .p-histImgColumn--imgRight .p-histImgColumn__text {
    order: 1
  }
}

.p-brandLogo {
  margin-left: calc(500px - 50vw);
  margin-right: calc(500px - 50vw);
  padding: 80px 20px;
  position: relative;
  z-index: 1
}

@media screen and (max-width:1040px) {
  .p-brandLogo {
    margin-left: -20px;
    margin-right: -20px
  }
}

@media screen and (max-width:960px) {
  .p-brandLogo {
    padding-bottom: 40px;
    padding-top: 40px
  }
}

*+.p-brandLogo {
  margin-top: 100px
}

@media screen and (max-width:960px) {
  *+.p-brandLogo {
    margin-top: 50px
  }
}

.p-brandLogo__inner {
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px
}

@media print,
screen and (min-width:961px) {
  .p-brandLogo__inner {
    display: flex;
    padding: 53px 60px 52px 48px
  }
}

@media screen and (max-width:960px) {
  .p-brandLogo__inner {
    display: flex;
    flex-direction: column;
    padding: 20px 20px 24px
  }
}

.p-brandLogo__desc {
  text-align: justify
}

@media print,
screen and (min-width:961px) {
  .p-brandLogo__desc {
    width: 39.798206278%
  }
}

.p-brandLogo__img {
  text-align: center
}

@media print,
screen and (min-width:961px) {
  .p-brandLogo__img {
    margin-top: 6px;
    padding-left: 4.4843049327%;
    width: 60.201793722%
  }
}

@media screen and (max-width:960px) {
  .p-brandLogo__img {
    margin-bottom: 12px;
    order: -1
  }
}

.p-brandLogo__bg {
  height: 100%;
  left: 0;
  margin-top: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1
}

.p-brandLogo__bg:after {
  background-color: rgba(0, 0, 0, .2);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%
}

.p-brandLogo__bg img {
  height: 100%;
  width: 100%
}

.p-visionSection {
  background-color: #fff;
  margin-left: calc(500px - 50vw);
  margin-right: calc(500px - 50vw);
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 83px
}

@media screen and (max-width:1040px) {
  .p-visionSection {
    margin-left: -20px;
    margin-right: -20px
  }
}

@media screen and (max-width:960px) {
  .p-visionSection {
    padding-top: 40px
  }
}

.p-visionSection__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px
}

.p-visionSection__ttl {
  margin-bottom: -64px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 58px;
  position: relative;
  text-align: center;
  width: 350px
}

@media screen and (max-width:960px) {
  .p-visionSection__ttl {
    margin-bottom: -66px;
    padding-top: 44px;
    width: 310px
  }
}

.p-visionSection__ttl:before {
  background-color: #fff4d5;
  background-image: url(images/bg_pattern_yellow.png?v179780dab94);
  background-position: top;
  background-size: 50px;
  border-radius: 50%;
  content: "";
  display: block;
  height: 350px;
  left: 0;
  position: absolute;
  top: 0;
  width: 350px
}

@media screen and (max-width:960px) {
  .p-visionSection__ttl:before {
    height: 310px;
    width: 310px
  }
}

.p-visionSection__ttl:after {
  background-image: url(images/border_vision_heading.svg?v1795518c863);
  background-size: cover;
  content: "";
  display: block;
  height: 108px;
  left: 20px;
  position: absolute;
  top: 10px;
  width: 310px;
  z-index: 3
}

@media screen and (max-width:960px) {
  .p-visionSection__ttl:after {
    background-image: url(images/border_vision_heading_sp.svg?v17963932f13);
    height: 96px;
    left: 18px;
    width: 272px
  }
}

.p-visionSection__ttl__en {
  color: #be9a60;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.12;
  position: relative;
  z-index: 2
}

@media screen and (max-width:960px) {
  .p-visionSection__ttl__en {
    font-size: 2rem;
    letter-spacing: .08em;
    line-height: 1.4
  }
}

.p-visionSection__ttl__ja {
  color: #be9a60;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2;
  margin-bottom: 0;
  margin-top: 3px;
  position: relative;
  z-index: 2
}

.p-visionSection__body {
  background-color: #fff4d5;
  background-image: url(images/bg_vision_park.png?v179781864ce), url(images/bg_vision_star.png?v179782460b2), url(images/bg_pattern_yellow.png?v179780dab94);
  background-position: bottom, calc(50% - 6px) calc(50% - 6px), top;
  background-repeat: no-repeat, no-repeat, repeat;
  background-size: contain, 858px 544px, 50px;
  padding: 125px 20px 297px;
  position: relative;
  z-index: 1
}

@media screen and (max-width:960px) {
  .p-visionSection__body {
    background-image: url(images/bg_vision_park.png?v179781864ce), url(images/bg_pattern_yellow.png?v179780dab94);
    background-position: bottom, top;
    background-repeat: no-repeat, repeat;
    background-size: contain, 50px;
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 92px
  }
}

@media screen and (max-width:700px) {
  .p-visionSection__body {
    padding-bottom: 43.5%
  }
}

.p-visionSection__body:before {
  background-image: linear-gradient(to right, #be9a60 0, #be9a60 calc(50% - 154px), transparent calc(50% - 154px), transparent calc(50% + 154px), #be9a60 calc(50% + 154px)), linear-gradient(to bottom, #be9a60 0, #be9a60 100%), linear-gradient(to right, #be9a60 0, #be9a60 100%), linear-gradient(to bottom, #be9a60 0, #be9a60 100%);
  background-position: 0 0, 100% 0, 0 100%, 0 0;
  background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
  background-size: calc(100%) 1px, 1px 100%, 100% 1px, 1px 100%;
  bottom: 10px;
  content: "";
  left: 10px;
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: -1
}

@media screen and (max-width:960px) {
  .p-visionSection__body:before {
    background-image: linear-gradient(to right, #be9a60 0, #be9a60 calc(50% - 135px), transparent calc(50% - 135px), transparent calc(50% + 135px), #be9a60 calc(50% + 135px)), linear-gradient(to bottom, #be9a60 0, #be9a60 100%), linear-gradient(to right, #be9a60 0, #be9a60 100%), linear-gradient(to bottom, #be9a60 0, #be9a60 100%)
  }
}

@media print,
screen and (min-width:961px) {
  .p-visionSection__body:after {
    background-image: url(images/deco_vision.png?v17978170067);
    background-size: cover;
    content: "";
    display: block;
    height: 598px;
    position: absolute;
    right: -198px;
    top: -129px;
    width: 466px
  }
}

.p-visionSection__lead {
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.67rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.68;
  margin-bottom: 44px;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-visionSection__lead {
    font-size: 1.34rem;
    letter-spacing: .1em;
    line-height: 1.8;
    margin-bottom: 16px
  }
}

.p-visionSection__desc {
  text-align: justify
}

@media print,
screen and (min-width:961px) {
  .p-visionSection__desc {
    -moz-text-align-last: center;
    text-align-last: center
  }

  .p-visionSection__desc,
  .p-visionSection__desc _:lang(x)+_:-webkit-full-screen-document {
    text-align: center
  }
}

.p-visionSection__desc p+p {
  margin-top: 20px
}

@media screen and (max-width:960px) {
  .p-visionSection__desc br {
    display: none
  }
}

.p-guidelines {
  counter-reset: guidelines;
  list-style-type: none;
  margin-left: 0
}

.p-guidelines__item {
  padding-left: 0
}

.p-guidelines__item:before {
  content: none
}

.p-guidelines__item+.p-guidelines__item {
  margin-top: 52px
}

@media screen and (max-width:960px) {
  .p-guidelines__item+.p-guidelines__item {
    margin-top: 26px
  }
}

.p-guidelines__ttl {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-weight: 400;
  margin-bottom: 13px;
  padding: 4px 3px 11px 128px;
  position: relative
}

@media screen and (max-width:600px) {
  .p-guidelines__ttl {
    flex-direction: column;
    padding: 0
  }
}

@media screen and (max-width:960px) {
  .p-guidelines__ttl {
    margin-bottom: 20px
  }
}

.p-guidelines__ttl:before {
  align-items: center;
  background-image: url(images/icon_guidelines_num.png?v17955b879df);
  background-size: cover;
  content: counter(guidelines);
  counter-increment: guidelines;
  display: flex;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 4rem;
  font-weight: 400;
  height: 57px;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 1;
  padding-bottom: 22px;
  padding-left: 6px;
  width: 89px
}

@media screen and (max-width:960px) {
  .p-guidelines__ttl:before {
    font-size: 3.34rem;
    letter-spacing: .1em;
    line-height: 1;
    padding-bottom: 14px
  }
}

@media print,
screen and (min-width:601px) {
  .p-guidelines__ttl:before {
    bottom: 0;
    left: 0;
    margin-bottom: auto;
    margin-top: auto;
    position: absolute;
    top: -10px
  }
}

@media screen and (max-width:600px) {
  .p-guidelines__ttl:before {
    margin-bottom: 16px;
    padding-left: 0
  }
}

.p-guidelines__ttl__word {
  color: #005bac;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-weight: 400
}

@media print,
screen and (min-width:961px) {
  .p-guidelines__ttl__word {
    font-size: 1.34rem;
    letter-spacing: .08em;
    line-height: 1;
    margin-bottom: -5px;
    margin-left: 5px;
    width: 100%
  }
}

@media screen and (max-width:960px) {
  .p-guidelines__ttl__word {
    font-size: 1.2rem;
    letter-spacing: .08em;
    line-height: 1
  }
}

.p-guidelines__ttl__word:after,
.p-guidelines__ttl__word:before {
  content: "";
  display: inline-block;
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.34;
  margin-top: -2px;
  vertical-align: middle
}

.p-guidelines__ttl__word:before {
  content: "＼";
  margin-right: 6px
}

.p-guidelines__ttl__word:after {
  content: "／";
  margin-left: 6px
}

.p-guidelines__ttl__main {
  color: #005bac;
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.67rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.68
}

@media screen and (max-width:960px) {
  .p-guidelines__ttl__main {
    font-size: 1.34rem;
    letter-spacing: .1em;
    line-height: 1.8
  }
}

@media screen and (max-width:600px) {
  .p-guidelines__ttl__main {
    text-align: center
  }
}

.p-guidelines__ttl__sub {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 2;
  margin-left: 3px;
  margin-top: 2px
}

@media screen and (max-width:600px) {
  .p-guidelines__ttl__sub {
    margin-left: 0;
    margin-top: 5px
  }
}

.p-guidelines__body {
  padding-left: 129px;
  text-align: justify
}

@media screen and (max-width:600px) {
  .p-guidelines__body {
    padding-left: 0
  }
}

.p-guidelines__body p+p {
  margin-top: 20px
}

@media screen and (max-width:960px) {
  .p-guidelines__body br {
    display: none
  }
}

.p-csrTopTitle {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1
}

@media print,
screen and (min-width:961px) {
  .p-csrTopTitle {
    min-height: 690px;
    padding: 170px 20px 50px
  }
}

.p-csrTopTitle:after {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, .4) 0, transparent 100%);
  content: "";
  height: 238px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2
}

@media print,
screen and (min-width:961px) {
  .p-csrTopTitle__inner {
    margin-bottom: -50px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1000px;
    width: 100%
  }
}

@media screen and (max-width:960px) {
  .p-csrTopTitle__inner {
    margin-top: -50px;
    order: 2;
    padding-left: 20px;
    padding-right: 20px
  }
}

.p-csrTopTitle__ttl {
  color: #fff;
  margin-bottom: 58px;
  position: relative;
  z-index: 3
}

@media screen and (max-width:960px) {
  .p-csrTopTitle__ttl {
    left: 20px;
    margin-bottom: 0;
    /* padding-right: 160px; */
    position: absolute;
    /* top: 126px */
    top: 200px;
  }
}

.p-csrTopTitle__ttl__en {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.25
}

@media screen and (max-width:960px) {
  .p-csrTopTitle__ttl__en {
    font-size: 2.4rem;
    letter-spacing: .04em;
    line-height: 1.12
  }
}

.p-csrTopTitle__ttl__ja {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.34;
  margin-top: 15px
}

@media screen and (max-width:960px) {
  .p-csrTopTitle__ttl__ja {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 1.34;
    margin-top: 5px;
  }
}

.p-csrTopTitle__desc {
  background-color: rgba(255, 255, 255, .85);
  box-shadow: 7px 7px 40px rgba(4, 0, 0, .05);
  max-width: 495px;
  padding: 48px 48px 58px;
  position: relative;
  z-index: 3
}

@media screen and (max-width:960px) {
  .p-csrTopTitle__desc {
    max-width: none;
    padding: 20px 20px 18px
  }
}

.p-csrTopTitle__desc__ttl {
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.67rem;
  font-weight: 400;
  line-height: 1.8;
  margin-bottom: 21px;
  text-align: center;
}

@media print,
screen and (min-width:961px) {
  .p-csrTopTitle__desc__ttl {
    white-space: nowrap
  }
}

@media screen and (max-width:960px) {
  .p-csrTopTitle__desc__ttl {
    font-size: 1.34rem;
    letter-spacing: 0.06em;
    line-height: 1.8;
    margin-bottom: 16px
  }

  .p-csrTopTitle__desc__ttl span {
    display: inline-block;
  }
}

.p-csrTopTitle__desc__body {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  text-align: justify
}

@media screen and (max-width:960px) {
  .p-csrTopTitle__desc__body {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2
  }
}

.p-csrTopTitle__img {
  margin-top: 0
}

@media print,
screen and (min-width:961px) {
  .p-csrTopTitle__img {
    height: calc(100% - 50px);
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
  }
}

@media screen and (max-width:960px) {
  .p-csrTopTitle__img {
    height: 350px;
    order: 1;
    position: relative
  }
}

.p-csrTopTitle__img img {
  height: 100%;
  width: 100%
}

.p-csrTopTitle__img__caption {
  bottom: 30px;
  color: #fff;
  margin-top: 0;
  position: absolute;
  right: 0;
  text-align: right
}

@media print,
screen and (min-width:1001px) {
  .p-csrTopTitle__img__caption {
    right: calc(50% - 500px)
  }
}

@media screen and (max-width:960px) {
  .p-csrTopTitle__img__caption {
    bottom: 62px;
    right: 20px
  }
}

.p-csrTopTitle__img__caption__position {
  display: block;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.34
}

@media screen and (max-width:960px) {
  .p-csrTopTitle__img__caption__position {
    font-size: .87rem;
    letter-spacing: .1em;
    line-height: 1.39
  }
}

.p-csrTopTitle__img__caption__name {
  display: block;
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.67rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.68
}

@media screen and (max-width:960px) {
  .p-csrTopTitle__img__caption__name {
    font-size: 1.34rem;
    letter-spacing: .1em;
    line-height: 1.8
  }
}

.p-sixPromises {
  counter-reset: promises;
  position: relative;
  z-index: 1
}

@media print,
screen and (min-width:961px) {
  .p-sixPromises {
    background-image: url(images/deco_6Promises.png?v17970f95b01);
    background-position: top 2px center;
    background-repeat: no-repeat;
    background-size: 598px 598px;
    height: 600px
  }
}

@media screen and (max-width:960px) {
  .p-sixPromises {
    margin-left: auto;
    margin-right: auto;
    max-width: 550px
  }
}

.p-sixPromises__item {
  margin-top: 0;
  padding-left: 0;
  position: relative
}

@media print,
screen and (min-width:961px) {
  .p-sixPromises__item {
    display: flex;
    position: absolute
  }

  .p-sixPromises__item:nth-child(2),
  .p-sixPromises__item:nth-child(3),
  .p-sixPromises__item:nth-child(5),
  .p-sixPromises__item:nth-child(6) {
    width: 37%
  }

  .p-sixPromises__item:first-child {
    left: calc(50% - 80px);
    top: 0
  }

  .p-sixPromises__item:nth-child(2) {
    left: calc(50% + 130px);
    top: 119px
  }

  .p-sixPromises__item:nth-child(3) {
    left: calc(50% + 130px);
    top: 319px
  }

  .p-sixPromises__item:nth-child(4) {
    bottom: 0;
    right: calc(50% - 80px)
  }

  .p-sixPromises__item:nth-child(5) {
    right: calc(50% + 130px);
    top: 319px
  }

  .p-sixPromises__item:nth-child(6) {
    right: calc(50% + 130px);
    top: 119px
  }
}

@media screen and (max-width:960px) {
  .p-sixPromises__item {
    padding-bottom: 18px
  }
}

.p-sixPromises__item:before {
  content: none
}

@media screen and (max-width:960px) {
  .p-sixPromises__item:after {
    background-color: #fff;
    content: "";
    display: block;
    height: 100%;
    left: 38px;
    position: absolute;
    top: 4px;
    width: 4px;
    z-index: -1
  }
}

.p-sixPromises__item:last-child:after {
  content: none
}

.p-sixPromises__link {
  color: #2d2622;
  display: block;
  text-decoration: none;
  width: 100%
}

.p-sixPromises__link:visited {
  color: #2d2622
}

.p-sixPromises__link:hover {
  color: #2d2622;
  text-decoration: none
}

.p-sixPromises__card {
  position: relative
}

@media print,
screen and (min-width:961px) {
  .p-sixPromises__card {
    align-items: center;
    display: flex;
    width: 100%
  }
}

@media screen and (max-width:960px) {
  .p-sixPromises__card {
    padding-left: 100px
  }
}

@media print,
screen and (min-width:961px) {
  .p-sixPromises__label {
    align-items: center;
    background-color: #ccc;
    border-radius: 50%;
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 160px;
    justify-content: flex-start;
    min-width: 160px;
    padding: 10px 15px;
    position: relative;
    width: 160px
  }
}

@media screen and (max-width:960px) {
  .p-sixPromises__label {
    font-size: 1.34rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.6;
    margin-bottom: 6px
  }
}

.p-sixPromises__label:before {
  content: counter(promises, decimal-leading-zero);
  counter-increment: promises;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-weight: 400;
  text-align: center
}

@media print,
screen and (min-width:961px) {
  .p-sixPromises__label:before {
    border-bottom: 1px solid #fff;
    display: block;
    font-size: 3.2rem;
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 10px;
    padding-bottom: 8px;
    width: 54px
  }
}

@media screen and (max-width:960px) {
  .p-sixPromises__label:before {
    align-items: center;
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: 3.2rem;
    height: 80px;
    justify-content: center;
    left: 0;
    letter-spacing: 0;
    line-height: 1;
    padding: 5px 5px 19px;
    position: absolute;
    top: 4px;
    width: 80px
  }
}

@media print,
screen and (min-width:961px) {
  .p-sixPromises__label--safety {
    background-color: #005bac
  }
}

@media screen and (max-width:960px) {
  .p-sixPromises__label--safety {
    color: #005bac
  }

  .p-sixPromises__label--safety:before {
    background-color: #005bac
  }
}

@media print,
screen and (min-width:961px) {
  .p-sixPromises__label--compliance {
    background-color: #258b91
  }
}

@media screen and (max-width:960px) {
  .p-sixPromises__label--compliance {
    color: #258b91
  }

  .p-sixPromises__label--compliance:before {
    background-color: #258b91
  }
}

@media print,
screen and (min-width:961px) {
  .p-sixPromises__label--environment {
    background-color: #63b453
  }
}

@media screen and (max-width:960px) {
  .p-sixPromises__label--environment {
    color: #63b453
  }

  .p-sixPromises__label--environment:before {
    background-color: #63b453
  }
}

@media print,
screen and (min-width:961px) {
  .p-sixPromises__label--sports {
    background-color: #b4ae53
  }
}

@media screen and (max-width:960px) {
  .p-sixPromises__label--sports {
    color: #b4ae53
  }

  .p-sixPromises__label--sports:before {
    background-color: #b4ae53
  }
}

@media print,
screen and (min-width:961px) {
  .p-sixPromises__label--region {
    background-color: #b46c53
  }
}

@media screen and (max-width:960px) {
  .p-sixPromises__label--region {
    color: #b46c53
  }

  .p-sixPromises__label--region:before {
    background-color: #b46c53
  }
}

@media print,
screen and (min-width:961px) {
  .p-sixPromises__label--employ {
    background-color: #b45397
  }
}

@media screen and (max-width:960px) {
  .p-sixPromises__label--employ {
    color: #b45397
  }

  .p-sixPromises__label--employ:before {
    background-color: #b45397
  }
}

@media screen and (max-width:960px) {
  .p-sixPromises__label br {
    display: none
  }
}

@media print,
screen and (min-width:961px) {
  .p-sixPromises__label__text {
    align-items: center;
    display: flex;
    font-size: 1.34rem;
    font-weight: 700;
    justify-content: center;
    letter-spacing: .1em;
    line-height: 1.4;
    max-width: 100%;
    min-height: 38px;
    text-align: center
  }

  .p-sixPromises__body {
    flex-grow: 1;
    margin-top: 10px
  }
}

@media print,
screen and (min-width:961px) {
  .p-sixPromises__item:first-child .p-sixPromises__body {
    align-self: flex-start;
    margin-left: 20px;
    margin-top: 5px
  }

  .p-sixPromises__item:nth-child(2) .p-sixPromises__body,
  .p-sixPromises__item:nth-child(3) .p-sixPromises__body {
    margin-left: 25px
  }

  .p-sixPromises__item:nth-child(4) .p-sixPromises__body {
    align-self: flex-end;
    margin-bottom: -9px;
    margin-right: 15px;
    order: -1
  }

  .p-sixPromises__item:nth-child(5) .p-sixPromises__body,
  .p-sixPromises__item:nth-child(6) .p-sixPromises__body {
    margin-right: 25px;
    order: -1
  }
}

@media screen and (max-width:960px) {
  .p-sixPromises__body br {
    display: none
  }
}

.p-sixPromises__desc {
  font-weight: 700
}

.p-sixPromises__desc,
.p-sixPromises__more {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2
}

.p-sixPromises__more {
  color: #005bac;
  margin-top: 4px;
  text-align: right
}

.p-sixPromises__more:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "";
  display: inline-block;
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  margin-left: 6px;
  margin-top: -2px;
  text-indent: 0;
  text-transform: none;
  vertical-align: middle
}

.p-sixPromises__link:hover .p-sixPromises__more:after {
  -webkit-animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

.p-sdgs {
  background-color: #fff;
  box-shadow: 7px 7px 40px rgba(4, 0, 0, .05);
  padding: 40px 20px 34px
}

*+.p-sdgs {
  margin-top: 60px
}

@media screen and (max-width:960px) {
  *+.p-sdgs {
    margin-top: 30px
  }
}

.p-sdgs__img {
  margin-top: 0;
  text-align: center
}

.p-sdgs__text {
  font-size: 1rem;
  letter-spacing: .08em;
  line-height: 2;
  margin-top: 23px;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-sdgs__text {
    text-align: left
  }
}

.p-csrListTitle {
  position: relative;
  z-index: 1
}

.p-csrListTitle:before {
  background-image: url(images/img_csrTitleBg.jpg?v1795a4c829d);
  background-position: top;
  background-size: cover;
  content: "";
  height: 400px;
  max-height: calc(100% - 60px);
  position: absolute;
  width: 100%;
  z-index: 1
}

.p-csrListTitle:after {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, .4) 0, transparent 100%);
  content: "";
  height: 238px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2
}

.p-csrListTitle__inner {
  align-items: flex-start;
  display: flex;
  margin-left: auto;
  margin-right: auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 140px;
  position: relative;
  z-index: 3
}

@media screen and (max-width:960px) {
  .p-csrListTitle__inner {
    flex-wrap: wrap;
    padding-top: 126px
  }
}

.p-csrListTitle__text {
  background-color: #fff;
  box-shadow: 7px 7px 40px rgba(4, 0, 0, .05);
  margin-top: 59px;
  padding: 56px 25% 53px 60px;
  width: 72%
}

@media screen and (max-width:960px) {
  .p-csrListTitle__text {
    margin-top: 0;
    padding: 20px 20px 18px;
    width: 100%
  }
}

.p-csrListTitle__ttl {
  align-items: center;
  display: flex;
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2.14rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.32;
  margin-bottom: 31px
}

@media screen and (max-width:960px) {
  .p-csrListTitle__ttl {
    font-size: 1.8rem;
    letter-spacing: .1em;
    line-height: 1.56;
    margin-bottom: 16px
  }
}

.p-csrListTitle__ttl__num {
  align-items: center;
  background-color: #ccc;
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2.4rem;
  font-weight: 400;
  height: 60px;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  margin-right: 19px;
  margin-top: 4px;
  min-width: 60px;
  padding: 5px 5px 17px;
  vertical-align: middle;
  width: 60px
}

@media screen and (max-width:960px) {
  .p-csrListTitle__ttl__num {
    font-size: 2rem;
    height: 50px;
    letter-spacing: 0;
    line-height: 1;
    margin-right: 10px;
    min-width: 50px;
    padding-bottom: 15px;
    width: 50px
  }
}

.p-csrListTitle__ttl__num--safety {
  background-color: #005bac
}

.p-csrListTitle__ttl__num--compliance {
  background-color: #258b91
}

.p-csrListTitle__ttl__num--environment {
  background-color: #63b453
}

.p-csrListTitle__ttl__num--sports {
  background-color: #b4ae53
}

.p-csrListTitle__ttl__num--region {
  background-color: #b46c53
}

.p-csrListTitle__ttl__num--employ {
  background-color: #b45397
}

.p-csrListTitle__ttl__text {
  flex-grow: 1
}

.p-csrListTitle__body__label {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 2
}

.p-csrListTitle__body__desc {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  text-align: justify
}

.p-csrListTitle__img {
  margin-left: -20%;
  margin-top: 0;
  width: 48%
}

@media screen and (max-width:960px) {
  .p-csrListTitle__img {
    background-color: #fff;
    margin-left: 0;
    padding-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%
  }
}

.p-foodsafety {
  align-items: center;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1
}

.p-foodsafety__ttl {
  background-color: #005bac;
  border-radius: 24px;
  color: #fff;
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.67rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.6;
  margin-bottom: -24px;
  max-width: calc(100% - 40px);
  padding: 3px 10px 5px;
  position: relative;
  text-align: center;
  width: 334px;
  z-index: 2
}

@media screen and (max-width:960px) {
  .p-foodsafety__ttl {
    font-size: 1.34rem;
    letter-spacing: .1em;
    line-height: 1.6;
    margin-bottom: -20px;
    width: 260px
  }
}

.p-foodsafety__body {
  border: 1px solid #005bac;
  display: flex;
  justify-content: center;
  padding: 76px 40px 52px;
  position: relative;
  width: 100%;
  z-index: 1
}

@media screen and (max-width:960px) {
  .p-foodsafety__body {
    padding: 46px 20px 32px
  }
}

*+.p-csrArticles {
  margin-top: 52px
}

.p-csrArticles__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
  margin-top: -52px
}

@media screen and (max-width:960px) {
  .p-csrArticles__list {
    margin-top: -30px
  }
}

.p-csrArticles__item {
  margin-top: 52px;
  padding-left: 10px;
  padding-right: 10px;
  width: 33.33%
}

@media screen and (max-width:960px) {
  .p-csrArticles__item {
    margin-top: 30px;
    width: 50%
  }
}

@media screen and (max-width:600px) {
  .p-csrArticles__item {
    width: 100%
  }
}

.p-csrArticles__item:before {
  content: none
}

.p-csrArticles__pager {
  margin-left: auto;
  margin-right: auto;
  margin-top: 49px;
  max-width: 680px
}

.p-csrArticle__inner {
  color: #2d2622;
  display: block;
  text-decoration: none
}

.p-csrArticle__inner:visited {
  color: #2d2622
}

.p-csrArticle__inner:hover {
  color: #2d2622;
  opacity: 1;
  text-decoration: none
}

.p-csrArticle__thumb {
  overflow: hidden;
  padding-top: 66.25%;
  position: relative
}

.p-csrArticle__thumb img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1), -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%
}

@media print,
screen and (min-width:961px) {
  .p-csrArticle__inner:hover .p-csrArticle__thumb img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }
}

.p-csrArticle__label {
  align-items: center;
  background-color: #ccc;
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  height: 100px;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 1.67;
  margin-left: auto;
  margin-right: auto;
  margin-top: -50px;
  position: relative;
  text-align: center;
  width: 100px
}

.p-csrArticle__label--safety {
  background-color: #005bac
}

.p-csrArticle__label--compliance {
  background-color: #258b91
}

.p-csrArticle__label--environment {
  background-color: #63b453
}

.p-csrArticle__label--sports {
  background-color: #b4ae53
}

.p-csrArticle__label--region {
  background-color: #b46c53
}

.p-csrArticle__label--employ {
  background-color: #b45397
}

.p-csrArticle__ttl {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 2;
  margin-top: 0;
  padding-left: 21px;
  padding-right: 21px;
  padding-top: 23px;
  text-align: justify
}

@media screen and (max-width:960px) {
  .p-csrArticle__ttl {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2
  }
}

.p-csrArticle__label+.p-csrArticle__ttl {
  padding-top: 11px
}

*+.p-csrPageLinks {
  margin-top: 80px
}

.p-csrPageLinks__list {
  counter-reset: csrNumber;
  display: flex;
  flex-wrap: wrap
}

.p-csrPageLinks__item {
  background-color: #000;
  display: flex;
  margin-top: 0;
  padding-left: 0;
  width: 33.33%
}

@media screen and (max-width:960px) {
  .p-csrPageLinks__item {
    width: 50%
  }
}

@media screen and (max-width:600px) {
  .p-csrPageLinks__item {
    width: 100%
  }
}

.p-csrPageLinks__item:before {
  content: none
}

.p-csrPageLinks__link {
  color: #fff;
  display: block;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  padding: 16px 60px 14px;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%
}

.p-csrPageLinks__link:visited {
  color: #fff
}

.p-csrPageLinks__link:hover {
  color: #fff;
  opacity: .7;
  text-decoration: none
}

.p-csrPageLinks__link:before {
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  bottom: 0;
  content: counter(csrNumber, decimal-leading-zero);
  counter-increment: csrNumber;
  display: flex;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.67rem;
  font-weight: 400;
  height: 40px;
  justify-content: center;
  left: 10px;
  letter-spacing: 0;
  line-height: 1;
  margin-bottom: auto;
  margin-top: auto;
  padding: 3px 3px 9px;
  position: absolute;
  top: 0;
  width: 40px
}

.p-csrPageLinks__link:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  bottom: 0;
  content: "";
  display: block;
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 10px;
  line-height: 1;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  right: 15px;
  text-indent: 0;
  text-transform: none;
  top: 2px
}

.p-csrPageLinks__link:hover:after {
  -webkit-animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

.p-csrPageLinks__link--active {
  opacity: .7
}

.p-csrPageLinks__link--safety {
  background-color: #005bac
}

.p-csrPageLinks__link--safety:before {
  color: #005bac
}

.p-csrPageLinks__link--compliance {
  background-color: #258b91
}

.p-csrPageLinks__link--compliance:before {
  color: #258b91
}

.p-csrPageLinks__link--environment {
  background-color: #63b453
}

.p-csrPageLinks__link--environment:before {
  color: #63b453
}

.p-csrPageLinks__link--sports {
  background-color: #b4ae53
}

.p-csrPageLinks__link--sports:before {
  color: #b4ae53
}

.p-csrPageLinks__link--region {
  background-color: #b46c53
}

.p-csrPageLinks__link--region:before {
  color: #b46c53
}

.p-csrPageLinks__link--employ {
  background-color: #b45397
}

.p-csrPageLinks__link--employ:before {
  color: #b45397
}

.p-purpose {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 7px 7px 40px rgba(4, 0, 0, .05);
  padding: 18px 20px 20px
}

.p-purpose span {
  display: inline-block
}

.p-purpose__label {
  font-size: 1.34rem;
  line-height: 1.6;
  margin-bottom: 14px
}

.p-purpose__item,
.p-purpose__label {
  font-weight: 700;
  letter-spacing: .1em;
  text-align: center
}

.p-purpose__item {
  background-color: #fff4d5;
  border-radius: 4px;
  color: #be9a60;
  font-size: 1rem;
  line-height: 1.67;
  margin-top: 0;
  padding: 3px 10px 4px
}

.p-purpose__item:before {
  content: none
}

.p-purpose__item+.p-purpose__item {
  margin-top: 8px
}

.p-bgOfCompliance {
  border: 1px solid #005bac;
  color: #005bac
}

@media print,
screen and (min-width:961px) {
  .p-bgOfCompliance {
    display: flex;
    padding-bottom: 39px;
    padding-top: 39px
  }
}

@media screen and (max-width:960px) {
  .p-bgOfCompliance {
    padding: 18px 20px 24px
  }
}

*+.p-bgOfCompliance {
  margin-top: 95px
}

@media screen and (max-width:960px) {
  *+.p-bgOfCompliance {
    margin-top: 60px
  }
}

.p-bgOfCompliance__ttl {
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-weight: 400;
  text-align: center
}

@media print,
screen and (min-width:961px) {
  .p-bgOfCompliance__ttl {
    align-items: center;
    display: flex;
    font-size: 1.67rem;
    justify-content: center;
    letter-spacing: .1em;
    line-height: 1.68;
    padding: 10px 30px 16px;
    width: 41.8837675351%
  }
}

@media screen and (max-width:960px) {
  .p-bgOfCompliance__ttl {
    font-size: 1.34rem;
    letter-spacing: .1em;
    line-height: 1.6;
    padding-bottom: 16px
  }
}

.p-bgOfCompliance__desc {
  text-align: justify
}

@media print,
screen and (min-width:961px) {
  .p-bgOfCompliance__desc {
    align-items: center;
    border-left: 1px solid #005bac;
    display: flex;
    font-size: .94rem;
    justify-content: center;
    letter-spacing: .1em;
    line-height: 2.15;
    padding: 10px 5.7114228457% 16px;
    width: 58.1162324649%
  }
}

@media screen and (max-width:960px) {
  .p-bgOfCompliance__desc {
    border-top: 1px solid #005bac;
    padding-top: 18px
  }
}

.p-shopPageLinks {
  padding-top: 41px
}

@media screen and (max-width:960px) {
  .p-shopPageLinks {
    padding-top: 0
  }
}

*+.p-shopPageLinks {
  margin-top: 53px
}

@media screen and (max-width:960px) {
  *+.p-shopPageLinks {
    margin-top: 30px
  }
}

.p-shopPageLinks__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: -10px;
  margin-right: -10px
}

@media screen and (max-width:960px) {
  .p-shopPageLinks__list {
    margin-top: -15px
  }
}

.p-shopPageLinks__item {
  display: flex;
  margin-top: 0;
  max-width: 360px;
  padding-left: 10px;
  padding-right: 10px;
  width: 33.33%
}

@media screen and (max-width:960px) {
  .p-shopPageLinks__item {
    margin-top: 15px;
    padding-top: 31px;
    width: 100%
  }
}

.p-shopPageLinks__item:before {
  content: none
}

.p-shopPageLinks__item .c-button {
  width: 100%
}

.p-searchKeywordForm {
  align-items: center;
  background-color: #fff4d5;
  background-image: url(images/bg_pattern_yellow.png?v179780dab94);
  background-position: top;
  background-size: 50px;
  display: flex;
  flex-wrap: wrap;
  padding: 20px 22px 20px 46px
}

@media screen and (max-width:960px) {
  .p-searchKeywordForm {
    padding-left: 20px;
    padding-right: 20px
  }
}

*+.p-searchKeywordForm {
  margin-top: 60px
}

@media screen and (max-width:960px) {
  *+.p-searchKeywordForm {
    margin-top: 40px
  }
}

.p-searchKeywordForm__label {
  color: #be9a60;
  font-size: 1.34rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.4;
  position: relative;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-searchKeywordForm__label {
    margin-bottom: 15px;
    width: 100%
  }
}

.p-searchKeywordForm__label:before {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "";
  display: inline-block;
  font-family: icomoon !important;
  font-size: 40px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 28px;
  line-height: 1;
  margin-right: 5px;
  margin-top: -16px;
  text-indent: 0;
  text-transform: none;
  vertical-align: middle;
  width: 38px
}

@media screen and (max-width:960px) {
  .p-searchKeywordForm__label:before {
    font-size: 28px;
    height: 24px;
    margin-left: -12px;
    margin-top: -6px;
    width: 28px
  }
}

.p-searchKeywordForm__form {
  display: flex;
  flex-grow: 1;
  margin-left: 51px
}

@media screen and (max-width:960px) {
  .p-searchKeywordForm__form {
    margin-left: 0;
    width: 100%
  }
}

.p-searchKeywordForm__input {
  background-color: #fff;
  border: 1px solid #dcc8a3;
  border-right-width: 0;
  flex-grow: 1;
  font-size: 1rem;
  height: 48px;
  letter-spacing: .1em;
  line-height: 2;
  padding: 6px 16px 8px;
  width: 100%
}

@media screen and (max-width:960px) {
  .p-searchKeywordForm__input {
    font-size: 1.07rem;
    height: 36px;
    letter-spacing: .1em;
    line-height: 1.75;
    width: 88.6363636364%
  }

  .p-searchKeywordForm__input::-webkit-input-placeholder {
    font-size: .94rem;
    letter-spacing: .1em;
    line-height: 2
  }

  .p-searchKeywordForm__input::-moz-placeholder {
    font-size: .94rem;
    letter-spacing: .1em;
    line-height: 2
  }

  .p-searchKeywordForm__input:-ms-input-placeholder {
    font-size: .94rem;
    letter-spacing: .1em;
    line-height: 2
  }

  .p-searchKeywordForm__input::placeholder {
    font-size: .94rem;
    letter-spacing: .1em;
    line-height: 2
  }
}

.p-searchKeywordForm__submit {
  background-color: #be9a60;
  color: #fff;
  display: block;
  font-size: 1rem;
  font-weight: 700;
  height: 48px;
  letter-spacing: .1em;
  line-height: 2;
  min-width: 100px;
  text-align: center;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
  width: 100px
}

@media screen and (max-width:960px) {
  .p-searchKeywordForm__submit {
    font-size: .94rem;
    height: 36px;
    letter-spacing: .1em;
    line-height: 2;
    min-width: 60px;
    width: 11.3636363636%
  }
}

.p-searchKeywordForm__submit:hover {
  opacity: .6
}

.p-shopResultSection__msg {
  font-size: 1.34rem;
  letter-spacing: .1em;
  line-height: 1.5;
  margin-top: 0;
  padding-top: 85px;
  text-align: center
}

.p-shopResultSection__msg span {
  display: inline-block
}

.p-shopResultSection__msg__num {
  font-size: 1.67rem;
  letter-spacing: .1em;
  line-height: 1
}

.p-shopResultSection__tempData {
  display: none
}

.p-shopResultSection__searchWord {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  margin-top: 15px;
  text-align: center
}

.p-shopResultSection__result {
  padding-top: 100px
}

.p-shopResultSection__btns+.p-shopResultSection__result {
  margin-top: 60px;
  padding-top: 0
}

@media screen and (max-width:960px) {
  .p-shopResultSection__btns+.p-shopResultSection__result {
    margin-bottom: 40px
  }
}

.p-shopResultSection__msg+.p-shopResultSection__result {
  margin-top: 35px;
  padding-top: 0
}

.p-shopResultSection__searchWord+.p-shopResultSection__result {
  margin-top: 53px;
  padding-top: 0
}

.p-shopResultSection__return {
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
  max-width: 340px
}

.p-shopResult__group+.p-shopResult__group {
  margin-top: 60px
}

@media screen and (max-width:960px) {
  .p-shopResult__group+.p-shopResult__group {
    margin-top: 40px
  }
}

.p-shopResult__area {
  background-color: #2d2622;
  color: #fff;
  font-size: 1.34rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.6;
  margin-bottom: 20px;
  padding: 8px 20px;
  text-align: center
}

.p-shopResult__body {
  margin-top: 0
}

.p-shopResult__item {
  margin-top: 0;
  padding-left: 0
}

.p-shopResult__item:before {
  content: none
}

.p-shopResult__item+.p-shopResult__item {
  margin-top: 20px
}

.p-shopCard {
  background-color: #fff
}

@media print,
screen and (min-width:961px) {
  .p-shopCard {
    -ms-grid-columns: 56.3953488372% 4.0697674419% 39.5348837209%;
    -ms-grid-rows: -webkit-max-content -webkit-max-content auto -webkit-max-content -webkit-max-content;
    -ms-grid-rows: max-content max-content auto max-content max-content;
    -webkit-column-gap: 4.0697674419%;
    -moz-column-gap: 4.0697674419%;
    column-gap: 4.0697674419%;
    display: -ms-grid;
    display: grid;
    grid-template-areas: "ttl ttl""services img""info img""products products""other other";
    grid-template-columns: 56.3953488372% 39.5348837209%;
    grid-template-rows: -webkit-max-content -webkit-max-content auto -webkit-max-content -webkit-max-content;
    grid-template-rows: max-content max-content auto max-content max-content;
    padding: 67px 70px 63px
  }

  .p-shopCard>.p-topNewsSection__ttl {
    -ms-grid-column-span: 3;
    -ms-grid-column: 1;
    -ms-grid-row: 1
  }
}

@media screen and (max-width:960px) {
  .p-shopCard {
    padding: 22px 20px 20px
  }
}

@media print,
screen and (min-width:961px) {
  .p-shopCard--event {
    -ms-grid-columns: 56.3953488372% 4.0697674419% 39.5348837209%;
    -ms-grid-rows: -webkit-max-content -webkit-max-content -webkit-max-content auto -webkit-max-content -webkit-max-content;
    -ms-grid-rows: max-content max-content max-content auto max-content max-content;
    -webkit-column-gap: 4.0697674419%;
    -moz-column-gap: 4.0697674419%;
    column-gap: 4.0697674419%;
    grid-template-areas: "eventInfo eventInfo""ttl img""services img""info img""products products""other other";
    grid-template-columns: 56.3953488372% 39.5348837209%;
    grid-template-rows: -webkit-max-content -webkit-max-content -webkit-max-content auto -webkit-max-content -webkit-max-content;
    grid-template-rows: max-content max-content max-content auto max-content max-content
  }

  .p-shopCard--event>.p-topNewsSection__ttl {
    -ms-grid-column-span: 1;
    -ms-grid-column: 1;
    -ms-grid-row: 2
  }
}

.p-shopCard__eventInfo {
  grid-area: eventInfo;
  margin-bottom: 26px
}

@media print,
screen and (min-width:961px) {
  .p-shopCard__eventInfo {
    align-items: center;
    display: flex
  }
}

@media screen and (max-width:960px) {
  .p-shopCard__eventInfo {
    margin-bottom: 15px
  }
}

@media print,
screen and (min-width:961px) {
  .p-shopCard__eventInfo:before {
    background-color: #005bac;
    content: "";
    display: block;
    flex-grow: 1;
    height: 1px;
    margin-left: 8px;
    margin-right: 13px;
    margin-top: -2px;
    order: 2
  }
}

.p-shopCard__eventInfo__date {
  color: #005bac;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 2;
  margin-top: 0;
  order: 1
}

.p-shopCard__eventInfo__labels {
  display: flex;
  margin-top: -2px;
  order: 3
}

@media screen and (max-width:960px) {
  .p-shopCard__eventInfo__labels {
    margin-top: 5px
  }
}

.p-shopCard__eventInfo__labels__item {
  border: 1px solid #005bac;
  border-radius: 2px;
  color: #005bac;
  font-size: .87rem;
  letter-spacing: .06em;
  line-height: 1;
  margin-top: 0;
  padding: 4px 8px 5px;
  text-align: center;
  width: 160px
}

@media screen and (max-width:960px) {
  .p-shopCard__eventInfo__labels__item {
    max-width: 160px;
    width: auto
  }
}

.p-shopCard__eventInfo__labels__item:before {
  content: none
}

.p-shopCard__eventInfo__labels__item+.p-shopCard__eventInfo__labels__item {
  margin-left: 8px
}

@media screen and (max-width:960px) {
  .p-shopCard__eventInfo__labels__item+.p-shopCard__eventInfo__labels__item {
    flex-grow: 1
  }
}

.p-shopCard__ttl {
  grid-area: ttl;
  margin-bottom: 36px
}

@media print,
screen and (min-width:961px) {
  .p-shopCard__ttl {
    align-items: center;
    display: flex
  }
}

@media screen and (max-width:960px) {
  .p-shopCard__ttl {
    margin-bottom: 25px
  }
}

.p-shopCard__ttl__text {
  font-size: 1.34rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.4;
  position: relative
}

@media screen and (max-width:960px) {
  .p-shopCard__ttl__text {
    padding-left: 30px
  }
}

.p-shopCard__ttl__text:before {
  background-image: url(images/icon_ishiyaStar.svg?v17983b1476f);
  background-size: cover;
  content: "";
  display: block;
  height: 20px;
  left: -30px;
  position: absolute;
  top: 4px;
  width: 20px
}

@media screen and (max-width:960px) {
  .p-shopCard__ttl__text:before {
    left: 0
  }
}

.p-shopCard__ttl__labels {
  align-items: center;
  display: flex;
  margin-left: 21px;
  margin-top: -6px
}

@media screen and (max-width:960px) {
  .p-shopCard__ttl__labels {
    margin-left: 0;
    margin-top: 7px
  }
}

.p-shopCard__ttl__labels__item {
  border: 1px solid #005bac;
  border-radius: 2px;
  color: #005bac;
  font-size: .87rem;
  letter-spacing: .06em;
  line-height: 1.31;
  margin-right: 8px;
  margin-top: 8px;
  min-width: 108px;
  padding: 2px 8px 3px;
  text-align: center
}

.p-shopCard__ttl__labels__item:last-child {
  margin-right: 0
}

.p-shopCard__ttl__labels__item:before {
  content: none
}

.p-shopCard__ttl__labels__item--outOfHokkaido {
  border-color: #be9a60;
  color: #be9a60
}

.p-shopCard__img {
  grid-area: img;
  margin-bottom: 32px;
  margin-top: 0;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-shopCard__img {
    margin-bottom: 20px
  }
}

.p-shopCard__img img {
  width: 100%
}

.p-shopCard__services {
  grid-area: services;
  margin-bottom: 35px;
  padding-top: 3px
}

@media screen and (max-width:960px) {
  .p-shopCard__services {
    margin-bottom: 25px
  }
}

.p-shopCard--event .p-shopCard__services {
  margin-bottom: 27px
}

@media screen and (max-width:960px) {
  .p-shopCard--event .p-shopCard__services {
    margin-bottom: 25px
  }
}

.p-shopCard__info {
  grid-area: info;
  margin-bottom: 32px
}

@media screen and (max-width:960px) {
  .p-shopCard__info {
    margin-bottom: 25px
  }
}

.p-shopCard__products {
  grid-area: products
}

.p-shopCard__other {
  grid-area: other;
  margin-top: 33px
}

@media print,
screen and (min-width:961px) {
  .p-topNewsSection__ttl {
    -ms-grid-column: 1;
    -ms-grid-row: 1
  }

  .p-topNewsSection__body {
    -ms-grid-row-span: 2;
    -ms-grid-column: 3;
    -ms-grid-row: 1
  }

  .p-topNewsSection__more {
    -ms-grid-column: 1;
    -ms-grid-row: 2
  }

  .p-shopCard__eventInfo {
    -ms-grid-column-span: 3;
    -ms-grid-column: 1;
    -ms-grid-row: 1
  }

  .p-shopCard__ttl {
    -ms-grid-column: 1;
    -ms-grid-row: 1
  }

  .p-shopCard>.p-shopCard__ttl {
    -ms-grid-column-span: 3;
    -ms-grid-column: 1;
    -ms-grid-row: 1
  }

  .p-shopCard--event>.p-shopCard__ttl {
    -ms-grid-column-span: 1;
    -ms-grid-column: 1;
    -ms-grid-row: 2
  }

  .p-shopCard__img {
    -ms-grid-row-span: 2;
    -ms-grid-column: 3;
    -ms-grid-row: 2
  }

  .p-shopCard--event>.p-shopCard__img {
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
    -ms-grid-row: 2
  }

  .p-shopCard__services {
    -ms-grid-column: 1;
    -ms-grid-row: 2
  }

  .p-shopCard--event>.p-shopCard__services {
    -ms-grid-column: 1;
    -ms-grid-row: 3
  }

  .p-shopCard__info {
    -ms-grid-column: 1;
    -ms-grid-row: 3
  }

  .p-shopCard--event>.p-shopCard__info {
    -ms-grid-column: 1;
    -ms-grid-row: 4
  }

  .p-shopCard__products {
    -ms-grid-column-span: 3;
    -ms-grid-column: 1;
    -ms-grid-row: 4
  }

  .p-shopCard--event>.p-shopCard__products {
    -ms-grid-column-span: 3;
    -ms-grid-column: 1;
    -ms-grid-row: 5
  }

  .p-shopCard__other {
    -ms-grid-column-span: 3;
    -ms-grid-column: 1;
    -ms-grid-row: 5
  }

  .p-shopCard--event>.p-shopCard__other {
    -ms-grid-column-span: 3;
    -ms-grid-column: 1;
    -ms-grid-row: 6
  }
}

@media screen and (max-width:960px) {
  .p-shopCard__other {
    margin-top: 25px
  }
}

.p-shopServices__list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin-left: -5px;
  margin-right: -5px;
  margin-top: -10px
}

.p-shopServices__item {
  margin-top: 10px;
  padding-left: 5px;
  padding-right: 5px;
  width: 50%
}

@media screen and (max-width:600px) {
  .p-shopServices__item {
    width: 100%
  }
}

.p-shopServices__item:before {
  content: none
}

.p-shopServices__label {
  background-color: #005bac;
  border-radius: 15px;
  color: #fff;
  display: block;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.34;
  padding-bottom: 6px;
  padding-left: 26px;
  padding-top: 4px;
  position: relative;
  text-align: center
}

.p-shopServices__label:before {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  align-items: center;
  background-color: #fff;
  border: 1px solid #005bac;
  border-radius: 50%;
  bottom: 0;
  color: #005bac;
  content: "";
  display: flex;
  font-family: icomoon !important;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 36px;
  justify-content: center;
  left: 0;
  line-height: 1;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  text-indent: 0;
  text-transform: none;
  top: 0;
  width: 36px
}

.p-shopServices__label--softcream:before {
  content: "";
  font-size: 25px;
  padding-left: 4px
}

.p-shopServices__label--sweets:before {
  content: "";
  font-size: 18px;
  padding-left: 2px
}

.p-shopServices__label--cafe:before {
  content: "";
  font-size: 15px;
  padding-left: 4px
}

.p-shopServices__label--one:before {
  content: "";
  font-size: 20px;
  padding-left: 2px
}

.p-shopServices__label--goods:before {
  content: "";
  font-size: 20px;
  padding-left: 2px
}

.p-shopServices__label--original:before {
  content: "";
  font-size: 20px;
  padding-left: 2px
}

.p-shopInfo {
  display: table
}

.p-shopInfo__item {
  display: table-row
}

.p-shopInfo__desc,
.p-shopInfo__label {
  display: table-cell;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.67;
  padding-bottom: 3px;
  padding-top: 2px
}

.p-shopInfo__label {
  font-weight: 700;
  padding-right: 16px;
  white-space: nowrap
}

.p-shopInfo__desc {
  display: table-cell
}

.p-shopInfo__desc span {
  display: inline-block
}

.p-shopInfo--search .p-shopInfo__desc {
  white-space: pre-wrap
}

.p-shopProducts {
  background-color: #fff4d5;
  background-image: url(images/bg_pattern_yellow.png?v179780dab94);
  background-position: top;
  background-size: 50px;
  padding: 25px 24px 18px;
  position: relative
}

@media screen and (max-width:960px) {
  .p-shopProducts {
    padding: 64px 20px 18px
  }
}

*+.p-shopProducts {
  margin-top: 30px
}

.p-shopProducts+.p-shopProducts {
  margin-top: 9px
}

.p-shopProducts__label {
  color: #005bac;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 2;
  margin-bottom: 7px;
  padding-left: 99px
}

@media screen and (max-width:960px) {
  .p-shopProducts__label {
    padding-left: 0
  }
}

.p-shopProducts__label:before {
  background-image: url(images/icon_shopProducts_logo.png?v17aebad37e9);
  background-size: cover;
  content: "";
  height: 50px;
  left: 24px;
  position: absolute;
  top: 0;
  width: 80px
}

.p-shopProducts__label--outOfHokkaido {
  color: #be9a60
}

.p-shopProducts__label--outOfHokkaido:before {
  background-image: url(images/icon_shopProducts_logo_outOfHokkaido.png?v17aebad4569)
}

.p-shopProducts__desc {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  white-space: pre-wrap
}

.p-otherInfo__label {
  align-items: center;
  color: #005bac;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.87;
  margin-bottom: 6px;
  position: relative
}

.p-otherInfo__label:after {
  background-color: #2d2622;
  content: "";
  display: block;
  flex-grow: 1;
  height: 1px;
  margin-left: 12px;
  margin-top: -2px
}

.p-otherInfo__desc {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2
}

*+.p-banners {
  margin-top: 84px
}

@media screen and (max-width:960px) {
  *+.p-banners {
    margin-top: 60px
  }
}

.p-banners__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
  margin-top: -20px
}

.p-banners__item {
  margin-top: 20px;
  padding-left: 10px;
  padding-right: 10px;
  width: 33.33%
}

@media screen and (max-width:960px) {
  .p-banners__item {
    width: 50%
  }
}

@media screen and (max-width:600px) {
  .p-banners__item {
    width: 100%
  }
}

.p-banners__item:before {
  content: none
}

.p-bannerCard {
  display: block;
  position: relative;
  text-decoration: none
}

.p-bannerCard:hover {
  opacity: 1;
  text-decoration: none
}

.p-bannerCard:after {
  content: none !important
}

.p-bannerCard__img {
  margin-top: 0;
  overflow: hidden;
  padding-top: 75%;
  position: relative;
  z-index: 1
}

.p-bannerCard__img img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1), -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%
}

@media print,
screen and (min-width:961px) {
  .p-bannerCard:hover .p-bannerCard__img img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }
}

.p-bannerCard__text {
  background-color: #2d2622;
  color: #fff;
  margin-top: 0;
  padding-bottom: 15px;
  padding-top: 17px;
  position: relative;
  z-index: 2
}

.p-bannerCard__text__sub {
  font-size: 1rem;
  line-height: 1.87;
  margin-bottom: 2px
}

.p-bannerCard__text__main,
.p-bannerCard__text__sub {
  display: block;
  font-weight: 700;
  letter-spacing: .1em;
  text-align: center
}

.p-bannerCard__text__main {
  font-size: 1.34rem;
  line-height: 1.4;
  padding-left: 55px;
  padding-right: 55px;
  position: relative
}

.p-bannerCard__text__main:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  bottom: 0;
  content: "";
  display: block;
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 10px;
  line-height: 1;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  right: 16px;
  text-indent: 0;
  text-transform: none;
  top: 2px
}

.p-bannerCard:hover .p-bannerCard__text__main:after {
  -webkit-animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: animArrow .5s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

.p-shopDetailHead {
  background-color: #fff;
  margin-left: calc(500px - 50vw);
  margin-right: calc(500px - 50vw);
  padding-bottom: 63px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative
}

@media screen and (max-width:1040px) {
  .p-shopDetailHead {
    margin-left: -20px;
    margin-right: -20px
  }
}

@media screen and (max-width:960px) {
  .p-shopDetailHead {
    padding-bottom: 36px
  }

  .p-shopDetailHead--current {
    padding-bottom: 56px
  }
}

.l-main__body>.p-shopDetailHead:first-child {
  margin-top: -100px
}

@media screen and (max-width:960px) {
  .l-main__body>.p-shopDetailHead:first-child {
    margin-top: -60px
  }
}

.p-shopDetailHead__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px
}

.p-shopDetailHead__ttl {
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2.14rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.32;
  overflow: hidden;
  padding-top: 92px;
  position: relative;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-shopDetailHead__ttl {
    font-size: 1.8rem;
    letter-spacing: .1em;
    line-height: 1.56;
    padding-top: 78px
  }
}

.p-shopDetailHead__ttl:after,
.p-shopDetailHead__ttl:before {
  border-radius: 50%;
  content: "";
  display: block;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0
}

.p-shopDetailHead__ttl:before {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  align-items: flex-end;
  background-color: #005bac;
  color: #fff;
  display: flex;
  font-family: icomoon !important;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 140px;
  justify-content: center;
  line-height: 1;
  text-indent: 0;
  text-transform: none;
  top: -70px;
  width: 140px
}

@media screen and (max-width:960px) {
  .p-shopDetailHead__ttl:before {
    height: 120px;
    top: -60px;
    width: 120px
  }
}

.p-shopDetailHead__ttl:after {
  border: 1px solid #fff;
  height: 130px;
  top: -65px;
  width: 130px
}

@media screen and (max-width:960px) {
  .p-shopDetailHead__ttl:after {
    height: 110px;
    top: -55px;
    width: 110px
  }
}

.p-shopDetailHead__ttl--air-port:before {
  content: "";
  font-size: 31px;
  padding-bottom: 25px;
  padding-left: 4px
}

@media screen and (max-width:960px) {
  .p-shopDetailHead__ttl--air-port:before {
    font-size: 24px;
    padding-bottom: 22px
  }
}

.p-shopDetailHead__ttl--event:before {
  content: "";
  font-size: 40px;
  padding-bottom: 19px;
  padding-left: 4px
}

@media screen and (max-width:960px) {
  .p-shopDetailHead__ttl--event:before {
    font-size: 30px;
    padding-bottom: 22px
  }
}

.p-shopDetailHead__ttl--current:before {
  content: "";
  font-size: 35px;
  padding-bottom: 23px;
  padding-left: 4px
}

@media screen and (max-width:960px) {
  .p-shopDetailHead__ttl--current:before {
    font-size: 28px;
    padding-bottom: 22px
  }
}

.p-shopDetailHead__desc {
  margin-top: 32px;
  text-align: center
}

.p-shopDetailHead__btn {
  bottom: -30px;
  display: flex;
  justify-content: center;
  left: 0;
  position: absolute;
  width: 100%
}

.p-shopDetailHead__btn .c-button {
  max-width: 340px
}

.p-shopAreaBtns__list {
  display: flex;
  margin-left: -1px
}

@media screen and (max-width:960px) {
  .p-shopAreaBtns__list {
    flex-wrap: wrap
  }
}

.p-shopAreaBtns--anchor .p-shopAreaBtns__list {
  margin-right: -1px
}

.p-shopAreaBtns__item {
  display: flex;
  margin-top: 0;
  padding-left: 1px;
  width: 100%
}

@media screen and (max-width:960px) {
  .p-shopAreaBtns__item {
    width: 50%
  }
}

.p-shopAreaBtns--anchor .p-shopAreaBtns__item {
  padding-right: 1px
}

.p-shopAreaBtns__item:before {
  content: none
}

.p-shopAreaBtns__btn {
  align-items: center;
  background-color: #fff;
  border-bottom: 2px solid #2d2622;
  color: #2d2622;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 2;
  padding: 9px 10px 7px;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1), color .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%;
  z-index: 1
}

.p-shopAreaBtns__btn:before {
  background-color: #2d2622;
  bottom: 0;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: bottom left;
  transform-origin: bottom left;
  transition: -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1), -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%;
  z-index: -1
}

.p-shopAreaBtns__btn:visited {
  color: #2d2622
}

.p-shopAreaBtns__btn:hover {
  opacity: 1;
  text-decoration: none
}

.p-shopAreaBtns__btn.is-active,
.p-shopAreaBtns__btn:hover {
  color: #fff
}

.p-shopAreaBtns__btn.is-active:before,
.p-shopAreaBtns__btn:hover:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1)
}

.p-shopAreaBtns--anchor .p-shopAreaBtns__btn {
  padding: 15px 20px 13px
}

.p-shopAreaBtns--anchor .p-shopAreaBtns__btn:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "";
  font-family: icomoon !important;
  font-size: 10px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  margin-left: 8px;
  margin-right: -34px;
  margin-top: -2px;
  text-indent: 0;
  text-transform: none;
  -webkit-transform: scale(.6, -.6);
  transform: scale(.6, -.6)
}

.p-shopAreaBtns--anchor .p-shopAreaBtns__btn:hover:after {
  -webkit-animation: anchorArrow .6s cubic-bezier(.39, .575, .565, 1) 0s 1 normal;
  animation: anchorArrow .6s cubic-bezier(.39, .575, .565, 1) 0s 1 normal
}

@-webkit-keyframes anchorArrow {

  0%,
  to {
    -webkit-transform: scale(.6, -.6) translateZ(0);
    transform: scale(.6, -.6) translateZ(0)
  }

  50% {
    -webkit-transform: scale(.6, -.6) translate3d(0, -40%, 0);
    transform: scale(.6, -.6) translate3d(0, -40%, 0)
  }
}

@keyframes anchorArrow {

  0%,
  to {
    -webkit-transform: scale(.6, -.6) translateZ(0);
    transform: scale(.6, -.6) translateZ(0)
  }

  50% {
    -webkit-transform: scale(.6, -.6) translate3d(0, -40%, 0);
    transform: scale(.6, -.6) translate3d(0, -40%, 0)
  }
}

.p-shopAirport__ttl {
  position: relative
}

.p-shopAirport__ttl:after,
.p-shopAirport__ttl:before {
  background-color: #2d2622;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  right: 20px;
  top: 0;
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1), -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1), transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1), transform .3s cubic-bezier(.39, .575, .565, 1), -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  width: 25px;
  z-index: 2
}

@media screen and (max-width:960px) {

  .p-shopAirport__ttl:after,
  .p-shopAirport__ttl:before {
    width: 23px
  }
}

.p-shopAirport__ttl:after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg)
}

.p-shopAirport__ttl.is-open:after,
.p-shopAirport__ttl.is-open:before {
  background-color: #fff
}

.p-shopAirport__ttl.is-open:after {
  -webkit-transform: rotate(0);
  transform: rotate(0)
}

.p-shopAirport__ttl__toggle {
  background-color: #fff;
  display: block;
  font-size: 1.34rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.4;
  padding: 10px 55px 10px 49px;
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1), color .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%
}

.p-shopAirport__ttl__toggle:before {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #005bac;
  content: "";
  display: inline-block;
  font-family: icomoon !important;
  font-size: 20px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  height: 20px;
  line-height: 1;
  margin-left: -29px;
  margin-right: 7px;
  margin-top: -6px;
  text-indent: 0;
  text-transform: none;
  transition: color .3s cubic-bezier(.39, .575, .565, 1);
  vertical-align: middle;
  width: 22px
}

.p-shopAirport__ttl.is-open .p-shopAirport__ttl__toggle {
  background-color: #005bac;
  color: #fff
}

.p-shopAirport__ttl.is-open .p-shopAirport__ttl__toggle:before {
  color: #fff
}

.p-shopAirport__body {
  background-color: #fff;
  display: none;
  padding: 31px 30px 33px 22px
}

@media print,
screen and (min-width:961px) {
  .p-shopAirport__item {
    display: flex
  }
}

.p-shopAirport__item+.p-shopAirport__item {
  margin-top: 10px
}

@media screen and (max-width:960px) {
  .p-shopAirport__item+.p-shopAirport__item {
    margin-top: 30px
  }
}

.p-shopAirport__name {
  flex-grow: 1;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2
}

@media screen and (max-width:960px) {
  .p-shopAirport__name {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2
  }
}

.p-shopAirport__tel {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  margin-left: 23px
}

@media screen and (max-width:960px) {
  .p-shopAirport__tel {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2;
    margin-left: 0;
    margin-top: 10px
  }
}

.p-shopAirport__links {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-left: 23px;
  width: 120px
}

@media screen and (max-width:960px) {
  .p-shopAirport__links {
    margin-left: 0;
    margin-top: 15px;
    width: 100%
  }
}

.p-shopAirport__btn {
  align-items: center;
  background-color: #005bac;
  border: 1px solid #005bac;
  border-radius: 15px;
  color: #fff;
  display: inline-flex;
  font-size: 1rem;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 1;
  min-width: 120px;
  padding: 6px 5px 7px;
  text-align: center;
  text-decoration: none;
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1), color .3s cubic-bezier(.39, .575, .565, 1)
}

@media screen and (max-width:960px) {
  .p-shopAirport__btn {
    max-width: 240px;
    min-width: none;
    width: calc(50% - 2px)
  }
}

.p-shopAirport__btn:visited {
  color: #fff
}

.p-shopAirport__btn:hover {
  background-color: #fff;
  color: #005bac;
  opacity: 1;
  text-decoration: none
}

.p-shopAirport__btn--facility {
  background-color: #fff;
  color: #005bac
}

.p-shopAirport__btn--facility:visited {
  color: #005bac
}

.p-shopAirport__btn--facility:hover {
  background-color: #005bac;
  color: #fff
}

.p-shopAirport__btn+.p-shopAirport__btn {
  margin-left: 4px
}

.p-shopSearchCard {
  background-color: #fff
}

@media print,
screen and (min-width:961px) {
  .p-shopSearchCard {
    -ms-grid-columns: 40px 63px calc(100% - 243px) 20px 120px;
    -ms-grid-rows: -webkit-max-content auto;
    -ms-grid-rows: max-content auto;
    display: -ms-grid;
    display: grid;
    grid-template-areas: "resultType space1 resultTtl space2 resultLinks""resultType space1 resultInfo space2 resultLinks";
    grid-template-columns: 40px 63px calc(100% - 243px) 20px 120px;
    grid-template-rows: -webkit-max-content auto;
    grid-template-rows: max-content auto;
    padding-bottom: 31px;
    padding-right: 40px;
    padding-top: 36px
  }
}

@media screen and (max-width:960px) {
  .p-shopSearchCard {
    padding-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px
  }
}

.p-shopSearchCard__type {
  background-color: #2d2622;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  grid-area: resultType;
  letter-spacing: .1em;
  line-height: 1;
  text-align: center
}

@media print,
screen and (min-width:961px) {
  .p-shopSearchCard__type {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-bottom: -31px;
    margin-top: -36px;
    padding-bottom: 20px;
    padding-top: 20px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
  }
}

@media screen and (max-width:960px) {
  .p-shopSearchCard__type {
    font-size: 1.2rem;
    letter-spacing: .1em;
    line-height: 1.67;
    margin-bottom: 20px;
    margin-left: -20px;
    margin-right: -20px;
    padding: 4px 20px 6px
  }
}

.p-shopSearchCard__ttl {
  grid-area: resultTtl
}

@media print,
screen and (min-width:961px) {
  .p-shopSearchCard__ttl {
    align-items: flex-start;
    display: flex;
    position: relative
  }
}

@media print,
screen and (min-width:961px) {
  .p-shopSearchCard__ttl:before {
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #005bac;
    content: "";
    display: block;
    font-family: icomoon !important;
    font-size: 20px;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    height: 20px;
    left: -33px;
    line-height: 1;
    position: absolute;
    text-indent: 0;
    text-transform: none;
    top: 6px;
    width: 20px
  }
}

.p-shopSearchCard__ttl__labels {
  display: flex;
  flex-wrap: wrap;
  margin-right: 12px;
  margin-top: 4px;
  min-width: 100px
}

@media screen and (max-width:960px) {
  .p-shopSearchCard__ttl__labels {
    margin-bottom: 8px;
    margin-right: 0;
    margin-top: 0
  }
}

.p-shopSearchCard__ttl__labels__item {
  border: 1px solid #005bac;
  border-radius: 2px;
  color: #005bac;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.2;
  margin-top: 0;
  min-width: 100px;
  padding: 2px;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-shopSearchCard__ttl__labels__item {
    font-size: .87rem;
    letter-spacing: .1em;
    line-height: 1.24
  }
}

.p-shopSearchCard__ttl__labels__item:before {
  content: none
}

.p-shopSearchCard__ttl__text {
  font-size: 1.34rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.4;
  margin-top: 0;
  position: relative
}

@media screen and (max-width:960px) {
  .p-shopSearchCard__ttl__text {
    padding-left: 30px
  }
}

@media screen and (max-width:960px) {
  .p-shopSearchCard__ttl__text:before {
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #005bac;
    content: "";
    display: block;
    font-family: icomoon !important;
    font-size: 20px;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    height: 20px;
    left: 0;
    line-height: 1;
    position: absolute;
    text-indent: 0;
    text-transform: none;
    top: 4px;
    width: 20px
  }
}

.p-shopSearchCard__info {
  grid-area: resultInfo;
  margin-top: 8px
}

.p-shopSearchCard__links {
  grid-area: resultLinks
}

@media print,
screen and (min-width:961px) {
  .p-shopSearchCard__type {
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
    -ms-grid-row: 1
  }

  .p-shopSearchCard__ttl {
    -ms-grid-column: 3;
    -ms-grid-row: 1
  }

  .p-shopSearchCard__info {
    -ms-grid-column: 3;
    -ms-grid-row: 2
  }

  .p-shopSearchCard__links {
    -ms-grid-row-span: 2;
    -ms-grid-column: 5;
    -ms-grid-row: 1;
    padding-top: 10px
  }
}

@media screen and (max-width:960px) {
  .p-shopSearchCard__links {
    margin-top: 15px
  }

  .p-shopSearchCard__links__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-left: -5px;
    margin-right: -5px;
    margin-top: -10px
  }
}

.p-shopSearchCard__links__item {
  margin-top: 0;
  padding-left: 0
}

@media screen and (max-width:960px) {
  .p-shopSearchCard__links__item {
    margin-top: 10px;
    min-width: 130px;
    padding-left: 5px;
    padding-right: 5px
  }
}

.p-shopSearchCard__links__item:before {
  content: none
}

.p-shopSearchCard__links__item+.p-shopSearchCard__links__item {
  margin-top: 10px
}

.p-shopSearchCard__links__btn {
  align-items: center;
  background-color: #005bac;
  border: 1px solid #005bac;
  border-radius: 15px;
  color: #fff;
  display: flex;
  font-size: 1rem;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 1;
  padding: 6px 5px 7px;
  text-align: center;
  text-decoration: none;
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1), color .3s cubic-bezier(.39, .575, .565, 1);
  width: 100%
}

.p-shopSearchCard__links__btn:visited {
  color: #fff
}

.p-shopSearchCard__links__btn:hover {
  background-color: #fff;
  color: #005bac;
  opacity: 1;
  text-decoration: none
}

.p-shopSearchCard__links__btn:after {
  content: none !important
}

.p-shopSearchCard__links__btn--map {
  background-color: #fff;
  color: #005bac
}

.p-shopSearchCard__links__btn--map:visited {
  color: #005bac
}

.p-shopSearchCard__links__btn--map:hover {
  background-color: #005bac;
  color: #fff
}

*+.p-newsList {
  margin-top: 44px
}

@media screen and (max-width:960px) {
  *+.p-newsList {
    margin-top: 32px
  }
}

.p-newsList__tabs {
  margin-bottom: 51px
}

@media screen and (max-width:960px) {
  .p-newsList__tabs {
    margin-bottom: 30px
  }
}

.p-newsList__pager {
  margin-left: auto;
  margin-right: auto;
  max-width: 680px
}

*+.p-newsList__pager {
  margin-top: 70px
}

@media screen and (max-width:960px) {
  *+.p-newsList__pager {
    margin-top: 40px
  }
}

.p-newsTabs__list {
  display: flex;
  margin-left: -10px;
  margin-right: -10px
}

@media screen and (max-width:960px) {
  .p-newsTabs__list {
    margin-left: -5px;
    margin-right: -5px
  }
}

.p-newsTabs__item {
  display: flex;
  margin-top: 0;
  padding-left: 10px;
  padding-right: 10px
}

@media print,
screen and (min-width:961px) {
  .p-newsTabs__item {
    flex-basis: 21.568627451%;
    flex-grow: 1;
    transition: flex-basis .3s cubic-bezier(.39, .575, .565, 1)
  }
}

@media screen and (max-width:960px) {
  .p-newsTabs__item {
    padding-left: 5px;
    padding-right: 5px;
    width: 25%
  }
}

@media print,
screen and (min-width:961px) {
  .p-newsTabs__item.is-active {
    flex-basis: 35.2941176471%
  }
}

.p-newsTabs__item:before {
  content: none
}

.p-newsTabs__btn {
  align-items: center;
  border-bottom: 1px solid #2d2622;
  color: #2d2622;
  display: flex;
  font-size: 1rem;
  justify-content: center;
  letter-spacing: .1em;
  line-height: 2;
  padding-bottom: 16px;
  padding-top: 14px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%
}

@media screen and (max-width:960px) {
  .p-newsTabs__btn {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2
  }
}

.p-newsTabs__btn:visited {
  color: #2d2622
}

.p-newsTabs__btn:hover {
  color: #2d2622;
  opacity: 1;
  text-decoration: none
}

.p-newsTabs__item.is-active .p-newsTabs__btn {
  border-bottom-color: #005bac;
  color: #005bac;
  font-weight: 700
}

.p-newsTabs__btn:after {
  background-color: #005bac;
  bottom: -2px;
  content: "";
  display: block;
  height: 3px;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  opacity: 0;
  position: absolute;
  right: 0;
  width: 60px
}

@media screen and (max-width:960px) {
  .p-newsTabs__btn:after {
    max-width: calc(100% - 40px);
    width: 40px
  }
}

.p-newsTabs__item.is-active .p-newsTabs__btn:after {
  opacity: 1
}

.p-newsItems__item {
  background-color: #fff;
  display: flex;
  margin-top: 0;
  padding-left: 0
}

.p-newsItems__item:before {
  content: none
}

.p-newsItems__item+.p-newsItems__item {
  margin-top: 2px
}

.p-newsItem {
  align-items: center;
  display: flex;
  min-height: 100px;
  padding: 25px 40px 27px;
  width: 100%
}

@media screen and (max-width:960px) {
  .p-newsItem {
    flex-wrap: wrap;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px
  }
}

.p-newsItem__info {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-width: 182px;
  width: 182px
}

.p-newsItem--noLabel .p-newsItem__info {
  min-width: 100px;
  width: 100px
}

@media screen and (max-width:960px) {
  .p-newsItem__info {
    justify-content: flex-start;
    margin-bottom: 15px;
    min-width: 0;
    width: 100%
  }
}

.p-newsItem__date {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 1.07rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1;
  margin-top: -6px;
  white-space: nowrap
}

@media screen and (max-width:960px) {
  .p-newsItem__date {
    font-size: 1.07rem;
    letter-spacing: .1em;
    line-height: 1;
    margin-top: -4px
  }
}

.p-newsItem__label {
  background-color: #005bac;
  color: #fff;
  display: block;
  font-size: .8rem;
  letter-spacing: .1em;
  line-height: 1;
  margin-top: 2px;
  min-width: 80px;
  padding: 3px 5px 5px;
  text-align: center;
  white-space: nowrap;
  width: 80px
}

@media screen and (max-width:960px) {
  .p-newsItem__label {
    font-size: .8rem;
    letter-spacing: .1em;
    line-height: 1;
    margin-left: 20px
  }
}

.p-newsItem__ttl {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.6;
  margin-left: 20px;
  margin-top: 0
}

@media screen and (max-width:960px) {
  .p-newsItem__ttl {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 1.6;
    margin-left: 0;
    width: 100%
  }
}

.p-newsItem__ttl a {
  color: #2d2622;
  text-decoration: none
}

.p-newsItem__ttl a:visited {
  color: #2d2622
}

.p-newsItem__ttl a:hover {
  color: #2d2622;
  opacity: 1;
  text-decoration: underline
}

.p-productInfo {
  border: 1px solid #005bac
}

*+.p-productInfo {
  margin-top: 53px
}

@media screen and (max-width:960px) {
  *+.p-productInfo {
    margin-top: 30px
  }
}

.p-productInfo__ttl {
  background-color: #005bac;
  color: #fff;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  margin-bottom: 0;
  padding-bottom: 6px;
  padding-top: 3px;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-productInfo__ttl {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 2
  }
}

.p-productInfo__list {
  background-color: #fff;
  padding: 33px 39px 34px
}

@media screen and (max-width:960px) {
  .p-productInfo__list {
    padding: 23px 19px 24px
  }
}

.p-productInfo__label {
  color: #005bac;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.74
}

@media screen and (max-width:960px) {
  .p-productInfo__label {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 1.74
  }
}

*+.p-productInfo__label {
  margin-top: 11px
}

.p-productInfo__desc {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.74
}

@media screen and (max-width:960px) {
  .p-productInfo__desc {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 1.74
  }
}

.p-faqList__item {
  margin-top: 0;
  padding-left: 0
}

.p-faqList__item:before {
  content: none
}

.p-faqList__item+.p-faqList__item {
  margin-top: 10px
}

.p-faqItem__question {
  background-color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 2;
  padding: 18px 60px 16px 69px;
  position: relative
}

@media screen and (max-width:960px) {
  .p-faqItem__question {
    padding: 10px 45px 8px 46px
  }
}

.p-faqItem__question:after,
.p-faqItem__question:before {
  background-color: #005bac;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  right: 20px;
  top: 0;
  width: 25px
}

@media screen and (max-width:960px) {

  .p-faqItem__question:after,
  .p-faqItem__question:before {
    right: 15px;
    width: 21px
  }
}

.p-faqItem__question:after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  transition: -webkit-transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1);
  transition: transform .3s cubic-bezier(.39, .575, .565, 1), -webkit-transform .3s cubic-bezier(.39, .575, .565, 1)
}

.p-faqItem__question.is-open:after {
  -webkit-transform: rotate(0);
  transform: rotate(0)
}

.p-faqItem.is-inited .p-faqItem__question {
  cursor: pointer;
  outline: none
}

.p-faqItem__question__body:before {
  color: #005bac;
  content: "Q";
  display: block;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2rem;
  font-weight: 400;
  left: 28px;
  letter-spacing: .1em;
  line-height: 1;
  position: absolute;
  top: 13px
}

@media screen and (max-width:960px) {
  .p-faqItem__question__body:before {
    font-size: 1.47rem;
    left: 16px;
    letter-spacing: .1em;
    line-height: 1;
    top: 12px
  }
}

.p-faqItem__answer {
  background-color: #fff;
  display: none;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  margin-top: 2px;
  text-align: justify
}

.p-faqItem__answer__inner {
  padding: 27px 38px 23px 71px;
  position: relative
}

@media screen and (max-width:960px) {
  .p-faqItem__answer__inner {
    padding: 10px 20px 8px 48px
  }
}

.p-faqItem__answer__inner:before {
  color: #be9a60;
  content: "A";
  display: block;
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2rem;
  font-weight: 400;
  left: 31px;
  letter-spacing: .1em;
  line-height: 1;
  position: absolute;
  top: 25px
}

@media screen and (max-width:960px) {
  .p-faqItem__answer__inner:before {
    font-size: 1.47rem;
    left: 18px;
    letter-spacing: .1em;
    line-height: 1;
    top: 12px
  }
}

@media print,
screen and (min-width:961px) {
  .p-contactColumn__body {
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
    margin-right: -20px
  }

  .p-contactColumn__item {
    padding-left: 20px;
    padding-right: 20px;
    width: 50%;
  }
  .p-contactColumn__item.-column1{
    width: 100%;
  }

  .p-contactColumn__item.-column1 + .p-contactColumn__item.-column1{
    margin-top: 60px;
  }
}

.p-contactColumn__item__row{
  display: flex;
  gap: 40px;
}

.p-contactColumn__item__content {
  width: 100%;
}

.p-contactColumn__item__content .c-button {
  width: calc((100% - 40px) / 2 );
  margin-top: 22px;
}

@media screen and (max-width:960px) {
  .p-contactColumn__item__row{
    flex-direction: column;
  }
  .p-contactColumn__item__content .c-button {
    width: 100%;
  }
}

.c-contactHeading3.c-contactHeading3--customer.c-text-left,
.c-contactHeading3.c-contactHeading3--business.c-text-left{
  text-align: left;
  padding-left: 50px;
}

@media screen and (max-width:960px) {
  .c-contactHeading3.c-contactHeading3--customer.c-text-left,
  .c-contactHeading3.c-contactHeading3--business.c-text-left{
    padding-left: 40px;
  }
}

.p-contactColumn__item__col{
  width: 50%;
}

@media screen and (max-width:960px) {
  .p-contactColumn__item__col{
    width: 100%;
  }
}

@media screen and (max-width:960px) {
  .p-contactColumn__item+.p-contactColumn__item {
    margin-top: 35px
  }
}

*+.p-telList {
  margin-top: 16px
}

.p-telList__group+.p-telList__group {
  margin-top: 15px
}

.p-telList__head {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 2
}

@media print,
screen and (min-width:961px) {
  .p-telItem {
    -ms-grid-columns: 1fr auto;
    -ms-grid-rows: auto auto;
    display: -ms-grid;
    display: grid;
    grid-template-areas: "label num""time time";
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto
  }
}

.p-telItem+.p-telItem {
  margin-top: 15px
}

.p-telItem__label {
  font-size: 1rem;
  grid-area: label;
  letter-spacing: .1em;
  line-height: 2
}

.p-telItem__time {
  font-size: .94rem;
  grid-area: time;
  letter-spacing: .1em;
  line-height: 2.15
}

.p-telItem__num {
  display: flex;
  align-items: center;
  color: #005bac;
  font-size: 1.34rem;
  font-weight: 700;
  grid-area: num;
  letter-spacing: .1em;
  line-height: 1.5
}

.p-telItem__num span {
  width: 40px;
  margin-right: 5px;
  line-height: 1;
}

.p-telItem__num span img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media print,
screen and (min-width:961px) {
  .p-telItem__label {
    -ms-grid-column: 1;
    -ms-grid-row: 1
  }

  .p-telItem__time {
    -ms-grid-column-span: 2;
    -ms-grid-column: 1;
    -ms-grid-row: 2
  }

  .p-telItem__num {
    -ms-grid-column: 2;
    -ms-grid-row: 1;
    margin-top: -2px
  }
}

.p-contactForm__heading {
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 2.14rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.32;
  margin-bottom: 0;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-contactForm__heading {
    font-size: 1.8rem;
    letter-spacing: .1em;
    line-height: 1.56
  }
}

.p-contactForm__heading span {
  display: inline-block
}

.p-contactForm__subHeading {
  background-color: #2d2622;
  color: #fff;
  font-size: 1.34rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.6;
  margin-bottom: 60px;
  padding: 8px 20px;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-contactForm__subHeading {
    font-size: 1.2rem;
    letter-spacing: .1em;
    line-height: 1.78;
    margin-bottom: 30px
  }
}

*+.p-contactForm__subHeading {
  margin-top: 80px
}

.p-contactForm__heading+.p-contactForm__subHeading {
  margin-top: 55px
}

@media screen and (max-width:960px) {
  .p-contactForm__heading+.p-contactForm__subHeading {
    margin-top: 35px
  }
}

.p-contactForm__completeHeading {
  color: #005bac;
  font-size: 1.34rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.5;
  margin-bottom: 47px;
  text-align: center
}

.p-contactForm__completeDesc {
  align-items: center;
  display: flex;
  flex-direction: column
}

.p-contactForm__notice {
  border-top: 1px solid #2d2622;
  margin-top: 80px;
  padding-top: 51px
}

@media screen and (max-width:960px) {
  .p-contactForm__notice {
    margin-top: 40px;
    padding-top: 30px
  }
}

.p-contactForm__privacy {
  margin-top: 31px
}

.p-contactForm__btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: -10px;
  margin-right: -10px;
  margin-top: 40px
}

@media screen and (max-width:960px) {
  .p-contactForm__btns {
    margin-top: 20px
  }
}

.p-contactForm__completeDesc+.p-contactForm__btns,
.p-contactForm__container+.p-contactForm__btns {
  margin-top: 53px
}

@media screen and (max-width:960px) {

  .p-contactForm__completeDesc+.p-contactForm__btns,
  .p-contactForm__container+.p-contactForm__btns {
    margin-top: 20px
  }
}

.p-contactForm__btns__item {
  margin-top: 20px;
  max-width: 360px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%
}

.p-formGroup {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  padding-top: 10px
}

@media screen and (max-width:960px) {
  .p-formGroup {
    padding-top: 0
  }
}

.p-formGroup+.p-formGroup {
  margin-top: 24px
}

.p-formGroup--confirm {
  padding-top: 0
}

.p-formGroup--confirm+.p-formGroup--confirm {
  margin-top: 18px
}

.p-formGroup__badge {
  border: 1px solid #2d2622;
  border-radius: 4px;
  color: #2d2622;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1;
  margin-right: 21px;
  order: 1;
  padding: 4px 5px 7px;
  text-align: center;
  width: 52px
}

@media screen and (max-width:960px) {
  .p-formGroup__badge {
    font-size: .87rem;
    letter-spacing: .1em;
    line-height: 1;
    margin-right: 16px;
    margin-top: 2px;
    padding-bottom: 5px;
    width: 45px
  }
}

.p-formGroup--required .p-formGroup__badge {
  background-color: #df5e44;
  border-color: #df5e44;
  color: #fff
}

.p-formGroup__label {
  font-size: 1.07rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.88;
  margin-left: auto;
  margin-top: -2px;
  order: 2;
  padding-right: 20px;
  width: 227px
}

@media screen and (max-width:960px) {
  .p-formGroup__label {
    width: calc(100% - 61px)
  }

  .p-formGroup--confirm .p-formGroup__label {
    width: 100%
  }
}

.p-formGroup__input {
  display: flex;
  flex-wrap: wrap;
  margin-top: -10px;
  order: 3;
  width: calc(100% - 300px)
}

@media screen and (max-width:960px) {
  .p-formGroup__input {
    margin-top: 10px;
    width: 100%
  }
}

.p-formGroup__withUnit {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  max-width: 100%
}

.p-formGroup__control,
.p-formGroup__select {
  background-color: rgba(0, 0, 0, .1);
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  min-height: 48px;
  padding: 8px 32px 8px 15px
}

@media screen and (max-width:960px) {

  .p-formGroup__control,
  .p-formGroup__select {
    min-height: 40px;
    padding-bottom: 4px;
    padding-top: 4px
  }
}

.p-formGroup--required .p-formGroup__control,
.p-formGroup--required .p-formGroup__select {
  background-color: #fcdcd6;
  border-color: #e78c7a
}

.p-formGroup__control.is-inputed,
.p-formGroup__select.is-inputed {
  background-color: #fff;
  border-color: #fff;
  color: #2d2622
}

.p-formGroup__control.is-error,
.p-formGroup__select.is-error {
  background-color: #fcdcd6;
  border-color: #e78c7a
}

.p-formGroup__control {
  min-width: 100%;
  width: 100%
}

.p-formGroup__control::-webkit-input-placeholder {
  color: rgba(45, 38, 34, .5)
}

.p-formGroup__control::-moz-placeholder {
  color: rgba(45, 38, 34, .5)
}

.p-formGroup__control:-ms-input-placeholder {
  color: rgba(45, 38, 34, .5)
}

.p-formGroup__control::placeholder {
  color: rgba(45, 38, 34, .5)
}

.p-formGroup__control[type=number] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield
}

.p-formGroup__control[type=number]::-webkit-inner-spin-button,
.p-formGroup__control[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none
}

.p-formGroup__withUnit .p-formGroup__control {
  min-width: 80px;
  width: 80px
}

.p-formGroup__unit {
  margin-left: 16px;
  margin-top: -4px
}

.p-formGroup__select {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMSIgaGVpZ2h0PSI2IiB2aWV3Qm94PSI5MzMuNSA1NDQuNSAxMSA2Ij48cGF0aCBmaWxsPSIjMmQyNjIyIiBkPSJtOTQzLjkgNTQ0LjUtNC45NTggNC41NjQtNC44MzQtNC41NjItLjYwNy44NjQgNS40MzggNS4xMzMgNS41NjItNS4xMjUtLjYwMS0uODc0eiIvPjwvc3ZnPg==");
  background-position: center right 15px;
  background-repeat: no-repeat;
  background-size: 11px 6px;
  color: rgba(45, 38, 34, .5);
  min-width: 200px
}

.p-formGroup__select--full {
  width: 100%
}

.p-formGroup__select option {
  background: #fff;
  color: #2d2622
}

.p-formGroup__checks {
  display: flex;
  flex-wrap: wrap;
  margin-left: -29px;
  padding-top: 8px
}

.p-formGroup__checks__item {
  margin-left: 29px;
  position: relative
}

.p-formGroup__checks__input {
  display: none
}

.p-formGroup__checks__text {
  cursor: pointer;
  display: block;
  padding-left: 32px;
  position: relative
}

.p-formGroup__checks__text:after,
.p-formGroup__checks__text:before {
  content: "";
  display: block;
  position: absolute
}

.p-formGroup__checks__text:before {
  border: 1px solid #2d2622;
  height: 20px;
  left: 0;
  opacity: .4;
  top: 6px;
  width: 20px
}

.p-formGroup__checks__text:after {
  opacity: 0;
  transition: opacity .1s cubic-bezier(.39, .575, .565, 1)
}

.p-formGroup__checks__input:checked+.p-formGroup__checks__text:after {
  opacity: 1
}

.p-formGroup__checks__input[type=radio]+.p-formGroup__checks__text:before {
  border-radius: 50%
}

.p-formGroup__checks__input[type=radio]+.p-formGroup__checks__text:after {
  background-color: #303030;
  border-radius: 50%;
  height: 12px;
  left: 4px;
  top: 10px;
  width: 12px
}

.p-formGroup__checks__input[type=checkbox]+.p-formGroup__checks__text:before {
  border-radius: 4px
}

.p-formGroup__checks__input[type=checkbox]+.p-formGroup__checks__text:after {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAYCAYAAADtaU2/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUEwMkE2OTREQjA5MTFFQjlDNzBCMTQ1RkQ0MjZDRDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUEwMkE2OTVEQjA5MTFFQjlDNzBCMTQ1RkQ0MjZDRDciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5QTAyQTY5MkRCMDkxMUVCOUM3MEIxNDVGRDQyNkNENyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5QTAyQTY5M0RCMDkxMUVCOUM3MEIxNDVGRDQyNkNENyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtQaiygAAAFwSURBVHjaYmSIXsMwEICJjnZlAPEeIG4AYmYWOlmaBMTToWxnIH5CDx8bAfEUNDFFWlssBMSgRMSJJPYViBcy0Tj9LAH5Dk08FYhv0dLiWiD2RBObBMTLaZmqPYC4Dk3sKBCX0jI7KUCDGNnsl0AcDsS/aGUxBzQxCSOJ/YVa+pSWBQgo2xijiVUC8UFcJZcNEPcCcTCFhUQymthaIO7BppiZQS9MG0gfg1oeBhU/SEYhAbIEuSS8CcS+QPwDV16zAGI2JDFQWVpPRiHBgVZIgELvI75MvgOIP6CJE2s5rkIiBYivEtL4FJrvPpJhOa5CYgWx1eJJIHYn0XKChQSx9TEploMKiaWECglSGgIniQh2WCEhRKiQwAewNQROQC0HJTp+NMtBQBZLIVFBahZkxNPmssBiOTYAyr+hQPyfWm2uEziCnQGtkEgm1VJiymqY5R+wyL0nVEhQ2soEWW4OxOuA+DMUb4CKXSW3YAcIMADooVPVfbCN3AAAAABJRU5ErkJggg==");
  background-size: cover;
  height: 12px;
  left: 2px;
  top: 10px;
  width: 15px
}

.p-formGroup__msg {
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 2;
  width: 100%
}

*+.p-formGroup__msg {
  margin-top: 11px
}

.p-formGroup__msg--error {
  color: #df5e44
}

.p-formGroup__confirm {
  order: 4;
  width: calc(100% - 300px)
}

@media screen and (max-width:960px) {
  .p-formGroup__confirm {
    width: 100%
  }
}

.p-privacyBox {
  background-color: #fff;
  padding: 24px 20px;
  text-align: center
}

.p-privacyBox__label {
  font-weight: 700
}

.p-privacyBox__desc,
.p-privacyBox__label {
  font-size: 1rem;
  letter-spacing: .08em;
  line-height: 2
}

.p-notfoundBox {
  padding-bottom: 100px;
  padding-top: 273px;
  position: relative
}

@media screen and (max-width:960px) {
  .p-notfoundBox {
    padding-bottom: 80px;
    padding-top: 166px
  }
}

.p-notfoundBox:after {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, .4) 0, transparent 100%);
  content: "";
  height: 238px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1
}

@media screen and (max-width:960px) {
  .p-notfoundBox:after {
    height: 126px
  }
}

.p-notfoundBox__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 440px;
  padding-left: 20px;
  padding-right: 20px
}

@media print,
screen and (min-width:961px) {

  .p-notfoundBox__inner:after,
  .p-notfoundBox__inner:before {
    background-size: cover;
    content: "";
    display: block;
    position: absolute;
    z-index: -1
  }
}

.p-notfoundBox__inner:before {
  background-image: url(images/deco_notfound01.png?v17a2d85be59);
  height: 300px;
  right: 0;
  top: 215px;
  width: 248px
}

@media print,
screen and (min-width:1003px) {
  .p-notfoundBox__inner:before {
    right: calc(50% - 501px)
  }
}

.p-notfoundBox__inner:after {
  background-image: url(images/deco_notfound02.png?v17a2d855144);
  height: 200px;
  left: 0;
  top: 368px;
  width: 287px
}

@media print,
screen and (min-width:1065px) {
  .p-notfoundBox__inner:after {
    left: calc(50% - 532px)
  }
}

.p-notfoundBox__ttl {
  align-items: center;
  color: #005bac;
  display: flex;
  flex-direction: column;
  margin-bottom: 42px;
  position: relative
}

@media screen and (max-width:960px) {
  .p-notfoundBox__ttl {
    margin-bottom: 26px
  }
}

.p-notfoundBox__ttl:after {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "";
  font-family: icomoon !important;
  font-size: 28px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  margin-top: 45px;
  text-align: center;
  text-indent: 0;
  text-transform: none
}

@media screen and (max-width:960px) {
  .p-notfoundBox__ttl:after {
    font-size: 24px;
    margin-top: 30px
  }
}

.p-notfoundBox__ttl__main {
  font-family: Playfair Display, YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.13
}

@media screen and (max-width:960px) {
  .p-notfoundBox__ttl__main {
    font-size: 2.4rem;
    letter-spacing: .08em;
    line-height: 1.17
  }
}

.p-notfoundBox__ttl__main__num {
  font-size: 3.6rem;
  letter-spacing: .08em;
  line-height: 1;
  position: relative;
  top: -6px
}

@media screen and (max-width:960px) {
  .p-notfoundBox__ttl__main__num {
    font-size: 2.8rem;
    letter-spacing: .08em;
    line-height: 1;
    top: -4px
  }
}

.p-notfoundBox__ttl__sub {
  font-size: 1.34rem;
  letter-spacing: .1em;
  line-height: 1.5;
  margin-top: 7px
}

@media screen and (max-width:960px) {
  .p-notfoundBox__ttl__sub {
    font-size: 1.07rem;
    letter-spacing: .1em;
    line-height: 1.63
  }
}

.p-notfoundBox__desc {
  align-items: center;
  display: flex;
  flex-direction: column;
  text-align: center
}

@media screen and (max-width:960px) {
  .p-notfoundBox__desc {
    text-align: left
  }
}

.p-notfoundBox__btn {
  margin-left: auto;
  margin-right: auto;
  margin-top: 83px;
  max-width: 340px
}

@media screen and (max-width:960px) {
  .p-notfoundBox__btn {
    margin-top: 60px
  }
}

.u-alignLeft {
  text-align: left
}

.u-alignCenter {
  text-align: center
}

.u-alignRight {
  text-align: right
}

.u-alignTop {
  vertical-align: top
}

.u-alignMiddle {
  vertical-align: middle
}

.u-alignBottom {
  vertical-align: bottom
}

@media screen and (max-width:960px) {
  .u-spAlignLeft {
    text-align: left
  }

  .u-spAlignCenter {
    text-align: center
  }

  .u-spAlignRight {
    text-align: right
  }

  .u-spAlignTop {
    vertical-align: top
  }

  .u-spAlignMiddle {
    vertical-align: middle
  }

  .u-spAlignBottom {
    vertical-align: bottom
  }
}

.u-imgFit {
  font-family: "object-fit: cover; object-position: center;";
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center
}

.u-imgFit--top{
  object-position: top center;
}

.u-mtLarge {
  margin-top: 100px
}

@media screen and (max-width:960px) {
  .u-mtLarge {
    margin-top: 60px
  }
}

.u-mtNone {
  margin-top: 0
}

.u-ptLarge {
  padding-top: 100px
}

.u-pbLarge {
  padding-bottom: 100px
}


/* CSR */
.p-sectionBox__sbt__ja{
    font-size: 2.2rem;
    color: rgb(0, 91, 172);
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
}

@media screen and (max-width:960px) {
  .p-sectionBox__sbt__ja{
    font-size: 1.6rem;
  }
}

.p-philosophy__row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 120px;
  padding-top: 30px;
}

@media screen and (max-width:960px) {
  .p-philosophy__row{
    flex-direction: column;
    padding-bottom: 80px;
  }
} 

.p-philosophy__col{
  width: 100%;
}
@media screen and (max-width:960px) {
  .p-philosophy__col{
    max-width: 248px;
  }
}


.p-philosophy__col__item{
  width: 100%;
  aspect-ratio: 1 / 1;
  /* border-radius: 17px; */
  display: grid;
  place-content: center;
  background-image: url(images/bg-philosophy_col.png);
  background-size: cover;
  /* border: 1px solid #fff; */
  position: relative;
  overflow: hidden;
}

/* .p-philosophy__col__item:after{
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
  background-color: #005ea8;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .3;
} */

.p-philosophy__col__ttl{
  font-size: 2rem;
  font-weight: 500;
  font-family: "Noto Serif JP";
  color: rgb(255, 255, 255);
  line-height: 1.25;
  text-align: center;
  position: relative;
  z-index: 1;
  color: #8e6e3a;
}


.p-philosophy__vision{
  padding-bottom: 80px;
}

.p-philosophy__vision .p-sectionBox__sbt__ja{
  position: relative;
  font-feature-settings: "palt";
  letter-spacing: .05em;
}

@media screen and (max-width:960px) {
  .p-philosophy__vision .p-sectionBox__sbt__ja{
    line-height: 1.25;
  }
}

.p-philosophy__vision .p-sectionBox__sbt__ja .u-sp{
  display: none;
}

@media screen and (max-width:960px) {
  .p-philosophy__vision .p-sectionBox__sbt__ja .u-sp{
    display: block;
  }
}

/* .p-philosophy__vision .p-sectionBox__sbt__ja::after{
  position: absolute;
  left: 50%;
  margin-left: -14px;
  bottom: -32px;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 28px 17px 0 17px;
  border-color: #005cac transparent transparent transparent;
} */

/* @media screen and (max-width:960px) {
  .p-philosophy__vision .p-sectionBox__sbt__ja::after{
    border-width: 24px 14px 0 14px;
    margin-left: -12px;
    bottom: -40px;
  }
} */

.p-committee{
  border: 1px solid #005bac;
  padding: 38px 56px;
  border-radius: 20px;
}

@media screen and (max-width:960px) {
  .p-committee{
    padding: 19px 28px;
  }
}

.p-commitee__desc{
    font-size: 15px;
    color: rgb(0, 91, 172);
    line-height: 2;
}

.p-committee__ttl {
  font-size: 20px;
  color: rgb(0, 91, 172);
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.p-csr{
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 7px 7px 40px rgba(4, 0, 0, .05);
  padding: 18px 20px 20px;
}

.p-csr span {
  display: inline-block;
}

.c-column.-implementation .c-column__body{
  padding-bottom: 60px;
  margin-top: -20px;
  align-items: flex-end;
}

@media screen and (max-width:960px) {
  .c-column.-implementation .c-column__body{
    padding-bottom: 30px;
  }
}

.p-csr__item{
  background-color: #fff4d5;
  border-radius: 4px;
  color: #be9a60;
  font-size: 1rem;
  line-height: 1.67;
  margin-top: 0;
  padding: 3px 10px 4px;
}

@media screen and (max-width:960px) {
  .p-csr__item:nth-child(3){
    line-height: 1.25;
    padding: 5px 10px 6px;
  }
}

.p-csr__item .u-sp{
  display: none;
}

@media screen and (max-width:960px) {
  .p-csr__item .u-sp{
    display: block;
  }
}

.p-csr__item+.p-csr__item {
  margin-top: 8px;
}

.p-csr__label{
  font-size: 1.3333rem;
  padding-bottom: 8px;
}

.p-csr__item,
.p-csr__label {
  font-weight: 700;
  letter-spacing: .1em;
  text-align: center;
}

ul.p-csr__list>li:before{
  display: none;
}


.p-bnr-sdgs{
  padding-top: 60px;
}

.p-bnr-sdgs__img{
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-sectionBox__ttl__ja.-no-deco:first-child:before,
.p-sectionBox__ttl__ja.-no-deco:first-child:after{
  display: none;
}

.p-sectionBox.p-sectionBox--bar.-bg-white{
  background-color: #fff;
  padding-top: 100px;
  padding-bottom: 100px;
}


.l-main:not(.l-main--top):not(.l-main--notfound):not(.l-main--maintenance) .l-main__body.-pdb-0,
.l-main__body.-pdb-0,
.l-main__head+.l-main__body.-pdb-0{
  padding-bottom: 0;
}

@media screen and (max-width:960px) {
  .p-sectionBox--csrTop .p-sectionBox__ttl.-sp-no-deco:after{
    display: none;
  }
}

.p-sectionBox__ttl__ja.-promise .u-sp{
  display: none;
}
@media screen and (max-width:960px) {
  
  .p-sectionBox__ttl__ja.-promise{
    line-height: 1.25;
  }

  .p-sectionBox__ttl__ja.-promise .u-sp{
    display: block;
  }
}

.p-btnWrap__body.-compliance .c-button.c-button--skeleton .c-button__body{
    line-height: 1.25;
    text-align: left;
}
.p-btnWrap__body.-compliance .c-button.c-button--skeleton{
  padding-top: 10px;
  padding-bottom: 10px;
}


/* 20231030_update ヘッダーナビに、外商リンク追加 */

.l-header__gaishyo a{
  border:  1px solid #fff;
  color: #fff;
  padding: 4px 6px 4px 8px;
  text-decoration: none;
  font-family: "Noto Serif JP", YuMincho, Yu Mincho, Meiryo, メイリオ, serif;
  font-weight: 500;
  margin-left: 32px;
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1), border-color .3s cubic-bezier(.39, .575, .565, 1), color .3s cubic-bezier(.39, .575, .565, 1);
  letter-spacing: .025;
}

.l-header.is-fixed .l-header__gaishyo a{
  border:  1px solid #005bac;
  color: #005bac;
}

.l-header__gaishyo a:hover,
.l-header__gaishyo a:active{
  opacity: 1;
  border:  1px solid #005bac;
  background-color: #005bac;
  color: #fff;
}

.l-header.is-fixed .l-header__gaishyo a:hover,
.l-header.is-fixed .l-header__gaishyo a:active{
  color: #fff;
}

.l-header__sp-column-reverse{
  display: flex;
  align-items: center;
}
@media screen and (max-width:960px) {
  .l-header__sp-column-reverse{
      display: flex;
      flex-direction: column-reverse;
  }
  .l-header__ec {
      margin-top: 30px;
  }
  .l-header__gaishyo{
      margin-top: 15px;
  }
  .l-header__gaishyo a,
  .l-header__gaishyo a:hover,
  .l-header__gaishyo a:active,
  .l-header.is-fixed .l-header__gaishyo a,
  .l-header.is-fixed .l-header__gaishyo a:hover,
  .l-header.is-fixed .l-header__gaishyo a:active{
      margin-left: 0;
      border:  1px solid #005bac;
      color: #005bac;
      background-color: transparent;
      width: 260px;
      border-radius: 42px;
      letter-spacing: .1em;
      padding: 3px 0 4px 0;
      display: flex;
      justify-content: center;
      align-items: center;
  }
}

/* 20240312_update トップメッセージ追加 */
.p-message{
  max-width: 630px;
  margin: 20px auto 0;
}
.p-message p{
  letter-spacing: 0.15em;
}
.p-message p+p{
  margin-top: 40px;
}
.p-message__author{
  line-height: 1.5;
  text-align: right;
}
.p-message__author strong{
  font-size: 1.7rem;
  font-weight: normal;
}
.p-message__author .u-sp{
  display: none;
}

@media screen and (max-width:960px) {
  .p-pageTitle--message .p-pageTitle__inner{
    padding-bottom: 0;
    padding-top: 140px
  }
  .p-message p+p{
    margin-top: 30px;
  }
  .p-message__author .u-sp{
    display: block;
  }
}