@charset "UTF-8";
.con-concept .box-concept, .con-design, .con-quality .wrap-quality .box-outline, .con-quality .wrap-quality .list-quality, .con-hint .box-outline, .con-hint .wrap-button, .con-works .box-works, .con-news, .con-short .box-outline, .con-short .box-short { max-width: 1120px; margin-inline: auto; width: calc(100% - 320px); }
@media (max-width: 1439px) { .con-concept .box-concept, .con-design, .con-quality .wrap-quality .box-outline, .con-quality .wrap-quality .list-quality, .con-hint .box-outline, .con-hint .wrap-button, .con-works .box-works, .con-news, .con-short .box-outline, .con-short .box-short { width: 96%; } }
@media (min-width: 768px) and (max-width: 1024px) { .con-concept .box-concept, .con-design, .con-quality .wrap-quality .box-outline, .con-quality .wrap-quality .list-quality, .con-hint .box-outline, .con-hint .wrap-button, .con-works .box-works, .con-news, .con-short .box-outline, .con-short .box-short { width: 92%; } }
@media (max-width: 767px) { .con-concept .box-concept, .con-design, .con-quality .wrap-quality .box-outline, .con-quality .wrap-quality .list-quality, .con-hint .box-outline, .con-hint .wrap-button, .con-works .box-works, .con-news, .con-short .box-outline, .con-short .box-short { width: 89.6%; } }

/*Animate */
#top header .logo a svg path { fill: #fff; }
#top header .gnav .gnav-mainlist .gnav-item a { color: #fff; }
@media (min-width: 1025px) { #top header .gnav .gnav-mainlist .gnav-item a:after { background-color: #fff; } }
#top header .gnav .button-menu span { background-color: #fff; }
#top header .gnav .button-menu span:before, #top header .gnav .button-menu span:after { background-color: #fff; }
@media (max-width: 767px) { #top header .gnav .button-menu span:before, #top header .gnav .button-menu span:after { background-color: #fff; } }
#top header.hamburger-menu-on .logo a svg path { fill: #2B2B2B; }
#top header.hamburger-menu-on .logo a svg path.accent { fill: #D21524; }
#top header.hamburger-menu-on .gnav .button-menu span { background-color: #2B2B2B; }
#top header.hamburger-menu-on .gnav .button-menu span:before, #top header.hamburger-menu-on .gnav .button-menu span:after { background-color: #2B2B2B; }

/* ----------------------------------------------------------- .con-mainvisual
----------------------------------------------------------- */
.con-mainvisual { width: 100%; position: relative; }
@media (min-width: 1025px) { .con-mainvisual { display: flex; height: 100vh; } }
@media (max-width: 767px) { .con-mainvisual { height: auto; } }
.con-mainvisual .box-bg-mainvisual-slider { width: 100%; height: 100%; position: absolute; top: 0; bottom: 0; right: 0; margin: auto; z-index: -1; opacity: 0; }
.con-mainvisual .box-bg-mainvisual-slider.js-inview-in { -webkit-animation-duration: 0.8s; animation-duration: 0.8s; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-name: fade-slider; animation-name: fade-slider; transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1); }
@keyframes fade-slider { from { opacity: 0; -webkit-filter: blur(100px); -moz-filter: blur(100px); -ms-filter: blur(100px); filter: blur(100px); }
  to { opacity: 1; -webkit-filter: blur(0px); -moz-filter: blur(0px); -ms-filter: blur(0px); filter: blur(0px); } }
@media (min-width: 1025px) { .con-mainvisual .box-bg-mainvisual-slider { width: 60%; } }
@media (max-width: 1024px) { .con-mainvisual .box-bg-mainvisual-slider { top: auto; bottom: 0; } }
@media (max-width: 767px) { .con-mainvisual .box-bg-mainvisual-slider .swiper-slide { width: 100%; } }
.con-mainvisual .box-bg-mainvisual-slider .swiper-slide .img { width: 100%; height: 100%; background: linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%); filter: blur(100px); }
.con-mainvisual .box-bg-mainvisual-slider .swiper-slide .img img { width: 100%; height: 100%; object-fit: cover; }
.con-mainvisual .box-bg-mainvisual-slider .swiper-slide:not(:first-child) { display: none; }
.con-mainvisual .box-mainvisual-slider { width: 100%; height: 100vh; overflow: hidden; opacity: 0; }
@media (max-width: 767px) { .con-mainvisual .box-mainvisual-slider { height: 100svh; } }
.con-mainvisual .box-mainvisual-slider.js-inview-in { -webkit-animation-duration: 0.8s; animation-duration: 0.8s; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-name: fade-slider; animation-name: fade-slider; transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1); }
@keyframes fade-slider { from { opacity: 0; -webkit-filter: blur(100px); -moz-filter: blur(100px); -ms-filter: blur(100px); filter: blur(100px); }
  to { opacity: 1; -webkit-filter: blur(0px); -moz-filter: blur(0px); -ms-filter: blur(0px); filter: blur(0px); } }
@media (min-width: 1025px) { .con-mainvisual .box-mainvisual-slider { -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
  .con-mainvisual .box-mainvisual-slider:hover { opacity: 0.7; } }
@media (min-width: 1025px) { .con-mainvisual .box-mainvisual-slider { width: 50%; } }
@media (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .box-mainvisual-slider { height: 90vh; } }
.con-mainvisual .box-mainvisual-slider .swiper-slide { position: relative; }
@media (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .box-mainvisual-slider .swiper-slide { height: 100%; } }
.con-mainvisual .box-mainvisual-slider .swiper-slide a { display: block; position: relative; }
@media (min-width: 1025px) { .con-mainvisual .box-mainvisual-slider .swiper-slide a:hover:after { background: none; } }
.con-mainvisual .box-mainvisual-slider .swiper-slide a:after { content: ""; background: linear-gradient(270deg, rgba(0, 0, 0, 0) 49.03%, rgba(0, 0, 0, 0.6) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%), no-repeat; width: 100%; height: 100%; position: absolute; top: 0; left: 0; -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
.con-mainvisual .box-mainvisual-slider .swiper-slide .img { width: 100%; height: 100vh; display: block; overflow: hidden; }
@media (max-width: 767px) { .con-mainvisual .box-mainvisual-slider .swiper-slide .img { height: 100svh; } }
.con-mainvisual .box-mainvisual-slider .swiper-slide .img img { max-width: none; width: 100%; height: 100%; display: block; object-fit: cover; transition: 5s 1s ease-out; transform: scale(1.1); }
.con-mainvisual .box-mainvisual-slider .swiper-slide .box-caption { color: #fff; position: absolute; left: 11px; z-index: 1; top: 50%; transform: translate(0, -50%); }
.con-mainvisual .box-mainvisual-slider .swiper-slide .box-caption .title { font-family: "Outfit", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; letter-spacing: 0.1em; font-size: 2.4rem; line-height: 1; margin-bottom: 16px; align-self: flex-end; padding-left: 0.25em; }
@media (max-width: 767px) { .con-mainvisual .box-mainvisual-slider .swiper-slide .box-caption .title { margin-bottom: 8px; } }
.con-mainvisual .box-mainvisual-slider .swiper-slide .box-caption .title span { writing-mode: tb-rl; writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; text-align: left; display: inline-block; white-space: pre; }
.con-mainvisual .box-mainvisual-slider .swiper-slide .box-caption .number { font-size: 13px; line-height: 1; font-family: "Outfit", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; width: 30px; height: 30px; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; border: 1px solid #fff; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.con-mainvisual .box-mainvisual-slider .swiper-slide .box-caption .type { font-size: 15px; letter-spacing: 0.1em; line-height: 1; margin-top: 40px; padding-left: 0.5em; }
@media (max-width: 767px) { .con-mainvisual .box-mainvisual-slider .swiper-slide .box-caption .type { margin-top: 24px; } }
.con-mainvisual .box-mainvisual-slider .swiper-slide .box-caption .type span { writing-mode: tb-rl; writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; text-align: left; display: inline-block; white-space: pre; }
.con-mainvisual .box-mainvisual-slider .swiper-slide[class*=-active] .img img { transition-delay: 0s; transform: scale(1); }
.con-mainvisual .box-catchcopy { width: 100%; height: 100%; }
@media (min-width: 1025px) { .con-mainvisual .box-catchcopy { width: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; } }
@media (max-width: 1024px) { .con-mainvisual .box-catchcopy { position: relative; } }
@media (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .box-catchcopy { padding: 80px 0; } }
@media (max-width: 767px) { .con-mainvisual .box-catchcopy { padding: 45px 0 80px; } }
@media (max-width: 1024px) { .con-mainvisual .box-catchcopy .wrap-catchcopy { width: 100%; height: 100%; position: absolute; top: 0; bottom: 0; right: 0; margin: auto; z-index: -1; }
  .con-mainvisual .box-catchcopy .wrap-catchcopy .img { width: 100%; height: 100%; background: linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%); filter: blur(100px); }
  .con-mainvisual .box-catchcopy .wrap-catchcopy .img img { width: 100%; height: 100%; object-fit: cover; } }
@media (min-width: 1025px) { .con-mainvisual .box-catchcopy .box-detail { position: relative; width: calc(300px + 6em); } }
@media (max-width: 1024px) { .con-mainvisual .box-catchcopy .box-detail { display: flex; } }
.con-mainvisual .box-catchcopy .box-detail .txt-catchcopy { color: #fff; }
@media (max-width: 1024px) { .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy { order: 2; display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: 1fr; } }
@media (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy { width: calc(100% - 300px); align-items: center; } }
@media (max-width: 767px) { .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy { width: calc(100% - 51.3vw); } }
@media (min-width: 1025px) { .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy p { position: absolute; } }
@media (min-width: 1025px) { .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy p:first-child { top: 0; right: 0; }
  .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy p:first-child span { height: 8em; } }
@media (max-width: 1024px) { .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy p:first-child { grid-area: 1 / 2 / 2 / 3; justify-self: start; } }
@media (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy p:first-child span { height: 8em; } }
@media (min-width: 1025px) { .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy p:last-child { bottom: 0; left: 0; }
  .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy p:last-child span { height: 9em; } }
@media (max-width: 1024px) { .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy p:last-child { grid-area: 1 / 1 / 2 / 2; justify-self: end; } }
@media (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy p:last-child { padding-top: 6em; }
  .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy p:last-child span { height: 9em; } }
@media (max-width: 767px) { .con-mainvisual .box-catchcopy .box-detail .txt-catchcopy p:last-child { padding-top: 2.5em; } }
.con-mainvisual .box-catchcopy .box-detail .txt-catchcopy p span { writing-mode: tb-rl; writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; text-align: left; display: inline-block; white-space: pre; font-family: "Shippori Mincho", serif; font-weight: 400; font-style: normal; font-size: 2.4rem; font-weight: 500; letter-spacing: 0.36em; inline-size: 1.5em; block-size: auto; width: 1.5em; }
.con-mainvisual .box-catchcopy .box-detail .video { width: 300px; aspect-ratio: 3/4; margin: 0 auto; }
@media (max-width: 1024px) { .con-mainvisual .box-catchcopy .box-detail .video { order: 1; } }
@media (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .box-catchcopy .box-detail .video { margin-left: 80px; } }
@media (max-width: 767px) { .con-mainvisual .box-catchcopy .box-detail .video { width: 51.3vw; margin-left: 32px; margin-top: 135px; } }
.con-mainvisual .box-catchcopy .box-detail .video video { width: 100%; height: 100%; object-fit: cover; }
.con-mainvisual .box-company_name { width: calc(100% - 80px); margin: 0 auto; position: absolute; bottom: 24px; left: 0; right: 0; z-index: 1; }
@media (min-width: 768px) and (max-width: 1024px) { .con-mainvisual .box-company_name { bottom: auto; top: 80svh; } }
@media (max-width: 767px) { .con-mainvisual .box-company_name { width: calc(100% - 10px); bottom: auto; top: 90svh; } }
.con-mainvisual .box-company_name svg { width: 100%; }
.con-mainvisual .box-company_name svg path { display: inline-block; clip-path: inset(100% 0 0 0); transition: clip-path 0.8s cubic-bezier(0.25, 0.8, 0.25, 1); }
.con-mainvisual .box-company_name.js-inview-in svg path { clip-path: inset(0 0 0 0); }
.con-mainvisual .box-company_name.js-inview-in svg path:nth-child(2) { transition-delay: 0.08s; }
.con-mainvisual .box-company_name.js-inview-in svg path:nth-child(3) { transition-delay: 0.12s; }
.con-mainvisual .box-company_name.js-inview-in svg path:nth-child(4) { transition-delay: 0.2s; }
.con-mainvisual .box-company_name.js-inview-in svg path:nth-child(5) { transition-delay: 0.24s; }
.con-mainvisual .box-company_name.js-inview-in svg path:nth-child(6) { transition-delay: 0.28s; }
.con-mainvisual .box-company_name.js-inview-in svg path:nth-child(7) { transition-delay: 0.32s; }
.con-mainvisual .box-company_name.js-inview-in svg path:nth-child(8) { transition-delay: 0.4s; }
.con-mainvisual .box-company_name.js-inview-in svg path:nth-child(9) { transition-delay: 0.44s; }
.con-mainvisual .box-company_name.js-inview-in svg path:nth-child(10) { transition-delay: 0.48s; }

/* ----------------------------------------------------------- .con-concept
----------------------------------------------------------- */
.con-concept { margin: 240px auto 80px; position: relative; overflow: hidden; }
@media (max-width: 767px) { .con-concept { margin: 40px auto 0; } }
.con-concept .box-concept { padding-bottom: 136px; }
@media (max-width: 767px) { .con-concept .box-concept { padding-bottom: 160px; } }
.con-concept .box-concept h2 { font-family: "Marcellus", serif; font-weight: 400; font-style: normal; font-size: 9.6rem; line-height: 1; margin-bottom: 56px; }
@media (max-width: 767px) { .con-concept .box-concept h2 { font-size: 6.4rem; margin-bottom: 40px; } }
.con-concept .box-concept h2 span { font-size: 6.4rem; }
@media (max-width: 767px) { .con-concept .box-concept h2 span { font-size: 4.8rem; } }
.con-concept .box-concept .txt { font-size: 2rem; line-height: 2.4; letter-spacing: 0.08em; max-width: 50%; }
@media (max-width: 767px) { .con-concept .box-concept .txt { font-size: 1.4rem; max-width: 100%; } }
.con-concept .box-concept .button-secondary { margin-top: 120px; max-width: 300px; }
@media (max-width: 767px) { .con-concept .box-concept .button-secondary { margin-top: 48px; max-width: 240px; } }
.con-concept .img-concept { position: absolute; bottom: 0; right: 0; width: 44.4%; }
@media (max-width: 767px) { .con-concept .img-concept { position: static; width: 76.9%; margin-left: auto; } }

/* ----------------------------------------------------------- .expand-container 中央画像コンテンツ
----------------------------------------------------------- */
.expand-container { width: 100%; position: relative; margin: 160px 0 0; }
.expand-container .image-sub { z-index: 1; }
.expand-container .image-sub.left { margin: 0 0 40px 40px; width: 25%; }
@media (max-width: 767px) { .expand-container .image-sub.left { margin: 0 0 20px 20px; width: 50%; } }
.expand-container .image-sub.right { margin: -80px 40px 0 auto; width: 40%; }
@media (max-width: 767px) { .expand-container .image-sub.right { margin: 20px 20px 0 auto; width: 50%; } }
.expand-container .image-main { width: 100%; aspect-ratio: 16/9; }
@media (max-width: 767px) { .expand-container .image-main { aspect-ratio: 1/1; } }
.expand-container .image-main img { width: 100%; height: 100%; object-fit: cover; }

/* ----------------------------------------------------------- .con-design
----------------------------------------------------------- */
.con-design { padding: 160px 0; }
.con-design .box-design { width: 50%; margin-left: auto; margin-top: 120px; }
@media (min-width: 768px) and (max-width: 1024px) { .con-design .box-design { width: 100%; } }
@media (max-width: 767px) { .con-design .box-design { width: 100%; margin-left: 0; margin-top: 64px; } }
.con-design .box-design h3 { font-family: "Shippori Mincho", serif; font-weight: 500; font-style: normal; font-size: 3.2rem; line-height: 1.5; letter-spacing: 0.08em; margin-bottom: 24px; }
@media (max-width: 767px) { .con-design .box-design h3 { font-size: 2rem; margin-bottom: 40px; } }
.con-design .box-design .item-txt { line-height: 2; display: flex; flex-direction: column; gap: 1em; }
.con-design .box-design .button-secondary { margin-top: 80px; max-width: 300px; }
@media (max-width: 767px) { .con-design .box-design .button-secondary { margin-top: 45px; max-width: 240px; } }

/* ----------------------------------------------------------- .con-quality
----------------------------------------------------------- */
.con-quality { overflow: hidden; }
.con-quality .img-main { width: 100%; aspect-ratio: 9/4; overflow: hidden; }
@media (max-width: 767px) { .con-quality .img-main { aspect-ratio: 1/1; } }
.con-quality .img-main img { width: 100%; height: 100%; object-fit: cover; }
.con-quality .wrap-quality { padding: 160px 0; }
@media (min-width: 1025px) { .con-quality .wrap-quality .box-outline { display: flex; justify-content: space-between; } }
@media (min-width: 1025px) { .con-quality .wrap-quality .box-outline .title-primary { width: 45%; } }
@media (min-width: 768px) and (max-width: 1024px) { .con-quality .wrap-quality .box-outline .title-primary br { display: none; } }
@media (min-width: 1025px) { .con-quality .wrap-quality .box-outline .item-txt { width: 50%; margin-top: 120px; } }
@media (min-width: 768px) and (max-width: 1024px) { .con-quality .wrap-quality .box-outline .item-txt { margin-top: 64px; } }
@media (max-width: 767px) { .con-quality .wrap-quality .box-outline .item-txt { margin-top: 56px; } }
.con-quality .wrap-quality .box-outline .item-txt h3 { font-family: "Shippori Mincho", serif; font-weight: 500; font-style: normal; font-size: 3.2rem; line-height: 1.5; letter-spacing: 0.08em; margin-bottom: 24px; }
@media (max-width: 767px) { .con-quality .wrap-quality .box-outline .item-txt h3 { font-size: 2rem; } }
.con-quality .wrap-quality .box-outline .item-txt .txt { line-height: 2; }
.con-quality .wrap-quality .list-quality { display: flex; flex-wrap: wrap; gap: 24px 2.1%; margin-top: 80px; }
@media (max-width: 767px) { .con-quality .wrap-quality .list-quality { align-items: flex-start; margin-top: 56px; gap: 8px 2.1%; } }
.con-quality .wrap-quality .list-quality .item-quality { background-color: #fff; width: 31.9%; padding: 40px; }
@media (max-width: 1024px) { .con-quality .wrap-quality .list-quality .item-quality { width: 48.95%; }
  .con-quality .wrap-quality .list-quality .item-quality:first-child { width: 100%; } }
@media (min-width: 768px) and (max-width: 1024px) { .con-quality .wrap-quality .list-quality .item-quality { padding: 2.8vw; } }
@media (max-width: 767px) { .con-quality .wrap-quality .list-quality .item-quality { padding: 0; } }
@media (max-width: 767px) { .con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality { padding: 4vw; } }
.con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality h4 { text-align: center; font-family: "Shippori Mincho", serif; font-weight: 600; font-style: normal; color: #2E4282; letter-spacing: 0.14em; font-size: 2rem; margin-bottom: 24px; }
@media (max-width: 767px) { .con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality h4 { font-size: 1.5rem; letter-spacing: 0; margin-bottom: 8px; line-height: 1.5; } }
.con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality .quality { text-align: center; font-family: "Outfit", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-size: 3.6rem; line-height: 1; text-align: center; color: #2E4282; font-variant-numeric: tabular-nums; }
@media (max-width: 767px) { .con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality .quality { font-size: 1.6rem; } }
.con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality .quality em { display: inline-block; font-size: 6.4rem; }
@media (max-width: 767px) { .con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality .quality em { font-size: 3.4rem; } }
.con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality .quality .jp { font-family: "Zen Kaku Gothic New", sans-serif; font-weight: 500; font-style: normal; font-size: 2.2rem; }
@media (max-width: 767px) { .con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality .quality .jp { font-size: 2rem; }
  .con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality .quality .jp.view_sp { font-size: 1.4rem; letter-spacing: -0.08em; }
  .con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality .quality .jp.small { font-size: 1.7rem; } }
.con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality .other { background-color: #EBEBEB; text-align: center; font-size: 1.4rem; line-height: 1.5; padding: 5px; margin-top: 8px; }
@media (max-width: 767px) { .con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality .other { font-size: 1.2rem; margin-top: 16px; }
  .con-quality .wrap-quality .list-quality .item-quality .wrap-item-quality .other span { display: block; } }
.con-quality .wrap-quality .list-quality .item-quality .button-pulldown { display: flex; align-items: center; gap: 16px; border-top: 1px solid #DEDEDE; padding: 12px 0 12px 24px; position: relative; font-size: 1.4rem; line-height: 1.1; -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
.con-quality .wrap-quality .list-quality .item-quality .button-pulldown:before { content: ""; width: 8px; height: 16px; position: absolute; top: calc(50% - 8px); right: 16px; background-image: url(../images/common/icon-arrow-base.svg); background-position: center center; background-repeat: no-repeat; background-size: cover; transform: rotate(90deg); }
.con-quality .wrap-quality .list-quality .item-quality .button-pulldown:after { content: ""; width: 1px; height: calc(100% - 32px); position: absolute; top: 50%; right: 40px; transform: translate(0, -50%); border-left: 1px dashed #DEDEDE; }
.con-quality .wrap-quality .list-quality .item-quality .caption { margin-top: 32px; font-weight: 500; line-height: 1.5; font-size: 1.4rem; }
@media (max-width: 767px) { .con-quality .wrap-quality .list-quality .item-quality .caption { display: none; margin-top: 0; padding: 8px 24px 4vw; font-size: 1.2rem; } }
.con-quality .wrap-quality .list-quality .item-quality.active .button-pulldown:before { transform: rotate(-90deg); }
.con-quality .wrap-quality .button-secondary { max-width: 300px; margin: 64px auto 0; }
@media (max-width: 767px) { .con-quality .wrap-quality .button-secondary { margin-top: 40px; } }

/* ----------------------------------------------------------- .con-hint
----------------------------------------------------------- */
.con-hint { padding: 160px 0; width: 100%; overflow: hidden; }
.con-hint .box-outline { margin-bottom: 64px; }
@media (min-width: 768px) { .con-hint .box-outline { display: flex; justify-content: space-between; align-items: flex-end; } }
@media (max-width: 767px) { .con-hint .box-outline { margin-bottom: 56px; } }
@media (min-width: 768px) { .con-hint .box-outline .title-primary { width: 40%; } }
@media (max-width: 767px) { .con-hint .box-outline .title-primary { margin-bottom: 24px; } }
.con-hint .box-outline .txt-lead { line-height: 2; }
@media (min-width: 768px) { .con-hint .box-outline .txt-lead { width: 50%; } }
@media (max-width: 1024px) { .con-hint .box-outline .txt-lead br { display: none; } }
.con-hint .box-hint { width: 100%; overflow: hidden; display: flex; flex-direction: column; gap: 40px; }
@media (max-width: 767px) { .con-hint .box-hint { gap: 24px; } }
.con-hint .box-hint .hint-txt-slider { display: flex; align-items: center; gap: 64px; }
@media (max-width: 767px) { .con-hint .box-hint .hint-txt-slider { gap: 40px; } }
.con-hint .box-hint .hint-txt-slider .infiniteslide__item { width: auto; height: auto; }
.con-hint .box-hint .hint-txt-slider .infiniteslide__item a { display: inline-block; position: relative; padding-right: 48px; }
@media (min-width: 1025px) { .con-hint .box-hint .hint-txt-slider .infiniteslide__item a { -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
  .con-hint .box-hint .hint-txt-slider .infiniteslide__item a:hover { color: #2E4282; } }
@media (max-width: 767px) { .con-hint .box-hint .hint-txt-slider .infiniteslide__item a { padding-right: 24px; } }
.con-hint .box-hint .hint-txt-slider .infiniteslide__item a:before { content: ""; background-color: #2E4282; width: 24px; height: 24px; position: absolute; right: 0; top: 50%; transform: translate(0, -50%); -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; }
@media (max-width: 767px) { .con-hint .box-hint .hint-txt-slider .infiniteslide__item a:before { width: 16px; height: 16px; } }
.con-hint .box-hint .hint-txt-slider .infiniteslide__item a:after { content: ""; width: 8px; height: 16px; background: url(../images/common/icon-arrow-base-wh.svg) center center no-repeat; background-size: contain; position: absolute; right: 8px; top: 50%; transform: translate(0, -50%); -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; }
@media (max-width: 767px) { .con-hint .box-hint .hint-txt-slider .infiniteslide__item a:after { width: 5px; height: 10px; right: 5px; } }
.con-hint .box-hint .hint-txt-slider .infiniteslide__item a .wrap { font-family: "Shippori Mincho", serif; font-weight: 600; font-style: normal; line-height: 1; font-size: 4.8rem; padding-right: 16px; border-right: 1px dashed rgba(51, 51, 51, 0.5); }
@media (max-width: 767px) { .con-hint .box-hint .hint-txt-slider .infiniteslide__item a .wrap { font-size: 3.2rem; border-right: none; padding-right: 0; } }
.con-hint .wrap-button { margin-top: 80px; }
@media (max-width: 767px) { .con-hint .wrap-button { margin-top: 56px; } }
.con-hint .wrap-button .button-secondary { max-width: 300px; margin-left: auto; }
@media (max-width: 767px) { .con-hint .wrap-button .button-secondary { max-width: 240px; } }

/* ----------------------------------------------------------- .con-works
----------------------------------------------------------- */
.con-works { padding: 160px 0; overflow: hidden; }
.con-works .box-works { position: relative; }
.con-works .box-works .slider-works { overflow: visible; margin-top: 64px; }
@media (max-width: 767px) { .con-works .box-works .slider-works { margin-top: 56px; } }
.con-works .box-works .slider-works .swiper-wrapper .swiper-slide a { display: block; }
.con-works .box-works .slider-works .swiper-wrapper .swiper-slide a .thumb { width: 100%; aspect-ratio: 3/4; overflow: hidden; }
.con-works .box-works .slider-works .swiper-wrapper .swiper-slide a .thumb img { width: 100%; height: 100%; object-fit: cover; }
.con-works .box-works .slider-works .swiper-wrapper .swiper-slide a .box-detail { margin-top: 24px; }
.con-works .box-works .slider-works .swiper-wrapper .swiper-slide a .box-detail .year { font-family: "Outfit", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; line-height: 1; font-size: 1.5rem; color: #888; }
@media (max-width: 767px) { .con-works .box-works .slider-works .swiper-wrapper .swiper-slide a .box-detail .year { font-size: 1.2rem; } }
.con-works .box-works .slider-works .swiper-wrapper .swiper-slide a .box-detail .type { margin-top: 8px; font-size: 2rem; line-height: 1.5; font-weight: 500; }
@media (max-width: 767px) { .con-works .box-works .slider-works .swiper-wrapper .swiper-slide a .box-detail .type { font-size: 1.6rem; } }
.con-works .box-works .slider-works .swiper-wrapper .swiper-slide a .box-detail .number { margin-top: 24px; text-align: right; font-family: "Outfit", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; color: #888; font-size: 1.3rem; line-height: 1.5; letter-spacing: 0.08em; }
@media (max-width: 767px) { .con-works .box-works .slider-works .swiper-wrapper .swiper-slide a .box-detail .number { font-size: 1.1rem; } }
.con-works .box-works .slider-works .swiper-controller { display: flex; justify-content: space-between; align-items: center; gap: 0 3.2%; margin-top: 80px; }
@media (max-width: 767px) { .con-works .box-works .slider-works .swiper-controller { gap: 0; margin-top: 40px; } }
.con-works .box-works .slider-works .swiper-controller .swiper-scrollbar { width: calc(100% - 169px); position: static; background-color: rgba(45, 45, 45, 0.2); }
@media (max-width: 767px) { .con-works .box-works .slider-works .swiper-controller .swiper-scrollbar { width: 100%; } }
.con-works .box-works .slider-works .swiper-controller .swiper-scrollbar .swiper-scrollbar-drag { background: rgba(45, 45, 45, 0.5); }
.con-works .box-works .slider-works .swiper-controller .swiper-button { display: flex; justify-content: space-between; align-items: center; }
@media (max-width: 767px) { .con-works .box-works .slider-works .swiper-controller .swiper-button { display: none; } }
.con-works .box-works .slider-works .swiper-controller .swiper-button .swiper-button-prev, .con-works .box-works .slider-works .swiper-controller .swiper-button .swiper-button-next { width: 66px; aspect-ratio: 1/0.796; position: static; padding-left: 32px; margin-top: 0; height: auto; }
.con-works .box-works .slider-works .swiper-controller .swiper-button .swiper-button-prev:after, .con-works .box-works .slider-works .swiper-controller .swiper-button .swiper-button-next:after { display: none; }
.con-works .box-works .slider-works .swiper-controller .swiper-button .swiper-button-prev { transform: scale(-1, 1); }
.con-works .box-works .slider-works .swiper-controller .swiper-button .swiper-button-next { border-left: 1px dashed rgba(51, 51, 51, 0.5); }
.con-works .box-works .button-secondary { width: 300px; position: absolute; top: 64px; right: 0; }
@media (max-width: 767px) { .con-works .box-works .button-secondary { position: static; margin: 56px auto 0; max-width: 240px; width: auto; } }

/* ----------------------------------------------------------- .con-news
----------------------------------------------------------- */
.con-news { padding: 160px 0; }
@media (min-width: 1025px) { .con-news { display: grid; grid-template-columns: 1fr 64.3%; grid-template-rows: repeat(2, auto); grid-column-gap: 0px; grid-row-gap: 0px; } }
@media (min-width: 1025px) { .con-news .title-primary { grid-area: 1 / 1 / 2 / 2; } }
@media (max-width: 1024px) { .con-news .title-primary { margin-bottom: 40px; } }
.con-news .list-news { grid-area: 1 / 2 / 3 / 3; display: flex; flex-direction: column; gap: 16px; }
.con-news .list-news .item-news a { display: block; background-color: rgba(255, 255, 255, 0.3); border-radius: 4px; border: 1px solid #fff; box-shadow: 0 4px 20px 8px rgba(204, 204, 204, 0.5); padding: 40px; position: relative; }
@media (max-width: 767px) { .con-news .list-news .item-news a { padding: 32px 24px; } }
.con-news .list-news .item-news a:after { content: ""; position: absolute; right: 0; bottom: 16px; background: url(../images/common/icon-arrow-base.svg) center center no-repeat; background-size: 8px 16px; border-left: 1px dashed rgba(51, 51, 51, 0.5); width: 38px; height: 16px; }
@media (min-width: 1025px) { .con-news .list-news .item-news a { -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
  .con-news .list-news .item-news a:hover { border: 1px solid #DEDEDE; box-shadow: none; } }
.con-news .list-news .item-news a .date { font-family: "Outfit", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; color: #888; font-size: 1.5rem; line-height: 1; margin-bottom: 8px; }
@media (max-width: 767px) { .con-news .list-news .item-news a .date { font-size: 1.3rem; } }
.con-news .list-news .item-news a .title { line-height: 1.5; font-weight: 500; font-size: 2rem; }
@media (max-width: 767px) { .con-news .list-news .item-news a .title { font-size: 1.6rem; } }
@media (min-width: 1025px) { .con-news .button-secondary { grid-area: 2 / 1 / 3 / 2; margin-top: 80px; max-width: 240px; } }
@media (min-width: 768px) and (max-width: 1024px) { .con-news .button-secondary { max-width: 300px; margin-left: auto; margin-top: 48px; } }
@media (max-width: 767px) { .con-news .button-secondary { max-width: 240px; margin: 40px auto 0; } }

/* ----------------------------------------------------------- .con-short
----------------------------------------------------------- */
.con-short { padding: 160px 0 240px; width: 100%; overflow: hidden; }
.con-short .box-outline { margin-bottom: 48px; }
.con-short .box-short { position: relative; }
.con-short .button-secondary { max-width: 300px; margin: 80px auto 0; }
@media (max-width: 767px) { .con-short .button-secondary { margin-top: 64px; } }
