@charset "UTF-8";
/**
* Foundation
* ========================== */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  list-style: none;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

html,
body {
  height: 100%;
}

body {
  color: #333;
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: 100%;
  line-height: 1.8;
  font-weight: 400;
}

body.menu-open {
  overflow: hidden;
  touch-action: none;
}

@media (min-width: 768px) {
  body.menu-open {
    overflow: auto;
    touch-action: auto;
  }
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  line-height: 1.6;
}

img {
  max-width: 100%;
  vertical-align: bottom;
  height: auto;
}

a {
  color: #333;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  transition: 0.4s;
}

a:hover g {
  transition: 0.4s;
}

a:hover img {
  opacity: 0.85;
  transition: 0.4s;
}

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

figure {
  margin: 0;
}

img[data-fancybox] {
  cursor: pointer;
}

.carousel {
  position: relative;
  box-sizing: border-box;
}

.carousel *,
.carousel *:before,
.carousel *:after {
  box-sizing: inherit;
}

.carousel.is-draggable {
  cursor: move;
  cursor: grab;
}

.carousel.is-dragging {
  cursor: move;
  cursor: grabbing;
}

.carousel__viewport {
  position: relative;
  overflow: hidden;
  max-width: 100%;
  max-height: 100%;
}

.carousel__track {
  display: flex;
}

.carousel__slide {
  flex: 0 0 auto;
  width: var(--carousel-slide-width, 60%);
  max-width: 100%;
  padding: 1rem;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.has-dots {
  margin-bottom: calc(0.5rem + 22px);
}

.carousel__dots {
  margin: 0 auto;
  padding: 0;
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  list-style: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.carousel__dots .carousel__dot {
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
  width: 22px;
  height: 22px;
  cursor: pointer;
}

.carousel__dots .carousel__dot:after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: currentColor;
  opacity: 0.25;
  transition: opacity 0.15s ease-in-out;
}

.carousel__dots .carousel__dot.is-selected:after {
  opacity: 1;
}

.carousel__button {
  width: var(--carousel-button-width, 48px);
  height: var(--carousel-button-height, 48px);
  padding: 0;
  border: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: all;
  cursor: pointer;
  color: var(--carousel-button-color, currentColor);
  background: var(--carousel-button-bg, transparent);
  border-radius: var(--carousel-button-border-radius, 50%);
  box-shadow: var(--carousel-button-shadow, none);
  transition: opacity 0.15s ease;
}

.carousel__button.is-prev,
.carousel__button.is-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.carousel__button.is-prev {
  left: 10px;
}

.carousel__button.is-next {
  right: 10px;
}

.carousel__button[disabled] {
  cursor: default;
  opacity: 0.3;
}

.carousel__button svg {
  width: var(--carousel-button-svg-width, 50%);
  height: var(--carousel-button-svg-height, 50%);
  fill: none;
  stroke: currentColor;
  stroke-width: var(--carousel-button-svg-stroke-width, 1.5);
  stroke-linejoin: bevel;
  stroke-linecap: round;
  filter: var(--carousel-button-svg-filter, none);
  pointer-events: none;
}

html.with-fancybox {
  scroll-behavior: auto;
}

body.compensate-for-scrollbar {
  overflow: hidden !important;
  touch-action: none;
}

.fancybox__container {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  direction: ltr;
  margin: 0;
  padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  color: var(--fancybox-color, #fff);
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  overflow: hidden;
  z-index: 1050;
  outline: none;
  transform-origin: top left;
  --carousel-button-width: 48px;
  --carousel-button-height: 48px;
  --carousel-button-svg-width: 24px;
  --carousel-button-svg-height: 24px;
  --carousel-button-svg-stroke-width: 2.5;
  --carousel-button-svg-filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.4)) ;
}

.fancybox__container *,
.fancybox__container *::before,
.fancybox__container *::after {
  box-sizing: inherit;
}

.fancybox__container :focus {
  outline: none;
}

body:not(.is-using-mouse) .fancybox__container :focus {
  box-shadow: 0 0 0 1px #fff, 0 0 0 2px var(--fancybox-accent-color, rgba(1, 210, 232, 0.94));
}

@media all and (min-width: 1024px) {
  .fancybox__container {
    --carousel-button-width: 48px;
    --carousel-button-height: 48px;
    --carousel-button-svg-width: 27px;
    --carousel-button-svg-height: 27px ;
  }
}
.fancybox__backdrop {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: var(--fancybox-bg, rgba(24, 24, 27, 0.92));
}

.fancybox__carousel {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  z-index: 10;
}

.fancybox__carousel.has-dots {
  margin-bottom: calc(0.5rem + 22px);
}

.fancybox__viewport {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: visible;
  cursor: default;
}

.fancybox__track {
  display: flex;
  height: 100%;
}

.fancybox__slide {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 48px 8px 8px 8px;
  position: relative;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  outline: 0;
  overflow: auto;
  --carousel-button-width: 36px;
  --carousel-button-height: 36px;
  --carousel-button-svg-width: 22px;
  --carousel-button-svg-height: 22px ;
}

.fancybox__slide::before,
.fancybox__slide::after {
  content: "";
  flex: 0 0 0;
  margin: auto;
}

@media all and (min-width: 1024px) {
  .fancybox__slide {
    padding: 64px 100px;
  }
}
.fancybox__content {
  margin: 0 env(safe-area-inset-right, 0px) 0 env(safe-area-inset-left, 0px);
  padding: 36px;
  color: var(--fancybox-content-color, #374151);
  background: var(--fancybox-content-bg, #fff);
  position: relative;
  align-self: center;
  display: flex;
  flex-direction: column;
  z-index: 20;
}

.fancybox__content :focus:not(.carousel__button.is-close) {
  outline: thin dotted;
  box-shadow: none;
}

.fancybox__caption {
  align-self: center;
  max-width: 100%;
  margin: 0;
  padding: 1rem 0 0 0;
  line-height: 1.375;
  color: var(--fancybox-color, currentColor);
  visibility: visible;
  cursor: auto;
  flex-shrink: 0;
  overflow-wrap: anywhere;
}

.is-loading .fancybox__caption {
  visibility: hidden;
}

.fancybox__container > .carousel__dots {
  top: 100%;
  color: var(--fancybox-color, #fff);
}

.fancybox__nav .carousel__button {
  z-index: 40;
}

.fancybox__nav .carousel__button.is-next {
  right: 8px;
}

@media all and (min-width: 1024px) {
  .fancybox__nav .carousel__button.is-next {
    right: 40px;
  }
}
.fancybox__nav .carousel__button.is-prev {
  left: 8px;
}

@media all and (min-width: 1024px) {
  .fancybox__nav .carousel__button.is-prev {
    left: 40px;
  }
}
.carousel__button.is-close {
  position: absolute;
  top: 8px;
  right: 8px;
  top: calc(env(safe-area-inset-top, 0px) + 8px);
  right: calc(env(safe-area-inset-right, 0px) + 8px);
  z-index: 40;
}

@media all and (min-width: 1024px) {
  .carousel__button.is-close {
    right: 40px;
  }
}
.fancybox__content > .carousel__button.is-close {
  position: absolute;
  top: -40px;
  right: 0;
  color: var(--fancybox-color, #fff);
}

.fancybox__no-click,
.fancybox__no-click button {
  pointer-events: none;
}

.fancybox__spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
  color: var(--fancybox-color, currentColor);
}

.fancybox__slide .fancybox__spinner {
  cursor: pointer;
  z-index: 1053;
}

.fancybox__spinner svg {
  animation: fancybox-rotate 2s linear infinite;
  transform-origin: center center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}

.fancybox__spinner svg circle {
  fill: none;
  stroke-width: 2.75;
  stroke-miterlimit: 10;
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  animation: fancybox-dash 1.5s ease-in-out infinite;
  stroke-linecap: round;
  stroke: currentColor;
}

@keyframes fancybox-rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes fancybox-dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}
.fancybox__backdrop,
.fancybox__caption,
.fancybox__nav,
.carousel__dots,
.carousel__button.is-close {
  opacity: var(--fancybox-opacity, 1);
}

.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop,
.fancybox__container.is-animated[aria-hidden=false] .fancybox__caption,
.fancybox__container.is-animated[aria-hidden=false] .fancybox__nav,
.fancybox__container.is-animated[aria-hidden=false] .carousel__dots,
.fancybox__container.is-animated[aria-hidden=false] .carousel__button.is-close {
  animation: 0.15s ease backwards fancybox-fadeIn;
}

.fancybox__container.is-animated.is-closing .fancybox__backdrop,
.fancybox__container.is-animated.is-closing .fancybox__caption,
.fancybox__container.is-animated.is-closing .fancybox__nav,
.fancybox__container.is-animated.is-closing .carousel__dots,
.fancybox__container.is-animated.is-closing .carousel__button.is-close {
  animation: 0.15s ease both fancybox-fadeOut;
}

.fancybox-fadeIn {
  animation: 0.15s ease both fancybox-fadeIn;
}

.fancybox-fadeOut {
  animation: 0.1s ease both fancybox-fadeOut;
}

.fancybox-zoomInUp {
  animation: 0.2s ease both fancybox-zoomInUp;
}

.fancybox-zoomOutDown {
  animation: 0.15s ease both fancybox-zoomOutDown;
}

.fancybox-throwOutUp {
  animation: 0.15s ease both fancybox-throwOutUp;
}

.fancybox-throwOutDown {
  animation: 0.15s ease both fancybox-throwOutDown;
}

@keyframes fancybox-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fancybox-fadeOut {
  to {
    opacity: 0;
  }
}
@keyframes fancybox-zoomInUp {
  from {
    transform: scale(0.97) translate3d(0, 16px, 0);
    opacity: 0;
  }
  to {
    transform: scale(1) translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes fancybox-zoomOutDown {
  to {
    transform: scale(0.97) translate3d(0, 16px, 0);
    opacity: 0;
  }
}
@keyframes fancybox-throwOutUp {
  to {
    transform: translate3d(0, -30%, 0);
    opacity: 0;
  }
}
@keyframes fancybox-throwOutDown {
  to {
    transform: translate3d(0, 30%, 0);
    opacity: 0;
  }
}
.fancybox__carousel .carousel__slide {
  scrollbar-width: thin;
  scrollbar-color: #ccc rgba(255, 255, 255, 0.1);
}

.fancybox__carousel .carousel__slide::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.fancybox__carousel .carousel__slide::-webkit-scrollbar-track {
  background-color: rgba(255, 255, 255, 0.1);
}

.fancybox__carousel .carousel__slide::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 2px;
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
}

.fancybox__carousel.is-draggable .fancybox__slide,
.fancybox__carousel.is-draggable .fancybox__slide .fancybox__content {
  cursor: move;
  cursor: grab;
}

.fancybox__carousel.is-dragging .fancybox__slide,
.fancybox__carousel.is-dragging .fancybox__slide .fancybox__content {
  cursor: move;
  cursor: grabbing;
}

.fancybox__carousel .fancybox__slide .fancybox__content {
  cursor: auto;
}

.fancybox__carousel .fancybox__slide.can-zoom_in .fancybox__content {
  cursor: zoom-in;
}

.fancybox__carousel .fancybox__slide.can-zoom_out .fancybox__content {
  cursor: zoom-out;
}

.fancybox__carousel .fancybox__slide.is-draggable .fancybox__content {
  cursor: move;
  cursor: grab;
}

.fancybox__carousel .fancybox__slide.is-dragging .fancybox__content {
  cursor: move;
  cursor: grabbing;
}

.fancybox__image {
  transform-origin: 0 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: none;
}

.has-image .fancybox__content {
  padding: 0;
  background: rgba(0, 0, 0, 0);
  min-height: 1px;
}

.is-closing .has-image .fancybox__content {
  overflow: visible;
}

.has-image[data-image-fit=contain] {
  overflow: visible;
  touch-action: none;
}

.has-image[data-image-fit=contain] .fancybox__content {
  flex-direction: row;
  flex-wrap: wrap;
}

.has-image[data-image-fit=contain] .fancybox__image {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.has-image[data-image-fit=contain-w] {
  overflow-x: hidden;
  overflow-y: auto;
}

.has-image[data-image-fit=contain-w] .fancybox__content {
  min-height: auto;
}

.has-image[data-image-fit=contain-w] .fancybox__image {
  max-width: 100%;
  height: auto;
}

.has-image[data-image-fit=cover] {
  overflow: visible;
  touch-action: none;
}

.has-image[data-image-fit=cover] .fancybox__content {
  width: 100%;
  height: 100%;
}

.has-image[data-image-fit=cover] .fancybox__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,
.fancybox__carousel .fancybox__slide.has-map .fancybox__content,
.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,
.fancybox__carousel .fancybox__slide.has-video .fancybox__content,
.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content {
  max-width: 100%;
  flex-shrink: 1;
  min-height: 1px;
  overflow: visible;
}

.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,
.fancybox__carousel .fancybox__slide.has-map .fancybox__content,
.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content {
  width: 100%;
  height: 80%;
}

.fancybox__carousel .fancybox__slide.has-video .fancybox__content,
.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content {
  width: 960px;
  height: 540px;
  max-width: 100%;
  max-height: 100%;
}

.fancybox__carousel .fancybox__slide.has-map .fancybox__content,
.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,
.fancybox__carousel .fancybox__slide.has-video .fancybox__content,
.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content {
  padding: 0;
  background: rgba(24, 24, 27, 0.9);
  color: #fff;
}

.fancybox__carousel .fancybox__slide.has-map .fancybox__content {
  background: #e5e3df;
}

.fancybox__html5video,
.fancybox__iframe {
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0);
}

.fancybox-placeholder {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.fancybox__thumbs {
  flex: 0 0 auto;
  position: relative;
  padding: 0px 3px;
  opacity: var(--fancybox-opacity, 1);
}

.fancybox__container.is-animated[aria-hidden=false] .fancybox__thumbs {
  animation: 0.15s ease-in backwards fancybox-fadeIn;
}

.fancybox__container.is-animated.is-closing .fancybox__thumbs {
  opacity: 0;
}

.fancybox__thumbs .carousel__slide {
  flex: 0 0 auto;
  width: var(--fancybox-thumbs-width, 96px);
  margin: 0;
  padding: 8px 3px;
  box-sizing: content-box;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  cursor: pointer;
}

.fancybox__thumbs .carousel__slide .fancybox__thumb::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-width: 5px;
  border-style: solid;
  border-color: var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));
  opacity: 0;
  transition: opacity 0.15s ease;
  border-radius: var(--fancybox-thumbs-border-radius, 4px);
}

.fancybox__thumbs .carousel__slide.is-nav-selected .fancybox__thumb::after {
  opacity: 0.92;
}

.fancybox__thumbs .carousel__slide > * {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.fancybox__thumb {
  position: relative;
  width: 100%;
  padding-top: calc(100% / (var(--fancybox-thumbs-ratio, 1.5)));
  background-size: cover;
  background-position: center center;
  background-color: rgba(255, 255, 255, 0.1);
  background-repeat: no-repeat;
  border-radius: var(--fancybox-thumbs-border-radius, 4px);
}

.fancybox__toolbar {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 20;
  background: linear-gradient(to top, hsla(0, 0%, 0%, 0) 0%, hsla(0, 0%, 0%, 0.006) 8.1%, hsla(0, 0%, 0%, 0.021) 15.5%, hsla(0, 0%, 0%, 0.046) 22.5%, hsla(0, 0%, 0%, 0.077) 29%, hsla(0, 0%, 0%, 0.114) 35.3%, hsla(0, 0%, 0%, 0.155) 41.2%, hsla(0, 0%, 0%, 0.198) 47.1%, hsla(0, 0%, 0%, 0.242) 52.9%, hsla(0, 0%, 0%, 0.285) 58.8%, hsla(0, 0%, 0%, 0.326) 64.7%, hsla(0, 0%, 0%, 0.363) 71%, hsla(0, 0%, 0%, 0.394) 77.5%, hsla(0, 0%, 0%, 0.419) 84.5%, hsla(0, 0%, 0%, 0.434) 91.9%, hsla(0, 0%, 0%, 0.44) 100%);
  padding: 0;
  touch-action: none;
  display: flex;
  justify-content: space-between;
  --carousel-button-svg-width: 20px;
  --carousel-button-svg-height: 20px;
  opacity: var(--fancybox-opacity, 1);
  text-shadow: var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.4));
}

@media all and (min-width: 1024px) {
  .fancybox__toolbar {
    padding: 8px;
  }
}
.fancybox__container.is-animated[aria-hidden=false] .fancybox__toolbar {
  animation: 0.15s ease-in backwards fancybox-fadeIn;
}

.fancybox__container.is-animated.is-closing .fancybox__toolbar {
  opacity: 0;
}

.fancybox__toolbar__items {
  display: flex;
}

.fancybox__toolbar__items--left {
  margin-right: auto;
}

.fancybox__toolbar__items--center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.fancybox__toolbar__items--right {
  margin-left: auto;
}

@media (max-width: 640px) {
  .fancybox__toolbar__items--center:not(:last-child) {
    display: none;
  }
}
.fancybox__counter {
  min-width: 72px;
  padding: 0 10px;
  line-height: var(--carousel-button-height, 48px);
  text-align: center;
  font-size: 17px;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: subpixel-antialiased;
}

.fancybox__progress {
  background: var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));
  height: 3px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: scaleX(0);
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  z-index: 30;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.fancybox__container:fullscreen::backdrop {
  opacity: 0;
}

.fancybox__button--fullscreen g:nth-child(2) {
  display: none;
}

.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(1) {
  display: none;
}

.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(2) {
  display: block;
}

.fancybox__button--slideshow g:nth-child(2) {
  display: none;
}

.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(1) {
  display: none;
}

.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(2) {
  display: block;
}

/**
* Layout
* ========================== */
.l-headerwrap {
  background-image: url(../images/common/bg_header.svg);
  background-repeat: no-repeat;
  background-size: auto 115px;
  background-position: bottom center;
}
@media (min-width: 768px) {
  .l-headerwrap {
    background-position: top center;
  }
}

.l-header {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 1400px;
  height: 60px;
  margin: 0 auto;
  padding-left: 16px;
}
@media (min-width: 768px) {
  .l-header {
    justify-content: space-between;
    padding: 12px 0 12px 32px;
    height: 115px;
  }
}
@media (min-width: 992px) {
  .l-header {
    padding: 0 32px;
  }
}
.l-header__logo {
  width: 200px;
}
@media (min-width: 768px) {
  .l-header__logo {
    width: 320px;
  }
}
@media (min-width: 992px) {
  .l-header__logo {
    width: 500px;
  }
}
.l-hamburger {
  display: block;
  position: fixed;
  z-index: 100;
  right: 8px;
  top: 8px;
  width: 40px;
  height: 40px;
  cursor: pointer;
  text-align: center;
  background-color: #217273;
}
@media (min-width: 768px) {
  .l-hamburger {
    right: 32px;
    top: 32px;
    width: 64px;
    height: 64px;
  }
}
@media (min-width: 992px) {
  .l-hamburger {
    display: none;
  }
}
.l-hamburger span {
  display: block;
  position: absolute;
  width: 20px;
  height: 2px;
  background: #fff;
  transition: 0.3s ease-in-out;
  transform-origin: center;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  .l-hamburger span {
    width: 32px;
  }
}
.l-hamburger span:nth-child(1) {
  top: 10px;
}
@media (min-width: 768px) {
  .l-hamburger span:nth-child(1) {
    top: 15px;
  }
}
.l-hamburger span:nth-child(2) {
  top: 19px;
}
@media (min-width: 768px) {
  .l-hamburger span:nth-child(2) {
    top: 30px;
  }
}
.l-hamburger span:nth-child(3) {
  top: 28px;
}
@media (min-width: 768px) {
  .l-hamburger span:nth-child(3) {
    top: 45px;
  }
}
.l-hamburger.active span:nth-child(1) {
  top: 20px;
  transform: translateX(-50%) rotate(-45deg);
  background: #fff;
}
.l-hamburger.active span:nth-child(2) {
  opacity: 0;
}
.l-hamburger.active span:nth-child(3) {
  top: 20px;
  transform: translateX(-50%) rotate(45deg);
  background: #fff;
}

.l-gnav {
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  color: #fff;
  background-color: #217273;
  opacity: 0;
  letter-spacing: 0.2em;
  transition: opacity 0s ease, visibility 0.8s ease;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  inset: 0;
  width: 100%;
  height: 100dvh;
  max-height: 100dvh;
  overflow-y: auto;
}
.l-gnav::-webkit-scrollbar {
  width: 8px;
}
.l-gnav::-webkit-scrollbar-track {
  background: rgb(44.3716216216, 153.2837837838, 154.6283783784);
}
.l-gnav::-webkit-scrollbar-thumb {
  background: rgb(27.3141891892, 94.3581081081, 95.1858108108);
  border-radius: 4px;
}
.l-gnav::-webkit-scrollbar-thumb:hover {
  background: black;
}
@supports not (height: 100dvh) {
  .l-gnav {
    height: 100vh;
    max-height: 100vh;
  }
}
@media (min-width: 380px) {
  .l-gnav {
    font-size: 0.9rem;
    padding: 16px;
  }
}
@media (min-width: 768px) {
  .l-gnav {
    overflow: visible;
    height: auto;
    max-height: none;
    padding: 0;
  }
}
@media (min-width: 992px) {
  .l-gnav {
    justify-content: center;
    text-align: center;
    z-index: 100;
    position: static;
    background: none;
    text-align: left;
    width: 100%;
    height: 75px;
    opacity: 1;
    letter-spacing: 0;
    padding: 0;
  }
}
.l-gnav.active {
  opacity: 1;
  z-index: 10;
}
.l-gnav__inner {
  margin: 40px auto 0;
  padding: 0;
  width: 90%;
  display: flex;
  flex-wrap: wrap;
  flex: 1 1 auto;
  min-height: 0;
  overflow: visible;
}
@media (min-width: 380px) {
  .l-gnav__inner {
    justify-content: space-between;
  }
}
@media (min-width: 768px) {
  .l-gnav__inner {
    margin: 80px auto 0;
    width: 80%;
    justify-content: center;
    flex: none;
    min-height: auto;
  }
}
@media (min-width: 992px) {
  .l-gnav__inner {
    margin: 0;
    width: 100%;
    justify-content: flex-end;
    overflow: visible;
  }
}
.l-gnav__inner::after {
  content: "";
  flex-basis: 100%;
  height: 40px;
}
@media (min-width: 768px) {
  .l-gnav__inner::after {
    display: none;
  }
}
.l-gnav__list {
  width: 100%;
  transition: 0.4s all;
}
@media (min-width: 992px) {
  .l-gnav__list {
    width: auto;
    margin: 0 8px;
    background-color: transparent;
  }
}
@media (min-width: 1200px) {
  .l-gnav__list {
    margin: 0 16px;
  }
}
.l-gnav__link {
  color: #fff;
  display: inline-block;
  padding: 4px 0;
  text-transform: uppercase;
  font-size: 24px;
  transition: 0.3s;
  position: relative;
}
@media (min-width: 992px) {
  .l-gnav__link {
    background-color: transparent;
    transition: 0.3s;
    display: flex;
    align-items: center;
    position: relative;
    display: inline-block;
    text-decoration: none;
    font-size: 16px;
    transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
    display: inline-block;
    position: relative;
    z-index: 100;
  }
}
@media (min-width: 992px) {
  .l-gnav__link--active {
    color: #fff;
  }
}
.l-gnav__link:after {
  content: "";
  display: block;
  height: 2px;
  width: 0%;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.3s;
}
.l-gnav__link:hover {
  color: #fff;
  text-decoration: none;
}
.l-gnav__link:hover::after {
  transform: scale(1, 1);
  width: 100%;
}
.l-gnav__icon {
  width: 24px;
  vertical-align: auto;
  height: auto;
  fill: #fff;
}
@media (min-width: 992px) {
  .l-gnav__sub {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #6B4C20;
    list-style: none;
    margin: 4px 0 0 0;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    transform: translateY(10px);
    min-width: 160px;
    z-index: 1000;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4);
  }
}
.l-gnav__sublink {
  display: inline-block;
  color: #fff;
  padding: 12px 16px;
}
@media (min-width: 992px) {
  .l-gnav__sublink {
    display: block;
    text-decoration: none;
    font-size: 14px;
  }
}
.l-gnav__sublink:hover {
  color: #fff;
  text-decoration: none;
}
@media (min-width: 992px) {
  .l-gnav__sublink:hover {
    background-color: rgb(21.6283783784, 74.7162162162, 75.3716216216);
  }
}
.l-gnav__list--submenu {
  position: relative;
}
.l-gnav__list--submenu:hover .l-gnav__sub {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.l-footer {
  padding-top: 64px;
  padding-bottom: 64px;
}
@media (min-width: 768px) {
  .l-footer {
    width: auto;
    display: flex;
    flex-wrap: wrap;
  }
}
.l-footer__info {
  text-align: center;
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .l-footer__info {
    width: 270px;
    margin-bottom: 0;
    text-align: left;
  }
}
@media (min-width: 1200px) {
  .l-footer__info {
    width: 320px;
  }
}
.l-footer__logo {
  width: 200px;
  margin: 0 auto 24px;
}
@media (min-width: 768px) {
  .l-footer__logo {
    margin: 0 0 24px;
  }
}
.l-footer__link {
  margin-bottom: 24px;
  display: flex;
  gap: 24px;
  justify-content: center;
}
@media (min-width: 768px) {
  .l-footer__link {
    width: calc(100% - 320px - 200px);
    margin-bottom: 0;
    display: block;
  }
}
@media (min-width: 1200px) {
  .l-footer__link {
    width: calc(100% - 320px - 300px);
    display: flex;
    justify-content: left;
  }
}
.l-footer__recruitlink {
  display: block;
  border: solid 1px #999;
}
.l-footer__recruitlink:hover {
  background-color: #217273;
  color: #fff;
  text-decoration: none;
  opacity: 1;
}
.l-footer__bnr {
  width: 300px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .l-footer__bnr {
    width: 240px;
  }
}
@media (min-width: 1200px) {
  .l-footer__bnr {
    width: 300px;
  }
}
.l-footer__recruit {
  display: block;
  padding: 20px;
  font-size: 24px;
  text-align: center;
}
.l-footer__recruiticon {
  vertical-align: middle;
  position: relative;
  top: -3px;
}
.l-footer__company {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border-top: 1px solid #999;
  margin-top: 40px;
  padding-top: 56px;
}
.l-footer__area {
  width: 100%;
  border-top: dotted 1px #ccc;
  padding-top: 40px;
  margin-top: 40px;
}
.l-footer__glogo {
  width: 100px;
  height: auto;
}
.l-footer__name {
  display: inline-block;
  font-size: 14px;
}
.l-footer__copy {
  text-align: center;
  width: 100%;
  margin-top: 24px;
  font-size: 14px;
}

/**
* Object
* ========================== */
/* Component ------------ */
.c-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 32px;
  text-align: center;
  color: #fff;
  border-radius: 64px;
  border: 2px solid #6B4C20;
  background: #6B4C20;
  overflow: hidden;
  position: relative;
  z-index: 1;
  display: block;
  font-weight: bold;
  max-width: 300px;
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}
.c-btn__icon {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
  vertical-align: middle;
  position: relative;
  top: -2px;
  margin-left: 8px;
}
.c-btn::after {
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s ease;
  z-index: -1;
}
.c-btn:hover {
  color: #6B4C20;
  text-decoration: none;
}
.c-btn:hover::after {
  transform: scaleX(1);
}

.c-btn--white {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 32px;
  text-align: center;
  color: #6B4C20;
  border-radius: 64px;
  border: 2px solid #6B4C20;
  background: #fff;
  overflow: hidden;
  z-index: 1;
  display: block;
  font-weight: bold;
  max-width: 300px;
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}
.c-btn--white__icon {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
  vertical-align: middle;
  position: relative;
  top: -2px;
  margin-left: 8px;
}
.c-btn--white::after {
  background: #6B4C20;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s ease;
  z-index: -1;
}
.c-btn--white:hover {
  color: #fff;
  text-decoration: none;
}
.c-btn--white:hover::after {
  transform: scaleX(1);
}

.c-container, .p-reviews, .p-newslist, .p-thanks, .p-Qetc, .p-Qdisclaimer, .p-qualitylist, .p-qualitytitle, .p-quality, .p-qualitymain, .p-works, .p-workswrap, .p-showroomaccess, .p-showroom, .p-showroomMV, .p-products, .p-service, .p-servicemain, .p-strength, .p-aboutpolicy, .p-indexnews, .p-indexEhall__inner, .p-indexquality, .p-indexservice, .p-indexworks__title, .p-indexabout__wrap, .p-mv, .c-bnr__list, .c-online__inner, .c-contact__inner, .l-footer {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 16px;
  padding-left: 16px;
}
@media (min-width: 768px) {
  .c-container, .p-reviews, .p-newslist, .p-thanks, .p-Qetc, .p-Qdisclaimer, .p-qualitylist, .p-qualitytitle, .p-quality, .p-qualitymain, .p-works, .p-workswrap, .p-showroomaccess, .p-showroom, .p-showroomMV, .p-products, .p-service, .p-servicemain, .p-strength, .p-aboutpolicy, .p-indexnews, .p-indexEhall__inner, .p-indexquality, .p-indexservice, .p-indexworks__title, .p-indexabout__wrap, .p-mv, .c-bnr__list, .c-online__inner, .c-contact__inner, .l-footer {
    padding-right: 32px;
    padding-left: 32px;
  }
}
@media (min-width: 992px) {
  .c-container, .p-reviews, .p-newslist, .p-thanks, .p-Qetc, .p-Qdisclaimer, .p-qualitylist, .p-qualitytitle, .p-quality, .p-qualitymain, .p-works, .p-workswrap, .p-showroomaccess, .p-showroom, .p-showroomMV, .p-products, .p-service, .p-servicemain, .p-strength, .p-aboutpolicy, .p-indexnews, .p-indexEhall__inner, .p-indexquality, .p-indexservice, .p-indexworks__title, .p-indexabout__wrap, .p-mv, .c-bnr__list, .c-online__inner, .c-contact__inner, .l-footer {
    width: 960px;
    padding-right: 32px;
    padding-left: 32px;
  }
}
@media (min-width: 1200px) {
  .c-container, .p-reviews, .p-newslist, .p-thanks, .p-Qetc, .p-Qdisclaimer, .p-qualitylist, .p-qualitytitle, .p-quality, .p-qualitymain, .p-works, .p-workswrap, .p-showroomaccess, .p-showroom, .p-showroomMV, .p-products, .p-service, .p-servicemain, .p-strength, .p-aboutpolicy, .p-indexnews, .p-indexEhall__inner, .p-indexquality, .p-indexservice, .p-indexworks__title, .p-indexabout__wrap, .p-mv, .c-bnr__list, .c-online__inner, .c-contact__inner, .l-footer {
    width: 1120px;
    padding-right: 0;
    padding-left: 0;
  }
}

.c-container-small, .p-article, .p-policy, .p-mailform, .p-contact, .p-gmap, .p-company, .p-guarantee__wrap, .p-flow, .p-message, .p-aboutmain {
  padding-right: 16px;
  padding-left: 16px;
}
@media (min-width: 768px) {
  .c-container-small, .p-article, .p-policy, .p-mailform, .p-contact, .p-gmap, .p-company, .p-guarantee__wrap, .p-flow, .p-message, .p-aboutmain {
    padding-right: 32px;
    padding-left: 32px;
  }
}
@media (min-width: 992px) {
  .c-container-small, .p-article, .p-policy, .p-mailform, .p-contact, .p-gmap, .p-company, .p-guarantee__wrap, .p-flow, .p-message, .p-aboutmain {
    width: 848px;
    margin-right: auto;
    margin-left: auto;
  }
}

.c-pagetitle {
  text-align: center;
  padding: 48px 0 16px 0;
  margin-bottom: 24px;
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  background: url("../images/common/bg_pagetitle.png") top center;
  background-repeat: no-repeat;
  background-size: 48px;
  font-size: 32px;
  margin-top: 24px;
}
@media (min-width: 768px) {
  .c-pagetitle {
    padding: 56px 0 16px 0;
    margin-top: 40px;
    margin-bottom: 64px;
  }
}
@media (min-width: 992px) {
  .c-pagetitle {
    margin-bottom: 96px;
    font-size: 40px;
  }
}

.c-subtitle {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 32px;
}
@media (min-width: 768px) {
  .c-subtitle {
    flex-wrap: nowrap;
  }
}
.c-subtitle__title {
  font-size: 32px;
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  margin-right: 24px;
}
@media (min-width: 768px) {
  .c-subtitle__title {
    font-size: 38px;
  }
}
.c-subtitle__sub {
  font-style: 18px;
}

.c-wave--01 {
  background: url("../images/common/bg_wave01.svg") center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100px;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .c-wave--01 {
    margin-bottom: 80px;
    height: 220px;
  }
}
.c-wave--02 {
  background: url("../images/common/bg_wave02.svg") center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100px;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .c-wave--02 {
    margin-bottom: 80px;
    height: 220px;
  }
}
.c-wave--03 {
  background: url("../images/common/bg_wave03.svg") center;
  background-repeat: repeat-x;
  background-size: contain;
  height: 100px;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .c-wave--03 {
    margin-bottom: 80px;
    height: 220px;
  }
}
.c-entrybtn {
  display: flex;
  gap: 24px;
  justify-content: center;
  margin-top: 40px;
  margin-bottom: 80px;
}
.c-entrybtn__prev, .c-entrybtn__next {
  padding: 8px 32px;
}

.c-pageback {
  text-align: center;
  margin-bottom: 80px;
}

.c-pagetop {
  display: none;
  position: fixed;
  bottom: 0px;
  right: 0px;
  background-color: #217273;
}
.c-pagetop a {
  display: block;
  text-decoration: none;
  list-style: none;
  text-align: center;
  color: #fff;
  width: 40px;
  line-height: 40px;
  font-size: 12px;
}
@media (min-width: 768px) {
  .c-pagetop a {
    width: 64px;
    line-height: 64px;
    font-size: 16px;
  }
}
.c-pagetop a:hover {
  background-color: #000;
}

/* pager */
.c-pager {
  text-align: center;
  clear: both;
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .c-pager {
    margin-bottom: 64px;
  }
}
@media (min-width: 992px) {
  .c-pager {
    margin-bottom: 80px;
  }
}

a.page-numbers,
.c-pager .current {
  background-color: #fff;
  line-height: 34px;
  display: inline-block;
  border: solid 2px #217273;
  text-align: center;
  width: 40px;
  height: 40px;
  margin: 0 2px;
  color: #217273;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
}

.c-pager .current,
.c-pager a:hover {
  background-color: #217273;
  color: #fff;
}

.c-pager a {
  text-decoration: none;
}

/* 404 */
.c-404 {
  text-align: center;
  padding: 80px 0;
}
.c-404__title {
  font-size: 1.4rem;
  font-weight: bold;
}
.c-404__sub-title {
  font-size: 1.2rem;
  font-weight: bold;
}
.c-404__txt {
  margin-top: 16px;
}

.c-title {
  font-size: 32px;
  margin-bottom: 40px;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
}
@media (min-width: 768px) {
  .c-title {
    font-size: 54px;
    margin-bottom: 64px;
  }
}

.c-contact {
  background-color: #F2F2F0;
  padding-top: 48px;
  padding-bottom: 64px;
  text-align: center;
}
.c-contact__title {
  font-size: 32px;
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .c-contact__title {
    font-size: 40px;
  }
}
.c-contact__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  background-color: #fff;
  border-radius: 16px;
  margin-bottom: 24px;
  padding: 40px;
}
@media (min-width: 768px) {
  .c-contact__inner {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .c-contact__inner {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .c-contact__inner {
    border-radius: 40px;
  }
}
.c-contact__SNSinner {
  justify-content: center;
  gap: 0 24px;
}
.c-contact__contents {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .c-contact__contents {
    margin-bottom: 0;
  }
}
.c-contact__way {
  width: 100%;
  font-weight: bold;
  margin-bottom: 24px;
}
.c-contact__tel {
  width: 100%;
  display: block;
}
.c-contact__num {
  font-size: 40px;
  line-height: 1em;
  color: #217273;
}
.c-contact__btn {
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .c-contact__btn {
    margin-bottom: 0;
  }
}
.c-contact__sns {
  position: relative;
  top: 1px;
  margin-right: 8px;
}
.c-contact__icon {
  width: 24px;
  height: 24px;
}

.c-online {
  background-image: url(../images/common/bg_online.jpg);
  background-position: bottom;
  background-size: cover;
  padding: 24px;
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .c-online {
    justify-content: right;
    padding: 64px;
  }
}
.c-online__inner {
  display: flex;
  justify-content: center;
}
@media (min-width: 992px) {
  .c-online__inner {
    justify-content: right;
  }
}
.c-online__link {
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 16px;
  border: solid 4px #217273;
  color: #217273;
  padding: 16px;
  box-sizing: border-box;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
}
@media (min-width: 768px) {
  .c-online__link {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .c-online__link {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .c-online__link {
    border-radius: 40px;
  }
}
@media (min-width: 768px) {
  .c-online__link {
    width: 600px;
    height: 220px;
    padding: 0 32px;
  }
}
.c-online__link:hover {
  background-color: #217273;
  color: #fff;
  text-decoration: none;
}
.c-online__link:hover .c-online__icon-svg {
  fill: #fff;
}
.c-online__link:hover .c-online__title,
.c-online__link:hover .c-online__txt {
  color: #fff;
}
.c-online__icon--left, .c-online__icon--right {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .c-online__icon--left, .c-online__icon--right {
    width: 48px;
    height: 48px;
  }
}
.c-online__icon-svg {
  width: 100%;
  height: 100%;
  fill: #217273;
  transition: fill 0.3s ease;
}
.c-online__text {
  flex: 1;
  text-align: center;
  padding: 0 16px;
}
.c-online__title {
  font-size: 24px;
  display: block;
  margin-bottom: 8px;
  color: #217273;
}
@media (min-width: 768px) {
  .c-online__title {
    font-size: 40px;
  }
}
.c-online__txt {
  font-size: 14px;
  color: #217273;
}
@media (min-width: 768px) {
  .c-online__txt {
    font-size: 16px;
  }
}
.c-bnr {
  background-color: #A68D6C;
  padding: 24px;
}
@media (min-width: 768px) {
  .c-bnr {
    padding: 64px 0;
  }
}
@media (min-width: 768px) {
  .c-bnr__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px;
  }
}
.c-bnr__item {
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .c-bnr__item {
    margin-bottom: 0;
    width: calc((100% - 64px) / 3);
  }
}
.c-bnr__img {
  border-radius: 24px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
}

.c-table {
  border-collapse: collapse;
}
.c-table td,
.c-table th {
  border: solid 1px #ccc;
  padding: 24px;
}

.c-back {
  max-width: 300px;
  text-align: center;
  margin: 0 auto;
}

/* Project ------------ */
.p-topwrap {
  background-image: url("../images/common/bg_illust02--white.png"), url("../images/common/bg_illust01--white.png");
  background-repeat: no-repeat, no-repeat;
  background-size: 200px auto, 200px auto;
  background-position: calc(50% + 160px) calc(50% - 320px), calc(50% - 220px) top;
  padding-top: 40px;
}
@media (min-width: 768px) {
  .p-topwrap {
    background-size: 300px auto, 300px auto;
    background-position: calc(50% + 280px) calc(50% - 180px), calc(50% - 360px) top;
  }
}
@media (min-width: 992px) {
  .p-topwrap {
    padding-top: 80px;
    background-size: 640px auto, 560px auto;
    background-position: calc(50% + 480px) calc(50% - 180px), calc(50% - 580px) top;
  }
}

.p-mv {
  text-align: center;
  position: relative;
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-feature-settings: "palt";
}
@media (min-width: 768px) {
  .p-mv {
    padding-bottom: 64px;
  }
}
@media (min-width: 992px) {
  .p-mv {
    padding-bottom: 64px;
  }
}
.p-mv__copyright {
  position: absolute;
  right: calc(50% - 180px);
  width: 30px;
}
@media (min-width: 768px) {
  .p-mv__copyright {
    right: calc(50% - 365px);
    width: 60px;
  }
}
@media (min-width: 992px) {
  .p-mv__copyright {
    width: 90px;
    right: 0;
  }
}
.p-mv__copyleft {
  position: absolute;
  left: calc(50% - 180px);
  max-width: 90px;
  width: 30px;
}
@media (min-width: 768px) {
  .p-mv__copyleft {
    left: calc(50% - 365px);
    width: 60px;
  }
}
@media (min-width: 992px) {
  .p-mv__copyleft {
    left: 0;
    width: 90px;
  }
}
.p-mv__slide {
  width: 270px;
  height: auto;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .p-mv__slide {
    width: 550px;
    height: 366px;
  }
}
@media (min-width: 992px) {
  .p-mv__slide {
    width: 650px;
    height: 433px;
  }
}
@media (min-width: 1200px) {
  .p-mv__slide {
    width: 800px;
    height: 533px;
  }
}
.p-mv__img {
  width: 270px;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .p-mv__img {
    width: 550px;
    height: 366px;
  }
}
@media (min-width: 992px) {
  .p-mv__img {
    width: 650px;
    height: 433px;
  }
}
@media (min-width: 1200px) {
  .p-mv__img {
    width: 800px;
    height: 533px;
  }
}
.p-mv__pic {
  border-radius: 16px;
}
@media (min-width: 768px) {
  .p-mv__pic {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .p-mv__pic {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .p-mv__pic {
    border-radius: 40px;
  }
}
.p-mv__loading {
  border-radius: 16px;
}
@media (min-width: 768px) {
  .p-mv__loading {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .p-mv__loading {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .p-mv__loading {
    border-radius: 40px;
  }
}

/* ローディング中だけローディング画像表示 */
.p-mv__slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/logo_kazahana.png") center center no-repeat;
  background-size: 100px 164px;
  z-index: 1;
}
@media (min-width: 992px) {
  .p-mv__slide::before {
    background-size: 200px 328px;
  }
}

/* ロード完了で表示 */
.p-mv__slide.p-mv__loaded img {
  opacity: 1;
}

/* ロード完了でローディング画像を消す */
.p-mv__slide.p-mv__loaded::before {
  display: none;
}

.swiper-button-prev,
.swiper-button-next {
  display: none;
}
@media (min-width: 768px) {
  .swiper-button-prev,
  .swiper-button-next {
    width: 32px;
    height: 32px;
    background-color: #217273;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
    transition: background-color 0.2s ease;
    cursor: pointer;
    z-index: 10;
  }
}
@media (min-width: 992px) {
  .swiper-button-prev,
  .swiper-button-next {
    width: 64px;
    height: 64px;
    top: calc(var(--swiper-navigation-top-offset, 50%) - 30px);
  }
}
.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 24px;
  color: #fff;
  position: relative;
  top: -2px;
}
@media (min-width: 992px) {
  .swiper-button-prev::after,
  .swiper-button-next::after {
    font-size: 48px;
    top: -5px;
  }
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
  background-color: #f0f0f0;
}

.swiper-button-prev::after {
  content: "‹";
}

.swiper-button-next::after {
  content: "›";
}

.swiper-button-prev {
  left: calc(50% - 150px);
}
@media (min-width: 768px) {
  .swiper-button-prev {
    left: calc(50% - 295px);
  }
}
@media (min-width: 992px) {
  .swiper-button-prev {
    left: calc(50% - 355px);
  }
}
@media (min-width: 1200px) {
  .swiper-button-prev {
    left: calc(50% - 430px);
  }
}

.swiper-button-next {
  right: calc(50% - 150px);
}
@media (min-width: 768px) {
  .swiper-button-next {
    right: calc(50% - 295px);
  }
}
@media (min-width: 992px) {
  .swiper-button-next {
    right: calc(50% - 355px);
  }
}
@media (min-width: 1200px) {
  .swiper-button-next {
    right: calc(50% - 430px);
  }
}

.p-indexabout {
  background-image: url("../images/common/bg_logo.png"), url("../images/common/bg_about.svg");
  background-repeat: no-repeat, no-repeat;
  background-size: 180px auto, cover;
  background-position: calc(50% + 20px) calc(50% - 160px), top center;
  padding: 80px 0;
}
@media (min-width: 768px) {
  .p-indexabout {
    background-size: 240px auto, cover;
    background-position: calc(50% - 120px) calc(50% + 120px), top center;
  }
}
@media (min-width: 992px) {
  .p-indexabout {
    padding: 180px 0 80px;
    margin-bottom: 100px;
  }
}
.p-indexabout__wrap {
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
}
@media (min-width: 768px) {
  .p-indexabout__wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    margin-bottom: 80px;
  }
}
@media (min-width: 992px) {
  .p-indexabout__wrap {
    margin-bottom: 180px;
  }
}
.p-indexabout__inner {
  width: 312px;
  margin: 0 auto;
}
@media (min-width: 992px) {
  .p-indexabout__inner {
    width: 60%;
  }
}
.p-indexabout__title {
  font-size: 20px;
  margin-bottom: 2em;
}
@media (min-width: 992px) {
  .p-indexabout__title {
    font-size: 28px;
  }
}
.p-indexabout__maintxt {
  font-feature-settings: "palt";
  text-indent: -0.4em;
  margin-bottom: 1em;
  font-weight: bold;
}
@media (min-width: 992px) {
  .p-indexabout__maintxt {
    font-size: 24px;
  }
}
.p-indexabout__txt {
  font-feature-settings: "palt";
  margin-bottom: 1em;
}
@media (min-width: 992px) {
  .p-indexabout__txt {
    font-size: 20px;
  }
}
.p-indexabout__img {
  width: 300px;
  margin: 0 auto;
}
@media (min-width: 992px) {
  .p-indexabout__img {
    width: 40%;
  }
}
.p-indexabout__pic {
  border-radius: 16px;
}
@media (min-width: 768px) {
  .p-indexabout__pic {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .p-indexabout__pic {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .p-indexabout__pic {
    border-radius: 40px;
  }
}
.p-indexabout__btn {
  margin: 40px auto;
}
@media (min-width: 992px) {
  .p-indexabout__btn {
    margin: 60px 0 40px;
  }
}

@media (min-width: 992px) {
  .p-indexworks {
    margin-bottom: 0px;
  }
}
.p-indexworks__title {
  margin-bottom: 72px;
}
.p-indexworks__listwrap {
  position: relative;
  width: 100%;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .p-indexworks__listwrap {
    margin-bottom: 80px;
  }
}
.p-indexworks__list {
  width: auto;
  max-width: 600px;
  text-align: center;
}
.p-indexworks__pic {
  border-radius: 16px;
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .p-indexworks__pic {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .p-indexworks__pic {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .p-indexworks__pic {
    border-radius: 40px;
  }
}
.p-indexworks__listtitle {
  text-align: center;
  width: 100%;
  font-weight: bold;
}
.p-indexworks__link {
  width: 100%;
}
.p-indexworks__tag {
  color: #999;
  font-size: 14px;
  text-decoration: underline;
  margin-right: 4px;
}
.p-indexworks__btn {
  margin: 0 auto;
}

.p-indexservice {
  margin-bottom: 80px;
}
@media (min-width: 768px) {
  .p-indexservice {
    margin-bottom: 180px;
  }
}
.p-indexservice__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 64px;
}
@media (min-width: 992px) {
  .p-indexservice__list {
    gap: 32px;
  }
}
.p-indexservice__item {
  width: calc((100% - 16px) / 2);
}
@media (min-width: 768px) {
  .p-indexservice__item {
    width: calc((100% - 64px) / 3);
  }
}
.p-indexservice__img {
  border-radius: 16px;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .p-indexservice__img {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .p-indexservice__img {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .p-indexservice__img {
    border-radius: 40px;
  }
}
.p-indexservice__txt {
  display: block;
  text-align: center;
}
.p-indexservice__btn {
  margin: 0 auto;
}

.p-indexquality {
  background-color: #F2F2F0;
  padding: 40px 0;
}
@media (min-width: 768px) {
  .p-indexquality {
    display: flex;
    align-items: center;
    border-radius: 16px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .p-indexquality {
    border-radius: 24px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .p-indexquality {
    border-radius: 32px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .p-indexquality {
    border-radius: 40px;
  }
}
@media (min-width: 992px) {
  .p-indexquality {
    padding: 0;
    margin-bottom: 700px;
  }
}
.p-indexquality__inner {
  text-align: center;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .p-indexquality__inner {
    width: 400px;
  }
}
.p-indexquality__title {
  font-size: 40px;
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  margin-bottom: 40px;
}
.p-indexquality__txt {
  margin-bottom: 40px;
}
.p-indexquality__img {
  display: none;
}
@media (min-width: 768px) {
  .p-indexquality__img {
    display: block;
    width: calc(100% - 400px);
  }
}
.p-indexquality__pic {
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 768px) {
  .p-indexquality__pic {
    border-radius: 0 40px 40px 0;
  }
}
.p-indexEhall {
  padding-bottom: 180px;
  position: relative;
  background: url("../images/common/bg_hall.svg") bottom center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 992px) {
  .p-indexEhall {
    margin-bottom: 180px;
  }
}
@media (min-width: 768px) {
  .p-indexEhall__img {
    position: absolute;
    left: 50%;
    top: -400px;
    margin-left: -720px;
  }
}
.p-indexEhall__inner {
  position: relative;
  background-color: #fff;
  padding: 32px;
  border-radius: 16px;
}
@media (min-width: 768px) {
  .p-indexEhall__inner {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .p-indexEhall__inner {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .p-indexEhall__inner {
    border-radius: 40px;
  }
}
@media (min-width: 768px) {
  .p-indexEhall__inner {
    display: flex;
    padding: 56px;
    justify-content: space-between;
  }
}
@media (min-width: 768px) {
  .p-indexEhall__info {
    width: 60%;
  }
}
.p-indexEhall__title {
  margin: 0 auto;
}
.p-indexEhall__txt {
  margin-bottom: 2em;
}
.p-indexEhall__btn {
  display: inline-block;
  margin-right: 8px;
  margin-bottom: 16px;
  padding: 8px;
}
@media (min-width: 768px) {
  .p-indexEhall__btn {
    margin-right: 24px;
    padding: 16px 32px;
  }
}
@media (min-width: 768px) {
  .p-indexEhall__cal {
    width: calc(40% - 40px);
  }
}
.p-indexEhall__caltitle {
  text-align: center;
  font-size: 24px;
}
.p-indexnews {
  margin-bottom: 80px;
}
@media (min-width: 768px) {
  .p-indexnews {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media (min-width: 992px) {
  .p-indexnews {
    margin-bottom: 180px;
  }
}
@media (min-width: 768px) {
  .p-indexnews__title {
    width: 30%;
  }
}
.p-indexnews__list {
  margin-bottom: 40px;
  border-bottom: 1px solid #999;
}
@media (min-width: 768px) {
  .p-indexnews__list {
    width: 65%;
    display: flex;
    flex-wrap: wrap;
  }
}
.p-indexnews__date {
  border-top: 1px solid #999;
  padding-top: 24px;
}
@media (min-width: 768px) {
  .p-indexnews__date {
    width: 150px;
    padding-bottom: 24px;
  }
}
.p-indexnews__txt {
  padding-top: 24px;
  padding-bottom: 24px;
}
@media (min-width: 768px) {
  .p-indexnews__txt {
    width: calc(100% - 150px);
    border-top: 1px solid #999;
  }
}
.p-indexnews__link {
  text-decoration: underline;
}
.p-indexnews__btn {
  display: block;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .p-indexnews__btn {
    width: 100%;
  }
}

.p-aboutmain {
  margin-bottom: 20px;
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
}
@media (min-width: 768px) {
  .p-aboutmain {
    margin-bottom: 80px;
  }
}
.p-aboutmain__title {
  text-align: center;
  font-size: 24px;
  color: #217273;
  margin-bottom: 60px;
  font-feature-settings: "palt";
  letter-spacing: 0.2em;
}
@media (min-width: 768px) {
  .p-aboutmain__title {
    font-size: 40px;
  }
}
.p-aboutmain__txt {
  font-size: 16px;
  margin-bottom: 1em;
}
@media (min-width: 768px) {
  .p-aboutmain__txt {
    text-align: center;
    font-size: 22px;
  }
}
.p-aboutmain__txt br {
  display: none;
}
@media (min-width: 768px) {
  .p-aboutmain__txt br {
    display: block;
  }
}

.p-aboutpolicy {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  margin-bottom: 180px;
}
.p-aboutpolicy__inner {
  width: calc(100% - 580px);
}
.p-aboutpolicy__txt {
  margin-bottom: 1em;
  font-size: 20px;
}
.p-aboutpolicy__img {
  width: 500px;
}
.p-aboutpolicy--reverse {
  flex-direction: row-reverse;
}

.p-message {
  display: flex;
  flex-wrap: wrap;
  gap: 54px;
}
@media (min-width: 768px) {
  .p-message {
    margin-bottom: 80px;
  }
}
.p-message__title {
  width: 100%;
}
.p-message__title .c-subtitle__title {
  margin: 0 auto;
}
.p-message__img {
  width: 100%;
  text-align: center;
}
@media (min-width: 768px) {
  .p-message__img {
    width: 200px;
  }
}
.p-message__pic {
  width: 200px;
  margin-bottom: 16px;
  border-radius: 16px;
}
@media (min-width: 768px) {
  .p-message__pic {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .p-message__pic {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .p-message__pic {
    border-radius: 40px;
  }
}
@media (min-width: 768px) {
  .p-message__pic {
    width: 100%;
  }
}
.p-message__name {
  text-align: center;
}
@media (min-width: 768px) {
  .p-message__inner {
    width: calc(100% - 54px - 200px);
  }
}
.p-message__txt {
  margin-bottom: 1em;
}

.p-strength {
  margin-bottom: 180px;
}
.p-strength__contents {
  border: solid 1px #000;
  border-radius: 40px;
  margin-bottom: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.p-strength__inner {
  padding: 32px;
}
@media (min-width: 768px) {
  .p-strength__inner {
    width: 50%;
    padding: 56px;
  }
}
@media (min-width: 1200px) {
  .p-strength__inner {
    width: calc(100% - 500px);
  }
}
.p-strength__title {
  color: #217273;
  font-weight: bold;
  margin-bottom: 24px;
  font-size: 24px;
}
@media (min-width: 768px) {
  .p-strength__img {
    width: 50%;
  }
}
@media (min-width: 1200px) {
  .p-strength__img {
    width: 500px;
  }
}
.p-strength__pic {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 0 0 40px 40px;
}
@media (min-width: 768px) {
  .p-strength__pic {
    border-radius: 40px 0 0 40px;
  }
}
.p-strength__btn {
  margin-top: 40px;
}

.p-servicebg {
  background-image: url("../images/common/bg_illust01.png");
  background-position: right 10px top 80px;
  background-repeat: no-repeat;
  background-size: 120px auto;
}
@media (min-width: 768px) {
  .p-servicebg {
    background-position: calc(50% + 420px) 120px;
    background-size: 340px auto;
  }
}

.p-servicemain {
  margin-bottom: 80px;
}
.p-servicemain__title {
  text-align: center;
  font-size: 24px;
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  color: #217273;
  margin-bottom: 64px;
  background: url("../images/service/bg_main.png") bottom center;
  background-repeat: no-repeat;
  background-size: 400px;
}
@media (min-width: 768px) {
  .p-servicemain__title {
    font-size: 40px;
    margin-bottom: 120px;
  }
}
.p-servicemain__txt {
  max-width: 800px;
  margin: 0 auto;
  margin-bottom: 40px;
}
.p-servicemain__note {
  text-align: center;
}

.p-service {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .p-service {
    margin-bottom: 80px;
    gap: 40px;
  }
}
.p-service__list {
  width: calc((100% - 24px) / 2);
}
@media (min-width: 768px) {
  .p-service__list {
    width: calc((100% - 80px) / 3);
  }
}
.p-service__img {
  margin-bottom: 16px;
  border-radius: 16px;
}
@media (min-width: 768px) {
  .p-service__img {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .p-service__img {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .p-service__img {
    border-radius: 40px;
  }
}
.p-service__name {
  display: block;
  text-align: center;
}

.p-flow {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .p-flow {
    margin-bottom: 80px;
  }
}
.p-flow__title {
  justify-content: center;
}
.p-flow__step {
  border: solid 1px #000;
  padding: 24px;
  position: relative;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .p-flow__step {
    padding: 40px;
  }
}
.p-flow__step::after {
  content: "";
  position: absolute;
  bottom: -21px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-top: 20px solid #ccc;
}
.p-flow__step:last-child::after {
  display: none;
}
.p-flow__headline {
  font-size: 18px;
  color: #217273;
  font-weight: bold;
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .p-flow__headline {
    font-size: 24px;
  }
}
.p-flow__txt {
  margin-bottom: 1em;
}
@media (min-width: 768px) {
  .p-flow__txt {
    padding-left: 56px;
  }
}
.p-flow__txt:last-of-type {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .p-flow__hearing {
    padding-left: 56px;
  }
}
.p-flow__hearingtitle {
  margin-top: 1em;
  font-weight: bold;
}
.p-flow__num {
  display: inline-block;
  background-color: #217273;
  color: #fff;
  border-radius: 50%;
  width: 30px;
  text-align: center;
  margin-right: 8px;
}
@media (min-width: 768px) {
  .p-flow__num {
    margin-right: 16px;
    width: 40px;
  }
}
.p-guarantee {
  background-image: url("../images/common/bg_illust02.png");
  background-position: right 10px top 0;
  background-repeat: no-repeat;
  background-size: 140px auto;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .p-guarantee {
    margin-bottom: 80px;
    background-position: calc(50% + 340px) 0;
    background-size: 360px auto;
  }
}
.p-guarantee__title {
  justify-content: center;
}
.p-guarantee__copy {
  color: #217273;
  font-size: 24px;
  text-align: center;
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .p-guarantee__copy {
    font-size: 40px;
    margin-bottom: 60px;
  }
}
.p-guarantee__txt {
  margin-bottom: 40px;
}
.p-guarantee__btn {
  margin: 0 auto;
}

.p-products {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-bottom: 180px;
  justify-content: center;
}
@media (min-width: 768px) {
  .p-products {
    margin-bottom: 80px;
  }
}
.p-products__title {
  width: 100%;
  justify-content: center;
}
.p-products__item {
  border: solid 1px #000;
}
@media (min-width: 768px) {
  .p-products__item {
    width: calc((100% - 80px) / 3);
  }
}
.p-products__link {
  display: block;
}
.p-products__inner {
  padding: 24px;
}
.p-products__logo {
  width: 100%;
  margin-bottom: 16px;
}
.p-showroomMV {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .p-showroomMV {
    margin-bottom: 180px;
  }
}
.p-showroomMV__img {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 40px;
}
.p-showroomMV__main {
  width: 100%;
}
.p-showroomMV__sub {
  width: calc((100% - 24px) / 2);
}
.p-showroomMV__txt {
  font-size: 18px;
  max-width: 800px;
  margin: 40px auto;
}
@media (min-width: 768px) {
  .p-showroomMV__txt {
    margin: 80px auto;
  }
}
.p-showroomMV__btnwrap {
  display: flex;
  gap: 24px;
  justify-content: center;
}
.p-showroom {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .p-showroom {
    margin-bottom: 180px;
  }
}
.p-showroom__title {
  justify-content: center;
}
.p-showroom__contents {
  border: solid 1px #000;
  border-radius: 16px;
  margin-bottom: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: row-reverse;
}
@media (min-width: 768px) {
  .p-showroom__contents {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .p-showroom__contents {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .p-showroom__contents {
    border-radius: 40px;
  }
}
.p-showroom__inner {
  padding: 24px;
}
@media (min-width: 992px) {
  .p-showroom__inner {
    width: calc(100% - 420px);
    padding: 56px;
  }
}
@media (min-width: 1200px) {
  .p-showroom__inner {
    width: calc(100% - 500px);
    padding: 56px;
  }
}
.p-showroom__subtitle {
  color: #217273;
  font-weight: bold;
  margin-bottom: 24px;
  font-size: 24px;
}
@media (min-width: 992px) {
  .p-showroom__img {
    width: 400px;
  }
}
@media (min-width: 1200px) {
  .p-showroom__img {
    width: 480px;
  }
}
.p-showroom__pic {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 0 0 16px 16px;
}
@media (min-width: 768px) {
  .p-showroom__pic {
    border-radius: 0 0 24px 24px;
  }
}
@media (min-width: 992px) {
  .p-showroom__pic {
    border-radius: 32px 0 0 32px;
  }
}
@media (min-width: 1200px) {
  .p-showroom__pic {
    border-radius: 40px 0 0 40px;
  }
}
.p-showroom__btn {
  margin: 40px auto;
}
@media (min-width: 768px) {
  .p-showroom__btn {
    margin: 80px auto;
  }
}

.p-showroomaccess {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .p-showroomaccess {
    margin-bottom: 180px;
  }
}
.p-showroomaccess__title {
  justify-content: center;
}
.p-showroomaccess__txt {
  text-align: center;
  margin-bottom: 40px;
}

@media (min-width: 768px) {
  .p-workswrap {
    display: flex;
    gap: 40px;
  }
}

.p-workscat {
  background-color: #F2F2F0;
  padding: 24px 24px 8px;
  border-radius: 16px;
  margin-bottom: 32px;
}
@media (min-width: 768px) {
  .p-workscat {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .p-workscat {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .p-workscat {
    border-radius: 40px;
  }
}
@media (min-width: 768px) {
  .p-workscat {
    width: 300px;
  }
}
.p-workscat__title {
  font-weight: bold;
  margin-bottom: 10px;
}
.p-workscat__inner {
  display: flex;
  gap: 4px 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.p-workscat__link {
  display: inline-block;
  border: solid 1px #217273;
  border-radius: 16px;
  padding: 2px 10px;
  background-color: #fff;
}
@media (min-width: 768px) {
  .p-workscat__link {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .p-workscat__link {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .p-workscat__link {
    border-radius: 40px;
  }
}
.p-workscat__link:hover {
  background-color: #217273;
  color: #fff;
  text-decoration: none;
}

.p-workslist {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .p-workslist {
    width: calc(100% - 300px);
  }
}
@media (min-width: 768px) {
  .p-workslist {
    margin-bottom: 120px;
  }
}
.p-workslist__list {
  width: calc((100% - 40px) / 2);
}
.p-workslist__img {
  margin-bottom: 16px;
  border-radius: 16px;
}
@media (min-width: 768px) {
  .p-workslist__img {
    border-radius: 24px;
  }
}
@media (min-width: 992px) {
  .p-workslist__img {
    border-radius: 32px;
  }
}
@media (min-width: 1200px) {
  .p-workslist__img {
    border-radius: 40px;
  }
}
.p-workslist__name {
  display: block;
  text-align: center;
}

.p-works__title {
  font-size: 24px;
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  margin-bottom: 24px;
}
.p-works__MV {
  margin-bottom: 40px;
  text-align: center;
}
.p-works__maintxt {
  margin-bottom: 80px;
}
.p-works__request {
  background-color: #f5f5f5;
  margin-bottom: 80px;
}
.p-works__reqinner {
  display: block;
  padding: 32px;
}
@media (min-width: 768px) {
  .p-works__reqinner {
    display: grid;
    grid-template-columns: 150px 1fr;
    grid-template-rows: auto auto;
    gap: 24px;
    align-items: start;
  }
}
.p-works__customer {
  text-align: center;
}
@media (min-width: 768px) {
  .p-works__customer {
    grid-column: 1/2;
    grid-row: 1/3;
    margin: 0;
  }
}
.p-works__customerimg {
  border-radius: 50%;
  width: 100px;
  height: auto;
}
@media (min-width: 768px) {
  .p-works__customerimg {
    width: 150px;
  }
}
.p-works__reqtitle {
  font-size: 24px;
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
}
@media (min-width: 768px) {
  .p-works__reqtitle {
    grid-column: 2/3;
    grid-row: 1/2;
    margin: 0;
  }
}
@media (min-width: 768px) {
  .p-works__reqtxt {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}
.p-works__txt {
  margin-bottom: 80px;
}
@media (min-width: 768px) {
  .p-works__txt {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    gap: 24px;
  }
}
@media (min-width: 768px) {
  .p-works__txtinner {
    width: calc((100% - 24px) / 2);
  }
}
.p-works__txtinner p {
  margin-bottom: 1em;
}
@media (min-width: 768px) {
  .p-works__txtphoto {
    width: calc((100% - 24px) / 2);
  }
}
.p-works__txtphoto img {
  margin-bottom: 24px;
}
.p-works__gallery {
  -moz-column-count: 1;
       column-count: 1;
  -moz-column-gap: 16px;
       column-gap: 16px;
  margin-bottom: 80px;
}
@media (min-width: 768px) {
  .p-works__gallery {
    -moz-column-count: 3;
         column-count: 3;
  }
}
.p-works__galleryimg {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  margin-bottom: 16px;
}
.p-works__galleryimg img {
  width: 100%;
  height: auto;
  display: block;
}
.p-works__review {
  background-color: #f5f5f5;
  padding: 32px;
  margin-bottom: 80px;
}
@media (min-width: 768px) {
  .p-works__review {
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
  }
}
.p-works__reviewtitle {
  width: 100%;
  font-size: 24px;
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  text-align: center;
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .p-works__reviewtitle {
    margin-bottom: 0;
  }
}
.p-works__reviewtxt {
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .p-works__reviewtxt {
    width: calc((100% - 32px) / 2);
  }
}
@media (min-width: 768px) {
  .p-works__reviewimg {
    width: calc((100% - 32px) / 2);
  }
}

.p-workscontents p {
  margin-bottom: 1.8em;
}
.p-workscontents h1 {
  font-size: 1.6rem;
  font-weight: bold;
}
.p-workscontents h2 {
  font-size: 1.4rem;
  font-weight: bold;
}
.p-workscontents h3 {
  font-size: 1.2rem;
  font-weight: bold;
}
.p-workscontents strong {
  font-weight: bold;
}
.p-workscontents a {
  text-decoration: underline;
  color: #217273;
}

.p-company {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .p-company {
    display: flex;
    flex-wrap: wrap;
  }
}
.p-company__item {
  text-align: center;
  padding: 24px;
  border-top: 1px solid #999;
  background-color: #f5f5f5;
}
@media (min-width: 768px) {
  .p-company__item {
    width: 200px;
    text-align: left;
    background-color: transparent;
  }
}
.p-company__contents {
  padding: 24px;
  border-top: 1px solid #999;
}
@media (min-width: 768px) {
  .p-company__contents {
    width: calc(100% - 200px);
  }
}

.p-gmap {
  margin-bottom: 180px;
}

.p-qualitybg {
  background-image: url("../images/common/bg_illust03.png");
  background-position: right 10px top 20px;
  background-repeat: no-repeat;
  background-size: 140px auto;
}
@media (min-width: 768px) {
  .p-qualitybg {
    background-position: calc(50% + 280px) 20px;
    background-size: 340px auto;
  }
}

.p-qualitymain {
  margin-bottom: 80px;
}
.p-qualitymain__txt {
  margin-bottom: 1em;
}

.p-quality__title {
  font-size: 24px;
  border-bottom: solid 1px #999;
  text-align: center;
  margin-bottom: 8px;
}
.p-quality__wrap {
  display: flex;
  flex-wrap: wrap;
}
.p-quality__item {
  width: 240px;
  font-size: 32px;
  background-color: #F2F2F0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-quality__contents {
  width: calc(100% - 240px);
  padding: 24px 42px;
}
.p-quality__subtitle {
  color: #217273;
  font-size: 24px;
}
.p-quality__list {
  margin-bottom: 24px;
}
.p-qualitytitle {
  font-size: 24px;
  text-align: center;
  margin-bottom: 24px;
}

.p-qualitylist {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 56px;
}
.p-qualitylist__table {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
}
.p-qualitylist__table th,
.p-qualitylist__table td {
  border: 1px solid #ccc;
  padding: 8px;
  vertical-align: middle;
}
.p-qualitylist__table th {
  background-color: #F2F2F0;
  text-align: center;
}
.p-qualitylist__item {
  font-size: 20px;
  text-align: center;
}
.p-qualitylist__listitem {
  list-style: circle;
  margin-left: 24px;
}
.p-qualitylist__txt {
  margin-bottom: 8px;
}
.p-qualitylist__exclusion {
  display: inline-block;
  background-color: #217273;
  color: #fff;
  padding: 0 8px;
  margin-right: 8px;
}
.p-qualitylist--last {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .p-qualitylist--last {
    margin-bottom: 180px;
  }
}
.p-qualitylist__note {
  margin-bottom: 8px;
  font-weight: bold;
}
@media (min-width: 768px) {
  .p-qualitylist__note {
    display: none;
  }
}

.p-Qdisclaimer {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .p-Qdisclaimer {
    margin-bottom: 180px;
  }
}
.p-Qdisclaimer__listitem {
  list-style-type: decimal;
  margin-left: 24px;
}

.p-Qetc {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .p-Qetc {
    margin-bottom: 180px;
  }
}
.p-contactbg {
  background-image: url("../images/common/bg_illust01.png");
  background-position: right 10px top 20px;
  background-repeat: no-repeat;
  background-size: 120px auto;
}
@media (min-width: 768px) {
  .p-contactbg {
    background-position: calc(50% + 320px) 0px;
    background-size: 340px auto;
  }
}

.p-contact {
  margin-bottom: 40px;
}
.p-contact__txt {
  margin-bottom: 1.6em;
}

.p-mailform__wrap {
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .p-mailform__wrap {
    display: flex;
    flex-wrap: wrap;
  }
}
.p-mailform__list {
  border-top: 1px solid #ccc;
  padding: 16px;
  background-color: #F2F2F0;
}
@media (min-width: 768px) {
  .p-mailform__list {
    width: 30%;
  }
}
.p-mailform__input {
  border-top: 1px solid #ccc;
  text-align: left;
  padding: 16px;
}
@media (min-width: 768px) {
  .p-mailform__input {
    width: 70%;
  }
}
.p-mailform__must {
  color: red;
  margin-left: 8px;
  font-size: 14px;
}
.p-mailform__note {
  margin-bottom: 12px;
}
.p-mailform input[type=text],
.p-mailform input[type=tel],
.p-mailform input[type=date],
.p-mailform input[type=email] {
  padding: 8px 16px;
  font-size: 16px;
  border-radius: 4px;
  border: solid 1px #ccc;
  box-sizing: border-box;
  width: 100%;
  margin: 8px 0;
}
.p-mailform input[type=date] {
  width: auto;
}
.p-mailform select {
  padding: 8px 16px;
  font-size: 16px;
  border-radius: 4px;
  border: solid 1px #ccc;
  box-sizing: border-box;
}
.p-mailform textarea {
  padding: 8px 16px;
  font-size: 16px;
  border-radius: 4px;
  border: solid 1px #ccc;
  box-sizing: border-box;
  width: 100%;
}
.p-mailform ::-moz-placeholder {
  color: #ccc;
  font-size: 0.9rem;
}
.p-mailform ::placeholder {
  color: #ccc;
  font-size: 0.9rem;
}
.p-mailform__postcode {
  width: 150px !important;
}
.p-mailform__btnwrap {
  text-align: center;
}
.p-mailform__btn {
  padding: 12px 64px;
  margin: 0 auto;
  font-size: 18px;
}
.p-mailform__btn:hover {
  background-color: #fff;
  transition: 0.4s;
  color: #6B4C20;
}
.p-mailform__back {
  text-decoration: none;
  font-weight: normal;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: normal;
  border: none;
  margin: 0 auto;
  outline: none;
  cursor: pointer;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  background-color: #ccc;
  padding: 8px 40px;
  transition: 0.4s;
  display: inline-block;
  border-radius: 24px;
}
.p-mailform__back:hover {
  background-color: #333;
  transition: 0.4s;
  color: #fff;
}
.p-mailform__check label {
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  position: relative;
  cursor: pointer;
  margin-top: 8px;
}
.p-mailform__check label::before {
  width: 18px;
  height: 18px;
  border-radius: 3px;
  border: 2px solid #d6dde3;
  content: "";
}
.p-mailform__check label:has(:checked)::after {
  position: absolute;
  top: 8px;
  left: 7px;
  transform: rotate(45deg);
  width: 5px;
  height: 10px;
  border: solid #2589d0;
  border-width: 0 3px 3px 0;
  content: "";
}
.p-mailform__check input {
  display: none;
}
.p-mailform__txt {
  margin-bottom: 16px;
}

.p-thanks {
  margin-bottom: 80px;
  padding: 0 16px;
}
@media (min-width: 768px) {
  .p-thanks {
    margin-bottom: 120px;
    padding: 0 24px;
  }
}
.p-thanks__title {
  font-size: 1.6rem;
  margin-bottom: 24px;
}
.p-thanks__txt {
  margin-bottom: 16px;
}

.p-policy {
  margin-bottom: 120px;
  margin-top: 80px;
}
.p-policy__title {
  font-size: 24px;
  text-align: center;
  margin-bottom: 32px;
}
.p-policy__subtitle {
  font-weight: bold;
  margin-bottom: 16px;
}
.p-policy__txt {
  margin-bottom: 2em;
}
.p-policy__list {
  margin-bottom: 2em;
}
.p-policy__listitem {
  list-style: circle;
  margin-left: 24px;
}

.p-newslist {
  border-bottom: dotted 1px #ccc;
  margin-bottom: 40px;
  padding-bottom: 40px;
}
@media (min-width: 768px) {
  .p-newslist {
    display: flex;
  }
}
@media (min-width: 768px) {
  .p-newslist__wrap {
    padding-right: 40px;
    width: 70%;
  }
}
@media (min-width: 768px) {
  .p-newslist__title {
    font-size: 20px;
  }
}
.p-newslist__date {
  font-size: 0.9em;
  margin-bottom: 8px;
  text-align: right;
}
.p-newslist__txt {
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .p-newslist__txt {
    margin-bottom: 0;
  }
}
.p-newslist__img {
  display: block;
  margin: 0;
}
@media (min-width: 768px) {
  .p-newslist__img {
    width: 30%;
  }
}

.p-article {
  margin-bottom: 40px;
}
.p-article__title {
  font-size: 1.2rem;
  color: #217273;
}
@media (min-width: 768px) {
  .p-article__title {
    font-size: 1.6rem;
  }
}
.p-article__date {
  font-size: 0.8rem;
  text-align: right;
  margin-bottom: 8px;
}
.p-article__contents {
  margin-bottom: 80px;
}
.p-article__contents .is-provider-youtube .wp-block-embed__wrapper {
  width: 100%;
  aspect-ratio: 16/9;
}
.p-article__contents .is-provider-youtube .wp-block-embed__wrapper iframe {
  width: 100%;
  height: 100%;
}
.p-article__contents p {
  margin-bottom: 1.8em;
}
.p-article__contents img {
  margin-bottom: 1.8em;
}
.p-article__contents h1 {
  font-size: 1.6rem;
  font-weight: bold;
}
.p-article__contents h2 {
  font-size: 1.4rem;
  font-weight: bold;
}
.p-article__contents h3 {
  font-size: 1.2rem;
  font-weight: bold;
}
.p-article__contents strong {
  font-weight: bold;
}
.p-article__contents a {
  text-decoration: underline;
  color: #217273;
}

.p-reviews {
  background-color: #f5f5f5;
  padding: 32px;
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  margin-bottom: 24px;
}
.p-reviews__inner {
  width: 100%;
}
@media (min-width: 768px) {
  .p-reviews__inner {
    width: 60%;
  }
}
.p-reviews__title {
  font-size: 18px;
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .p-reviews__title {
    font-size: 20px;
  }
}
.p-reviews__date {
  text-align: right;
}
.p-reviews__img {
  width: 100%;
}
@media (min-width: 768px) {
  .p-reviews__img {
    width: calc(40% - 32px);
  }
}
.p-reviews__link {
  display: block;
  margin-top: 24px;
  text-decoration: underline;
}

/* Utility ------------ *//*# sourceMappingURL=style.css.map */