@charset "UTF-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** PCスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
html {
  font-size: 10px;
}

/*----------------------------------------------------------------------------
******************************************************************************
** loader
******************************************************************************
----------------------------------------------------------------------------*/
#loader {
  position: fixed;
  inset: 0;
  background-color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 9999;
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.76, 0, 0.24, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.76, 0, 0.24, 1);
  transition: transform 0.7s cubic-bezier(0.76, 0, 0.24, 1);
  transition: transform 0.7s cubic-bezier(0.76, 0, 0.24, 1), -webkit-transform 0.7s cubic-bezier(0.76, 0, 0.24, 1);
}
body.loaded #loader {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
#loader #stage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-size: clamp(2.5rem, 6vw, 7rem);
  white-space: pre;
  letter-spacing: 0.3em;
}
#loader #stage .char {
  font-family: "ladislav", sans-serif;
  display: inline-block;
  position: relative;
  will-change: transform, opacity, filter;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

/*----------------------------------------------------------------------------
******************************************************************************
** common class
******************************************************************************
----------------------------------------------------------------------------*/
.sp {
  display: none !important;
}

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

.clearfix::after {
  content: "";
  clear: both;
  display: block;
}

.container_100 {
  width: 100%;
  padding: 0 2rem;
}
.container_100 .container {
  width: 100%;
  max-width: 180rem;
  margin: 0 auto;
}

.anchor {
  scroll-margin-top: 10rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** header
******************************************************************************
----------------------------------------------------------------------------*/
@media screen and (min-width: 1000px) {
  .hd {
    width: 100%;
    height: 10rem;
    padding: 0;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    opacity: 0;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  .hd.show {
    opacity: 1;
  }
  .hd .container {
    max-width: 192rem;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-left: 3.125%;
  }
  .hd .container .hd_logo {
    width: 17.204301075%;
    min-width: 24rem;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .hd .container .hd_logo a {
    display: inline-block;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .hd .container .hd_logo a:hover {
    opacity: 0.7;
  }
  .hd .container .menu {
    width: 82.795698925%;
    padding-left: 2rem;
    height: 100%;
  }
  .hd .container .menu nav {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .hd .container .menu nav .hd_nav_list {
    width: 73.618421053%;
    max-width: calc(100% - 28rem);
    max-width: 60.2rem;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1rem;
    padding-right: 3.947368421%;
    margin: 0 0 0 auto;
  }
  .hd .container .menu nav .hd_nav_list li {
    padding-top: 0.5rem;
  }
  .hd .container .menu nav .hd_nav_list li a {
    font-family: "indivisible", sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.03em;
    padding: 1rem 0;
    position: relative;
  }
  .hd .container .menu nav .hd_nav_list li a::before {
    content: "";
    width: 100%;
    height: 0.1rem;
    background-color: #000;
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: left center;
            transform-origin: left center;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .hd .container .menu nav .hd_nav_list li a:hover::before {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  .hd .container .menu nav .hd_nav_list li.search {
    cursor: pointer;
    margin-top: -0.5rem;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .hd .container .menu nav .hd_nav_list li.search:hover {
    opacity: 0.7;
  }
  .hd .container .menu nav .hd_nav_list li.search span {
    width: 2.4rem;
    display: inline-block;
  }
  .hd .container .menu nav .hd_sub_list {
    width: 26.381578947%;
    min-width: 28rem;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.1rem;
  }
  .hd .container .menu nav .hd_sub_list li {
    height: 100%;
  }
  .hd .container .menu nav .hd_sub_list li a {
    width: 100%;
    height: 100%;
    font-family: "indivisible", sans-serif;
    font-size: 1.6rem;
    color: #fff;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.03em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1rem;
    background-color: #000;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .hd .container .menu nav .hd_sub_list li a:hover {
    color: #000;
    background-color: #fff;
  }
  .menu_trigger {
    display: none;
  }
}
@media screen and (max-width: 999.9px) {
  .hd {
    width: 100%;
    height: 10rem;
    padding: 0;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    opacity: 0;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  .hd .sp {
    display: block !important;
  }
  .hd.show {
    opacity: 1;
  }
  .hd .container {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative;
  }
  .hd .container .hd_logo {
    width: 32rem;
    height: 10rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: fixed;
    top: 0;
    left: 3rem;
    z-index: 100;
  }
  .hd .container .hd_logo a {
    display: inline-block;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    position: relative;
  }
  .hd .container .hd_logo a picture {
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }
  .hd .container .hd_logo a picture.open_logo {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
  }
  .hd .container .hd_logo a:hover {
    opacity: 0.7;
  }
  .hd .container .menu {
    width: 100%;
    height: 100vh;
    background-color: #000;
    position: fixed;
    top: 0;
    left: 100%;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    overflow-y: scroll;
    scrollbar-width: none;
    z-index: 99;
  }
  .hd .container .menu::-webkit-scrollbar {
    display: none;
  }
  .hd .container .menu nav {
    width: 100%;
    padding: 28.8rem 4rem 4rem;
  }
  .hd .container .menu nav .hd_nav_list {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5.6rem;
  }
  .hd .container .menu nav .hd_nav_list li {
    width: 100%;
    text-align: center;
  }
  .hd .container .menu nav .hd_nav_list li a {
    font-family: "indivisible", sans-serif;
    font-size: 4.2rem;
    color: #fff;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.03em;
  }
  .hd .container .menu nav .hd_nav_list li.search {
    width: 6.8rem;
    height: 10rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    cursor: pointer;
    position: fixed;
    top: 0;
    right: 10rem;
    z-index: 100;
  }
  .hd .container .menu nav .hd_nav_list li.search span {
    width: 2.9rem;
    display: inline-block;
  }
  .hd .container .menu nav .hd_sub_list {
    width: 62rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
    margin: 13rem auto 0;
  }
  .hd .container .menu nav .hd_sub_list li {
    height: 100%;
  }
  .hd .container .menu nav .hd_sub_list li a {
    width: 100%;
    height: 11rem;
    font-family: "indivisible", sans-serif;
    font-size: 3rem;
    color: #fff;
    border: solid 0.2rem #fff;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.03em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2rem;
    background-color: #000;
  }
  .hd .container .menu nav .hd_sp_list {
    width: 100%;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 2.4rem;
    margin-top: 9.4rem;
  }
  .hd .container .menu nav .hd_sp_list li a {
    font-size: 2.2rem;
    color: #fff;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0.05em;
  }
  .hd .container .menu_trigger {
    width: 10rem;
    height: 10rem;
    cursor: pointer;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
  }
  .hd .container .menu_trigger span {
    width: 3.6rem;
    height: 0.2rem;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }
  .hd .container .menu_trigger span:nth-of-type(1) {
    top: calc(50% - 1.4rem);
  }
  .hd .container .menu_trigger span:nth-of-type(3) {
    top: calc(50% + 1.4rem);
  }
  .hd.open .container .hd_logo a picture.open_logo {
    opacity: 1;
  }
  .hd.open .container .hd_logo a picture.logo {
    opacity: 0;
  }
  .hd.open .container .menu {
    left: 0;
  }
  .hd.open .container .menu nav .hd_nav_list li.search {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
  .hd.open .container .menu_trigger span {
    top: 50%;
    background-color: #fff;
  }
  .hd.open .container .menu_trigger span:nth-of-type(1) {
    -webkit-transform: translate(-50%, -50%) rotate(35deg);
            transform: translate(-50%, -50%) rotate(35deg);
  }
  .hd.open .container .menu_trigger span:nth-of-type(2) {
    opacity: 0;
  }
  .hd.open .container .menu_trigger span:nth-of-type(3) {
    -webkit-transform: translate(-50%, -50%) rotate(-35deg);
            transform: translate(-50%, -50%) rotate(-35deg);
  }
}
#search_modal {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
#search_modal.show {
  opacity: 1;
  pointer-events: auto;
}
#search_modal .search_modal_inner {
  display: inline-block;
  position: relative;
  z-index: 2;
}
#search_modal .search_modal_inner input[type=search] {
  width: 56rem;
  height: 7rem;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding: 1rem 5em 1rem 3rem;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#search_modal .search_modal_inner input[type=search]::-webkit-input-placeholder {
  color: #999999;
}
#search_modal .search_modal_inner input[type=search]::-moz-placeholder {
  color: #999999;
}
#search_modal .search_modal_inner input[type=search]:-ms-input-placeholder {
  color: #999999;
}
#search_modal .search_modal_inner input[type=search]::-ms-input-placeholder {
  color: #999999;
}
#search_modal .search_modal_inner input[type=search]::placeholder {
  color: #999999;
}
#search_modal .search_modal_inner input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  width: 1.4rem;
  height: 1.4rem;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000' d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>") center/contain no-repeat;
  cursor: pointer;
}
#search_modal .search_modal_inner button {
  width: 2.4rem;
  position: absolute;
  top: 50%;
  right: 3rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
#search_modal .search_modal_close {
  width: 3.9rem;
  aspect-ratio: 1/1;
  position: absolute;
  top: 13.5rem;
  right: 3.5rem;
  z-index: 2;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#search_modal .search_modal_close::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#search_modal .search_modal_close::after {
  content: "";
  width: 0.1rem;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#search_modal .search_modal_overlay {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.75);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

/*----------------------------------------------------------------------------
******************************************************************************
** index
******************************************************************************
----------------------------------------------------------------------------*/
.hero {
  width: 100%;
  max-height: 93.75rem;
  padding-top: clamp(0rem, 4.6875%, 9rem);
  overflow: hidden;
}
.hero .container {
  max-width: 180rem;
}
.hero .container .hero_main_block {
  width: 100%;
  position: relative;
}
.hero .container .hero_main_block .hero_sitename {
  width: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
}
.hero .container .hero_main_block .hero_sitename picture {
  -webkit-transform: translateY(-10%);
          transform: translateY(-10%);
  display: inline-block;
  opacity: 0;
  -webkit-transition: 2s;
  transition: 2s;
}
.hero .container .hero_main_block .hero_sitename.show picture {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
.hero .container .hero_main_block .hero_slider {
  width: 55.555555555%;
  margin: 0 0 0 auto;
}
.hero .container .hero_main_block .hero_slider .swiper-wrapper .swiper-slide {
  width: 100%;
  aspect-ratio: 1/0.76;
  overflow: hidden;
}
.hero .container .hero_main_block .hero_slider .swiper-wrapper .swiper-slide.swiper-slide-next picture {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
}
.hero .container .hero_main_block .hero_slider .swiper-wrapper .swiper-slide.swiper-slide-active picture, .hero .container .hero_main_block .hero_slider .swiper-wrapper .swiper-slide.swiper-slide-prev picture {
  -webkit-animation: zoomOut 8s linear 0s normal forwards;
          animation: zoomOut 8s linear 0s normal forwards;
}
.hero .container .hero_main_block .hero_slider .swiper-wrapper .swiper-slide a {
  width: 100%;
  height: 100%;
  display: block;
}
.hero .container .hero_main_block .hero_slider .swiper-wrapper .swiper-slide picture {
  width: 100%;
  height: 100%;
  display: block;
}
.hero .container .hero_main_block .hero_slider .swiper-wrapper .swiper-slide picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero .container .hero_news_slider {
  width: 100%;
  max-width: 40rem;
  height: 4.55rem;
  overflow: hidden;
  margin: 2.333333333% 0 0 auto;
}
.hero .container .hero_news_slider .swiper-wrapper .swiper-slide {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.hero .container .hero_news_slider .swiper-wrapper .swiper-slide span {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-left: 1.5rem;
  position: relative;
}
.hero .container .hero_news_slider .swiper-wrapper .swiper-slide span::before {
  content: "";
  width: 0.7rem;
  aspect-ratio: 1/1;
  background-color: #000;
  position: absolute;
  top: 0.6rem;
  left: 0.2rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@-webkit-keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.top_pararax_sec {
  padding: 0;
  padding-top: clamp(0rem, 10.9375%, 21rem);
  padding-bottom: clamp(0rem, 7.8125%, 15rem);
}
.top_pararax_sec .container {
  max-width: none;
}
.top_pararax_sec .container .top_pararax_wrap {
  width: 100%;
  aspect-ratio: 1/0.9833333333;
  position: relative;
}
.top_pararax_sec .container .top_pararax_wrap .pararax_item01 {
  width: 55.208333333%;
  overflow: hidden;
  position: relative;
}
.top_pararax_sec .container .top_pararax_wrap .pararax_item01 picture {
  width: 100%;
  height: 100%;
}
.top_pararax_sec .container .top_pararax_wrap .pararax_item01 picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: 2s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: 2s cubic-bezier(0.28, 1.06, 0.73, 0.95);
}
.top_pararax_sec .container .top_pararax_wrap .pararax_item02 {
  width: 39.0625%;
  background-color: #fff;
  overflow: hidden;
  position: absolute;
  top: 4.71398305%;
  right: 0;
  z-index: 2;
}
.top_pararax_sec .container .top_pararax_wrap .pararax_item02 picture {
  width: 100%;
  height: 100%;
}
.top_pararax_sec .container .top_pararax_wrap .pararax_item02 picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: 2s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: 2s cubic-bezier(0.28, 1.06, 0.73, 0.95);
}
.top_pararax_sec .container .top_pararax_wrap .pararax_item03 {
  width: 39.583333333%;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 5.208333333%;
}
.top_pararax_sec .container .top_pararax_wrap .pararax_item03 picture {
  width: 100%;
  height: 100%;
}
.top_pararax_sec .container .top_pararax_wrap .pararax_item03 picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: 2s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: 2s cubic-bezier(0.28, 1.06, 0.73, 0.95);
}
.top_pararax_sec .container .top_pararax_wrap .pararax_item01 picture img,
.top_pararax_sec .container .top_pararax_wrap .pararax_item02 picture img,
.top_pararax_sec .container .top_pararax_wrap .pararax_item03 picture img {
  will-change: transform;
}
.top_pararax_sec .container .top_pararax_wrap .pararax_item01 .pararax_gray,
.top_pararax_sec .container .top_pararax_wrap .pararax_item02 .pararax_gray,
.top_pararax_sec .container .top_pararax_wrap .pararax_item03 .pararax_gray {
  position: absolute;
  top: 0;
  left: 0;
}
.top_pararax_sec .container .top_pararax_wrap .pararax_item01 .pararax_gray img,
.top_pararax_sec .container .top_pararax_wrap .pararax_item02 .pararax_gray img,
.top_pararax_sec .container .top_pararax_wrap .pararax_item03 .pararax_gray img {
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
  will-change: transform, opacity;
}
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap {
  width: 55.208333333%;
  aspect-ratio: 1/0.9905660377;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap .slide_line {
  --baseSize: 39.150943396%;
  background: #000;
  position: absolute;
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: -webkit-transform 0.8s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: transform 0.8s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: transform 0.8s cubic-bezier(0.28, 1.06, 0.73, 0.95), -webkit-transform 0.8s cubic-bezier(0.28, 1.06, 0.73, 0.95);
}
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap .slide_line.top, .top_pararax_sec .container .top_pararax_wrap .slide_line_wrap .slide_line.bottom {
  height: var(--baseSize);
  width: 0.1rem;
  left: 50%;
  -webkit-transform: scale(1, 0);
          transform: scale(1, 0);
}
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap .slide_line.right, .top_pararax_sec .container .top_pararax_wrap .slide_line_wrap .slide_line.left {
  height: 0.1rem;
  width: var(--baseSize);
  top: 50%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap .slide_line.top {
  top: 0;
  -webkit-transform-origin: top;
          transform-origin: top;
}
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap .slide_line.bottom {
  bottom: 0;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
}
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap .slide_line.right {
  right: 0;
  -webkit-transform-origin: right;
          transform-origin: right;
}
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap .slide_line.left {
  left: 0;
  -webkit-transform-origin: left;
          transform-origin: left;
}
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap .fade_in_logo {
  width: 12.452830188%;
  aspect-ratio: 1/1;
  opacity: 0;
  -webkit-transition: opacity 2s cubic-bezier(0.28, 1.06, 0.73, 0.95) 1s;
  transition: opacity 2s cubic-bezier(0.28, 1.06, 0.73, 0.95) 1s;
}
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap .fade_in_logo picture {
  width: 100%;
  height: 100%;
}
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap .fade_in_logo picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap.is-active .slide_line.top,
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap.is-active .slide_line.bottom,
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap.is-active .slide_line.right,
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap.is-active .slide_line.left {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.top_pararax_sec .container .top_pararax_wrap .slide_line_wrap.is-active .fade_in_logo {
  opacity: 1;
}

.top_philosophy_sec {
  padding-top: clamp(0rem, 7.8125%, 15rem);
}
.top_philosophy_sec .container .top_philosophy_ttl {
  max-width: 146rem;
  margin: 0 auto;
}
.top_philosophy_sec .container .top_philosophy_ttl .ttl_wrap {
  width: 100%;
  padding: 2.74% 2.74% 2.74% 3.42%;
  background: url(../images/top/philosopy_ttl_bg.png) no-repeat center/contain;
  background: url(../images/top/philosopy_ttl_bg.svg) no-repeat center/contain;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top_philosophy_sec .container .top_philosophy_ttl .ttl_wrap span {
  opacity: 0;
  -webkit-filter: blur(2rem);
          filter: blur(2rem);
  -webkit-transform: translate(-2rem, -3rem);
          transform: translate(-2rem, -3rem);
  display: inline-block;
  position: relative;
  -webkit-transition: 1s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: 1s cubic-bezier(0.28, 1.06, 0.73, 0.95);
}
.top_philosophy_sec .container .top_philosophy_ttl .ttl_wrap span.is-visible {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.top_philosophy_sec .container .top_philosophy_ttl .ttl_wrap span.ttl01 {
  width: 26.72%;
  margin-right: 1.386861314%;
}
.top_philosophy_sec .container .top_philosophy_ttl .ttl_wrap span.ttl02 {
  width: 24.6%;
  margin-right: 1.678832117%;
  top: 2px;
}
.top_philosophy_sec .container .top_philosophy_ttl .ttl_wrap span.ttl03 {
  width: 26.86%;
  margin-right: 1.240875912%;
}
.top_philosophy_sec .container .top_philosophy_ttl .ttl_wrap span.ttl04 {
  width: 16.86%;
  top: 4px;
}
.top_philosophy_sec .container .top_philosophy_ttl .ttl_wrap span picture {
  display: inline-block;
}
.top_philosophy_sec .container .top_philosophy_catch {
  width: 100%;
  text-align: center;
  margin-top: 4.1rem;
  opacity: 0;
  -webkit-filter: blur(2rem);
          filter: blur(2rem);
  -webkit-transform: translate(-2rem, -3rem);
          transform: translate(-2rem, -3rem);
  -webkit-transition: 1s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: 1s cubic-bezier(0.28, 1.06, 0.73, 0.95);
}
.top_philosophy_sec .container .top_philosophy_catch.is-visible {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.top_philosophy_sec .container .top_philosophy_catch picture {
  display: inline-block;
}
.top_philosophy_sec .container .top_philosophy_txt_wrap {
  width: 100%;
  max-width: 116rem;
  margin: 14.7rem auto 0;
}
.top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt .jp,
.top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt .en {
  width: 50%;
  font-size: 2.2rem;
  font-weight: 300;
  line-height: 2.2727272727;
  letter-spacing: 0.05em;
}
.top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt .jp .txt_line,
.top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt .en .txt_line {
  display: block;
  opacity: 0;
  -webkit-filter: blur(2rem);
          filter: blur(2rem);
  -webkit-transform: translate(-2rem, -3rem);
          transform: translate(-2rem, -3rem);
  -webkit-transition: 1s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: 1s cubic-bezier(0.28, 1.06, 0.73, 0.95);
}
@media screen and (max-width: 1100px) {
  .top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt .jp .txt_line,
  .top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt .en .txt_line {
    display: inline;
  }
}
.top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt .jp .txt_line.is-visible,
.top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt .en .txt_line.is-visible {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt .en {
  width: 46.551724137%;
  font-family: "indivisible", sans-serif;
  color: #999999;
  font-weight: 400;
  letter-spacing: 0.03em;
}
.top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt.txt01 .jp {
  padding-top: 0.3rem;
}
.top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt.txt02 {
  margin-top: 4.8rem;
}
.top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt.txt02 .jp {
  padding-top: 0.3rem;
}
.top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt.txt03 {
  margin-top: 0.3rem;
}
.top_philosophy_sec .container .top_philosophy_txt_wrap .top_philosophy_txt.txt03 .en {
  padding-top: 4.1rem;
}
.top_philosophy_sec .container .top_philosophy_btn {
  text-align: center;
  margin-top: 10.8rem;
}

.shuei {
  font-family: "dnp-shuei-gothic-gin-std";
  font-weight: 400;
}

.indivisible {
  font-family: "indivisible", sans-serif;
  font-weight: 400;
}

.ladislav {
  font-family: "ladislav", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.common_ttl01 {
  font-family: "ladislav", sans-serif;
  font-size: 16rem;
  font-weight: 400;
  letter-spacing: 0;
}
.common_ttl01.white {
  color: #fff;
}
.common_ttl01.small {
  font-size: 9rem;
}

.common_btn02 {
  font-family: "indivisible", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
  display: inline-block;
  padding: 0 1rem 1rem 0.7rem;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  position: relative;
  cursor: pointer;
}
.common_btn02::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  -webkit-transform-origin: right center;
          transform-origin: right center;
}
.common_btn02 span {
  width: 0.8rem;
  aspect-ratio: 1/1;
  display: inline-block;
  background-color: #000;
  position: relative;
  top: -0.3rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-right: 1.3rem;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.common_btn02 span::before, .common_btn02 span::after {
  content: "";
  width: 0.1rem;
  height: 0.6rem;
  background-color: #000;
  position: absolute;
  bottom: 0.1rem;
  right: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common_btn02 span::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  bottom: auto;
  top: 0.1rem;
}
.common_btn02:hover::before {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}
.common_btn02:hover span {
  width: 1rem;
  aspect-ratio: 1/0.1;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  margin-right: 1.1rem;
  top: -0.5rem;
}
.common_btn02:hover span::before {
  opacity: 1;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.common_btn02:hover span::after {
  opacity: 1;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.common_btn02.white {
  color: #fff;
  border-bottom: solid 0.1rem #fff;
}
.common_btn02.white span {
  background-color: #fff;
}
.common_btn02.white span::before, .common_btn02.white span::after {
  background-color: #fff;
}

.top_visual_sec {
  padding: 0;
  padding-top: clamp(0rem, 13.020833333%, 25rem);
  padding-bottom: clamp(0rem, 18.854166666%, 36.2rem);
  position: sticky;
  top: 0;
  z-index: 1;
}
.top_visual_sec .container {
  max-width: none;
}
.top_visual_sec .container .top_visual_slider {
  width: 100%;
  overflow: hidden;
}
.top_visual_sec .container .top_visual_slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.top_visual_sec .container .top_visual_slider .swiper-wrapper .swiper-slide {
  width: 41.7rem;
}
.top_visual_sec .container .top_visual_slider .swiper-wrapper .swiper-slide a {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.top_visual_sec .container .top_visual_slider .swiper-wrapper .swiper-slide a:hover {
  opacity: 0.7;
}
.top_visual_sec .container .top_visual_slider .swiper-wrapper .swiper-slide figure {
  width: 100%;
}
.top_visual_sec .container .top_visual_slider .swiper-wrapper .swiper-slide figure picture {
  width: 100%;
  display: block;
  text-align: center;
}
.top_visual_sec .container .top_visual_slider .swiper-wrapper .swiper-slide.logo figure {
  padding-right: 2.3rem;
}
.top_visual_sec .container .top_visual_box {
  width: 100%;
  aspect-ratio: 1/0.9052083333;
  position: relative;
  margin-top: 15.625%;
}
.top_visual_sec .container .top_visual_box picture {
  width: 100%;
  height: 100%;
  line-height: 0;
  display: block;
}
.top_visual_sec .container .top_visual_box picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_visual_sec .container .top_visual_box .top_visual_logo_wrap {
  width: calc(25% + 0.1rem);
  aspect-ratio: 1/0.6291666667;
  background-color: #000000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  -webkit-transition: background-color 0.6s ease;
  transition: background-color 0.6s ease;
}
.top_visual_sec .container .top_visual_box .top_visual_logo_wrap .top_visual_logo {
  width: 41.875%;
  -webkit-transition: -webkit-filter 0.6s ease;
  transition: -webkit-filter 0.6s ease;
  transition: filter 0.6s ease;
  transition: filter 0.6s ease, -webkit-filter 0.6s ease;
}
.top_visual_sec .container .top_visual_box .top_visual_logo_wrap.reverse {
  background-color: #ffffff;
}
.top_visual_sec .container .top_visual_box .top_visual_logo_wrap.reverse .top_visual_logo {
  -webkit-filter: invert(1);
          filter: invert(1);
}
.top_visual_sec .container .top_visual_box .top_visual_txt {
  width: 50.46875%;
  position: absolute;
  right: 3.072916666%;
  bottom: -3.797468354%;
  z-index: 3;
  -webkit-transform: translateY(-150%);
          transform: translateY(-150%);
  -webkit-transition: 2s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: 2s cubic-bezier(0.28, 1.06, 0.73, 0.95);
}
.top_visual_sec .container .top_visual_box .top_visual_photo {
  line-height: 0;
  position: absolute;
  z-index: 2;
  -webkit-transition: 1s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: 1s cubic-bezier(0.28, 1.06, 0.73, 0.95);
}
.top_visual_sec .container .top_visual_box .top_visual_photo.photo01 {
  width: 62.5%;
  top: 0;
  right: 0;
  -webkit-transform: translateY(20%);
          transform: translateY(20%);
}
.top_visual_sec .container .top_visual_box .top_visual_photo.photo02 {
  width: 37.5%;
  top: 41.311852704%;
  right: 0;
  -webkit-transform: translateY(30%);
          transform: translateY(30%);
}
.top_visual_sec .container .top_visual_box .top_visual_photo.photo03 {
  width: 62.5%;
  top: calc(58.688147295% - 0.1rem);
  left: 0;
  -webkit-transform: translateY(10%);
          transform: translateY(10%);
}
.top_visual_sec .container .top_visual_box .top_visual_photo.photo04 {
  width: 37.5%;
  top: 17.261219792%;
  left: 0;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}

.top_product_sec {
  padding-top: clamp(0rem, 11.40625%, 21.9rem);
  padding-bottom: clamp(0rem, 15.46875%, 29.7rem);
  background-color: #f9f9f9;
  position: relative;
  z-index: 2;
}
.top_product_sec .container {
  max-width: 181.8rem;
  position: relative;
  z-index: 2;
}
.top_product_sec .container .top_product_block {
  width: 100%;
  position: relative;
  margin-top: 9.6rem;
}
@media screen and (max-width: 1150px) {
  .top_product_sec .container .top_product_block {
    margin-top: 3rem;
  }
}
.top_product_sec .container .top_product_block .top_product_txt_wrap {
  width: 33.333333%;
  padding: 13.1rem 7rem 0 7.1rem;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}
@media screen and (max-width: 1500px) {
  .top_product_sec .container .top_product_block .top_product_txt_wrap {
    padding: 0 2rem 0 0;
  }
}
@media screen and (max-width: 1500px) and (max-width: 1150px) {
  .top_product_sec .container .top_product_block .top_product_txt_wrap {
    width: 100%;
    padding: 0 2rem;
    position: static;
  }
}
.top_product_sec .container .top_product_block .top_product_txt_wrap .top_product_txt {
  width: 100%;
}
.top_product_sec .container .top_product_block .top_product_txt_wrap .top_product_btn {
  margin-top: 4.8rem;
}
.top_product_sec .container .top_product_block .top_product_cat_list {
  width: 100%;
  aspect-ratio: 1/0.8399339934;
  position: relative;
  z-index: 1;
}
.top_product_sec .container .top_product_block .top_product_cat_list li {
  width: 28.05280528%;
  line-height: 0;
  position: absolute;
}
.top_product_sec .container .top_product_block .top_product_cat_list li:nth-of-type(1) {
  top: 21.087099%;
  left: 0.495049505%;
}
.top_product_sec .container .top_product_block .top_product_cat_list li:nth-of-type(2) {
  top: 0;
  left: 34.323432343%;
}
.top_product_sec .container .top_product_block .top_product_cat_list li:nth-of-type(4) {
  bottom: 1.833661%;
  left: 4.125412541%;
}
.top_product_sec .container .top_product_block .top_product_cat_list li:nth-of-type(5) {
  bottom: 15.258671%;
  left: 37.788787879%;
}
.top_product_sec .container .top_product_block .top_product_cat_list li:nth-of-type(6) {
  bottom: 0;
  right: 0.495049505%;
}
.top_product_sec .container .top_product_block .top_product_cat_list li a {
  width: 100%;
  height: 100%;
}
.top_product_sec .container .top_product_block .top_product_cat_list li a figure {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.top_product_sec .container .top_product_block .top_product_cat_list li a figure picture {
  width: 100%;
  height: 100%;
  display: block;
}
.top_product_sec .container .top_product_block .top_product_cat_list li a figure img {
  width: 100%;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: 1s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: 1s cubic-bezier(0.28, 1.06, 0.73, 0.95);
}
.top_product_sec .container .top_product_block .top_product_cat_list li a figure figcaption {
  width: 100%;
  font-size: 6rem;
  color: #fff;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top_product_sec .container .top_product_block .top_product_cat_list li a figure figcaption .slash {
  width: 0.3rem;
  background-color: #fff;
  aspect-ratio: 1/14.6666666667;
  position: relative;
  display: inline-block;
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
  margin: 0px 0.3rem 0 0.8rem;
}
@media screen and (max-width: 1500px) {
  .top_product_sec .container .top_product_block .top_product_cat_list li a figure figcaption {
    font-size: 4vw;
  }
  .top_product_sec .container .top_product_block .top_product_cat_list li a figure figcaption .slash {
    width: 0.2vw;
    margin: 0px 0.2vw 0 0.5333333333vw;
  }
}
.top_product_sec .container .top_product_block .top_product_cat_list li a:hover figure img {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
}
.top_product_sec .reveal_wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.top_product_sec .reveal_wrap .reveal_bottom {
  width: 100%;
  height: 100%;
  background: url(../images/top/product_bg_onmouse.png) repeat top center;
}
.top_product_sec .reveal_wrap .reveal_top {
  position: absolute;
  inset: 0;
  background: url(../images/top/product_bg.png) repeat top center;
  -webkit-mask-image: radial-gradient(circle 101.5px at var(--mx, -500px) var(--my, -500px), transparent 99%, black 100%);
          mask-image: radial-gradient(circle 101.5px at var(--mx, -500px) var(--my, -500px), transparent 99%, black 100%);
}

.common_txt01 {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 2.222222222;
  letter-spacing: 0.05em;
}

.top_showroom_sec {
  padding-top: clamp(0rem, 11.510416666%, 22.1rem);
  padding-bottom: 0;
  position: relative;
  background-color: #fff;
  z-index: 2;
}
.top_showroom_sec .container {
  max-width: 146rem;
}
.top_showroom_sec .container .top_showroom_ttl {
  text-align: center;
  position: relative;
  z-index: 1;
}
.top_showroom_sec .container .top_showroom_block {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.top_showroom_sec .container .top_showroom_block .top_showroom_photo {
  width: 52.05479452%;
}
.top_showroom_sec .container .top_showroom_block .top_showroom_txt_wrap {
  width: calc(100% - (52.05479452% + 10rem));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 10rem;
}
@media screen and (max-width: 1300px) {
  .top_showroom_sec .container .top_showroom_block .top_showroom_txt_wrap {
    width: calc(100% - (52.05479452% + 3rem));
    padding-top: 5rem;
  }
}
.top_showroom_sec .container .top_showroom_block .top_showroom_txt_wrap .top_showroom_txt_inner {
  width: 100%;
  max-width: 50rem;
  padding-bottom: 1.3rem;
}
.top_showroom_sec .container .top_showroom_block .top_showroom_txt_wrap .top_showroom_txt_inner .top_showroom_sub_ttl {
  width: 100%;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
}
.top_showroom_sec .container .top_showroom_block .top_showroom_txt_wrap .top_showroom_txt_inner .top_showroom_txt {
  margin-top: 2.7rem;
}
.top_showroom_sec .container .top_showroom_block .top_showroom_txt_wrap .top_showroom_txt_inner .top_showroom_btn {
  margin-top: 5rem;
}

.top_gallery_sec {
  padding-top: clamp(0rem, 15.625%, 30rem);
  padding-bottom: clamp(0rem, 15.625%, 30rem);
  overflow: hidden;
  position: relative;
  background-color: #fff;
  z-index: 2;
}
.top_gallery_sec .container {
  max-width: none;
  position: relative;
}
.top_gallery_sec .container .top_gallery_wrap {
  width: 100%;
  max-width: 147.4rem;
  padding-top: 17.8rem;
  margin: 0 auto;
}
.top_gallery_sec .container .top_gallery_wrap .top_gallery_ttl {
  position: relative;
  z-index: 2;
}
.top_gallery_sec .container .top_gallery_wrap .top_gallery_txt {
  padding-left: 0.8rem;
  margin-top: -2.8rem;
  position: relative;
  z-index: 2;
}
.top_gallery_sec .container .top_gallery_wrap .top_gallery_btn {
  padding-left: 0.9rem;
  margin-top: 4.8rem;
}
.top_gallery_sec .container .top_gallery_slider {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.top_gallery_sec .container .top_gallery_slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.top_gallery_sec .container .top_gallery_slider .swiper-wrapper .swiper-slide {
  width: 23.4375%;
  width: 45rem;
  padding: 0 2.5rem;
}

.top_faq_sec {
  padding-top: clamp(0rem, 10.416666667%, 20rem);
  padding-bottom: clamp(0rem, 10.416666667%, 20rem);
  background-color: #000000;
  position: relative;
  z-index: 2;
}
.top_faq_sec .container {
  max-width: 148rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.top_faq_sec .container .top_faq_ttl {
  letter-spacing: 0.03em;
  padding-bottom: 2rem;
  position: relative;
  z-index: 2;
}
.top_faq_sec .container .top_faq_txt_wrap {
  width: 35rem;
  padding: 0 0 0.8rem 8.7rem;
}
@media screen and (max-width: 1300px) {
  .top_faq_sec .container .top_faq_txt_wrap {
    padding: 0 0 0 3rem;
  }
}
.top_faq_sec .container .top_faq_txt_wrap .top_faq_btn {
  padding-left: 0.2rem;
  margin-top: 5.5rem;
}
.top_faq_sec .container .top_faq_photo {
  width: 60.81081081%;
  height: 50rem;
  margin-left: -8.445945945%;
}
.top_faq_sec .container .top_faq_photo picture {
  width: 100%;
  height: 100%;
  display: block;
}
.top_faq_sec .container .top_faq_photo picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right center;
     object-position: right center;
}

.common_ttl02 .en {
  width: 100%;
  font-family: "indivisible", sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: block;
}
.common_ttl02 .jp {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: block;
  margin-top: 1.2rem;
}
.common_ttl02.white .en {
  color: #fff;
}
.common_ttl02.white .jp {
  color: #fff;
}

.top_instagram_sec {
  padding-top: clamp(0rem, 8.020833333%, 15.4rem);
  padding-bottom: clamp(0rem, 14.375%, 27.6rem);
  position: relative;
  background-color: #fff;
  z-index: 2;
}
.top_instagram_sec .container {
  max-width: 146rem;
}
.top_instagram_sec .container .top_instagram_ttl {
  text-align: center;
}
.top_instagram_sec .container .top_instagram_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 7.8rem;
}
.top_instagram_sec .container .top_instagram_list li:nth-of-type(1), .top_instagram_sec .container .top_instagram_list li:nth-of-type(3) {
  margin-top: 21rem;
}
.top_instagram_sec .container .top_instagram_list li:nth-of-type(5) {
  margin-top: -21rem;
}
.top_instagram_sec .container .top_instagram_list li a {
  width: 100%;
  aspect-ratio: 1/1.2510288066;
  display: block;
}
.top_instagram_sec .container .top_instagram_list li a figure {
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
}
.top_instagram_sec .container .top_instagram_list li a figure picture {
  width: 100%;
  height: 100%;
  display: block;
}
.top_instagram_sec .container .top_instagram_list li a figure picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 2s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: 2s cubic-bezier(0.28, 1.06, 0.73, 0.95);
}
.top_instagram_sec .container .top_instagram_list li a:hover figure picture img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.top_instagram_sec .container .top_instagram_btn {
  width: 100%;
  text-align: center;
  margin-top: -13.4rem;
}
.top_instagram_sec .container .top_instagram_btn a {
  display: inline-block;
  padding: 0 0.8rem 1.1rem;
  border-bottom: solid 0.1rem #000;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.top_instagram_sec .container .top_instagram_btn a:hover {
  opacity: 0.7;
}

.common_link_sec {
  padding-top: clamp(0rem, 7.8125%, 15rem);
  padding-bottom: clamp(0rem, 7.8125%, 15rem);
  background: -webkit-image-set(url(../images/common/common_link_bg.webp) 1x, url(../images/common/common_link_bg@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/common/common_link_bg.webp) 1x, url(../images/common/common_link_bg@2x.webp) 2x) no-repeat center/cover;
  position: relative;
  z-index: 2;
}
.common_link_sec .container {
  max-width: 120rem;
}
.common_link_sec .container .link_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 3.75%;
}
.common_link_sec .container .link_list a {
  width: 100%;
  height: 11rem;
  padding: 2rem;
  border: solid 0.1rem #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.common_link_sec .container .link_list a::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  z-index: 1;
}
.common_link_sec .container .link_list a > span {
  font-family: "indivisible", sans-serif;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  position: relative;
  z-index: 2;
}
.common_link_sec .container .link_list a > span span {
  width: 0.8rem;
  aspect-ratio: 1/1;
  display: inline-block;
  background-color: #fff;
  position: relative;
  top: -0.3rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-right: 1.3rem;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.common_link_sec .container .link_list a > span span::before, .common_link_sec .container .link_list a > span span::after {
  content: "";
  width: 0.1rem;
  height: 0.6rem;
  background-color: #fff;
  position: absolute;
  bottom: 0.1rem;
  right: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common_link_sec .container .link_list a > span span::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  bottom: auto;
  top: 0.1rem;
}
.common_link_sec .container .link_list a:hover::before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.common_link_sec .container .link_list a:hover > span {
  color: #000;
}
.common_link_sec .container .link_list a:hover > span span {
  width: 1rem;
  aspect-ratio: 1/0.1;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  margin-right: 1.1rem;
  top: -0.5rem;
  background-color: #000;
}
.common_link_sec .container .link_list a:hover > span span::before {
  background-color: #000;
  opacity: 1;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.common_link_sec .container .link_list a:hover > span span::after {
  background-color: #000;
  opacity: 1;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.pararax_scroll_margin {
  height: 40rem;
  position: relative;
  z-index: -1;
}

/*----------------------------------------------------------------------------
******************************************************************************
** sub common
******************************************************************************
----------------------------------------------------------------------------*/
.breadcrmb_wrap {
  width: 100%;
  padding: 0 2rem;
}
.breadcrmb_wrap .breadcrmb {
  width: 100%;
  max-width: 180.4rem;
  padding: 4.6rem 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 2.5rem;
  margin: 10rem auto 0;
}
.breadcrmb_wrap .breadcrmb li {
  list-style: none;
  position: relative;
}
.breadcrmb_wrap .breadcrmb li:last-of-type::before {
  display: none;
}
.breadcrmb_wrap .breadcrmb li::before {
  content: "";
  width: 1rem;
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  top: 1.1rem;
  right: -1.7rem;
}
.breadcrmb_wrap .breadcrmb li a,
.breadcrmb_wrap .breadcrmb li span {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: inline-block;
  padding-bottom: 0.1rem;
}
.breadcrmb_wrap .breadcrmb li a {
  position: relative;
}
.breadcrmb_wrap .breadcrmb li a::before {
  content: "";
  width: calc(100% - 0.6rem);
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.sub_hero {
  padding-top: 4.6rem;
  padding-bottom: 5rem;
}
.sub_hero .container {
  max-width: 182rem;
}
.sub_hero .container .sub_hero_ttl {
  width: 100%;
  font-family: "ladislav", sans-serif;
  font-size: 16rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}
.sub_hero .container .sub_hero_ttl .slash {
  padding: 0 4.4rem;
  display: inline-block;
  position: relative;
}
.sub_hero .container .sub_hero_ttl .slash::before {
  content: "";
  width: 11.8rem;
  height: 0.5rem;
  background-color: #000;
  position: absolute;
  bottom: 5.2rem;
  left: calc(50% - 0.2rem);
  -webkit-transform: translateX(-50%) rotate(-70deg);
          transform: translateX(-50%) rotate(-70deg);
}
.sub_hero .container .sub_hero_lead {
  width: 100%;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-left: 0.9rem;
  margin-top: 5.9rem;
}
.sub_hero .container .sub_hero_txt {
  width: 100%;
  font-size: 1.8rem;
  line-height: 2.2222222222;
  letter-spacing: 0.05em;
  margin-top: 2.7rem;
  padding-left: 1.1rem;
}
.sub_hero .container .sub_hero_txt .line {
  padding-left: 5.7rem;
  position: relative;
}
.sub_hero .container .sub_hero_txt .line::before {
  content: "";
  width: 4.3rem;
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  top: 1.2rem;
  left: 0.4rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** news list
******************************************************************************
----------------------------------------------------------------------------*/
.two_column_sec {
  padding-top: 8rem;
  padding-bottom: 20rem;
}
.two_column_sec .container {
  position: relative;
}
.two_column_sec .container .two_column_wrap {
  width: 100%;
  max-width: 146rem;
  margin: 0 auto;
}
.two_column_sec .container .two_column_wrap .two_column_side_block {
  width: 25rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.two_column_sec .container .two_column_wrap .two_column_side_block .two_column_cat_nav {
  width: 100%;
  position: sticky;
  top: 10rem;
}
.two_column_sec .container .two_column_wrap .two_column_side_block .two_column_cat_nav ul {
  width: 100%;
  padding: 4.4rem 0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.4rem;
}
.two_column_sec .container .two_column_wrap .two_column_side_block .two_column_cat_nav ul::before {
  content: "";
  width: 0.1rem;
  height: 100%;
  background-color: #ddd;
  position: absolute;
  top: 0;
  left: 0.6rem;
}
.two_column_sec .container .two_column_wrap .two_column_side_block .two_column_cat_nav ul li {
  padding-left: 2.8rem;
  position: relative;
}
.two_column_sec .container .two_column_wrap .two_column_side_block .two_column_cat_nav ul li a {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: inline-block;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.two_column_sec .container .two_column_wrap .two_column_side_block .two_column_cat_nav ul li a:hover {
  font-weight: 700;
}
.two_column_sec .container .two_column_wrap .two_column_side_block .two_column_cat_nav ul li.active a {
  font-weight: 700;
  pointer-events: none;
}
.two_column_sec .container .two_column_wrap .two_column_side_block .two_column_cat_nav ul .magic_diamond {
  width: 0.9rem;
  aspect-ratio: 1/1;
  background-color: #000;
  position: absolute;
  left: 0.2rem;
  top: 0;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: top 0.35s ease, -webkit-transform 0.2s ease;
  transition: top 0.35s ease, -webkit-transform 0.2s ease;
  transition: top 0.35s ease, transform 0.2s ease;
  transition: top 0.35s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
  pointer-events: none;
}
.two_column_sec .container .two_column_wrap .two_column_side_block .two_column_cat_nav ul .magic_diamond.is-moving {
  -webkit-transform: rotate(0deg) scaleX(0.12);
          transform: rotate(0deg) scaleX(0.12);
}
.two_column_sec .container .two_column_wrap .two_column_main_block {
  width: 100%;
  max-width: 125rem;
  padding-left: 25rem;
  margin-left: auto;
}

.common_news_list {
  width: 100%;
  border-top: solid 0.1rem #ddd;
}
.common_news_list li {
  width: 100%;
  border-bottom: solid 0.1rem #ddd;
}
.common_news_list li a {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 4rem 6rem 4rem 2rem;
  position: relative;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.common_news_list li a .cat {
  min-width: 10rem;
  height: 3.2rem;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.5rem;
  background-color: #000000;
  margin-right: 2.9rem;
}
.common_news_list li a .ttl {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-top: 0.2rem;
}
.common_news_list li a .arrow {
  width: 1.1rem;
  aspect-ratio: 1/1;
  display: inline-block;
  background-color: #000;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  right: 2.2rem;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.common_news_list li a .arrow::before, .common_news_list li a .arrow::after {
  content: "";
  width: 0.1rem;
  height: 0.7rem;
  background-color: #000;
  position: absolute;
  bottom: 0.1rem;
  right: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common_news_list li a .arrow::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  bottom: auto;
  top: 0.1rem;
}
.common_news_list li a:hover {
  opacity: 0.7;
}
.common_news_list li a:hover .arrow {
  width: 1.3rem;
  aspect-ratio: 1/0.1;
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
.common_news_list li a:hover .arrow::before {
  opacity: 1;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.common_news_list li a:hover .arrow::after {
  opacity: 1;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.pagenation_wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 10.2rem;
}
.pagenation_wrap .wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 0;
  position: relative;
  gap: 1.9rem;
  padding: 0 2.4rem;
}
.pagenation_wrap .wp-pagenavi a:not(.previouspostslink):not(.nextpostslink),
.pagenation_wrap .wp-pagenavi span:not(.extend) {
  width: 5rem;
  font-family: "indivisible", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: solid 0.1rem #000;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.pagenation_wrap .wp-pagenavi a:not(.previouspostslink):not(.nextpostslink).current,
.pagenation_wrap .wp-pagenavi span:not(.extend).current {
  color: #fff;
  background-color: #000;
}
.pagenation_wrap .wp-pagenavi a:not(.previouspostslink):not(.nextpostslink):hover,
.pagenation_wrap .wp-pagenavi span:not(.extend):hover {
  color: #fff;
  background-color: #000;
}
.pagenation_wrap .wp-pagenavi span {
  pointer-events: none;
}
.pagenation_wrap .wp-pagenavi .extend {
  width: 3.2rem;
  font-size: 2.4rem;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pagenation_wrap .wp-pagenavi .previouspostslink,
.pagenation_wrap .wp-pagenavi .nextpostslink {
  width: 1.1rem;
  aspect-ratio: 1/1;
  border-right: solid 0.1rem #000;
  border-bottom: solid 0.1rem #000;
  position: absolute;
  top: calc(50% - 0.1rem);
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  right: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.pagenation_wrap .wp-pagenavi .previouspostslink:hover,
.pagenation_wrap .wp-pagenavi .nextpostslink:hover {
  opacity: 0.7;
}
.pagenation_wrap .wp-pagenavi .previouspostslink {
  border: none;
  border-left: solid 0.1rem #000;
  border-bottom: solid 0.1rem #000;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  left: 0;
  right: auto;
}

/*----------------------------------------------------------------------------
******************************************************************************
** news detail
******************************************************************************
----------------------------------------------------------------------------*/
.news_detail_sec {
  padding-top: 8rem;
  padding-bottom: 12rem;
}
.news_detail_sec .container {
  max-width: 100rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.news_detail_sec .container .news_cat {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  margin-bottom: 2.5rem;
}
.news_detail_sec .container .news_cat span {
  min-width: 10rem;
  height: 3.2rem;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.5rem;
  background-color: #000000;
  margin-right: 2.9rem;
}
.news_detail_sec .container .news_detail_editor {
  margin-top: 3.8rem;
}
.news_detail_sec .container .news_detail_ttl {
  width: 100%;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
  padding-bottom: 2.4rem;
  border-bottom: solid 0.1rem #000;
}
.news_detail_sec .container .news_detail_lead {
  margin-top: 3.7rem;
}
.news_detail_sec .container .news_detail_thumb {
  width: 100%;
  margin-top: 4rem;
}
.news_detail_sec .container .news_detail_btn {
  margin-top: 9rem;
}

.news_related_sec {
  padding-top: 10.7rem;
  padding-bottom: 12rem;
  background-color: #f3f3f3;
}
.news_related_sec .container {
  max-width: 100rem;
}
.news_related_sec .container .news_related_list {
  margin-top: 3.7rem;
}

.news_other_sec {
  padding-top: 10.7rem;
  padding-bottom: 17rem;
}
.news_other_sec .container {
  max-width: 100rem;
}
.news_other_sec .container .news_other_nav {
  margin-top: 5.7rem;
}
.news_other_sec .container .news_other_nav ul {
  gap: 5.1rem;
}
.news_other_sec .container .news_other_nav ul li a {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-bottom: 1.8rem;
  cursor: pointer;
}

.common_ttl05 {
  width: 100%;
  font-family: "ladislav", sans-serif;
  font-size: 5rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0em;
  text-align: center;
}

.common_editor {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 2.222222222;
  letter-spacing: 0.05em;
  margin-top: 10rem;
}
.common_editor > *:first-child {
  margin-top: 0;
}
.common_editor h2 {
  width: 100%;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding: 1.7rem 0;
  border-top: solid 0.1rem #000;
  border-bottom: solid 0.1rem #000;
  margin: 5rem 0 3rem;
}
.common_editor h3 {
  width: 100%;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-bottom: 1.4rem;
  border-bottom: solid 0.1rem #ddd;
  margin: 3rem 0;
}
.common_editor p {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 2.222222222;
  letter-spacing: 0.05em;
  margin: 2rem 0;
}
.common_editor a {
  text-decoration: underline;
  text-underline-offset: 0.9rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_editor a:hover {
  opacity: 0.7;
}

.common_btn01 {
  width: 100%;
  max-width: 30rem;
  height: 8rem;
  padding: 2rem;
  border: solid 0.1rem #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.common_btn01.center {
  margin: 0 auto;
}
.common_btn01.indivisible {
  padding: 2.3rem 2rem 2rem 1.3rem;
}
.common_btn01.indivisible > span {
  font-family: "indivisible", sans-serif;
  letter-spacing: 0.03em;
}
.common_btn01::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  z-index: 1;
}
.common_btn01 > span {
  font-size: 1.6rem;
  color: #000;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  position: relative;
  z-index: 2;
}
.common_btn01 > span span {
  width: 0.8rem;
  aspect-ratio: 1/1;
  display: inline-block;
  background-color: #000;
  position: relative;
  top: -0.2rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-right: 1.3rem;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.common_btn01 > span span::before, .common_btn01 > span span::after {
  content: "";
  width: 0.1rem;
  height: 0.6rem;
  background-color: #000;
  position: absolute;
  bottom: 0.1rem;
  right: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.common_btn01 > span span::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  bottom: auto;
  top: 0.1rem;
}
.common_btn01:hover::before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.common_btn01:hover > span {
  color: #fff;
}
.common_btn01:hover > span span {
  width: 1rem;
  aspect-ratio: 1/0.1;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  margin-right: 1.1rem;
  top: -0.5rem;
  background-color: #fff;
}
.common_btn01:hover > span span::before {
  background-color: #fff;
  opacity: 1;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.common_btn01:hover > span span::after {
  background-color: #fff;
  opacity: 1;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.common_btn01.revese {
  background-color: #000;
}
.common_btn01.revese::before {
  background-color: #f3f3f3;
}
.common_btn01.revese > span {
  color: #fff;
}
.common_btn01.revese > span span {
  background-color: #fff;
}
.common_btn01.revese > span span::before, .common_btn01.revese > span span::after {
  background-color: #fff;
}
.common_btn01.revese:hover > span {
  color: #000;
}
.common_btn01.revese:hover > span span {
  background-color: #000;
}
.common_btn01.revese:hover > span span::before {
  background-color: #000;
}
.common_btn01.revese:hover > span span::after {
  background-color: #000;
}

/*----------------------------------------------------------------------------
******************************************************************************
** faq
******************************************************************************
----------------------------------------------------------------------------*/
.faq_sec {
  padding-top: 7.2rem;
}
.faq_sec .two_column_side_block {
  padding-top: 0.8rem;
}
.faq_sec .two_column_main_block .faq_ttl {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-bottom: 1.8rem;
  border-bottom: solid 0.1rem #000;
  margin-bottom: 1rem;
}

.common_faq_list .faq_box {
  width: 100%;
  padding-top: 4.5rem;
  padding-bottom: 4.5rem;
  border-bottom: solid 0.1rem #dddddd;
  cursor: pointer;
}
.common_faq_list .faq_box .question {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-left: 3.3rem;
  position: relative;
}
.common_faq_list .faq_box .question::before, .common_faq_list .faq_box .question::after {
  content: "";
  width: 1.7rem;
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  top: 1.3rem;
  left: 0;
}
.common_faq_list .faq_box .question::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_faq_list .faq_box .question.open::after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
.common_faq_list .faq_box .answer {
  width: 100%;
  padding: 2.5rem 0 0.5rem;
  display: none;
}
.common_faq_list .faq_box .answer a {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_faq_list .faq_box .answer a:hover {
  opacity: 0.7;
}

/*----------------------------------------------------------------------------
******************************************************************************
** product
******************************************************************************
----------------------------------------------------------------------------*/
.common_magic_line_nav {
  width: 100%;
  position: relative;
}
.common_magic_line_nav ul {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.315068493%;
  position: relative;
}
.common_magic_line_nav ul::before {
  content: "";
  width: 100vw;
  min-width: 146rem;
  height: 0.1rem;
  background-color: #dddddd;
  position: absolute;
  bottom: 0;
  left: calc((-100vw + 100%) / 2);
}
.common_magic_line_nav ul li a {
  width: 100%;
  display: inline-block;
  text-align: center;
  padding: 0 0.7rem 1.6rem;
  color: #999;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  cursor: pointer;
}
.common_magic_line_nav ul li a .en {
  width: 100%;
  font-family: "indivisible", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
  display: block;
}
.common_magic_line_nav ul li a .jp {
  width: 100%;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.05em;
  display: block;
  margin-top: 0.7rem;
}
.common_magic_line_nav ul li.active a, .common_magic_line_nav ul li:hover a {
  color: #000;
}
.common_magic_line_nav .magic_line {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0.1rem;
  background-color: #000;
  -webkit-transition: left 0.3s ease, width 0.3s ease;
  transition: left 0.3s ease, width 0.3s ease;
  pointer-events: none;
}

.product_list_sec {
  padding-top: 7.3rem;
  padding-bottom: 20rem;
}
.product_list_sec .container {
  max-width: 146rem;
}
.product_list_sec .container .product_list {
  width: 100%;
  margin-top: 7rem;
}
.product_list_sec .container .pagenation_wrap {
  margin-top: 11.7rem;
}

.common_product_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5.4rem 2.100456621%;
}
.common_product_list li a {
  width: 100%;
  display: inline-block;
}
.common_product_list li a .product_thumb {
  width: 100%;
  aspect-ratio: 1/1;
  position: relative;
  overflow: hidden;
}
.common_product_list li a .product_thumb picture {
  width: 100%;
  height: 100%;
  display: block;
  -webkit-transition: opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0, 1), opacity 0.6s cubic-bezier(0.4, 0, 0, 1);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0, 1), opacity 0.6s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 0.6s cubic-bezier(0.4, 0, 0, 1);
}
.common_product_list li a .product_thumb picture img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.common_product_list li a .product_thumb picture.out-mouse {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.common_product_list li a .product_info {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 3rem;
}
.common_product_list li a .product_info .product_cat {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.common_product_list li a .product_info .product_cat span {
  min-width: 16rem;
  height: 3.2rem;
  font-family: "indivisible", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
  padding: 0.5rem 1rem;
  border: solid 0.1rem #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.common_product_list li a .product_info .product_name {
  width: 100%;
  margin-top: 1.9rem;
}
.common_product_list li a .product_info .product_name .en {
  width: 100%;
  font-family: "ladislav", sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  display: block;
}
.common_product_list li a .product_info .product_name .jp {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: block;
  margin-top: 0.7rem;
}
.common_product_list li a:hover .product_thumb picture.out-mouse {
  opacity: 0;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.common_product_list li a:hover .product_thumb picture.on-mouse {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

/*----------------------------------------------------------------------------
******************************************************************************
** product detail
******************************************************************************
----------------------------------------------------------------------------*/
.product_detail_sec {
  padding-top: 8rem;
  padding-bottom: 19.3rem;
}
.product_detail_sec .container {
  max-width: 146rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.product_detail_sec .container .product_detail_info {
  width: 100%;
  display: grid;
  grid-template-columns: 44.520547945% 1fr;
  -webkit-column-gap: 8rem;
     -moz-column-gap: 8rem;
          column-gap: 8rem;
  grid-template-rows: repeat(5, auto) 1fr;
  grid-template-areas: "media cat" "media name" "media desc" "media file" "media btn" "media .";
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  position: relative;
}
.product_detail_sec .container .product_detail_info .product_detail_cat {
  grid-area: cat;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.product_detail_sec .container .product_detail_info .product_detail_cat span {
  min-width: 16rem;
  height: 3.2rem;
  font-family: "indivisible", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
  padding: 0.5rem 1rem;
  border: solid 0.1rem #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.product_detail_sec .container .product_detail_info .product_detail_name {
  grid-area: name;
  width: 100%;
  margin-top: 1.9rem;
  margin-left: -0.5rem;
}
.product_detail_sec .container .product_detail_info .product_detail_name .en {
  width: 100%;
  font-family: "ladislav", sans-serif;
  font-size: 6.6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  display: block;
}
.product_detail_sec .container .product_detail_info .product_detail_name .jp {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: block;
  padding-left: 0.2rem;
  margin-top: 1rem;
}
.product_detail_sec .container .product_detail_info .product_detail_media {
  grid-area: media;
  width: 100%;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider {
  width: 100%;
  position: relative;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider .swiper-wrapper {
  width: 100%;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider .swiper-wrapper .swiper-slide {
  width: 100%;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider .swiper-wrapper .swiper-slide picture {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider .swiper-wrapper .swiper-slide picture img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider_thumb_wrap {
  width: 100%;
  overflow: hidden;
  margin-top: 2rem;
  position: relative;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider_thumb_wrap .product_slider_arrow {
  width: 2rem;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: 4.307692307%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  cursor: pointer;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider_thumb_wrap .product_slider_arrow::before {
  content: "";
  width: 1rem;
  height: 1.6rem;
  background: url(../images/common/product_slide_arrow.png) no-repeat center/contain;
  background: url(../images/common/product_slide_arrow.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider_thumb_wrap .product_slider_arrow.next {
  right: -0.4rem;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider_thumb_wrap .product_slider_arrow.next::before {
  -webkit-transform: translate(-50%, -50%) scale(-1, 1);
          transform: translate(-50%, -50%) scale(-1, 1);
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider_thumb_wrap .product_slider_thumb {
  width: 92.307692307%;
  margin-left: -1rem;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider_thumb_wrap .product_slider_thumb .swiper-slide {
  width: 20%;
  padding: 0 1rem;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider_thumb_wrap .product_slider_thumb .swiper-slide picture {
  width: 100%;
  aspect-ratio: 1/1;
  position: relative;
  display: inline-block;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider_thumb_wrap .product_slider_thumb .swiper-slide picture::before {
  content: "";
  width: 100%;
  height: 100%;
  border: solid 0.1rem #000;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  opacity: 0;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider_thumb_wrap .product_slider_thumb .swiper-slide picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.product_detail_sec .container .product_detail_info .product_detail_media .product_slider_thumb_wrap .product_slider_thumb .swiper-slide.swiper-slide-thumb-active picture::before {
  opacity: 1;
}
.product_detail_sec .container .product_detail_info .product_detail_desc {
  grid-area: desc;
  margin-top: 3rem;
}
.product_detail_sec .container .product_detail_info .product_detail_file_list {
  grid-area: file;
  width: 100%;
  display: grid;
  grid-template-columns: 6rem auto;
  margin-top: 7rem;
  gap: 1.4rem 0;
}
.product_detail_sec .container .product_detail_info .product_detail_file_list dt {
  height: 3.2rem;
  font-family: "indivisible", sans-serif;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 1rem;
  background-color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.product_detail_sec .container .product_detail_info .product_detail_file_list dd {
  padding-left: 1.2rem;
}
.product_detail_sec .container .product_detail_info .product_detail_file_list dd a {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: inline-block;
  text-decoration: underline;
  text-underline-offset: 0.7rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.product_detail_sec .container .product_detail_info .product_detail_file_list dd a:hover {
  opacity: 0.7;
}
.product_detail_sec .container .product_detail_info .product_detail_showroom_btn {
  grid-area: btn;
  margin-top: 8rem;
}
.product_detail_sec .container .product_detail_info .product_detail_showroom_btn a {
  max-width: 37rem;
  padding-left: 2rem;
}
.product_detail_sec .container .product_detail_spec {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 9.2rem;
}
.product_detail_sec .container .product_detail_spec .product_detail_spec_ttl {
  width: 100%;
}
.product_detail_sec .container .product_detail_spec .product_detail_spec_list {
  width: 48.630136986%;
  display: grid;
  grid-template-columns: 16rem auto;
  padding-top: 1rem;
}
.product_detail_sec .container .product_detail_spec .product_detail_spec_list dt {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.875;
  letter-spacing: 0.05em;
  padding-top: 2.3rem;
  padding-bottom: 2.2rem;
  border-bottom: solid 0.1rem #dddddd;
}
.product_detail_sec .container .product_detail_spec .product_detail_spec_list dd {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.875;
  letter-spacing: 0.05em;
  padding: 2.3rem 1rem 2.2rem 0.4rem;
  border-bottom: solid 0.1rem #dddddd;
}
.product_detail_sec .container .product_detail_spec .product_detail_spec_list dd a {
  display: inline-block;
  padding-bottom: 0.5rem;
  text-decoration: underline;
  text-underline-offset: 0.5rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.product_detail_sec .container .product_detail_spec .product_detail_spec_list dd a:hover {
  opacity: 0.7;
}
.product_detail_sec .container .product_detail_spec .product_detail_color_list {
  width: calc(100% - (48.630136986% + 3rem));
  max-width: 71rem;
  display: grid;
  grid-template-columns: 10.9rem auto;
  padding-left: 0.1rem;
  padding-top: 3.3rem;
}
.product_detail_sec .container .product_detail_spec .product_detail_color_list dt {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.875;
  letter-spacing: 0.05em;
}
.product_detail_sec .container .product_detail_spec .product_detail_color_list dd {
  padding-top: 0.6rem;
}
.product_detail_sec .container .product_detail_spec .product_detail_color_list dd ul {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, 9rem);
  gap: 2rem;
}
.product_detail_sec .container .product_detail_spec .product_detail_color_list dd ul li {
  cursor: pointer;
}
.product_detail_sec .container .product_detail_spec .product_detail_color_list dd ul li .color_name {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.35;
  letter-spacing: 0.05em;
  word-break: break-all;
  margin-bottom: 0;
}
.product_detail_sec .container .product_detail_spec .product_detail_color_list dd ul li .color_img {
  width: 100%;
  margin-bottom: 0.5rem;
}
.product_detail_sec .container .product_detail_spec .product_detail_color_list dd ul li .color_img figure {
  width: 100%;
  aspect-ratio: 1/1;
}
.product_detail_sec .container .product_detail_spec .product_detail_color_list dd ul li .color_img figure picture {
  width: 100%;
  height: 100%;
  display: block;
}
.product_detail_sec .container .product_detail_spec .product_detail_color_list dd ul li .color_img figure picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.product_detail_sec .container .product_detail_point {
  width: 100%;
  margin-top: 9.3rem;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5rem;
  margin-top: 5.1rem;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box {
  width: 100%;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_img_wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  --gridCount: 1;
  margin-top: 3rem;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_img_wrap.img_count02 {
  --gridCount: 2;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_img_wrap.img_count03 {
  --gridCount: 3;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_img_wrap.img_count04 {
  --gridCount: 4;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_img_wrap {
  grid-template-columns: repeat(var(--gridCount), minmax(0, -webkit-max-content));
  grid-template-columns: repeat(var(--gridCount), minmax(0, max-content));
  gap: 2rem;
  margin-bottom: 3rem;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_img_wrap .product_detail_point_column_img img {
  max-width: 100%;
  height: auto;
  display: block;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_img_wrap .product_detail_point_column_img .product_detail_point_column_img_caption {
  width: 100%;
  margin-top: 1rem;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_img_wrap .product_detail_point_column_img .product_detail_point_column_img_caption a {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_img_wrap .product_detail_point_column_img .product_detail_point_column_img_caption a:hover {
  opacity: 0.7;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_desc {
  width: 100%;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_desc .product_detail_point_column_ttl {
  width: 100%;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.8181818182;
  letter-spacing: 0.05em;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_desc .product_detail_point_column_txt {
  margin-top: 1rem;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_desc .product_detail_point_column_txt a {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.product_detail_sec .container .product_detail_point .product_detail_point_column .product_detail_point_column_box .product_detail_point_column_desc .product_detail_point_column_txt a:hover {
  opacity: 0.7;
}
.product_detail_sec .container .product_detail_showroom {
  width: 100%;
  margin-top: 12rem;
}
.product_detail_sec .container .product_detail_showroom .product_detail_showroom_wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 7rem;
  margin-top: 5rem;
}
.product_detail_sec .container .product_detail_showroom .product_detail_showroom_wrap .product_detail_showroom_list {
  width: 100%;
}
.product_detail_sec .container .product_detail_showroom .product_detail_showroom_wrap .product_detail_showroom_list > dt {
  width: 100%;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
}
.product_detail_sec .container .product_detail_showroom .product_detail_showroom_wrap .product_detail_showroom_list > dd {
  width: 100%;
  margin-top: 2.1rem;
}
.product_detail_sec .container .product_detail_related {
  width: 100%;
  margin-top: 12rem;
}
.product_detail_sec .container .product_detail_related .product_detail_related_list {
  margin-top: 5rem;
}
.product_detail_sec .container .products_detail_btn {
  width: 100%;
  margin-top: 10rem;
}

.common_showroom_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 2.739726027%;
}
@media screen and (max-width: 900px) {
  .common_showroom_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.common_showroom_list li {
  padding: 3.4rem 4rem 8.8rem;
  background-color: #f9f9f9;
  border: solid 0.1rem #dddddd;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.common_showroom_list li .showroom_name {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}
.common_showroom_list li .showroom_name a {
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_showroom_list li .showroom_name a:hover {
  opacity: 0.7;
}
.common_showroom_list li .showroom_prefecture {
  width: 100%;
  line-height: 1;
  padding-top: 0.5rem;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  margin-bottom: 1.4rem;
}
.common_showroom_list li .showroom_prefecture span {
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 0.8rem 2.4rem;
  background-color: #000;
  display: inline-block;
}
.common_showroom_list li .showroom_address {
  width: 100%;
  line-height: 1.625;
  margin-top: 1.2rem;
}
.common_showroom_list li .showroom_gmap {
  width: 100%;
  margin-top: 0.5rem;
}
.common_showroom_list li .showroom_gmap a {
  display: inline-block;
  padding-left: 2rem;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_showroom_list li .showroom_gmap a::before {
  content: "";
  width: 1.3rem;
  height: 1.9rem;
  background: url(../images/common/gmap_icon.png) no-repeat center/contain;
  background: url(../images/common/gmap_icon.svg) no-repeat center/contain;
  position: absolute;
  top: 1rem;
  left: 0;
}
.common_showroom_list li .showroom_gmap a span {
  text-decoration: underline;
  text-underline-offset: 0.7rem;
  display: inline-block;
}
.common_showroom_list li .showroom_gmap a:hover {
  opacity: 0.7;
}
.common_showroom_list li .showroom_info {
  width: 100%;
  line-height: 1.875;
  display: grid;
  grid-template-columns: 8.3rem auto;
  margin-top: 2rem;
}
.common_showroom_list li .showroom_detail_link {
  width: 100%;
  padding: 0 4rem;
  text-align: right;
  position: absolute;
  bottom: 3.9rem;
  right: 0;
}
.common_showroom_list.shop li {
  padding-bottom: 3.1rem;
}
.common_showroom_list.shop li .showroom_name {
  margin-bottom: 1.3rem;
}
.common_showroom_list.shop li .showroom_name a {
  text-decoration: underline;
  text-underline-offset: 0.7rem;
}

.common_ttl03 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 0.8rem;
  border-bottom: solid 0.1rem #000;
}
.common_ttl03 .en {
  font-family: "indivisible", sans-serif;
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.03em;
  display: inline-block;
  margin-right: 1.5rem;
  margin-left: -0.2rem;
}
.common_ttl03 .jp {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.25;
  letter-spacing: 0.05em;
  display: inline-block;
  padding-top: 0.5rem;
}

.common_txt02 {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2.125;
  letter-spacing: 0.05em;
}

/*----------------------------------------------------------------------------
******************************************************************************
** showroom
******************************************************************************
----------------------------------------------------------------------------*/
.common_inner_link_nav {
  width: 100%;
  padding-top: 4.2rem;
  padding-bottom: 4.2rem;
  overflow: hidden;
}
.common_inner_link_nav.company_bland {
  padding-top: 7.6rem;
}
.common_inner_link_nav ul {
  width: 100%;
  max-width: 146rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5.753424657%;
  position: relative;
  margin: 0 auto;
}
.common_inner_link_nav ul::before {
  content: "";
  width: 100vw;
  min-width: 146rem;
  height: 0.1rem;
  background-color: #dddddd;
  position: absolute;
  bottom: 0;
  left: calc((-100vw + 100%) / 2);
  z-index: 1;
}
.common_inner_link_nav ul li {
  position: relative;
  z-index: 2;
}
.common_inner_link_nav ul li a {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: inline-block;
  padding: 0 2.1rem 1rem 0;
  border-bottom: solid 0.1rem #000;
  position: relative;
}
.common_inner_link_nav ul li a::before {
  content: "";
  width: 1.1rem;
  height: 1.2rem;
  background: url(../images/common/nav_arrow.png) no-repeat center/contain;
  background: url(../images/common/nav_arrow.svg) no-repeat center/contain;
  position: absolute;
  top: 0.8rem;
  right: -0.1rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_inner_link_nav ul li a:hover::before {
  top: 1.8rem;
}

.showroom_sec {
  padding-top: 9.5rem;
  padding-bottom: 15rem;
}
.showroom_sec .container {
  max-width: 146rem;
}
.showroom_sec .container .showroom_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10rem;
  margin-top: 8.2rem;
}
.showroom_sec .container .showroom_list .showroom_detail_box {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner {
  width: calc(100% - (56.164383561% + 3rem));
  max-width: 56rem;
  margin: 0 0 0 auto;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_name {
  width: 100%;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-bottom: 1.3rem;
  border-bottom: solid 0.1rem #dddddd;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_slider {
  width: 56.164383561%;
  overflow: hidden;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_slider .showroom_slider_arrow {
  width: 3.5rem;
  aspect-ratio: 1/1;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  cursor: pointer;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_slider .showroom_slider_arrow::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-left: solid 0.2rem #fff;
  border-bottom: solid 0.2rem #fff;
  position: absolute;
  top: 50%;
  left: calc(50% + 0.1rem);
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_slider .showroom_slider_arrow.next {
  left: 3.6rem;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_slider .showroom_slider_arrow.next::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border: none;
  border-right: solid 0.2rem #fff;
  border-bottom: solid 0.2rem #fff;
  position: absolute;
  top: 50%;
  left: calc(50% - 0.1rem);
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_slider .swiper-wrapper .swiper-slide figure {
  width: 100%;
  aspect-ratio: 1/0.5975609756;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_slider .swiper-wrapper .swiper-slide figure picture {
  width: 100%;
  height: 100%;
  display: block;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_slider .swiper-wrapper .swiper-slide figure picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_address {
  width: 100%;
  line-height: 1.625;
  padding-bottom: 0.3rem;
  margin-top: 2.5rem;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_note_list {
  width: 100%;
  margin-top: 2rem;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_note_list li {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding-left: 1em;
  text-indent: -1em;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_info {
  width: 100%;
  line-height: 1.875;
  display: grid;
  grid-template-columns: 12rem auto;
  margin-top: 1.5rem;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_info dd .showroom_access_list {
  width: 100%;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_info dd .showroom_access_list p {
  width: 100%;
  line-height: 1.625;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_info dd .showroom_access_list dl {
  width: 100%;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_info dd .showroom_access_list dl dt {
  width: 100%;
  padding-left: 1.4rem;
  position: relative;
  margin-top: 1.8rem;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_info dd .showroom_access_list dl dt:first-of-type {
  margin-top: 0;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_info dd .showroom_access_list dl dt::before {
  content: "";
  width: 0.6rem;
  aspect-ratio: 1/1;
  background-color: #000;
  position: absolute;
  top: 1.2rem;
  left: 0.1rem;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_info dd .showroom_access_list dl dd {
  line-height: 1.625;
  margin-top: 0.3rem;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_btn {
  width: 100%;
  margin-top: 3.6rem;
}
.showroom_sec .container .showroom_list .showroom_detail_box .showroom_detail_inner .showroom_btn a {
  max-width: 37rem;
  padding-left: 2.6rem;
}
.showroom_sec .container .showroom_list .showroom_detail_box:nth-of-type(even) .showroom_detail_inner {
  margin: 0 auto 0 0;
}
.showroom_sec .container .showroom_list .showroom_detail_box:nth-of-type(even) .showroom_detail_inner .showroom_slider {
  left: auto;
  right: 0;
}

.common_ttl04 {
  width: 100%;
  text-align: center;
}
.common_ttl04 .en {
  width: 100%;
  font-family: "ladislav", sans-serif;
  font-size: 8rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0em;
  display: block;
}
.common_ttl04 .jp {
  width: 100%;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: block;
  margin-top: 0.4rem;
}

.company_store_sec {
  padding-top: 13.7rem;
  padding-bottom: 15rem;
  background-color: #f3f3f3;
}
.company_store_sec .container {
  max-width: 146rem;
}
.company_store_sec .container .company_store_list {
  margin-top: 9rem;
}
.company_store_sec .container .company_store_list li:nth-of-type(n + 10) {
  display: none;
}
.company_store_sec .container .company_store_list.open li:nth-of-type(n + 10) {
  display: block;
}
.company_store_sec .container .company_store_btn {
  text-align: center;
  margin-top: 8.1rem;
}

.retail_store_sec {
  padding-top: 13.7rem;
  padding-bottom: 20rem;
  overflow: hidden;
}
.retail_store_sec .container {
  max-width: 146rem;
}
.retail_store_sec .container .retail_store_nav {
  margin-top: 8.1rem;
}
.retail_store_sec .container .retail_store_nav ul {
  gap: 3.01369863%;
}
@media screen and (max-width: 900px) {
  .retail_store_sec .container .retail_store_nav ul {
    gap: 1rem;
  }
}
.retail_store_sec .container .retail_store_nav ul li a {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.05em;
  cursor: pointer;
}
.retail_store_sec .container .retail_store_list_wrap {
  margin-top: 7rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** privacy
******************************************************************************
----------------------------------------------------------------------------*/
.privacy_sec {
  padding-top: 6.4rem;
  padding-bottom: 19rem;
}
.privacy_sec .container {
  max-width: 100rem;
}
.privacy_sec .container a {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.privacy_sec .container a:hover {
  opacity: 0.7;
}
.privacy_sec .container > .privacy_txt:first-of-type {
  padding-bottom: 5.1rem;
  border-bottom: solid 0.1rem #000;
}
.privacy_sec .container .update {
  text-align: right;
  margin-top: 5rem;
}
.privacy_sec .container .privacy_box {
  width: 100%;
  padding-top: 5.4rem;
  padding-bottom: 5rem;
  padding: 3rem 0;
  border-bottom: solid 0.1rem #000;
}
.privacy_sec .container .privacy_box .privacy_ttl {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  margin-bottom: 1.4rem;
}
.privacy_sec .container .privacy_box .privacy_detail {
  width: 100%;
}
.privacy_sec .container .privacy_box .privacy_detail *:first-child {
  margin-top: 0;
}
.privacy_sec .container .privacy_box .privacy_detail p {
  margin-top: 1rem;
}
.privacy_sec .container .privacy_box .privacy_detail ul {
  margin-top: 1rem;
}
.privacy_sec .container .privacy_box .privacy_detail ul + p {
  margin-top: 1.2rem;
}
.privacy_sec .container .privacy_box .privacy_detail ul li {
  padding-left: 1.8rem;
  position: relative;
}
.privacy_sec .container .privacy_box .privacy_detail ul li::before {
  content: "";
  width: 0.7rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #000;
  position: absolute;
  top: 1.2rem;
  left: 0.2rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** galellry
******************************************************************************
----------------------------------------------------------------------------*/
.galellry_sec {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.common_gallery {
  width: 100%;
  position: relative;
}
.common_gallery > li {
  position: absolute;
  -webkit-transition: top 0.25s ease, left 0.25s ease, width 0.25s ease;
  transition: top 0.25s ease, left 0.25s ease, width 0.25s ease;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  cursor: pointer;
}
.common_gallery > li:hover {
  opacity: 0.7;
}
.common_gallery > li .gallery_item {
  position: relative;
}
.common_gallery > li .gallery_item .gallery_open_icon {
  width: 3rem;
  aspect-ratio: 1/1;
  background-color: #000;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}
.common_gallery > li .gallery_item .gallery_open_icon::before, .common_gallery > li .gallery_item .gallery_open_icon::after {
  content: "";
  width: 1.1rem;
  height: 0.1rem;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
.common_gallery > li .gallery_item .gallery_open_icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.common_gallery > li .gallery_item .gallery_item_info {
  display: none;
}

.gallery_modal {
  width: 100%;
  height: 100%;
  padding: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.gallery_modal.show {
  opacity: 1;
  pointer-events: auto;
}
.gallery_modal .gallery_modal_bg {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  cursor: pointer;
}
.gallery_modal .gallery_modal_info {
  width: 100%;
  max-width: 120rem;
  padding: 6rem 6.4rem 6rem 6rem;
  background-color: #ffffff;
  position: relative;
  z-index: 2;
}
.gallery_modal .gallery_modal_info .gallery_modal_close {
  width: 3.9rem;
  aspect-ratio: 1/1;
  position: absolute;
  top: 3.5rem;
  right: 3.5rem;
  z-index: 1;
  cursor: pointer;
}
.gallery_modal .gallery_modal_info .gallery_modal_close::before, .gallery_modal .gallery_modal_info .gallery_modal_close::after {
  content: "";
  width: 100%;
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.gallery_modal .gallery_modal_info .gallery_modal_close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap {
  min-height: 45rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: calc(41.821561338% + 3rem);
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner {
  width: 100%;
  max-width: 55rem;
  padding-bottom: 0.8rem;
  margin: 0 0 0 auto;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_item_ttl {
  width: 100%;
  font-family: "indivisible", sans-serif;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_item_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.3rem;
  padding-left: 0.2rem;
  margin-top: 3.2rem;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_item_list li a {
  display: inline-block;
  text-decoration: underline;
  text-underline-offset: 0.8rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_item_list li a:hover {
  opacity: 0.7;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_item_img {
  width: 41.821561338%;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  left: 0;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_item_img picture {
  width: 100%;
  height: 100%;
  display: block;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_item_img picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_nav {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.5rem;
  margin-top: 4.5rem;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_nav span {
  position: relative;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_nav span:hover {
  opacity: 0.7;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_nav span::before {
  content: "";
  width: 2.7rem;
  aspect-ratio: 1/1;
  background-color: #000;
  position: absolute;
  top: 0.3rem;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_nav span::after {
  content: "";
  width: 0.8rem;
  aspect-ratio: 1/1;
  position: absolute;
  top: 1.3rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_nav span.prev {
  padding-left: 4.2rem;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_nav span.prev::before {
  left: 0.4rem;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_nav span.prev::after {
  border-left: solid 0.1rem #fff;
  border-bottom: solid 0.1rem #fff;
  left: 1.6rem;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_nav span.next {
  padding-right: 4.2rem;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_nav span.next::before {
  right: 0.4rem;
}
.gallery_modal .gallery_modal_info .gallery_modal_wrap .gallery_modal_inner .gallery_nav span.next::after {
  border-top: solid 0.1rem #fff;
  border-right: solid 0.1rem #fff;
  right: 1.6rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** concept
******************************************************************************
----------------------------------------------------------------------------*/
.concept_slide_item {
  -webkit-transition: 2s cubic-bezier(0.28, 1.06, 0.73, 0.95);
  transition: 2s cubic-bezier(0.28, 1.06, 0.73, 0.95);
}

.concept_visual_sec {
  padding-top: 7.4rem;
  padding-bottom: 10rem;
}
.concept_visual_sec .container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.concept_visual_sec .container .concept_visual_photo {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.concept_visual_sec .container .concept_visual_ttl {
  width: 51.411764705%;
  max-width: 87.4rem;
  margin: -3rem 0 0 5%;
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
}
.concept_visual_sec .container .concept_visual_txt {
  width: calc(100% - (56.411764705% + 3rem));
  max-width: 62.7rem;
  margin-top: 4.055555555%;
  -webkit-transform: translateY(5rem);
          transform: translateY(5rem);
}
@media screen and (max-width: 1400px) {
  .concept_visual_sec .container .concept_visual_txt {
    margin-top: 2rem;
  }
}
.concept_visual_sec .container .concept_visual_txt .line {
  padding-left: 5.7rem;
  position: relative;
}
.concept_visual_sec .container .concept_visual_txt .line::before {
  content: "";
  width: 4.3rem;
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  top: 1.2rem;
  left: 0.4rem;
}
@media screen and (max-width: 1200px) {
  .concept_visual_sec .container .concept_visual_ttl {
    width: 100%;
    padding-right: 5%;
  }
  .concept_visual_sec .container .concept_visual_txt {
    width: 100%;
    margin: 3rem 0 0 5%;
  }
}

.concept_philosophy_sec {
  padding-top: 13.8rem;
  padding-bottom: 10rem;
}
.concept_philosophy_sec .container {
  max-width: 146rem;
}
.concept_philosophy_sec .container .concept_philosophy_block {
  width: 100%;
  position: relative;
}
.concept_philosophy_sec .container .concept_philosophy_block.block01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.concept_philosophy_sec .container .concept_philosophy_block.block01 .concept_philosophy_wrap {
  width: calc(46% + 3rem);
  max-width: 64rem;
  padding-bottom: 1rem;
}
.concept_philosophy_sec .container .concept_philosophy_block.block01 .concept_philosophy_wrap .concept_philosophy_column {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 3.1rem;
}
.concept_philosophy_sec .container .concept_philosophy_block.block01 .concept_philosophy_wrap .concept_philosophy_column .concept_philosophy_txt01 {
  width: calc(100% - 29rem);
  max-width: 30rem;
  padding-top: 0.2rem;
}
.concept_philosophy_sec .container .concept_philosophy_block.block01 .concept_philosophy_wrap .concept_philosophy_column .concept_philosophy_img {
  width: 26rem;
}
.concept_philosophy_sec .container .concept_philosophy_block.block01 .concept_philosophy_wrap .concept_philosophy_column .concept_philosophy_txt02 {
  width: 100%;
  margin-top: 2.5rem;
}
.concept_philosophy_sec .container .concept_philosophy_block.block01 .concept_philosophy_wrap .concept_philosophy_photo {
  width: 61.643835616%;
  position: absolute;
  top: 0;
  right: -15.753424657%;
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
}
.concept_philosophy_sec .container .concept_philosophy_block.block02 {
  padding: 0 calc(21.232876712% + 2rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 25rem;
}
.concept_philosophy_sec .container .concept_philosophy_block.block02 .concept_philosophy_wrap {
  width: 47.3rem;
  padding-top: 1rem;
  margin: 0 auto 0;
}
.concept_philosophy_sec .container .concept_philosophy_block.block02 .concept_philosophy_wrap .concept_philosophy_txt01 {
  margin-top: 3.3rem;
}
.concept_philosophy_sec .container .concept_philosophy_block.block02 .concept_philosophy_wrap .concept_philosophy_img {
  max-width: 42.6rem;
  margin: 6.8rem auto 0;
}
.concept_philosophy_sec .container .concept_philosophy_block.block02 .concept_philosophy_wrap .concept_philosophy_photo {
  width: 36.986301369%;
  position: absolute;
  top: 0;
}
.concept_philosophy_sec .container .concept_philosophy_block.block02 .concept_philosophy_wrap .concept_philosophy_photo.left {
  left: -15.753424657%;
  -webkit-transform: translateY(20rem);
          transform: translateY(20rem);
}
.concept_philosophy_sec .container .concept_philosophy_block.block02 .concept_philosophy_wrap .concept_philosophy_photo.right {
  right: -15.753424657%;
  -webkit-transform: translateY(8rem);
          transform: translateY(8rem);
}
.concept_philosophy_sec .container .concept_philosophy_block.block03 {
  margin-top: 20rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.concept_philosophy_sec .container .concept_philosophy_block.block03 .concept_philosophy_wrap {
  width: calc(46% + 3rem);
  max-width: 64rem;
  margin-left: auto;
  padding-top: 0.9rem;
}
.concept_philosophy_sec .container .concept_philosophy_block.block03 .concept_philosophy_wrap .concept_philosophy_txt01 {
  margin-top: 3.3rem;
}
.concept_philosophy_sec .container .concept_philosophy_block.block03 .concept_philosophy_wrap .concept_philosophy_txt02 {
  margin-top: 2.6rem;
}
.concept_philosophy_sec .container .concept_philosophy_block.block03 .concept_philosophy_wrap .concept_philosophy_logo_stage_wrap {
  margin-top: 8rem;
  position: relative;
}
.concept_philosophy_sec .container .concept_philosophy_block.block03 .concept_philosophy_wrap .concept_philosophy_logo_stage_wrap .concept_philosophy_logo_stage {
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
.concept_philosophy_sec .container .concept_philosophy_block.block03 .concept_philosophy_photo_wrap {
  width: 61.643835616%;
  position: absolute;
  top: 0;
  left: -15.753424657%;
}
.concept_philosophy_sec .container .concept_philosophy_block.block03 .concept_philosophy_photo_wrap .concept_philosophy_photo.top {
  width: 100%;
  -webkit-transform: translateY(-5rem);
          transform: translateY(-5rem);
}
.concept_philosophy_sec .container .concept_philosophy_block.block03 .concept_philosophy_photo_wrap .concept_philosophy_photo.bottom {
  width: 66.66666666%;
  margin: 5.555555555% 0 0 19.444444444%;
  -webkit-transform: translateY(3rem);
          transform: translateY(3rem);
}
.concept_philosophy_sec .container .concept_philosophy_block .concept_philosophy_wrap .line {
  padding-left: 5.7rem;
  position: relative;
}
.concept_philosophy_sec .container .concept_philosophy_block .concept_philosophy_wrap .line::before {
  content: "";
  width: 4.3rem;
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  top: 1.2rem;
  left: 0.4rem;
}
.concept_philosophy_sec .container .concept_philosophy_block .concept_philosophy_wrap .concept_philosophy_ttl {
  width: 100%;
  padding-left: 0.9rem;
}
.concept_philosophy_sec .container .concept_philosophy_block .concept_philosophy_wrap .concept_philosophy_ttl .sqare_wrap {
  position: relative;
  display: inline-block;
  margin-right: 2.4rem;
}
.concept_philosophy_sec .container .concept_philosophy_block .concept_philosophy_wrap .concept_philosophy_ttl .sqare_wrap::before {
  content: "";
  width: 0;
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  top: 1.9rem;
  left: calc(100% + 0.6rem);
}
.concept_philosophy_sec .container .concept_philosophy_block .concept_philosophy_wrap .concept_philosophy_ttl .sqare_wrap .square {
  width: 3.9rem;
  aspect-ratio: 1/1;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.concept_philosophy_sec .container .concept_philosophy_block .concept_philosophy_wrap .concept_philosophy_ttl .sqare_wrap .square span {
  font-family: "ladislav", sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.concept_philosophy_sec .container .concept_philosophy_block .concept_philosophy_wrap .concept_philosophy_ttl .ttl {
  font-family: "ladislav", sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
}
.concept_philosophy_sec .container .concept_philosophy_block .concept_philosophy_wrap .concept_philosophy_catch {
  width: 100%;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.05em;
  margin-top: 3.1rem;
}

.products_nav_sec {
  padding-top: 13.7rem;
  padding-bottom: 25rem;
}
.products_nav_sec .container .concept_cat_nav {
  margin-top: 7rem;
}
.products_nav_sec .container .concept_cat_nav ul {
  gap: 3.555555555%;
}

@-webkit-keyframes diamond-lb {
  0% {
    width: 0;
    height: 0;
  }
  20% {
    width: 0;
    height: 100%;
  }
  40% {
    width: 100%;
    height: 100%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}

@keyframes diamond-lb {
  0% {
    width: 0;
    height: 0;
  }
  20% {
    width: 0;
    height: 100%;
  }
  40% {
    width: 100%;
    height: 100%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
@-webkit-keyframes diamond-rt {
  0% {
    width: 0;
    height: 0;
  }
  40% {
    width: 0;
    height: 0;
  }
  60% {
    width: 0;
    height: 100%;
  }
  80% {
    width: 100%;
    height: 100%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
@keyframes diamond-rt {
  0% {
    width: 0;
    height: 0;
  }
  40% {
    width: 0;
    height: 0;
  }
  60% {
    width: 0;
    height: 100%;
  }
  80% {
    width: 100%;
    height: 100%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
@-webkit-keyframes sqare-bar {
  0% {
    width: 0;
  }
  80% {
    width: 0;
  }
  100% {
    width: 1.6rem;
  }
}
@keyframes sqare-bar {
  0% {
    width: 0;
  }
  80% {
    width: 0;
  }
  100% {
    width: 1.6rem;
  }
}
@-webkit-keyframes ttl-reveal {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0 0% 0 0);
  }
}
@keyframes ttl-reveal {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0 0% 0 0);
  }
}
.concept_philosophy_sec .concept_philosophy_ttl .ttl {
  clip-path: inset(0 100% 0 0);
}
.concept_philosophy_sec .concept_philosophy_ttl .square {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.concept_philosophy_sec .concept_philosophy_ttl .square::before, .concept_philosophy_sec .concept_philosophy_ttl .square::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
}
.concept_philosophy_sec .concept_philosophy_ttl .square::before {
  top: 0;
  left: 0;
  border-left: 0.1rem solid currentColor;
  border-bottom: 0.1rem solid currentColor;
}
.concept_philosophy_sec .concept_philosophy_ttl .square::after {
  bottom: 0;
  right: 0;
  border-right: 0.1rem solid currentColor;
  border-top: 0.1rem solid currentColor;
}
.concept_philosophy_sec .concept_philosophy_ttl .sqare_wrap.is-active::before {
  -webkit-animation: sqare-bar 1.5s linear forwards;
          animation: sqare-bar 1.5s linear forwards;
}
.concept_philosophy_sec .concept_philosophy_ttl .sqare_wrap.is-active .square::before {
  -webkit-animation: diamond-lb 1.5s linear forwards;
          animation: diamond-lb 1.5s linear forwards;
}
.concept_philosophy_sec .concept_philosophy_ttl .sqare_wrap.is-active .square::after {
  -webkit-animation: diamond-rt 1.5s linear forwards;
          animation: diamond-rt 1.5s linear forwards;
}
.concept_philosophy_sec .concept_philosophy_ttl .sqare_wrap.is-active ~ .ttl {
  -webkit-animation: ttl-reveal 0.5s ease forwards;
          animation: ttl-reveal 0.5s ease forwards;
  -webkit-animation-delay: 1.7s;
          animation-delay: 1.7s;
}
.concept_philosophy_sec .concept_philosophy_logo_stage {
  width: 100%;
  aspect-ratio: 1/0.5859375;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.concept_philosophy_sec .concept_philosophy_logo_stage .concept_img_stage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-size: 8rem;
  white-space: pre;
  letter-spacing: 0.1em;
}
.concept_philosophy_sec .concept_philosophy_logo_stage .concept_img_stage .char {
  font-family: "ladislav", sans-serif;
  display: inline-block;
  position: relative;
  will-change: transform, opacity, filter;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

/*----------------------------------------------------------------------------
******************************************************************************
** company bland
******************************************************************************
----------------------------------------------------------------------------*/
.company_sec {
  padding-top: 9.5rem;
  padding-bottom: 15rem;
}
.company_sec .container {
  max-width: 100rem;
}
.company_sec .container .company_list {
  width: 100%;
  display: grid;
  grid-template-columns: 20rem auto;
  border-top: solid #ddd 0.1rem;
  margin-top: 5.2rem;
}
.company_sec .container .company_list dt {
  padding: 3.4rem 1.9rem 3.1rem;
  font-weight: 700;
  border-bottom: solid #ddd 0.1rem;
}
.company_sec .container .company_list dd {
  padding: 3.4rem 1.9rem 3.1rem;
  border-bottom: solid #ddd 0.1rem;
}
.company_sec .container .company_list dd a {
  text-decoration: underline;
  text-underline-offset: 0.5rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.company_sec .container .company_list dd a:hover {
  opacity: 0.7;
}
.company_sec .container .company_list dd .gmap {
  width: 100%;
  margin: 2rem 0 -0.2rem 0.4rem;
}
.company_sec .container .company_btn {
  margin-top: 7.1rem;
}
.company_sec .container .company_btn a {
  max-width: 50rem;
}

.bland_sec {
  padding-top: 13.8rem;
  padding-bottom: 15rem;
  background-color: #f3f3f3;
}
.bland_sec .container {
  max-width: 146rem;
}
.bland_sec .container .bland_sub_ttl {
  width: 100%;
  text-align: center;
  position: relative;
  padding-bottom: 1.5rem;
  margin-top: 11.5rem;
}
.bland_sec .container .bland_sub_ttl:first-of-type {
  margin-top: 10.8rem;
}
.bland_sec .container .bland_sub_ttl::before {
  content: "";
  width: 6.7rem;
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.bland_sec .container .bland_sub_ttl .en {
  font-family: "indivisible", sans-serif;
  font-size: 3.8rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  display: block;
}
.bland_sec .container .bland_sub_ttl .jp {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: block;
  margin-top: 0.4rem;
}
.bland_sec .container .bland_alt {
  width: 100%;
  background-color: #fff;
  margin-top: 4rem;
}
.bland_sec .container .bland_alt .bland_alt_head {
  width: 100%;
  color: #fff;
  background-color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  --etymologyW: 33.561643835%;
}
.bland_sec .container .bland_alt .bland_alt_head .bland_alt_etymology {
  width: var(--etymologyW);
  padding: 2.9rem 2rem 3.7rem 3rem;
  position: relative;
}
.bland_sec .container .bland_alt .bland_alt_head .bland_alt_etymology::before {
  content: "";
  width: 0.1rem;
  height: 10rem;
  background-color: rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.bland_sec .container .bland_alt .bland_alt_head .bland_alt_etymology .ttl_wrap {
  width: 100%;
  max-width: 34rem;
  display: block;
  margin: 0 auto;
}
.bland_sec .container .bland_alt .bland_alt_head .bland_alt_etymology .ttl_wrap .ttl {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.bland_sec .container .bland_alt .bland_alt_head .bland_alt_etymology .ttl_wrap .ttl .alt {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.03em;
}
.bland_sec .container .bland_alt .bland_alt_head .bland_alt_etymology .ttl_wrap .ttl .alt_etymology {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  padding: 0.8rem 0 0 1.1rem;
}
.bland_sec .container .bland_alt .bland_alt_head .bland_alt_etymology .ttl_wrap .ttl .alt_etymology .indivisible {
  font-weight: 500;
  margin-left: 0.9rem;
}
.bland_sec .container .bland_alt .bland_alt_head .bland_alt_etymology .ttl_wrap .en {
  font-family: "indivisible", sans-serif;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: inline-block;
  margin-top: 0.3rem;
}
.bland_sec .container .bland_alt .bland_alt_head .bland_alt_etymology .ttl_wrap .txt {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: inline-block;
  padding-left: 2.7rem;
  position: relative;
}
.bland_sec .container .bland_alt .bland_alt_head .bland_alt_etymology .ttl_wrap .txt::before {
  content: "";
  width: 1.8rem;
  height: 0.1rem;
  background-color: #fff;
  position: absolute;
  top: 1.2rem;
  left: 0;
}
.bland_sec .container .bland_alt .bland_alt_head .bland_alt_desc {
  width: calc(100% - var(--etymologyW));
  padding: 4rem 8rem 4rem 2rem;
}
.bland_sec .container .bland_alt .bland_alt_head .bland_alt_desc p {
  max-width: 75rem;
  line-height: 1.875;
  margin: 0 auto;
}
.bland_sec .container .bland_alt .bland_alt_list {
  width: 100%;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-columns: repeat(4, minmax(0, 31.2rem));
  gap: 3rem;
  padding: 6rem 2rem 9.1rem;
}
@media screen and (max-width: 1000px) {
  .bland_sec .container .bland_alt .bland_alt_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 6rem 2rem;
    padding: 6rem 4rem;
  }
}
.bland_sec .container .bland_other {
  width: 100%;
  margin-top: 4rem;
}
.bland_sec .container .bland_other .bland_other_list {
  width: 100%;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
}
@media screen and (max-width: 1000px) {
  .bland_sec .container .bland_other .bland_other_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem 2rem;
  }
}
.bland_sec .container .bland_other .bland_other_list li {
  padding: 4rem;
  background-color: #fff;
}
.bland_sec .container .bland_other .bland_other_list li > div {
  padding-bottom: 9.4rem;
}
.bland_sec .container .bland_other .bland_other_list li > div .bland_alt_name {
  margin-top: 2.4rem;
}
.bland_sec .container .bland_other .bland_other_list li > div .bland_alt_txt {
  margin-top: 1.6rem;
}

.common_bland_box {
  width: 100%;
  height: 100%;
  padding-bottom: 4.7rem;
  position: relative;
}
.common_bland_box .bland_alt_logo {
  width: 100%;
  text-align: center;
}
.common_bland_box .bland_alt_name {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 1.5rem;
  display: none;
}
.common_bland_box .bland_alt_txt {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.875;
  letter-spacing: 0.05em;
  margin-top: 0.7rem;
}
.common_bland_box .bland_alt_btn {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 1.5rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.common_bland_box .bland_alt_btn.other {
  display: grid;
  grid-template-rows: repeat(2, 2.6rem);
}
.common_bland_box .bland_alt_btn a {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-decoration: underline;
  text-underline-offset: 0.6rem;
  display: inline-block;
  padding-left: 3.1rem;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.common_bland_box .bland_alt_btn a:hover {
  opacity: 0.7;
}
.common_bland_box .bland_alt_btn a::before {
  content: "";
  width: 2.4rem;
  aspect-ratio: 1/1;
  background: url(../images/company_bland/bland_btn_arrow.png) no-repeat center/contain;
  background: url(../images/company_bland/bland_btn_arrow.svg) no-repeat center/contain;
  position: absolute;
  top: 0.2rem;
  left: -0.1rem;
}
.common_bland_box .bland_alt_btn a.indivisible::before {
  background: url(../images/company_bland/bland_btn_arrow_deg.png) no-repeat center/contain;
  background: url(../images/company_bland/bland_btn_arrow_deg.svg) no-repeat center/contain;
}
.common_bland_box .bland_alt_btn a.catalog::before {
  content: "";
  width: 2.2rem;
  height: 1.7rem;
  aspect-ratio: none;
  background: url(../images/company_bland/bland_catalog_icon.png) no-repeat center/contain;
  top: 0.5rem;
  left: 0;
}

/*----------------------------------------------------------------------------
******************************************************************************
** contact
******************************************************************************
----------------------------------------------------------------------------*/
.contact_nav_sec {
  padding-top: 8.1rem;
  padding-bottom: 14rem;
}
.contact_nav_sec .container .contact_nav {
  width: 100%;
}
.contact_nav_sec .container .contact_nav .contact_nav_list {
  width: 100%;
  max-width: 88rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4rem 2rem;
  margin: 0 auto;
}
.contact_nav_sec .container .contact_nav .contact_nav_list li {
  width: calc((100% - 2rem) / 2);
  max-width: 42rem;
}
.contact_nav_sec .container .contact_nav .contact_nav_list li:last-of-type {
  width: 100%;
  max-width: 88rem;
}
.contact_nav_sec .container .contact_nav .contact_nav_list li a {
  width: 100%;
  max-width: none;
}

.common_ttl06 {
  width: 100%;
  font-size: 2.6rem;
  font-weight: 700;
  lighting-color: 1.625;
  letter-spacing: 0.05em;
  text-align: center;
}

.contact_form_sec {
  display: none;
}
.contact_form_sec .contact_form {
  display: none;
}

.wpcf7-spinner {
  display: none !important;
}

.contact_form_sec,
.contact_confirm_sec {
  padding-top: 14.4rem;
  padding-bottom: 14.5rem;
  background-color: #f3f3f3;
}
.contact_form_sec .container,
.contact_confirm_sec .container {
  max-width: 100rem;
}
.contact_form_sec .container .contact_form,
.contact_confirm_sec .container .contact_form {
  width: 100%;
}
.contact_form_sec .container .contact_form .contact_form_txt,
.contact_confirm_sec .container .contact_form .contact_form_txt {
  margin-top: 4rem;
}
.contact_form_sec .container .contact_form .contact_form_txt span,
.contact_confirm_sec .container .contact_form .contact_form_txt span {
  color: #a00707;
}
.contact_form_sec .container .contact_form .contact_form,
.contact_confirm_sec .container .contact_form .contact_form {
  width: 100%;
  margin-top: 5.1rem;
}
.contact_form_sec .container .contact_form .contact_form .contact_agreement,
.contact_confirm_sec .container .contact_form .contact_form .contact_agreement {
  width: 100%;
  text-align: center;
  padding-left: 0.5rem;
  margin-top: 4.3rem;
}
.contact_form_sec .container .contact_form .contact_form .contact_agreement .wpcf7-list-item,
.contact_confirm_sec .container .contact_form .contact_form .contact_agreement .wpcf7-list-item {
  display: inline-block;
}
.contact_form_sec .container .contact_form .contact_form .contact_agreement .wpcf7-list-item label span a,
.contact_confirm_sec .container .contact_form .contact_form .contact_agreement .wpcf7-list-item label span a {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}
.contact_form_sec .container .contact_form .contact_form .contact_note_list,
.contact_confirm_sec .container .contact_form .contact_form .contact_note_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.4rem;
  margin-top: 5.6rem;
}
.contact_form_sec .container .contact_form .contact_form .contact_note_list li,
.contact_confirm_sec .container .contact_form .contact_form .contact_note_list li {
  line-height: 1.625;
  padding-left: 1em;
  text-indent: -1em;
}
.contact_form_sec .container .contact_form .contact_form .contact_btn_wrap,
.contact_confirm_sec .container .contact_form .contact_form .contact_btn_wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5rem;
  margin-top: 4.8rem;
}
.contact_form_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn,
.contact_confirm_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn {
  max-width: 32rem;
  padding: 0;
  --leftPosition: 9.1rem;
}
.contact_form_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn.prev,
.contact_confirm_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn.prev {
  --leftPosition: 10rem;
}
.contact_form_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn.submit,
.contact_confirm_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn.submit {
  --leftPosition: 11.5rem;
}
.contact_form_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn > span,
.contact_confirm_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn > span {
  width: 100%;
  height: 100%;
  display: inline-block;
}
.contact_form_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn > span span,
.contact_confirm_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn > span span {
  position: absolute;
  top: 3.5rem;
  left: var(--leftPosition);
}
.contact_form_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn > span input,
.contact_confirm_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn > span input {
  width: 100%;
  height: 100%;
  padding: 2rem 2rem 2rem 4rem;
}
.contact_form_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn:hover > span span,
.contact_confirm_sec .container .contact_form .contact_form .contact_btn_wrap .contact_btn:hover > span span {
  top: 3.8rem;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-radio,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-radio {
  width: 100%;
  min-height: 5.4rem;
  padding: 1rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem 5.1rem;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label {
  cursor: pointer;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label input,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label input {
  display: none;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label input:checked + .wpcf7-list-item-label::before,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label input:checked + .wpcf7-list-item-label::before {
  border-color: #000;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label input:checked + .wpcf7-list-item-label::after,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label {
  position: relative;
  padding-left: 2.6rem;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::before,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::before {
  content: "";
  width: 2rem;
  aspect-ratio: 1/1;
  background-color: #fff;
  border: solid 0.1rem #ccc;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 0.1rem;
  left: -0.1rem;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::after,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::after {
  content: "";
  width: 1.2rem;
  aspect-ratio: 1/1;
  background-color: #000;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 0.5rem;
  left: 0.3rem;
  opacity: 0;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-checkbox,
.contact_form_sec .container .contact_form .contact_form .wpcf7-acceptance,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-checkbox,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-acceptance {
  width: 100%;
  padding: 1.1rem 0 0.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.6rem;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label,
.contact_form_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label {
  cursor: pointer;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label input,
.contact_form_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label input,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label input,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label input {
  display: none;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label input:checked + .wpcf7-list-item-label::before,
.contact_form_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label input:checked + .wpcf7-list-item-label::before,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label input:checked + .wpcf7-list-item-label::before,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label input:checked + .wpcf7-list-item-label::before {
  border-color: #000;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label input:checked + .wpcf7-list-item-label::after,
.contact_form_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label input:checked + .wpcf7-list-item-label::after,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label input:checked + .wpcf7-list-item-label::after,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label,
.contact_form_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label {
  position: relative;
  padding-left: 3.1rem;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label::before,
.contact_form_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label::before,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label::before,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label::before {
  content: "";
  width: 2rem;
  aspect-ratio: 1/1;
  background-color: #fff;
  border: solid 0.1rem #ccc;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 0.1rem;
  left: -0.1rem;
}
.contact_form_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label::after,
.contact_form_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label::after,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label::after,
.contact_confirm_sec .container .contact_form .contact_form .wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label::after {
  content: "";
  width: 0.5rem;
  height: 1rem;
  border-right: solid 0.2rem #000;
  border-bottom: solid 0.2rem #000;
  position: absolute;
  top: 0.5rem;
  left: 0.7rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  opacity: 0;
}
.contact_form_sec .container .contact_form .contact_form .common_form,
.contact_confirm_sec .container .contact_form .contact_form .common_form {
  width: 100%;
  display: grid;
  grid-template-columns: 21.3rem auto;
  border-top: solid 0.1rem #000000;
}
.contact_form_sec .container .contact_form .contact_form .common_form.confirm dt,
.contact_confirm_sec .container .contact_form .contact_form .common_form.confirm dt {
  padding: 2.5rem 0;
}
.contact_form_sec .container .contact_form .contact_form .common_form.confirm dt span::before,
.contact_confirm_sec .container .contact_form .contact_form .common_form.confirm dt span::before {
  display: none;
}
.contact_form_sec .container .contact_form .contact_form .common_form dt,
.contact_confirm_sec .container .contact_form .contact_form .common_form dt {
  padding: 3.5rem 0;
  border-bottom: solid 0.1rem #000000;
}
.contact_form_sec .container .contact_form .contact_form .common_form dt span,
.contact_confirm_sec .container .contact_form .contact_form .common_form dt span {
  width: 100%;
  font-weight: 700;
  padding-right: 5rem;
  position: relative;
  display: inline-block;
}
.contact_form_sec .container .contact_form .contact_form .common_form dt span::before,
.contact_confirm_sec .container .contact_form .contact_form .common_form dt span::before {
  content: "任意";
  width: 4.2rem;
  height: 2.8rem;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.05em;
  background-color: #a0a0a0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0.3rem;
  right: 0;
}
.contact_form_sec .container .contact_form .contact_form .common_form dt span.required::before,
.contact_confirm_sec .container .contact_form .contact_form .common_form dt span.required::before {
  content: "必須";
  background-color: #000;
}
.contact_form_sec .container .contact_form .contact_form .common_form dd,
.contact_confirm_sec .container .contact_form .contact_form .common_form dd {
  padding: 2.5rem 0 2.5rem 8rem;
  border-bottom: solid 0.1rem #000000;
}
.contact_form_sec .container .contact_form .contact_form .common_form dd .input_box,
.contact_confirm_sec .container .contact_form .contact_form .common_form dd .input_box {
  width: 100%;
}
.contact_form_sec .container .contact_form .contact_form .common_form dd .input_box.radio_column .wpcf7-radio,
.contact_confirm_sec .container .contact_form .contact_form .common_form dd .input_box.radio_column .wpcf7-radio {
  min-height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.6rem;
}
.contact_form_sec .container .contact_form .contact_form .common_form dd .input_box .note,
.contact_confirm_sec .container .contact_form .contact_form .common_form dd .input_box .note {
  width: 100%;
  margin: 0.9rem 0 -0.8rem -0.2rem;
}
.contact_form_sec .container .contact_form .contact_form .common_form dd .input_box input:not([type=radio]):not([type=checkbox]),
.contact_form_sec .container .contact_form .contact_form .common_form dd .input_box select,
.contact_form_sec .container .contact_form .contact_form .common_form dd .input_box textarea,
.contact_confirm_sec .container .contact_form .contact_form .common_form dd .input_box input:not([type=radio]):not([type=checkbox]),
.contact_confirm_sec .container .contact_form .contact_form .common_form dd .input_box select,
.contact_confirm_sec .container .contact_form .contact_form .common_form dd .input_box textarea {
  width: 100%;
  max-width: 60rem;
  height: 5.4rem;
  border: solid 0.1rem #ccc;
  padding: 1.1rem 1.7rem;
  background-color: #fff;
  letter-spacing: inherit;
}
.contact_form_sec .container .contact_form .contact_form .common_form dd .input_box select,
.contact_confirm_sec .container .contact_form .contact_form .common_form dd .input_box select {
  color: #000;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background: url(../images/common/select_box_arrow.png) no-repeat top 2.3rem right 2rem, #fff;
}
.contact_form_sec .container .contact_form .contact_form .common_form dd .input_box textarea,
.contact_confirm_sec .container .contact_form .contact_form .common_form dd .input_box textarea {
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 25rem;
  resize: none;
}
.contact_form_sec .container .contact_form .contact_form .common_form dd .input_box.address,
.contact_confirm_sec .container .contact_form .contact_form .common_form dd .input_box.address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contact_form_sec .container .contact_form .contact_form .common_form dd .input_box.address .postal_code,
.contact_confirm_sec .container .contact_form .contact_form .common_form dd .input_box.address .postal_code {
  margin: 0 1.1rem 0 -0.3rem;
}
.contact_form_sec .container .contact_form .contact_form .common_form dd .input_box.address input,
.contact_confirm_sec .container .contact_form .contact_form .common_form dd .input_box.address input {
  width: 15rem;
}

.contact_thanks_sec {
  padding-top: 14.2rem;
  padding-bottom: 15rem;
  background-color: #f3f3f3;
  margin-top: 7.2rem;
}
.contact_thanks_sec .container {
  max-width: 100rem;
}
.contact_thanks_sec .container .contact_thanks_ttl {
  margin-bottom: 4.1rem;
}
.contact_thanks_sec .container .contact_thanks_txt {
  margin-top: 2rem;
}
.contact_thanks_sec .container .contact_thanks_btn {
  margin-top: 7.3rem;
}
.contact_thanks_sec .container .contact_thanks_btn a {
  max-width: 32rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** 404
******************************************************************************
----------------------------------------------------------------------------*/
.notfound_sec {
  margin-top: 10rem;
  padding-top: 14.2rem;
  padding-bottom: 15rem;
}
.notfound_sec .container .notfound_ttl {
  width: 100%;
  text-align: center;
}
.notfound_sec .container .notfound_txt {
  width: 100%;
  text-align: center;
  margin-top: 2rem;
}
.notfound_sec .container .notfound_btn {
  margin-top: 5rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.ft {
  width: 100%;
  padding: 0;
  padding-top: 13.3rem;
  padding-bottom: 6rem;
  background-color: #fff;
  position: relative;
  z-index: 2;
}
.ft .container {
  max-width: none;
}
.ft .container .ft_logo {
  margin-left: -0.4rem;
  text-align: center;
}
.ft .container .ft_wrap {
  width: 100%;
  padding: 0 2rem;
  margin-top: -2.5rem;
}
.ft .container .ft_wrap .ft_inner {
  width: 100%;
  max-width: 180.8rem;
  margin: 0 auto;
}
.ft .container .ft_wrap .ft_inner .ft_link_list {
  width: 100%;
}
.ft .container .ft_wrap .ft_inner .ft_link_list .ft_instagram {
  width: 3rem;
  margin: 0 0 0 auto;
}
.ft .container .ft_wrap .ft_inner .ft_link_list .ft_instagram a {
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.ft .container .ft_wrap .ft_inner .ft_link_list .ft_instagram a:hover {
  opacity: 0.7;
}
.ft .container .ft_wrap .ft_inner .ft_link_list .ft_nav_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 6rem;
  margin-top: 4.3rem;
}
.ft .container .ft_wrap .ft_inner .ft_link_list .ft_nav_list li a {
  font-family: "indivisible", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.03em;
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  position: relative;
}
.ft .container .ft_wrap .ft_inner .ft_link_list .ft_nav_list li a::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.ft .container .ft_wrap .ft_inner .ft_link_list .ft_nav_list li a:hover::before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.ft .container .ft_wrap .ft_inner .ft_link_list .ft_sub_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 5.7rem;
  padding-left: 0.5rem;
  margin-top: 3.4rem;
}
.ft .container .ft_wrap .ft_inner .ft_link_list .ft_sub_list li a {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.625;
  letter-spacing: 0.05em;
  display: inline-block;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.ft .container .ft_wrap .ft_inner .ft_link_list .ft_sub_list li a::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.ft .container .ft_wrap .ft_inner .ft_link_list .ft_sub_list li a:hover::before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.ft .container .ft_wrap .ft_inner .copyright {
  width: 100%;
  font-family: "indivisible", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.03em;
  text-align: right;
  padding-right: 0.2rem;
  margin-top: -2.4rem;
  pointer-events: none;
}

.pagetop {
  width: 5rem;
  height: 5rem;
  background-color: #000;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  opacity: 0;
  pointer-events: none;
  z-index: 98;
}
.pagetop::before {
  content: "";
  width: 1.7rem;
  aspect-ratio: 1/1;
  border-top: solid 0.2rem #fff;
  border-right: solid 0.2rem #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -14.65%) rotate(-45deg);
          transform: translate(-50%, -14.65%) rotate(-45deg);
  /**45degの中央揃え**/
  /**45deg=141.4%**/
  /**75% 斜めなので 半分の半分**/
  /**41.4%の半分20.7%の半分50%(斜めによって生じた%なので斜め計算(75%)ではなく半分(50%)) = 10.35%**/
  /**75% + 10.35% = 85.35% **/
}
.pagetop.show {
  opacity: 1;
  pointer-events: auto;
}
.pagetop.show:hover {
  opacity: 0.7;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

/**webp非対応デバイス用class
.no-webp {

}
**/
/**background webp
background: image-set(url(../webp) 1x, url(../@2x.webp) 2x) no-repeat center / cover;
**/
/**IE用css
@media all and (-ms-high-contrast: none) {

}
**/
/*----------------------------------------------------------------------------
******************************************************************************
** カラー拡大モーダル
*******************************************************************************/
body.color_modal_open {
  overflow: hidden;
}

.color_modal {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4rem 2rem;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.color_modal.open {
  opacity: 1;
  visibility: visible;
}
.color_modal .color_modal_bg {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}
.color_modal .color_modal_inner {
  width: 100%;
  max-width: 60rem;
  background-color: #fff;
  padding: 5rem 6rem 4rem;
  position: relative;
  z-index: 1;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.color_modal.open .color_modal_inner {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.color_modal .color_modal_close {
  width: 4rem;
  height: 4rem;
  background-color: transparent;
  border: none;
  padding: 0;
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  cursor: pointer;
}
.color_modal .color_modal_close::before, .color_modal .color_modal_close::after {
  content: "";
  width: 2rem;
  height: 0.2rem;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 50%;
}
.color_modal .color_modal_close::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.color_modal .color_modal_close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.color_modal .color_modal_arrow {
  width: 2rem;
  aspect-ratio: 1/1;
  background-color: transparent;
  border: none;
  padding: 0;
  position: absolute;
  top: 50%;
  z-index: 2;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.color_modal .color_modal_arrow:hover {
  opacity: 0.7;
}
.color_modal .color_modal_arrow span {
  width: 1rem;
  height: 1.6rem;
  background: url(../images/common/product_slide_arrow.png) no-repeat center/contain;
  background: url(../images/common/product_slide_arrow.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
}
.color_modal .color_modal_arrow.prev {
  left: 3rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.color_modal .color_modal_arrow.next {
  right: 3rem;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.color_modal .color_modal_arrow.next span {
  -webkit-transform: translate(-50%, -50%) scale(-1, 1);
          transform: translate(-50%, -50%) scale(-1, 1);
}
.color_modal .color_modal_img {
  width: 100%;
}
.color_modal .color_modal_img img {
  width: 100%;
  height: auto;
  display: block;
}
.color_modal .color_modal_name {
  font-size: 1.8rem;
  color: #000;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-top: 2rem;
}/*# sourceMappingURL=pc.css.map */