@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 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline
}

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

body {
  line-height: 1
}

ol li,
ul li {
  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
}

.loading {
  width: 38px;
  margin: 0 auto 60px
}

.is-error .loading {
  display: none
}

#alert {
  max-width: 1080px;
  margin: 0 auto 80px;
  text-align: center
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(0 0 99.9% 99.9%);
  border: 0
}

[data-device=sp] {
  display: none !important
}

.sp-only {
  display: none !important
}

.pc-only {
  display: block !important
}

.js-sa {
  backface-visibility: hidden
}

.js-sa.-up {
  transform: translateY(30px)
}

.js-sa.-right {
  transform: translateX(30px)
}

.js-sa.-left {
  transform: translateX(-30px)
}

.js-sa.-img {
  position: relative
}

.js-sa.-img::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  background: #fff
}

.js-sa.is-show.-img::after {
  animation: bar-start .6s ease reverse forwards
}

html {
  font-size: 62.5%
}

body {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #111;
  font-family: "Noto Sans CJK JP", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-text-size-adjust: 100%
}

body.is-modal {
  overflow: hidden
}

body.-top {
  position: relative;
  height: 100vh;
  overflow: hidden
}

body.-top::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #fff url("../img/loading.gif") no-repeat center/44px auto;
  transition: .6s
}

body.-top.is-show {
  height: auto;
  overflow: inherit
}

body.-top.is-show::after {
  content: none
}

a {
  color: inherit;
  text-decoration: none;
  transition: .3s
}

a[href^="tel:"] {
  pointer-events: none
}

a[aria-disabled=true] {
  pointer-events: none
}

[lang=en] {
  font-weight: 500;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-transform: uppercase
}

img {
  display: block;
  max-width: 100%;
  height: auto
}

button,
select {
  -webkit-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  border-radius: 0;
  background: 0 0;
  cursor: pointer;
  transition: .3s
}

button[aria-disabled=true],
select[aria-disabled=true] {
  pointer-events: none
}

select::-ms-expand {
  display: none
}

[data-whatinput=mouse] :focus,
[data-whatinput=touch] :focus {
  outline: 0
}

.l-main {
  padding-bottom: 180px;
  overflow: hidden
}

.l-main.-top {
  padding-bottom: 0
}

.l-wrapper {
  width: 1240px;
  margin: 0 auto
}

.l-top {
  position: relative;
  padding-bottom: 180px;
  background: #f5f7f9;
  z-index: 1
}

.l-top::before {
  content: '';
  position: absolute;
  width: 37.86667vw;
  height: 100%;
  top: 0;
  right: 0;
  background: #eff0f2;
  z-index: -1
}

.swiper-container {
  margin: 0 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;
  z-index: 10;
  cursor: pointer
}

.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: 0;
  left: 50%;
  transform: translateX(-50%)
}

.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: 15px;
  height: 15px;
  display: inline-block;
  box-sizing: border-box;
  border: 1px solid #707070;
  border-radius: 50%
}

.swiper-pagination-bullet:hover {
  opacity: .7
}

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

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

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

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

.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")
}

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

.header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  padding: 38px 0;
  z-index: 10000;
  transition: .6s
}

.header.is-scroll {
  background: #111
}

.is-modal>.header {
  opacity: 0;
  visibility: hidden
}

.header__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 42px
}

.header__head {
  position: relative;
  display: flex;
  align-items: center;
  width: 172px;
  margin-right: 14px;
  color: #fff;
  transform: translateY(-8px);
  transition: .6s;
  z-index: 100
}

.header__head:hover {
  opacity: .7;
  color: #d0bb92
}

.header__item {
  display: flex;
  align-items: center;
  margin-left: auto
}

.header__contact {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 170px;
  height: 64px;
  margin-left: 46px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: .05em;
  text-indent: .05em;
  border: 2px solid #fff;
  z-index: 1
}

.header__contact::before {
  content: '';
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  right: 0;
  background: #fff;
  background: #111;
  z-index: -1;
  transition: .6s
}

.header__contact:hover {
  opacity: .7;
  color: #d0bb92
}

.header__contact:hover::before {
  width: 100%;
  left: 0;
  right: auto
}

.header__btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90px;
  height: 64px;
  margin-left: 40px;
  background: #111;
  z-index: 100
}

.header__btn:hover {
  opacity: .7
}

.header__btn>span {
  display: block;
  width: 30px;
  height: 2px;
  padding-left: 6px;
  box-sizing: border-box
}

.header__btn i {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  transition: .3s
}

.header__btn i::after,
.header__btn i::before {
  content: '';
  position: absolute;
  height: 2px;
  right: 0;
  background: #fff;
  transition: .6s
}

.header__btn i::before {
  width: 30px;
  top: -10px
}

.header__btn i::after {
  width: 18px;
  bottom: -10px
}

.header__btn[aria-expanded=true] {
  background: #fff
}

.header__btn[aria-expanded=true] i {
  background: 0 0
}

.header__btn[aria-expanded=true] i::after,
.header__btn[aria-expanded=true] i::before {
  background: #111
}

.header__btn[aria-expanded=true] i::before {
  top: 0;
  transform: rotate(45deg)
}

.header__btn[aria-expanded=true] i::after {
  width: 30px;
  bottom: 0;
  transform: rotate(-45deg)
}

.nav {
  position: fixed;
  width: 58.66667vw;
  max-width: 880px;
  min-width: 850px;
  height: 100vh;
  top: 0;
  right: 0;
  padding: 38px 0 90px;
  box-sizing: border-box;
  color: #fff;
  overflow: hidden;
  background: #111;
  z-index: 1;
  transition: .6s;
  opacity: 0;
  visibility: hidden
}

.nav[aria-hidden=false] {
  opacity: 1;
  visibility: visible
}

.nav__wrap {
  width: 70.45%;
  min-width: 560px;
  min-width: 620px;
  height: 100%;
  margin: 0 auto;
  overflow-y: scroll
}

.nav__wrap::-webkit-scrollbar {
  display: none
}

.nav__items {
  margin-bottom: 44px
}

.nav__item {
  border-bottom: 1px solid #fff
}

.nav__parent {
  position: relative;
  display: flex
}

.nav__parent a {
  display: block;
  flex-grow: 1;
  font-size: 2rem;
  line-height: 3.45
}

.nav__parent a:hover {
  opacity: .5
}

.nav__btn {
  position: relative;
  display: block;
  flex-shrink: 0;
  width: 50px;
  height: 69px;
  z-index: 1
}

.nav__btn::after,
.nav__btn::before {
  content: '';
  position: absolute;
  width: 14px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  transition: .6s
}

.nav__btn:hover {
  opacity: .5
}

.nav__btn[aria-expanded=false]::before {
  transform: translate(-50%, -50%) rotate(-90deg)
}

.nav__children {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  transition: .4s
}

.nav__children[aria-hidden=false] {
  margin-bottom: 4px
}

.nav__child {
  margin: 0 38px 16px 0;
  transition: .3s;
  transition-delay: .15s;
  opacity: 0;
  visibility: hidden
}

[aria-hidden=false]>.nav__child {
  opacity: 1;
  visibility: visible
}

.nav__child a {
  display: block;
  font-size: 1.8rem;
  line-height: 1.33333;
  letter-spacing: .05em
}

.nav__child a:hover {
  opacity: .5
}

.nav__foot {
  display: flex
}

.nav__links {
  flex-shrink: 0;
  width: 240px;
  margin-right: 29px;
  padding-top: 3px
}

.nav__link+.nav__link {
  margin-top: 20px
}

.nav__link a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  box-sizing: border-box;
  color: #fff;
  border: 1px solid #fff
}

.nav__link a:hover {
  opacity: .7
}

.nav__link span {
  font-size: 1.4rem;
  line-height: 2.14286
}

.nav__link span img {
  width: 100%
}

.nav__link small {
  margin-left: 8px;
  padding-bottom: 2px;
  font-size: 1.2rem;
  line-height: 1.66667
}

.nav__link small::after,
.nav__link small::before {
  content: '-'
}

.nav__link.-vacant span {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  line-height: 2.83333
}

.nav__link.-vacant span::before {
  content: '';
  width: 15px;
  height: 15px;
  margin-right: 4px;
  background: url("../img/icn_footer_01.png") no-repeat center/contain
}

.nav__link.-dhl span {
  width: 134px
}

.nav__link.-dhl small {
  font-size: 1rem;
  line-height: 2
}

.nav__link.-vinjoy span {
  width: 62px
}

.nav__link.-vinjoy small {
  font-size: 1rem;
  line-height: 2
}

.nav__link.-funbby span {
  width: 62px
}

.nav__link.-funbby small {
  font-size: 1rem;
  line-height: 2
}

.nav__instagram {
  display: block;
  width: 40px;
  height: 40px;
  margin-top: 2px
}

.nav__instagram:hover {
  opacity: .7
}

.nav__instagram svg {
  width: 100%;
  height: 100%
}

.nav__tel {
  display: flex;
  flex-shrink: 0;
  margin-bottom: 23px;
  font-size: 3.2rem;
  line-height: 1.125;
  color: #fff;
  text-transform: uppercase
}

.nav__tel span {
  margin-right: 10px
}

.nav__contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 25px
}

.nav__cv {
  width: 300px
}

.nav__cv:nth-of-type(n+3) {
  margin-top: 20px
}

.nav__cv a {
  display: block;
  font-size: 1.6rem;
  line-height: 4;
  font-weight: 700;
  color: #111;
  text-align: center;
  background: #fff
}

.nav__cv a:hover {
  opacity: .7
}

.nav__cv.-reserve a {
  background: #fff100
}

.nav__cv.-tel {
  margin: 35px auto 0
}

.nav__cv.-tel a {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  background: 0 0
}

.nav__cv.-tel a [lang=en] {
  font-size: 3.2rem;
  line-height: 1.125
}

.nav__cv.-tel a [lang=en] span {
  margin-right: 10px
}

.nav__cv.-tel a [lang=ja] {
  font-size: 1.6rem;
  line-height: 2.125
}

.nav__sns {
  display: flex
}

.nav__share+.nav__share {
  margin-left: 20px
}

.nav__share a {
  display: block;
  width: 43px
}

.nav__share a:hover {
  opacity: .7
}

.nav__share img {
  width: 100%
}

.nav__share.-youtube a {
  width: 61px
}

.pc-nav__items {
  display: flex
}

.pc-nav__item+.pc-nav__item {
  margin-left: 45px
}

.pc-nav__item a {
  display: block;
  font-size: 1.6rem;
  line-height: 4;
  color: #fff;
  letter-spacing: .05em;
  text-indent: .05em;
  white-space: nowrap;
  transition: .6s
}

.pc-nav__item a:hover {
  color: #d0bb92
}

.pc-nav__item.-instagram a {
  display: flex;
  align-items: center;
  height: 64px
}

.pc-nav__item.-instagram a svg {
  width: 24px;
  height: 24px
}

.pc-nav__item.-instagram a svg circle,
.pc-nav__item.-instagram a svg path {
  fill: #fff;
  transition: .6s
}

.pc-nav__item.-instagram a:hover svg circle,
.pc-nav__item.-instagram a:hover svg path {
  fill: #d0bb92
}

.footer {
  padding: 157px 0;
  background: #111
}

.footer__banner {
  width: 100vw;
}

.footer__wrap {
  display: flex;
  max-width: 1080px;
  margin: 0 auto 83px
}

.footer__item {
  flex-shrink: 0;
  width: 240px;
  margin-right: 90px;
  padding-top: 5px
}

.footer__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 31px;
  font-size: 2.4rem;
  line-height: 1.25;
  font-weight: 400;
  color: #fff;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.footer__head:hover {
  opacity: .7
}

.footer__links {
  margin-bottom: 19px
}

.footer__link+.footer__link {
  margin-top: 20px
}

.footer__link a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  box-sizing: border-box;
  color: #fff;
  border: 1px solid #fff
}

.footer__link a:hover {
  opacity: .7
}

.footer__link span {
  font-size: 1.4rem;
  line-height: 2.14286
}

.footer__link small {
  margin-left: 8px;
  padding-bottom: 2px;
  font-size: 1.2rem;
  line-height: 1.66667
}

.footer__link small::after,
.footer__link small::before {
  content: '-'
}

.footer__link.-vacant span {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  line-height: 2.83333
}

.footer__link.-vacant span::before {
  content: '';
  width: 15px;
  height: 15px;
  margin-right: 4px;
  background: url("../img/icn_footer_01.png") no-repeat center/contain
}

.footer__link.-vacant span img {
  width: 100%
}

.footer__link.-dhl span {
  width: 134px
}

.footer__link.-dhl small {
  font-size: 1rem;
  line-height: 2
}

.footer__link.-vinjoy span {
  width: 62px
}

.footer__link.-vinjoy small {
  font-size: 1rem;
  line-height: 2
}

.footer__link.-funbby span {
  width: 62px
}

.footer__link.-funbby small {
  font-size: 1rem;
  line-height: 2
}

.footer__instagram {
  display: block;
  width: 24px;
  height: 24px;
  margin: 0 auto
}

.footer__instagram svg {
  width: 100%;
  height: 100%
}

.footer__instagram svg path {
  fill: #fff;
  transition: .6s
}

.footer__instagram:hover {
  opacity: .7
}

.footer__sns {
  display: flex;
  justify-content: center
}

.footer__share+.footer__share {
  margin-left: 20px
}

.footer__share a {
  display: block;
}

.footer-sns__name {
  color: #fff;
  padding: 7px 0 0;
  display: inline-block;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
}

.footer-sns__icon {
  display: block;
  width: 32px;
  margin: 0 auto;
}

.footer__share a:hover {
  opacity: .7
}

.footer__share img {
  width: 100%
}

.footer__share.-youtube .footer-sns__icon {
  width: 47px
}

.footer__toplink {
  text-align: center;
  color: #fff;
  font-size: 1.2rem;
  margin-top: 19px;
}

.footer__copy {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 400;
  color: #fff;
  text-align: center;
  text-transform: none;
  letter-spacing: .1em;
  text-indent: .1em
}

.footer__copy span {
  text-transform: uppercase
}

.footer-nav {
  display: flex
}

.footer-nav__items+.footer-nav__items {
  margin-left: 114px
}

.footer-nav__item+.footer-nav__item {
  margin-top: 6px
}

.footer-nav__item a {
  display: block;
  min-width: 160px;
  font-size: 1.6rem;
  line-height: 2.125;
  color: #fff;
  text-transform: uppercase
}

.footer-nav__item a:hover {
  opacity: .7
}

.sp-fixed {
  display: none;
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  background: #111;
  transition: .6s;
  opacity: 0;
  visibility: hidden
}

.sp-fixed.is-scroll {
  opacity: 1;
  visibility: visible
}

.sp-fixed__item {
  flex-grow: 1
}

.sp-fixed__item+.sp-fixed__item {
  border-left: 1px solid #666
}

.sp-fixed__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: 700;
  color: #fff
}

.sp-fixed__item a::before {
  content: '';
  margin-right: 8px
}

.sp-fixed__item.-request a::before {
  width: 21px;
  height: 16px;
  background: url("../img/icn_fixed_01.svg") no-repeat center/contain
}

.sp-fixed__item.-tel a::before {
  width: 13px;
  height: 21px;
  background: url("../img/icn_fixed_02.svg") no-repeat center/contain
}

.sp-fixed__item.-event a::before {
  width: 14px;
  height: 21px;
  background: url("../img/icn_fixed_04.svg") no-repeat center/contain
}

.sp-fixed__item.-reserve a {
  background: #fff100;
  color: #111
}

.sp-fixed__item.-reserve a::before {
  width: 17px;
  height: 17px;
  background: url("../img/icn_fixed_03.svg") no-repeat center/contain;
}

.aside-contact {
  position: relative;
  background: url("../img/bg_contact.jpg") no-repeat center/cover;
  z-index: 1;
  background-attachment: fixed;
}

.aside-contact::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, .8);
  z-index: -1
}

.aside-contact__wrap {
  padding: 180px 0
}

.aside-contact__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 60px;
  color: #fff
}

.aside-contact__head [lang=en] {
  margin-bottom: 20px;
  font-size: 6rem;
  line-height: 1.36667;
  letter-spacing: .05em;
  text-indent: .05em
}

.aside-contact__head [lang=ja] {
  font-size: 2rem;
  line-height: 1.8
}

.aside-contact__txt {
  max-width: 700px;
  margin: 0 auto 84px;
  font-size: 1.8rem;
  line-height: 1.88889;
  color: #fff
}

.aside-contact__txt span {
  display: block;
  padding-left: 1.2em;
  text-indent: -1.2em;
}

.aside-contact__item {
  display: flex;
  /*   justify-content: space-between; */
  justify-content: space-around;
  align-items: center;
  max-width: 1080px;
  margin: 0 auto
}

.aside-contact__tel {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  color: #fff
}

.aside-contact__tel [lang=en] {
  font-size: 3.2rem;
  line-height: 1.125
}

.aside-contact__tel [lang=en] span {
  margin-right: 10px
}

.aside-contact__tel [lang=ja] {
  font-size: 1.6rem;
  line-height: 2.125
}

.aside-contact__buttons {
  display: flex
}

.aside-contact__btn {
  width: 306px
}

.aside-contact__btn+.aside-contact__btn {
  margin-left: 81px;
  position: relative;
}

.aside-contact__btn a {
  display: block;
  font-size: 1.6rem;
  line-height: 4;
  font-weight: 700;
  text-align: center;
  background: #fff
}

.aside-contact__btn a:hover {
  opacity: .7
}

.aside-lifestyle {
  position: relative;
  margin: 180px 0 -180px;
  padding: 180px 0 155px;
  background: url("../img/bg_lifestyle.jpg") no-repeat center/cover;
  z-index: 1
}

.aside-lifestyle::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, .8);
  z-index: -1
}

.aside-lifestyle__head {
  position: relative;
  margin-bottom: 85px;
  padding-bottom: 15px;
  font-size: 3.6rem;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  color: #fff
}

.aside-lifestyle__head::before {
  content: '';
  position: absolute;
  width: 38px;
  height: 2px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #fff
}

.aside-lifestyle__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center
}

.aside-lifestyle__item {
  min-width: 223px;
  margin: 0 12.5px 26px
}

.aside-lifestyle__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 70px;
  padding: 8px;
  box-sizing: border-box;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: .05em;
  text-indent: .05em;
  border-radius: 35px;
  background: #fff
}

.aside-lifestyle__item a::before {
  content: '#'
}

.aside-lifestyle__item a:hover {
  opacity: .7;
  color: #d0bb92
}

.heading-1 {
  position: relative;
  padding-bottom: 29px;
  overflow: hidden;
  opacity: 1
}

.heading-1::before {
  content: '';
  position: absolute;
  width: 0;
  height: 4px;
  bottom: 0;
  left: 0;
  background: #111
}

.heading-1>span {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  overflow: hidden
}

.heading-1>span::before {
  content: '';
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background: #111
}

.heading-1 [lang=en] {
  margin-right: 27px;
  font-size: 6rem;
  line-height: 1.36667;
  letter-spacing: .05em;
  opacity: 0
}

.heading-1 [lang=ja] {
  font-size: 2rem;
  line-height: 1.45;
  font-weight: 700;
  opacity: 0
}

.heading-1.is-show::before {
  animation: heading-1 .3s ease forwards;
  animation-delay: .8s
}

.heading-1.is-show>span::before {
  animation: bar-start .6s ease 0s forwards, bar-end .4s ease-out .55s forwards;
  will-change: transform
}

.heading-1.is-show [lang=en],
.heading-1.is-show [lang=ja] {
  animation: fade-in .1s ease forwards;
  animation-delay: .6s
}

.heading-1.is-show.-concept::before {
  animation: heading-1 .3s ease forwards;
  animation-delay: 1s
}

.heading-1.is-show.-concept>span::before {
  animation: bar-start .6s ease .2s forwards, bar-end .4s ease-out .75s forwards
}

.heading-1.is-show.-concept [lang=en],
.heading-1.is-show.-concept [lang=ja] {
  animation: fade-in .1s ease forwards;
  animation-delay: .8s
}

.heading-1.-white {
  color: #fff
}

.heading-1.-white::before {
  background: #fff
}

.heading-1.-white>span::before {
  background: #fff
}

.heading-2 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1160px;
  min-height: 340px;
  margin: 0 auto;
  padding: 142px 40px 20px;
  box-sizing: border-box;
  color: #fff
}


.heading-2 [lang=ja] {
  position: relative;
  padding-bottom: 15px;
  font-size: 4rem;
  line-height: 1.475;
  font-weight: 700;
  letter-spacing: .05em;
  text-indent: .05em
}

.heading-2 [lang=ja]::before {
  content: '';
  position: absolute;
  width: 38px;
  height: 2px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #fff
}

.heading-2 [lang=en] {
  margin-top: 17px;
  font-size: 2.6rem;
  line-height: 1.38462;
  letter-spacing: .05em;
  text-indent: .05em
}

.heading-3 {
  margin-bottom: 80px;
  padding-bottom: 21px;
  font-size: 3.8rem;
  line-height: 1.47368;
  font-weight: 700;
  border-bottom: 2px solid #111
}

.btn-1 {
  position: relative;
  display: block;
  width: 240px;
  margin: 0 auto;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 3.875;
  color: #fff;
  text-align: center;
  border: 1px solid #111;
  background: #111;
  z-index: 1
}

.btn-1+.btn-1 {
  margin-top: 50px
}

.btn-1::before {
  content: '';
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  right: 0;
  background: #fff;
  z-index: -1;
  transition: .6s
}

.btn-1::after {
  content: '';
  position: absolute;
  width: 22px;
  height: 7px;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  background: url("../img/icn_arrow_02.svg") no-repeat center/contain;
  transition: .6s
}

.btn-1:hover {
  opacity: .7;
  color: #111
}

.btn-1:hover::before {
  width: 100%;
  left: 0;
  right: auto
}

.btn-1:hover::after {
  background: url("../img/icn_arrow_03.svg") no-repeat center/contain
}

.btn-1.-white {
  color: #111;
  background: #fff
}

.btn-1.-white::after {
  background: url("../img/icn_arrow_03.svg") no-repeat center/contain
}

.btn-1.-white:hover::after {
  background: url("../img/icn_arrow_03.svg") no-repeat center/contain
}

.btn__wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 80px;
  margin-top: 50px;
}

.btn__wrapper .btn-1 {
  margin: 0;
}

@media screen and (max-width: 768px ) {
  .btn__wrapper {
    flex-direction: column;
    gap: 0;
    margin-top: 50px;
  }
  .btn__wrapper .btn-1 {
    margin: 50px auto 0;
  } 
  .btn__wrapper .btn-1:first-child {
    margin-top: 0;
  } 
}

.top-mv {
  position: relative;
  padding-bottom: 350px;
  transition: .6s;
  will-change: inherit
}

.top-mv.js-sa.is-show.-img::after {
  animation-duration: 1.2s
}

.top-mv.is-scroll {
  background: rgba(0, 0, 0, .5)
}

.top-mv__intro {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  min-height: 450px
}

.top-mv__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff
}

/* .top-mv__head::after {
  content: '';
  width: 74px;
  height: 0;
  margin-top: 22px;
  transition: 1.2s;
  opacity: 0;
  background: url(../img/icn_logo.svg) no-repeat center/contain
} */

.top-mv__head [lang=en] {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center
}

.top-mv__head [lang=en] span {
  position: relative;
  display: block;
  padding: 0 4px;
  font-size: 2.4rem;
  line-height: 1.66667;
  font-weight: 300;
  color: transparent;
  text-align: center;
  letter-spacing: .05em;
  text-indent: .05em;
  overflow: hidden;
  transition: 1.2s;
  will-change: transform
}

.top-mv__head [lang=en] span::after {
  content: '';
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background: #111
}

.top-mv__head [lang=en] span+span {
  margin-top: 4px
}

.top-mv__head [lang=ja] {
  position: relative;
  margin-top: 4px;
  padding: 0 4px;
  font-size: 2.8rem;
  line-height: 1.14286;
  font-weight: 300;
  color: transparent;
  letter-spacing: .05em;
  text-indent: .05em;
  overflow: hidden;
  transition: 1.2s;
  will-change: transform
}

.top-mv__head [lang=ja]::after {
  content: '';
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background: #111
}

.top-mv__icon {
  position: absolute;
  width: 42px;
  height: 0;
  bottom: 90px;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0
}

.top-mv__icon:hover img {
  opacity: .5;
  transition: .4s
}

.top-mv__icon img {
  width: 100%
}

.top-mv__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 730px;
  margin: 0 auto;
  padding-top: 300px
}

.top-mv__heading__main {
  margin-bottom: 55px;
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
}

.top-mv__heading__main .sp_br {
  display: none;
}

.top-mv__heading {
  margin-bottom: 55px;
  font-size: 3.2rem;
  line-height: 1.46875;
  color: #fff;
  text-align: center
}

.top-mv__txt {
  width: 100%;
  font-size: 1.8rem;
  line-height: 2.22222;
  color: #fff;
  word-break: break-all
}

.top-mv__txt+.top-mv__txt {
  margin-top: 22px
}

.top-mv__wrap {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: -1
}

.top-mv__images {
  position: absolute;
  top: 0;
  left: 0
}

.top-mv__image {
  height: 100vh
}

.top-mv__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

.is-show .top-mv__head::after {
  animation: mv-1_pc 1.2s ease 2.6s forwards, fade-in 1.2s ease 3.4s forwards
}

.is-show .top-mv__head [lang=en] span {
  animation: mv-3 .1s ease-in 1.3s forwards
}

.is-show .top-mv__head [lang=en] span::after {
  animation: bar-start .6s ease-in .7s forwards, bar-end .4s ease-out 1.6s forwards
}

.is-show .top-mv__head [lang=en] span+span {
  animation: mv-3 .1s ease-in 1.5s forwards
}

.is-show .top-mv__head [lang=en] span+span::after {
  animation: bar-start .6s ease-in .9s forwards, bar-end .4s ease-out 1.8s forwards
}

.is-show .top-mv__head [lang=ja] {
  animation: mv-3 .1s ease-in 1.7s forwards
}

.is-show .top-mv__head [lang=ja]::after {
  animation: bar-start .6s ease-in 1.1s forwards, bar-end .4s ease-out 2s forwards
}

.is-show .top-mv__icon {
  animation: mv-2 1.4s infinite, fade-in .3s ease-out 3.8s forwards;
  animation-fill-mode: both
}

.concept {
  position: relative;
  margin-bottom: 180px;
  overflow: hidden;
  z-index: 1
}

.concept::after {
  content: 'Concept';
  position: absolute;
  bottom: 80px;
  right: -38px;
  font-size: 23rem;
  line-height: 1.36522;
  font-weight: 900;
  color: #f5f7f9;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: .05em;
  text-transform: uppercase;
  z-index: -1
}

.concept__wrap {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1160px;
  padding: 180px 0 127px
}

.concept__wrap::before {
  content: '';
  position: absolute;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 0;
  background: #fff;
  z-index: -1
}

.concept__intro {
  width: 500px;
  margin-left: 30px
}

.concept__detail {
  margin-top: 97px
}

.concept__txt {
  font-size: 1.8rem;
  line-height: 2
}

.concept__txt+.concept__txt {
  margin-top: 30px
}

.concept__item {
  order: -1
}

.concept__image {
  width: 480px;
  margin-bottom: 50px
}

.concept__image img {
  width: 100%
}

.is-show.concept__image::after {
  animation: bar-start .6s ease reverse forwards
}

.top-works {
  padding: 180px 0;
  background: #111
}

.top-works__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 100px 0
}

.top-works__item {
  width: 46.77%;
  transition: 0;
  opacity: 1
}

.top-works__item:nth-of-type(n+3) {
  margin-top: 63px
}

.top-works__item a {
  position: relative;
  display: block;
  padding-top: 100%
}

.top-works__item a:hover img {
  opacity: .7;
  transform: scale(1.05)
}

.top-works__detail {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  transition: 0;
  opacity: 1
}

.top-works__heading {
  position: relative;
  margin-bottom: 20px;
  padding: 4px;
  box-sizing: border-box;
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  color: #fff;
  z-index: 1
}

.top-works__heading span {
  display: inline-block;
  text-align: left;
}

.top-works__txt {
  position: absolute;
  bottom: 25px;
  left: 27px;
  padding: 5px;
  box-sizing: border-box;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
  color: #fff;
  z-index: 1
}

.top-works__image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden
}

.top-works__image::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, .3)
}

.top-works__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  transition: .6s
}

.top-event {
  position: relative;
  overflow: hidden;
  background: #fff
}

.top-event__wrap {
  position: relative;
  padding: 180px 0
}

.top-event__items {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1080px;
  margin: 100px auto 85px;
  box-sizing: border-box;
	justify-content: space-between
}

.top-event__item {
  width: 48%;
	margin-bottom: 3em
}

.top-event__image{
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

/*.top-event__item:nth-of-type(3n) {
  margin-right: 0
}

.top-event__item:nth-of-type(n+4) {
  margin-top: 60px
}*/

.top-event__item a {
  display: flex;
  flex-direction: column
}

.top-event__item a:hover {
  opacity: .7
}

.top-event__item a:hover img {
  transform: scale(1.05)
}

.top-event__detail {
  display: flex;
  flex-direction: column
}

.top-event__heading {
  order: 1;
  font-size: 1.8rem;
  line-height: 1.88889;
  font-weight: 700
}

.top-event__data {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline
}

.top-event__state {
  flex-shrink: 0;
  margin: 0 10px 10px 0;
  padding: 0 15px;
  font-size: 1.8rem;
  line-height: 2.05556;
  color: #fff;
  background: #b10b0b
}

.top-event__state.-fin {
  background: #666
}

.top-event__date {
  display: inline-flex;
  flex-wrap: wrap;
  width: 100%;
  font-size: 1.8rem;
  line-height: 1.88889;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.top-event__category {
  margin-bottom: 10px;
  padding: 0 15px;
  font-size: 1.8rem;
  line-height: 2.05556;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  background: #111
}

.top-event__image {
  order: -1;
  /*height: 242px;*/
  min-height: 0;
  margin-bottom: 30px;
  overflow: hidden
}

.top-event__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  transition: .6s
}

.top-event__bnr {
  display: block;
  max-width: 450px;
  margin: 0 auto 80px
}

.top-event__bnr:hover {
  opacity: .7
}

.top-event__bnr img {
  width: 100%
}

.top-lifestyle {
  padding: 180px 0
}

.top-lifestyle__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 100px 0
}

.top-lifestyle__item {
  width: 46.77%
}

.top-lifestyle__item:nth-of-type(n+3) {
  margin-top: 80px
}

.top-lifestyle__item a {
  position: relative;
  display: block
}

.top-lifestyle__item a:hover {
  opacity: .7
}

.top-lifestyle__item a:hover img {
  transform: scale(1.05)
}

.top-lifestyle__detail {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 86.2%;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1
}

.top-lifestyle__heading {
  font-size: 2.8rem;
  line-height: 1.46429;
  color: #fff;
  letter-spacing: .05em
}

.top-lifestyle__categories {
  display: flex;
  flex-wrap: wrap;
  margin-top: 33px
}

.top-lifestyle__category {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 136px;
  height: 40px;
  margin: 8px 14px 0 0;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: .05em;
  text-indent: .05em;
  border-radius: 20px;
  background: #fff
}

.top-lifestyle__category::before {
  content: '#'
}

.top-lifestyle__image {
  height: 400px;
  overflow: hidden
}

.top-lifestyle__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  transition: .6s
}

.top-modelhouse {
  margin-bottom: 180px;
  padding: 180px 0;
  background: #111
}

.top-modelhouse__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 100px 0 80px
}

.top-modelhouse__item {
  width: 46.77%
}

.top-modelhouse__item a {
  position: relative;
  display: block
}

.top-modelhouse__item a::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, .5)
}

.top-modelhouse__item a:hover img {
  opacity: .7;
  transform: scale(1.05)
}

.top-modelhouse__item:nth-of-type(n+3) {
  margin-top: 80px
}

.top-modelhouse__heading {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  color: #fff;
  z-index: 1
}

.top-modelhouse__heading span {
  font-size: 3.2rem;
  line-height: 1.375
}

.top-modelhouse__heading small {
  margin-top: 14px;
  font-size: 2.2rem;
  line-height: 1.5;
  font-weight: 700;
  font-family: "Noto Sans CJK JP", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.top-modelhouse__image {
  height: 413px;
  overflow: hidden
}

.top-modelhouse__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  transition: .6s
}

.top-about {
  margin-bottom: 180px
}

.top-about__items {
  display: flex;
  justify-content: space-between;
  margin-top: 128px
}

.top-about__item {
  width: 29.11%
}

.top-about__item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding-bottom: 62px;
  box-sizing: border-box;
  background: #fff
}

.top-about__item a::after {
  content: '';
  width: 151px;
  height: 9px;
  margin-top: auto;
  background: url("../img/icn_arrow_04.svg") no-repeat center/contain
}

.top-about__item a:hover {
  opacity: .7
}

.top-about__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 5px;
  transform: translateY(-29px)
}

.top-about__heading i {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 26px;
  font-size: 4.1rem;
  line-height: 1.12195;
  font-weight: 900;
  color: #fff;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background: #111
}

.top-about__heading span {
  font-size: 2.2rem;
  line-height: 2.09091;
  font-weight: 700;
  text-align: center
}

.top-about__image {
  width: 100%;
  min-height: 0;
  margin-bottom: 39px
}

.top-about__image img {
  width: 100%
}

.top-about__txt {
  width: 77.5%;
  margin-bottom: 42px;
  font-size: 1.6rem;
  line-height: 1.625
}

.top-voice {
  margin-bottom: 180px;
}

.voice-flex {
  display: flex;
  justify-content: space-between;
  margin: 100px auto 66px;
}

.top-blog {
  margin-bottom: 180px
}

.top-blog__items {
  display: flex;
  max-width: 1080px;
  margin: 100px auto 66px
}

.top-blog__item {
  width: 28.7%
}

.top-blog__item+.top-blog__item {
  margin-left: 75px
}

.top-blog__item:nth-of-type(4) {
  display: none
}

.top-blog__item a {
  display: flex;
  flex-direction: column
}

.top-blog__item a:hover {
  opacity: .7
}

.top-blog__item a:hover img {
  transform: scale(1.05)
}

.top-blog__detail {
  display: flex;
  flex-wrap: wrap;
  align-items: center
}

.top-blog__heading {
  order: 1;
  width: 100%;
  font-size: 1.8rem;
  line-height: 1.88889;
  font-weight: 700
}

.top-blog__categories {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 6px
}

.top-blog__category {
  margin: 0 8px 8px 0;
  padding: 2px 16px;
  font-size: 1.8rem;
  line-height: 1.88889;
  font-weight: 700;
  background: #fff
}

.top-blog__date {
  margin-bottom: 6px;
  font-size: 1.8rem;
  line-height: 1.88889;
  color: #666;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.top-blog__image {
  order: -1;
  height: 182px;
  min-height: 0;
  margin-bottom: 30px;
  overflow: hidden
}

.top-blog__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  transition: .6s
}

.top-company {
  position: relative;
  overflow: hidden
}

.top-company::after {
  content: 'Company';
  position: absolute;
  bottom: 70px;
  left: -56px;
  font-size: 23rem;
  line-height: 1.36522;
  font-weight: 900;
  color: #f5f7f9;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: .05em;
  text-transform: uppercase;
  z-index: -1
}

.top-company__wrap {
  position: relative;
  padding: 180px 0
}

.top-company__wrap::before {
  content: '';
  position: absolute;
  width: 100vw;
  height: 100%;
  top: 0;
  right: 0;
  background: #fff;
  z-index: -1
}

.top-company__box {
  display: flex;
  flex-wrap: wrap;
  gap: 0 80px;
  max-width: 1080px;
  margin: 69px auto 0
}

.top-company__head {
  width: 100%;
  margin-bottom: 95px;
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 700
}

.top-company__head span {
  display: inline-block;
  padding-bottom: 8px;
  border-bottom: 2px solid #111
}

.top-company__detail {
  display: flex;
  flex-direction: column;
  align-items: flex-start
}

.top-company__detail dt {
  display: flex;
  margin-bottom: 20px;
  padding-bottom: 6px
}

.top-company__detail dt span {
  flex-shrink: 0;
  margin-right: 20px;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
  border-bottom: 2px solid #111
}

.top-company__detail dt span a {
  width: auto;
  font-size: 1.8rem;
  color: #111;
  line-height: 1.5;
  font-weight: 700;
  text-align: left;
  text-transform: none;
  background: none
}

.top-company__detail dt span a:hover {
  opacity: 0.8;
}

.top-company__detail dt a {
  width: 128px;
  font-size: 1.6rem;
  line-height: 2.3125;
  color: #fff;
  text-align: center;
  text-transform: none;
  background: #111
}

.top-company__detail dd {
  width: 260px;
  font-size: 1.8rem;
  line-height: 1.88889
}

.top-news {
  padding: 180px 0
}

.top-news__items {
  max-width: 1080px;
  margin: 73px auto 0
}

.top-news__item {
  border-bottom: 1px solid #666
}

.top-news__item a {
  display: flex;
  align-items: flex-start;
  padding: 25px 0
}

.top-news__item a:hover {
  opacity: .5
}

.top-news__heading {
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: .05em
}

.top-news__date {
  order: -1;
  flex-shrink: 0;
  margin-right: 39px;
  padding-top: 2px;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 900;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: .05em
}

.page__head {
  position: relative;
  margin-bottom: 60px
}

.page__head::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, .6)
}

.page__head::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  background: #fff;
  animation: bar-start 1s ease reverse forwards;
  animation-delay: .2s
}

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

.page__mv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

.page__item {
  opacity: 0;
  animation: fade-in .8s ease-out forwards;
  animation-delay: 1.1s
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 50px
}

.breadcrumb__item {
  display: flex;
  align-items: center;
  margin-right: 9px;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: .05em
}

.breadcrumb__item:last-of-type {
  margin-right: 0
}

.breadcrumb__item+.breadcrumb__item::before {
  content: '>';
  margin-right: 9px
}

.breadcrumb__item a {
  display: block
}

.breadcrumb__item a:hover {
  opacity: .5;
  color: #d0bb92
}

.breadcrumb__item a * {
  display: block;
  transition: .6s
}

.breadcrumb__item a [lang=en] {
  font-family: "Noto Sans CJK JP", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400
}

.the_content {
  margin-top: 60px
}

.the_content::after {
  content: '';
  display: block;
  clear: both
}

.the_content+* {
  margin-top: 80px
}

.the_content>* {
  font-size: 1.6rem;
  line-height: 2;
  margin-bottom: 50px
}

.the_content>:last-child {
  margin-bottom: 0
}

.the_content>*+h2 {
  margin-top: 90px
}

.the_content>*+h3 {
  margin-top: 80px
}

.the_content>*+h4 {
  margin-top: 40px
}

.the_content>*+h5 {
  margin-top: 85px
}

.the_content h2 {
  margin-bottom: 50px;
  padding-bottom: 21px;
  font-size: 3.8rem;
  line-height: 1.47368;
  font-weight: 700;
  border-bottom: 2px solid #111
}

.the_content h3 {
  position: relative;
  padding: 3px 0 3px 34px;
  font-size: 3rem;
  line-height: 1.5;
  font-weight: 700
}

.the_content h3::before {
  content: '';
  position: absolute;
  width: 4px;
  height: 100%;
  top: 0;
  left: 0;
  background: #111
}

.the_content h3+* {
  margin-top: -5px
}

.the_content h4 {
  display: inline-block;
  padding-bottom: 20px;
  font-size: 2.8rem;
  line-height: 1.46429;
  font-weight: 700;
  border-bottom: 2px solid #111
}

.the_content h5 {
  font-size: 2.6rem;
  line-height: 1.46154;
  font-weight: 700
}

.the_content h6 {
  font-size: 1.8rem;
  line-height: 1.94444;
  font-weight: 700
}

.the_content p::after {
  content: '';
  display: block;
  clear: both
}

.the_content p img {
  width: auto;
  margin-left: auto;
  margin-right: auto
}

.the_content p img.alignleft {
  float: left;
  display: inline;
  margin: 0 40px 20px 0
}

.the_content p img.alignright {
  float: right;
  display: inline;
  margin: 0 0 20px 40px
}

.the_content p img.aligncenter {
  margin-bottom: 20px
}

.the_content ol li,
.the_content ul li {
  padding-left: 22px
}

.the_content ul li {
  position: relative
}

.the_content ul li::before {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  top: 12px;
  left: 0;
  border-radius: 50%;
  background: #111
}

.the_content ol {
  counter-reset: item
}

.the_content ol li {
  position: relative
}

.the_content ol li::before {
  content: counter(item) ".";
  counter-increment: item;
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 700
}

.the_content table {
  width: 100%;
  margin-top: 80px;
  border-top: 1px solid #707070
}

.the_content table+* {
  margin-top: 80px
}

.the_content table td,
.the_content table th {
  font-size: 1.6rem;
  line-height: 1.5;
  border-bottom: 1px solid #707070;
  text-align: left
}

.the_content table tr>* {
  padding: 29px 90px
}

.the_content table tr>*+* {
  border-left: 1px solid #707070
}

.the_content table th {
  width: 230px;
  padding: 29px 20px 29px 0;
  box-sizing: border-box
}

.the_content table td p+p {
  margin-top: 20px
}

.the_content strong {
  font-weight: 700
}

.the_content a {
  color: #d0bb92;
  text-decoration: underline
}

.the_content a:hover {
  opacity: .7
}

.the_content .js-sa.-img {
  display: block
}

.the_content .gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative
}

.the_content .gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%
}

.zeh_btn{
	display: block;
    margin: 1em auto;
    text-align: center;
    width: 100%;
    max-width: 500px;
    border: solid 2px #ccc;
    border-radius: 2em;
    padding: 1em 0;
    text-decoration: none;
}
.zeh_table_wrap td{
	padding: 30px!important;
	text-align: center!important;
}
@media (max-width:768px){
	.zeh_table_wrap{
		display: flex!important
	}
	.zeh_table_wrap tr{
		width: 50%!important
	}
}

.box-1 {
  display: flex;
  justify-content: space-between;
  font-size: 1.6rem;
  line-height: 1.5
}

.box-1+.box-1 {
  margin-top: 80px
}

.box-1 img {
  width: 100%;
  margin-bottom: 23px
}

.box-1.-col-1 {
  max-width: 576px;
  margin-left: auto;
  margin-right: auto
}

.box-1.-col-2 {
  margin-top: 94px
}

.box-1.-col-2>div {
  width: 46.77%
}

.box-1.-col-3>div {
  width: 29.03%
}

.box-2 {
  margin-top: 10px
}

.box-2+* {
  margin-top: 80px
}

.box-2+.box-2 {
  margin-top: 80px
}

.box-2::after {
  content: '';
  display: block;
  clear: both
}

.box-2 img {
  width: 36.29%
}

.box-2 .fll {
  float: left;
  margin-right: 50px
}

.box-2 .flr {
  float: right;
  margin-left: 50px
}

.box-bg-gray:not(:root) {
  margin: 80px 0 100px;
  padding: 55px 60px 65px;
  background: #f5f7f9
}

.box-point:not(:root) {
  margin-top: 72px
}

.box-point:not(:root)+.box-point:not(:root) {
  margin-top: 50px;
  padding-top: 50px;
  border-top: 2px solid #eee
}

.box-point:not(:root) h4 {
  display: flex;
  align-items: center;
  padding-bottom: 0;
  margin-bottom: 22px;
  font-size: 2.4rem;
  line-height: 1.58333;
  font-weight: 400;
  border-bottom: none
}

.box-point:not(:root) h4 i {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  margin-right: 40px;
  font-size: 3.4rem;
  line-height: 1.11765;
  font-weight: 700;
  color: #fff;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background: #111
}

.box-point:not(:root) p:not(:root) {
  padding-left: 100px
}

.blog {
  display: flex;
  flex-wrap: wrap;
  margin: 100px 0 106px
}

.blog__item {
  width: 29.03%;
  margin-right: 6.45%
}

.blog__item:nth-of-type(3n) {
  margin-right: 0
}

.blog__item:nth-of-type(n+4) {
  margin-top: 86px
}

.blog__item a {
  display: flex;
  flex-direction: column
}

.blog__item a:hover {
  opacity: .7
}

.blog__item a:hover img {
  transform: scale(1.05)
}

.blog__detail {
  display: flex;
  flex-wrap: wrap;
  align-items: center
}

.blog__heading {
  order: 1;
  width: 100%;
  font-size: 1.8rem;
  line-height: 1.88889;
  font-weight: 700
}

.blog__categories {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 6px
}

.blog__category {
  margin: 0 8px 8px 0;
  padding: 2px 16px;
  font-size: 1.8rem;
  line-height: 1.88889;
  font-weight: 700;
  color: #fff;
  background: #111
}

.blog__date {
  margin-bottom: 6px;
  font-size: 1.8rem;
  line-height: 1.88889;
  color: #666;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.blog__image {
  order: -1;
  height: 212px;
  min-height: 0;
  margin-bottom: 20px;
  overflow: hidden
}

.blog__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  transition: .6s
}

.blog-category__items {
  display: flex;
  flex-wrap: wrap
}

.blog-category__item {
  width: calc(100% / 4 - 20px);
  margin-right: 26px
}

.blog-category__item a {
  position: relative;
  display: block;
  width: 100%;
  height: 80px;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
  background: #f5f7f9;
  z-index: 1;
  cursor: pointer
}

.blog-category__item a span {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  transition: .6s
}

.blog-category__item a span::before {
  content: '';
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  right: 0;
  background: #111;
  z-index: -1;
  transition: .6s
}

.blog-category__item a span:hover {
  opacity: .7;
  color: #d0bb92
}

.blog-category__item a span:hover::before {
  width: 100%;
  left: 0;
  right: auto
}

.blog-category__item a[aria-current] {
  pointer-events: none
}

.blog-category__item a[aria-current] span {
  color: #d0bb92
}

.blog-category__item a[aria-current] span::before {
  width: 100%;
  background: #111
}

.blog-category__item:nth-of-type(4n) {
  margin-right: 0
}

.blog-category__item:nth-of-type(n+5) {
  margin-top: 27px
}

.works-form {
  margin-bottom: 130px
}

.works-form__item+.works-form__item {
  margin-top: 50px
}

.works-form__categories {
  display: flex;
  flex-wrap: wrap
}

.works-form__category {
  width: calc(100% / 4 - 20px);
  margin-right: 26px
}

.works-form__category:nth-of-type(4n) {
  margin-right: 0
}

.works-form__category:nth-of-type(n+5) {
  margin-top: 27px
}

.works-form__btn {
  position: relative;
  display: block;
  width: 100%;
  height: 80px;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
  background: #f5f7f9;
  z-index: 1;
  cursor: pointer
}

.works-form__btn span {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  transition: .6s
}

.works-form__btn span::before {
  content: '';
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  right: 0;
  background: #111;
  z-index: -1;
  transition: .6s
}

.works-form__btn span:hover {
  opacity: .7;
  color: #d0bb92
}

.works-form__btn span:hover::before {
  width: 100%;
  left: 0;
  right: auto
}

.works-form__btn input[type=radio]:checked+span {
  color: #d0bb92
}

.works-form__btn input[type=radio]:checked+span::before {
  width: 100%;
  background: #111
}

.works-form__place {
  position: relative
}

.works-form__heading {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 460px;
  height: 75px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #d0bb92;
  text-align: center;
  letter-spacing: .05em;
  text-indent: .05em;
  border: 1px solid #ccc;
  background: #111
}

.works-form__heading::before {
  content: '';
  position: absolute;
  top: 43%;
  right: 17px;
  border-style: solid;
  border-width: 12px 7.5px 0 7.5px;
  border-color: #d0bb92 transparent transparent transparent
}

.works-form__select {
  position: relative;
  display: block;
  width: 100%;
  max-width: 460px;
  height: 75px;
  margin: 0 auto;
  color: transparent
}

.works-form__select option {
  color: #111
}

.works-archive {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 129px
}

.works-archive__item {
  width: 31.45%;
  margin-right: 2.8%
}

.works-archive__item:nth-of-type(3n) {
  margin-right: 0
}

.works-archive__item:nth-of-type(n+4) {
  margin-top: 50px
}

.works-archive__item a {
  display: flex;
  flex-direction: column
}

.works-archive__item a:hover {
  opacity: .7
}

.works-archive__item a:hover img {
  transform: scale(1.05)
}

.works-archive__heading {
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: .05em
}

.works-archive__image {
  order: -1;
  height: 19.69697vw;
  min-height: 0;
  max-height: 260px;
  margin-bottom: 20px;
  overflow: hidden
}

.works-archive__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  transition: .6s
}

.form.-event {
  margin: 120px 0 -180px;
  padding: 120px 0;
  background: #eff0f2
}

.form__head {
  margin-bottom: 80px;
  padding-bottom: 21px;
  font-size: 3.8rem;
  line-height: 1.47368;
  font-weight: 700;
  border-bottom: 2px solid #111
}

.form__wrap {
  margin-bottom: 100px
}

.form__box {
  margin-bottom: 80px
}

.form__items {
  max-width: 1080px;
  margin: 0 auto 68px
}

.form__item {
  display: flex;
  align-items: flex-start
}

.form__item+.form__item {
  margin-top: 30px
}

.form__item dt {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  width: 280px;
  margin-right: 50px;
  padding-top: 12px;
  font-size: 2rem;
  line-height: 1.8;
  font-weight: 700
}

.form__item dt span {
  flex-shrink: 0;
  width: 53px;
  margin-left: 30px;
  font-size: 1.6rem;
  line-height: 1.5625;
  font-weight: 400;
  color: #c73333;
  text-align: center;
  border: 1px solid #c73333
}

.form__item dd {
  position: relative;
  flex-grow: 1;
  font-size: 1.8rem;
  line-height: 2
}

.form__item dd * {
  position: relative
}

.form__item dd .formError {
  position: absolute;
  bottom: 100%;
  left: 0
}

.form__item dd.-name {
  display: flex
}

.form__item dd.-check {
  display: flex;
  flex-wrap: wrap;
  align-items: center
}

.form__privacy {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1080px;
  margin: 0 auto 68px;
  padding: 40px 60px 60px;
  box-sizing: border-box;
  border: solid 1px #ddd;
  background: #fff
}

.form__privacy dt {
  margin-bottom: 30px;
  font-size: 2rem;
  line-height: 1.8;
  font-weight: 700
}

.form__privacy dd a {
  text-decoration: underline
}

.form__privacy dd a:hover {
  opacity: .5
}

.form input[type=date],
.form input[type=email],
.form input[type=number],
.form input[type=password],
.form input[type=tel],
.form input[type=text],
.form input[type=url],
.form select {
  width: 100%;
  height: 60px;
  padding: 0 28px;
  box-sizing: border-box;
  font-size: 1.8rem;
  line-height: 2;
  border: solid 1px #ddd;
  background-color: #f5f7f9;
  transition: all .4s
}

.form input[type=date] ::placeholder,
.form input[type=email] ::placeholder,
.form input[type=number] ::placeholder,
.form input[type=password] ::placeholder,
.form input[type=tel] ::placeholder,
.form input[type=text] ::placeholder,
.form input[type=url] ::placeholder,
.form select ::placeholder {
  color: #717171
}

.form input[type=date]:focus,
.form input[type=email]:focus,
.form input[type=number]:focus,
.form input[type=password]:focus,
.form input[type=tel]:focus,
.form input[type=text]:focus,
.form input[type=url]:focus,
.form select:focus {
  background-color: #fff
}

.form .-name>label {
  display: flex;
  align-items: center;
  width: 100%;
}

.form .-name>label+label {
  margin-left: 40px
}

.form .-name>label span {
  min-width: 2em;
  margin-right: 10px
}

.form .-tel {
  display: flex;
  align-items: center
}

.form .-tel i {
  flex-shrink: 0;
  margin: 0 10px
}

.form .-mail {
  display: flex;
  align-items: center
}

.form .-mail i {
  flex-shrink: 0;
  margin: 0 10px
}

.form textarea {
  width: 100%;
  height: 230px;
  box-sizing: border-box;
  padding: 16px 28px;
  font-size: 18px;
  border: solid 1px #ddd;
  background-color: #f5f7f9;
  transition: all .4s
}

.form textarea ::placeholder {
  color: #717171
}

.form textarea:focus {
  background-color: #fff
}

.form__btn {
  display: block;
  width: 240px;
  height: 64px;
  margin: 0 auto;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  letter-spacing: .15em;
  text-indent: .15em;
  background: #111;
  transition: .6s;
  cursor: pointer
}

.form__btn:hover {
  opacity: .7;
  color: #d0bb92
}

.form__check {
  display: block;
  margin-bottom: 60px
}

.form__check .mwform-checkbox-field.horizontal-item {
  width: 100%
}

.form__check .mwform-checkbox-field-text,
.wpcf7-list-item-label{
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 0
}

.form__check .mwform-checkbox-field-text::before,
.wpcf7-list-item-label:before{
  position: inherit;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  top: auto;
  left: auto;
  transform: none;
  margin-right: 10px
}

.form__check .mwform-checkbox-field-text::after,
.wpcf7-list-item-label:after{
  content: none
}

.form__check input[type=checkbox]:checked+.mwform-checkbox-field-text::before,
input[type=checkbox]:checked+.wpcf7-list-item-label::before{
  background: #d0bb92 url("../img/icn_check.svg") no-repeat center/14px 14px
}

input[type=checkbox],
input[type=file],
input[type=radio] {
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
  opacity: 0
}

.mwform-checkbox-field,
.mwform-radio-field{
  padding-top: 13px
}

.mwform-checkbox-field.horizontal-item,
.mwform-radio-field.horizontal-item,
.wpcf7-list-item{
  display: inline-block;
  width: calc(100% / 3 - 30px);
  margin-right: 30px
}

.mwform-checkbox-field.horizontal-item+.horizontal-item,
.mwform-radio-field.horizontal-item+.horizontal-item {
  margin-left: 0 !important
}

.mwform-checkbox-field.vertical-item,
.mwform-radio-field.vertical-item {
  display: block
}

.mwform-radio-field-text {
  position: relative;
  display: block;
  padding-left: 40px;
  font-size: 1.5rem;
  line-height: 2.66667;
  cursor: pointer
}

.mwform-radio-field-text::before{
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  box-sizing: border-box;
  border: 1px solid #111;
  border-radius: 50%;
  box-shadow: 0 0 0 0 #fff inset;
  background: #f5f7f9;
  transition: .3s
}

input[type=radio]:checked+.mwform-radio-field-text::before{
  background: #d0bb92;
  box-shadow: 0 0 0 2px #fff inset
}

input[type=radio]:focus+.mwform-radio-field-text::before {
  box-shadow: 0 0 0 2px #fff inset, 0 0 3px #111
}

.mwform-checkbox-field-text,
.wpcf7-list-item-label{
  position: relative;
  display: block;
  padding-left: 40px;
  font-size: 1.5rem;
  line-height: 1.86667;
  cursor: pointer
}

.mwform-checkbox-field-text::before,
.wpcf7-list-item-label:before{
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  box-sizing: border-box;
  border: 1px solid #111;
  background: #f5f7f9
}

.mwform-checkbox-field-text::after,
.wpcf7-list-item-label:after{
  content: '';
  position: absolute;
  width: 14px;
  height: 14px;
  top: 50%;
  left: 2px;
  transform: translateY(-40%) rotate(30deg);
  background: url("../img/icn_check.svg") no-repeat center/contain;
  transition: .3s;
  opacity: 0;
  visibility: hidden
}

.mwform-checkbox-field-text input[type=checkbox],
.wpcf7-list-item-label input[type=checkbox]{
  font-size: 1.5rem;
  line-height: 1.86667
}

input[type=checkbox]:checked+.mwform-checkbox-field-text::before,
input[type=checkbox]:checked+.wpcf7-list-item-label::before{
  background: #d0bb92
}

input[type=checkbox]:checked+.mwform-checkbox-field-text::after,
input[type=checkbox]:checked+.wpcf7-list-item-label::after{
  transform: translateY(-50%);
  opacity: 1;
  visibility: visible
}

input[type=checkbox]:focus+.mwform-checkbox-field-text::before,
input[type=checkbox]:focus+.wpcf7-list-item-label::before{
  box-shadow: 0 0 2px #111
}

.staff {
  margin-top: 60px
}

.staff__wrap+.staff__wrap {
  margin-top: 120px
}

.staff__items {
  display: flex;
  flex-wrap: wrap
}

.staff__item {
  width: 19.19%;
  margin-right: 7.746%
}

.staff__item:nth-of-type(4n) {
  margin-right: 0
}

.staff__item:nth-of-type(n+5) {
  margin-top: 57px
}

.staff__item a {
  display: flex;
  flex-direction: column
}

.staff__item a:hover {
  opacity: .7
}

.staff__item a:hover img {
  transform: scale(1.05)
}

.staff__detail {
  display: flex;
  flex-direction: column;
  align-items: center
}

.staff__heading {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700
}

.staff__post {
  order: -1;
  font-size: 1.6rem;
  line-height: 1.75;
  color: #c0a26f
}

/* 2022/01/06 追記 */
.staff__heading br {
  display: none;
}

.staff__image {
  order: -1;
  min-height: 0;
  margin-bottom: 23px;
  overflow: hidden;
  border-radius: 50%
}

.staff__image img {
  width: 100%;
  transition: .6s
}

.staff-detail {
  margin-top: 60px
}

.staff-detail__wrap {
  margin-bottom: 98px
}

.staff-detail__intro {
  display: flex;
  margin-bottom: 100px
}

.staff-detail__detail {
  display: flex;
  flex-direction: column;
  flex-grow: 1
}

.staff-detail__head {
  margin-bottom: 20px;
  font-size: 4rem;
  line-height: 1.45;
  font-weight: 700
}

.staff-detail__post {
  order: -1;
  font-size: 2.2rem;
  line-height: 1.5;
  color: #777
}

.staff-detail__txt {
  padding-top: 27px;
  font-size: 1.8rem;
  line-height: 1.88889;
  border-top: 2px solid #111
}

.staff-detail__image {
  order: -1;
  flex-shrink: 0;
  width: 238px;
  margin-right: 60px
}

.staff-detail__image img {
  width: 100%
}

.staff-detail__item+.staff-detail__item {
  margin-top: 80px
}

.staff-detail__heading {
  position: relative;
  margin-bottom: 78px;
  padding: 3px 0 3px 34px;
  font-size: 3rem;
  line-height: 1.5;
  font-weight: 700;
  text-transform: uppercase
}

.staff-detail__heading::before {
  content: '';
  position: absolute;
  width: 4px;
  height: 100%;
  top: 0;
  left: 0;
  background: #111
}

.staff-topics {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1080px;
  margin: 0 auto
}

.staff-topics__item {
  display: flex;
  flex-direction: column;
  width: 46.296%
}

.staff-topics__item:nth-of-type(n+3) {
  margin-top: 50px
}

.staff-topics__heading {
  margin-bottom: 6px;
  font-size: 2.2rem;
  line-height: 1.54545;
  color: #c0a26f
}

.staff-topics__txt {
  font-size: 1.8rem;
  line-height: 1.88889
}

.staff-topics__image {
  order: -1;
  min-height: 0;
  margin-bottom: 30px
}

.staff-topics__image img {
  width: 100%
}

.detail {
  margin: 60px 0 98px
}

.detail__head {
  margin-bottom: 70px;
  font-size: 3.8rem;
  line-height: 1.47368;
  font-weight: 700
}

.detail__categories {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 90px
}

.detail__category {
  width: calc(100% / 4 - 20px);
  margin-right: 26px
}

.detail__category:nth-of-type(4n) {
  margin-right: 0
}

.detail__category:nth-of-type(n+5) {
  margin-top: 27px
}

.detail__category a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #d0bb92;
  text-align: center;
  background: #111;
  z-index: 1
}

.detail__category a:hover {
  opacity: .7
}

.detail__items {
  margin-bottom: 100px
}

.detail__item {
  display: flex;
  justify-content: space-between
}

.detail__item:nth-of-type(even) {
  flex-direction: row-reverse
}

.detail__item+.detail__item {
  margin-top: 90px
}

.detail__images {
  display: flex;
  flex-direction: column;
  width: 46.774%
}

.detail__image {
  height: 93.79125vw;
  max-height: 300px
}

.detail__item>.detail__image {
  width: 46.774%;
  height: 51.51515vw;
  max-height: 710px
}

.detail__image+.detail__image {
  margin-top: auto
}

.detail__image img {
  width: 100%;
  height: 98%;
  object-fit: cover;
  font-family: 'object-fit: cover;'
}
.detail__image-caption {
  margin-top: 10px;
  text-align: left;
}

.lifestyle-tags {
  display: flex;
  flex-wrap: wrap;
  margin: 100px 0
}

.lifestyle-tags__item {
  width: 17.98%;
  margin-right: 2.525%
}

.lifestyle-tags__item:nth-of-type(5n) {
  margin-right: 0
}

.lifestyle-tags__item:nth-of-type(n+6) {
  margin-top: 28px
}

.lifestyle-tags__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 70px;
  padding: 8px;
  box-sizing: border-box;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: .05em;
  text-indent: .05em;
  border: 1px solid #ccc;
  border-radius: 35px;
  background: #fff
}

.lifestyle-tags__item a::before {
  content: '#'
}

.lifestyle-tags__item a:hover {
  opacity: .7;
  color: #d0bb92
}

.lifestyle {
  margin-bottom: 100px
}

.lifestyle__wrap {
  display: flex;
  justify-content: space-between
}

.lifestyle__wrap:nth-of-type(even) {
  flex-direction: row-reverse
}

.lifestyle__wrap+.lifestyle__wrap {
  margin-top: 80px
}

.lifestyle__items {
  display: flex;
  flex-direction: column;
  width: 46.774%
}

.lifestyle__item {
  position: relative;
  height: 300px
}

.lifestyle__wrap>.lifestyle__item {
  width: 46.774%;
  height: 680px
}

.lifestyle__item+.lifestyle__item {
  margin-top: auto
}

.lifestyle__item a {
  display: block;
  height: 100%
}

.lifestyle__item a:hover {
  opacity: .7
}

.lifestyle__item a:hover img {
  transform: scale(1.05)
}

.lifestyle__detail {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 86.2%;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1
}

.lifestyle__items .lifestyle__detail {
  width: 92.41%;
  bottom: 30px
}

.lifestyle__heading {
  margin-bottom: 32px;
  font-size: 3.2rem;
  line-height: 1.46875;
  color: #fff;
  letter-spacing: .05em
}

.lifestyle__items .lifestyle__heading {
  margin-bottom: 18px
}

.lifestyle__categories {
  display: flex;
  flex-wrap: wrap
}

.lifestyle__category {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 136px;
  height: 40px;
  margin: 8px 14px 0 0;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: .05em;
  text-indent: .05em;
  border-radius: 20px;
  background: #fff
}

.lifestyle__category::before {
  content: '#'
}

.lifestyle__image {
  height: 100%;
  overflow: hidden
}

.lifestyle__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  transition: .6s
}

.basic-slide {
  margin: 60px 0 90px;
  padding-bottom: 57px;
  font-size: 1.8rem;
  line-height: 1.88889
}

.basic-slide__item {
  background: rgba(0, 0, 0, .85)
}

.basic-slide__item img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 827px;
  height: 827px;
  margin: 0 auto
}

.basic-slide__item figcaption {
  padding-top: 27px;
  font-size: 1.8rem;
  line-height: 1.88889;
  background: #fff;
  margin: 0px -1px -2px;
}

.basic-slide__btn {
  width: 47px;
  height: 47px;
  top: 45.5%;
  border-radius: 50%
}

.basic-slide__btn.-prev {
  left: 40px;
  background: #111 url("../img/icn_prev.svg") no-repeat center/11px 18px
}

.basic-slide__btn.-next {
  right: 40px;
  background: #111 url("../img/icn_next.svg") no-repeat center/11px 18px
}

.basic-slide__pagination {
  width: 100%
}

.event {
  display: flex;
  flex-wrap: wrap;
  margin: 100px 0 106px
}

.event__item {
  width: 29.03%;
  margin-right: 6.45%
}

.event__item:nth-of-type(3n) {
  margin-right: 0
}

.event__item:nth-of-type(n+4) {
  margin-top: 86px
}

.event__item a {
  display: flex;
  flex-direction: column
}

.event__item a:hover {
  opacity: .7
}

.event__item a:hover img {
  transform: scale(1.05)
}

.event__detail {
  display: flex;
  flex-direction: column
}

.event__heading {
  order: 1;
  font-size: 1.8rem;
  line-height: 1.88889;
  font-weight: 700
}

.event__data {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline
}

.event__state {
  margin: 0 10px 10px 0;
  padding: 0 15px;
  font-size: 1.8rem;
  line-height: 2.05556;
  color: #fff;
  background: #b10b0b
}

.event__state.-fin {
  background: #666
}

.event__date {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  font-size: 1.8rem;
  line-height: 1.88889;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.event__category {
  margin-bottom: 10px;
  padding: 0 15px;
  font-size: 1.8rem;
  line-height: 2.05556;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  background: #111
}

.event__image {
  order: -1;
  height: 256px;
  min-height: 0;
  margin-bottom: 30px;
  overflow: hidden
}

.event__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  transition: .6s
}

.event-detail {
  margin: 60px 0 98px
}

.event-detail__intro {
  display: flex;
  flex-direction: column
}

.event-detail__head {
  margin-top: 10px;
  padding-bottom: 20px;
  font-size: 3.8rem;
  line-height: 1.47368;
  font-weight: 700;
  border-bottom: 2px solid #111
}

.event-detail__data {
  display: flex;
  order: -1;
  flex-wrap: wrap;
  justify-content: space-between
}

.event-detail__date {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 10px
}

.event-detail__date dt {
  margin-right: 20px;
  padding: 0 15px;
  font-size: 1.8rem;
  line-height: 2.05556;
  color: #fff;
  background: #666
}

.event-detail__date dd {
  display: inline-flex;
  flex-wrap: wrap;
  font-size: 1.8rem;
  line-height: 1.88889;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.event-detail__category {
  display: block;
  margin-left: 20px;
  padding: 0 15px;
  font-size: 1.8rem;
  line-height: 2.05556;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  background: #111
}

.event-detail__category:hover {
  opacity: .7
}

.event-detail__item {
  margin-bottom: 120px
}

.event-detail__map {
  width: 100%;
  height: 400px
}

.event-detail__map iframe {
  width: 100%;
  height: 100%
}

.news {
  max-width: 1080px;
  margin: 44px auto 100px
}

.news__item {
  border-bottom: 1px solid #666
}

.news__item a {
  display: flex;
  align-items: flex-start;
  padding: 25px 0
}

.news__item a:hover {
  opacity: .5
}

.news__heading {
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: .05em
}

.news__date {
  order: -1;
  flex-shrink: 0;
  margin-right: 39px;
  padding-top: 2px;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 900;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: .05em
}

.modal {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, .9)
}

.modal[aria-hidden=false] {
  display: block
}

.modal__wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 40px;
  box-sizing: border-box
}

.modal__image {
  transition: .1s linear
}

.modal__image img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%
}

.modal__close {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 20px;
  right: 20px;
  border: none;
  font-size: 2rem;
  line-height: 1.5;
  color: #fff;
  z-index: 100
}

.modal__close:hover {
  opacity: .5
}

.modal__btn {
  display: block;
  position: absolute;
  position: fixed;
  width: 20px;
  top: 50%;
  transform: translateY(-50%);
  user-select: none;
  z-index: 1000
}

.modal__btn:hover {
  opacity: .5
}

.modal__btn img {
  width: 100%
}

.modal__btn[name=prev] {
  left: 20px
}

.modal__btn[name=next] {
  right: 20px
}

.voice {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.voice__item {
  width: 46.774%
}

.voice__item:nth-of-type(n+3) {
  margin-top: 75px
}

.voice__heading:not(:root) {
  font-size: 3.4rem;
  line-height: 1.47059;
  margin-bottom: 20px
}

.voice__fig {
  margin-bottom: 26px
}

.voice__fig figcaption {
  margin-bottom: 25px;
  font-size: 2.6rem;
  line-height: 1.46154;
  color: #d0bb92
}

.voice__fig ul:not(:root) {
  display: flex;
  justify-content: center;
  padding: 30px 15px;
  background: #f5f7f9
}

.voice__fig ul:not(:root) li {
  margin: 0 15px;
  padding-left: 0
}

.voice__fig ul:not(:root) li::before {
  content: none
}

.voice__fig img {
  width: auto
}

.voice__txt {
  font-size: 1.6rem;
  line-height: 2.375
}

.voice__txt+.voice__txt {
  margin-top: 8px
}

.voice__txt strong {
  font-size: 2rem;
  line-height: 1.9
}

.flow__wrap+.flow__wrap {
  margin-top: 90px
}

.flow__head:not(:root) {
  margin-bottom: 60px
}

.flow__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.flow__item {
  width: 46.774%
}

.flow__item:nth-of-type(n+3) {
  margin-top: 58px
}

.flow__heading:not(:root) {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
  padding: 0
}

.flow__heading:not(:root)::before {
  width: 60px;
  z-index: -1
}

.flow__heading:not(:root) i {
  display: block;
  flex-shrink: 0;
  width: 60px;
  height: 100%;
  font-size: 3rem;
  line-height: 1.36667;
  color: #d0bb92;
  text-align: center;
  background: #111
}

.flow__heading:not(:root) span {
  flex-grow: 1;
  padding: 13px 30px;
  box-sizing: border-box;
  font-size: 2.2rem;
  line-height: 1.5;
  background: #f5f7f9
}

.flow__txt {
  font-size: 1.6rem;
  line-height: 2.375
}

.flow-nav {
  margin-bottom: 60px
}

.flow-nav__items {
  display: flex;
  justify-content: center
}

.flow-nav__item+.flow-nav__item {
  margin-left: 25px
}

.flow-nav__item:not(:root) {
  padding-left: 0
}

.flow-nav__item:not(:root)::before {
  content: none
}

.flow-nav__item:not(:root) a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 360px;
  height: 106px;
  font-size: 1.8rem;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  letter-spacing: .05em;
  text-indent: .05em;
  text-decoration: none;
  background: #111
}

.flow-nav__item:not(:root) a:hover {
  color: #d0bb92
}

.untroubled__lead {
  display: flex;
  justify-content: center;
  margin-bottom: 45px;
  font-size: 1.6rem;
  line-height: 2.375
}

.untroubled__tabs {
  display: flex;
  justify-content: center;
  margin-bottom: 80px
}

.untroubled__tab {
  width: 290px
}

.untroubled__tab+.untroubled__tab {
  margin-left: 26px
}

.untroubled__btn {
  width: 100%;
  height: 80px;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
  letter-spacing: .05em;
  text-indent: .05em;
  background: #f5f7f9
}

.untroubled__btn:hover {
  opacity: .7
}

.untroubled__btn[aria-selected=true] {
  pointer-events: none;
  color: #d0bb92;
  background: #111
}

.untroubled__wrap {
  display: none
}

.untroubled__wrap[aria-hidden=false] {
  display: block
}

.untroubled__item+.untroubled__item {
  margin-top: 85px
}

.untroubled__head:not(:root) {
  display: flex;
  align-items: center
}

.untroubled__head:not(:root) [lang=en] {
  font-family: "Noto Sans CJK JP", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700
}

.untroubled__head:not(:root) [lang=en]::before {
  content: '-';
  margin: 0 10px
}

.untroubled__summary {
  margin-top: 90px;
  font-size: 2rem;
  line-height: 1.9;
  text-align: center
}

.untroubled-point {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.untroubled-point.-structure {
  margin-top: 78px
}

.untroubled-point__item {
  display: flex;
  flex-direction: column;
  width: 46.774%
}

.untroubled-point__item:nth-of-type(n+3) {
  margin-top: 80px
}

.untroubled-point__heading:not(:root) {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: 60px;
  padding: 0 15px;
  box-sizing: border-box;
  font-size: 2rem;
  line-height: 1.45;
  color: #d0bb92;
  background: #111
}

.untroubled-point__heading:not(:root) small {
  margin-left: 4px;
  font-size: 1.6rem;
  line-height: 1.5
}

.untroubled-point__detail {
  flex-grow: 1;
  padding: 42px 50px;
  font-size: 1.6rem;
  line-height: 2.375;
  background: #f5f7f9
}

.untroubled-point__data>div {
  display: flex
}

.untroubled-point__data dt::after {
  content: '：'
}

.untroubled-point__list li:not(:root) {
  padding-left: 19px
}

.untroubled-point__list li:not(:root)::before {
  width: 6px;
  height: 6px;
  top: 18px;
  background: #d0bb92
}

.structure+.structure {
  margin-top: 75px
}

.structure__head:not(:root) {
  position: relative;
  margin-bottom: 45px;
  padding-left: 50px;
  box-sizing: border-box;
  font-size: 3rem;
  line-height: 5.56667;
  font-weight: 700;
  background: #f5f7f9
}

.structure__head:not(:root)::before {
  content: none
}

.structure__head:not(:root)::after {
  content: '';
  position: absolute;
  width: 578px;
  height: 100%;
  top: 0;
  right: 0
}

.structure__head:not(:root).-type-1::after {
  background: url("../img/img_untroubled_01.jpg") no-repeat center left/contain
}

.structure__head:not(:root).-type-2::after {
  background: url("../img/img_untroubled_02.jpg") no-repeat center left/contain
}

.structure__txt {
  font-size: 1.6rem;
  line-height: 2.375
}

.structure__txt+.structure__txt {
  margin-top: 50px
}

.structure__points {
  display: block;
  margin-bottom: 32px
}

.structure__point {
  display: flex;
  align-items: center;
  padding-bottom: 30px;
  border-bottom: 1px solid #eee
}

.structure__point+.structure__point {
  margin-top: 30px
}

.structure__point i {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  margin-right: 40px;
  font-size: 3.4rem;
  line-height: 1.11765;
  font-weight: 700;
  color: #fff;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background: #111
}

.structure__point span {
  font-size: 2.4rem;
  line-height: 1.58333
}

.construction__intro {
  max-width: 800px;
  margin: 80px auto
}

.construction__fig {
  margin-bottom: 30px
}

.construction__fig img {
  width: 100%
}

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

.construction__item+.construction__item {
  margin-top: 20px
}

.construction__item dt {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: baseline;
  width: 134px;
  height: 50px;
  margin-right: 26px;
  padding-top: 5px;
  box-sizing: border-box;
  background: #111;
  font-size: 3rem;
  line-height: 1.36667;
  color: #fff
}

.construction__item dt span {
  margin-left: 10px;
  font-size: 2rem;
  line-height: 1.35
}

.construction__item dd {
  font-size: 1.6rem;
  line-height: 2.375
}

.construction-detail+.construction-detail {
  margin-top: 80px
}

.construction-detail__head:not(:root) {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: baseline;
  width: 134px;
  height: 50px;
  margin-bottom: 45px;
  padding: 5px 0 0;
  box-sizing: border-box;
  background: #111;
  font-size: 3rem;
  line-height: 1.36667;
  color: #fff
}

.construction-detail__head:not(:root) span {
  margin-left: 10px;
  font-size: 2rem;
  line-height: 1.35
}

.construction-detail__head:not(:root)::before {
  content: none
}

.construction-detail__item+.construction-detail__item {
  margin-top: 62px
}

.construction-detail__heading:not(:root) {
  position: relative;
  margin-bottom: 42px;
  padding: 3px 0 3px 34px;
  font-size: 3rem;
  line-height: 1.5;
  font-weight: 700;
  border-bottom: none
}

.construction-detail__heading:not(:root)::before {
  content: '';
  position: absolute;
  width: 4px;
  height: 100%;
  top: 0;
  left: 0;
  background: #111
}

.construction-detail__txt {
  font-size: 1.6rem;
  line-height: 2.375
}

.construction-detail__detail {
  display: flex
}

.construction-detail__fig {
  flex-shrink: 0;
  width: 257px;
  margin-right: 45px
}

.construction-detail__fig img {
  width: 100%
}

.construction-merit {
  margin: 75px 0;
  padding: 50px 80px 65px;
  box-sizing: border-box;
  background: #f5f7f9
}

.construction-merit__head:not(:root) {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 50px;
  padding: 0;
  font-size: 3rem;
  line-height: 1.5;
  text-align: center;
  border-bottom: none
}

.construction-merit__item+.construction-merit__item {
  margin-top: 35px
}

.construction-merit__item:not(:root) {
  display: flex;
  flex-direction: column;
  padding-left: 0
}

.construction-merit__item:not(:root)::before {
  content: none
}

.construction-merit__item strong {
  display: flex;
  align-items: center
}

.construction-merit__item strong [lang=en] {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 134px;
  height: 50px;
  margin-right: 30px;
  font-size: 2rem;
  line-height: 1.35;
  color: #fff;
  background: #111
}

.construction-merit__item strong [lang=en] span {
  margin-left: 10px;
  font-size: 3rem;
  line-height: 1.36667
}

.construction-merit__item strong [lang=ja] {
  font-size: 2rem;
  line-height: 1.9
}

.construction-merit__item>span {
  max-width: 832px;
  margin-top: 22px;
  font-size: 1.6rem;
  line-height: 2.375
}

.relief {
  margin-top: 90px
}

.relief__item+.relief__item {
  margin-top: 60px
}

.relief__heading-1:not(:root) {
  margin-bottom: 50px
}

.relief__maintenance {
  display: flex;
  margin-top: 100px
}

.relief__fig {
  flex-shrink: 0;
  width: 450px;
  margin-right: 50px
}

.relief__fig img {
  width: 100%
}

.relief__txt {
  font-size: 1.6rem;
  line-height: 2.375
}

.relief__heading-2:not(:root) {
  margin-bottom: 50px
}

.relief__detail+.relief__detail {
  margin-top: 80px
}

.relief__list {
  padding: 0 50px
}

.relief__list li:not(:root) {
  padding-left: 19px;
  font-size: 1.6rem;
  line-height: 2.375
}

.relief__list li:not(:root)::before {
  width: 6px;
  height: 6px;
  top: 18px;
  background: #d0bb92
}

.relief-tables {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 75px
}

.relief-tables__item {
  width: 46.774%
}

.relief-tables__item:nth-of-type(n+3) {
  margin-top: 75px
}

.relief-tables__heading:not(:root) {
  white-space: nowrap
}

.relief-tables__table:not(:root) {
  table-layout: fixed;
  margin-top: 50px;
  border: 1px solid #ccc
}

.relief-tables__table:not(:root) td,
.relief-tables__table:not(:root) th {
  font-size: 1.6rem;
  line-height: 2.375;
  vertical-align: middle;
  border-bottom: 1px solid #ccc
}

.relief-tables__table:not(:root) th {
  width: 100%;
  padding: 3px 15px 8px
}

.relief-tables__table:not(:root) th.-num {
  width: 60px;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1.375;
  font-weight: 900;
  font-family: Avenir, Prompt, "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: center
}

.relief-tables__table:not(:root) td {
  padding: 3px 25px 8px
}

.relief-tables__table:not(:root) td a {
  color: #111;
  text-decoration: none
}

.relief-tables__table:not(:root) tr>*+* {
  border-left: 1px solid #ccc
}

.relief-tables__table:not(:root) thead th {
  text-align: center
}

.relief-tables__table:not(:root) tbody tr:nth-of-type(odd) * {
  background: #f5f7f9
}

.spec {
  margin-top: 90px
}

.spec__item+.spec__item {
  margin-top: 105px
}

.spec__heading:not(:root) {
  margin-bottom: 50px
}

.spec__txt {
  font-size: 1.6rem;
  line-height: 2.375
}

.spec__list li:not(:root) {
  padding-left: 19px;
  font-size: 1.6rem;
  line-height: 2.375
}

.spec__list li:not(:root)::before {
  width: 6px;
  height: 6px;
  top: 18px;
  background: #d0bb92
}

.spec-detail {
  margin-top: 45px;
  padding: 50px 50px 45px;
  box-sizing: border-box;
  background: #f5f7f9
}

.spec-detail__item+.spec-detail__item {
  margin-top: 45px
}

.spec-detail__heading:not(:root) {
  margin-bottom: 22px
}

.spec-detail__txt {
  font-size: 1.6rem;
  line-height: 2.375
}

.sitemap:not(:root) {
  display: flex;
  justify-content: space-between
}

.sitemap:not(:root)>ul {
  width: 29.03%
}

.sitemap:not(:root) ul li {
  padding-left: 18px
}

.sitemap:not(:root) ul li::before {
  content: '';
  width: 6px;
  height: 6px;
  top: 14px
}

.archive-pager {
  display: flex;
  justify-content: center;
  align-items: center
}

.archive-pager__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  font-size: 1.8rem;
  line-height: 2.77778;
  font-weight: 400;
  font-family: "Noto Sans CJK JP", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: .05em;
  transition: .3s
}

.archive-pager__btn:hover {
  opacity: .7;
  color: #d0bb92
}

.archive-pager__btn[aria-disabled] {
  pointer-events: none;
  opacity: 0;
  visibility: hidden
}

.archive-pager__btn.-prev::before {
  content: '<';
  margin-right: 4px
}

.archive-pager__btn.-next::after {
  content: '>';
  margin-left: 4px
}

.archive-pager__items {
  display: flex;
  margin: 0 30px
}

.archive-pager__item {
  margin: 0 10px
}

.archive-pager__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  box-sizing: border-box;
  font-size: 1.8rem;
  line-height: 1.38889;
  color: #fff;
  background: #999
}

.archive-pager__item a:hover {
  opacity: .8;
  color: #d0bb92;
  background: #111
}

.archive-pager__item a[aria-current] {
  pointer-events: none;
  background: #111
}

.archive-pager__item a[aria-disabled] {
  pointer-events: none
}

.archive-pager__item.-dot {
  margin: 0 10px
}

.detail-pager {
  display: flex;
  justify-content: center
}

.detail-pager__item {
  margin: 0 30px
}

.detail-pager__item a {
  display: block;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 400;
  font-family: "Noto Sans CJK JP", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: .05em;
  text-transform: uppercase
}

.detail-pager__item a:hover {
  opacity: .7;
  color: #d0bb92
}

.detail-pager__item a[aria-disabled=true] {
  pointer-events: none;
  opacity: 0
}

.detail-pager__item.-prev a::before {
  content: '<';
  margin-right: 4px
}

.detail-pager__item.-next a::after {
  content: '>';
  margin-left: 4px
}

.dgwt-jg-item:not(:root) {
  position: absolute;
  display: inline-block;
  opacity: .1;
  margin: 0;
  padding: 0;
  overflow: visible;
  background: 0 0
}

.dgwt-jg-item:not(:root) .jg-no-link-wrapp,
.dgwt-jg-item:not(:root) a {
  display: block;
  height: 100%;
  width: 100%;
  text-decoration: none;
  display: flex;
  flex-direction: column
}

.dgwt-jg-item:not(:root) img {
  border-radius: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  padding: 0;
  border: none;
  filter: "alpha(opacity=0)";
  opacity: 0;
  min-height: 0
}

.dgwt-jg-effect-standard:not(:root) .dgwt-jg-caption {
  display: block;
  height: auto;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  padding: 0;
  color: #111;
  text-align: left;
  overflow: inherit;
  background: 0 0;
  animation: none !important
}

.dgwt-jg-effect-standard:not(:root) .dgwt-jg-caption span {
  color: #fff;
  display: block;
  font-weight: 900;
  line-height: 120%;
  position: relative;
  padding: 14px 0 0;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 400;
  color: #111;
  letter-spacing: 0;
  top: auto;
  transform: none;
  opacity: 1
}

.dgwt-jg-effect-standard:not(:root) .dgwt-jg-caption svg {
  display: none
}

.dgwt-jg-effect-standard:not(:root) a .dgwt-jg-caption {
  cursor: pointer
}

.errMsg {
  margin-left: 1em !important;
  padding-bottom: 1px !important;
  display: block !important;
  line-height: 1.4 !important;
  text-indent: -.9em !important;
  font-size: 100% !important
}

.formError {
  position: absolute;
  padding-bottom: 13px;
  display: block;
  bottom: 100%;
  left: 0
}

.fixed {
  padding-bottom: 0
}

.formError .formErrorClose {
  border: solid #252525 2px;
  border-radius: 9px 9px 9px 9px;
  -moz-border-radius: 9px 9px 9px 9px;
  -webkit-border-radius: 9px 9px 9px 9px;
  display: block;
  width: 16px;
  height: 16px;
  position: absolute;
  top: -4px;
  right: -4px;
  color: #efefef;
  background: #333;
  font-weight: 700;
  text-align: center;
  line-height: middle;
  cursor: pointer;
  box-shadow: 1px -1px 3px #888;
  -moz-box-shadow: 1px -1px 3px #888;
  -webkit-box-shadow: 1px -1px 3px #888
}

.formError .formErrorClose:hover {
  background: #666
}

.fixed .formErrorClose {
  display: none
}

.formError .formErrorContent {
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  padding: 6px 10px;
  width: 180px;
  position: relative;
  color: #fff;
  background: #252525;
  font-family: "Lucida Sans Unicode", "Lucida Grande", Arial, Helvetica, "ヒラギノ丸ゴ Pro W4", HiraMaruPro-W4, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, sans-serif;
  font-size: 11px;
  box-shadow: 0 0 6px #888;
  -moz-box-shadow: 0 0 6px #888;
  -webkit-box-shadow: 0 0 6px #888
}

.fixed .formErrorContent {
  margin-top: .5em;
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  background: #f60;
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none
}

.fadeOut {
  opacity: .2
}

.formError .formErrorArrow {
  width: 15px;
  height: 15px;
  position: absolute;
  bottom: 0;
  left: 20px
}

.fixed .formErrorArrow {
  display: none
}

.formError .formErrorArrowBottom {
  margin: -6px;
  top: 0
}

.fixed .formErrorArrowBottom {
  display: none
}

.formError .formErrorArrow div {
  margin: 0 auto;
  display: block;
  height: 1px;
  background: #252525;
  line-height: 0;
  font-size: 0;
  box-shadow: 0 2px 3px #888;
  -moz-box-shadow: 0 2px 3px #888;
  -webkit-box-shadow: 0 2px 3px #888
}

.formError .formErrorArrowBottom div {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none
}

.formError .formErrorArrow .line10 {
  width: 19px
}

.formError .formErrorArrow .line9 {
  width: 17px
}

.formError .formErrorArrow .line8 {
  width: 15px
}

.formError .formErrorArrow .line7 {
  width: 13px
}

.formError .formErrorArrow .line6 {
  width: 11px
}

.formError .formErrorArrow .line5 {
  width: 9px
}

.formError .formErrorArrow .line4 {
  width: 7px
}

.formError .formErrorArrow .line3 {
  width: 5px
}

.formError .formErrorArrow .line2 {
  width: 3px
}

.formError .formErrorArrow .line1 {
  width: 1px
}

span.loading07 {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 50px;
  vertical-align: middle;
  -webkit-animation: animation07 2s linear infinite;
  animation: animation07 2s linear infinite
}

span.loading07 span {
  position: absolute;
  display: inline-block;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}

span.loading07 span:after,
span.loading07 span:before,
span.loading07:after,
span.loading07:before {
  position: absolute;
  display: inline-block;
  content: " ";
  width: 23px;
  height: 23px
}

span.loading07:before {
  left: 0;
  top: 0;
  background-image: -webkit-gradient(radial, 25 25, 0, 25 25, 25, from(transparent), color-stop(.81, transparent), color-stop(.82, #0792f0), color-stop(.98, #0792f0), color-stop(.99, transparent), to(transparent));
  background-image: -webkit-radial-gradient(25px 25px, 25px 25px, transparent, transparent 81%, #0792f0 82%, #0792f0 98%, transparent 99%, transparent);
  background-image: radial-gradient(25px 25px at 25px 25px, transparent, transparent 81%, #0792f0 82%, #0792f0 98%, transparent)
}

span.loading07:after {
  right: 0;
  bottom: 0;
  background-image: -webkit-gradient(radial, -2 -2, 0, -2 -2, 25, from(transparent), color-stop(.81, transparent), color-stop(.82, #0792f0), color-stop(.98, #0792f0), color-stop(.99, transparent), to(transparent));
  background-image: -webkit-radial-gradient(-2px -2px, 25px 25px, transparent, transparent 81%, #0792f0 82%, #0792f0 98%, transparent 99%, transparent);
  background-image: radial-gradient(25px 25px at -2px -2px, transparent, transparent 81%, #0792f0 82%, #0792f0 98%, transparent)
}

span.loading07 span:before {
  left: 0;
  bottom: 0;
  background-image: -webkit-gradient(radial, 25 -2, 0, 25 -2, 25, from(transparent), color-stop(.81, transparent), color-stop(.82, #0792f0), color-stop(.98, #0792f0), color-stop(.99, transparent), to(transparent));
  background-image: -webkit-radial-gradient(25px -2px, 25px 25px, transparent, transparent 81%, #0792f0 82%, #0792f0 98%, transparent 99%, transparent);
  background-image: radial-gradient(25px 25px at 25px -2px, transparent, transparent 81%, #0792f0 82%, #0792f0 98%, transparent)
}

span.loading07 span:after {
  right: 0;
  top: 0;
  background-image: -webkit-gradient(radial, -2 25, 0, -2 25, 25, from(transparent), color-stop(.81, transparent), color-stop(.82, #0792f0), color-stop(.98, #0792f0), color-stop(.99, transparent), to(transparent));
  background-image: -webkit-radial-gradient(-2px 25px, 25px 25px, transparent, transparent 81%, #0792f0 82%, #0792f0 98%, transparent 99%, transparent);
  background-image: radial-gradient(25px 25px at -2px 25px, transparent, transparent 81%, #0792f0 82%, #0792f0 98%, transparent)
}

/* 追記 2022/01/06 */
.sp {
  display: none;
}

.banner {
  text-align: center;
}

.banner img {
  max-width: 500px;
  width: 100%;
  margin: 0 auto 15px;
}

.banner-second {
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
}

.banner-second img {
  max-width: 300px;
  margin: 0 auto;
}

.mx0 {
  margin: 0;
}

.header__contact.mx0 {
  width: 90px;
  height: auto;
}

@media screen and (max-width:1500px) {
  .pc-nav__item+.pc-nav__item {
    /*     margin-left: 3vw */
    margin-left: 1vw;
  }
}

@media screen and (max-width:1320px) {
  .l-wrapper {
    width: calc(100% - 80px)
  }

  .header__contact {
    margin-left: 30px
  }

  .header__btn {
    margin-left: 20px
  }

  .pc-nav__item+.pc-nav__item {
    margin-left: 25px
  }

  .pc-nav__item.-instagram {
    display: none
  }

  .concept::after {
    font-size: 17.42424vw
  }

  .top-blog__category {
    padding: 2px 10px
  }

  .top-company::after {
    bottom: 40px;
    font-size: 17.42424vw
  }

  .blog__category {
    padding: 2px 10px
  }

  .basic-slide__item img {
    max-height: 58.65152vw;
    height: 58.65152vw;
    /* height: 62.65152vw */
  }
}

@media screen and (max-width:1120px) {
  .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 4px
  }

  .pc-nav {
    display: none
  }

  .footer__item {
    margin-right: 5.35714vw
  }

  .footer-nav {
    flex-grow: 1;
    justify-content: space-between
  }

  .footer-nav__items+.footer-nav__items {
    margin-left: 0
  }

  .footer-nav__item a {
    min-width: 0
  }

  .aside-contact__item {
    flex-direction: column;
    align-items: center
  }

  .aside-contact__buttons {
    margin-top: 80px;
  }

  .concept__intro {
    flex-shrink: 0;
    width: 44.64286vw;
    min-width: 440px
  }

  .concept__item {
    flex-grow: 1
  }

  .concept__image {
    width: 100%
  }

  .top-event__item {
    /*sflex-grow: 1;
    margin-right: 7.35294vw*/
  }

  .top-event__image {
    /*height: 21.60714vw*/
  }

  .top-lifestyle__category {
    min-width: 120px
  }

  .top-blog__item {
    flex-grow: 1
  }

  .top-blog__item+.top-blog__item {
    margin-left: 7.35294vw
  }

  .top-blog__category {
    font-size: 1.6rem
  }

  .top-blog__image {
    height: 16.25vw
  }

  .top-company__item {
    margin-right: 20px
  }

  .top-company__detail dd {
    width: auto;
    font-size: 1.6rem
  }

  .the_content table tr>* {
    padding: 29px 60px
  }

  .blog__item:nth-of-type(n+4) {
    margin-top: 70px
  }

  .blog__category {
    padding: 2px 10px;
    font-size: 1.6rem
  }

  .blog__image {
    height: 19.01786vw
  }

  .blog-category__item {
    width: calc(100% / 3 - 18px)
  }

  .blog-category__item:nth-of-type(4n) {
    margin-right: 26px
  }

  .blog-category__item:nth-of-type(3n) {
    margin-right: 0
  }

  .blog-category__item:nth-of-type(n+4) {
    margin-top: 27px
  }

  .works-form__category {
    width: calc(100% / 3 - 18px)
  }

  .works-form__category:nth-of-type(4n) {
    margin-right: 26px
  }

  .works-form__category:nth-of-type(3n) {
    margin-right: 0
  }

  .works-form__category:nth-of-type(n+4) {
    margin-top: 27px
  }

  .staff__item {
    width: 28.168%
  }

  .staff__item:nth-of-type(4n) {
    margin-right: 7.746%
  }

  .staff__item:nth-of-type(3n) {
    margin-right: 0
  }

  .staff__item:nth-of-type(n+4) {
    margin-top: 57px
  }

  .detail__category {
    width: calc(100% / 3 - 18px)
  }

  .detail__category:nth-of-type(4n) {
    margin-right: 26px
  }

  .detail__category:nth-of-type(3n) {
    margin-right: 0
  }

  .detail__category:nth-of-type(n+4) {
    margin-top: 27px
  }

  .detail__item+.detail__item {
    margin-top: 60px
  }

  .lifestyle-tags__item {
    width: 31.65%
  }

  .lifestyle-tags__item:nth-of-type(5n) {
    margin-right: 2.525%
  }

  .lifestyle-tags__item:nth-of-type(3n) {
    margin-right: 0
  }

  .lifestyle-tags__item:nth-of-type(n+4) {
    margin-top: 18px
  }

  .lifestyle__wrap+.lifestyle__wrap {
    margin-top: 60px
  }

  .lifestyle__category {
    min-width: 120px
  }

  .basic-slide__btn.-prev {
    left: 20px;
    background-size: 11px 11px
  }

  .basic-slide__btn.-next {
    right: 20px;
    background-size: 11px 11px
  }

  .event {
    justify-content: space-between
  }

  .event__item {
    width: 46%;
    margin-right: 0
  }

  .event__item:nth-of-type(n+4) {
    margin-top: 70px
  }

  .event__item:nth-of-type(n+3) {
    margin-top: 50px;
    padding-top: 70px;
    border-top: 1px solid #666
  }

  .event__image {
    height: 30.93333vw
  }

  .voice__item {
    width: 100%
  }

  .voice__item+.voice__item {
    margin-top: 75px
  }

  .flow__item {
    width: 100%
  }

  .flow__item+.flow__item {
    margin-top: 58px
  }

  .flow-nav__item:not(:root) a {
    width: 310px
  }

  .untroubled-point__item {
    width: 100%
  }

  .untroubled-point__item+.untroubled-point__item {
    margin-top: 80px
  }

  .structure__head:not(:root)::after {
    width: 51.60714vw;
    min-width: 500px
  }

  .structure__head:not(:root).-type-1::after {
    background-size: auto 100%
  }

  .structure__head:not(:root).-type-2::after {
    background-size: auto 100%
  }

  .relief__fig {
    width: 40.17857vw
  }

  .relief-tables__item {
    width: 100%
  }

  .relief-tables__item+.relief-tables__item {
    margin-top: 75px
  }

  .relief-tables__heading:not(:root) {
    white-space: normal
  }
}

@media screen and (max-width:768px) {
  #alert {
    margin-bottom: 40px;
    text-align: left
  }

  [data-device=pc] {
    display: none !important
  }

  [data-device=sp] {
    display: block !important
  }

  .sp-only {
    display: block !important
  }

  .pc-only {
    display: none !important
  }

  .js-sa.-sp-up {
    transform: translateY(30px)
  }

  a[href^="tel:"] {
    pointer-events: all
  }

  [lang=en] {
    font-weight: 700
  }

  .l-main {
    padding: 57px 0 120px
  }

  .l-main.-top {
    padding-bottom: 0
  }

  .l-wrapper {
    width: 89.33333vw
  }

  .l-top {
    padding-bottom: 120px
  }

  .l-top::before {
    width: 25.33333vw
  }

  .swiper-pagination-bullet {
    width: 12px;
    height: 12px
  }

  .header {
    padding: 7px 0;
    background: #111
  }

  .header__wrap {
    padding-left: 5.33333vw
  }

  .header__head {
    width: 109px;
    transform: none
  }

  .header__contact {
    display: none
  }

  .header__btn {
    width: 60px;
    height: 43px
  }

  .header__btn>span {
    width: 22px;
    padding-left: 4px
  }

  .header__btn i::before {
    width: 22px;
    top: -8px
  }

  .header__btn i::after {
    width: 14px;
    bottom: -8px
  }

  .header__btn[aria-expanded=true] i::after {
    width: 22px
  }

  .nav {
    width: 88%;
    min-width: 0;
    padding-top: 80px
  }

  .nav__wrap {
    width: 84%;
    min-width: 0
  }

  .nav__parent a {
    font-size: 1.8rem;
    line-height: 3.33333
  }

  .nav__btn {
    height: 60px
  }

  .nav__btn::after,
  .nav__btn::before {
    right: 10px
  }

  .nav__child {
    margin: 0 12px 10px 0
  }

  .nav__child a {
    font-size: 1.6rem
  }

  .nav__foot {
    display: block
  }

  .nav__links {
    width: 100%;
    margin-bottom: 30px;
    padding-top: 0
  }

  .nav__instagram {
    width: 32px;
    height: 32px;
    margin: 0 auto
  }

  .nav__tel {
    justify-content: center;
    font-size: 2.2rem
  }

  .nav__cv {
    width: 100%
  }

  .nav__cv+.nav__cv {
    margin-top: 20px
  }

  .nav__cv a {
    line-height: 3.5
  }

  .nav__cv.-tel a [lang=en] {
    font-size: 2.6rem;
    line-height: 1.15385
  }

  .nav__cv.-tel a [lang=ja] {
    font-size: 1.4rem
  }

  .footer {
    padding: 80px 0 100px
  }

  .footer__wrap {
    display: block;
    margin-bottom: 60px
  }

  .footer__item {
    width: 100%;
    margin: 0 0 30px
  }

  .footer-sns__icon {
    width: 36px
  }

  .footer__share.-youtube .footer-sns__icon {
    width: 50px
  }

  .footer-nav {
    display: block
  }

  .footer-nav__items {
    display: none
  }

  .footer-nav__items.-sp {
    display: flex;
    justify-content: center
  }

  .footer-nav__item {
    display: none
  }

  .footer-nav__item.-sp {
    display: flex;
    align-items: center
  }

  .footer-nav__item.-sp+.-sp {
    margin-left: 20px
  }

  .sp-fixed {
    display: flex;
    z-index: 10
  }

  .aside-contact__wrap {
    padding: 80px 0
  }

  .aside-contact__head {
    margin-bottom: 40px
  }

  .aside-contact__head [lang=en] {
    font-size: 3.2rem;
    margin-bottom: 8px
  }

  .aside-contact__txt {
    margin-bottom: 60px;
    font-size: 1.6rem
  }

  .aside-contact__buttons {
    display: block;
    width: 100%
  }

  .aside-contact__btn {
    width: 100%
  }

  .aside-contact__btn+.aside-contact__btn {
    margin: 80px 0 0;
  }

  .aside-lifestyle {
    margin: 120px 0 -120px;
    padding: 80px 0 60px
  }

  .aside-lifestyle__head {
    margin-bottom: 60px;
    font-size: 3.2rem
  }

  .aside-lifestyle__items {
    justify-content: space-between
  }

  .aside-lifestyle__item {
    width: 48%;
    min-width: 0;
    margin: 0 0 18px
  }

  .aside-lifestyle__item a {
    height: 60px;
    font-size: 1.4rem
  }

  .heading-1 {
    padding-bottom: 12px
  }

  .heading-1::before {
    height: 2px
  }

  .heading-1>span {
    flex-direction: column
  }

  .heading-1 [lang=en] {
    font-size: 3.2rem
  }

  .heading-1 [lang=ja] {
    font-size: 1.6rem;
    line-height: 1.5
  }

  .heading-1.is-show.-concept::before {
    animation-delay: .8s
  }

  .heading-1.is-show.-concept>span::before {
    animation: bar-start .6s ease 0s forwards, bar-end .4s ease-out .55s forwards
  }

  .heading-1.is-show.-concept [lang=en],
  .heading-1.is-show.-concept [lang=ja] {
    animation-delay: .6s
  }

  .heading-2 {
    width: 94.66667vw;
    min-height: 150px;
    padding: 40px 0
  }

  .heading-2 [lang=ja] {
    font-size: 2.8rem
  }

  .heading-2 [lang=en] {
    /*font-size: 2.2rem*/
	  display: none
  }

  .heading-3 {
    margin-bottom: 60px;
    padding-bottom: 10px;
    font-size: 2.6rem
  }

  .btn-1+.btn-1 {
    margin-top: 40px
  }

  .top-mv {
    padding-bottom: 150px
  }

  .top-mv__intro {
    height: calc(100vh - 57px);
    margin-bottom: 150px;
    padding-bottom: 16vw;
    box-sizing: border-box
  }

  .top-mv__head::after {
    width: 10.4vw;
    margin-top: 3.2vw
  }

  .top-mv__head [lang=en] span {
    font-size: 3.46667vw;
    line-height: 1.69231
  }

  .top-mv__head [lang=ja] {
    font-size: 4vw;
    line-height: 1.4
  }

  .top-mv__icon {
    width: 29px;
    height: 15px;
    bottom: 140px
  }

  .top-mv__item {
    padding-top: 100px;
    width: 89.33333vw
  }

  .top-mv__heading__main {
    margin-bottom: 44px;
    font-size: 1.4rem;
  }

  .top-mv__heading__main .sp_br {
    display: block;
  }

  .top-mv__heading {
    margin-bottom: 44px;
    font-size: 2rem;
    line-height: 1.45;
    word-break: keep-all
  }

  .top-mv__txt {
    width: 78.66667vw;
    margin: 0 auto;
    font-size: 1.4rem;
    line-height: 2.85714
  }

  .top-mv__txt+.top-mv__txt {
    margin-top: 16px
  }

  .is-show .top-mv__head::after {
    animation: mv-1_sp 1.2s ease 2.6s forwards, fade-in 1.2s ease 3.4s forwards
  }

  .concept {
    margin-bottom: 120px
  }

  .concept::after {
    font-weight: 700
  }

  .concept__wrap {
    display: block;
    padding: 60px 0 80px 20px;
    box-sizing: border-box
  }

  .concept__intro {
    width: 100%;
    min-width: 0;
    margin-left: 0
  }

  .concept__detail {
    margin: 0 0 50px
  }

  .concept__txt {
    font-size: 1.6rem
  }

  .concept__txt+.concept__txt {
    margin-top: 20px
  }

  .concept__image {
    margin: 60px 0 30px
  }

  .top-works {
    padding: 60px 0 80px
  }

  .top-works__items {
    margin: 50px 0
  }

  .top-works__item {
    width: 47.166%
  }

  .top-works__item:nth-of-type(n+3) {
    margin-top: 5.33333vw
  }

  .top-works__heading {
    font-size: 1.5rem;
    line-height: 1.46667;
    font-weight: 400
  }

  .top-works__txt {
    bottom: .8vw;
    left: .53333vw;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 400
  }

  .top-event__wrap {
    padding: 40px 0 80px
  }

  .top-event__items {
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 60px auto
  }

  .top-event__item {
    width: 100%;
    flex-grow: 0;
    margin-right: 0
  }

  .top-event__item:nth-of-type(n+4) {
    margin-top: 30px
  }

  .top-event__item:nth-of-type(n+3) {
    margin-top: 30px;
    padding-top: 40px;
    border-top: 1px solid #666
  }

  .top-event__state {
    margin-bottom: 5px;
    font-size: 1.6rem;
    line-height: 2.25
  }

  .top-event__date {
    font-size: 1.6rem;
    line-height: 1.5
  }

  .top-event__category {
    margin-bottom: 5px;
    padding: 5px 15px;
    font-size: 1.6rem;
    line-height: 1.5
  }

  .top-event__image {
    /*height: 30.93333vw;*/
    margin-bottom: 20px
  }

  .top-event__bnr {
    margin-bottom: 60px
  }

  .top-lifestyle {
    padding: 60px 0 80px
  }

  .top-lifestyle__items {
    margin: 60px 0
  }

  .top-lifestyle__item {
    width: 100%
  }

  .top-lifestyle__item+.top-lifestyle__item {
    margin-top: 50px
  }

  .top-lifestyle__item:nth-of-type(n+3) {
    margin-top: 50px
  }

  .top-lifestyle__detail {
    width: 90%;
    bottom: 30px
  }

  .top-lifestyle__heading {
    font-size: 2.2rem
  }

  .top-lifestyle__categories {
    margin-top: 10px
  }

  .top-lifestyle__image {
    height: 61.86667vw
  }

  .top-modelhouse {
    margin-bottom: 60px;
    padding: 60px 0 80px
  }

  .top-modelhouse__items {
    margin: 50px 0 40px
  }

  .top-modelhouse__item {
    width: 100%
  }

  .top-modelhouse__item+.top-modelhouse__item {
    margin-top: 5.33333vw
  }

  .top-modelhouse__item:nth-of-type(n+3) {
    margin-top: 5.33333vw
  }

  .top-modelhouse__heading span {
    font-size: 2.4rem;
    line-height: 1.375
  }

  .top-modelhouse__heading small {
    margin-top: 8px;
    font-size: 1.8rem;
    line-height: 1.5
  }

  .top-modelhouse__image {
    height: 63.73333vw
  }

  .top-about {
    margin-bottom: 120px
  }

  .top-about__items {
    flex-wrap: wrap;
    margin-top: 80px
  }

  .top-about__item {
    width: 100%
  }

  .top-about__item+.top-about__item {
    margin-top: 80px
  }

  .top-about__item a {
    padding-bottom: 50px
  }

  .top-about__heading {
    margin-bottom: -5px
  }

  .top-about__heading i {
    font-weight: 700
  }

  .top-about__image {
    margin-bottom: 30px
  }

  .top-about__txt {
    width: 86%;
    margin-bottom: 32px
  }

  .voice-flex {
    flex-direction: column;
    margin: 60px auto;
  }

  .top-blog {
    margin-bottom: 120px
  }

  .top-blog__items {
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 60px auto
  }

  .top-blog__item {
    flex-grow: 0;
    width: 46%
  }

  .top-blog__item+.top-blog__item {
    margin-left: 0
  }

  .top-blog__item:nth-of-type(4) {
    display: block
  }

  .top-blog__item:nth-of-type(n+3) {
    margin-top: 30px;
    padding-top: 40px;
    border-top: 1px solid #666
  }

  .top-blog__category {
    padding: 4px 10px;
    font-size: 1.4rem;
    line-height: 1.85714
  }

  .top-blog__date {
    font-size: 1.6rem
  }

  .top-blog__image {
    height: 30.93333vw;
    margin-bottom: 20px
  }

  .top-company::after {
    left: -20px;
    font-weight: 700
  }

  .top-company__wrap {
    padding: 60px 0 100px
  }

  .top-company__box {
    display: block;
    margin-top: 60px
  }

  .top-company__head {
    margin-bottom: 50px
  }

  .top-company__item {
    margin-right: 0
  }

  .top-company__item+.top-company__item {
    margin-top: 40px
  }

  .top-company__detail dt {
    margin-bottom: 10px
  }

  .top-company__detail dt a {
    width: 116px
  }

  .top-news {
    padding: 60px 0 80px
  }

  .top-news__items {
    margin-top: 40px
  }

  .top-news__item a {
    flex-direction: column;
    padding: 16px 0 20px
  }

  .top-news__date {
    font-weight: 700
  }

  .page__head {
    margin-bottom: 40px
  }

  .breadcrumb {
    margin-bottom: 40px
  }

  .breadcrumb__item {
    font-size: 1.4rem
  }

  .the_content>* {
    margin-bottom: 40px
  }

  .the_content>*+h2 {
    margin-top: 80px
  }

  .the_content h2 {
    padding-bottom: 10px;
    font-size: 2.6rem
  }

  .the_content h3 {
    font-size: 2.2rem;
    padding-left: 20px
  }

  .the_content h4 {
    padding-bottom: 10px;
    font-size: 2rem
  }

  .the_content h5 {
    font-size: 1.8rem
  }

  .the_content h6 {
    font-size: 2.2rem;
    line-height: 1.59091
  }

  .the_content p img.alignleft {
    float: none;
    display: block;
    margin: 0 auto 20px
  }

  .the_content p img.alignright {
    float: none;
    display: block;
    margin: 0 auto 20px
  }

  .the_content table {
    margin-top: 60px
  }

  .the_content table+* {
    margin-top: 60px
  }

  .the_content table td,
  .the_content table th {
    display: block
  }

  .the_content table tr>* {
    padding: 8px 0 12px
  }

  .the_content table tr>*+* {
    border-left: none
  }

  .the_content table th {
    width: 100%;
    padding: 8px 0 12px
  }

  .box-1 {
    display: block
  }

  .box-1+.box-1 {
    margin-top: 60px
  }

  .box-1>div+div {
    margin-top: 50px
  }

  .box-1 img {
    margin-bottom: 16px
  }

  .box-1.-col-1 {
    width: 100%
  }

  .box-1.-col-2>div {
    width: 100%
  }

  .box-1.-col-3>div {
    width: 100%
  }

  .box-2 img {
    width: 100%;
    margin-bottom: 10px
  }

  .box-2 .fll {
    float: none;
    margin-right: 0
  }

  .box-2 .flr {
    float: none;
    margin-left: 0
  }

  .box-bg-gray:not(:root) {
    margin: 60px 0 80px;
    padding: 40px 6.66667vw 50px
  }

  .box-point:not(:root) {
    margin-top: 60px
  }

  .box-point:not(:root)+.box-point:not(:root) {
    margin-top: 40px;
    padding-top: 40px
  }

  .box-point:not(:root) h4 {
    font-size: 2rem
  }

  .box-point:not(:root) h4 i {
    width: 40px;
    height: 40px;
    margin-right: 20px;
    font-size: 2.6rem;
    line-height: 1.15385
  }

  .box-point:not(:root) p:not(:root) {
    padding-left: 0
  }

  .blog {
    justify-content: space-between;
    margin: 60px 0 80px
  }

  .blog__item {
    width: 46%;
    margin-right: 0
  }

  .blog__item:nth-of-type(n+4) {
    margin-top: 30px
  }

  .blog__item:nth-of-type(n+3) {
    margin-top: 30px;
    padding-top: 40px;
    border-top: 1px solid #666
  }

  .blog__category {
    max-width: 100%;
    padding: 4px 10px;
    font-size: 1.4rem;
    line-height: 1.85714;
    display: -webkit-box;
    max-height: 33px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1
  }

  .blog__date {
    font-size: 1.6rem
  }

  .blog__image {
    height: 30.93333vw
  }

  .blog-category__items {
    justify-content: space-between
  }

  .blog-category__item {
    width: 48%;
    margin-right: 0
  }

  .blog-category__item a {
    height: 60px;
    font-size: 1.4rem
  }

  .blog-category__item:nth-of-type(4n) {
    margin-right: 0
  }

  .blog-category__item:nth-of-type(3n) {
    margin-right: 0
  }

  .blog-category__item:nth-of-type(n+3) {
    margin-top: 18px
  }

  .works-form {
    margin-bottom: 80px
  }

  .works-form__item+.works-form__item {
    margin-top: 30px
  }

  .works-form__categories {
    justify-content: space-between
  }

  .works-form__category {
    width: 48%;
    margin-right: 0
  }

  .works-form__category:nth-of-type(4n) {
    margin-right: 0
  }

  .works-form__category:nth-of-type(3n) {
    margin-right: 0
  }

  .works-form__category:nth-of-type(n+3) {
    margin-top: 18px
  }

  .works-form__btn {
    height: 60px;
    font-size: 1.4rem
  }

  .works-form__heading {
    height: 60px;
    font-size: 1.4rem
  }

  .works-form__select {
    height: 60px
  }

  .works-archive {
    justify-content: space-between;
    margin-bottom: 60px
  }

  .works-archive__item {
    width: 48%;
    margin-right: 0
  }

  .works-archive__item:nth-of-type(n+4) {
    margin-top: 30px
  }

  .works-archive__item:nth-of-type(n+3) {
    margin-top: 30px
  }

  .works-archive__heading {
    font-size: 1.6rem
  }

  .works-archive__image {
    height: 28.8vw;
    margin-bottom: 12px
  }

  .form.-event {
    margin: 80px 0 -120px;
    padding: 65px 0 80px
  }

  .form__head {
    margin-bottom: 60px;
    padding-bottom: 10px;
    font-size: 2.6rem
  }

  .form__wrap {
    margin-bottom: 70px
  }

  .form__box {
    margin-bottom: 60px
  }

  .form__items {
    margin-bottom: 50px
  }

  .form__item {
    display: block
  }

  .form__item dt {
    margin-bottom: 14px;
    padding-top: 0;
    font-size: 1.8rem
  }

  .form__item dt span {
    margin-left: 20px;
    font-size: 1.4rem
  }

  .form__item dd {
    font-size: 1.6rem
  }

  .form__item dd.-check {
    justify-content: space-between
  }

  .form__privacy {
    padding: 30px 20px 40px
  }

  .form__privacy dt {
    margin-bottom: 14px;
    padding-top: 0;
    font-size: 1.8rem
  }

  .form input[type=date],
  .form input[type=email],
  .form input[type=number],
  .form input[type=password],
  .form input[type=tel],
  .form input[type=text],
  .form input[type=url],
  .form select {
    height: 50px;
    padding: 0 12px;
    font-size: 1.6rem
  }

  .form textarea {
    padding: 10px 12px;
    font-size: 16px
  }

  .form__btn {
    height: 55px
  }

  .mwform-checkbox-field.horizontal-item,
  .mwform-radio-field.horizontal-item {
    width: calc(100% / 2 - 10px);
    margin: 0 0 10px
  }

  .mwform-radio-field-text {
    padding-left: 25px
  }

  .mwform-checkbox-field-text {
    padding-left: 25px
  }

  .staff {
    margin-top: 0
  }

  .staff__items {
    justify-content: space-between
  }

  .staff__item {
    width: 46.127%;
    margin-right: 0
  }

  .staff__item:nth-of-type(4n) {
    margin-right: 0
  }

  .staff__item:nth-of-type(n+3) {
    margin-top: 40px
  }

  .staff__post {
    font-size: 1.4rem
  }

  .staff__image {
    margin-bottom: 12px
  }

  .staff-detail {
    margin-top: 0
  }

  .staff-detail__wrap {
    margin-bottom: 80px
  }

  .staff-detail__intro {
    flex-direction: column;
    margin-bottom: 80px
  }

  .staff-detail__head {
    margin-bottom: 15px;
    font-size: 2.8rem
  }

  .staff-detail__post {
    font-size: 1.8rem
  }

  .staff-detail__txt {
    padding-top: 20px;
    font-size: 1.6rem
  }

  .staff-detail__image {
    margin: 0 0 20px
  }

  .staff-detail__item+.staff-detail__item {
    margin-top: 60px
  }

  .staff-detail__heading {
    font-size: 2.2rem;
    margin-bottom: 50px;
    padding-left: 20px
  }

  .staff-topics__item {
    width: 48%
  }

  .staff-topics__item:nth-of-type(n+3) {
    margin-top: 40px
  }

  .staff-topics__heading {
    font-size: 1.8rem
  }

  .staff-topics__txt {
    font-size: 1.4rem
  }

  .staff-topics__image {
    margin-bottom: 15px
  }

  .detail {
    margin: 0 0 70px
  }

  .detail__head {
    margin-bottom: 40px;
    font-size: 3rem
  }

  .detail__categories {
    justify-content: space-between;
    margin-bottom: 60px
  }

  .detail__category {
    width: 48%;
    margin-right: 0
  }

  .detail__category:nth-of-type(4n) {
    margin-right: 0
  }

  .detail__category:nth-of-type(3n) {
    margin-right: 0
  }

  .detail__category:nth-of-type(n+3) {
    margin-top: 18px
  }

  .detail__category a {
    height: 60px;
    font-size: 1.4rem
  }

  .detail__items {
    margin-bottom: 70px
  }

  .detail__item {
    display: block
  }

  .detail__item+.detail__item {
    margin-top: 30px
  }

  .detail__images {
    width: 100%;
    margin-top: 30px
    /* margin-top: 70px */
  }
  .detail__image {
    height: 100%;
    max-height: 100%;
  }
  /***/
  .detail__item>.detail__image {
    height: 100%;
    max-height: 100%;
  }
  .detail__item>.detail__image img{
    max-height: 300px;
  }
  .detail__image img {
    max-height: 300px;
  }

  .detail__item>.detail__image {
    width: 100%
  }

  .detail__image+.detail__image {
    margin-top: 30px
  }

  .lifestyle-tags {
    justify-content: space-between;
    margin: 0 0 60px
  }

  .lifestyle-tags__item {
    width: 48%;
    margin-right: 0
  }

  .lifestyle-tags__item:nth-of-type(5n) {
    margin-right: 0
  }

  .lifestyle-tags__item:nth-of-type(n+6) {
    margin-top: 18px
  }

  .lifestyle-tags__item:nth-of-type(n+3) {
    margin-top: 18px
  }

  .lifestyle-tags__item a {
    height: 60px;
    font-size: 1.4rem
  }

  .lifestyle {
    margin-bottom: 80px
  }

  .lifestyle__wrap {
    display: block
  }

  .lifestyle__wrap+.lifestyle__wrap {
    margin-top: 30px
  }

  .lifestyle__items {
    width: 100%;
    margin-top: 40px
  }

  .lifestyle__item {
    height: 64vw;
    min-height: 240px
  }

  .lifestyle__wrap>.lifestyle__item {
    width: 100%;
    height: 64vw
  }

  .lifestyle__item+.lifestyle__item {
    margin-top: 40px
  }

  .lifestyle__detail {
    width: 90%;
    bottom: 30px
  }

  .lifestyle__items .lifestyle__detail {
    width: 90%
  }

  .lifestyle__heading {
    margin-bottom: 10px;
    font-size: 2.2rem
  }

  .lifestyle__items .lifestyle__heading {
    margin-bottom: 10px
  }

  .basic-slide {
    margin: 60px 0 80px;
    font-size: 1.6rem
  }

  .basic-slide__item img {
    height: 59.63542vw
  }

  .basic-slide__item figcaption {
    font-size: 1.6rem
  }

  .basic-slide__btn {
    width: 35px;
    height: 35px;
    top: 50%
  }

  .basic-slide__btn.-prev {
    left: 10px
  }

  .basic-slide__btn.-next {
    right: 10px
  }

  .event {
    margin: 60px 0 80px
  }

  .event__item:nth-of-type(n+4) {
    margin-top: 50px
  }

  .event__item:nth-of-type(n+3) {
    margin-top: 30px;
    padding-top: 40px
  }

  .event__heading {
    line-height: 1.7
  }

  .event__state {
    margin-bottom: 5px;
    font-size: 1.6rem;
    line-height: 1.875
  }

  .event__date {
    font-size: 1.6rem;
    line-height: 1.5
  }

  .event__category {
    margin-bottom: 5px;
    padding: 5px 15px;
    font-size: 1.6rem;
    line-height: 1.5
  }

  .event-detail {
    margin: 0 0 70px
  }

  .event-detail__head {
    margin-bottom: 0;
    font-size: 2.6rem
  }

  .event-detail__info {
    margin-bottom: 10px
  }

  .event-detail__date {
    margin: 0 20px 0 0
  }

  .event-detail__date dt {
    font-size: 1.6rem;
    line-height: 2.25
  }

  .event-detail__date dd {
    font-size: 1.6rem;
    line-height: 2
  }

  .event-detail__category {
    margin-left: 0;
    font-size: 1.6rem;
    line-height: 2.25
  }

  .event-detail__item {
    margin-bottom: 80px
  }

  .news {
    margin: 40px auto 80px
  }

  .news__item a {
    flex-direction: column;
    padding: 16px 0 20px
  }

  .news__date {
    font-weight: 700
  }

  .modal__close {
    top: 10px;
    right: 8px
  }

  .modal__btn {
    width: 15px
  }

  .modal__btn[name=prev] {
    left: 8px
  }

  .modal__btn[name=next] {
    right: 8px
  }

  .voice__heading:not(:root) {
    font-size: 2.6rem
  }

  .voice__fig figcaption {
    margin-bottom: 20px;
    font-size: 2.2rem
  }

  .voice__fig ul:not(:root) {
    padding: 20px 15px
  }

  .voice__fig ul:not(:root) li {
    margin: 0 5px
  }

  .voice__txt {
    line-height: 2
  }

  .voice__txt strong {
    font-size: 1.8rem;
    line-height: 1.66667
  }

  .flow__head:not(:root) {
    margin-bottom: 40px
  }

  .flow__heading:not(:root)::before {
    width: 50px
  }

  .flow__heading:not(:root) i {
    width: 50px;
    font-size: 2.4rem
  }

  .flow__heading:not(:root) span {
    padding: 10px 15px;
    font-size: 2rem
  }

  .flow__txt {
    line-height: 2
  }

  .flow-nav__items {
    display: block
  }

  .flow-nav__item+.flow-nav__item {
    margin: 20px 0 0
  }

  .flow-nav__item:not(:root) a {
    width: 100%;
    height: 80px
  }

  .untroubled__tabs {
    justify-content: space-between;
    margin-bottom: 60px
  }

  .untroubled__tab {
    width: 31%
  }

  .untroubled__tab+.untroubled__tab {
    margin-left: 0
  }

  .untroubled__btn {
    height: 60px;
    font-size: 1.3rem
  }

  .untroubled__item+.untroubled__item {
    margin-top: 70px
  }

  .untroubled__head:not(:root) {
    align-items: baseline
  }

  .untroubled__head:not(:root) [lang=en] {
    font-size: 2.2rem
  }

  .untroubled__summary {
    margin-top: 70px;
    font-size: 1.8rem;
    line-height: 2;
    text-align: left
  }

  .untroubled-point__item+.untroubled-point__item {
    margin-top: 60px
  }

  .untroubled-point__item:nth-of-type(n+3) {
    margin-top: 60px
  }

  .untroubled-point__heading:not(:root) {
    display: block;
    height: auto;
    padding: 10px
  }

  .untroubled-point__detail {
    padding: 20px 25px 30px;
    line-height: 2
  }

  .untroubled-point__data>div {
    flex-wrap: wrap
  }

  .untroubled-point__data>div+div {
    margin-top: 10px
  }

  .untroubled-point__list li:not(:root)::before {
    top: 14px
  }

  .structure__head:not(:root) {
    margin-bottom: 30px;
    padding-left: 30px;
    font-size: 2.4rem;
    line-height: 4.16667
  }

  .structure__head:not(:root)::after {
    width: 47.78646vw;
    min-width: 0
  }

  .structure__txt+.structure__txt {
    margin-top: 40px
  }

  .structure__points {
    margin-bottom: 20px
  }

  .structure__point {
    align-items: center;
    padding-bottom: 20px
  }

  .structure__point i {
    width: 40px;
    height: 40px;
    margin-right: 20px;
    font-size: 2.6rem;
    line-height: 1.15385
  }

  .structure__point span {
    font-size: 2rem
  }

  .construction__intro {
    margin: 0 auto 60px
  }

  .construction__item {
    display: block
  }

  .construction__item dt {
    width: 110px;
    height: 40px;
    margin: 0 0 10px;
    font-size: 2.6rem
  }

  .construction__item dt span {
    font-size: 1.8rem
  }

  .construction__item dd {
    line-height: 1.7
  }

  .construction-detail__head:not(:root) {
    margin-bottom: 35px
  }

  .construction-detail__heading:not(:root) {
    margin-bottom: 25px;
    padding-left: 20px;
    font-size: 2.2rem
  }

  .construction-detail__detail {
    display: block
  }

  .construction-detail__fig {
    margin: 0 auto 20px
  }

  .construction-merit {
    padding: 30px 25px 30px
  }

  .construction-merit__head:not(:root) {
    margin-bottom: 30px;
    font-size: 2.4rem
  }

  .construction-merit__item strong {
    display: block
  }

  .construction-merit__item strong [lang=en] {
    width: 110px;
    height: 40px;
    margin: 0 0 10px;
    padding-top: 5px;
    font-size: 1.8rem
  }

  .construction-merit__item strong [lang=en] span {
    font-size: 2.6rem
  }

  .construction-merit__item strong [lang=ja] {
    line-height: 1.7
  }

  .construction-merit__item>span {
    margin-top: 15px;
    line-height: 2
  }

  .relief {
    margin-top: 0
  }

  .relief__heading-1:not(:root) {
    margin-bottom: 40px
  }

  .relief__maintenance {
    display: block
  }

  .relief__fig {
    width: 100%;
    max-width: 380px;
    margin: 0 0 20px
  }

  .relief__txt {
    line-height: 2
  }

  .relief__heading-2:not(:root) {
    margin-bottom: 30px
  }

  .relief__list {
    padding: 0
  }

  .relief__list li:not(:root) {
    line-height: 2
  }

  .relief__list li:not(:root)::before {
    top: 14px
  }

  .relief-tables__item+.relief-tables__item {
    margin-top: 60px
  }

  .relief-tables__item:nth-of-type(n+3) {
    margin-top: 60px
  }

  .relief-tables__table:not(:root) {
    margin-top: 30px
  }

  .relief-tables__table:not(:root) td,
  .relief-tables__table:not(:root) th {
    display: table-cell;
    font-size: 1.4rem;
    line-height: 1.57143
  }

  .relief-tables__table:not(:root) th {
    padding: 5px 15px 8px
  }

  .relief-tables__table:not(:root) th.-num {
    font-weight: 700
  }

  .relief-tables__table:not(:root) td {
    padding: 5px 15px 8px
  }

  .spec {
    margin-top: 0
  }

  .spec__heading:not(:root) {
    margin-bottom: 40px
  }

  .spec__txt {
    line-height: 2
  }

  .spec__list li:not(:root) {
    line-height: 2
  }

  .spec__list li:not(:root)::before {
    top: 14px
  }

  .spec-detail {
    margin-top: 30px
  }

  .spec-detail__txt {
    line-height: 2
  }

  .sitemap:not(:root) {
    display: block
  }

  .sitemap:not(:root)>ul {
    width: 100%
  }

  .archive-pager__btn {
    font-size: 1.4rem;
    line-height: 2.85714
  }

  .archive-pager__items {
    margin: 0 10px
  }

  .archive-pager__item {
    display: none;
    margin: 0 5px
  }

  .archive-pager__item a {
    width: 40px;
    height: 40px;
    font-size: 1.6rem
  }

  .archive-pager__item.-current,
  .archive-pager__item.-next,
  .archive-pager__item.-prev {
    display: flex
  }

  .detail-pager__item a {
    font-size: 1.6rem
  }

  .dgwt-jg-effect-standard:not(:root) .dgwt-jg-caption span {
    font-weight: 700
  }

  /* 2022/01/06 追記 */
  .staff__heading {
    text-align: center;
  }

  .staff__heading br {
    display: block;
  }

  .banner-second {
    bottom: -75px;
  }
}

@media screen and (max-width:768px) and (max-width:768px) {
  .the_content table {
    margin-top: 40px
  }

  .spec-detail {
    padding: 30px 25px 40px
  }
}

@keyframes xxxxx {
  0% {
    opacity: 0;
    transform: scale(.5, .2) rotate(90deg) translate(-3px, 0)
  }

  100% {
    opacity: 1;
    transform: none
  }
}

@keyframes mv-image {
  100% {
    width: 0
  }
}

@keyframes mv-head {
  100% {
    width: 100%
  }
}

@keyframes fade-in {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@keyframes bar-start {
  0% {
    width: 0
  }

  100% {
    width: 100%
  }
}

@keyframes bar-end {
  0% {
    left: 0
  }

  100% {
    left: 102%
  }
}

@keyframes heading-1 {
  100% {
    width: 30px
  }
}

@keyframes mv-1_pc {
  100% {
    height: 82px
  }
}

@keyframes mv-1_sp {
  100% {
    height: 11.73333vw
  }
}

@keyframes mv-2 {

  0%,
  100% {
    animation-timing-function: ease-in;
    transform: translate(-50%, 0)
  }

  50% {
    animation-timing-function: cubic-bezier(.25, .46, .45, .94);
    transform: translate(-50%, 14px)
  }
}

@keyframes mv-3 {
  0% {
    color: transparent
  }

  100% {
    color: #fff
  }
}

@-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)
  }
}

@-webkit-keyframes animation07 {
  0% {
    -webkit-transform: rotate(0)
  }

  100% {
    -webkit-transform: rotate(360deg)
  }
}

@keyframes animation07 {
  0% {
    transform: rotate(0)
  }

  100% {
    transform: rotate(360deg)
  }
}

/*よくあるご質問*/
.top-faq {
  margin-bottom: 180px;
}

.faq-items {
  margin: 50px auto;
}

.faq-box {
  margin-bottom: 30px;
}

.faq-box dt {
  color: #fff;
  background-color: #000;
  font-size: 1.5em;
  padding: 20px;
  text-indent: -1.3em;
  padding-left: 2em;
}

.faq-box dt::before {
  content: 'Q';
  font-weight: bold;
  margin-right: 10px;
}

.faq-box dt:hover {
  cursor: pointer;
  opacity: .8;
}

.faq-box dd {
  display: none;
  font-size: 1.5em;
  padding: 20px;
  background-color: #eff0f2;
  text-indent: -1.3em;
  padding-left: 2em;
}

.faq-box dd::before {
  content: 'A';
  font-weight: bold;
  margin-right: 10px;
}

@media screen and (max-width: 768px) {
  .top-faq {
    margin-bottom: 120px;
  }

  .faq-box dt,
  .faq-box dd {
    font-size: 1em;
    text-indent: -1.4em;
    padding-left: 2em;
  }
}
.galleria-thumbnails {
  margin: auto;
}
.works-gallery {
  height: 60rem;
  margin-bottom: 4rem;
}
.detail__image {
  cursor: default;
}
.galleria-theme-classic .galleria-info {
  top: 0;
}
.galleria-theme-classic .galleria-info-description {
  font: normal 11px/1.4 georgia,serif;
}

.detail__visual-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6rem;
}
.detail__visual-item:nth-child(even) {
  flex-direction: row-reverse;
}
.detail__visual-caption {
  flex: 0 0 33%;
  max-width: 33%;
  padding: 0 2.5rem;
  line-height: 3.2rem;
}
.detail__visual-main {
  flex: 0 0 62%;
  max-width: 62%;
}
.detail__visual-main img {
  margin: auto;
}
.basic-slide {
  max-width: 70%;
  margin: 0 auto 6rem;
}
.basic-slide__item img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .basic-slide {
    max-width: 100%;
  }
  .works-slider-btn.basic-slide__btn {
    top: 30%;
  }
  .detail__visual-item {
    display: block;
    margin-bottom: 4rem;
  }
  .detail__visual-caption,.detail__visual-main {
    max-width: 100%;
    padding: 0;
  }
  .detail__visual-caption {
    margin-top: 2rem;
    line-height: 2;
  }

  .works-gallery {
    height: 32rem;
  }
  .galleria-theme-classic .galleria-info {
    width: 90%;
    top: 0;
  }
}

/* モデルハウス アクセス情報(GoogleMap) */
.model-house_map_box {margin: 100px auto;}
.model-house_map_box dl dt{margin-bottom: 0;}
.model-house_map_box h3{
    position: relative;
    padding: 3px 0 3px 34px;
    font-size: 3rem;
    line-height: 1.5;
    font-weight: 700;
    margin-top: 80px;
    margin-bottom: 50px;
}
.model-house_map_box h3::before {
    content: '';
    position: absolute;
    width: 4px;
    height: 100%;
    top: 0;
    left: 0;
    background: #111;
}
.model-house_map{
    margin-top:50px;
}
@media screen and (max-width: 768px){
    .model-house_map_box h3 {
    font-size: 2.2rem;
    padding-left: 20px;
    }
    .model-house_map_box {
    margin: 100px auto 0px;
    }
}

/* モデルハウス GoogleMap */
.area_map_box {
  width: 50%;
}

.area_map_box dl dt {
  margin-bottom: 0;
}

.area_map_box .area_map{
margin-top: 30px;
}

@media screen and (max-width: 768px){
.area_map_box{
  width: 90%;
}
}

/* 注文住宅 保証・アフターサービス */
.after_service_h3{
  margin:30px auto 10px;
}
.the_content .after_service_h3 h3{
  padding: 0;
}
.after_service_h3{
  font-size: 1.3rem;
}
.the_content .after_service_h3 h3::before{
  content: none;
}
.after_service_50headline{
  display: flex;
  margin:30px auto 10px;
  background-color: #8fbc8f;
  color: #fff;
}
.after_service_50headline_left{
  font-size: 3rem;
  margin-right: 50px;
  padding-left: 10px;
}
.after_service_50headline_right .br_sp{
display: none;
}  
.after_service_50contents{
  display: flex;
  justify-content: space-around;
  font-size: 1.3rem;
  margin-top: 30px;
}
.after_service_50contents_left{
  width: 30%;    
}
.after_service_50contents_center{
  width: 30%;    
}
.after_service_50contents_right{
  width: 30%;    
}
@media screen and (max-width: 768px){
.after_service_50headline{
  display: block;
}
.after_service_50headline_left{
margin: 0;
}
.after_service_50headline_right{
padding-left:10px;
padding-right: 10px;
}
.after_service_50headline_right .br_sp{
display: inline;
}  
.after_service_50contents{
  display: block;
}
.after_service_50contents_left{
  width: 100%;    
}
.after_service_50contents_center{
  width: 100%;    
}
.after_service_50contents_right{
  width: 100%;    
}
}

/* 建設業許可番号 */
.footer__license__number {
  text-align: center;
  color: #fff;
  font-size: 1.2rem;
  margin-top: 19px;
  line-height: 1.6;
}

#top-lpbanner{
	background: #fff;
}

.banner_wrap{
	margin-top: 5em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between
}
.banner_wrap li{
	width: 100%;
	margin: 1em 0;
}
@media screen and (min-width:668px){
	.banner_wrap li{width: 48%;margin: 1.5em 0}
}

.banner_wrap li a{
	display: block;
}
.banner_wrap li a:hover{
	opacity: .8
}

/* 東証上場 */
.jpx{
	color:#fff;
	font-size:1.1rem;
	padding-top: 10px;
}
.jpx img{
	float: left;
	margin-right: 8px;
}