/*
Theme Name: STAGEON Inc.
Theme URI: https://stageon.jp/
Author: STAGEON Inc.
Author URI: https://stageon.jp/
Description: STAGEON Inc.
*/

html {
  scroll-padding-top: 72px;
  font-size: 62.5%;
}

@media screen and (min-width: 769px) {
  html {
    scroll-padding-top: 102px;
  }
}

body {
  width: 100%;
  height: 100%;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'ＭＳ Ｐゴシック', 'MS P Gothic', Osaka, Arial, Helvetica, Verdana, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 400;
  color: #000;
}

*,
*:before,
*:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

img { height: auto; max-width: 100%; border: none; vertical-align: top; }
strong { font-weight: 500; }
iframe { max-width: 100%; }
picture { display: block; position: relative; width: 100%; }

/* utility
------------------------------------------------ */
/* device */
.u-device-click a:hover { text-decoration: none; }

/* font */
.u-f-Figtree { font-family: 'Figtree', sans-serif; font-optical-sizing: auto; font-weight: 600; }

/* reset */
.u-r-lists { margin: 0; padding: 0; list-style: none; }
.u-r-btn,
.wpcf7-submit,
.wpcf7-previous { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; padding: 0; background: none; border: none; border-radius: 0; box-shadow: none; text-align: left; font-family: inherit; cursor: pointer; }

/* decoration */
.u-td-underline { text-decoration: underline; }

@media screen and (max-width: 768px) {
  /* display */
  .u-d-mobile { display: inherit !important; }
  span.u-d-mobile { display: inline !important; }
  .u-d-desktop { display: none !important; }
}

@media screen and (min-width: 769px) {
  /* display */
  .u-d-mobile { display: none !important; }
  .u-d-desktop { display: inherit !important; }
  span.u-d-desktop { display: inline !important; }
}

/* object fit */
.u-object-fit { width: 100%; height: 100%; max-width: inherit; object-fit: cover; font-family: 'object-fit: cover;'; }

/* container
------------------------------------------------ */
.l-container { position: relative; }
.l-main { position: relative; padding: 40px 0 60px; }
.l-wrap { position: relative; }

@media screen and (min-width: 769px) {
  .l-main { padding: 100px 0 130px; }
  .l-wrap { margin: 0 auto; padding: 0 20px; max-width: 1120px; }
}

/* component
------------------------------------------------ */
/* link */
.link-skipcontent { position: absolute; margin: -1px; width: 1px; height: 1px; overflow: hidden; }

/* title */
.title-1 { display: flex; align-items: center; position: relative; margin: 0; font-family: 'Figtree', sans-serif; font-size: 2rem; font-weight: 600; line-height: 1.2; }
.title-1::before { content: ''; margin-right: 12px; width: 16px; height: 22px; background: url(./_assets/img/icon/deco1.svg) no-repeat center center; background-size: 100% 100%; }
.title-1.is-c-white { color: #fff; }
.title-1.is-c-white::before { background-image: url(./_assets/img/icon/deco1-white.svg); }

@media screen and (min-width: 769px) {
  .title-1 { font-size: 1.6rem; }
  .title-1::before { margin-right: 12px; width: 14px; height: 19px; }
}

/* topicpath */
.topicpath { display: flex; }
.topicpath-item { font-family: 'Figtree', sans-serif; font-size: 1.4rem; font-weight: 600; line-height: 1.2; }
.topicpath-item > a { text-decoration: none; color: #B1B1B1; }
.topicpath-item > a::after { content: '/'; padding: 0 0.4em; }

@media screen and (min-width: 769px) {
  .topicpath-item { font-size: 1.6rem; }
}

/* page */
.page-above { position: relative; margin-bottom: 56px; }
.page-en { margin: 0 0 4px; font-family: 'Figtree', sans-serif; font-size: 5.6rem; font-weight: 600; letter-spacing: -0.01em; line-height: 1.2; }
.page-title { margin: 0; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.2; }
.page-above .topicpath { justify-content: flex-end; width: 100%; }
.page-thanks { position: relative; margin-bottom: 44px; }
.page-thanks-en { margin: 0 0 2px; font-family: 'Figtree', sans-serif; font-size: 5.5rem; font-weight: 600; letter-spacing: -0.01em; line-height: 1.2; }
.page-thanks-text { margin: 0; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; line-height: 2; }
.page-tab { position: relative; margin-bottom: 56px; }
.page-tab-lists__item { font-size: 1.4rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.2; }
.page-tab-lists__item > a { display: block; position: relative; padding: 10px 6px; text-decoration: none; color: #000; }

@media screen and (max-width: 768px) {
  .page-above > .l-wrap { padding: 0 40px; }
  .page-title + .topicpath { margin-top: 16px; }
  .page-thanks > .l-wrap { padding: 0 40px; }
  .page-thanks-en { text-align: center; }
  .page-tab > .l-wrap { padding: 0 40px; }
  .page-tab-lists { display: grid; grid-column-gap: 16px; grid-template-columns: repeat(2, calc(50% - 8px)); }
  .page-tab-lists__item { border-bottom: 1px solid #D9D9D9; }
  .page-tab-lists__item:nth-of-type(-n+2) { border-top: 1px solid #D9D9D9; }
  .page-tab-lists__item > a { display: flex; align-items: center; min-height: 68px; }
  .page-tab-lists__item > a:after { content: ''; position: absolute; top: 50%; right: 12px; transform: translateY(-50%); width: 0; height: 0; border: 6px solid transparent; border-top: 11px solid #000; border-bottom: none; }
}

@media screen and (max-width: 430px) {
  .page-en { font-size: 13.023255814vw; }
  .page-title { font-size: 3.72093023256vw; }
}

@media screen and (min-width: 769px) {
  .page-above { margin-bottom: 96px; }
  .page-above > .l-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; }
  .page-above .page-en { width: 100%; }
  .page-above .page-title { padding-bottom: 2px; }
  .page-above .page-title + .topicpath { width: auto; }
  .page-en { margin-bottom: 2px; font-size: 12rem; }
  .page-title { font-size: 1.6rem; }
  .page-thanks { margin-bottom: 90px; }
  .page-thanks-en { margin-bottom: 10px; font-size: 12rem; }
  .page-thanks-text { font-size: 2rem; }
  .page-tab { margin-bottom: 86px; }
  .page-tab-lists { display: flex; flex-wrap: wrap; margin: -16px 0 0 -16px; }
  .page-tab-lists__item { margin: 16px 0 0 16px; font-size: 1.5rem; font-weight: 500; }
  .page-tab-lists__item > a { padding: 10px 25px; border: 1px solid #000; border-radius: 20px; }
  .u-device-click .page-tab-lists__item > a { transition: 0.4s ease; }
  .page-tab-lists__item > a.is-active,
  .u-device-click .page-tab-lists__item > a:hover { background-color: #000; border-color: #fff; color: #fff; }
}

/* button */
.btn-1,
.form-submit-btn { display: flex; align-items: center; position: relative; padding-left: 34px; width: 172px; height: 44px; background-color: #000; border: 1px solid #000; border-radius: 25px; text-align: center; text-decoration: none; vertical-align: top; font-family: 'Figtree', 'Noto Sans JP', sans-serif; font-size: 1.53rem; font-weight: 600; line-height: 1.2; color: #fff; overflow: hidden; cursor: pointer; z-index: 1; }
.btn-1 > span { display: inline-block; position: relative; vertical-align: top; z-index: 1; }
.btn-1::after,
.form-submit-btn::after { content: ''; pointer-events: none; position: absolute; top: 50%; right: 22px; transform: translateY(-50%); width: 7px; height: 7px; background-color: #fff; border-radius: 50%; z-index: -1; }

.btn-1.is-bg-white { background-color: #fff; color: #000; }
.btn-1.is-bg-white::after { background-color: #000; }
.btn-1.is-bd-white { border-color: #fff; }
.btn-1.is-bd-none { border: none; }

.form-submit { margin-top: 52px; position: relative; }
.form-submit-btn { position: relative; margin: 0 auto; padding-left: 0; width: 190px; cursor: pointer; }
.form-submit-btn .wpcf7-submit,
.form-submit-btn .wpcf7-previous { position: relative; width: 100%; height: 100%; text-align: center; font-family: 'Figtree', 'Noto Sans JP', sans-serif; font-size: 1.7rem; font-weight: 600; line-height: 1.2; color: #fff; z-index: 1; }
.form-submit-btn .wpcf7-spinner { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); margin: 0; z-index: 3; }
.form-submit-btn.is-back { background-color: #fff; border-color: #000; }
.form-submit-btn.is-back::after { background-color: #000; }
.form-submit-btn .wpcf7-previous { color: #000; }

.u-device-click .btn-1,
.u-device-click .form-submit-btn .wpcf7-submit,
.u-device-click .form-submit-btn .wpcf7-previous { transition: background-color 0s linear 0.4s, color 0.4s ease; }
.u-device-click .btn-1::after,
.u-device-click .form-submit-btn::after { transition-delay: 0.2s; transition: transform 0.6s ease; }
.u-device-click .btn-1:hover,
.u-device-click .form-submit-btn:hover .wpcf7-submit { background-color: #fff; color: #000; }
.u-device-click .btn-1.is-bg-white:hover,
.u-device-click .form-submit-btn:hover .wpcf7-previous { background-color: #000; color: #fff; }
.u-device-click .btn-1:hover::after,
.u-device-click .form-submit-btn:hover::after { transform: translateY(-50%) scale(66,40); }

.u-device-click .btn-1:not(:hover) { transition: none !important; background-color: #000 !important; }
.u-device-click .btn-1.is-bg-white:not(:hover) { background-color: #fff !important; }

.btn-play-movie { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; z-index: 2; }
.btn-play-movie img { position: relative; z-index: 1; }
.btn-play-movie::before,
.btn-play-movie::after { content: ''; position: absolute; }
.btn-play-movie::before { top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(100,100,100,0.6); z-index: 2; }
.btn-play-movie::after { top: 50%; left: 50%; transform: translate(-50%,-50%); width: 0; height: 0; border: 10px solid transparent; border-right: none; border-left: 20px solid #fff; z-index: 3; }

@media screen and (min-width: 769px) {
  .btn-1,
  .form-submit-btn { padding-left: 25px; width: 152px; height: 42px; font-size: 1.4rem; }
  .btn-1::after,
  .form-submit-btn::after { right: 20px; width: 4px; height: 4px; }
  .form-submit { margin-top: 72px; padding-left: 0; }
  .form-submit-btn { padding-left: 0; width: 208px; }
  .form-submit-btn .wpcf7-submit,
  .form-submit-btn .wpcf7-previous { font-size: 1.4rem; }
  .u-device-click .form-submit-btn:hover::after { transform: translateY(-50%) scale(96,70); }
  .btn-play-movie::after { border-width: 22px; border-left-width: 44px; }
}

/* banner */
.bnr-recruit > a,
.bnr-recruit > span { display: block; position: relative; text-decoration: none; color: #000; }
.bnr-recruit-content { position: relative; border-radius: 20px; overflow: hidden; }
.bnr-recruit-photo { position: relative; aspect-ratio: 1 / 0.754285714286; overflow: hidden; }
.bnr-recruit-title { margin: 0 0 4px; font-family: 'Figtree', sans-serif; font-size: 5.6rem; font-weight: 600; line-height: 1.2; }
.bnr-recruit-text { margin: 0; font-size: 1.6rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.875; }
.bnr-recruit-btn { margin: 20px 0 0; text-align: center; }
.bnr-recruit-btn > span { display: inline-block; position: relative; padding-right: 28px; vertical-align: top; font-family: 'Figtree', sans-serif; font-size: 1.6rem; font-weight: 600; line-height: 1.2; }
.bnr-recruit-btn > span::after { content: ''; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 6px; height: 6px; background-color: #000; border-radius: 50%; }
.bnr-recruit-deco { pointer-events: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.bnr-recruit-deco i { position: absolute; }
.bnr-recruit-deco i:nth-of-type(1) { top: -3.23886639676%; left: 64.5714285714%; width: 12.5714285714%; }
.bnr-recruit-deco i:nth-of-type(2) { top: 66.8016194332%; left: 90.8571428571%; width: 14.2857142857%; }
.bnr-recruit-deco i:nth-of-type(3) { top: 77.7327935223%; left: -5.71428571429%; width: 24.9%; }
.bnr-recruit-deco i:nth-of-type(4) { top: 27.4747474747%; left: -4%; width: 26.8571428571%; }
.bnr-recruit-arrow { display: none; }
.bnr-works { position: relative; margin-top: 100px; aspect-ratio: 1 / 0.658139534884; overflow: hidden; }
.bnr-works-info { display: flex; flex-flow: column; justify-content: center; align-items: center; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); z-index: 2; }
.bnr-works-title { margin: 0; text-align: center; font-family: 'Figtree', sans-serif; font-size: 5.6rem; font-weight: 600; line-height: 1.2; color: #fff; }
.bnr-works-btn { margin: 18px 0 0; }
.bnr-works-gallery { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.bnr-works-slide__item { position: relative; aspect-ratio: 1 / 0.565853658537; overflow: hidden; }

.u-device-click .bnr-recruit-photo img { transition: transform 0.4s ease; }
.u-device-click .bnr-recruit > a:hover .bnr-recruit-photo img { transform: scale(1.1); }

.u-device-click .bnr-recruit-content { pointer-events: none; }
.u-device-click .bnr-recruit-arrow { display: block; pointer-events: none; position: absolute; top: 0; left: 0; transition: opacity 0.4s ease 0.2s; aspect-ratio: 1 / 1; width: 5.28846153846%; background: url(./_assets/img/banner/recuit1_arrow.svg) no-repeat center center; background-size: 100%; opacity: 0; }
.u-device-click .bnr-recruit > a:hover .bnr-recruit-arrow { opacity: 1; }

@media screen and (max-width: 768px) {
  .bnr-recruit { margin: 90px 40px 0; }
  .bnr-recruit-content { background: url(./_assets/img/banner/recuit1_bg.webp) no-repeat center bottom; background-size: 100%; }
  .bnr-recruit-info { padding: 38px 0 48px; text-align: center; }
  .bnr-recruit-deco i:nth-of-type(3) { transform: rotate(82.04deg); }
}

@media screen and (min-width: 769px) {
  .bnr-recruit { margin-top: 140px; }
  .bnr-recruit-content { display: flex; flex-flow: row-reverse; align-items: center; background: url(./_assets/img/banner/recuit1_bg-desktop.webp) no-repeat center center; background-size: cover; }
  .bnr-recruit-photo { width: 44.3269230769%; }
  .bnr-recruit-info { padding-left: 77px; width: calc(100% - 44.3269230769%); }
  .bnr-recruit-title { margin-bottom: -2px; font-size: 10rem; }
  .bnr-recruit-text { font-size: 1.6rem; }
  .bnr-recruit-btn { display: none; }
  .bnr-recruit-deco i:nth-of-type(1) { top: -4%; left: 38.2692307692%; width: 5.38461538462%; }
  .bnr-recruit-deco i:nth-of-type(2) { top: 59.1954022989%; left: -3%; width: 6.73076923077%; }
  .bnr-recruit-deco i:nth-of-type(3) { top: 63.6887608069%; left: 39.364773821%; width: 9.33589990375%; }
  .bnr-recruit-deco i:nth-of-type(4) { top: 46.5517241379%; left: 53.3653846154%; width: 11.5384615385%; }

  .bnr-works { margin-top: 150px; aspect-ratio: 1 / 0.33828125; }
  .bnr-works-title { font-size: 10rem; }
  .bnr-works-btn { margin-top: 42px; }
}

@media screen and (min-width: 769px) and (max-width: 1040px) {
  .bnr-recruit-info { padding-left: 7.40384615385vw; }
  .bnr-recruit-title { margin-bottom: -0.1923076923vw; font-size: 9.61538461538vw; }
  .bnr-recruit-text { font-size: 1.53846153846vw; }
}

/* splide */
.splide__pagination li { margin: 0 7px; width: 6px; height: 6px; }
.splide__pagination__page { margin: 0; width: 100%; height: 100%; background-color: #D9D9D9; opacity: 1; }
.splide__pagination__page.is-active { transform: none; background-color: #000; }

/* lists */
.lists-column-item > a:not(.post-edit-link) { display: block; position: relative; text-decoration: none; }
.lists-column-photo { position: relative; aspect-ratio: 1 / 0.718654434251; margin-bottom: 20px; border-radius: 20px; overflow: hidden; }
.lists-column-title { margin: 0; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.8125; color: #000; }
.lists-column-below { margin-top: 14px; }
.lists-column-introduce { display: flex; }
.lists-column-introduce:not(:first-child) { margin-top: 8px; }
.lists-column-post,
.lists-column-name { margin: 0; font-size: 1.2rem; letter-spacing: 0.1em; line-height: 1.5; color: #8D8D8D; }
.lists-column-post { padding-right: 20px; }
.lists-download-item { position: relative; padding: 30px; background-color: #fff; border-radius: 20px; }
.lists-download-item .post-edit-link { position: absolute; top: 0; left: 0; }
.lists-download-photo {position: relative; aspect-ratio: 1 / 1.28048780488; }
.lists-download-photo img { box-shadow: 3px 3px 10px rgba(0,0,0,0.25); }
.lists-download-title { margin: 0; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.5; }
.lists-download-subtitle { margin: 0; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.07em; line-height: 1.66666666667; }
.lists-download-text { margin: 18px 0 0; font-size: 1.2rem; letter-spacing: 0.1em; line-height: 1.66666666667; }
.lists-news-item { position: relative; border-bottom: 1px solid #D9D9D9; }
.lists-news-item > a:not(.post-edit-link) { display: block; position: relative; padding: 20px 8px; text-decoration: none; }
.lists-news-date { margin: 0; font-family: 'Figtree', sans-serif; font-size: 1.6rem; font-weight: 500; line-height: 1.2; color: #8D8D8D; }
.lists-news-title { margin: 0; word-break: break-all; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.71428571429; color: #000; }
.lists-news-arrow { display: none; }
.lists-news2-item { background-color: #fff; border-radius: 20px; }
.lists-news2-item > a:not(.post-edit-link) { display: block; padding: 20px 20px 26px; text-decoration: none; color: #000; }
.lists-news2-photo { position: relative; aspect-ratio: 1 / 0.561290322581; border-radius: 10px; overflow: hidden; }
.lists-news2-categories { display: flex; flex-wrap: wrap; margin-bottom: 16px; }
.lists-news2-categories span { display: flex; align-items: center; font-family: 'Figtree', sans-serif; font-size: 1.3rem; font-weight: 600; letter-spacing: 0.1em; line-height: 1.2; }
.lists-news2-categories span i { margin-right: 6px; width: 8px; height: 8px; border-radius: 50%; }
.lists-news2-title { margin: 0; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.625; }
.lists-news2-date { margin: 12px 0 0; font-family: 'Figtree', sans-serif; font-size: 1.4rem; font-weight: 500; color: #8D8D8D; }
.lists-work-item { position: relative; }
.lists-work-item .post-edit-link { position: absolute; top: 40px; left: 40px; color: #fff; z-index: 2; }
.lists-work-item > a:not(.post-edit-link),
.lists-work-item > span { display: block; padding: 20px 20px 30px; border-radius: 20px; }
.lists-work-item > a:not(.post-edit-link) { background-color: #000; text-decoration: none; color: #fff; }
.lists-work-interview { position: absolute; top: 16px; left: 0; margin: 0; padding: 5px 20px; background-color: #D2FF56; font-family: 'Figtree', sans-serif; font-size: 1.4rem; font-weight: 600; line-height: 1.2; color: #000; z-index: 2; }
.lists-work-photo { position: relative; aspect-ratio: 1 / 0.561290322581; border-radius: 10px; overflow: hidden; }
.lists-work-company { margin: 0 0 6px; font-size: 1.8rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.44444444444; }
.lists-work-title { position: relative; margin: 0; padding-left: 24px; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.71428571429; }
.lists-work-title::before { content: ''; position: absolute; top: 7px; left: 0; width: 19px; height: 13px; background: url(./_assets/img/icon/sns_youtube1-white.svg) no-repeat center center; background-size: 100% 100%; }
.lists-work-copy { margin: 22px 0 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 2.14285714286; }
.lists-work-categories { display: flex; flex-wrap: wrap; margin: 10px 0 0 -8px; }
.lists-work-categories span { margin: 8px 0 0 8px; padding: 4px 15px; background-color: #fff; border-radius: 20px; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.2; color: #000; }
.lists-work-more { margin: 16px 0 0; text-align: right; font-family: 'Figtree', sans-serif; font-size: 1.4rem; font-weight: 600; line-height: 1.2; color: #D2FF56; }

.lists-work-item > span { background-color: #fff; }
.lists-work-item > span .lists-work-title::before { background-image: url(./_assets/img/icon/sns_youtube1.svg); }
.lists-work-item > span .lists-work-categories span { background-color: #000; color: #fff; }

.u-device-click .lists-column-photo img { transition: transform 0.4s ease; }
.u-device-click .lists-column-item > a:hover .lists-column-photo img { transform: scale(1.1); }
.u-device-click .lists-news-item > a::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.u-device-click .lists-news-arrow { display: block; pointer-events: none; position: absolute; top: 0; left: 0; transition: opacity 0.4s ease 0.2s; width: 47px; height: 47px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center #000; background-size: 12px 12px; border-radius: 50%; opacity: 0; }
.u-device-click .lists-news-item > a:hover .lists-news-arrow { opacity: 1; }
.u-device-click .lists-news2-photo img { transition: transform 0.4s ease; }
.u-device-click .lists-news2-item > a:hover .lists-news2-photo img { transform: scale(1.1); }
.u-device-click .lists-work-photo img { transition: transform 0.4s ease; }
.u-device-click .lists-work-item > a:hover .lists-work-photo img { transform: scale(1.1); }

@media screen and (max-width: 768px) {
  .lists-column[data-column-mobile='1'] .lists-column-item:not(:first-child) { margin-top: 32px; }

  .lists-download-item { display: flex; flex-wrap: wrap; align-items: center; }
  .lists-download-photo { width: 48.9655172414%; }
  .lists-download-above { width: 100%; }
  .lists-download-photo + .lists-download-above { margin-left: 20px; width: calc(100% - (48.9655172414% + 20px)); }
  .lists-download-btns { margin-top: 20px; width: 100%; }
  .lists-download-btns__item:not(:first-child) { margin-top: 10px; }
  .lists-download-btns__item > .btn-1 { justify-content: center; padding-left: 0; width: 100%; height: 40px; font-size: 1.4rem; }
  .lists-download-btns__item > .btn-1::after { right: 18px; width: 6px; height: 6px; }
  .lists-download[data-column-mobile='1'] .lists-download-item:not(:first-child) { margin-top: 30px; }

  .lists-news-arrow { display: none !important; }
  .lists-news-date { margin-bottom: 10px; }
  .lists-news2-photo { margin-bottom: 28px; }
  .lists-news2[data-column-mobile='1'] .lists-news2-item:not(:first-child) { margin-top: 30px; }

  .lists-work-photo { margin-bottom: 24px; }
  .lists-work[data-column-mobile='1'] .lists-work-item:not(:first-child) { margin-top: 30px; }
}

@media screen and (min-width: 769px) {
  .lists-column-title { font-size: 1.6rem; }
  .lists-column-below { margin-top: 18px; }
  .lists-column-introduce:not(:first-child) { margin-top: 10px; }
  .lists-column-post,
  .lists-column-name { font-size: 1.4rem; }
  
  .lists-column[data-column-desktop='3'] { display: grid; grid-row-gap: 50px; grid-column-gap: 50px; grid-template-columns: repeat(3, calc((100% / 3) - (50px / (3 / 2)))); }

  .lists-download-item { display: grid; gap: 0; grid-row: span 3; grid-template-rows: subgrid; margin-top: 34.1463414634%; padding: 0 0 40px; border-radius: 20px; }
  .lists-download-photo { position: absolute; top: 0; left: 50%; transform: translateX(-50%); margin-top: -34.1463414634%; width: 50%; }
  .lists-download-above { display: grid; align-items: center; grid-row-gap: 6px; padding: calc(29.8780487805% + 30px) 38px 0; }
  .lists-download-title { text-align: center; font-size: 2rem; }
  .lists-download-subtitle { text-align: center; font-size: 1.1rem; }
  .lists-download-text { margin-top: 20px; padding: 0 38px; font-size: 1.4rem; }
  .lists-download-btns { display: flex; justify-content: center; margin-top: 36px; padding: 0 15px; }
  .lists-download-btns__item { width: calc(50% - 5px); }
  .lists-download-btns__item:not(:first-child) { margin-left: 10px; }
  .lists-download-btns__item > .btn-1 { margin: 0 auto; width: 100%; }

  .lists-download[data-column-desktop='3'] { display: grid; grid-row-gap: 22px; grid-column-gap: 22px; grid-template-columns: repeat(3, calc((100% / 3) - (22px / (3 / 2)))); }

  .lists-news-item > a:not(.post-edit-link) { display: flex; align-items: flex-start; padding: 26px 2px; }
  .lists-news-date { padding-top: 5px; width: 138px; font-size: 1.6rem; }
  .lists-news-title { width: calc(100% - 138px); font-size: 1.6rem; }
  .lists-news2-item > a:not(.post-edit-link) { display: flex; align-items: center; padding: 20px; }
  .lists-news2-photo { width: 38.5542168675%; }
  .lists-news2-info { margin-left: 38px; width: calc(100% - (38.5542168675% + 38px)); }
  .lists-news2-categories { margin-bottom: 14px; }
  .lists-news2-categories span { font-size: 1.3rem; }
  .lists-news2-title { font-size: 1.6rem; }
  .lists-news2-date { margin-top: 14px; font-size: 1.4rem; }
  .lists-news2[data-column-desktop='1'] .lists-news2-item:not(:first-child) { margin-top: 28px; }

  .lists-work-item > a:not(.post-edit-link),
  .lists-work-item > span { display: flex; align-items: center; padding: 20px; }
  .lists-work-interview { top: 16px; font-size: 1.4rem; }
  .lists-work-photo { width: 52.2696011004%; }
  .lists-work-info { margin-left: 35px; width: calc(100% - (52.2696011004% + 35px)); }
  .lists-work-company { margin-bottom: 6px; font-size: 1.8rem; }
  .lists-work-title { font-size: 1.4rem; }
  .lists-work-copy { margin-top: 16px; font-size: 1.4rem; }
  .lists-work-categories { margin-top: 6px; }
  .lists-work-categories span { padding: 4px 12px; font-size: 1.3rem; }
  .lists-work-more { font-size: 1.4rem; }

  .lists-work[data-column-desktop='1'] .lists-work-item:not(:first-child) { margin-top: 28px; }
}

@media screen and (min-width: 769px) and (max-width: 1000px) {
  .lists-download-btns { display: block; }
  .lists-download-btns__item { width: 100%; }
  .lists-download-btns__item:not(:first-child) { margin: 10px 0 0; }
  .lists-download-btns__item > .btn-1 { width: 152px; }
}

/* navigation */
.nav-category-lists__item { font-family: 'Figtree', 'Noto Sans JP', sans-serif; font-size: 1.8rem; font-weight: 600; line-height: 1.2; }
.nav-category-lists__item > a { position: relative; text-decoration: none; color: #A3A3A3; }
.nav-category-lists__item > a.is-active { color: #000; }
.nav-tag-title { margin: 0 0 20px; font-size: 1.8rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.2; }
.nav-tag-links { display: flex; flex-wrap: wrap; margin: -16px 0 0 -8px; }
.nav-tag-links a { margin: 16px 0 0 8px; padding: 8px 16px; background-color: #fff; border-radius: 20px; text-decoration: none; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.2; color: #000; }
.nav-box { margin: 0; }
.nav-box:not(:first-child) { margin-top: 40px; padding-top: 40px; border-top: 1px solid #D9D9D9; }
.nav-box-title { margin-bottom: 20px; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.2; }
.nav-box-text { margin: 0; font-size: 1.2rem; letter-spacing: 0.1em; line-height: 1.66666666667; }
.nav-modal-trigger { margin: 0; }
.nav-modal { pointer-events: none; position: fixed; top: 0; left: 0; transition: opacity 0.4s ease; width: 100%; height: 100%; z-index: 20; opacity: 0; }
.nav-modal[aria-hidden=false] { pointer-events: inherit; opacity: 1; }
.nav-modal-content { position: absolute; top: 50%; left: 40px; transform: translateY(-50%); padding: 54px 44px 40px; width: calc(100% - 80px); max-height: calc(100dvh - 80px); background-color: #F5F5F5; border-radius: 20px; overflow-y: auto; z-index: 2; }
.nav-modal-close { position: absolute; top: 32px; right: 24px; width: 23px; height: 23px; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.nav-modal-close::before,
.nav-modal-close::after { content: ''; position: absolute; top: 50%; left: -2px; width: 28px; height: 2px; background-color: #000; }
.nav-modal-close::before { transform: rotate(45deg); }
.nav-modal-close::after { transform: rotate(-45deg); }
.nav-modal-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.78); text-indent: -9999px; white-space: nowrap; overflow: hidden; z-index: 1; }

.u-device-click .nav-modal-trigger > .btn-1:hover::after { transform: translateY(-50%) scale(106,80); }
.u-device-click .nav-tag-links a { transition: background-color 0.4s ease, color 0.4s ease; }
.nav-tag-links a.is-active,
.u-device-click .nav-tag-links a:hover { background-color: #000; color: #fff; }

@media screen and (max-width: 768px) {
  .nav-category-lists { display: grid; grid-column-gap: 16px; grid-template-columns: repeat(2, calc(50% - 8px)); }
  .nav-category-lists__item { border-bottom: 1px solid #D9D9D9; }
  .nav-category-lists__item > a { display: flex; align-items: center; padding: 10px 6px; min-height: 62px; }
  .nav-category-lists__item > a:after { content: ''; position: absolute; top: 50%; right: 12px; transform: translateY(-50%); width: 0; height: 0; border: 6px solid transparent; border-top: 10px solid #000; border-bottom: none; }
  .nav-modal-trigger > .btn-1 { width: 100%; height: 44px; font-size: 1.4rem; }
  .nav-modal-trigger > .btn-1::after { width: 5px; height: 5px; }
}

@media screen and (min-width: 769px) {
  .nav-category-lists__item { font-size: 1.8rem; }
  .nav-category-lists__item:not(:first-child) { margin-top: 20px; }
  .nav-category-lists__item > a { display: inline-block; vertical-align: top; }
  .nav-tag { padding: 0 10px; }
  .nav-tag-title { margin-bottom: 30px; font-size: 2rem; }
  .nav-tag-links { margin: -14px 0 0 -10px; }
  .nav-tag-links a { margin: 14px 0 0 10px; padding: 8px 12px; font-size: 1.3rem; }
  .nav-box { padding: 0 10px; }
  .nav-box:not(:first-child) { margin-top: 50px; padding-top: 50px; }
  .nav-box-title { margin-bottom: 22px; font-size: 1.6rem; }
  .nav-box-text { font-size: 1.2rem; line-height: 2.25; }
  .nav-modal-content { left: 50%; transform: translate(-50%,-50%); padding: 70px 90px; max-width: 1120px; }
  .nav-modal-trigger > .btn-1 { width: 221px; }
  .nav-modal-close { top: 26px; right: 26px; }
}

/* pagination */
.pagination { display: flex; justify-content: center; align-items: center; margin-top: 70px; }
.pagination a,
.pagination span { display: inline-block; position: relative; margin: 0 15px; vertical-align: top; font-family: 'Figtree', sans-serif; font-size: 2.4rem; font-weight: 600; line-height: 1.2; }
.pagination a { text-decoration: none; }
.pagination .is-link { color: #D9D9D9; }
.pagination .is-ellipses { width: 15px; height: 100%; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.pagination .is-ellipses::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(./_assets/img/icon/ellipses1.svg) no-repeat center center; background-size: 100%; }

@media screen and (min-width: 769px) {
  .pagination { margin-top: 120px; }
  .pagination a,
  .pagination span { font-size: 2rem; }
  .pagination .is-ellipses { width: 12px; }
}

/* post */
.post-modal { pointer-events: none; position: fixed; top: 0; left: 0; transition: opacity 0.4s ease; width: 100%; height: 100%; z-index: 20; opacity: 0; }
.post-modal[aria-hidden=false] { pointer-events: inherit; opacity: 1; }
.post-modal-content { position: absolute; top: 50%; left: 40px; transform: translateY(-50%); padding: 84px 44px 48px; width: calc(100% - 80px); max-height: calc(100dvh - 80px); background-color: #F5F5F5; border-radius: 20px; overflow-y: auto; z-index: 2; }
.post-modal-close { position: absolute; top: 20px; right: 24px; width: 23px; height: 23px; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.post-modal-close::before,
.post-modal-close::after { content: ''; position: absolute; top: 50%; left: -2px; width: 28px; height: 2px; background-color: #000; }
.post-modal-close::before { transform: rotate(45deg); }
.post-modal-close::after { transform: rotate(-45deg); }
.post-modal-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.78); text-indent: -9999px; white-space: nowrap; overflow: hidden; z-index: 1; }
.post-none { padding: 40px 0; text-align: center; font-size: 1.4rem; }

@media screen and (min-width: 769px) {
  .post-modal-content { left: 50%; transform: translate(-50%,-50%); padding: 105px 102px; max-width: 1120px; }
  .post-modal-close { top: 26px; right: 26px; }
  .post-none { padding: 80px 0; font-size: 1.8rem; }
}

/* form */
.form-above { margin-bottom: 50px; }
.form-text { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.form-content { padding: 70px 0; background-color: #F5F5F5; border-radius: 50px 50px 0 0; }
.form-download { display: flex; align-items: center; padding: 30px; background-color: #fff; border-radius: 10px; }
.form-download-photo { position: relative; aspect-ratio: 1 / 1.28048780488; width: 36.8965517241%; box-shadow: 3px 3px 10px rgba(0,0,0,0.25); overflow: hidden; }
.form-download-info { margin-left: 24px; width: calc(100% - (36.8965517241% + 24px)); }
.form-download-title { margin: 0 0 2px; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.75; }
.form-download-text { margin: 0; font-size: 1.2rem; letter-spacing: 0.1em; line-height: 1.66666666667; }
.form-flow { counter-reset: number 0; }
.form-flow-item { position: relative; padding-left: 4.18604651163vw; font-size: 3.72093023256vw; font-weight: 500; letter-spacing: 0.1em; line-height: 2; color: #B1B1B1; }
.form-flow-item.is-active { color: #000; }
.form-flow-item::before { counter-increment: number 1; content: counter(number); position: absolute; top: 0; left: 0; font-family: 'Figtree', sans-serif; font-size: 4.18604651163vw; font-weight: 600; }
.form-block + .form-block { margin-top: 20px; }
.form-block-label { display: block; position: relative; width: 100%; font-size: 1.6rem; font-weight: 500; letter-spacing: 0.1em; line-height: 2; }
.form-block-label .is-required { display: inline-block; margin-left: 0.4em; vertical-align: top; }
.form-parts { position: relative; }
.form-parts-input input,
.form-parts-textarea textarea,
.form-parts-select select { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; padding: 10px 22px; width: 100%; height: 55px; background: #fff; border: none; border-radius: 8px; box-shadow: none; text-align: left; font-family: inherit; font-size: 1.4rem; letter-spacing: 0.1em; }
.form-parts-textarea textarea { height: 188px; }
.form-parts-select select { background-image: url(./_assets/img/icon/select1.svg); background-repeat: no-repeat; background-position: right 22px center; background-size: 10px 9px; }
.form-confirm-text { margin: 0; padding: 0 5px; font-size: 1.6rem; letter-spacing: 0.1em; line-height: 2.3125; }
.form-agree { margin-top: 62px; text-align: center; }
.form-agree label { display: inline-flex; align-items: center; }
.form-agree input { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; width: 17px; height: 17px; background: none; border: 1px solid #000; border-radius: 0; box-shadow: none; }
.form-agree .wpcf7-list-item-label { position: relative; margin: 0 0 0 14px; font-size: 1.4rem; letter-spacing: 0.1em; line-height: 2.28571428571; }
.form-agree .wpcf7-list-item-label a { color: #000; }
.form-agree input:checked + .wpcf7-list-item-label::before { content: ''; position: absolute; top: 1px; left: -29px; width: 21px; height: 20px; background: url(./_assets/img/icon/check1.svg) no-repeat center center; background-size: 100% 100%; }
.wpcf7-not-valid-tip { display: block; margin-top: 8px; font-size: 1.6rem; letter-spacing: 0.1em; line-height: 2.3125; color: #c00; }

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output { padding: 20px 10px; border-color: #c00; text-align: center; font-size: 1.4rem; color: #c00; }

.is-form-confirm .form-block { margin-bottom: 26px; padding-bottom: 20px; border-bottom: 1px solid #D9D9D9; }
.is-form-confirm .form-block + .form-block { margin-top: 0; }

.form-thanks-text { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.form-thanks-back { margin: 56px 0 0; }
.form-thanks-back > .btn-1 { justify-content: center; padding: 0; }

@media screen and (max-width: 768px) {
  .form-above > .l-wrap { padding: 0 40px; }
  .form-content > .l-wrap { padding: 0 40px; }
  .form-download { margin-bottom: 66px; }
  .form-content-side { margin-bottom: 56px; }
  .form-flow { display: flex; justify-content: center; }
  .form-flow-item { margin: 0 2.32558139535vw; }
  .form-flow-item:first-child { margin-left: 0; }
  .form-flow-item:last-child { margin-right: 0; }
  .form-block-label { margin-bottom: 12px; }
  .form-thanks > .l-wrap { padding: 0 40px; }
  .form-thanks-back > .btn-1 { margin: 0 auto; }
}

@media screen and (min-width: 769px) {
  .form-above { margin-bottom: 52px; }
  .form-text { font-size: 1.4rem; }
  .form-content { padding: 78px 0; }
  .form-content > .l-wrap { display: grid; grid-template-columns: 312px; }
  .form-download { grid-row: 1; grid-column: 2; margin-bottom: 60px; padding: 38px 42px; }
  .form-download-photo { width: 24.6987951807%; }
  .form-download-info { margin-left: 70px; width: calc(100% - (24.6987951807% + 70px)); }
  .form-download-title { margin-bottom: 18px; font-size: 2rem; }
  .form-download-text { font-size: 1.4rem; }
  .form-content-side { grid-row: 1 / 3; grid-column: 1; }
  .form-flow-item { padding-left: 28px; font-size: 1.6rem; }
  .form-flow-item:not(:first-child) { margin-top: 8px; }
  .form-flow-item::before { font-size: 1.8rem; }
  .form-content-main { grid-row: 2; grid-column: 2; }
  .form-block { display: flex; }
  .form-block + .form-block { margin-top: 40px; }
  .form-block-label { padding: 11px 15px 0; width: 220px; font-size: 1.6rem; }
  .form-block-parts { width: calc(100% - 220px); }
  .form-parts-input input,
  .form-parts-textarea textarea,
  .form-parts-select select { padding: 10px 24px; height: 55px; font-size: 1.4rem; }
  .form-parts-textarea textarea { height: 200px; }
  .form-confirm-text { padding: 12px 0; font-size: 1.4rem; }
  .form-agree { margin-top: 86px; }
  .wpcf7-list-item-label { font-size: 1.6rem; }
  .form-agree input:checked + .wpcf7-list-item-label::before { top: 3px; }
  .wpcf7-not-valid-tip { font-size: 1.4rem; }

  .is-form-confirm .form-block { margin-bottom: 0; padding: 10px 0; }
  .is-form-confirm .form-block + .form-block { margin-top: 0; }

  .form-thanks-text { margin-left: auto; max-width: 665px; line-height: 2.64285714286; }
  .form-thanks-back { margin: 48px 0 0 auto; max-width: 665px; }
}

/* wp-block */
.wp-block-heading { font-weight: 700; letter-spacing: 0.1em; }
h2.wp-block-heading { margin: 38px 0; font-size: 1.8rem; line-height: 1.66666666667; }
h3.wp-block-heading { margin: 18px 0; font-size: 1.8rem; line-height: 1.66666666667; }
.wp-block-separator { display: block; margin: 50px 0; width: 100%; height: 1px; background-color: #D9D9D9; border: none; }
.wp-block-aioseo-faq { margin-bottom: 50px; padding-bottom: 50px; border-bottom: 1px solid #D9D9D9; }
.wp-block-image img { border-radius: 20px; overflow: hidden; }
.aioseo-faq-block-question { margin: 18px 0; font-size: 1.8rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.66666666667; }
.aioseo-faq-block-answer { font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }

@media screen and (min-width: 769px) {
  h2.wp-block-heading { margin: 84px 0; font-size: 2.4rem; }
  h3.wp-block-heading { margin: 84px 0 20px; font-size: 2rem; }
  .wp-block-separator { margin: 40px 0; }
  .aioseo-faq-block-question { margin: 84px 0 10px; font-size: 2rem; }
  .aioseo-faq-block-answer { font-size: 1.4rem; }
}

/* custom block */
.cblock-title { margin: 56px 0; }
.cblock-title-en { margin: 0; padding-bottom: 10px; font-family: 'Figtree', sans-serif; font-size: 2.8rem; font-weight: 600; letter-spacing: 0.1em; line-height: 1.2; }
.cblock-title-ja { margin: 0; font-size: 1.6rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.2; color: #B1B1B1; }
.cblock-box { margin: 0 0 50px; padding-bottom: 50px; border-bottom: 1px solid #D9D9D9; }
.cblock-box-title { margin: 18px 0; font-size: 1.8rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.66666666667; }
.cblock-box-text { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.cblock-interview { margin: 38px 0; }
.cblock-interview-title { position: relative; margin: 0 0 18px; padding-left: 58px; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.85714285714; }
.cblock-interview-title::before { content: ''; position: absolute; top: 15px; left: 0; width: 41px; height: 1px; background-color: #000; }
.cblock-interview-box { display: flex; margin: 0; }
.cblock-interview-box__title { width: 64px; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; }
.cblock-interview-box__text { margin: 0; width: calc(100% - 64px); font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.cblock-point { margin: 32px 0; padding: 32px 30px 40px; background-color: #000; border-radius: 20px; color: #fff; }
.cblock-point-lists { counter-reset: number 0; }
.cblock-point-lists__item { position: relative; padding: 22px 0 22px 54px; border-bottom: 1px solid #fff; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.5625; }
.cblock-point-lists__item::before { counter-increment: number 1; content: '0'counter(number); position: absolute; top: calc(22px - 0.2em); left: 0; font-family: 'Figtree', sans-serif; font-size: 3rem; font-weight: 600; font-style: italic; }
.cblock-theme-copy { margin: 80px 0 40px; padding: 22px 30px; background-color: #000; border-radius: 16px; font-size: 2rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.5; color: #fff; }
.cblock-qa { margin-top: 50px; }
.cblock-qa:not(:last-child) { margin-bottom: 50px; padding-bottom: 50px; border-bottom: 1px solid #D9D9D9; }
.cblock-qa-q { margin-bottom: 60px; }
.cblock-qa-num { display: inline-block; vertical-align: top; font-family: 'Figtree', sans-serif; font-size: 4rem; font-weight: 600; font-style: italic; line-height: 1.2; }
.cblock-qa-title { margin: 0; font-size: 1.8rem; letter-spacing: 0.1em; line-height: 1.66666666667; }
.cblock-qa-box { margin: 0; }
.cblock-qa-box + .cblock-qa-box { margin-top: 30px; }
.cblock-qa-box__title { margin-bottom: 20px; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.1em; line-height: 2.14285714286; }
.cblock-qa-box__title::after { content: '\FF1A'; }
.cblock-qa-box__text { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }

@media screen and (max-width: 768px) {
  .cblock-qa-title { margin-top: 15px; }
}

@media screen and (min-width: 769px) {
  .cblock-title { margin: 125px 0 35px; }
  .cblock-title-en { padding-bottom: 14px; font-size: 3rem; }
  .cblock-title-ja { font-size: 1.6rem; }
  .cblock-box-title { margin: 84px 0 10px; font-size: 2rem; }
  .cblock-box-text { font-size: 1.4rem; }
  .cblock-interview { margin: 60px 0; }
  .cblock-interview-title { margin-bottom: 60px; padding-left: 116px; font-size: 1.4rem; }
  .cblock-interview-title::before { top: 15px; width: 88px; }
  .cblock-interview-box__title { width: 110px; font-size: 1.6rem; }
  .cblock-interview-box__text { width: calc(100% - 110px); font-size: 1.4rem; }
  .cblock-point { display: flex; align-items: flex-start; margin: 84px 0; padding: 24px 60px 60px; }
  .cblock-point .title-1 { padding-top: 26px; width: 145px; }
  .cblock-point-lists { width: calc(100% - 145px); }
  .cblock-point-lists__item { padding: 32px 0 32px 88px; min-height: 35px; font-size: 1.8rem; }
  .cblock-point-lists__item::before { top: calc(32px - 0.5em); font-size: 5rem; }
  .cblock-theme-copy { margin: 120px 0 48px; padding: 22px 30px; border-radius: 20px; text-align: center; font-size: 2.2rem; }
  .cblock-qa { margin-top: 40px; }
  .cblock-qa:not(:last-child) { margin-bottom: 40px; padding-bottom: 40px; }
  .cblock-qa-q { display: flex; align-items: baseline; margin-bottom: 30px; }
  .cblock-qa-num { margin-right: 30px; font-size: 5rem; }
  .cblock-qa-title { font-size: 2rem; }
  .cblock-qa-box + .cblock-qa-box { margin-top: 30px; }
  .cblock-qa-box__title { margin-bottom: 10px; font-size: 1.4rem; }
  .cblock-qa-box__text { font-size: 1.4rem; }
}

/* animation */
.animation-mask-text { mask: linear-gradient(-90deg, transparent, transparent 30%, #fff 50%, #fff) no-repeat 100% 100%; mask-size: 360% 100%; }
.animation-mask-text.is-lazy-done { transition: mask-position 2.8s ease; mask-position: 0; }

/* header
------------------------------------------------ */
.l-hd { position: sticky; top: 0; left: 0; width: 100%; height: 72px; z-index: 10; }
.l-hd-content { position: absolute; top: 0; left: 0; width: 100%; height: 72px; }
.l-hd-logo { margin: 0; position: absolute; top: 24px; left: 20px; width: 169px; font-size: 1rem; line-height: 1.2; z-index: 2; }
.l-hd-logo > a { display: block; width: 100%; }
.l-hd-links { display: flex; position: absolute; top: 42px; left: 50%; transform: translateX(-50%); }
.l-hd-links__item:not(:first-child) { margin-left: 24px; }
.l-hd-links__item > a { display: inline-block; text-decoration: none; vertical-align: top; font-family: 'Figtree', sans-serif; font-size: 1.5rem; font-weight: 600; line-height: 1.2; color: #000; }
.l-hd-btns { display: flex; width: calc(100% - (48px + 8px)); }
.l-hd-btns__item { width: calc(50% - 4px); }
.l-hd-btns__item:not(:first-child) { margin-left: 8px; }
.l-hd-btns__item > a { display: block; padding: 14px 0; width: 100%; text-align: center; text-decoration: none; border-radius: 50px; font-family: 'Figtree', sans-serif; font-size: 1.8rem; font-weight: 600; line-height: 1.2; }
.l-hd-btns__item.is-btn-recruit > a { background-color: #D2FF56; color: #000; }
.l-hd-btns__item.is-btn-contact > a { background-color: #000; color: #fff; }
.l-hd-pagetop { display: block; position: relative; margin-left: 8px; width: 48px; height: 48px; background-color: #F5F5F5; border-radius: 50%; text-decoration: none; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.l-hd-pagetop::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 0; height: 0; border: 6px solid transparent; border-top: none; border-bottom: 10px solid #000; }
.l-hd-gnav { position: absolute; top: 0; left: 0; width: 100%; }
.l-hd-gnav__trigger { position: absolute; top: 18px; right: 20px; width: 33px; height: 33px; text-indent: -9999px; white-space: nowrap; overflow: hidden; z-index: 2; }
.l-hd-gnav__trigger::before,
.l-hd-gnav__trigger::after { content: ''; position: absolute; left: 0; transition: transform 0.4s ease; width: 100%; height: 2px; background-color: #000; }
.l-hd-gnav__trigger::before { top: 11px; }
.l-hd-gnav__trigger::after { top: 20px; }
.l-hd-gnav__trigger[aria-expanded=true]::before,
.l-hd-gnav__trigger[aria-expanded=true]::after { top: 15px; left: 2px; width: 31px; background-color: #fff; }
.l-hd-gnav__trigger[aria-expanded=true]::before { transform: rotate(45deg); }
.l-hd-gnav__trigger[aria-expanded=true]::after { transform: rotate(-45deg); }
.l-gnav { pointer-events: none; position: fixed; top: 0; left: 0; transition: opacity 0.4s ease; width: 100%; background-color: #000; color: #fff; z-index: 1; opacity: 0; }
.l-gnav[aria-hidden=false] { pointer-events: inherit; opacity: 1; }
.l-gnav a,
.l-gnav button { color: #fff; }
.l-gnav-content { position: relative; padding: 120px 40px 60px; max-height: 100dvh; overflow-y: auto; overscroll-behavior-y: contain; }
.l-gnav-links__link { display: flex; align-items: baseline; position: relative; width: 100%; text-decoration: none; line-height: 1.2; }
.l-gnav-links--en { width: 61.7142857143%; font-family: 'Figtree', sans-serif; font-size: 7.67441860465vw; font-weight: 600; }
.l-gnav-links--ja { font-size: 2.79069767442vw; letter-spacing: 0.1em; }
.l-gnav-links__target { position: relative; padding: 20px 0 10px; }
.l-gnav-sublinks { display: flex; flex-wrap: wrap; }
.l-gnav-sublinks__item { line-height: 1.2; }
.l-gnav-sublinks__item > a { display: inline-block; text-decoration: none; vertical-align: top; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.1em; }
.l-gnav-links__item.is-focus .l-gnav-links--en { color: #D2FF56; }

.l-hd,
.l-hd-content { transition: 0.4s ease; }
.is-scroll-active .l-hd { padding: 0 20px; }
.is-scroll-active .l-hd-content { left: 20px; width: calc(100% - 40px); background-color: #fff; border-radius: 10px; box-shadow: 2px 2px 4px rgba(0,0,0,0.15); }
.is-scroll-active .l-hd-links { top: 28px; }
.is-scrolling .l-hd { opacity: 0; }
.is-gnav-open .l-hd { opacity: 1; }
.is-gnav-open .l-hd-logo > a { background: url(./_assets/img/share/logo-white-202507.svg) no-repeat center center; background-size: 100% 100%; }

.is-gnav-open .l-hd-logo > a img { opacity: 0; }

.u-device-click .l-hd-links__item > a { transition: color 0.4s ease; }
.u-device-click .l-hd-links__item > a:hover { color: #B1B1B1; }
.u-device-click .l-hd-btns__item > a { transition: background-color 0.4s ease, color 0.4s ease; }
.u-device-click .l-hd-btns__item.is-btn-recruit > a:hover { background-color: #000; color: #fff; }
.u-device-click .l-hd-btns__item.is-btn-contact > a:hover { background-color: #D2FF56; color: #000; }
.u-device-click .l-gnav-links__link,
.u-device-click .l-gnav-sublinks__item > a { transition: color 0.4s ease; }
.u-device-click .l-gnav-links__link:hover,
.u-device-click .l-gnav-sublinks__item > a:hover { color: #D2FF56; }

@media screen and (max-width: 768px) {
  .l-hd-links { display: none; }
  .l-hd-fixed { display: flex; align-items: center; position: fixed; bottom: 0; left: 0; padding: 20px; width: 100%; }
  .l-gnav-links__item:not(:first-child) { margin-top: 32px; }
  .l-gnav-links__item.is-link-company .l-gnav-sublinks__item:not(:first-child) { margin-left: 20px; }
  .l-gnav-links__item.is-link-service .l-gnav-sublinks__item { margin: 26px 0 0 20px; }
  .l-gnav-links__item.is-link-service .l-gnav-sublinks__item:first-child { margin: 0; width: 100%; }
  .l-gnav-links__item.is-link-service .l-gnav-sublinks__item:nth-of-type(2) { margin-left: 0; }
  .l-gnav-links__target { display: none; }
  .l-gnav-links__link.is-trigger::after { content: ''; position: absolute; top: 50%; right: 0; transition: transform 0.4s ease; transform: translateY(-50%) rotate(90deg); width: 7px; height: 15px; background: url(./_assets/img/icon/arrow2-white.svg) no-repeat center center; background-size: 100% 100%; }
  .l-gnav-links__link.is-trigger.is-active::after { transform: translateY(-50%) rotate(-90deg); }
}

@media screen and (min-width: 769px) {
  .l-hd { height: 102px; }
  .l-hd-logo { top: 40px; left: 40px; width: 169px; }
  .l-hd-fixed { position: absolute; top: 34px; right: 104px; }
  .l-hd-btns { width: auto; }
  .l-hd-btns__item { width: 121px; }
  .l-hd-btns__item:not(:first-child) { margin-left: 20px; }
  .l-hd-btns__item > a { padding: 8px 0; font-size: 1.5rem; }
  .l-hd-pagetop { display: none; }
  .l-hd-gnav__trigger { top: 34px; right: 40px; }
  .l-gnav-content { padding: 135px 100px 85px; }
  .l-gnav-links { display: grid; }
  .l-gnav-links__link { display: block; }
  .l-gnav-links--en,
  .l-gnav-links--ja { display: block; }
  .l-gnav-links--en { font-size: 5rem; }
  .l-gnav-links--ja { margin-top: 6px; font-size: 1.2rem; }
  .l-gnav-links__target { display: block !important; padding: 26px 0 10px; }
  .l-gnav-sublinks__item > a { font-size: 1.4rem; }
  .l-gnav-links__item { margin-top: 20px; }
  .l-gnav-links__item.is-link-company { grid-row: 1 / 3; grid-column: 1; margin-top: 0; }
  .l-gnav-links__item.is-link-company .l-gnav-sublinks__item { margin-top: 14px; }
  .l-gnav-links__item.is-link-company .l-gnav-sublinks__item:nth-of-type(2n) { width: calc(100% - 108px); }
  .l-gnav-links__item.is-link-company .l-gnav-sublinks__item:nth-of-type(2n+1) { width: 108px; }
  .l-gnav-links__item.is-link-company .l-gnav-sublinks__item:nth-of-type(-n+2) { margin-top: 0; }
  .l-gnav-links__item.is-link-service { grid-row: 3 / 5; grid-column: 1; }
  .l-gnav-links__item.is-link-service .l-gnav-sublinks { display: block; }
  .l-gnav-links__item.is-link-service .l-gnav-sublinks__item:not(:first-child) { margin-top: 14px; }
  .l-gnav-links__item.is-link-column { grid-row: 1; grid-column: 2; margin-top: 0; }
  .l-gnav-links__item.is-link-works { grid-row: 2; grid-column: 2; }
  .l-gnav-links__item.is-link-download { grid-row: 3; grid-column: 2; }
  .l-gnav-links__item.is-link-news { grid-row: 4; grid-column: 2; }
  .l-gnav-links__item.is-link-recruit { grid-row: 1; grid-column: 3; margin-top: 0; }
  .l-gnav-links__item.is-link-contact { grid-row: 2 / 5; grid-column: 3; margin-top: 50px; padding-top: 36px; border-top: 1px solid #fff; }

  .is-scroll-active .l-hd { padding: 0 40px; }
  .is-scroll-active .l-hd-content { top: 14px; left: 40px; width: calc(100% - 80px); }
  .is-scroll-active .l-hd-logo { top: 25px; }
  .is-scroll-active .l-hd-fixed { top: 20px; }
  .is-scroll-active .l-hd-gnav__trigger { top: 20px; }
}

@media screen and (min-width: 769px) and (max-width: 1300px) {
  .l-hd-links { right: 380px; left: auto; transform: none; }
  .l-hd-links__item:not(:first-child) { margin-left: 14px; }
}

@media screen and (min-width: 769px) and (max-width: 1060px) {
  .l-hd-logo { left: 4vw; width: 15.3vw; }
  .l-hd-links { right: 34.5vw;}
  .l-hd-links__item:not(:first-child) { margin-left: 1.4vw; }
  .l-hd-links__item > a { font-size: 1.4vw; }
  .l-hd-btns__item:not(:first-child) { margin-left: 1vw; }
  .l-hd-fixed { right: 10vw; }
  .l-hd-btns__item { width: 11vw; }
  .l-hd-btns__item > a { font-size: 1.5vw; }
  .l-hd-gnav__trigger { right: 4vw; }
}

/* top page
------------------------------------------------ */
/* common */
.body-page-home .l-main { padding-top: 0; }

@media screen and (min-width: 769px) {
}

/* visual */
.top-visual { position: relative; padding-top: 100px; overflow: hidden; }
.top-visual.has-media { padding-top: 28px; }
.top-visual-copy { position: relative; }
.top-visual-copy__lists { display: flex; width: 100%; }
.top-visual-copy__lists__item { white-space: nowrap; font-family: 'Figtree', sans-serif; font-size: 13rem; font-weight: 600; line-height: 1.2; color: #EDEDED; }
.top-visual-slide { margin: 0 20px; }
.top-visual-slide .splide__track { border-radius: 20px; }
.top-visual-slide__lists__item { position: relative; }
.top-visual-media { position: relative; width: 100%; border-radius: 0 0 30px 30px; overflow: hidden; }
.top-visual-media video { display: block; width: 100%; }
.top-visual-media.is-visual-2 { aspect-ratio: 1 / 0.333333333333; }
.top-visual-scroll { margin: 30px 0 0; text-align: center; font-family: 'Figtree', sans-serif; font-size: 1.5rem; font-weight: 600; line-height: 1.2; }
.top-visual-scroll > a { text-decoration: none; vertical-align: top; color: #000; }

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

@media screen and (max-width: 768px) {
  .top-visual-copy__lists { animation: marquee 12s linear infinite; transform:translateX(100%); }
  .top-visual-slide__lists__item { height: calc(100dvh - (100px + 72px + (18px * 2) + 90px)); }
  .top-visual-media { display: none; }
}

@media screen and (min-width: 769px) {
  .top-visual { padding-top: 130px; }
  .top-visual.has-media { padding-top: 130px; }
  .top-visual-copy { position: absolute; top: 30px; left: 0; width: 100%; font-size: 13.1rem; }
  .top-visual-slide { margin: 0 40px; }
  .top-visual-slide__lists__item { aspect-ratio: 1 / 0.70479704797; }
  .top-visual-media { aspect-ratio: 1 / 0.4140625; }
  .top-visual-media.is-visual-2 { aspect-ratio: 1 / 0.333333333333; }
  .top-visual-scroll { display: none; }

  .body-page-home .l-hd-logo { pointer-events: none; opacity: 0; }
  .body-media-passed .l-hd-logo,
  .body-media-passed .l-hd-links { pointer-events: inherit; opacity: 1; }
}

/* mission */
.top-mission { position: relative; margin-top: 100px; overflow: hidden; }
.top-mission .title-1 { margin-bottom: 46px; }
.top-mission-copy--en { margin: 0; white-space: nowrap; font-family: 'Figtree', sans-serif; font-size: 10.2vw; font-weight: 600; line-height: 1.1; }
.top-mission-copy--ja { margin: 20px 0 0; font-size: 1.8rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.66666666667; }
.top-mission .btn-1 { margin: 44px 0 0 auto; }

@media screen and (max-width: 768px) {
  .top-mission > .l-wrap { padding: 0 40px; }
  .top-mission-copy--en { width: calc(100% + 40px); }
}

@media screen and (min-width: 769px) {
  .top-mission { margin-top: 140px; }
  .top-mission .title-1 { margin-bottom: 50px; }
  .top-mission-copy--en { font-size: 10vw; }
  .top-mission-copy--ja { margin-top: 22px; font-size: 2rem; }
  .top-mission .btn-1 { margin-top: 26px; }
}

@media screen and (min-width: 1000px) {
  .top-mission-copy--en { font-size: 10rem; }
}

/* service */
.top-service { position: relative; margin-top: 100px; padding: 80px 0 60px; background-color: #F5F5F5; border-radius: 50px 50px 0 0; }
.top-service-above { margin-bottom: 36px; }
.top-service-text { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.top-service-lists__item { position: relative; z-index: 1; }
.top-service-lists__item > a { display: block; position: relative; width: 100%; aspect-ratio: 1/ 1.01714285714; overflow: hidden; }
.top-service-lists__info { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; }
.top-service-lists__num { position: absolute; top: 30px; left: 40px; transform-origin: left top; transform: rotate(90deg); margin: 0; font-family: 'Figtree', sans-serif; font-size: 1.6rem; font-weight: 600; line-height: 1.2; color: #fff; }
.top-service-lists__title { position: absolute; bottom: 102px; left: 0; margin: 0; width: 100%; font-size: 2rem; font-weight: 600; letter-spacing: 0.1em; line-height: 1.2; color: #fff; }
.top-service-lists__item .btn-1 { position: absolute; bottom: 30px; }
.top-service-lists__bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; }
.top-service-lists__bg::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.4); z-index: 2; }
.top-service-lists__bg img { position: absolute; top: 0; left: 0; z-index: 1; }

.u-device-click .top-service-lists__bg img { transition: transform 0.4s ease; }
.u-device-click .top-service-lists__item > a:hover .top-service-lists__bg img { transform: scale(1.1); }

.u-device-click .top-service-lists__item > a:hover .btn-1 { color: #000; }
.u-device-click .top-service-lists__item > a:hover .btn-1::after { transform: translateY(-50%) scale(66,40); }

@media screen and (max-width: 768px) {
  .top-service > .l-wrap { padding: 0 40px; }
  .top-service .title-1 { margin-bottom: 20px; }
  .top-service-lists { padding: 0 40px; }
  .top-service-lists__item { border-radius: 20px; }
  .top-service-lists__item:not(:first-child) { margin-top: 40px; }
  .top-service-lists__item > a { border-radius: 20px; }
  .top-service-lists__title { text-align: center; }
  .top-service-lists__item .btn-1 { left: 50%; transform: translateX(-50%); }
}

@media screen and (min-width: 769px) {
  .top-service { margin-top: 140px; padding: 100px 0; }
  .top-service-above { display: flex; align-items: flex-start; margin-bottom: 70px; }
  .top-service .title-1 { width: 198px; }
  .top-service-text { margin-top: -4px; font-size: 1.4rem; line-height: 2.14285714286; }

  .top-service-lists { display: grid; grid-template-columns: repeat(3, calc(100% / 3)); margin-left: auto; width: 83.90625%; border-radius: 20px 0 0 20px; overflow: hidden; }
  .top-service-lists__item > a { aspect-ratio: 1 / 1.35754189944; }
  .top-service-lists__num { top: 34px; left: 52px; font-size: 1.4rem; }
  .top-service-lists__title { bottom: 120px; padding-left: 45px; font-size: 2rem; }
  .top-service-lists__item .btn-1 { bottom: 45px; left: 45px; }
}

/* works */
.top-works { position: relative; }
.top-works-sticky { position: relative; width: 100%; height: 100%; overflow: hidden; }
.top-works-content { display: flex; flex-flow: column; justify-content: center; align-items: center; position: absolute; top: 0; left: 0; width: 100vw; height: 100%; z-index: 2; }
.top-works-content::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); z-index: -1; }
.top-works-title { margin: 0; font-family: 'Figtree', sans-serif; font-size: 5.6rem; font-weight: 600; line-height: 1.2; color: #fff; }
.top-works-btn { transition-delay: 0.6s; margin: 18px auto 0; }
.top-works-gallery { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.top-works-slide { position: relative; width: 100%; height: calc(100% / 3); }
.top-works-slide .splide__track { height: 100%; }
.top-works-slide__frame { position: relative; width: 100%; height: 100%; overflow: hidden; }
.top-works-slide__lists { display: flex; width: 100%; height: 100%; }
.top-works-slide__lists__item { position: relative; aspect-ratio: 1 / 0.565853658537; width: 38.6744186047vw; height: 100%; overflow: hidden; }

.top-works-content.is-active .top-works-title,
.top-works-content.is-active .top-works-btn { pointer-events: inherit; opacity: 1; }

@media screen and (max-width: 768px) {
  .top-works { aspect-ratio: 1 / 0.658139534884; }
  .top-works-mask { clip-path: none !important; }
}
  
@media screen and (min-width: 769px) {
  .top-works { height: 280vh; }
  .top-works-sticky { position: sticky; top: 0; left: 0; width: 100%; height: 100vh; }
  .top-works-mask { position: relative; clip-path: inset(100vh 100vw round 400px); width: 100%; height: 100%; overflow: hidden; }
  .top-works-content { height: 100vh; }
  .top-works-title,
  .top-works-btn { pointer-events: none; transition: opacity 1s ease; opacity: 0; }
  .top-works-title { font-size: 10rem; }
  .top-works-btn { margin-top: 45px; }
  .top-works-gallery { width: 100vw; height: 100vh; }
}

/* column */
.top-column { position: relative; margin-top: 80px; }
.top-column-above { margin-bottom: 36px; }
.top-column-text { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.top-column .splide__pagination { position: relative; bottom: auto; left: auto; margin-top: 70px; padding: 0; width: 100%; }
.top-column .btn-1 { margin: 70px auto 0; }

@media screen and (max-width: 768px) {
  .top-column > .l-wrap { padding: 0 40px; }
  .top-column .title-1 { margin-bottom: 20px; }
  .top-column-slide { padding: 0 40px; }
  .top-column-slide .lists-column-item { display: none; }
  .top-column-slide .lists-column-item:nth-of-type(-n+3) { display: block; }
  .top-column-slide .lists-column-item:not(:first-child) { margin-top: 30px; }
}

@media screen and (min-width: 769px) {
  .top-column { margin-top: 120px; }
  .top-column-above { display: flex; align-items: flex-start; margin-bottom: 70px; }
  .top-column .title-1 { width: 198px; }
  .top-column-text { margin-top: -4px; font-size: 1.4rem; line-height: 2.14285714286; }
  .top-column .btn-1 { margin-top: 36px; }
}

/* download */
.top-download { position: relative; margin-top: 100px; padding: 80px 0 60px; background-color: #F5F5F5; border-radius: 50px 50px 0 0; }
.top-download-above { margin-bottom: 36px; }
.top-download-text { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.top-download-btn { margin: 50px 0 0; }
.top-download-btn .btn-1 { margin: 0 auto; }

@media screen and (max-width: 768px) {
  .top-download > .l-wrap { padding: 0 40px; }
  .top-download .title-1 { margin-bottom: 20px; }
}

@media screen and (min-width: 769px) {
  .top-download { margin-top: 110px; padding: 90px 0; }
  .top-download-above { display: flex; align-items: flex-start; margin-bottom: 70px; }
  .top-download .title-1 { width: 198px; }
  .top-download-text { margin-top: -4px; font-size: 1.4rem; line-height: 2.14285714286; }
  .top-download-btn { margin-top: 68px; }
}

/* news */
.top-news { position: relative; margin-top: 80px; }

@media screen and (max-width: 768px) {
  .top-news > .l-wrap { padding: 0 40px; }
  .top-news .title-1 { margin-bottom: 20px; }
  .top-news .btn-1 { margin: 50px auto 0; }
}

@media screen and (min-width: 769px) {
  .top-news { margin-top: 128px; }
  .top-news > .l-wrap { display: grid; grid-template-columns: calc(100% - 758px) 758px; align-items: flex-start; }
  .top-news .title-1 { grid-row: 1; grid-column: 1; }
  .top-news .lists-news { grid-row: 1 / 3; grid-column: 2; margin-top: -30px; }
  .top-news .btn-1 { grid-row: 2 / 3; grid-column: 1; margin-top: auto; }
}

/* company page
------------------------------------------------ */
/* philosophy */
.company-philosophy { position: relative; }
.company-philosophy-block:not(:last-child) { margin-bottom: 70px; padding-bottom: 70px; border-bottom: 1px solid #D9D9D9; }
.company-philosophy-block.has-photo { margin-bottom: 80px; padding-bottom: 0; border-bottom: none; }
.company-philosophy-title--en { margin: 0; font-family: 'Figtree', sans-serif; font-size: 4.2rem; font-weight: 600; line-height: 1.2; }
.company-philosophy-title--ja { margin: 4px 0 0; font-size: 1.6rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.2; color: #B1B1B1; }
.company-philosophy-copy { margin: 0; font-size: 2rem; font-weight: 600; letter-spacing: 0.1em; line-height: 2.1; }
.company-philosophy-text { margin: 20px 0 0; font-size: 1.4rem; letter-spacing: 0.1em; line-height: 2.14285714286; }
.company-philosophy-photo { margin-top: 60px; border-radius: 20px; overflow: hidden; }

@media screen and (max-width: 768px) {
  .company-philosophy > .l-wrap { padding: 0 40px; }
  .company-philosophy-title { margin-bottom: 46px; }
}

@media screen and (min-width: 769px) {
  .company-philosophy { padding-top: 60px; }
  .company-philosophy-block { display: flex; flex-wrap: wrap; align-items: flex-start; }
  .company-philosophy-title { width: 506px; }
  .company-philosophy-title--en { font-size: 8rem; }
  .company-philosophy-title--ja { margin-top: 2px; font-size: 1.6rem; }
  .company-philosophy-block__info { padding-top: 20px; width: calc(100% - 506px); }
  .company-philosophy-copy { font-size: 2.4rem; line-height: 1.83333333333; }
  .company-philosophy-text { margin-top: 26px; font-size: 1.4rem; }
  .company-philosophy-photo { margin-top: 80px; width: 100%; }
}

/* video */
.company-video { position: relative; margin-top: 70px; }
.company-video-title { margin: 0; font-family: 'Figtree', sans-serif; font-size: 1.4rem; font-weight: 600; letter-spacing: 0.1em; line-height: 1.6; }
.company-video-media { position: relative; aspect-ratio: 1 / 0.56; background-color: #646464; border-radius: 20px; overflow: hidden; z-index: 1; }
.company-video-media iframe,
.company-video-media video { display: block; width: 100%; height: 100%; }

@media screen and (max-width: 768px) {
  .company-video { padding: 0 40px; }
  .company-video-title { margin-bottom: 8px; }
}

@media screen and (min-width: 769px) {
  .company-video { margin: 140px auto 0; max-width: 936px; }
  .company-video-title { position: absolute; top: 0; left: -20px; transform-origin: left top; transform: rotate(90deg); font-size: 2rem; }
}

/* message */
.company-message { position: relative; margin-top: 80px; padding: 80px 0 calc(23.2558139535vw + 80px); background-color: #F5F5F5; border-radius: 50px 50px 0 0; }
.company-message-copy { margin: 0; font-size: 2rem; font-weight: 700; letter-spacing: 0.1em; line-height: 2; }
.company-message-text { margin: 28px 0 0; font-size: 1.4rem; letter-spacing: 0.1em; line-height: 2.14285714286; }
.company-message-name { margin: 58px 0 0; text-align: right; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.2; }

@media screen and (max-width: 768px) {
  .company-message > .l-wrap { padding: 0 40px; }
  .company-message .title-1 { margin-bottom: 45px; }
}

@media screen and (min-width: 769px) {
  .company-message { margin-top: 170px; padding: 110px 0 calc(135px + 94px); }
  .company-message > .l-wrap { display: flex; align-items: flex-start; }
  .company-message .title-1 { width: 370px; }
  .company-message-content { margin-top: -6px; width: calc(100% - 370px); }
  .company-message-copy { font-size: 2.2rem; line-height: 2; }
  .company-message-text { margin-top: 48px; font-size: 1.4rem; line-height: 2.64285714286; }
  .company-message-name { margin-top: 96px; font-size: 1.8rem; }
}

@media screen and (min-width: 769px) and (max-width: 1160px) {
  .company-message { padding-bottom: calc(11.6379310345vw + 94px); }
}

/* gallery */
.company-gallery { position: relative; margin-top: -23.2558139535vw; }
.company-gallery-slide { border-radius: 20px; overflow: hidden; }
.company-gallery-lists__item { position: relative; padding-bottom: 50.7692307692%; height: 0; overflow: hidden;  }
.company-gallery-lists__item picture { position: absolute; top: 0; left: 0; height: 100%; }

@media screen and (max-width: 768px) {
  .company-gallery > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .company-gallery { margin-top: -135px; }
  .company-gallery-lists__item { padding-bottom: 22.8703703704%; }
}

@media screen and (min-width: 769px) and (max-width: 1160px) {
  .company-gallery { margin-top: -11.6379310345vw; }
}

/* outline */
.company-outline { position: relative; margin-top: 80px; }
.company-outline-box { margin: 0; padding: 30px 0 26px; }
.company-outline-box:not(:last-child) { border-bottom: 1px solid #D9D9D9; }
.company-outline-box__title { font-size: 1.6rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.2; }
.company-outline-box__text { margin: 0; font-size: 1.4rem; letter-spacing: 0.1em; line-height: 1.75; }
.company-outline-box__text ul { margin-left: 1.3em; list-style: disc; }
.company-outline-box__map { margin: 5px 0 0; }
.company-outline-box__map > a { color: #000; }

@media screen and (max-width: 768px) {
  .company-outline > .l-wrap { padding: 0 40px; }
  .company-outline .title-1 { margin-bottom: 30px; }
  .company-outline-box__title { margin-bottom: 14px; }
}

@media screen and (min-width: 769px) {
  .company-outline { margin-top: 100px; }
  .company-outline > .l-wrap { display: flex; align-items: flex-start; }
  .company-outline .title-1 { width: 370px; }
  .company-outline-content { margin-top: -26px; width: calc(100% - 370px); }
  .company-outline-box { display: flex; padding: 28px 0; }
  .company-outline-box__title { padding: 5px 3px 0; width: 158px; font-size: 1.6rem; }
  .company-outline-box__text { width: calc(100% - 158px); font-size: 1.6rem; }
  .company-outline-box__map { margin-top: 20px; }
}

/* service page
------------------------------------------------ */
/* common */
.body-page-service .l-main { padding-bottom: 0; }
.body-page-service .l-ft { margin-top: 100px; /*margin-top: -30px;*/ }

@media screen and (min-width: 769px) {
  .body-page-service .l-ft { margin-top: 120px; /*margin-top: -50px;*/ }
}

/* common */
.service-block + .service-block { margin-top: 80px; }
.service-block-content { padding: 72px 40px 52px; background-color: #F5F5F5; border-radius: 50px; }
.service-block-title { margin-bottom: 42px; }
.service-block-title--en { margin: 0; font-family: 'Figtree', sans-serif; font-size: 4.2rem; font-weight: 600; line-height: 1.2; }
.service-block-title--ja { margin: 4px 0 0; font-size: 1.6rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.2; }
.service-block-copy { margin: 0; font-size: 2rem; font-weight: 700; letter-spacing: 0.1em; line-height: 2.1; }
.service-block-text { margin: 20px 0 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.service-block-photo { border-radius: 20px; overflow: hidden; }
.service-block-video { position: relative; margin-top: 70px; }
.service-block-video__title { margin: 0; font-family: 'Figtree', sans-serif; font-size: 1.4rem; font-weight: 600; letter-spacing: 0.1em; line-height: 1.6; }
.service-block-video__media { position: relative; aspect-ratio: 1 / 0.56; background-color: #646464; border-radius: 20px; overflow: hidden; z-index: 1; }
.service-block-video__media iframe,
.service-block-video__media video { display: block; width: 100%; height: 100%; }
/* .service-block-video__media::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 0; height: 0; border: 10px solid transparent; border-right: none; border-left: 20px solid #fff; z-index: 2; } */
.service-subblock { margin-top: 70px; }
.service-subblock-title { display: inline-block; margin: 0 0 20px; padding: 8px 28px; border: 1px solid #000; border-radius: 20px; font-size: 1.8rem; font-weight: 500; line-height: 1.2; }
.service-subblock-copy { margin: 0; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; line-height: 2; }
.service-subblock-text { margin: 16px 0 0; font-size: 1.4rem; letter-spacing: 0.1em; line-height: 2.14285714286; }
.service-subblock-lists { counter-reset: number 0; }
.service-subblock-lists__item { padding: 36px 0 34px; }
.service-subblock-lists__item:not(:last-child) { border-bottom: 1px solid #D9D9D9; }
.service-subblock-lists__item:first-child { padding-top: 10px; }
.service-subblock-lists__item:last-child { padding-bottom: 0; }
.service-subblock-lists__title { position: relative; margin: 0; font-size: 1.8rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.2; }
.service-subblock-lists__title::before { counter-increment: number 1; content: counter(number); padding-right: 16px; font-family: 'Figtree', sans-serif; font-weight: 600; }
.service-subblock-lists__content { margin-top: 26px; }
.service-subblock-lists__text { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.service-subblock-schedule { margin-top: 54px; }
.service-subblock-schedule__box { margin: 0; }
.service-subblock-schedule__box__title { font-size: 1.2rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.2; }
.service-subblock-schedule__box__content { margin: 0; }
.service-subblock-schedule__lists > li { display: flex; flex-flow: column; justify-content: center; position: relative; }
.service-subblock-schedule__lists > li p { margin: 0; width: 100%; text-align: center; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.42857142857; }
.service-subblock-schedule__lists.is-self > li:nth-of-type(1) { background-color: #E5E5E5; }
.service-subblock-schedule__lists.is-self > li:nth-of-type(2) { background-color: #C7C7C7; }
.service-subblock-schedule__lists.is-self > li:nth-of-type(3) { background-color: #5E5E5E; color: #fff; }
.service-subblock-schedule__lists.is-self > li:nth-of-type(4) { background-color: #383838; color: #fff; }
.service-subblock-schedule__lists.is-self > li:nth-of-type(5) { background-color: #000; color: #fff; }
.service-subblock-schedule__lists.is-us > li:nth-of-type(1) { background-color: #E5E5E5; }
.service-subblock-schedule__lists.is-us > li:nth-of-type(2) { background-color: #fff; }

@media screen and (max-width: 768px) {
  .service-block-photo { margin-top: 60px; }
  .service-block-video__title { margin-bottom: 8px; }
  .service-subblock-schedule { display: grid; grid-gap: 20px; grid-template-columns: repeat(2, calc(50% - 10px)); }
  .service-subblock-schedule__box { display: grid; grid-gap: 16px; grid-row: span 2; grid-template-rows: subgrid }
  .service-subblock-schedule__box__title { display: flex; justify-content: center; align-items: center; }
  .service-subblock-schedule__lists { height: 480px; }
  .service-subblock-schedule__lists.is-self > li:nth-of-type(1) { height: 10.4166666667%; }
  .service-subblock-schedule__lists.is-self > li:nth-of-type(2) { height: 10.4166666667%; }
  .service-subblock-schedule__lists.is-self > li:nth-of-type(3) { height: 10.4166666667%; }
  .service-subblock-schedule__lists.is-self > li:nth-of-type(4) { height: 16.6666666667%; }
  .service-subblock-schedule__lists.is-self > li:nth-of-type(5) { height: 52.0833333333%; }
  .service-subblock-schedule__lists.is-us > li:nth-of-type(1) { height: 10.4166666667%; }
  .service-subblock-schedule__lists.is-us > li:nth-of-type(2) { height: 89.5833333333%; }
}

@media screen and (min-width: 769px) {
  .service-block-content { display: flex; flex-wrap: wrap; align-items: flex-start; padding: 116px 70px 90px; }
  .service-block-info { width: 520px; }
  .service-block-title { margin: -20px 0 58px; }
  .service-block-title--en { font-size: 8rem; }
  .service-block-title--ja { margin-top: 10px; font-size: 1.8rem; }
  .service-block-copy { font-size: 2.4rem; }
  .service-block-text { margin-top: 16px; font-size: 1.4rem; }
  .service-block-photo { margin-left: 58px; width: calc(100% - (520px + 58px)); }
  .service-block-video { margin-top: 86px; width: 100%; }
  .service-block-video__title { position: absolute; top: 0; left: -6px; transform-origin: left top; transform: rotate(90deg); font-size: 2rem; }
  /* .service-block-video__media::after { border-width: 22px; border-left-width: 44px; } */
  .service-subblock { margin-top: 75px; width: 100%; }
  .service-subblock-title { margin-bottom: 18px; padding: 8px 24px; font-size: 2rem; }
  .service-subblock-copy { font-size: 1.8rem; }
  .service-subblock-text { margin-top: 18px; font-size: 1.4rem; }
  .service-subblock-lists__item { padding: 30px 0 28px; }
  .service-subblock-lists__item:first-child { padding-top: 8px; }
  .service-subblock-lists__title { padding-left: 34px; font-size: 1.8rem; }
  .service-subblock-lists__title::before { position: absolute; top: 0; left: 4px; }
  .service-subblock-lists__content { margin-top: 20px; padding-left: 28px; }
  .service-subblock-lists__text { font-size: 1.4rem; }
  .service-subblock-schedule { margin-top: 44px; }
  .service-subblock-schedule__box:not(:first-child) { margin-top: 28px; }
  .service-subblock-schedule__box__title { margin-bottom: 16px; font-size: 1.5rem; }
  .service-subblock-schedule__lists { display: flex; }
  .service-subblock-schedule__lists > li { height: 65px; }
  .service-subblock-schedule__lists > li p { font-size: 1.4rem; }
  .service-subblock-schedule__lists.is-self > li:nth-of-type(1) { width: 114px; }
  .service-subblock-schedule__lists.is-self > li:nth-of-type(2) { width: 114px; }
  .service-subblock-schedule__lists.is-self > li:nth-of-type(3) { width: 114px; }
  .service-subblock-schedule__lists.is-self > li:nth-of-type(4) { width: 150px; }
  .service-subblock-schedule__lists.is-self > li:nth-of-type(5) { width: calc(100% - ((114px * 3) + 150px)); }
  .service-subblock-schedule__lists.is-us { padding-bottom: 32px; }
  .service-subblock-schedule__lists.is-us > li:nth-of-type(1) { width: 114px; }
  .service-subblock-schedule__lists.is-us > li:nth-of-type(2) { width: calc(100% - 114px); }
  .service-subblock-schedule__lists.is-us > li:nth-of-type(2)::after { content: ''; position: absolute; bottom: -23px; left: 0; width: 100%; height: 1px; background-color: #000; z-index: 1; }
  .service-subblock-schedule__lists.is-us > li:nth-of-type(2) p { position: absolute; bottom: -32px; left: 0; width: 100%; z-index: 2; }
  .service-subblock-schedule__lists.is-us > li:nth-of-type(2) p::before,
  .service-subblock-schedule__lists.is-us > li:nth-of-type(2) p::after { content: ''; position: absolute; top: 50%; transform: translateY(-50%); width: 1px; height: 13px; background-color: #000; }
  .service-subblock-schedule__lists.is-us > li:nth-of-type(2) p::before { left: 0; }
  .service-subblock-schedule__lists.is-us > li:nth-of-type(2) p::after { right: 0; }
  .service-subblock-schedule__lists.is-us > li:nth-of-type(2) p span { padding: 0 12px; background-color: #F5F5F5; }
}

/* platform */
.service-platform-channel { position: relative; margin: 0; }
.service-platform-channel__title { font-size: 1.6rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.2; }
.service-platform-channel__text { display: flex; justify-content: center; align-items: flex-start; margin: 0; }
.service-platform-channel__text strong,
.service-platform-channel__text span { display: inline-block; vertical-align: top; line-height: 1.2; }
.service-platform-channel__text strong { font-family: 'Figtree', sans-serif; font-size: 9rem; font-weight: 600; }
.service-platform-channel__text span { margin: 54px 0 0 12px; font-size: 1.4rem; letter-spacing: 0.1em; }

@media screen and (max-width: 768px) {
  .service-platform-channel { margin-top: 54px; }
  .service-platform-channel__title { padding-bottom: 14px; border-bottom: 1px solid #000; text-align: center; }
  .service-platform-channel__text { margin-top: -2px; }
  .service-platform-channel__text span { margin: 54px 0 0 12px; }
}

@media screen and (min-width: 769px) {
  .service-platform-channel { display: inline-flex; align-items: baseline; margin-top: 18px; padding: 0 10px; }
  .service-platform-channel::after { content: ''; position: absolute; bottom: 4px; left: 0; width: 100%; height: 1px; background-color: #000; }
  .service-platform-channel__title { font-size: 1.6rem; }
  .service-platform-channel__text { align-items: baseline; margin-left: 38px; }
  .service-platform-channel__text strong { font-size: 9rem; }
  .service-platform-channel__text span { margin-left: 12px; font-size: 1.4rem; }
}

/* school */
.service-school-block { margin-top: 70px; }
.service-school-block__title { margin: 0 0 24px; padding: 10px 10px 10px 15px; background-color: #fff; border-left: 10px solid #000; font-size: 1.8rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.44444444444; }
.service-school-block__text { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.service-school-curriculum { margin-top: 70px; padding: 50px 20px; background-color: #fff; border-radius: 20px; }
.service-school-curriculum__lists__item { position: relative; }
.service-school-curriculum__num { position: relative; margin: 0; padding: 6px 10px; background-color: #000; text-align: center; font-family: 'Figtree', sans-serif; font-size: 1.6rem; font-weight: 600; letter-spacing: 0.1em; line-height: 1.2; color: #fff; }
.service-school-curriculum__box { margin: 0; }
.service-school-curriculum__box__title { margin-bottom: 18px; font-size: 1.8rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.66666666667; }
.service-school-curriculum__box__text { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.service-school-contact { margin-top: 64px; }
.service-school-contact__text { margin: 0; text-align: center; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.service-school-contact__btn { margin: 60px 0 0; }
.service-school-contact__btn .btn-1 { justify-content: center; padding-left: 0; width: 100%; }

.u-device-click .service-school-contact__btn .btn-1:hover::after { transform: translateY(-50%) scale(146,100); }

@media screen and (max-width: 768px) {
  .service-school-curriculum__lists__item:not(:first-child) { margin-top: 50px; }
  .service-school-curriculum__num { display: inline-block; margin-bottom: 20px; min-width: 140px; vertical-align: top; }
}

@media screen and (min-width: 769px) {
  .service-school-block { margin-top: 112px; }
  .service-school-block__title { margin-bottom: 24px; padding: 12px 20px; max-width: 765px; border-left-width: 12px; font-size: 1.8rem; }
  .service-school-block__text { font-size: 1.4rem; }
  .service-school-curriculum { margin-top: 58px; padding: 60px 45px; }
  .service-school-curriculum__lists__item { display: flex; align-items: flex-start; }
  .service-school-curriculum__lists__item:not(:last-child) { padding-bottom: 26px; }
  .service-school-curriculum__lists__item::before { content: ''; position: absolute; top: 0; left: calc(155px / 2); width: 1px; height: 100%; border-left: 1px dashed #000; z-index: 1; }
  .service-school-curriculum__num { padding: 6px 10px; width: 155px; font-size: 1.8rem; z-index: 2; }
  .service-school-curriculum__box { margin-left: 50px; padding-bottom: 26px; width: calc(100% - (155px + 50px)); border-bottom: 1px solid #D9D9D9; }
  .service-school-curriculum__box__title { margin-bottom: 10px; font-size: 1.8rem; }
  .service-school-curriculum__box__text { font-size: 1.4rem; }
  .service-school-contact { margin-top: 60px; width: 100%; }
  .service-school-contact__text { text-align: center; font-size: 1.4rem; }
  .service-school-contact__btn { margin-top: 40px; }
  .service-school-contact__btn .btn-1 { margin: 0 auto; width: 298px; }
}

/* download */
.service-download { position: relative; margin-top: 100px; padding: 80px 0 80px; background-color: #F5F5F5; border-radius: 50px 50px 0 0; }
.service-download-above { margin-bottom: 36px; }
.service-download-text { margin: 0; font-size: 1.4rem; font-weight: 400; line-height: 2.14285714286; }
.service-download-btn { margin-top: 50px; }
.service-download-btn .btn-1 { margin: 0 auto; }

@media screen and (max-width: 768px) {
  .service-download > .l-wrap { padding: 0 40px; }
  .service-download .title-1 { margin-bottom: 20px; }
}

@media screen and (min-width: 769px) {
  .service-download { margin-top: 120px; padding: 90px 0 140px; }
  .service-download-above { display: flex; align-items: flex-start; margin-bottom: 70px; }
  .service-download .title-1 { width: 198px; }
  .service-download-text { margin-top: -4px; font-size: 1.4rem; line-height: 2.14285714286; }
  .service-download-btn { margin-top: 68px; }
}

/* column page
------------------------------------------------ */
/* common */
.body-page-column .bnr-works { margin-top: 0; }
.body-page-column.single .page-above { margin-bottom: 0; }

/* archive */
.column-archive { padding: 70px 0; background-color: #F5F5F5; border-radius: 50px 50px 0 0; }

@media screen and (max-width: 768px) {
  .column-archive > .l-wrap { padding: 0 40px; }
}

@media screen and (min-width: 769px) {
  .column-archive { padding: 80px 0 200px; }
}

/* detail */
.column-detail-title { margin: 0 0 24px; font-size: 2rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.8; }
.column-detail-introduce { position: relative; margin-bottom: 70px; }
.column-detail-introduce__photo { position: relative; aspect-ratio: 1 / 0.717142857143; margin-bottom: 43px; border-radius: 20px; overflow: hidden; }
.column-detail-introduce__content { padding: 30px; background-color: #F5F5F5; border-radius: 20px; }
.column-detail-introduce__content__block { display: flex; flex-wrap: wrap; align-items: center; }
.column-detail-introduce__content__block:not(:first-child) { margin-top: 30px; padding-top: 30px; border-top: 1px solid #ddd; }
.column-detail-introduce--post { margin: 0 12px 0 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.1em; }
.column-detail-introduce--name { margin: 0; font-size: 1.8rem; font-weight: 500; letter-spacing: 0.1em; }
.column-detail-introduce__text { margin: 20px 0 0; width: 100%; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 2.14285714286; }
.column-detail-content { font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.column-detail-content *:first-child { margin-top: 0 !important; }
.column-detail-content *:last-child { margin-bottom: 0 !important; }
.column-detail-content p { margin: 0; }
.column-detail-content p + p { margin-top: 2.14285714286em; }
.column-detail-content .wp-block-image { margin: 38px 0; }
.column-detail-back { margin: 60px 0 0; }
.column-detail-back > .btn-1 { margin: 0 auto; }

@media screen and (max-width: 768px) {
  .column-detail > .l-wrap { padding: 0 40px; }
}

@media screen and (min-width: 769px) {
  .column-detail-title { margin-bottom: 56px; font-size: 2.8rem; }
  .column-detail-introduce { margin-bottom: 84px; }
  .column-detail-introduce__photo { aspect-ratio: 1 / 0.453703703704; margin-bottom: 70px; }
  .column-detail-introduce__content { padding: 52px 60px; }
  .column-detail-introduce__content__block:not(:first-child) { margin-top: 52px; padding-top: 52px; }
  .column-detail-introduce--post { margin-right: 30px; font-size: 1.6rem; }
  .column-detail-introduce--name { font-size: 2rem; }
  .column-detail-introduce__text { margin-top: 18px; font-size: 1.4rem; }

  .column-detail-content { font-size: 1.4rem; }
  .column-detail-content .wp-block-image { margin: 84px 0; }
  .column-detail-back { margin-top: 110px; }
}

/* news page
------------------------------------------------ */
/* common */
.body-page-news.archive .l-main { padding-bottom: 0; }
.body-page-news.archive .l-ft { margin-top: -30px; }

@media screen and (min-width: 769px) {
  .body-page-news.archive .l-ft { margin-top: -50px; }
}

/* archive */
.news-archive { padding: 70px 0 calc(70px + 30px); background-color: #F5F5F5; border-radius: 50px 50px 0 0; }
.news-archive-category .title-1 { margin-bottom: 30px; }

@media screen and (max-width: 768px) {
  .news-archive > .l-wrap { padding: 0 40px; }
  .news-archive-category { margin-bottom: 60px; }
}

@media screen and (min-width: 769px) {
  .news-archive { padding: 80px 0 calc(200px + 50px); }
  .news-archive > .l-wrap { display: flex; flex-wrap: wrap; }
  .news-archive-category { width: 295px; }
  .news-archive-category .title-1 { margin-bottom: 55px; }
  .news-archive .lists-news2 { width: calc(100% - 295px); }
  .news-archive .pagination { width: 100%; }
}

/* detail */
.news-detail-above { display: flex; flex-wrap: wrap; margin-bottom: 60px; }
.news-detail-categories { display: flex; flex-wrap: wrap; }
.news-detail-categories span { display: flex; align-items: center; font-family: 'Figtree', sans-serif; font-size: 1.3rem; font-weight: 600; letter-spacing: 0.1em; line-height: 1.2; }
.news-detail-categories span i { margin-right: 6px; width: 8px; height: 8px; border-radius: 50%; }
.news-detail-date { margin: 0 0 0 auto; font-family: 'Figtree', sans-serif; font-size: 1.6rem; font-weight: 600; line-height: 1.2; color: #8D8D8D; }
.news-detail-title { margin: 46px 0 0; width: 100%; font-size: 2rem; font-weight: 700; line-height: 1.8; }
.news-detail-content { word-break: break-all; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.news-detail-content p { margin: 0; }
.news-detail-content p + p { margin-top: 2.14285714286em; }
.news-detail-content h2.wp-block-heading { margin: 62px 0 20px; font-size: 1.8rem; font-weight: 700; line-height: 1.66666666667; }
.news-detail-content h2.wp-block-heading:first-child { margin-top: 0; }
.news-detail-content iframe { margin: 20px 0 38px; }
.news-detail-content img { border-radius: 20px; }
.news-detail-back { margin: 78px 0 0; }
.news-detail-back > .btn-1 { margin: 0 auto; }

@media screen and (max-width: 768px) {
  .news-detail > .l-wrap { padding: 0 40px; }
  .news-detail-content iframe { max-height: 45.1162790698vw; }
}

@media screen and (min-width: 769px) {
  .news-detail-above { margin-bottom: 84px; }
  .news-detail-categories { margin-bottom: 14px; }
  .news-detail-categories span { font-size: 1.3rem; }
  .news-detail-date { font-size: 1.6rem; }
  .news-detail-title { margin-top: 8px; font-size: 3rem; }
  .news-detail-content { font-size: 1.4rem; }
  .news-detail-content h2.wp-block-heading { margin: 78px 0 14px; font-size: 2rem; line-height: 2; }
  .news-detail-back { margin-top: 100px; }
}

/* works page
------------------------------------------------ */
/* common */
.body-page-works.archive .l-main,
.body-page-works.single .l-main { padding-bottom: 0; }
.body-page-works.archive .l-ft,
.body-page-works.single .l-ft { margin-top: -30px; }

@media screen and (min-width: 769px) {
  .body-page-works.archive .l-ft,
  .body-page-works.single .l-ft { margin-top: -50px; }
}

/* archive */
.works-archive { padding: 70px 0 calc(70px + 30px); background-color: #F5F5F5; border-radius: 50px 50px 0 0; }
.works-archive-category .title-1 { margin-bottom: 62px; }

@media screen and (max-width: 768px) {
  .works-archive > .l-wrap { padding: 0 40px; }
  .works-archive-category { margin-bottom: 52px; }
  .works-archive-category .title-1 { display: none; }
}

@media screen and (min-width: 769px) {
  .works-archive { padding: 80px 0 calc(200px + 50px); }
  .works-archive > .l-wrap { display: flex; flex-wrap: wrap; }
  .works-archive-category { width: 295px; }
  .works-archive .lists-work { width: calc(100% - 295px); }
  .works-archive .pagination { width: 100%; }
}

/* detail */
.works-detail-above { margin-bottom: 60px; }
.works-detail-company { margin: 0 0 14px; font-size: 2.4rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.5; }
.works-detail-title { margin: 0; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.71428571429; }
.works-detail-title > a { display: inline-block; position: relative; padding-left: 32px; vertical-align: top; color: #000; }
.works-detail-title > a::before { content: ''; position: absolute; top: 7px; left: 0; width: 19px; height: 13px; background: url(./_assets/img/icon/sns_youtube1.svg) no-repeat center center; background-size: 100% 100%; }
.works-detail-copy { margin: 28px 0 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 2.14285714286; }
.works-detail-support { display: flex; margin: 22px 0 0; }
.works-detail-support__title,
.works-detail-support__text { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 2.14285714286; color: #B1B1B1; }
.works-detail-support__title { white-space: nowrap; }
.works-detail-support__text { margin: 0; }
.works-detail-categories { display: flex; flex-wrap: wrap; margin: 22px 0 0 -8px; }
.works-detail-categories span { margin: 8px 0 0 8px; padding: 4px 15px; background-color: #F5F5F5; border-radius: 20px; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.2; color: #000; }
.works-detail-introduce__photo { position: relative; aspect-ratio: 1 / 0.56; border-radius: 10px; overflow: hidden; }
.works-detail-below { padding: 70px 0 calc(70px + 30px); background-color: #F5F5F5; border-radius: 50px 50px 0 0; }
.works-detail-content { font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.works-detail-content *:first-child { margin-top: 0 !important; }
.works-detail-content *:last-child { margin-bottom: 0 !important; }
.works-detail-content p { margin: 0; }
.works-detail-content p + p { margin-top: 2.14285714286em; }
.works-detail-content .wp-block-image { margin: 38px 0; }
.works-detail-back { margin: 70px 0 0; }
.works-detail-back > .btn-1 { margin: 0 auto; }

@media screen and (max-width: 768px) {
  .works-detail-above > .l-wrap { padding: 0 40px; }
  .works-detail-introduce__photo { margin-top: 40px; }
  .works-detail-below > .l-wrap { padding: 0 40px; }
}

@media screen and (min-width: 769px) {
  .works-detail-above { margin-bottom: 100px; }
  .works-detail-introduce { display: flex; align-items: flex-start; }
  .works-detail-company { margin-bottom: 14px; font-size: 3rem; }
  .works-detail-title { font-size: 1.4rem; }
  .works-detail-title > a { padding-left: 42px; }
  .works-detail-title > a::before { top: 3px; width: 28px; height: 20px; }
  .works-detail-copy { margin-top: 48px; font-size: 1.4rem; }
  .works-detail-support { margin-top: 20px; }
  .works-detail-support__title,
  .works-detail-support__text { font-size: 1.4rem; }
  .works-detail-categories { margin-top: 28px; }
  .works-detail-categories span { padding: 4px 12px; font-size: 1.3rem; }
  .works-detail-introduce__info { margin-right: 66px; width: calc(100% - (44.8148148148% + 66px)); }
  .works-detail-introduce__photo { width: 44.8148148148%; }
  .works-detail-below { padding: 90px 0 180px; }
  .works-detail-content .wp-block-image { margin: 60px 0; }
  .works-detail-content .wp-block-image figure.aligncenter { max-width: 836px; }
  .works-detail-back { margin-top: 120px; }
}

/* download page
------------------------------------------------ */
/* common */
.body-page-download.archive .l-main,
.body-page-download-form.is-form-input .l-main,
.body-page-download-form.is-form-confirm .l-main { padding-bottom: 0; }
.body-page-download.archive .l-ft,
.body-page-download-form.is-form-input .l-ft,
.body-page-download-form.is-form-confirm .l-ft { margin-top: -30px; }

@media screen and (max-width: 768px) {
  .download-form .form-flow-item { letter-spacing: 0; }
}

@media screen and (min-width: 769px) {
  .body-page-download.archive .l-ft,
  .body-page-download-form.is-form-input .l-ft,
  .body-page-download-form.is-form-confirm .l-ft { margin-top: -50px; }
}

/* explain */
.download-explain { margin-bottom: 60px; }
.download-explain-text { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }

@media screen and (max-width: 768px) {
  .download-explain > .l-wrap { padding: 0 40px; }
}

@media screen and (min-width: 769px) {
  .download-explain { margin-bottom: 62px; }
  .download-explain-text { font-size: 1.4rem; }
}

/* archive */
.download-archive { padding: 70px 0 calc(70px + 30px); background-color: #F5F5F5; border-radius: 50px 50px 0 0; }

@media screen and (max-width: 768px) {
  .download-archive > .l-wrap { padding: 0 40px; }
}

@media screen and (min-width: 769px) {
  .download-archive { padding: 80px 0 calc(200px + 50px); }
}

/* detail */
.download-detail-photos { display: flex; }
.download-detail-photos__item { aspect-ratio: 1 / 1.25954198473; box-shadow: 3px 3px 10px rgba(0,0,0,0.25); }
.download-detail-title { margin: 0; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.5; }
.download-detail-subtitle { margin: 0; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.66666666667; }
.download-detail-text { margin: 14px 0 0; font-size: 1.2rem; letter-spacing: 0.1em; line-height: 2; }
.download-detail-btn { margin: 28px 0 0; }

@media screen and (max-width: 768px) {
  .download-detail-photos { margin-bottom: 28px; }
  .download-detail-btn > .btn-1 { margin: 0 auto; }
}

@media screen and (min-width: 769px) {
  .download-detail .post-modal-content { display: flex; align-items: center; }
  .download-detail-photos { width: 44.1048034934%; }
  .download-detail-info { width: 100%; }
  .download-detail-photos + .download-detail-info { margin-left: 65px; width: calc(100% - (44.1048034934% + 65px)); }
  .download-detail-title { font-size: 2rem; }
  .download-detail-subtitle { font-size: 1.2rem; }
  .download-detail-text { margin-top: 26px; font-size: 1.4rem; line-height: 2.14285714286; }
  .download-detail-btn { margin-top: 30px; }
}

/* form */
.download-form .form-content { padding-bottom: calc(70px + 30px); }

@media screen and (min-width: 769px) {
  .download-form .form-content { padding-bottom: calc(200px + 30px); }
}

/* contact page
------------------------------------------------ */
/* common */
.body-page-contact.is-form-input .l-main,
.body-page-contact.is-form-confirm .l-main { padding-bottom: 0; }
.body-page-contact.is-form-input .l-ft,
.body-page-contact.is-form-confirm .l-ft { margin-top: -30px; }

@media screen and (min-width: 769px) {
  .body-page-contact.is-form-input .l-ft,
  .body-page-contact.is-form-confirm .l-ft { margin-top: -50px; }
}

/* form */
.contact-form .form-content { padding-bottom: calc(70px + 30px); }

@media screen and (min-width: 769px) {
  .contact-form .form-content { padding-bottom: calc(200px + 30px); }
}

/* privacy policy page
------------------------------------------------ */
.privacy-text { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.privacy-lists { counter-reset: number 0; margin-top: 64px; }
.privacy-lists-item { position: relative; }
.privacy-lists-item:not(:last-child) { margin-bottom: 52px; padding-bottom: 52px; border-bottom: 1px solid #D9D9D9; }
.privacy-lists-title { margin: 0 0 34px; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.75; }
.privacy-lists-title::before { counter-increment: number 1; content: counter(number); position: absolute; top: 0.1em; left: 0; font-family: 'Figtree', sans-serif; font-weight: 600; }
.privacy-lists-content { font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.privacy-lists-content dl { margin: 2.14285714286em 0 0; }
.privacy-lists-content dl > dt { font-weight: 500; }
.privacy-lists-content dl > dd { margin: 0; }
.privacy-lists-content ul { margin-left: 1.3em; list-style: disc; }
.privacy-lists-content ol { margin-left: 1.3em; list-style: decimal; }
.privacy-end { margin: calc(2.14285714286em * 2) 0 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }

@media screen and (max-width: 768px) {
  .body-page-privacy .page-en { font-size: 4.4rem; }
  .privacy > .l-wrap { padding: 0 40px; }
  .privacy-lists-title { position: relative; padding-left: 1em; }
}

@media screen and (max-width: 430px) {
  .body-page-privacy .page-en { font-size: 10.2325581395vw; }
}

@media screen and (min-width: 769px) {
  .privacy-text { font-size: 1.4rem; }
  .privacy-lists { margin-top: 84px; }
  .privacy-lists-item { padding-left: 34px; }
  .privacy-lists-item:not(:last-child) { margin-bottom: 42px; padding-bottom: 48px; }
  .privacy-lists-title { margin-bottom: 20px; font-size: 1.8rem; }
  .privacy-lists-title::before { top: 0.08em; }
  .privacy-lists-content { font-size: 1.4rem; }
  .privacy-end { padding-left: 34px; font-size: 1.4rem; }
}

/* notfound page
------------------------------------------------ */
.notfound-title { margin: 0 0 20px; text-align: center; font-family: 'Figtree', sans-serif; font-size: 6rem; font-weight: 600; line-height: 1.2; }
.notfound-text { margin: 0; text-align: center; font-size: 1.4rem; font-weight: 400; }
.notfound-back { margin: 40px 0 0; }
.notfound-back > .btn-1 { margin: 0 auto; }

@media screen and (min-width: 769px) {
  .notfound-title { margin-bottom: 40px; font-size: 8rem; }
  .notfound-text { font-size: 1.4rem; }
  .notfound-back { margin-top: 60px; }
}

/* footer
------------------------------------------------ */
.l-ft { position: relative; padding-bottom: 23.2558139535vw; background-color: #000; border-radius: 30px 30px 0 0; color: #fff; overflow: hidden; }
.l-ft a,
.l-ft button { color: #fff; }
.l-ft-contact { position: relative; padding: 76px 0 65px; }
.l-ft-contact__title { margin: 0; text-align: center; font-family: 'Figtree', sans-serif; font-size: 5.6rem; font-weight: 600; line-height: 1.2; }
.l-ft-contact__title span { display: inline-block; vertical-align: top; }
.l-ft-contact__text { margin: 18px 0 0; text-align: center; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.14285714286; }
.l-ft-contact__text > a { text-decoration: none; }
.l-ft-contact__link { display: none; }
.l-ft-logo { margin: 0; width: 298px; font-size: 1rem; line-height: 1.2; }
.l-ft-logo > a { display: block; width: 100%; }
.l-ft-logo img { width: 100%; }
.l-ft-links__item > a { text-decoration: none; font-family: 'Figtree', sans-serif; font-size: 1.8rem; font-weight: 600; line-height: 1.2; }
.l-ft-links__item.is-link-privacy { padding-top: 4px; }
.l-ft-links__item.is-link-privacy > a { font-size: 1.4rem; font-weight: 500; }
.l-ft-sublinks__item > a { text-decoration: none; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.2; }
.l-ft-below { display: flex; justify-content: space-between; margin-top: 46px; }
.l-ft-copyright { margin: 0; font-family: 'Figtree', sans-serif; font-size: 1.2rem; font-weight: 500; line-height: 1.2; }
.l-ft-copyright > small { font-size: inherit; }
.l-ft-pagetop { display: inline-block; text-decoration: none; vertical-align: top; font-family: 'Figtree', sans-serif; font-size: 1.4rem; font-weight: 500; line-height: 1.2; }
.l-ft-privacy { text-decoration: none; font-family: 'Figtree', sans-serif; font-size: 1.4rem; font-weight: 500; line-height: 1.2; }
.l-ft-copy { position: absolute; bottom: -6.19047619048vw; left: 0; margin: 0; white-space: nowrap; visibility: visible; }
.l-ft-copy__frame { position: relative; width: 100%; }
.l-ft-copy__lists__item { display: flex; position: relative; font-family: 'Figtree', sans-serif; font-size: 23.2558139535vw; font-weight: 600; line-height: 1.2; }
.l-ft-copy__lists__item > span { position: relative; overflow: hidden; }
.l-ft-copy__lists__item > span > span { display: block; transition: transform 0.6s ease; transform: translate3d(0,100%,0); }
.l-ft-copy__lists__item.is-active > span > span { transform: translate3d(0,0,0); }

.u-device-click .l-ft-links__item > a,
.u-device-click .l-ft-sublinks__item > a,
.u-device-click .l-ft-pagetop,
.u-device-click .l-ft-privacy { transition: color 0.4s ease; }
.u-device-click .l-ft-links__item > a:hover,
.u-device-click .l-ft-sublinks__item > a:hover,
.u-device-click .l-ft-pagetop:hover,
.u-device-click .l-ft-privacy:hover { color: #D2FF56; }

.u-device-click .l-ft-contact__link { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; }
.u-device-click .l-ft-contact__link i { display: block; pointer-events: none; position: absolute; top: 0; left: 0; margin: -22px 0 0 -32px; width: 63px; opacity: 0; }

@media screen and (max-width: 768px) {
  .l-ft > .l-wrap { padding: 0 20px; }
  .l-ft-links { display: flex; flex-wrap: wrap; padding: 50px 0 50px 20px; border-top: 1px solid #D9D9D9; border-bottom: 1px solid #D9D9D9; }
  .l-ft-links__item { margin-top: 30px; }
  .l-ft-links__item:nth-of-type(2n) { width: 53%; }
  .l-ft-links__item:nth-of-type(2n+1) { width: 47%; }
  .l-ft-links__item:nth-of-type(-n+2) { margin-top: 0; }
  .l-ft-sublinks { margin-top: 18px; }
  .l-ft-sublinks__item:not(:first-child) { margin-top: 22px; }
  .l-ft-logo { margin: 50px auto 0; }
}

@media screen and (min-width: 769px) {
  .l-ft { padding-bottom: 12.890625vw; border-radius: 50px 50px 0 0; }
  .l-ft-contact { padding: 110px 0 100px; }
  .l-ft-contact__title { font-size: 10rem; }
  .l-ft-contact__text { margin-top: 24px; font-size: 1.6rem; }
  .l-ft-mid { display: flex; flex-flow: row-reverse; justify-content: space-between; padding-top: 64px; border-top: 1px solid #fff; }
  .l-ft-links { display: grid; grid-column-gap: 38px; }
  .l-ft-links__item { margin-top: 16px; }
  .l-ft-links__item > a { font-size: 1.6rem; }
  .l-ft-links__item:nth-of-type(1) { grid-row: 1 / 5; grid-column: 1; margin-top: 0; }
  .l-ft-links__item:nth-of-type(2) { grid-row: 1 / 5; grid-column: 2; margin: 0 12px 0 0; }
  .l-ft-links__item:nth-of-type(3) { grid-row: 1; grid-column: 3; margin-top: 0; }
  .l-ft-links__item:nth-of-type(4) { grid-row: 2; grid-column: 3; }
  .l-ft-links__item:nth-of-type(5) { grid-row: 3; grid-column: 3; }
  .l-ft-links__item:nth-of-type(6) { grid-row: 1; grid-column: 4; margin-top: 0; }
  .l-ft-links__item:nth-of-type(7) { grid-row: 2; grid-column: 4; }
  .l-ft-sublinks { margin-top: 22px; }
  .l-ft-sublinks__item:not(:first-child) { margin-top: 10px; }
  .l-ft-sublinks__item > a { font-size: 1.4rem; }
  .l-ft-logo { width: 221px; }
  .l-ft-below { margin-top: 160px; }
  .l-ft-copyright { font-size: 1.4rem; }
  .l-ft-pagetop { font-size: 1.4rem; }
  .l-ft-copy { bottom: -5.078125vw; }
  .l-ft-copy__lists__item { font-size: 14.0625vw; }
}
