@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap");
#main-slider {
  display: none;
}

/* =================================================
   unique layout
================================================= */
/* -------------------------------------
        magnific-popup
*/
.mfp-bg.mfp-popup {
  z-index: 100002;
  opacity: 0;
  transition: all 0.15s ease-out;
}
.mfp-bg.mfp-popup.mfp-ready {
  opacity: 0.8;
}
.mfp-bg.mfp-popup.mfp-removing {
  opacity: 0;
}

.mfp-wrap.mfp-popup {
  z-index: 100003;
}
.mfp-wrap.mfp-popup .mfp-content {
  opacity: 0;
  transition: all 0.15s ease-out;
}
.mfp-wrap.mfp-popup .mfp-content video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mfp-wrap.mfp-popup.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-wrap.mfp-popup.mfp-removing .mfp-content {
  opacity: 0;
}
/* -------------------------------------
           animation
*/
@keyframes motion-main-link {
  0% {
    transform: translateY(-1rem);
    opacity: 0;
  }
  50% {
    padding: 0 0 8vw;
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    padding: 0 0 12vw;
    transform: translateY(2rem);
    opacity: 0;
  }
}
#container {
  padding: 0;
  /* -------------------------------------
     article
  ------------------------------------- */
}
#container #article {
  padding: 0;
  /* -------------------------------------
     section
  ------------------------------------- */
}
#container #article aside {
  /* -------------------------------------
      main
  ------------------------------------- */
}
#container #article aside.main {
  width: 100%;
  position: relative;
  overflow: hidden;
}
#container #article aside.main .inner {
  width: 100%;
  position: relative;
  /* -------------------------------------
      swiper
  ------------------------------------- */
}
#container #article aside.main .inner .h_group {
  width: 87.2vw;
  position: absolute;
  z-index: 1;
  bottom: 26.6666666667vw;
  left: 50%;
  transform: translateX(-50%);
}
#container #article aside.main .inner h1.h1_3 {
  width: 100%;
  opacity: 0.8;
}
#container #article aside.main .inner h1.h1_3 span.img {
  display: block;
  width: 100%;
  height: auto;
  background: none;
}
#container #article aside.main .inner h1.h1_3 span.img img {
  opacity: 1;
}
#container #article aside.main .inner h2.h2_2 {
  width: 100%;
  min-height: 13.3333333333vw;
  margin: 4vw 0 0;
}
#container #article aside.main .inner h2.h2_2 span {
  letter-spacing: 0.175em;
  color: hsl(0, 0%, 100%);
  font-size: 1.4rem;
  font-weight: 700;
}
#container #article aside.main .inner .link {
  margin: 4vw 0 0;
}
#container #article aside.main .inner .link a,
#container #article aside.main .inner .link a:link {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  color: hsl(0, 0%, 100%);
  font-size: 1.6rem;
  line-height: 1;
  width: 53.3333333333vw;
  height: 10.6666666667vw;
  margin: 0;
  background: #DD672B;
  border: none !important;
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: 0.6s;
}
#container #article aside.main .inner .link a::before, #container #article aside.main .inner .link a::after,
#container #article aside.main .inner .link a:link::before,
#container #article aside.main .inner .link a:link::after {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  background: hsl(0, 0%, 100%);
  position: absolute;
  z-index: -1;
  top: 0;
  transform: skew(-45deg);
  transition: 0.7s ease-in-out;
}
#container #article aside.main .inner .link a::before,
#container #article aside.main .inner .link a:link::before {
  left: -75%;
  opacity: 0.3;
}
#container #article aside.main .inner .link a::after,
#container #article aside.main .inner .link a:link::after {
  left: -100%;
}
#container #article aside.main .inner .link a:hover,
#container #article aside.main .inner .link a:active {
  color: hsl(0, 0%, 0%);
}
#container #article aside.main .inner .link a:hover::before,
#container #article aside.main .inner .link a:active::before {
  width: 100%;
  left: 240%;
  opacity: 1;
}
#container #article aside.main .inner .link a:hover::after,
#container #article aside.main .inner .link a:active::after {
  width: 140%;
  left: -20%;
}
#container #article aside.main .inner .item .img {
  display: block;
  width: 100%;
  height: 100vh;
  height: 100svh;
  background: hsl(0, 0%, 0%);
}
#container #article aside.main .inner .item .img img,
#container #article aside.main .inner .item .img video {
  opacity: 0.8;
}
#container #article aside.main .inner .item .img a,
#container #article aside.main .inner .item .img a:link {
  display: block;
  width: 100%;
  height: 100vh;
  height: 100svh;
}
#container #article aside.main .inner .sw_control {
  position: relative;
  z-index: 1;
  /* -------------------------------------
      sw-pagination
  */
}
#container #article aside.main .inner .sw_control .sw-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0;
  position: absolute;
  z-index: 1;
  bottom: 2.6666666667vw;
  left: 0;
}
#container #article aside.main .inner .sw_control .sw-pagination .swiper-pagination-bullet {
  width: 1.3333333333vw;
  height: 1.3333333333vw;
  margin: 0 2vw;
  background: hsl(0, 0%, 20%);
  border-radius: 50%;
}
#container #article aside.main .inner .sw_control .sw-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: hsl(0, 0%, 100%);
  border: 1px solid hsl(0, 0%, 20%);
}
#container #article aside.main .inner .swiper .swiper-wrapper {
  transition-timing-function: ease-in-out;
}
#container #article section {
  width: 100%;
  margin: 16vw auto 0;
  position: relative;
  overflow: hidden;
  /* -------------------------------------
     common
  */
  /* -------------------------------------
     product
  */
  /* -------------------------------------
     info
  */
  /* -------------------------------------
     tech
  */
  /* -------------------------------------
     movie
  */
  /* -------------------------------------
     interview
  */
  /* -------------------------------------
     flow
  */
  /* -------------------------------------
     qa
  */
  /* -------------------------------------
     reserve
  */
  /* -------------------------------------
     access
  */
  /* -------------------------------------
     contact
  */
  /* -------------------------------------
     partner
  */
}
#container #article section .inner {
  width: 88vw;
  margin: 0 auto;
  /* -------------------------------------
     swiper
  ------------------------------------- */
}
#container #article section .inner .content {
  margin: 0 auto;
}
#container #article section .inner .content.content_1 {
  position: relative;
}
#container #article section .inner .sw_control {
  position: relative;
  z-index: 1;
  /* -------------------------------------
      sw-arrow
  */
  /* -------------------------------------
      sw-pagination
  */
}
#container #article section .inner .sw_control .sw-arrow {
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  margin: 0;
  background: hsl(0, 0%, 100%);
  border-radius: 50%;
  position: absolute;
  z-index: 1;
  top: 22.6666666667vw;
  transition: 0.3s;
}
#container #article section .inner .sw_control .sw-arrow:before, #container #article section .inner .sw_control .sw-arrow:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  top: 50%;
  transition: 0.3s;
}
#container #article section .inner .sw_control .sw-arrow:before {
  width: 3.2vw;
  border-bottom: 1px solid hsl(0, 0%, 20%);
  left: 50%;
  transform: translate(-50%, -50%);
}
#container #article section .inner .sw_control .sw-arrow:after {
  width: 1.6vw;
  height: 1.6vw;
  border-top: 1px solid hsl(0, 0%, 20%);
  border-right: 1px solid hsl(0, 0%, 20%);
}
#container #article section .inner .sw_control .sw-arrow:hover:before, #container #article section .inner .sw_control .sw-arrow:hover:after {
  opacity: 0.6;
}
#container #article section .inner .sw_control .sw-arrow.prev {
  left: -5.3333333333vw;
}
#container #article section .inner .sw_control .sw-arrow.prev:after {
  left: 3.6vw;
  transform: translateY(-50%) rotate(-135deg);
}
#container #article section .inner .sw_control .sw-arrow.next {
  right: -5.3333333333vw;
}
#container #article section .inner .sw_control .sw-arrow.next:after {
  right: 3.6vw;
  transform: translateY(-50%) rotate(45deg);
}
#container #article section .inner .sw_control .sw-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 2.6666666667vw auto 0;
}
#container #article section .inner .sw_control .sw-pagination .swiper-pagination-bullet {
  width: 1.3333333333vw;
  height: 1.3333333333vw;
  margin: 0 2vw;
  background: hsl(0, 0%, 20%);
  border-radius: 50%;
}
#container #article section .inner .sw_control .sw-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: hsl(0, 0%, 100%);
  border: 1px solid hsl(0, 0%, 20%);
}
#container #article section .inner .swiper {
  z-index: 1;
}
#container #article section h3 {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
  font-weight: 700;
  font-feature-settings: "palt";
}
#container #article section h3 span {
  display: block;
  line-height: 1;
}
#container #article section h3.h3_1 {
  width: 100%;
  padding: 6.4vw 0;
  margin: 0;
  position: relative;
  z-index: 1;
}
#container #article section h3.h3_1::before {
  content: "";
  display: block;
  width: 12.8vw;
  border-bottom: 1px solid #DD672B;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}
#container #article section h3.h3_1 span {
  letter-spacing: 0.1em;
}
#container #article section h3.h3_1 span.txt {
  font-size: 3.6rem;
}
#container #article section h3.h3_1 span.txt::first-letter {
  color: #DD672B;
}
#container #article section h3.h3_1 span.txt_2 {
  font-size: 1.6rem;
  margin: 1em 0 0;
}
#container #article section h3.h3_1.center::before {
  left: 50%;
  transform: translateX(-50%);
}
#container #article section h3.h3_1.center span {
  text-align: center;
}
#container #article section h4 {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
  font-weight: 700;
  font-feature-settings: "palt";
}
#container #article section h4 span {
  display: block;
}
#container #article section ul {
  list-style: none;
}
#container #article section a,
#container #article section a:link {
  display: block;
  text-decoration: none;
  position: relative;
}
#container #article section img {
  display: block;
  width: 100%;
  height: auto;
}
#container #article section .link {
  width: 100%;
  margin: 4.8vw auto 0;
}
#container #article section .link a,
#container #article section .link a:link {
  text-decoration: none;
  display: block;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  font-size: 1.2rem;
  line-height: 1;
  text-align: center;
  width: 74.6666666667vw;
  margin: 0 auto;
  border: 1px solid hsl(0, 0%, 0%);
  position: relative;
  z-index: 1;
  overflow: hidden;
}
#container #article section .link a span,
#container #article section .link a:link span {
  display: flex;
  align-items: center;
  justify-content: center;
  color: hsl(0, 0%, 0%);
  width: 100%;
  height: 15.4666666667vw;
  transition: 0.7s ease-in-out;
}
#container #article section .link a span:before, #container #article section .link a span:after,
#container #article section .link a:link span:before,
#container #article section .link a:link span:after {
  content: "";
  display: block;
  box-sizing: border-box;
  position: absolute;
  z-index: 1;
  top: 50%;
}
#container #article section .link a span:before,
#container #article section .link a:link span:before {
  width: 4.2666666667vw;
  border-top: 1px solid hsl(0, 0%, 20%);
  z-index: 9;
  right: 5.3333333333vw;
  transform: translateY(-50%);
}
#container #article section .link a span:after,
#container #article section .link a:link span:after {
  width: 2.1333333333vw;
  height: 2.1333333333vw;
  border-top: 1px solid hsl(0, 0%, 20%);
  border-right: 1px solid hsl(0, 0%, 20%);
  z-index: 9;
  right: 5.3333333333vw;
  transform: translateY(-50%) rotate(45deg);
}
#container #article section .link a span::before, #container #article section .link a span::after,
#container #article section .link a:link span::before,
#container #article section .link a:link span::after {
  transition: 0.7s ease-in-out;
}
#container #article section .link a::before, #container #article section .link a::after,
#container #article section .link a:link::before,
#container #article section .link a:link::after {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  background: #DD672B;
  position: absolute;
  z-index: -1;
  top: 0;
  transform: skew(-45deg);
  transition: 0.7s ease-in-out;
}
#container #article section .link a::before,
#container #article section .link a:link::before {
  left: -75%;
  opacity: 0.3;
}
#container #article section .link a::after,
#container #article section .link a:link::after {
  left: -100%;
}
#container #article section .link a:hover,
#container #article section .link a:active {
  border: 1px solid #DD672B;
}
#container #article section .link a:hover span,
#container #article section .link a:active span {
  color: hsl(0, 0%, 100%);
}
#container #article section .link a:hover span::before,
#container #article section .link a:active span::before {
  border-top: 1px solid hsl(0, 0%, 100%);
  right: 2.6666666667vw;
}
#container #article section .link a:hover span::after,
#container #article section .link a:active span::after {
  border-top: 1px solid hsl(0, 0%, 100%);
  border-right: 1px solid hsl(0, 0%, 100%);
  right: 2.6666666667vw;
}
#container #article section .link a:hover::before,
#container #article section .link a:active::before {
  width: 100%;
  left: 240%;
  opacity: 1;
}
#container #article section .link a:hover::after,
#container #article section .link a:active::after {
  width: 140%;
  left: -20%;
}
#container #article section.product .inner .content h2.h2_2, #container #article section.about .inner .content h2.h2_2 {
  display: grid;
  grid-template-rows: repeat(3, max-content);
  row-gap: 2.6666666667vw;
  justify-content: center;
  justify-items: center;
  margin: 4.8vw auto 0;
}
#container #article section.product .inner .content h2.h2_2 br, #container #article section.about .inner .content h2.h2_2 br {
  display: none;
}
#container #article section.product .inner .content h2.h2_2::before, #container #article section.product .inner .content h2.h2_2::after, #container #article section.about .inner .content h2.h2_2::before, #container #article section.about .inner .content h2.h2_2::after {
  grid-row: 2;
  grid-column: 1;
  content: "";
  width: 1px;
  height: 3.2vw;
  border-left: 1px solid hsl(0, 0%, 0%);
}
#container #article section.product .inner .content h2.h2_2::before, #container #article section.about .inner .content h2.h2_2::before {
  transform: rotate(-45deg);
}
#container #article section.product .inner .content h2.h2_2::after, #container #article section.about .inner .content h2.h2_2::after {
  transform: rotate(45deg);
}
#container #article section.product .inner .content h2.h2_2 span, #container #article section.about .inner .content h2.h2_2 span {
  grid-column: 1;
  margin: 0 auto;
}
#container #article section.product .inner .content h2.h2_2 span.img, #container #article section.about .inner .content h2.h2_2 span.img {
  grid-row: 1;
  width: 37.3333333333vw;
}
#container #article section.product .inner .content h2.h2_2 span.img_2, #container #article section.about .inner .content h2.h2_2 span.img_2 {
  grid-row: 3;
  width: 26.6666666667vw;
}
#container #article section.product .inner .content h4.h4_2, #container #article section.about .inner .content h4.h4_2 {
  margin: 0 auto 4.8vw;
}
#container #article section.product .inner .content h4.h4_2 span strong, #container #article section.about .inner .content h4.h4_2 span strong {
  color: #DD672B;
}
#container #article section.product .inner .content h4.h4_2 span.txt, #container #article section.about .inner .content h4.h4_2 span.txt {
  letter-spacing: 0.15em;
  font-size: 1.6rem;
}
#container #article section.product .inner .content .item, #container #article section.about .inner .content .item {
  position: relative;
  z-index: 1;
}
#container #article section.product .inner .content .item .float_l, #container #article section.about .inner .content .item .float_l {
  display: flex;
}
#container #article section.product .inner .content .item .float_r, #container #article section.about .inner .content .item .float_r {
  margin: 4.8vw auto 0;
}
#container #article section.product .inner h3.h3_1 span.txt_2 {
  font-weight: 300;
  letter-spacing: 0.025em;
  font-size: 1.8rem;
  margin: 0.5em 0 0;
}
#container #article section.product .inner h3.h3_1 span.txt_2 strong {
  color: #DD672B;
  font-size: 1.2rem;
  margin: 0 0.5em 0 0;
}
#container #article section.product .inner .movie {
  height: 80vw;
}
#container #article section.about {
  margin: 8vw auto 0;
}
#container #article section.about .inner {
  width: 100%;
}
#container #article section.about .inner .content {
  margin: 0 auto;
}
#container #article section.about .inner .content .item .float_r {
  width: 88vw;
  padding: 4.8vw 6.4vw 0;
  margin: -4.8vw auto 0;
  background: hsl(0, 0%, 100%);
  position: relative;
  z-index: 1;
  box-sizing: border-box;
}
#container #article section.info {
  padding: 16vw 0;
  background: #EDEEF0;
}
#container #article section.info .inner .content figure {
  overflow: hidden;
}
#container #article section.info .inner .content h4 {
  font-size: 1.4rem;
  margin: 0.5em auto 0;
}
#container #article section.info .inner .content h5 span {
  color: hsl(0, 0%, 100%);
  line-height: 1;
  width: max-content;
  padding: 0.25em 0.75em;
  background: #4D5054;
}
#container #article section.info .inner .content h5.on span {
  background: #DD672B;
}
#container #article section.info .inner .content p.date {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin: 0.5em auto 0;
}
#container #article section.info .inner .content .item {
  margin: 0 0 8vw;
}
#container #article section.info .inner .content .item a,
#container #article section.info .inner .content .item a:link {
  display: grid;
  grid-template-columns: 4fr 6fr;
  column-gap: 2.6666666667vw;
}
#container #article section.tech .inner .content h4.h4_2 {
  font-size: 1.6rem;
  margin: 0 auto 1em;
}
#container #article section.tech .inner .content .item .float_l {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
#container #article section.tech .inner .content .item .float_r {
  margin: 1em auto;
}
#container #article section.movie {
  margin: 8vw auto;
}
#container #article section.movie .inner {
  width: 100%;
}
#container #article section.movie .inner .content {
  margin: 0 auto;
}
#container #article section.movie .inner .content a:hover figure img,
#container #article section.movie .inner .content a:active figure img {
  opacity: 0.5;
}
#container #article section.movie .inner .content figure {
  background: hsl(0, 0%, 0%);
  position: relative;
  z-index: 1;
}
#container #article section.movie .inner .content figure img {
  transition: 0.3s;
}
#container #article section.movie .inner .content figure::before, #container #article section.movie .inner .content figure::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#container #article section.movie .inner .content figure::before {
  width: 16vw;
  height: 16vw;
  border: 2px solid #f00;
  border-radius: 100%;
}
#container #article section.movie .inner .content figure::after {
  border: 3.7333333333vw solid transparent;
  border-right: none;
  border-left: 7.4666666667vw solid #f00;
  left: 51%;
}
#container #article section.movie .inner .content h3.h3_2 {
  text-align: right;
  width: 100%;
  margin: 5.3333333333vw 0 0;
}
#container #article section.movie .inner .content h3.h3_2 span {
  white-space: nowrap;
  display: inline-block;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "游明朝", "游明朝体", YuMincho, "Yu Mincho", "Times New Roman", "メイリオ", Meiryo, serif;
  font-weight: bold;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: left;
  font-size: 1.8rem;
  line-height: 1.5;
  padding: 1.6vw 2vw 1.6vw 6vw;
  position: relative;
  z-index: 1;
}
#container #article section.movie .inner .content h3.h3_2 span::before, #container #article section.movie .inner .content h3.h3_2 span::after {
  content: "";
  display: block;
  width: 3.2vw;
  height: 10.6666666667vw;
  position: absolute;
  z-index: 1;
}
#container #article section.movie .inner .content h3.h3_2 span::before {
  border-top: 1px solid hsl(0, 0%, 40%);
  border-left: 1px solid hsl(0, 0%, 40%);
  top: 0;
  left: 0;
}
#container #article section.movie .inner .content h3.h3_2 span::after {
  border-bottom: 1px solid hsl(0, 0%, 40%);
  border-right: 1px solid hsl(0, 0%, 40%);
  bottom: 0;
  right: 0;
}
#container #article section.movie .inner .content h4.h4_1 {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 100%;
  margin: 3.7333333333vw auto 0;
}
#container #article section.movie .inner .content h4.h4_1 span.txt {
  font-weight: 400;
  font-size: 1.2rem;
}
#container #article section.movie .inner .content h4.h4_1 span.txt_2 {
  text-align: right;
  font-size: 1.4rem;
  margin: 1.0666666667vw 0 0;
}
#container #article section.movie .inner .content .item {
  width: 88vw;
  margin: 4.2666666667vw auto 0;
}
#container #article section.interview .inner .content figure {
  margin: 1em auto 0;
}
#container #article section.interview .inner .content h4.h4_1 {
  font-size: 1.6rem;
  padding-bottom: 1em;
  margin: 0 auto 1em;
  border-bottom: 1px dotted #4D5054;
}
#container #article section.interview .inner .content h5 {
  margin: 1em auto 0;
}
#container #article section.interview .inner .content .item {
  margin-bottom: 10.6666666667vw;
}
#container #article section.interview .inner .content .item:last-of-type {
  margin: 0 auto;
}
#container #article section.flow .inner .content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2vw;
}
#container #article section.flow .inner .content figure {
  background: hsl(0, 0%, 0%);
  box-sizing: border-box;
}
#container #article section.flow .inner .content figure img {
  opacity: 0.75;
}
#container #article section.flow .inner .content h3 {
  grid-column: 1/-1;
}
#container #article section.flow .inner .content h4.h4_1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}
#container #article section.flow .inner .content h4.h4_1 span {
  text-align: center;
  color: hsl(0, 0%, 100%);
}
#container #article section.flow .inner .content h4.h4_1 span.num {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  line-height: 1;
  width: max-content;
  padding: 0.25em 0.5em;
  background: hsl(0, 0%, 0%);
  box-sizing: border-box;
}
#container #article section.flow .inner .content h4.h4_1 span.txt {
  font-size: 1.6rem;
  margin: 1.6vw auto 0;
  position: relative;
  z-index: 1;
}
#container #article section.flow .inner .content h4.h4_1 span.txt strong {
  display: block;
  white-space: nowrap;
  font-size: 1.2rem;
  line-height: 1;
  width: max-content;
  padding: 0.25em 0.5em;
  border: 1px solid hsl(0, 0%, 100%);
  position: absolute;
  z-index: 1;
  bottom: -6.6666666667vw;
  left: 50%;
  transform: translateX(-50%);
}
#container #article section.flow .inner .content .item {
  padding: 0;
}
#container #article section.flow .inner .content .item .float_l {
  position: relative;
  z-index: 1;
}
#container #article section.flow .inner .content .item .float_r {
  margin: 3.2vw auto 0;
}
#container #article section.qa .inner .content h4.h4_1,
#container #article section.qa .inner .content p {
  display: flex;
  align-items: baseline;
  padding: 4.8vw 0 5.8666666667vw 6.4vw;
  box-sizing: border-box;
}
#container #article section.qa .inner .content h4.h4_1 span,
#container #article section.qa .inner .content p span {
  display: block;
}
#container #article section.qa .inner .content h4.h4_1 span.en,
#container #article section.qa .inner .content p span.en {
  flex-shrink: 0;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
  font-weight: 700;
  font-feature-settings: "palt";
  font-size: 2.1rem;
  width: 8vw;
  transform: translateY(0.5333333333vw);
}
#container #article section.qa .inner .content h4.h4_1 span.txt,
#container #article section.qa .inner .content p span.txt {
  font-size: 1.4rem;
  width: 100%;
  padding: 0 12.8vw 0 0;
  box-sizing: border-box;
}
#container #article section.qa .inner .content h4.h4_1 {
  background: #4D5054;
  border: 1px solid hsl(0, 0%, 60%);
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: 0.3s;
}
#container #article section.qa .inner .content h4.h4_1::before, #container #article section.qa .inner .content h4.h4_1::after {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  background: #DD672B;
  position: absolute;
  z-index: -1;
  top: 0;
  transform: skew(-45deg);
  opacity: 0;
  transition: 1.2s ease-in-out;
}
#container #article section.qa .inner .content h4.h4_1::before {
  left: -75%;
}
#container #article section.qa .inner .content h4.h4_1::after {
  width: 140%;
  left: -20%;
}
#container #article section.qa .inner .content h4.h4_1 span {
  color: hsl(0, 0%, 100%);
  transition: 0.6s;
}
#container #article section.qa .inner .content h4.h4_1 span.txt:before, #container #article section.qa .inner .content h4.h4_1 span.txt:after {
  content: "";
  display: block;
  width: 3.2vw;
  border-bottom: 1px solid hsl(0, 0%, 100%);
  box-sizing: border-box;
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 6.4vw;
  transform: translateY(-50%);
  transition: 0.3s;
}
#container #article section.qa .inner .content h4.h4_1 span.txt:after {
  transform: translateY(-50%) rotate(90deg);
}
#container #article section.qa .inner .content h4.h4_1:hover::before, #container #article section.qa .inner .content h4.h4_1:hover::after, #container #article section.qa .inner .content h4.h4_1:active::before, #container #article section.qa .inner .content h4.h4_1:active::after {
  opacity: 1;
}
#container #article section.qa .inner .content h4.h4_1:hover::before, #container #article section.qa .inner .content h4.h4_1:active::before {
  width: 100%;
  left: 240%;
}
#container #article section.qa .inner .content h4.h4_1:hover::after, #container #article section.qa .inner .content h4.h4_1:active::after {
  left: 130%;
}
#container #article section.qa .inner .content p {
  background: #EDEEF0;
}
#container #article section.qa .inner .content p span.en {
  color: #4D5054;
}
#container #article section.qa .inner .content .item {
  margin: 0 auto 3.2vw;
}
#container #article section.qa .inner .content .item.close h4.h4_1 span.txt:before {
  transform: translateY(-50%) rotate(-180deg);
}
#container #article section.qa .inner .content .item.close h4.h4_1 span.txt:after {
  transform: translateY(-50%) rotate(0deg);
}
#container #article section.reserve {
  padding: 16vw 0 8vw;
  background: #EDEEF0;
}
#container #article section.reserve .inner .content h4.h4_1 {
  margin: 0 auto 1em;
}
#container #article section.reserve .inner .content h4.h4_1 span.img {
  width: 53.3333333333vw;
  margin-bottom: 2.6666666667vw;
}
#container #article section.reserve .inner .content h4.h4_1 span.txt {
  font-size: 1.6rem;
}
#container #article section.reserve .inner .content h4.h4_1 span.txt strong {
  display: block;
  color: hsl(0, 0%, 100%);
  font-size: 1.4rem;
  line-height: 1;
  width: max-content;
  padding: 0.5em 1em;
  margin-bottom: 0.5em;
  background: #4D5054;
  border-radius: 1em;
  box-sizing: border-box;
}
#container #article section.reserve .inner .content h4.h4_2 {
  color: hsl(0, 0%, 100%);
  font-size: 1.4rem;
  line-height: 1;
  width: max-content;
  padding: 0.25em 0.5em;
  margin-bottom: 0.5em;
  background: #4D5054;
  box-sizing: border-box;
}
#container #article section.reserve .inner .content ul {
  margin-bottom: 2em;
}
#container #article section.reserve .inner .content ul:last-of-type {
  margin-bottom: 0;
}
#container #article section.reserve .inner .content .item {
  margin: 8vw 0 0;
}
#container #article section.reserve .inner .content .item .float_r {
  padding: 5.3333333333vw;
  margin-top: 5.3333333333vw;
  background: hsl(0, 0%, 100%);
}
#container #article section.access {
  padding: 0 0 16vw;
  margin: 0;
  background: #EDEEF0;
}
#container #article section.access .inner .content h3.h3_2 {
  margin: 0 auto 1em;
}
#container #article section.access .inner .content h3.h3_2 span {
  letter-spacing: 0.075em;
  text-align: center;
}
#container #article section.access .inner .content h3.h3_2 span.txt {
  font-size: 1.8rem;
  font-weight: 700;
}
#container #article section.access .inner .content p {
  text-align: center;
}
#container #article section.access .inner .content .map {
  width: 88vw;
  aspect-ratio: 1/1;
  margin: 5.3333333333vw auto 0;
}
#container #article section.contact {
  margin: 0;
  background: #EDEEF0;
}
#container #article section.contact .inner.form_inner {
  margin: 0;
}
#container #article section.contact .inner.form_inner .content {
  width: 88vw;
  padding: 10.6666666667vw 0 8vw;
  background: hsl(0, 0%, 100%);
}
#container #article section.contact .inner.form_inner .content h3.h3_2 {
  margin: 0 auto;
}
#container #article section.contact .inner.form_inner .content h3.h3_2 span {
  letter-spacing: 0.075em;
  text-align: center;
}
#container #article section.contact .inner.form_inner .content h3.h3_2 span.txt {
  font-size: 1.8rem;
  font-weight: 700;
}
#container #article section.contact .inner.form_inner .content h3.h3_2 span.txt_2 {
  margin-top: 1em;
}
#container #article section.contact .inner.form_inner .content form {
  width: 77.3333333333vw;
  margin: 0 auto;
}
#container #article section.contact .inner.form_inner .content form table {
  width: 100%;
}
#container #article section.partner {
  padding: 16vw 0 8vw;
  margin: 0;
}
#container #article section.partner .inner .content .link {
  margin: 8vw 0 0;
}
#container #article section.partner .inner .content .link a,
#container #article section.partner .inner .content .link a:link {
  width: 88vw;
  margin-top: 2.6666666667vw;
}
#container #article section.partner .inner .content .link a span,
#container #article section.partner .inner .content .link a:link span {
  margin: 0 auto;
}
#container #article section.partner .inner .content .link a span::before, #container #article section.partner .inner .content .link a span::after,
#container #article section.partner .inner .content .link a:link span::before,
#container #article section.partner .inner .content .link a:link span::after {
  display: none;
}
#container #article section.partner .inner .content .link a:nth-of-type(1) span,
#container #article section.partner .inner .content .link a:link:nth-of-type(1) span {
  width: 26.6666666667vw;
}
#container #article section.partner .inner .content .link a:nth-of-type(2) span,
#container #article section.partner .inner .content .link a:link:nth-of-type(2) span {
  width: 18.6666666667vw;
}

@media screen and (min-width: 768px) {
  #main_slider {
    display: block;
  }
  /* =================================================
     unique layout
  ================================================= */
  /* -------------------------------------
             animation
  */
  @keyframes motion-main-link {
    0% {
      transform: translateY(-10px);
      opacity: 0;
    }
    50% {
      padding: 0 0 60px;
      transform: translateY(0);
      opacity: 1;
    }
    100% {
      padding: 0 0 90px;
      transform: translateY(20px);
      opacity: 0;
    }
  }
  /* -------------------------------------
             animation
  */
  @keyframes motion-btn-link {
    0% {
      right: 192px;
      opacity: 0;
    }
    50% {
      opacity: 0.4;
    }
    100% {
      right: -48px;
      opacity: 1;
    }
  }
  /* -------------------------------------
     header
  ------------------------------------- */
  #container {
    /* -------------------------------------
       article
    ------------------------------------- */
  }
  #container #article {
    /* -------------------------------------
       section

    section{

        width:$outwidth;
        padding: 0 0 size_px(4);

        .inner{

            width: $inwidth2;
            padding: 0;
            position: relative;
            z-index: 1;

            .content{

                width: $inwidth;
                position: relative;
                z-index: 1;

                &.content_1{

                } 
            }

            //    swiper

            .sw_control{

                //    sw-arrow

                .sw-arrow{

                    width: 24px;
                    height: 24px;
                    cursor: pointer;

                    &:after{
                        width: 12px;
                        height: 12px;
                    }
                    &.next{
                        right: size_px(-2);
                    }
                    &.prev{
                        left: size_px(-2);
                    }
                }
            }
            .swiper{

                .swiper-wrapper{

                    .swiper-slide{

                    }
                }

                //   slick-dots

                .slick-dots{

                    position: absolute !important;
                    bottom: ($slider_dot_size * 2.5)*-1 !important;

                    li{

                        button:before{

                        }
                    }
                    li.slick-active{

                    }
                }
            }
        }

        //   common

        h3{

            &.h3_1{

                flex-direction: column;
                justify-content: center;
                width: 100%;
                height: 208px;

                span{

                    &.txt{
                        //letter-spacing: 0.3em;
                        font-size: 3.2rem;
                    }
                    &.txt_2{

                        display: block;
                        font-size: 1.8rem;
                        margin: size_px(1) 0 0;

                        &:before{
                            display: none;
                        }
                    }
                }
            }
        }
        h4{

        }
        ul{

            li{

            }
        }
        a,
        a:link{

        }
        img {

        }
        .link{

            margin: size_px(3) auto 0;

            a,
            a:link{

                font-size: 1.4rem;
                width: 288px;
                height: 48px;

                span{

                    &.txt{

                    }
                }

                @include linkarrow;

                &:before,
                &:after{
                    //right: (96px/-2);
                    //right: (96px/-2) * -4;
                }
                &:hover{

                    &:before,
                    &:after{
                        //animation
                        animation-fill-mode:backwards;
                        animation-name: motion-btn-link;
                        animation-delay: 0s;
                        animation-duration: 0.7s;
                        animation-timing-function: ease-in-out;
                    }
                }
            }
        }
















    }
    */
  }
  #container #article aside {
    /* -------------------------------------
        main
    ------------------------------------- */
  }
  #container #article aside.main {
    width: 100%;
    background: hsl(0, 0%, 0%);
  }
  #container #article aside.main .inner {
    width: 100%;
    margin: 0;
    /* -------------------------------------
        swiper
    ------------------------------------- */
  }
  #container #article aside.main .inner .h_group {
    width: 87.5vw;
    bottom: 11.25vw;
  }
  #container #article aside.main .inner h1.h1_3 {
    width: 100%;
    max-width: 1048px;
  }
  #container #article aside.main .inner h1.h1_3 span.img {
    transform: none;
  }
  #container #article aside.main .inner h2.h2_2 {
    width: 87.5vw;
    min-height: 120px;
    margin: 5vw 0 0;
  }
  #container #article aside.main .inner h2.h2_2 span {
    font-size: 2.5vw;
  }
  #container #article aside.main .inner .link {
    width: 100%;
    margin: 3.75vw 0 0;
  }
  #container #article aside.main .inner .link a,
  #container #article aside.main .inner .link a:link {
    font-size: 1.8rem;
    width: 288px;
    height: 60px;
  }
  #container #article aside.main .inner .sw_control {
    /* -------------------------------------
        sw-pagination
    */
  }
  #container #article aside.main .inner .sw_control .sw-pagination {
    bottom: 32px;
  }
  #container #article aside.main .inner .sw_control .sw-pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    margin: 0 16px;
  }
  #container #article section {
    width: 100%;
    margin: 168px auto 0;
    /* -------------------------------------
       common
    */
    /* -------------------------------------
       product
    */
    /* -------------------------------------
       info
    */
    /* -------------------------------------
       tech
    */
    /* -------------------------------------
       movie
    */
    /* -------------------------------------
       interview
    */
    /* -------------------------------------
       flow
    */
    /* -------------------------------------
       qa
    */
    /* -------------------------------------
       reserve
    */
    /* -------------------------------------
       access
    */
    /* -------------------------------------
       contact
    */
    /* -------------------------------------
       partner
    */
  }
  #container #article section .inner {
    width: 100%;
    position: relative;
    z-index: 1;
    /* -------------------------------------
        swiper
    ------------------------------------- */
  }
  #container #article section .inner .content {
    width: 100%;
    margin: 0;
    position: relative;
    z-index: 1;
  }
  #container #article section .inner .sw_control {
    /* -------------------------------------
        sw-arrow
    */
    /* -------------------------------------
        sw-pagination
    */
  }
  #container #article section .inner .sw_control .sw-arrow {
    width: 96px;
    height: 96px;
    top: 21.3333333333vw;
    cursor: pointer;
  }
  #container #article section .inner .sw_control .sw-arrow:before {
    width: 22px;
    left: 50%;
  }
  #container #article section .inner .sw_control .sw-arrow:after {
    width: 9.6px;
    height: 9.6px;
  }
  #container #article section .inner .sw_control .sw-arrow.prev {
    left: -48px;
  }
  #container #article section .inner .sw_control .sw-arrow.prev:after {
    left: 37px;
  }
  #container #article section .inner .sw_control .sw-arrow.next {
    right: -48px;
  }
  #container #article section .inner .sw_control .sw-arrow.next:after {
    right: 37px;
  }
  #container #article section .inner .sw_control .sw-pagination {
    margin: 0 auto 0;
  }
  #container #article section .inner .sw_control .sw-pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    margin: 0 16px;
  }
  #container #article section h3.h3_1 {
    padding: 80px 0 70px;
    margin: 0;
  }
  #container #article section h3.h3_1::before {
    width: 96px;
    border-bottom: 2px solid #DD672B;
    left: 0;
    transform: none;
  }
  #container #article section h3.h3_1 span {
    text-align: left;
  }
  #container #article section h3.h3_1 span.txt {
    font-size: 6.4rem;
  }
  #container #article section h3.h3_1 span.txt_2 {
    font-size: 1.6rem;
    margin: 32px 0 0;
    position: relative;
    z-index: 1;
  }
  #container #article section p {
    font-size: 1.6rem;
  }
  #container #article section .link {
    margin: 40px auto 0;
  }
  #container #article section .link a,
  #container #article section .link a:link {
    font-size: 1.6rem;
    width: 384px;
  }
  #container #article section .link a span,
  #container #article section .link a:link span {
    height: 60px;
  }
  #container #article section .link a span:before,
  #container #article section .link a:link span:before {
    width: 23px;
    right: 36px;
  }
  #container #article section .link a span:after,
  #container #article section .link a:link span:after {
    width: 10px;
    height: 10px;
    right: 36px;
  }
  #container #article section .link a:hover span::before,
  #container #article section .link a:active span::before {
    right: 16px;
  }
  #container #article section .link a:hover span::after,
  #container #article section .link a:active span::after {
    right: 16px;
  }
  #container #article section.product .inner .content h2.h2_2, #container #article section.about .inner .content h2.h2_2 {
    row-gap: 16px;
    margin: 70px auto 0;
  }
  #container #article section.product .inner .content h2.h2_2::before, #container #article section.product .inner .content h2.h2_2::after, #container #article section.about .inner .content h2.h2_2::before, #container #article section.about .inner .content h2.h2_2::after {
    height: 18px;
  }
  #container #article section.product .inner .content h2.h2_2 span.img, #container #article section.about .inner .content h2.h2_2 span.img {
    width: 200px;
  }
  #container #article section.product .inner .content h2.h2_2 span.img_2, #container #article section.about .inner .content h2.h2_2 span.img_2 {
    width: 150px;
  }
  #container #article section.product .inner .content h4.h4_2, #container #article section.about .inner .content h4.h4_2 {
    margin: 0 auto 48px;
  }
  #container #article section.product .inner .content h4.h4_2 span, #container #article section.about .inner .content h4.h4_2 span {
    line-height: 1.75;
  }
  #container #article section.product .inner .content h4.h4_2 span strong, #container #article section.about .inner .content h4.h4_2 span strong {
    display: inline-block;
  }
  #container #article section.product .inner .content h4.h4_2 span.txt, #container #article section.about .inner .content h4.h4_2 span.txt {
    font-size: 3.2rem;
  }
  #container #article section.product .inner .content figure, #container #article section.about .inner .content figure {
    height: 100%;
  }
  #container #article section.product .inner .content figure img, #container #article section.about .inner .content figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #container #article section.product .inner .content .item, #container #article section.about .inner .content .item {
    display: grid;
    grid-template-columns: repeat(80, 1fr);
    margin: 0;
  }
  #container #article section.product .inner .content .item .float_l, #container #article section.about .inner .content .item .float_l {
    display: block;
  }
  #container #article section.product .inner .content .item .float_r, #container #article section.about .inner .content .item .float_r {
    margin: 0;
  }
  #container #article section.product .inner h3.h3_1 span.txt_2 {
    font-size: 3.2rem;
    margin: 0.75em 0 0;
  }
  #container #article section.product .inner h3.h3_1 span.txt_2 strong {
    font-size: 1.6rem;
    margin: 0 1em 0 0;
  }
  #container #article section.product .inner .content .movie {
    height: 40vw;
  }
  #container #article section.product .inner .content .item {
    grid-template-rows: auto 1fr;
  }
  #container #article section.product .inner .content .item h3.h3_1 {
    grid-row: 1;
    grid-column: 7/40;
  }
  #container #article section.product .inner .content .item .float_l {
    grid-row: 1/3;
    grid-column: 44/-1;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
  }
  #container #article section.product .inner .content .item .float_l::before, #container #article section.product .inner .content .item .float_l::after {
    content: "";
    display: block;
    width: 100%;
    height: 50%;
    position: absolute;
    z-index: -1;
    left: 0;
  }
  #container #article section.product .inner .content .item .float_l::before {
    background: #dff2fd url(../images/index/contents/product/bg_image.png) top center repeat-y;
    top: 0;
  }
  #container #article section.product .inner .content .item .float_l::after {
    background: #ede9ca;
    bottom: 0;
  }
  #container #article section.product .inner .content .item .float_r {
    grid-row: 2;
    grid-column: 7/40;
    padding: 0;
  }
  #container #article section.about {
    margin: 168px auto 0;
  }
  #container #article section.about .inner .content h4.h4_2 {
    margin: 0 auto 12px;
  }
  #container #article section.about .inner .content .link {
    margin: 2.5vw auto 0;
  }
  #container #article section.about .inner .content .item {
    grid-template-rows: auto 1fr;
    position: relative;
    z-index: 1;
  }
  #container #article section.about .inner .content .item .float_l {
    grid-row: 1/3;
    grid-column: 1/-1;
  }
  #container #article section.about .inner .content .item .float_r {
    grid-row: 1/3;
    grid-column: 10/-10;
    align-self: self-end;
    width: 100%;
    padding: 2.5vw 48px 3.75vw;
    margin: 0;
  }
  #container #article section.info {
    padding: 80px 0 70px;
  }
  #container #article section.info .inner .content {
    display: grid;
    grid-template-columns: repeat(80, 1fr);
  }
  #container #article section.info .inner .content h3 {
    grid-column: 1/-1;
  }
  #container #article section.info .inner .content h4 {
    font-size: 2.1rem;
  }
  #container #article section.info .inner .content h5 {
    margin: 1em auto 0;
  }
  #container #article section.info .inner .content h5 span {
    font-size: 1.8rem;
  }
  #container #article section.info .inner .content p.date {
    line-height: 1.5;
    margin: 0.5em auto 0;
  }
  #container #article section.info .inner .content .link {
    grid-column: 1/-1;
    margin-top: 64px;
  }
  #container #article section.info .inner .content .item {
    grid-row: 2;
    width: 100%;
    margin: 0;
  }
  #container #article section.info .inner .content .item:nth-of-type(1) {
    grid-column: 8/28;
  }
  #container #article section.info .inner .content .item:nth-of-type(2) {
    grid-column: 31/51;
  }
  #container #article section.info .inner .content .item:nth-of-type(3) {
    grid-column: 54/-8;
  }
  #container #article section.info .inner .content .item a,
  #container #article section.info .inner .content .item a:link {
    display: block;
    column-gap: 0;
  }
  #container #article section.tech .inner {
    width: 100%;
  }
  #container #article section.tech .inner .content {
    width: 100%;
  }
  #container #article section.tech .inner .content figure {
    height: 100%;
  }
  #container #article section.tech .inner .content figure img {
    height: 100%;
    object-fit: cover;
  }
  #container #article section.tech .inner .content h3.h3_1 {
    grid-row: 1;
    grid-column: 44/-7;
    align-self: end;
  }
  #container #article section.tech .inner .content h4.h4_2 {
    margin-bottom: 3em;
  }
  #container #article section.tech .inner .content h4.h4_2 span.txt {
    font-size: 3.2rem;
  }
  #container #article section.tech .inner .content .item {
    display: grid;
    grid-template-rows: max-content max-content;
    grid-template-columns: repeat(80, 1fr);
    width: 100%;
    padding: 0;
    margin: 0;
  }
  #container #article section.tech .inner .content .item .float_l {
    grid-row: 1/-1;
    grid-column: 1/41;
    grid-template-columns: 1fr;
  }
  #container #article section.tech .inner .content .item .float_r {
    grid-row: 2;
    grid-column: 44/-7;
    margin: 0;
  }
  #container #article section.movie {
    margin: 0 auto;
  }
  #container #article section.movie .inner .content figure::before {
    width: 7.5vw;
    height: 7.5vw;
    border: 4px solid #f00;
  }
  #container #article section.movie .inner .content figure::after {
    margin-left: 0.3645833333vw;
    border: 1.5104166667vw solid transparent;
    border-right: none;
    border-left: 3.0208333333vw solid #f00;
    left: 50%;
  }
  #container #article section.movie .inner .content h3.h3_2 {
    align-self: end;
    width: 100%;
    margin: 0;
  }
  #container #article section.movie .inner .content h3.h3_2 span {
    font-size: 1.875vw;
    padding: 0.625vw 1.4583333333vw 0.625vw 3.3333333333vw;
  }
  #container #article section.movie .inner .content h3.h3_2 span::before, #container #article section.movie .inner .content h3.h3_2 span::after {
    width: 1.0416666667vw;
    height: 3.9583333333vw;
  }
  #container #article section.movie .inner .content h4.h4_1 {
    align-self: start;
    margin: 2.6041666667vw auto 0;
  }
  #container #article section.movie .inner .content h4.h4_1 span.txt {
    text-align: right;
    font-size: 1.09375vw;
  }
  #container #article section.movie .inner .content h4.h4_1 span.txt_2 {
    font-size: 1.3541666667vw;
    margin: 1.0416666667vw 0 0;
  }
  #container #article section.movie .inner .content .item {
    display: grid;
    align-items: center;
    justify-content: end;
    width: 100%;
    height: 100%;
    padding-right: 7.2916666667vw;
    margin: 0;
    box-sizing: border-box;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
  }
  #container #article section.interview .inner .content figure {
    grid-row: 1/-1;
    grid-column: 42/-7;
    margin: 0;
  }
  #container #article section.interview .inner .content h3 {
    grid-column: 1/1;
  }
  #container #article section.interview .inner .content h4 {
    grid-row: 1;
    grid-column: 7/40;
    align-self: start;
  }
  #container #article section.interview .inner .content h4.h4_1 {
    font-size: 2.1rem;
    padding-top: 48px;
    margin: 0 0 1em;
  }
  #container #article section.interview .inner .content h5 {
    grid-row: 3;
    grid-column: 7/40;
    justify-self: end;
    font-size: 1.6rem;
    margin: 1em 0 0;
  }
  #container #article section.interview .inner .content p {
    grid-row: 2;
    grid-column: 7/40;
  }
  #container #article section.interview .inner .content .item {
    display: grid;
    grid-template-rows: max-content 1fr max-content;
    grid-template-columns: repeat(80, 1fr);
    margin-bottom: 80px;
  }
  #container #article section.flow .inner {
    width: 100%;
  }
  #container #article section.flow .inner .content {
    display: grid;
    grid-template-columns: repeat(80, 1fr);
    gap: 0;
    width: 100%;
  }
  #container #article section.flow .inner .content h3.h3_1 {
    grid-row: 1;
    grid-column: 7/-7;
  }
  #container #article section.flow .inner .content h4.h4_1 span.num {
    font-size: 0.9375vw;
    width: auto;
    padding: 0 0.5em;
  }
  #container #article section.flow .inner .content h4.h4_1 span.txt {
    font-size: 1.5625vw;
    margin: 12px auto 0;
  }
  #container #article section.flow .inner .content h4.h4_1 span.txt strong {
    font-size: 1.09375vw;
    min-width: 40px;
    padding: 4px 12px;
    bottom: -40px;
  }
  #container #article section.flow .inner .content .item {
    grid-row: 2;
    width: 100%;
    padding: 0;
    margin: 0;
  }
  #container #article section.flow .inner .content .item:nth-of-type(1) {
    grid-column: 8/23;
  }
  #container #article section.flow .inner .content .item:nth-of-type(2) {
    grid-column: 25/40;
  }
  #container #article section.flow .inner .content .item:nth-of-type(3) {
    grid-column: 42/57;
  }
  #container #article section.flow .inner .content .item:nth-of-type(4) {
    grid-column: 59/74;
  }
  #container #article section.flow .inner .content .item:nth-of-type(2n) {
    margin: 0;
  }
  #container #article section.flow .inner .content .item:nth-of-type(4n) {
    margin: 0;
  }
  #container #article section.flow .inner .content .item .float_r {
    margin: 24px auto 0;
  }
  #container #article section.qa .inner {
    display: grid;
    grid-template-columns: repeat(80, 1fr);
  }
  #container #article section.qa .inner h3.h3_1 {
    grid-row: 1;
    grid-column: 7/-7;
  }
  #container #article section.qa .inner .content {
    grid-row: 2;
    grid-column: 9/-9;
  }
  #container #article section.qa .inner .content h4.h4_1,
  #container #article section.qa .inner .content p {
    padding: 12px 96px 24px 38px;
  }
  #container #article section.qa .inner .content h4.h4_1 span.en,
  #container #article section.qa .inner .content p span.en {
    font-size: 3rem;
    width: 88px;
    transform: translateY(4px);
  }
  #container #article section.qa .inner .content h4.h4_1 span.txt,
  #container #article section.qa .inner .content p span.txt {
    font-size: 1.6rem;
  }
  #container #article section.qa .inner .content h4.h4_1 {
    cursor: pointer;
  }
  #container #article section.qa .inner .content h4.h4_1::before, #container #article section.qa .inner .content h4.h4_1::after {
    transition: 1.1s ease-out;
  }
  #container #article section.qa .inner .content h4.h4_1 span.txt:before, #container #article section.qa .inner .content h4.h4_1 span.txt:after {
    width: 18px;
    right: 36px;
    border-bottom: 2px solid hsl(0, 0%, 100%);
  }
  #container #article section.qa .inner .content p {
    margin: 0;
  }
  #container #article section.qa .inner .content .item {
    margin: 0 auto 24px;
  }
  #container #article section.qa .inner .content .item:last-of-type {
    margin: 0 auto;
  }
  #container #article section.reserve {
    padding: 80px 0 70px;
  }
  #container #article section.reserve .inner .content {
    display: grid;
    grid-template-columns: repeat(80, 1fr);
  }
  #container #article section.reserve .inner .content figure {
    grid-column: 14/-14;
  }
  #container #article section.reserve .inner .content h3 {
    grid-column: 1/-1;
  }
  #container #article section.reserve .inner .content h4.h4_1 {
    margin: 0 auto 1.5em;
  }
  #container #article section.reserve .inner .content h4.h4_1 span.img {
    width: 300px;
    margin-bottom: 32px;
  }
  #container #article section.reserve .inner .content h4.h4_1 span.txt {
    font-size: 3.2rem;
  }
  #container #article section.reserve .inner .content h4.h4_1 span.txt strong {
    font-size: 2.4rem;
  }
  #container #article section.reserve .inner .content h4.h4_2 {
    font-size: 1.6rem;
    margin-bottom: 1em;
  }
  #container #article section.reserve .inner .content ul {
    margin-bottom: 2em;
  }
  #container #article section.reserve .inner .content ul:last-of-type {
    margin-bottom: 0;
  }
  #container #article section.reserve .inner .content .item {
    grid-column: 14/-14;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 4.7916666667vw;
    margin: 64px 0 0;
  }
  #container #article section.reserve .inner .content .item .float_l {
    padding-top: 16px;
  }
  #container #article section.reserve .inner .content .item .float_r {
    padding: 48px 64px;
    margin-top: 0;
    box-sizing: border-box;
  }
  #container #article section.access {
    padding: 80px 0 70px;
  }
  #container #article section.access .inner .content {
    display: grid;
    grid-template-columns: repeat(80, 1fr);
    padding: 0;
  }
  #container #article section.access .inner .content h3.h3_2 {
    grid-column: 7/-7;
  }
  #container #article section.access .inner .content h3.h3_2 span.txt {
    font-size: 3.2rem;
  }
  #container #article section.access .inner .content p {
    grid-column: 7/-7;
  }
  #container #article section.access .inner .content .map {
    grid-column: 14/-14;
    width: 100%;
    aspect-ratio: 2/1;
    margin: 64px 0 0;
  }
  #container #article section.contact .inner.form_inner {
    display: grid;
    grid-template-columns: repeat(80, 1fr);
    width: 100%;
  }
  #container #article section.contact .inner.form_inner .content {
    grid-row: 1;
    grid-column: 7/-7;
    width: 100%;
    padding: 80px 0;
  }
  #container #article section.contact .inner.form_inner .content h3.h3_2 {
    margin: 0 auto 48px;
  }
  #container #article section.contact .inner.form_inner .content h3.h3_2 span.txt {
    font-size: 3.2rem;
  }
  #container #article section.contact .inner.form_inner .content h3.h3_2 span.txt_2 {
    margin-top: 2.1em;
  }
  #container #article section.contact .inner.form_inner .content form {
    width: 100%;
    margin: 0;
  }
  #container #article section.partner {
    padding: 80px 0 70px;
    margin: 0;
  }
  #container #article section.partner .inner .content .link {
    margin: 16px 0 0;
  }
  #container #article section.partner .inner .content .link a,
  #container #article section.partner .inner .content .link a:link {
    width: 600px;
    padding: 20px 0;
    margin-top: 32px;
  }
  #container #article section.partner .inner .content .link a:nth-of-type(1) span,
  #container #article section.partner .inner .content .link a:link:nth-of-type(1) span {
    width: 174px;
  }
  #container #article section.partner .inner .content .link a:nth-of-type(2) span,
  #container #article section.partner .inner .content .link a:link:nth-of-type(2) span {
    width: 130px;
  }
}
@media screen and (min-width: 1060px) {
  #container {
    /* -------------------------------------
       article
    ------------------------------------- */
  }
  #container #article {
    /* -------------------------------------
       section
    ------------------------------------- */
  }
  #container #article .section.qa .inner h3.h3_1 {
    grid-column: 7/21;
  }
  #container #article .section.qa .inner .content {
    grid-row: 1;
    grid-column: 21/-9;
  }
}
@media screen and (min-width: 1530px) {
  #container {
    /* -------------------------------------
    article
    ------------------------------------- */
  }
  #container #article aside.main .inner .h_group {
    width: calc(100% - 288px);
    bottom: 168px;
  }
  #container #article aside.main .inner h2.h2_2 {
    margin: 60px 0 0;
  }
  #container #article aside.main .inner h2.h2_2 span {
    font-size: 4.8rem;
  }
  #container #article aside.main .inner .link {
    margin: 48px 0 0;
  }
  #container #article aside.main .inner .slick_slider .slick-dots {
    bottom: 60px !important;
  }
  #container #article section.about .inner .content .item .float_r {
    grid-column: 15/-15;
    padding: 54px 96px 5vw;
  }
}
@media screen and (min-width: 1920px) {
  /* -------------------------------------
     container
  ------------------------------------- */
  #container #article section {
    margin: 168px auto 0;
  }
  #container #article section h3.h3_1 {
    padding: 80px 0;
  }
  #container #article section h3.h3_1::before {
    width: 96px;
  }
  #container #article section h3.h3_1 span.txt {
    font-size: 3.3333333333vw;
  }
  #container #article section h3.h3_1 span.txt_2 {
    font-size: 0.8333333333vw;
    margin: 32px 0 0;
  }
  #container #article section.product .inner h3.h3_1 span.txt_2 {
    font-size: 1.6666666667vw;
  }
  #container #article section.product .inner h3.h3_1 span.txt_2 strong {
    font-size: 0.8333333333vw;
  }
  #container #article section.about .inner .content .link {
    margin: 40px auto 0;
  }
  #container #article section.about .inner .content .item .float_r {
    grid-column: 22/-22;
  }
  #container #article section.case .inner .content h4.h4_1 {
    width: 960px;
    padding: 40px 0;
  }
}
@media screen and (min-width: 2100px) {
  #container #article section.product .inner .content .movie {
    height: 100%;
  }
}/*# sourceMappingURL=index.css.map */