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

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

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

a img {
  border: none; }

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

/**
 * !!! ブレークポイント !!!
 */
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important; } }

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important; } }

/**
 * !!! browsersyncのアラートを非表示 !!!
 */
#__bs_notify__ {
  display: none !important; }

/**
 * !!! ページCSS基本設定 !!!
 * 基本的にこの箇所は操作しないようにする
 * ----------------ここから----------------
 */
html {
  font-size: 62.5%;
  font-family: "游ゴシック", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  color: #3E3E3B; }

* {
  font-size: 14px;
  font-size: 1.4rem;
  box-sizing: border-box; }

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

a {
  color: inherit;
  text-decoration: none; }

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none; }

textarea {
  resize: vertical; }

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer; }

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

.inner {
  max-width: 1266px;
  padding: 0 30px;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .inner {
      padding: 0 16px; } }

[data-trigger] {
  position: relative;
  transform: translate(0, 30px);
  opacity: 0;
  -webkit-transition: -webkit-transform 1s, opacity 1s;
  -moz-transition: -moz-transform 1s, opacity 1s;
  -o-transition: -o-transform 1s, opacity 1s;
  transition: transform 1s, opacity 1s; }
  [data-trigger].visible {
    transform: translate(0, 0px);
    opacity: 1; }

[data-anim] {
  overflow: hidden; }
  [data-anim] img {
    animation-duration: 18s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out; }
  [data-anim].is-active img {
    animation-name: zoom-in-out; }

@keyframes zoom-in-out {
  0% {
    transform: scale(1); }
  49% {
    transform: scale(1.1); }
  50% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }

main {
  overflow: hidden; }

@media only screen and (min-width: 768px) {
  .lg-outer .lg-img-wrap img {
    max-height: calc(100vh - 52px) !important;
    width: auto !important;
    object-fit: contain; } }

@media only screen and (max-width: 767px) {
  .lg-outer .lg-img-wrap img {
    width: calc(100% - 32px);
    height: auto; } }

.lg-toolbar {
  display: none; }

.lg-backdrop {
  background: rgba(245, 244, 242, 0.8); }

.lg-prev, .lg-next {
  padding: 0;
  width: 24px;
  height: 32px;
  background: none;
  margin-top: -25px; }
  .lg-prev:before, .lg-next:before {
    content: none; }

.lg-prev:after {
  content: "";
  width: 24px;
  height: 32px;
  display: block;
  background: url(../images/top/prev.svg) center center/cover no-repeat; }

.lg-next:after {
  content: "";
  width: 24px;
  height: 32px;
  display: block;
  background: url(../images/top/next.svg) center center/cover no-repeat; }

.footer {
  background: #3E3E3B;
  color: #F5F4F2;
  padding: 60px 0 30px; }
  @media only screen and (max-width: 767px) {
    .footer {
      padding: 50px 0 15px; } }
  .footer a {
    transition: opacity .3s; }
    .footer a:hover {
      opacity: 0.65; }
  .footer .inner {
    max-width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    position: relative; }
  .footer__list li {
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    line-height: 1.13333333;
    font-family: "times-new-roman", sans-serif;
    margin-bottom: 30px; }
    .footer__list li:last-of-type {
      margin-bottom: 0; }
  .footer__logo {
    display: block;
    width: 209px;
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media only screen and (max-width: 767px) {
      .footer__logo {
        width: 144px;
        position: static;
        transform: translate(0, 0);
        margin: 0 auto; } }
  .footer .link {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    height: 100%; }
    .footer .link .insta {
      display: block;
      width: 34px;
      margin-bottom: 30px; }
  .footer .copyright {
    width: 100%;
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: 0.04em;
    line-height: 1.25;
    font-family: "times-new-roman", sans-serif;
    text-align: center;
    margin-top: 18px; }
    @media only screen and (max-width: 767px) {
      .footer .copyright {
        margin-top: 40px; } }

.header {
  padding: 30px 20px 30px 30px;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  @media only screen and (max-width: 767px) {
    .header {
      padding: 15px 5px 15px 15px; } }
  .header.white .header__logo svg path {
    fill: #f5f4f2; }
  .header.white .header__logo svg rect {
    fill: #f5f4f2; }
  .header.white .hamburger__inner span {
    background: #f5f4f2; }
  .header.is-active .header__logo svg path {
    fill: #3E3E3B !important; }
  .header.is-active .header__logo svg rect {
    fill: #3E3E3B !important; }
  .header.is-active .hamburger__inner span {
    background: #3E3E3B !important; }
  .header__logo {
    display: block;
    width: 187px;
    position: relative;
    z-index: +2; }
    @media only screen and (max-width: 767px) {
      .header__logo {
        width: 118px; } }
    .header__logo svg {
      display: block;
      width: 100%;
      height: auto; }
      .header__logo svg path {
        transition: fill .3s; }
  .header .gnav {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background: #E2DFDA;
    transition: opacity .3s, visibility .3s;
    opacity: 0;
    visibility: hidden; }
    .header .gnav.is-active {
      opacity: 1;
      visibility: visible; }
    .header .gnav .inner {
      max-width: 1146px;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        .header .gnav .inner {
          padding: 0 40px; } }
    .header .gnav__list li {
      font-size: 30px;
      font-size: 3rem;
      letter-spacing: 0.04em;
      line-height: 1.13333333;
      font-family: "times-new-roman", sans-serif;
      margin-bottom: 27px; }
      .header .gnav__list li a {
        transition: opacity .3s; }
        .header .gnav__list li a:hover {
          opacity: 0.65; }
    .header .gnav .instagram {
      display: flex;
      align-items: center;
      width: max-content;
      margin-top: 20px;
      transition: opacity .3s; }
      .header .gnav .instagram:hover {
        opacity: 0.65; }
      .header .gnav .instagram span {
        font-size: 25px;
        font-size: 2.5rem;
        letter-spacing: 0.04em;
        line-height: 1.12;
        font-family: "times-new-roman", sans-serif;
        margin-left: 11px; }
  .header .hamburger {
    padding: 10px;
    position: relative;
    z-index: +2;
    cursor: pointer; }
    .header .hamburger.is-active .hamburger__inner span:nth-of-type(1) {
      transform: rotate(-165deg);
      top: 4px; }
    .header .hamburger.is-active .hamburger__inner span:nth-of-type(2) {
      transform: rotate(165deg);
      bottom: 4px; }
    .header .hamburger__inner {
      width: 46px;
      height: 10px;
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: space-between; }
      .header .hamburger__inner span {
        width: 46px;
        height: 1px;
        display: block;
        background: #3E3E3B;
        position: relative;
        transition: transform .3s, background-color .3s, top .3s, bottom .3s; }

.c-title02 {
  font-size: 48px;
  font-size: 4.8rem;
  letter-spacing: 0.04em;
  line-height: 1.14583333;
  font-family: "times-new-roman", sans-serif; }
  @media only screen and (max-width: 767px) {
    .c-title02 {
      font-size: 30px;
      font-size: 3rem; } }

.c-en02 {
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  line-height: 1.13333333;
  font-family: "times-new-roman", sans-serif; }

.c-more:hover i svg line {
  transform: translate(0, 3.926px) scaleX(1.3); }

.c-more:hover i svg path {
  transform: translate(-13.624px, -0.301px); }

.c-more span {
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  line-height: 1.13333333;
  font-family: "times-new-roman", sans-serif;
  margin-right: 11px; }

.c-more i {
  position: relative;
  width: 34px; }
  .c-more i svg {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(0%, -50%);
    overflow: visible; }
    .c-more i svg line {
      transition: transform .3s;
      transform-origin: left;
      transform: translate(0, 3.926px) scaleX(1); }
    .c-more i svg path {
      transition: transform .3s;
      transform: translate(-23.912px, -0.301px); }

.c-btn {
  width: 192px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F5F4F2;
  color: #3E3E3B;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  line-height: 1.13333333;
  font-family: "times-new-roman", sans-serif;
  transition: color .3s, background-color .3s, border .3s; }
  .c-btn:hover {
    background: #E2DFDA;
    color: #3E3E3B; }

.c-news-list {
  max-width: 1066px;
  margin: 0 auto; }
  .c-news-list li {
    margin-bottom: 32px; }
    .c-news-list li:last-of-type {
      margin-bottom: 0; }
    .c-news-list li a {
      display: flex; }
      @media only screen and (max-width: 767px) {
        .c-news-list li a {
          flex-wrap: wrap;
          align-items: flex-end;
          justify-content: space-between; } }
      .c-news-list li a:hover i svg line {
        transform: translate(-43.207px, 3.926px) scaleX(1.3); }
      .c-news-list li a:hover i svg path {
        transform: translate(-0.662px, -0.301px); }
      .c-news-list li a .date {
        width: 88px;
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.03em;
        line-height: 2.13333333;
        font-weight: 500; }
        @media only screen and (max-width: 767px) {
          .c-news-list li a .date {
            width: 100%;
            margin-bottom: 2px; } }
      .c-news-list li a .title {
        text-align: center;
        width: calc(100% - 176px);
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.03em;
        line-height: 2;
        font-weight: 500; }
        @media only screen and (max-width: 767px) {
          .c-news-list li a .title {
            width: calc(100% - 54px);
            line-height: 1.5;
            text-align: left; } }
      .c-news-list li a i {
        width: 88px;
        position: relative; }
        @media only screen and (max-width: 767px) {
          .c-news-list li a i {
            width: 34px;
            margin-bottom: 5px; } }
        .c-news-list li a i svg {
          position: absolute;
          top: 50%;
          left: 0%;
          transform: translate(0%, -50%);
          overflow: visible; }
          @media only screen and (min-width: 768px) {
            .c-news-list li a i svg line {
              transition: transform .3s;
              transform-origin: left;
              transform: translate(-43.207px, 3.926px) scaleX(1); }
            .c-news-list li a i svg path {
              transition: transform .3s;
              transform: translate(-23.912px, -0.301px); } }

.c-gallery-slider {
  position: relative; }
  .c-gallery-slider .swiper {
    overflow: visible; }
    .c-gallery-slider .swiper .swiper-slide {
      width: 300px;
      transition: opacity .3s; }
      @media only screen and (max-width: 767px) {
        .c-gallery-slider .swiper .swiper-slide {
          width: 245px; } }
      .c-gallery-slider .swiper .swiper-slide:hover {
        opacity: 0.6; }
      .c-gallery-slider .swiper .swiper-slide:nth-of-type(odd) {
        margin-top: 110px; }
        @media only screen and (max-width: 767px) {
          .c-gallery-slider .swiper .swiper-slide:nth-of-type(odd) {
            margin-top: 28px; } }
  .c-gallery-slider__nav {
    display: flex;
    justify-content: center;
    gap: 80px;
    margin-top: 40px; }
    @media only screen and (max-width: 767px) {
      .c-gallery-slider__nav {
        margin-top: 20px; } }
  .c-gallery-slider .swiper-button-prev, .c-gallery-slider .swiper-button-next {
    width: 24px;
    height: 32px;
    position: static;
    margin: 0; }
    .c-gallery-slider .swiper-button-prev:after, .c-gallery-slider .swiper-button-next:after {
      content: none; }

@media only screen and (max-width: 767px) {
  .c-lineup-slider .swiper {
    width: calc(100vw - 100px);
    margin: 0 auto;
    overflow: visible; } }

@media only screen and (max-width: 767px) {
  .c-lineup-slider .swiper .c-lineup-list .swiper-slide {
    transform: scale(0.8);
    opacity: 0.4;
    transition: transform .3s, opacity .3s; } }

.c-lineup-slider .swiper .c-lineup-list .swiper-slide .image {
  position: relative;
  display: block; }
  .c-lineup-slider .swiper .c-lineup-list .swiper-slide .image:hover:after {
    opacity: 1; }
  .c-lineup-slider .swiper .c-lineup-list .swiper-slide .image:after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: rgba(255, 255, 255, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity .3s;
    opacity: 0; }

@media only screen and (max-width: 767px) {
  .c-lineup-slider .swiper .c-lineup-list .swiper-slide .text p {
    opacity: 0;
    transition: opacity .3s; } }

@media only screen and (max-width: 767px) {
  .c-lineup-slider .swiper .c-lineup-list .swiper-slide .text .price {
    opacity: 0;
    transition: opacity .3s; } }

@media only screen and (max-width: 767px) {
  .c-lineup-slider .swiper .c-lineup-list .swiper-slide .c-btn {
    opacity: 0;
    transition: opacity .3s; } }

@media only screen and (max-width: 767px) {
  .c-lineup-slider .swiper .c-lineup-list .swiper-slide-active {
    transform: scale(1);
    opacity: 1; } }

@media only screen and (max-width: 767px) {
  .c-lineup-slider .swiper .c-lineup-list .swiper-slide-active .text p {
    opacity: 1; } }

@media only screen and (max-width: 767px) {
  .c-lineup-slider .swiper .c-lineup-list .swiper-slide-active .text .price {
    opacity: 1; } }

@media only screen and (max-width: 767px) {
  .c-lineup-slider .swiper .c-lineup-list .swiper-slide-active .c-btn {
    opacity: 1; } }

.c-lineup-list {
  margin: 0 auto;
  display: flex; }
  @media only screen and (min-width: 768px) {
    .c-lineup-list {
      max-width: 1206px; } }
  .c-lineup-list li .num {
    font-size: 30px;
    font-size: 3rem;
    letter-spacing: 0.11em;
    line-height: 1.13333333;
    font-family: "times-new-roman", sans-serif;
    display: block;
    margin-bottom: 10px; }
    @media only screen and (max-width: 767px) {
      .c-lineup-list li .num {
        font-size: 18px;
        font-size: 1.8rem;
        margin-bottom: 8px; } }
  .c-lineup-list li .image {
    aspect-ratio: 360/480; }
    .c-lineup-list li .image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  .c-lineup-list li .text {
    margin-top: 15px; }
    @media only screen and (max-width: 767px) {
      .c-lineup-list li .text {
        margin-top: 13px; } }
    .c-lineup-list li .text .name {
      display: block;
      font-size: 25px;
      font-size: 2.5rem;
      letter-spacing: 0.11em;
      line-height: 1.12;
      font-family: "times-new-roman", sans-serif;
      margin-bottom: 12px; }
      @media only screen and (max-width: 767px) {
        .c-lineup-list li .text .name {
          font-size: 20px;
          font-size: 2rem;
          margin-bottom: 8px; } }
    .c-lineup-list li .text p {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.25;
      font-weight: 500;
      margin-bottom: 20px; }
      @media only screen and (max-width: 767px) {
        .c-lineup-list li .text p {
          margin-bottom: 10px; } }
    .c-lineup-list li .text .price {
      display: block;
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.5;
      font-weight: 500; }
      @media only screen and (max-width: 767px) {
        .c-lineup-list li .text .price {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 1.71428571; } }
  .c-lineup-list li .c-btn {
    width: 100%;
    margin-top: 18px; }
    @media only screen and (max-width: 767px) {
      .c-lineup-list li .c-btn {
        margin-top: 8px; } }
    .c-lineup-list li .c-btn:hover {
      background: #848380;
      color: #F5F4F2; }

.wp-pagenavi {
  margin-top: 100px;
  gap: 40px;
  display: flex;
  justify-content: center; }
  .wp-pagenavi .previouspostslink {
    width: 192px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color .3s, background-color .3s;
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    font-family: "times-new-roman", sans-serif;
    background: #E2DFDA;
    color: #3E3E3B; }
    .wp-pagenavi .previouspostslink:hover {
      background: #848380;
      color: #F5F4F2; }
  .wp-pagenavi .nextpostslink {
    width: 192px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color .3s, background-color .3s;
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    font-family: "times-new-roman", sans-serif;
    background: #E2DFDA;
    color: #3E3E3B; }
    .wp-pagenavi .nextpostslink:hover {
      background: #848380;
      color: #F5F4F2; }

.c-slider {
  overflow: hidden; }
  .c-slider .swiper-slide {
    overflow: hidden; }
    .c-slider .swiper-slide img {
      transition: transform 7s linear;
      transform: scale(1); }
    .c-slider .swiper-slide-active img, .c-slider .swiper-slide-duplicate-active img, .c-slider .swiper-slide-prev img, .c-slider .swiper-slide-duplicate-prev img {
      transform: scale(1.1); }

.c-product-area {
  background: #E2DFDA;
  padding: 100px 0;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    .c-product-area {
      padding: 46px 0 30px; } }
  .c-product-area__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 70px; }
    @media only screen and (max-width: 767px) {
      .c-product-area__head {
        margin-bottom: 20px; } }
  @media only screen and (max-width: 767px) {
    .c-product-area .c-more {
      display: block;
      width: max-content;
      margin-left: auto;
      margin-top: 30px;
      margin-right: 36px; } }

/* Z-INDEX */
.formError {
  z-index: 990; }

.formError .formErrorContent {
  z-index: 991; }

.formError .formErrorArrow {
  z-index: 996; }

.ui-dialog .formError {
  z-index: 5000; }

.ui-dialog .formError .formErrorContent {
  z-index: 5001; }

.ui-dialog .formError .formErrorArrow {
  z-index: 5006; }

.inputContainer {
  position: relative;
  float: left; }

.formError {
  position: absolute;
  top: 300px;
  left: 300px;
  display: block;
  cursor: pointer;
  text-align: left; }

.formError.inline {
  position: relative;
  top: 0;
  left: 0;
  display: inline-block; }

.ajaxSubmit {
  padding: 20px;
  background: #55ea55;
  border: 1px solid #999;
  display: none; }

.formError .formErrorContent {
  width: 100%;
  background: #ee0101;
  position: relative;
  color: #fff;
  min-width: 120px;
  font-size: 11px;
  border: 2px solid #ddd;
  box-shadow: 0 0 6px #000;
  -moz-box-shadow: 0 0 6px #000;
  -webkit-box-shadow: 0 0 6px #000;
  -o-box-shadow: 0 0 6px #000;
  padding: 4px 10px 4px 10px;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  -o-border-radius: 6px; }

.formError.inline .formErrorContent {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  border: none;
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -o-border-radius: 0; }

.greenPopup .formErrorContent {
  background: #33be40; }

.blackPopup .formErrorContent {
  background: #393939;
  color: #FFF; }

.formError .formErrorArrow {
  width: 15px;
  margin: -2px 0 0 13px;
  position: relative; }

body[dir='rtl'] .formError .formErrorArrow,
body.rtl .formError .formErrorArrow {
  margin: -2px 13px 0 0; }

.formError .formErrorArrowBottom {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  margin: 0px 0 0 12px;
  top: 2px; }

.formError .formErrorArrow div {
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  box-shadow: 0 2px 3px #444;
  -moz-box-shadow: 0 2px 3px #444;
  -webkit-box-shadow: 0 2px 3px #444;
  -o-box-shadow: 0 2px 3px #444;
  font-size: 0px;
  height: 1px;
  background: #ee0101;
  margin: 0 auto;
  line-height: 0;
  font-size: 0;
  display: block; }

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

.greenPopup .formErrorArrow div {
  background: #33be40; }

.blackPopup .formErrorArrow div {
  background: #393939;
  color: #FFF; }

.formError .formErrorArrow .line10 {
  width: 13px;
  border: none; }

.formError .formErrorArrow .line9 {
  width: 11px;
  border: none; }

.formError .formErrorArrow .line8 {
  width: 11px; }

.formError .formErrorArrow .line7 {
  width: 9px; }

.formError .formErrorArrow .line6 {
  width: 7px; }

.formError .formErrorArrow .line5 {
  width: 5px; }

.formError .formErrorArrow .line4 {
  width: 3px; }

.formError .formErrorArrow .line3 {
  width: 1px;
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  border-bottom: 0 solid #ddd; }

.formError .formErrorArrow .line2 {
  width: 3px;
  border: none;
  background: #ddd; }

.formError .formErrorArrow .line1 {
  width: 1px;
  border: none;
  background: #ddd; }

@keyframes zoom-in-out {
  0% {
    transform: scale(1); }
  49% {
    transform: scale(1.1); }
  50% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }

body.concept .main-visual {
  width: 100vw;
  height: 100vh;
  position: relative;
  overflow: hidden; }
  body.concept .main-visual.is-active .main-visual__image img {
    animation-name: zoom-in-out; }
  body.concept .main-visual__image {
    width: 100%;
    height: 100%; }
    body.concept .main-visual__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
      animation-duration: 18s;
      animation-iteration-count: infinite;
      animation-timing-function: ease-in-out; }
  body.concept .main-visual__text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #F5F4F2; }
    @media only screen and (max-width: 767px) {
      body.concept .main-visual__text {
        white-space: nowrap; } }
    body.concept .main-visual__text strong {
      display: block;
      font-size: 48px;
      font-size: 4.8rem;
      letter-spacing: 0.04em;
      line-height: 1.14583333;
      font-family: "times-new-roman", sans-serif;
      margin-bottom: 25px; }
      @media only screen and (max-width: 767px) {
        body.concept .main-visual__text strong {
          font-size: 30px;
          font-size: 3rem;
          margin-bottom: 10px; } }
    body.concept .main-visual__text small {
      display: block;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.6875;
      font-weight: 500; }
  body.concept .main-visual__scroll {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translate(-50%, 0%); }
    @media only screen and (max-width: 767px) {
      body.concept .main-visual__scroll {
        bottom: 15px; } }

body.concept .story {
  background: #F5F4F2;
  padding: 100px 0 170px; }
  @media only screen and (max-width: 767px) {
    body.concept .story {
      padding: 46px 0 100px; } }
  body.concept .story .inner {
    padding: 0 80px;
    max-width: 1366px; }
    @media only screen and (max-width: 767px) {
      body.concept .story .inner {
        padding: 0 16px; } }
  body.concept .story .c-title02 {
    text-align: center;
    margin-bottom: 100px; }
    @media only screen and (max-width: 767px) {
      body.concept .story .c-title02 {
        margin-bottom: 40px; } }
  body.concept .story .col {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px; }
    @media only screen and (max-width: 767px) {
      body.concept .story .col {
        flex-direction: column;
        margin-bottom: 50px; } }
    body.concept .story .col:last-of-type {
      margin-bottom: 0; }
    body.concept .story .col .image {
      width: 49.1708126%; }
      @media only screen and (max-width: 767px) {
        body.concept .story .col .image {
          width: 100%;
          margin-bottom: 50px; } }
    body.concept .story .col .text-wrap {
      width: 44.19568823%; }
      @media only screen and (max-width: 767px) {
        body.concept .story .col .text-wrap {
          width: 100%;
          display: flex;
          flex-direction: column; } }
      body.concept .story .col .text-wrap .c-slider {
        width: 37.71106942%; }
        @media only screen and (max-width: 767px) {
          body.concept .story .col .text-wrap .c-slider {
            order: 2;
            width: 201px;
            margin: 100px auto 50px; } }
      body.concept .story .col .text-wrap p {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.03em;
        line-height: 2;
        font-weight: 500; }
        @media only screen and (max-width: 767px) {
          body.concept .story .col .text-wrap p {
            line-height: 1.75; } }
    body.concept .story .col .sec-01 {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: space-between; }
      body.concept .story .col .sec-01 .c-slider {
        margin-bottom: 40px; }
    body.concept .story .col .sec-02 {
      display: flex;
      flex-direction: column;
      justify-content: center; }
    body.concept .story .col .sec-03 {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between; }
      body.concept .story .col .sec-03 .c-slider {
        margin-top: 17.44840525%; }
  @media only screen and (max-width: 767px) {
    body.concept .story .col-02 {
      margin-bottom: 0px; } }
  @media only screen and (max-width: 767px) {
    body.concept .story .col-02 .image {
      margin-top: 50px; } }
  @media only screen and (max-width: 767px) {
    body.concept .story .col-03 .image {
      order: 2;
      margin-top: 50px;
      margin-bottom: 0; } }

body.concept .insight {
  background: #3E3E3B;
  color: #F5F4F2;
  padding: 111px 0 0; }
  @media only screen and (max-width: 767px) {
    body.concept .insight {
      padding-top: 49px; } }
  body.concept .insight__title {
    text-align: center;
    font-size: 28px;
    font-size: 2.8rem;
    letter-spacing: 0.04em;
    line-height: 1.14285714;
    font-family: "times-new-roman", sans-serif;
    margin-bottom: 111px; }
    @media only screen and (max-width: 767px) {
      body.concept .insight__title {
        font-size: 20px;
        font-size: 2rem;
        margin-bottom: 48px; } }
  body.concept .insight .image-text {
    display: flex; }
    @media only screen and (max-width: 767px) {
      body.concept .insight .image-text {
        flex-direction: column;
        padding-top: 27px; } }
    @media only screen and (max-width: 767px) {
      body.concept .insight .image-text .en {
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.04em;
        line-height: 1.13333333;
        font-family: "times-new-roman", sans-serif;
        text-decoration: underline;
        text-underline-offset: 3px;
        display: block;
        margin-left: 15px;
        margin-bottom: 30px; } }
    body.concept .insight .image-text .image {
      width: 50%;
      min-height: 768px; }
      @media only screen and (max-width: 767px) {
        body.concept .insight .image-text .image {
          width: 100%;
          min-height: 0; } }
      @media only screen and (min-width: 768px) {
        body.concept .insight .image-text .image .c-slider {
          height: 100%; }
          body.concept .insight .image-text .image .c-slider .swiper {
            height: 100%; }
            body.concept .insight .image-text .image .c-slider .swiper .swiper-slide {
              width: 100%;
              height: 100%; }
              body.concept .insight .image-text .image .c-slider .swiper .swiper-slide img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center center; } }
    body.concept .insight .image-text .text {
      width: 50%;
      padding: 66px 80px;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        body.concept .insight .image-text .text {
          width: 100%;
          padding: 50px 50px 100px;
          display: block; } }
      body.concept .insight .image-text .text h3 .en {
        display: block;
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.04em;
        line-height: 1.13333333;
        font-family: "times-new-roman", sans-serif;
        margin-bottom: 25px; }
      body.concept .insight .image-text .text h3 .jp {
        display: block;
        font-size: 27px;
        font-size: 2.7rem;
        letter-spacing: 0.03em;
        line-height: 1.81481481;
        font-weight: 500;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
        @media only screen and (max-width: 767px) {
          body.concept .insight .image-text .text h3 .jp {
            font-size: 22px;
            font-size: 2.2rem; } }
      body.concept .insight .image-text .text p {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.03em;
        line-height: 1.75;
        font-weight: 500;
        margin-top: 45px; }
        @media only screen and (max-width: 767px) {
          body.concept .insight .image-text .text p {
            margin-top: 30px; } }

body.news_detail .whole {
  padding: 137px 0 130px; }
  @media only screen and (max-width: 767px) {
    body.news_detail .whole {
      padding: 100px 0 80px; } }
  body.news_detail .whole .inner {
    padding: 0 80px;
    max-width: 1366px; }
    @media only screen and (max-width: 767px) {
      body.news_detail .whole .inner {
        padding: 0 16px; } }
  body.news_detail .whole .thumbnail-slider {
    margin-bottom: 48px;
    position: relative; }
    @media only screen and (max-width: 767px) {
      body.news_detail .whole .thumbnail-slider {
        margin-bottom: 32px; } }
    body.news_detail .whole .thumbnail-slider .swiper .swiper-slide {
      aspect-ratio: 1206/905; }
      body.news_detail .whole .thumbnail-slider .swiper .swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center; }
    body.news_detail .whole .thumbnail-slider .swiper-pagination {
      bottom: 30px; }
      @media only screen and (max-width: 767px) {
        body.news_detail .whole .thumbnail-slider .swiper-pagination {
          bottom: 16px; } }
      body.news_detail .whole .thumbnail-slider .swiper-pagination .swiper-pagination-bullet {
        opacity: 1;
        background: #F5F4F2;
        width: 8px;
        height: 8px;
        margin: 0 7px; }
        @media only screen and (max-width: 767px) {
          body.news_detail .whole .thumbnail-slider .swiper-pagination .swiper-pagination-bullet {
            margin: 0 4px; } }
      body.news_detail .whole .thumbnail-slider .swiper-pagination .swiper-pagination-bullet-active {
        background: #fff; }
    body.news_detail .whole .thumbnail-slider .swiper-button-prev, body.news_detail .whole .thumbnail-slider .swiper-button-next {
      width: 24px;
      height: 32px;
      padding: 0;
      margin: 0;
      position: absolute;
      top: 50%;
      transform: translate(0%, -50%); }
      @media only screen and (max-width: 767px) {
        body.news_detail .whole .thumbnail-slider .swiper-button-prev, body.news_detail .whole .thumbnail-slider .swiper-button-next {
          width: 15px;
          height: 20px; } }
      body.news_detail .whole .thumbnail-slider .swiper-button-prev:after, body.news_detail .whole .thumbnail-slider .swiper-button-next:after {
        content: none; }
    body.news_detail .whole .thumbnail-slider .swiper-button-prev {
      left: -50px; }
      @media only screen and (max-width: 767px) {
        body.news_detail .whole .thumbnail-slider .swiper-button-prev {
          left: 10px; } }
    body.news_detail .whole .thumbnail-slider .swiper-button-next {
      right: -50px; }
      @media only screen and (max-width: 767px) {
        body.news_detail .whole .thumbnail-slider .swiper-button-next {
          right: 10px; } }
  body.news_detail .whole .post {
    max-width: 1066px;
    margin: 0 auto; }
    body.news_detail .whole .post__title {
      font-size: 27px;
      font-size: 2.7rem;
      letter-spacing: 0.03em;
      line-height: 1.81481481;
      font-weight: 500;
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
      margin-bottom: 28px; }
      @media only screen and (max-width: 767px) {
        body.news_detail .whole .post__title {
          font-size: 22px;
          font-size: 2.2rem;
          margin-bottom: 24px; } }
    body.news_detail .whole .post__date {
      font-size: 12px;
      font-size: 1.2rem;
      letter-spacing: 0.03em;
      display: block;
      margin-bottom: 54px; }
      @media only screen and (max-width: 767px) {
        body.news_detail .whole .post__date {
          margin-bottom: 40px; } }
    body.news_detail .whole .post__cont {
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0.03em;
      line-height: 2;
      font-weight: 500; }
      @media only screen and (max-width: 767px) {
        body.news_detail .whole .post__cont {
          font-size: 14px;
          font-size: 1.4rem; } }
      body.news_detail .whole .post__cont p {
        margin-bottom: 48px; }
        @media only screen and (max-width: 767px) {
          body.news_detail .whole .post__cont p {
            margin-bottom: 32px; } }
      body.news_detail .whole .post__cont img {
        width: 100%;
        margin-bottom: 48px; }
        @media only screen and (max-width: 767px) {
          body.news_detail .whole .post__cont img {
            margin-bottom: 32px; } }

body.news .whole {
  padding: 94px 0 130px; }
  @media only screen and (max-width: 767px) {
    body.news .whole {
      padding: 76px 0 114px; } }
  body.news .whole .c-title02 {
    text-align: center;
    margin-bottom: 120px; }
    @media only screen and (max-width: 767px) {
      body.news .whole .c-title02 {
        margin-bottom: 35px; } }

body.product .lineups {
  background: #E2DFDA;
  padding: 94px 0 132px; }
  @media only screen and (max-width: 767px) {
    body.product .lineups {
      padding: 76px 0 60px; } }
  body.product .lineups .inner {
    max-width: 100%; }
  body.product .lineups__title {
    font-size: 48px;
    font-size: 4.8rem;
    letter-spacing: 0.04em;
    line-height: 1.14583333;
    font-family: "times-new-roman", sans-serif;
    text-align: center;
    margin-bottom: 50px; }
    @media only screen and (max-width: 767px) {
      body.product .lineups__title {
        font-size: 30px;
        font-size: 3rem;
        margin-bottom: 38px; } }
  body.product .lineups__list {
    display: flex;
    gap: 11px; }
    @media only screen and (max-width: 767px) {
      body.product .lineups__list {
        flex-wrap: wrap;
        gap: 5px; } }
    body.product .lineups__list li {
      width: calc((100% - 22px) / 3); }
      @media only screen and (max-width: 767px) {
        body.product .lineups__list li {
          width: calc((100% - 5px) / 2); } }
      @media only screen and (max-width: 767px) {
        body.product .lineups__list li:nth-of-type(1) {
          width: 100%; } }
      body.product .lineups__list li a {
        display: block;
        position: relative; }
        body.product .lineups__list li a:hover .image:after {
          opacity: 1; }
      body.product .lineups__list li .image {
        position: relative; }
        body.product .lineups__list li .image:after {
          content: "";
          width: 100%;
          height: 100%;
          display: block;
          background: rgba(255, 255, 255, 0.4);
          position: absolute;
          top: 0;
          left: 0;
          transition: opacity .3s;
          opacity: 0; }
      body.product .lineups__list li .text {
        font-size: 30px;
        font-size: 3rem;
        letter-spacing: 0.11em;
        line-height: 1.3;
        font-family: "times-new-roman", sans-serif;
        color: #FFF;
        position: absolute;
        left: 30px;
        bottom: 27px; }
        @media only screen and (max-width: 767px) {
          body.product .lineups__list li .text {
            font-size: 20px;
            font-size: 2rem;
            line-height: 1.45;
            left: 20px;
            bottom: 16px; } }
        body.product .lineups__list li .text span {
          display: block; }

body.product .product-box .detail {
  position: relative; }
  body.product .product-box .detail .main-slider .swiper .swiper-slide {
    aspect-ratio: 683/768; }
    @media only screen and (max-width: 767px) {
      body.product .product-box .detail .main-slider .swiper .swiper-slide {
        aspect-ratio: 390/422; } }
    body.product .product-box .detail .main-slider .swiper .swiper-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.product .product-box .detail__info {
    position: absolute;
    left: 30px;
    bottom: 50px;
    color: #FFFFFF;
    z-index: +2; }
    @media only screen and (max-width: 767px) {
      body.product .product-box .detail__info {
        bottom: 30px; } }
    body.product .product-box .detail__info span {
      display: block;
      font-size: 30px;
      font-size: 3rem;
      letter-spacing: 0.11em;
      line-height: 1.13333333;
      font-family: "times-new-roman", sans-serif;
      margin-bottom: 6px; }
      @media only screen and (max-width: 767px) {
        body.product .product-box .detail__info span {
          margin-bottom: 8px; } }
    body.product .product-box .detail__info strong {
      font-size: 48px;
      font-size: 4.8rem;
      letter-spacing: 0.04em;
      line-height: 1.14583333;
      font-family: "times-new-roman", sans-serif; }
    body.product .product-box .detail__info i {
      display: inline-block;
      width: 73px;
      margin-left: 16px;
      position: relative;
      top: 4px; }
      body.product .product-box .detail__info i img {
        display: block; }
    body.product .product-box .detail__info small {
      display: block;
      font-size: 18px;
      font-size: 1.8rem;
      font-weight: 500;
      margin-top: 10px; }
  body.product .product-box .detail .c-btn {
    position: absolute;
    z-index: +2;
    right: 30px;
    bottom: 50px; }

body.product .product-box .cont {
  padding: 30px 0 128px;
  overflow: hidden;
  background: #F5F4F2; }
  @media only screen and (max-width: 767px) {
    body.product .product-box .cont {
      padding: 20px 0 100px; } }
  body.product .product-box .cont .inner {
    padding: 0 80px;
    max-width: 1366px; }
    @media only screen and (max-width: 767px) {
      body.product .product-box .cont .inner {
        padding: 0 16px; } }
  body.product .product-box .cont .thumb-slider {
    position: relative; }
    body.product .product-box .cont .thumb-slider .swiper-slide {
      cursor: pointer;
      position: relative; }
      body.product .product-box .cont .thumb-slider .swiper-slide:hover:after {
        opacity: 1; }
      body.product .product-box .cont .thumb-slider .swiper-slide:after {
        content: "";
        width: 100%;
        height: 100%;
        display: block;
        background: rgba(255, 255, 255, 0.4);
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        transition: opacity .3s; }
    body.product .product-box .cont .thumb-slider .swiper-button-prev, body.product .product-box .cont .thumb-slider .swiper-button-next {
      width: 24px;
      height: 32px;
      margin-top: 0;
      transform: translate(0, -50%); }
      body.product .product-box .cont .thumb-slider .swiper-button-prev:after, body.product .product-box .cont .thumb-slider .swiper-button-next:after {
        content: none; }
    body.product .product-box .cont .thumb-slider .swiper-button-prev {
      left: -50px; }
    body.product .product-box .cont .thumb-slider .swiper-button-next {
      right: -50px; }
  body.product .product-box .cont .image-text {
    margin-top: 70px;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      body.product .product-box .cont .image-text {
        display: block;
        margin-top: 50px; } }
    body.product .product-box .cont .image-text .image {
      width: 49.1708126%; }
      @media only screen and (max-width: 767px) {
        body.product .product-box .cont .image-text .image {
          width: 100%; } }
    body.product .product-box .cont .image-text .text {
      width: 44.19568823%;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        body.product .product-box .cont .image-text .text {
          width: 100%;
          display: block;
          margin-top: 36px; } }
      body.product .product-box .cont .image-text .text h3 {
        font-size: 27px;
        font-size: 2.7rem;
        letter-spacing: 0.03em;
        line-height: 1.81481481;
        font-weight: 500;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
        margin-bottom: 44px; }
        @media only screen and (max-width: 767px) {
          body.product .product-box .cont .image-text .text h3 {
            font-size: 22px;
            font-size: 2.2rem;
            margin-bottom: 32px; } }
      body.product .product-box .cont .image-text .text p {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.03em;
        line-height: 1.75;
        font-weight: 500; }
        @media only screen and (max-width: 767px) {
          body.product .product-box .cont .image-text .text p {
            letter-spacing: 0; } }
  body.product .product-box .cont .pick-up-list {
    margin-top: 80px;
    display: flex;
    gap: 5.2238806%; }
    @media only screen and (max-width: 767px) {
      body.product .product-box .cont .pick-up-list {
        margin-top: 76px;
        display: block; } }
    body.product .product-box .cont .pick-up-list li {
      width: 29.85074627%; }
      @media only screen and (max-width: 767px) {
        body.product .product-box .cont .pick-up-list li {
          width: 100%;
          margin-bottom: 65px; } }
      @media only screen and (max-width: 767px) {
        body.product .product-box .cont .pick-up-list li:last-of-type {
          margin-bottom: 0; } }
      body.product .product-box .cont .pick-up-list li .text {
        margin-top: 25px; }
        body.product .product-box .cont .pick-up-list li .text h4 {
          font-size: 25px;
          font-size: 2.5rem;
          letter-spacing: 0.11em;
          line-height: 1.5;
          font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
          margin-bottom: 30px; }
        body.product .product-box .cont .pick-up-list li .text p {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.5625;
          font-weight: 500; }
  body.product .product-box .cont .c-btn {
    margin: 50px auto 0;
    background: #E2DFDA; }
    @media only screen and (max-width: 767px) {
      body.product .product-box .cont .c-btn {
        margin-top: 48px; } }
    body.product .product-box .cont .c-btn:hover {
      background: #848380;
      color: #fff; }
  body.product .product-box .cont .c-gallery-slider {
    margin-top: 100px; }
    @media only screen and (max-width: 767px) {
      body.product .product-box .cont .c-gallery-slider {
        margin-top: 50px; } }

body.top .loading {
  width: 100vw;
  height: 100vh;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 1000; }
  body.top .loading__bg {
    content: "";
    width: 100%;
    height: 100vh;
    display: block;
    background: #F5F4F2;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0; }
  body.top .loading__logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 209px;
    opacity: 0; }
    @media only screen and (max-width: 767px) {
      body.top .loading__logo {
        width: 171px; } }

@keyframes zoom-in-out {
  0% {
    transform: scale(1); }
  49% {
    transform: scale(1.1); }
  50% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }

body.top .main-visual {
  width: 100vw;
  height: 100vh;
  position: relative;
  overflow: hidden; }
  body.top .main-visual.is-active .main-visual__image img {
    animation-name: zoom-in-out; }
  body.top .main-visual__image {
    width: 100%;
    height: 100%; }
    body.top .main-visual__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
      animation-duration: 18s;
      animation-iteration-count: infinite;
      animation-timing-function: ease-in-out; }
  body.top .main-visual__logo {
    width: 209px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media only screen and (max-width: 767px) {
      body.top .main-visual__logo {
        width: 171px; } }

body.top .concept {
  padding: 123px 0 101px;
  position: relative;
  color: #F5F4F2; }
  @media only screen and (max-width: 767px) {
    body.top .concept {
      padding: 82px 0 50px; } }
  body.top .concept__image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    body.top .concept__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.top .concept .inner {
    position: relative;
    text-align: center; }
  body.top .concept h2 .en {
    display: block;
    font-size: 48px;
    font-size: 4.8rem;
    letter-spacing: 0.04em;
    line-height: 1.14583333;
    font-family: "times-new-roman", sans-serif;
    margin-bottom: 25px; }
    @media only screen and (max-width: 767px) {
      body.top .concept h2 .en {
        font-size: 30px;
        font-size: 3rem;
        margin-bottom: 10px; } }
  body.top .concept h2 .jp {
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6875;
    font-weight: 500;
    margin-bottom: 50px; }
    @media only screen and (max-width: 767px) {
      body.top .concept h2 .jp {
        margin-bottom: 55px; } }
  body.top .concept p {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.03em;
    line-height: 2;
    font-weight: 500; }
    @media only screen and (max-width: 767px) {
      body.top .concept p {
        letter-spacing: 0;
        line-height: 1.75;
        max-width: 290px;
        margin: 0 auto;
        text-align: left; } }
  body.top .concept .c-btn {
    margin: 76px auto 0; }
    @media only screen and (max-width: 767px) {
      body.top .concept .c-btn {
        margin-top: 45px; } }

body.top .pick-up {
  display: flex; }
  @media only screen and (max-width: 767px) {
    body.top .pick-up {
      flex-direction: column; } }
  @media only screen and (min-width: 768px) {
    body.top .pick-up:hover .pick-up__box {
      width: 25%; } }
  body.top .pick-up__box {
    width: 33.33333%;
    height: 56.22254758vw;
    position: relative;
    transition: width .3s, height .3s; }
    @media only screen and (max-width: 767px) {
      body.top .pick-up__box {
        width: 100%;
        height: 30vw; } }
    @media only screen and (max-width: 767px) {
      body.top .pick-up__box.is-active {
        width: 100% !important;
        height: 112.56410256vw; }
        body.top .pick-up__box.is-active:before {
          opacity: 0; }
        body.top .pick-up__box.is-active .pick-up__box__text {
          top: 50%; }
          body.top .pick-up__box.is-active .pick-up__box__text i {
            opacity: 1; }
          body.top .pick-up__box.is-active .pick-up__box__text span:last-of-type {
            opacity: 1; }
        body.top .pick-up__box.is-active .pick-up__box__more {
          opacity: 1;
          visibility: visible; } }
    @media only screen and (min-width: 768px) {
      body.top .pick-up__box:hover {
        width: 50% !important; }
        body.top .pick-up__box:hover:before {
          opacity: 0; }
        body.top .pick-up__box:hover .pick-up__box__text i {
          opacity: 1; }
        body.top .pick-up__box:hover .pick-up__box__text span:last-of-type {
          opacity: 1; }
        body.top .pick-up__box:hover .pick-up__box__more {
          opacity: 1;
          visibility: visible; } }
    body.top .pick-up__box:before {
      content: "";
      width: 100%;
      height: 100%;
      display: block;
      background: #9a9a9a;
      mix-blend-mode: multiply;
      position: absolute;
      top: 0;
      left: 0;
      transition: opacity .3s; }
    body.top .pick-up__box__image {
      width: 100%;
      height: 100%; }
      body.top .pick-up__box__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: right;
        object-position: center; }
    body.top .pick-up__box__text {
      font-size: 60px;
      font-size: 6rem;
      letter-spacing: 0.11em;
      line-height: 1.4;
      font-family: "times-new-roman", sans-serif;
      color: #F5F4F2;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 270px; }
      @media only screen and (max-width: 767px) {
        body.top .pick-up__box__text {
          font-size: 34px;
          font-size: 3.4rem;
          width: 155px;
          top: 72%;
          transition: top .3s; } }
      body.top .pick-up__box__text i {
        display: inline-block;
        width: 73px;
        margin-left: 0px;
        transition: opacity .3s;
        opacity: 0; }
        @media only screen and (max-width: 767px) {
          body.top .pick-up__box__text i {
            width: 36px; } }
        body.top .pick-up__box__text i img {
          display: block; }
      body.top .pick-up__box__text span {
        transition: opacity .3s; }
        body.top .pick-up__box__text span:last-of-type {
          opacity: 0; }
    body.top .pick-up__box__more {
      color: #F5F4F2;
      position: absolute;
      right: 80px;
      bottom: 73px;
      transition: opacity .3s, visibility .3s;
      opacity: 0;
      visibility: hidden; }
      @media only screen and (max-width: 767px) {
        body.top .pick-up__box__more {
          right: 50px;
          bottom: 30px; } }

body.top .gallery {
  padding: 50px 0 80px;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    body.top .gallery {
      padding: 30px 0 50px; } }
  body.top .gallery .c-en02 {
    margin-bottom: 95px; }
    @media only screen and (max-width: 767px) {
      body.top .gallery .c-en02 {
        margin-bottom: 20px; } }

body.top .news {
  padding: 50px 0 130px;
  background: #F5F4F2; }
  @media only screen and (max-width: 767px) {
    body.top .news {
      padding: 30px 0; } }
  body.top .news__head {
    display: flex;
    justify-content: space-between;
    margin-bottom: 68px; }
    @media only screen and (max-width: 767px) {
      body.top .news__head {
        margin-bottom: 28px; } }
  @media only screen and (max-width: 767px) {
    body.top .news .c-more {
      display: block;
      width: max-content;
      margin-left: auto;
      margin-top: 60px;
      margin-right: 35px; } }

body.top .bottom-link {
  display: flex; }
  @media only screen and (max-width: 767px) {
    body.top .bottom-link {
      flex-direction: column; } }
  body.top .bottom-link__box {
    width: 50%;
    position: relative; }
    @media only screen and (max-width: 767px) {
      body.top .bottom-link__box {
        width: 100%; } }
    body.top .bottom-link__box:hover .bottom-link__box__image:after {
      opacity: 1; }
    body.top .bottom-link__box__image {
      aspect-ratio: 683/768;
      position: relative; }
      @media only screen and (max-width: 767px) {
        body.top .bottom-link__box__image {
          aspect-ratio: 390/220; } }
      body.top .bottom-link__box__image:after {
        content: "";
        width: 100%;
        height: 100%;
        display: block;
        background: rgba(255, 255, 255, 0.4);
        position: absolute;
        top: 0;
        left: 0;
        transition: opacity .3s;
        opacity: 0; }
      body.top .bottom-link__box__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center; }
    body.top .bottom-link__box .c-title02 {
      font-size: 48px;
      font-size: 4.8rem;
      letter-spacing: 0.04em;
      line-height: 1.14583333;
      font-family: "times-new-roman", sans-serif;
      color: #F5F4F2;
      position: absolute;
      top: 100px;
      left: 30px; }
      @media only screen and (max-width: 767px) {
        body.top .bottom-link__box .c-title02 {
          font-size: 30px;
          font-size: 3rem;
          left: 16px;
          top: 50%;
          transform: translate(0, -50%); } }
