@charset "utf-8";

/*
Theme Name: Exquisite
*/

/*===========================================
Foundation
===========================================*/
/*
Reset.cssやNormalize.cssなどを用いたブラウザのデフォルトスタイルの初期化や、
プロジェクトにおける基本的なスタイルを定義します。
ページの下地としての全体の背景や、基本的なタイポグラフィなどが該当します。
*/

/* ress.min.css */
html{-webkit-text-size-adjust:100%;box-sizing:border-box;-moz-tab-size:4;tab-size:4;word-break:normal}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{margin:0;padding:0}hr{color:inherit;height:0;overflow:visible}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}

/* splide-core.min.css */
/*@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}*/

/* Cormorant Garamond */
@font-face {
  font-display: swap;
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 300 900;
  src: url("./lib/fonts/Cormorant_Garamond/CormorantGaramond-VariableFont_wght.woff2") format("woff2"),
       url("./lib/fonts/Cormorant_Garamond/CormorantGaramond-VariableFont_wght.woff") format("woff"),
       url("./lib/fonts/Cormorant_Garamond/CormorantGaramond-VariableFont_wght.ttf") format("truetype");
}

/* Figtree */
@font-face {
  font-display: swap;
  font-family: "Figtree";
  font-style: normal;
  font-weight: 300 900;
  src: url("./lib/fonts/Figtree/Figtree-VariableFont_wght.woff2") format("woff2"),
       url("./lib/fonts/Figtree/Figtree-VariableFont_wght.woff") format("woff"),
       url("./lib/fonts/Figtree/Figtree-VariableFont_wght.ttf") format("truetype");
}

/* Lato */
@font-face {
  font-display: swap;
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  src: url("lib/fonts/Lato/Lato-Regular.woff2") format("woff2"),
       url("lib/fonts/Lato/Lato-Regular.woff") format("woff"),
       url("lib/fonts/Lato/Lato-Regular.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  src: url("lib/fonts/Lato/Lato-Bold.woff2") format("woff2"),
       url("lib/fonts/Lato/Lato-Bold.woff") format("woff"),
       url("lib/fonts/Lato/Lato-Bold.ttf") format("truetype");
}

/* Noto Sans Japanese */
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400 700;
  src: url("./lib/fonts/Noto_Sans_JP/NotoSansJP-VariableFont_wght.woff2") format("woff2"),
       url("./lib/fonts/Noto_Sans_JP/NotoSansJP-VariableFont_wght.woff") format("woff"),
       url("./lib/fonts/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf") format("truetype");
}

/* Noto Serif Japanese */
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 400 700;
  src: url("./lib/fonts/Noto_Serif_JP/NotoSerifJP-VariableFont_wght.woff2") format("woff2"),
       url("./lib/fonts/Noto_Serif_JP/NotoSerifJP-VariableFont_wght.woff") format("woff"),
       url("./lib/fonts/Noto_Serif_JP/NotoSerifJP-VariableFont_wght.ttf") format("truetype");
}

/* Shippori Mincho */
@font-face {
  font-display: swap;
  font-family: "Shippori Mincho";
  font-style: normal;
  font-weight: 400;
  src: url("lib/fonts/Shippori_Mincho/ShipporiMincho-Regular.woff2") format("woff2"),
       url("lib/fonts/Shippori_Mincho/ShipporiMincho-Regular.woff") format("woff"),
       url("lib/fonts/Shippori_Mincho/ShipporiMincho-Regular.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "Shippori Mincho";
  font-style: normal;
  font-weight: 500;
  src: url("lib/fonts/Shippori_Mincho/ShipporiMincho-Medium.woff2") format("woff2"),
       url("lib/fonts/Shippori_Mincho/ShipporiMincho-Medium.woff") format("woff"),
       url("lib/fonts/Shippori_Mincho/ShipporiMincho-Medium.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "Shippori Mincho";
  font-style: normal;
  font-weight: 700;
  src: url("lib/fonts/Shippori_Mincho/ShipporiMincho-Bold.woff2") format("woff2"),
       url("lib/fonts/Shippori_Mincho/ShipporiMincho-Bold.woff") format("woff"),
       url("lib/fonts/Shippori_Mincho/ShipporiMincho-Bold.ttf") format("truetype");
}

body {

  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  line-height: calc(32 / 15);
  letter-spacing: 0.1em;

}

textarea {
  border-radius: 0;
  vertical-align: bottom
}

picture {
  display: block
}

address {
  font-style: normal
}

iframe {
  vertical-align: bottom
}

table {
  width: 100%;
  border-collapse: collapse
}

video {
  vertical-align: bottom
}

time {
  display: block
}

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

li {
  list-style-type: none
}

a {
  text-decoration: none
}

@media screen and (max-width: 767px) {

  body {
    font-size: 13px;
    line-height: calc(58 / 26);
  }

}

/*===========================================
Layout
===========================================*/
/*
ページを構成するヘッダーやメインのコンテンツエリア、
サイドバーやフッターといったプロジェクト共通の
コンテナーブロックのスタイルを定義します。
*/

.l-wrapper {
  overflow: clip;
  /*min-width: calc(1280px + (18px * 2));*/
  /*margin: 0 auto;*/
}

body:not(.home) .l-wrapper {
  padding-top: 70px;
}

.l-container {
  padding: 120px 0;
}

.l-container__inner {
  max-width: calc(1224px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.l-container__columns {
  display: grid;
  grid-template-columns: 1fr 276px;
  gap: 0 64px;
}

[id] {
  scroll-margin-top: calc(70px + 40px);
}

/*.is-inview {
  position: relative;
  overflow: hidden;
}

.is-inview::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform: translateY(0);
  width: 100%;
  height: 100%;
  content: "";
  transition: transform 0.6s ease-out;
}

.is-inview.is-show::before {
  transform: translateY(-100%);
}*/

.is-inview-image {
  /*visibility: hidden;*/
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(.104, .204, .492, 1) .02s;
}

.is-inview-image.is-show {
  /*visibility: visible;*/
  opacity: 1;
}

.is-inview-backgroud {
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(.104, .204, .492, 1) .02s;
}

.is-inview-backgroud.is-show {
  opacity: 1;
}

@media screen and (max-width: 1331px) {

  .l-wrapper {
    min-width: 100%;
  }

  body:not(.home) .l-wrapper {
    padding-top: 54px;
  }

  [id] {
    scroll-margin-top: calc(54px + 24px);
  }

}

@media screen and (max-width: 767px) {



}

/* ヘッダー */
/*.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 100px;
  border-bottom: 1px solid #dedede;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, .1);
  background: #fff;
}

.l-header__inner {
  height: 100%;
  padding: 0 18px;
}

.l-header__columns {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 20px;
  height: 100%;
}

.l-header__column:first-child {
  margin-right: auto;
}

.l-header__logo {
  width: 250px;
}

.l-header__logo a {
  display: block;
  transition: opacity .3s;
}

.l-header__logo a:hover {
  opacity: .7;
}

.l-header__logo img {
  display: block;
}

.l-extra-nav {
  padding-top: 2px;
}

.l-extra-nav__list {
  display: flex;
  justify-content: flex-end;
  gap: 0 24px;
}

.l-extra-nav__item a {
  display: block;
  color: #666;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  transition: opacity .3s;
}

.l-extra-nav__item a:hover {
  opacity: .7;
}

.l-nav {
  margin-top: 11px;
}

.l-nav__list {
  display: flex;
  justify-content: flex-end;
  gap: 0 28px;
}

.l-nav__item a {
  display: flex;
  color: #333;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  transition: opacity .3s;
}

.l-nav__item a:hover {
  opacity: .7;
}

.l-nav__item--pull-down a::after {
  width: 9px;
  height: 15px;
  margin: 3px 0 0 6px;
  content: "";
}

.l-header__button a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  width: 100px;
  height: 50px;
  padding-top: 3px;
  border-radius: 3px;
  box-shadow: 0 2px 3px rgba(0, 0, 0, .25);
  background: linear-gradient(180deg, #d5bb6f 40%, #98723e 60%);
  color: #fff;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-shadow: 0 2px 2px rgba(0, 0, 0, .16);
  line-height: 1.5;
  transition: opacity .3s;
}

.l-header__button a:hover {
  opacity: .7;
}

.l-header__button a::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  transform: translate(-50%, -50%);
  width: calc(100% - (2px * 2));
  height: calc(100% - (2px * 2));
  border: 1px solid #af9455;
  background: linear-gradient(to right bottom, #e6c869 5%, #b3883b);
  content: "";
}

.l-header__button a::after {
  width: 15px;
  height: 25px;
  content: "";
}

@media screen and (max-width: 767px) {

  .l-header {
    height: 62px;
    height: 72px;

    position: static;
    height: 64px;

  }

  .l-header__inner {
    padding: 0 16px;
  }

  .l-header__logo {
    width: 98px;
    width: 120px;

    width: 96px;
    width: 104px;

  }

  .l-nav {
    display: none;
  }

  .l-menu .l-nav {
    display: block;
  }

  .l-nav__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 0;
  }

  .l-nav__item:nth-child(2n) {
    padding-left: 16px;
  }

  .l-nav__item a {
    display: block;
    padding: 0;
    color: #fff;
    font-size: 16px;

    font-size: 17px;

  }

  .l-nav__item.is-current a {
    color: #fff;
  }

  .l-nav__item.is-current a::before {
    content: none;
  }

  .l-nav__item--pull-down a::after {
    content: none;
  }

  .l-header__contact {
    display: none;
  }

}*/

/* ハンバーガーボタン */
.p-hamburger {
  display: none;
}

@media screen and (max-width: 767px) {

  .p-hamburger {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 6px;
    gap: 0 8px;
    position: fixed;
    bottom: 16px;
    bottom: 24px;
    right: 24px;
    z-index: 1100;
    width: 110px;
    width: 120px;
    width: 126px;
    height: 42px;
    height: 48px;
    height: 56px;
    /*padding-left: 22px;*/
    border-radius: 9999px;
    border-radius: 5px;
    background: #1571da;
    background: #01c7a0;
    background: #191F4D;
    cursor: pointer;
    transition: background .2s;
  }

  .p-hamburger.is-open {
    background: #fff;
  }

  .p-hamburger__line {
    display: flex;
    flex-direction: column;
    gap: 4px 0;
  }

  .p-hamburger__line span {
    width: 12px;
    width: 14px;
    width: 16px;
    height: 1px;
    height: 1.5px;
    background: #fff;
    /*transition: transform .2s, background .2s, opacity .2s;*/
  }

  .p-hamburger.is-open .p-hamburger__line span {
    width: 14px;
    width: 18px;
    height: 2px;
    height: 1.5px;
    background: #1571da;
    background: #01c7a0;
    background: #191F4D;
  }

  .p-hamburger.is-open .p-hamburger__line span:nth-child(1) {
    transform: translateY(5.5px) rotate(-45deg);
    /*transform: translateY(5px) rotate(-45deg);*/
  }

  .p-hamburger.is-open .p-hamburger__line span:nth-child(2) {
    opacity: 0;
  }

  .p-hamburger.is-open .p-hamburger__line span:nth-child(3) {
    transform: translateY(-5.5px) rotate(45deg);
    /*transform: translateY(-5px) rotate(45deg);*/
  }

  .p-hamburger__text {
    color: #fff;
    font-size: 12px;
    font-size: 14px;
    font-size: 16px;
    font-weight: 700;
    font-weight: 500;
    line-height: 1;
    transition: color .2s;
  }

  .p-hamburger__text--open {
    letter-spacing: 0.02em;
  }

  .p-hamburger__text--close {
    display: none;
  }

  .p-hamburger.is-open .p-hamburger__text--open {
    display: none;
  }

  .p-hamburger.is-open .p-hamburger__text--close {
    display: block;
    color: #1571da;
    color: #01c7a0;
    color: #191F4D;
  }

}

/* ハンバーガーメニュー */
.l-menu {
  display: none;
}

@media screen and (max-width: 767px) {

  .l-menu {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    overflow-y: auto;
    visibility: hidden;
    width: 100%;
    height: 100%;
    padding: 18px 0 48px;
    padding: 24px 0 64px;

    padding: 32px 0 calc(40px + (56px + 24px));
    padding: 40px 0 calc(48px + (56px + 24px));

    background: rgba(18, 24, 56, 1);
    opacity: 0;
  }

  .l-menu.is-open {
    visibility: visible;
    opacity: 1;
  }

  .l-menu__inner {
    padding: 0 18px;
  }

  .l-menu__logo {
    width: 120px;

    width: 96px;
    width: 104px;

    margin-bottom: 24px;
    margin-bottom: 32px;
    margin-bottom: 40px;
  }

  .l-menu__logo a {
    display: block;
    transition: opacity .3s;
  }

  .l-menu__logo a:hover {
    opacity: .7;
  }

  .l-menu__logo img {
    display: block;
  }

  .l-menu__phone {
    margin-top: 32px;
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid rgba(255, 255, 255, .25);
  }

  .l-menu__buttons {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 12px;
    margin-top: 20px;
    margin-top: 24px;
    margin-top: 32px;
  }

  .l-menu__button a {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 54px;
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #1571da;
    background: #fff;
    color: #1571da;
    font-weight: 600;
    letter-spacing: 0.04em;
    transition: background .3s, color .3s;
  }

  .l-menu__button--contrast a {
    background: #1571da;
    color: #fff;
  }

  .l-menu__button a:hover {
    background: #1571da;
    color: #fff;
  }

  .l-menu__button--contrast a:hover {
    background: #fff;
    color: #1571da;
  }

}

/* 背景 */
.l-burger-mask {
  display: none;
}

@media screen and (max-width: 767px) {

  .l-burger-mask {
    /*display: block;*/
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 900;
    transform: translate(-24px, -16px);
    width: 110px;
    height: 42px;
    background: rgba(0, 0, 0, .75);
    background: rgba(18, 24, 56, 1);
    border-radius: 9999px;
    /*transition: all .2s ease;*/
  }

  .l-burger-mask.is-open {
    transform: translate(0, 0);
    width: 100%;
    height: 100%;
    border-radius: 0;
  }

}

/* CTA */
.l-cta {
  padding: 60px 0;
  background: url("lib/images/bg_cta.png") no-repeat center / cover;
}

.l-cta__inner {
  max-width: calc(1224px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.l-cta__heading {
  color: #fff;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 16px;
  text-align: center;
  line-height: 1.5;
}

.l-cta__copy {
  margin-top: 10px;
  color: #fff;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3125;
}

.l-cta__text {
  margin-top: 15px;
  color: #fff;
  text-align: center;
  line-height: 1.625;
}

.l-cta__body {
  margin-top: 34px;
}

.l-cta__content {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 40px;
  background: #fff;
}

.l-cta__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.l-cta__card:nth-child(n + 2) {
  border-left: 1px solid #ccc;
}

.l-cta-card__image {
  width: 140px;
  margin: 0 auto;
}

.l-cta-card__image img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.l-cta-card__heading {
  margin-top: 20px;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 18px;
  text-align: center;
  line-height: 1.4;
}

.l-cta-card__text {
  margin-top: 10px;
  font-size: 14px;
  text-align: center;
  line-height: 1.7;
}

.l-cta__button {
  margin-top: 35px;
}

.l-cta__button a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 80px;
  padding-top: 3px;
  border-radius: 3px;
  box-shadow: 0 2px 3px rgba(0, 0, 0, .25);
  background: linear-gradient(180deg, #d5bb6f 40%, #98723e 60%);
  color: #fff;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 28px;
  font-weight: 700;
  text-shadow: 0 2px 2px rgba(0, 0, 0, .16);
  line-height: 1.5;
  transition: opacity .3s;
}

.l-cta__button a:hover {
  opacity: .7;
}

.l-cta__button a::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  transform: translate(-50%, -50%);
  width: calc(100% - (4px * 2));
  height: calc(100% - (4px * 2));
  border: 1px solid #af9455;
  background: linear-gradient(to right bottom, #e6c869 5%, #b3883b);
  content: "";
}

.l-cta__button a::after {
  width: 30px;
  height: 30px;
  content: "";
}

.l-cta__button a span {
  display: inline-block;
  position: relative;
  margin-right: 19px;
  margin-bottom: 3px;
  padding: 6px 11px 5px 9px;
  border-radius: 4px;
  box-shadow: 0 2px 2px rgba(0, 0, 0, .2);
  background: #fff;
  color: #b4964a;
  font-size: 14px;
  text-shadow: none;
  line-height: 1.7;
  vertical-align: 2px;
}

.l-cta__button a span::after {
  position: absolute;
  top: 8px;
  right: -10px;
  width: 0;
  height: 0;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 13px solid #fff;
  content: "";
}

.l-cta__footer {
  margin-top: 36px;
}

.l-cta-magazine__text {
  color: #fff;
  text-align: center;
  line-height: 1.75;
}

.l-cta-magazine__button {
  margin-top: 15px;
}

.l-cta-magazine__button a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 404px;
  height: 50px;
  margin: 0 auto;
  padding-top: 3px;
  border: 2px solid #f2de9e;
  border-radius: 4px;
  box-shadow: 0 2px 3px rgba(0, 0, 0, .25);
  color: #f2ee9e;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 14px;
  font-weight: 700;
  /*transition: opacity .3s;*/
  transition: background .3s, color .3s;
}

.l-cta-magazine__button a:hover {
  /*opacity: .7;*/
  background: #f2de9e;
  color: #80050a;
}

.l-cta-magazine__button a::after {
  width: 12px;
  height: 12px;
  content: "";
}

@media screen and (max-width: 767px) {



}

/* さらに詳しく知りたい方へ */
.l-know {
  padding: 116px 0 120px;
}

.l-know__body {
  margin-top: 24px;
}

.l-know__inner {
  max-width: calc(1224px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.l-know__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.l-know__item {

}

.l-know__item a {
  display: block;
  padding: 32px 40px;
  background: #f2f2f2;
  color: #0070c5;
  font-weight: 600;
  transition: opacity .3s;
}

.l-know__item a:hover {
  opacity: .7;
}

@media screen and (max-width: 767px) {



}

/* フッター */
/*.l-footer__top {
  padding: 56px 0px;
  background: #f2eee7;
}

.l-footer__bottom {
  padding: 12px 0;
  background: #e3dfd7;
}

body.page-id-13 .l-footer__bottom {
  padding-top: 24px;
  padding-bottom: 22px;
  border: 1px solid #ccc;
  background: #fff;
}

.l-footer__inner {
  max-width: calc(1224px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.l-footer__columns {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 0 70px;
}

.l-footer__column:first-child {
  border-right: 1px solid #dedede;
}

.l-footer__logo {
  width: 250px;
}

.l-footer__logo a {
  display: block;
  transition: opacity .3s;
}

.l-footer__logo a:hover {
  opacity: .7;
}

.l-footer__logo img {
  display: block;
}

.l-footer__name {
  margin-top: 30px;
  font-size: 12px;
}

.l-footer__address {
  margin-top: 24px;
  font-size: 12px;
  line-height: 1.833;
}

.l-footer-menu {
  display: flex;
}

.l-footer-menu__list {
  flex-grow: 1;
}

.l-footer-menu__item:nth-child(n + 2) {
  margin-top: 12px;
}

.l-footer-menu__item a {
  display: block;
  color: #000;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  transition: opacity .3s;
}

.l-footer-menu__item a:hover {
  opacity: .7;
}

.l-footer__copyright {
  font-size: 11px;
  text-align: center;
}

@media screen and (max-width: 767px) {

  .l-footer {
    padding: 48px 0;
  }

  .l-footer__columns {
    flex-direction: column-reverse;
    gap: 40px 0;
    padding-right: 0;
  }

  .l-footer__logo {
    width: 120px;
  }

  .l-footer__address {
    font-size: 15px;
    font-size: 14px;
    line-height: 1.67;

    line-height: 1.7;

  }

  .l-footer__copyright {
    margin-top: 12px;
    font-size: 13px;
    font-size: 14px;
  }

  .l-footer-menu {
    flex-direction: column;
    gap: 12px 0;
    gap: 16px 0;
  }

  .l-footer-menu__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 0;
    gap: 16px 0;
  }

  .l-footer-menu__item a {
    font-size: 14px;
    font-size: 16px;
  }

}*/

/* フッター（問い合わせフォーム・資料ダウンロード） */
.p-footer {
  padding: 26px 0 116px;

  padding: 40px 0 120px;
  padding: 104px 0 40px;

}

.p-footer__inner {
  width: min(100%, calc(1100px + (18px * 2)));
  width: min(100%, calc(960px + (18px * 2)));
  margin: 0 auto;
  padding: 0 18px;
}

.page-template-page-contact .p-footer__inner {
  width: min(100%, calc(680px + (18px * 2)));
}

.p-footer__copyright {
  color: #62656b;
  font-size: 14px;
  font-size: 12px;
  text-align: center;
}

.page-template-page-contact .p-footer__copyright {
  text-align: center;
}

@media screen and (max-width: 767px) {

  .p-footer {
    padding: 64px 0 48px;

    padding: 48px 0 72px;
    padding: 112px 0 24px;

  }

  .p-footer__copyright {
    /*font-size: 14px;*/

    /*text-align: center;*/

  }

  .page-template-page-contact .p-footer__copyright {
    /*text-align: left;*/
  }

}

/*===========================================
Object
===========================================*/
/*-------------------------------------------
Component
-------------------------------------------*/
/*
再利用できるパターンとして、小さな単位のモジュールを定義します。
出来る限り、最低限の機能を持ったものとして定義されるべきであり、
それ自体が固有の幅や色などの特色を持つことは避けるのが望ましいです。
*/

/* 見出し */
/*.c-heading {
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 32px;
  line-height: 1.4375;
  text-align: center;
}

.c-heading::before {
  display: block;
  font-family: "EB Garamond", serif;
  color: #80050a;
  font-size: 20px;
  font-weight: 400;
  text-transform: capitalize;
  letter-spacing: .02em;
  content: attr(data-title);
}*/

@media screen and (max-width: 767px) {



}

/* ボタン */
/*.c-button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 8px;
  width: 390px;
  height: 60px;
  margin: 0 auto;
  border-radius: 4px;
  box-shadow: 0 3px 4px rgba(0, 0, 0, .25);
  background: #80050a;
  color: #fff;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-weight: 700;
  transition: box-shadow .3s, background .3s;
}

.c-button:hover {
  box-shadow: 0 3px 4px rgba(0, 0, 0, .45);
  background: #aa2328;
}

.c-button::after {
  transform: rotate(45deg);
  width: 9px;
  height: 9px;
  border-top: 1.5px solid #f2de9e;
  border-right: 1.5px solid #f2de9e;
  content: "";
}*/

/*-------------------------------------------
Project
-------------------------------------------*/
/*
プロジェクト固有のパターンであり、いくつかのComponentと、
それに該当しない要素によって構成されるものを定義します。
例えば、記事一覧や、ユーザープロフィール、
画像ギャラリーなどコンテンツを構成する要素などが該当します。
*/

.p-section {
  padding: 120px 0;
  padding: 104px 0;
  padding: 96px 0 104px;
  padding: 120px 0;
  padding: 80px 0;

  padding: 112px 0 120px;
}

.p-section--blue-purple {
  background: #f5f7fa;
  background: #eef2f6;
  background: #f5faff;
}

.p-section--slightly-gray {
  background: #f8f8f5;
  background: #f2f5f8;
  background: #f9f9f9;
  background: #f7f7f7;
}

.p-section__inner {
  width: min(100%, calc(1120px + (18px * 2)));
  width: min(100%, calc(1000px + (18px * 2)));
  width: min(100%, calc(1208px + (18px * 2)));
  width: min(100%, calc(944px + (18px * 2)));
  width: min(100%, calc(1024px + (18px * 2)));
  margin: 0 auto;
  padding: 0 18px;

  width: min(100%, calc(1024px + (20px * 2)));
  margin: 0 auto;
  padding: 0 20px;

}

.p-section__inner--narrow {
  width: min(100%, calc(960px + (18px * 2)));
  width: min(100%, calc(1000px + (18px * 2)));
}

/*.p-section__heading {
  color: rgba(var(--main-color), 1);

  color: #2516B2;

  background: linear-gradient(60deg, #0095d8 35%, #0077cb 65%);
  background: linear-gradient(28deg, #2516B2, #3767CA, #4ABAE2);

  background: linear-gradient(36deg, #2516B2, #4ABAE2);

  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;

  font-family: serif;
  font-feature-settings: "palt";
  font-size: 36px;
  font-weight: 400;


  letter-spacing: 0.08em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;


  line-height: 1.375;
}

.p-section__heading--center {
  text-align: center;
}

.p-section__heading span {
  margin: 0 1px;
  font-family: "EB Garamond", serif;
  font-size: 41px;
  font-weight: 300;

  font-size: 42px;
  letter-spacing: 0.06em;
}*/

.p-section__heading {
  display: flex;
  flex-direction: column;
  align-items: center;

  color: #333;
  color: #666;

  font-size: 30px;
  font-weight: 500;
  font-weight: 600;
  line-height: 1.375;
  letter-spacing: 0;
}

.p-section__heading::before {
  margin-bottom: 12px;
  color: #00aba7;

  background: linear-gradient(90deg, #0083B3, #00A79B);
  /*background: linear-gradient(36deg, #2516B2, #4ABAE2);*/
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;

  font-family: "Oswald", sans-serif;
  font-size: 54px;
  font-weight: 400;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.035em;
  content: attr(data-title);
}

.p-section__heading::after {
  width: 50px;
  height: 2px;
  margin: 40px auto 0;
  background: #00aba7;

  /*background: linear-gradient(90deg, #0083B3, #00A79B);*/
  background: #00A79B;
  background: #0083B3;
  /*background: #2516B2;*/

  content: "";
}

.p-section__body {
  margin-top: 32px;
  margin-top: 31px;
  margin-top: 72px;
  margin-top: 64px;

  margin-top: 56px;
}

.p-section__columns {
  display: flex;
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  gap: 0 32px;
}

.p-section__column:nth-child(2) {
  padding-left: 4px;
}

.p-section__desc {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.5;
}

/*.p-section__button {
  margin-top: 56px;
  margin-top: 64px;
}*/

.p-section__footer {
  display: none;
  margin-top: 40px;
}

.p-section__buttons {
  display: flex;
  justify-content: center;
}

.p-block {
  /*padding: 104px 0 calc(136px + (13px * (34 / 15)) + (14px * 2));*/
  padding: 104px 0 136px;
}

.p-block--gainsboro {
  background: #ebebeb;
}

.p-block--gray-background-color {
  background: #f4f3f0;
}

.p-block--blue-purple-background-color {
  background: #f5f7fa;
}

.p-block__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-block__inner--wide {
  max-width: calc(1760px + (18px * 2));
}

.p-block__inner--narrow {
  max-width: calc(880px + (18px * 2));
  max-width: calc(800px + (18px * 2));
}

.p-block__body {
  margin-top: 64px;
}

@media screen and (max-width: 767px) {

  .p-section {
    padding: 88px 0;
  }

  .p-section__heading {
    font-size: 24px;
  }

  .p-section__heading span {
    font-size: 32px;
    font-size: 26px;
  }

  .p-section__heading::before {
    margin-bottom: 8px;
    font-size: 46px;
  }

  .p-section__heading::after {
    margin: 32px auto 0;
  }

  .p-section__body {
    margin-top: 32px;
    margin-top: 40px;
  }

  .p-block {
    padding: 70px 0 90px;
  }

}

/* フローティングボタン・バナー */
.p-float {
  position: fixed;
  bottom: 162px;
  bottom: 30px;
  right: 30px;
  z-index: 10;
  visibility: hidden;
  width: 300px;
  padding: 20px;
  background: #0070c5;
  opacity: 0;
  transition: visibility .2s ease, opacity .2s ease;
}

.p-float.is-visible {
  visibility: visible;
  opacity: 1;
}

.p-float__close {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 40px;
  height: 40px;
  border: 3px solid #0070c5;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  transition: opacity .3s;
}

.p-float__close:hover {
  opacity: .7;
}

.p-float__close::before,
.p-float__close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 4px;
  background: #0070c5;
  content: "";
}

.p-float__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.p-float__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.p-float__image {
  position: relative;
  width: 160px;
  margin: 0 auto;
}

.p-float__image::before,
.p-float__image::after {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  content: "";
}

.p-float__image::before {
  left: 50%;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #0070c5;
}

.p-float__image::after {
  left: calc(50% + 3px);
  width: 20px;
  height: 20px;
  background: #fff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.p-float__image img {
  width: 100%;
  aspect-ratio: 160 / 90;
  object-fit: cover;
}

.p-float__heading {
  margin-top: 14px;
  color: #fff;
  text-align: center;
  line-height: 1.5;
}

.p-float__text {
  margin-top: 2px;
  font-size: 20px;
  line-height: 1.5;
}

.p-float__text a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 9px;
  color: #fff;
  transition: opacity .3s;
}

.p-float__text a:hover {
  opacity: .7;
}

.p-float__text a::before {
  transform: translateY(-1px);
  width: 8px;
  height: 12px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227.396%22%20height%3D%2212%22%20viewBox%3D%220%200%207.396%2012%22%3E%0A%20%20%3Cg%20id%3D%22Group_3663%22%20data-name%3D%22Group%203663%22%20transform%3D%22translate(-177.091%20-479.69)%22%3E%0A%20%20%20%20%3Cpath%20id%3D%22Path_139%22%20data-name%3D%22Path%20139%22%20d%3D%22M.007.03%2C8.486%2C0%2C8.479%2C1.944%2C0%2C1.974Z%22%20transform%3D%22translate(178.486%20479.69)%20rotate(45)%22%20fill%3D%22%23fff%22%2F%3E%0A%20%20%20%20%3Cpath%20id%3D%22Path_140%22%20data-name%3D%22Path%20140%22%20d%3D%22M0%2C0%2C8.478.03l.007%2C1.944L.007%2C1.944Z%22%20transform%3D%22translate(184.487%20485.69)%20rotate(135)%22%20fill%3D%22%23fff%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center / contain;
  content: "";
}

@media screen and (max-width: 767px) {

  .p-float {
    display: none;
  }

}

/* 私たちが選ばれる3つの理由 */
.p-advantages {
  padding-top: 165px;
}

.p-advantages__wrapper {
  position: relative;
  background: #f2eee7;
}

.p-advantages__inner {
  max-width: calc(1224px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-advantages__header {
  position: absolute;
  top: -48px;
  left: 0;
  width: 100%;
}

.p-advantages__cards {
  display: flex;
  counter-reset: counter;
}

.p-advantages__card {
  position: relative;
  width: 33.33333%;
  padding: 56px 76px 72px;
  box-sizing: content-box;
}

.p-advantages__card:first-child {
  padding-left: 0;
}

.p-advantages__card:nth-child(3) {
  padding-right: 0;
}

.p-advantages__card:nth-child(2),
.p-advantages__card:nth-child(3) {
  border-left: 2px solid #fff;
}

.p-advantages__card::before {
  display: block;
  color: #80050a;
  font-family: "EB Garamond", serif;
  font-size: 80px;
  text-align: center;
  line-height: 1;
  content: counter(counter);
  counter-increment: counter;
}

.p-advantages-card__image {
  margin-top: 8px;
}

.p-advantages-card__image img {
  width: 100%;
  aspect-ratio: 304 / 204;
  object-fit: cover;
}

.p-advantages-card__heading {
  margin-top: 20px;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 18px;
  text-align: center;
  line-height: 1.44;
}

.p-advantages-card__text {
  margin-top: 10px;
  text-align: center;
  line-height: 1.625;
}

.p-advantages__footer {
  position: absolute;
  bottom: -30px;
  left: 0;
  width: 100%;
}

@media screen and (max-width: 767px) {



}

/* 提供サービス */
/*.p-service__wrapper {
  position: relative;
  background: #f2eee7;
}

.p-service__inner {
  max-width: calc(1224px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-service__header {
  position: absolute;
  top: -48px;
  left: 0;
  width: 100%;
}

.p-service__body {
  padding-top: 68px;
  padding-bottom: 72px;
  padding-bottom: 88px;
}

.p-service__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px 26px;
}

.p-service__card {
  overflow: hidden;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
  background: #fff;
}

.p-service-card__image {

}

.p-service-card__image img {
  width: 100%;
  aspect-ratio: 388 / 84;
  object-fit: cover;
}

.p-service-card__body {
  padding: 30px 40px;
}

.p-service-card__heading {
  color: #80050a;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 18px;
  line-height: 1.4;
}

.p-service-card__heading::after {
  display: inline-block;
  margin-left: 8px;
  width: 8px;
  height: 12px;
  content: "";
}

.p-service-card__text {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.75;
}

.p-service__footer {
  position: absolute;
  bottom: -30px;
  left: 0;
  width: 100%;
}*/

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/* お知らせ（フロントページ） */
.p-information {
  padding: 98px 0 116px;
  padding: 116px 0 116px;
}

.p-information__inner {
  max-width: calc(1224px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-information__body {
  margin-top: 54px;
}

.p-information__footer {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {



}

/* 転職成功事例・体験談 */
.p-case {
  padding-top: 165px;
}

.p-case__wrapper {
  position: relative;
  background: #f2eee7;
}

.p-case__inner {
  max-width: calc(1224px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-case__header {
  position: absolute;
  top: -48px;
  left: 0;
  width: 100%;
}

.p-case__body {
  padding-top: 68px;
  padding-bottom: 72px;
  padding-bottom: 88px;
}

.p-case__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 49px;
}

.p-case-card__image {
  overflow: hidden;
  border-radius: 3px;
  background: rgba(204, 204, 204, .25);
  background: #fdfdfd;
}

.p-case-card__image img {
  width: 100%;
  aspect-ratio: 334 / 185;
  object-fit: cover;
}

.p-case-card__logo {
  overflow: hidden;
  width: 160px;
  margin-top: -30px;
  border-radius: 3px;
}

.p-case-card__logo img {
  width: 100%;
  height: 60px;
  object-fit: cover;
}

.p-case-card__heading {
  margin-top: 16px;
  color: #80050a;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 20px;
  line-height: 1.4;
}

.p-case-card__corp {
  margin-top: 10px;
  color: #323232;
  font-weight: 500;
  /*font-weight: 600;*/
  letter-spacing: 0;
}

.p-case-card__corp span {
  font-size: 12px;
}

.p-case-card__table {
  margin-top: 8px;
  margin-top: 10px;
}

.p-case-card__table th,
.p-case-card__table td {
  padding: 2px 0;
  color: #323232;
  font-size: 12px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
}

.p-case-card__table th {
  width: 68px;
  width: 74px;
  text-align: left;
}

.p-case__footer {
  position: absolute;
  bottom: -30px;
  left: 0;
  width: 100%;
}

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/* 会社情報 */
.p-company__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 32px;
}

.p-company__card a {
  display: block;
  padding: 25px 30px 20px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
  transition: background .3s;
}

body.page-id-24 .p-company__card a {
  display: flex;
  align-items: center;
  height: 104px;
  padding: 13px 18px 10px;
}

.p-company__card a:hover {
  background: #f2f2f2;
}

.p-company-card__heading {
  color: #80050a;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 18px;
  line-height: 1.5;
}

.p-company-card__text {
  margin-top: 6px;
  color: #333;
  line-height: 1.65;
}

@media screen and (max-width: 767px) {

  /*.p-company__cards {
    flex-direction: column;
    gap: 48px 0;
  }

  .p-company__card:nth-child(-n + 2),
  .p-company__card:nth-child(n + 3) {
    width: 100%;
  }

  .p-company-card__heading {
    margin-top: 12px;
    font-size: 16px;
    font-size: 18px;
  }

  .p-company-card__text {
    margin-top: 4px;
    font-size: 14px;
  }*/

}

/* お知らせ（一覧） */
.p-news__item:first-child {
  border-top: 1px solid #dedede;
}

.p-news__item {
  display: grid;
  grid-template-columns: 82px 116px 1fr;
  gap: 0 20px;
  padding: 20px 0;
  border-bottom: 1px solid #dedede;
}

.p-news-item__time {
  padding-top: 2px;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-weight: 700;
}

.p-news-item__term {
  padding: 6px 12px;
  background: #707070;
  color: #fff;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}

.p-news-item__heading {
  padding-top: 2px;
}

.p-news-item__heading a {
  display: block;
  color: #275481;
  font-size: 16px;
  transition: color .3s;
}

.p-news-item__heading a:hover {
  color: #5ba2cf;
}

@media screen and (max-width: 767px) {




}

/* お知らせ（詳細） */
.p-entry-area {
  padding-bottom: 100px;
}

.p-entry-area__inner {
  width: min(100%, calc(980px + (18px * 2)));
  margin: 0 auto;
  padding: 0 18px;
}

.p-entry-area__time {
  margin-top: 15px;
  margin-bottom: 40px;
  font-size: 14px;
  line-height: 1.15;
}

@media screen and (max-width: 767px) {



}

/* よくあるご質問 */
.tab-menu__head {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.tab-menu__head li {
  padding: 8px;
  background: #f5f5f5;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
}

/* クラス付与時の指定 */
.tab-menu__head li.is-active {
  position: relative;
  border-right: 1px solid #cbcbcb;
  border-left: 1px solid #cbcbcb;
  background: #fff;
  color: #80050a;
}

.tab-menu__head li.is-active::before {
  position: absolute;
  top: -2px;
  left: 0;
  left: -1px;
  height: 2px;
  width: 100%;
  width: calc(100% + 2px);
  background: #80050a;
  content: "";
}

.tab-menu__head li:not(.is-active) {
  border-bottom: 1px solid #cbcbcb;
  transition: background .3s;
}

.tab-menu__head li:not(.is-active):hover {
  background: #d6d6d6;
}

.tab-menu__main {
  margin-top: 80px;
}

.tab-menu__main li {
  display: none;
}

/* クラス付与時の指定 */
.tab-menu__main li.is-active {
  display: block;
}

/*.p-faq__item {
  padding: 27px 0 38px;
  border-bottom: 1px solid #dedede;
}

.p-faq__item:first-child {
  border-top: 1px solid #dedede;
}*/

.p-faq__item dt {
  position: relative;
  padding-left: 40px;
  font-family: 游ゴシック, 游ゴシック体, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-size: 18px;
  font-weight: 700;
}

.p-faq__item dt span {
  position: absolute;
  top: -3px;
  left: 0;
  color: #80050a;
  font-family: "EB Garamond", serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
}

.p-faq__item dd {
  margin-top: 22px;
  padding-left: 40px;
  line-height: 1.625;
}

.p-faq__item dd a {
  color: #6a0515;
  transition: opacity .3s;
}

.p-faq__item dd a:hover {
  opacity: .7;
}

@media screen and (max-width: 767px) {

  .p-faq__rows {
    gap: 64px 0;
    gap: 72px 0;
  }

  .p-faq__heading {
    margin-bottom: 40px;
    font-size: 24px;
  }

  .p-faq__list {
    gap: 24px 0;
    gap: 56px 0;
    /*margin-top: 56px;
    margin-top: 40px;*/
    gap: 40px 0;
  }

  .p-faq__item dt {
    /*font-size: 20px;
    font-size: 22px;*/
  }

  .p-faq__item dd {
    margin-top: 40px;
    margin-top: 32px;
    font-size: 16px;
    font-size: 17px;
    line-height: 1.7;
  }

  .p-faq__item dt,
  .p-faq__item dd {
    position: relative;
    padding-left: calc(40px + 16px);
  }

}

/* 404 ERROR */
.p-not-found__text {
  text-align: center;
}

.p-not-found__buttons {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  gap: 0 32px;
}

@media screen and (max-width: 767px) {



}

/*===========================================
Layout
===========================================*/
/*
ページを構成するヘッダーやメインのコンテンツエリア、
サイドバーやフッターといったプロジェクト共通の
コンテナーブロックのスタイルを定義します。
*/

/* ヘッダー */
/*.p-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 80px;
  background: #fff;
}

.p-header__inner {
  padding: 0 32px;
}

.p-header__columns {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 30px;
  height: 100%;
}

.p-header__column:first-child {
  margin-right: auto;
}

.p-header__logo {
  width: 142px;
  margin-right: auto;
}

.p-header__logo a {
  display: block;
  transition: opacity .3s;
}

.p-header__logo a:hover {
  opacity: .7;
}

.p-header__logo img {
  display: block;
}

.p-nav__list {
  display: flex;
}

.p-nav__item a {
  display: flex;
  align-items: center;
  gap: 0 10px;
  position: relative;
  height: 80px;
  padding: 0 30px;
  color: #101715;
  font-weight: 500;
  transition: opacity .3s;
}

.p-nav__item--has-child a {
  position: relative;
  padding-right: 54px;
}

.p-nav__item a:hover {
  opacity: .7;
}

.p-nav__item.is-current a {
  color: #006F46;
}*/

/*.p-nav__item.is-current a::before {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 6px;
  border-radius: 9999px;
  background: #1571da;
  background: var(--accent-color);
  content: "";
}*/

/*.p-nav__item--has-child a::after {
  position: absolute;
  transform: rotate(90deg);
  right: 25px;
  width: 28px;
  height: 28px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2011.15%206.55%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23A3A3A3%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M5.58%2C6.55c-.13%2C0-.26-.02-.38-.06s-.23-.11-.33-.21L.28%2C1.68c-.18-.18-.28-.42-.28-.7S.09.46.28.28s.42-.28.7-.28.52.09.7.28l3.9%2C3.9L9.48.28c.18-.18.42-.28.7-.28s.52.09.7.28.28.42.28.7-.09.52-.28.7l-4.6%2C4.6c-.1.1-.21.17-.33.21s-.24.06-.38.06Z%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226.667%22%20height%3D%2210%22%3E%3Cpath%20d%3D%22M.3.263a.821.821%200%200%200%200%201.263L4.224%205%20.3%208.475a.821.821%200%200%200%200%201.263%201.1%201.1%200%200%200%201.427%200l4.644-4.111a.821.821%200%200%200%200-1.263L1.724.254A1.114%201.114%200%200%200%20.3.263Z%22%20fill%3D%22%23A3A3A3%22%2F%3E%3C%2Fsvg%3E") no-repeat center / 7px 10px;
  content: "";
}

.p-nav__item--has-child ul {
  display: none;
}

.p-header__contact a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 8px;
  width: 160px;
  height: 48px;
  border-radius: 9999px;
  background: #006F46;
  color: #fff;
  font-weight: 700;
  line-height: 1.25;
  transition: opacity .3s;
}

.p-header__contact a:hover {
  opacity: .7;
}

.p-header__contact a::before {
  width: 18px;
  height: 18px;
  margin: 2px -4px 0 2px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22M0%200h18v18H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20clip-path%3D%22url%28%23a%29%22%3E%3Cpath%20d%3D%22M16.512%204.483a1.507%201.507%200%200%200-1.5-1.506H2.989a1.508%201.508%200%200%200-1.5%201.506v9.034a1.508%201.508%200%200%200%201.5%201.506H15.01a1.508%201.508%200%200%200%201.5-1.506Zm-1.5%200L9%209.247%202.989%204.483Zm0%209.034H2.989V5.988L9%2010.752l6.009-4.764Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
}

@media screen and (max-width: 767px) {

  .p-header {
    height: 60px;
  }

  .p-header__inner {
    padding: 0 18px;
  }

  .p-header__logo {
    width: 96px;
  }

  .p-nav {
    display: none;
  }

  .p-header__contact {
    display: none;
  }

}*/

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*===========================================
Object
===========================================*/
/*-------------------------------------------
Component
-------------------------------------------*/
/*
再利用できるパターンとして、小さな単位のモジュールを定義します。
出来る限り、最低限の機能を持ったものとして定義されるべきであり、
それ自体が固有の幅や色などの特色を持つことは避けるのが望ましいです。
*/

/*-------------------------------------------
Project
-------------------------------------------*/
/*
プロジェクト固有のパターンであり、いくつかのComponentと、
それに該当しない要素によって構成されるものを定義します。
例えば、記事一覧や、ユーザープロフィール、
画像ギャラリーなどコンテンツを構成する要素などが該当します。
*/

/* 私たちの特長 */
.p-forte {
  display: none;
  position: relative;
  padding-top: 64px;
}

.p-forte__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.p-forte__card {
  position: relative;
  padding: 96px 40px 40px;
  background: #fff;
}

.p-forte-card__icon {
  position: absolute;
  top: calc(-120px / 2);
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
}

.p-forte-card__icon img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.p-forte-card__heading {
  /*font-feature-settings: "palt";*/
  font-size: 22px;
  font-weight: 600;
  text-align: center;
  line-height: 1.5;
}

.p-forte-card__text {
  margin-top: 20px;
  color: #666;
  line-height: 1.75;
}

.p-forte__buttons {
  position: absolute;
  bottom: calc(-128px + (-76px / 2));
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {

  .p-forte {
    padding-top: 0;
  }

  .p-forte__cards {
    grid-template-columns: none;
    gap: 12px 0;
  }

  .p-forte__card {
    padding: 64px 24px 24px;
  }

  .p-forte-card__icon {
    display: none;
  }

  .p-forte-card__heading {
    font-size: 20px;
  }

  .p-forte-card__text {
    font-size: 15px;
  }

  .p-forte__buttons {
    bottom: calc(-88px + (-60px / 2));
    width: 100%;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/* お知らせ */
.p-notice {
  font-family: "meiryo-ui", "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.p-notice__card {
  border-bottom: 1px solid #ccc;
}

.p-notice__card:first-child {
  border-top: 1px solid #ccc;
}

.p-notice__card a {
  display: grid;
  /*grid-template-columns: 31.57% 1fr;*/
  grid-template-columns: 34% 1fr;
  align-items: center;
  padding: 15px 0;
}

.p-notice-card__meta {
  display: flex;
  align-items: baseline;
}

.p-notice-card__time {
  color: #000;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.75;
}

.p-notice-card__categories {
  margin-left: 15px;
  padding-left: 14px;
  border-left: 1px solid #ccc;
}

.p-notice-card__category {
  color: #000;
  font-size: 14px;
  line-height: 1;
}

.p-notice-card__heading {
  padding-left: 10px;
  color: #0c419a;
  color: #1571da;
  /*font-size: 16px;*/
  font-size: 15px;
  /*font-weight: 400;*/
  line-height: 1.8;
}

@media screen and (max-width: 767px) {



}

/* よくある質問 */
.p-faq {
  padding: 120px 0;
  color: #2c3a44;
  font-family: "meiryo-ui", "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.02em;
}

.p-faq__indexes {
  margin-bottom: 60px;
}

.p-faq__index {
  display: inline-block;
  margin: 0 25px 6px 0;
}

.p-faq__index a {
  display: inline-block;
  position: relative;
  padding-left: 18px;
  color: #0d3780;
  color: #1571da;
}

.p-faq__index a::before {
  position: absolute;
  top: -3px;
  top: 12px;
  left: 0;
  margin-right: 3px;
  width: 9px;
  height: 5px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229%22%20height%3D%225%22%20viewBox%3D%220%200%209%205%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20id%3D%22%E7%9F%A2%E5%8D%B0%22%20class%3D%22cls-1%22%20d%3D%22M409.015%2C416.828L404.5%2C421l-0.9-.834h0l-3.609-3.337%2C0.9-.835%2C3.609%2C3.338%2C3.61-3.338Z%22%20transform%3D%22translate(-400%20-416)%22%3E%3C%2Fpath%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E") no-repeat center / contain;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229%22%20height%3D%225%22%20viewBox%3D%220%200%209%205%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20id%3D%22%E7%9F%A2%E5%8D%B0%22%20fill%3D%22%230d3780%22%20d%3D%22M409.015%2C416.828L404.5%2C421l-0.9-.834h0l-3.609-3.337%2C0.9-.835%2C3.609%2C3.338%2C3.61-3.338Z%22%20transform%3D%22translate(-400%20-416)%22%3E%3C%2Fpath%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E") no-repeat center / contain;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229%22%20height%3D%225%22%20viewBox%3D%220%200%209%205%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20id%3D%22%E7%9F%A2%E5%8D%B0%22%20fill%3D%22%231571da%22%20d%3D%22M409.015%2C416.828L404.5%2C421l-0.9-.834h0l-3.609-3.337%2C0.9-.835%2C3.609%2C3.338%2C3.61-3.338Z%22%20transform%3D%22translate(-400%20-416)%22%3E%3C%2Fpath%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
}

.p-faq__groups {
  display: grid;
  gap: 70px 0;
}

.p-faq__title {
  margin-bottom: 42px;
  font-size: 34px;
  line-height: 1.4;
}

.p-faq__target {
  margin-bottom: 40px;
}

.p-faq__target a {
  color: #0c419a;
  color: #1571da;
}

.p-faq__target a::after {
  display: inline-block;
  width: 30.06px;
  height: 10.13px;
  margin-left: 8px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230.063%22%20height%3D%2210.125%22%20viewBox%3D%220%200%2030.063%2010.125%22%3E%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20id%3D%22%E7%9F%A2%E5%8D%B0%22%20class%3D%22cls-1%22%20d%3D%22M705%2C989.507V990h-0.493L700%2C994.507l-0.707-.706%2C3.8-3.8H675v-1h28.221l-3.928-3.928%2C0.707-.707L704.635%2C989H705v0.365l0.071%2C0.071Z%22%20transform%3D%22translate(-675%20-984.375)%22%3E%3C%2Fpath%3E%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
}

.p-faq__list {
  display: grid;
  gap: 55px 0;
}

.p-faq__question {
  position: relative;
  margin-bottom: 33px;
  padding: 6px 0 0 64px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
}

.p-faq__question::before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: #052d37;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 22px;
  font-weight: 700;
  content: "Q";
}

.p-faq__answer {
  position: relative;
  padding: 7px 0 0 64px;
}

.p-faq__answer::before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  border: 1px solid #2c3a44;
  background: #fff;
  color: #2c3a44;
  font-family: "Figtree", sans-serif;
  font-size: 22px;
  font-weight: 700;
  content: "A";
}

.p-faq__text {
  margin-bottom: 13px;
}

.p-faq__text:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {



}

/*
<p class="p-section__subheading">カルチャー<span>を知る</span></p>
*/

.p-section__subheading {
  color: #111;
  font-family: serif;
  font-feature-settings: "palt";
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0.08em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.p-section__subheading span {
  font-size: 16px;
}

/*  */

@media screen and (max-width: 767px) {



}

/* ヘッダー */
.p-header {
  /*position: sticky;
  top: 0;
  z-index: 5;*/
  background: #fff;

  padding: 14px 0;

  /*color: #333;
  font-family: Hiragino Kaku Gothic Pro, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ Pro, メイリオ, Meiryo, メイリオ, Meiryo, Osaka, ＭＳ Ｐゴシック, Helvetica, Verdana, sans-serif, serif;
  font-feature-settings: "palt";
  line-height: 1.5;
  letter-spacing: 0.08em;*/
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

}

.p-header__inner {
  width: min(100%, calc(1864px + (40px * 2)));
  margin: 0 auto;
  padding: 0 40px;
}

.p-header__content {
  display: flex;
  align-items: center;
  gap: 0 32px;
  gap: 0 46px;
}

.p-header__logo {
  width: 200px;
  margin-right: auto;

  width: 168px;
}

.p-header__logo a {
  display: block;
  transition: opacity 0.3s;
}

.p-header__logo a:hover {
  opacity: 0.7;
}

.p-header__logo img {
  display: block;
}

.p-global-nav__list {
  display: flex;
  gap: 0 32px;
}

.p-global-nav__item a {
  display: block;
  color: #555;
  color: #242424;
  font-feature-settings: "palt";
  font-size: 17px;
  font-size: 15px;
  font-size: 14.575px;
  /*font-weight: 700;*/
  font-weight: 500;
  transition: opacity 0.3s;

  display: flex;
  align-items: center;
  gap: 0 6px;
  color: #333;

}

.p-global-nav__item a:hover {
  opacity: 0.7;
}

.p-global-nav__item a::after {
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%3E%0A%20%20%3Cg%20id%3D%22icon_cicle-arrow_type1%22%20transform%3D%22translate(0%20-0.001)%22%3E%0A%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_47654%22%20data-name%3D%22%E3%83%91%E3%82%B9%2047654%22%20d%3D%22M9%2C13%2C6%2C7H7.734L9%2C9.791%2C10.311%2C7H12Z%22%20fill%3D%22%232516B2%22%2F%3E%0A%20%20%20%20%3Ccircle%20id%3D%22%E6%A5%95%E5%86%86%E5%BD%A2_469%22%20data-name%3D%22%E6%A5%95%E5%86%86%E5%BD%A2%20469%22%20cx%3D%228.5%22%20cy%3D%228.5%22%20r%3D%228.5%22%20transform%3D%22translate(0.5%200.501)%22%20fill%3D%22none%22%20stroke%3D%22%232516B2%22%20stroke-width%3D%221%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center / contain;
  content: "";
}

.p-header__button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #3a75bb;
  background: linear-gradient(90deg, #0095d8 0%, #0077cb 100%);
  /*background: linear-gradient(90deg, #004FE0, #00BEE0);*/
  /*background: linear-gradient(45deg, rgb(0, 137, 255) 0%, rgb(51, 95, 168) 100%);*/
  /*background: linear-gradient(86deg, #f5ac41, #fe9061 57%, #ff7c38 94%);*/
  /*background: #2BA8C6;*/

  background: linear-gradient(28deg, #2516B2, #3767CA, #4ABAE2);

  background: linear-gradient(36deg, #2516B2, #4ABAE2);

  width: 146px;
  height: 54px;
  border-radius: 27px;
  color: #fff;
  font-size: 15px;
  font-size: 14.575px;
  font-weight: 500;
  transition: opacity 0.3s;


  height: 48px;
}

.p-header__button:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {

  .p-header {
    padding: 16px 0;
  }

  .p-header__inner {
    padding: 0 20px;
  }

  .p-header__logo {
    width: 128px;
    margin-right: 0;
  }

  .p-global-nav {
    display: none;
  }

  .p-header__button {
    display: none;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/* 会社紹介動画 */
.p-movie {
  position: relative;
}

.p-movie::before {
  position: absolute;
  top: calc(-169.5px + -56px + -23px);
  left: 258px;
  z-index: -1;
  width: calc(100vw - 258px);
  height: calc(100% + (169.5px + 56px + 23px) + 108px);
  background-image: radial-gradient(#66cdca 12%, transparent 13%), radial-gradient(#66cdca 12%, transparent 13%);
  background-position: 3px 3px, 10px 10px;
  background-repeat: repeat;
  background-size: 14px 14px;
  content: "";
}

.p-movie__video {
  max-width: 850px;
  margin: 0 auto;
}

.p-movie__video iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
}

@media screen and (max-width: 767px) {

  .p-movie::before {
    top: calc(-138.25px + -40px + -23px);
    left: 72px;
    width: calc(100vw - 72px);
    height: calc(100% + (138.25px + 40px + 23px) + 80px);
  }

}

/* 数字でわかる坪井工業 */
.p-numbers__cards {
  /*display: grid;
  grid-template-columns: repeat(3, 1fr);*/
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 32px;
}

.p-numbers__card {
  width: calc((100% - (32px * 2)) / 3);
  background: var(--main-color);
}

.p-numbers__card:first-child,
.p-numbers__card:nth-child(3),
.p-numbers__card:nth-child(4),
.p-numbers__card:nth-child(5),
.p-numbers__card:nth-child(6),
.p-numbers__card:nth-child(8) {
  padding: 18px 15px 14px;
}

.p-numbers__card:nth-child(2),
.p-numbers__card:nth-child(7) {
  display: flex;
  flex-direction: column;
  padding: 18px 15px;
}

.p-numbers__card:nth-child(4) {
  margin-left: 1px;
}

.p-numbers__card:nth-child(5) {
  margin-right: 1px;
}

.p-numbers__card:first-child .p-numbers-card__image,
.p-numbers__card:nth-child(3) .p-numbers-card__image,
.p-numbers__card:nth-child(4) .p-numbers-card__image,
.p-numbers__card:nth-child(5) .p-numbers-card__image,
.p-numbers__card:nth-child(6) .p-numbers-card__image,
.p-numbers__card:nth-child(8) .p-numbers-card__image {
  margin-top: 24px;
}

.p-numbers__card:nth-child(2) .p-numbers-card__image,
.p-numbers__card:nth-child(7) .p-numbers-card__image {
  order: -1;
}

.p-numbers-card__image img {
  width: 100%;
  aspect-ratio: 290 / 220;
  object-fit: cover;
}

.p-numbers-card__heading {
  color: #fff;
  font-size: 31px;
  line-height: 1.5;
  text-align: center;
}

.p-numbers__card:nth-child(2) .p-numbers-card__heading,
.p-numbers__card:nth-child(7) .p-numbers-card__heading {
  margin-top: 16px;
}

.p-numbers-card__text {
  color: #fff;
  font-size: 31px;
  font-weight: 600;
  text-align: center;
  line-height: 1.5;
}

.p-numbers-card__text span {
  margin: 0 2px;
  font-family: "Oswald", sans-serif;
  font-size: 86px;
  font-weight: 500;
  line-height: 1;
}

@media screen and (max-width: 767px) {

  .p-numbers__cards {
    justify-content: normal;
    gap: 16px;
    gap: 20px 16px;
  }

  .p-numbers__card {
    width: calc((100% - (16px * 1)) / 2);
  }

  .p-numbers__card:nth-child(4) {
    margin-left: 0;
  }

  .p-numbers__card:nth-child(5) {
    margin-right: 0;
  }

  .p-numbers__card:first-child,
  .p-numbers__card:nth-child(3),
  .p-numbers__card:nth-child(4),
  .p-numbers__card:nth-child(5),
  .p-numbers__card:nth-child(6),
  .p-numbers__card:nth-child(8) {
    padding: 10px 8px 8px;
  }

  .p-numbers__card:nth-child(2),
  .p-numbers__card:nth-child(7) {
    padding: 12px 8px;
  }

  .p-numbers__card:first-child .p-numbers-card__image,
  .p-numbers__card:nth-child(3) .p-numbers-card__image,
  .p-numbers__card:nth-child(4) .p-numbers-card__image,
  .p-numbers__card:nth-child(5) .p-numbers-card__image,
  .p-numbers__card:nth-child(6) .p-numbers-card__image,
  .p-numbers__card:nth-child(8) .p-numbers-card__image {
    margin-top: 14px;
  }

  .p-numbers-card__heading {
    font-size: 17px;
  }

  .p-numbers__card:nth-child(2) .p-numbers-card__heading,
  .p-numbers__card:nth-child(7) .p-numbers-card__heading {
    margin-top: 8px;
  }

  .p-numbers-card__text {
    font-size: 16px;
  }

  .p-numbers-card__text span {
    font-size: 46px;
  }

}

/* 仕事紹介 */
.p-job__columns {
  display: grid;
  grid-template-columns: calc((488 / 1024) * 100%) 1fr;
  align-items: center;
  gap: 0 40px;
}

.p-job__images {
  display: grid;
  gap: 40px 0;
}

.p-job__image img {
  width: 100%;
  aspect-ratio: 488 / 328;
  object-fit: cover;
}

.p-job__heading {
  font-size: 25px;
  font-weight: 500;
  line-height: 1.5;
}

.p-job__sunbheading {
  position: relative;
  margin-top: 2px;
  color: var(--main-color);
  font-feature-settings: "palt";
  font-size: 33px;
  font-weight: 700;
  line-height: 1.66;
  letter-spacing: 0.025em;
}

.p-job__sunbheading::after {
  position: absolute;
  top: calc(100% + 20px);
  left: -16px;
  z-index: -1;
  transform: translateX(-50%);
  width: 100vw;
  height: 100px;
  background-image: radial-gradient(#66cdca 12%, transparent 13%), radial-gradient(#66cdca 12%, transparent 13%);
  background-position: 3px 3px, 10px 10px;
  background-repeat: repeat;
  background-size: 14px 14px;
  content: "";
}

.p-job__text {
  margin-top: 140px;
  font-size: 20px;
  line-height: 1.8;
  text-align: justify;
}

.p-job__list {
  margin-top: 30px;
  padding: 17px 20px 15px;
  border: 1px solid #1b1b1b;
  border-radius: 10px;
}

.p-job__list dt {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}

.p-job__list dd {
  margin-top: 2px;
  font-size: 18px;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {

  .p-job__columns {
    grid-template-columns: none;
    gap: 24px 0;
  }

  .p-job__images {
    gap: 20px 0;
  }

  .p-job__heading {
    font-size: 21px;
  }

  .p-job__sunbheading {
    font-size: 26px;
  }

  .p-job__sunbheading::after {
    top: calc(100% + 16px);
    left: -20px;
    transform: translateX(0);
    height: 40px;
  }

  .p-job__text {
    margin-top: 80px;
    font-size: 16px;
  }

  .p-job__list {
    padding: 12px 16px;
  }

  .p-job__list dt {
    font-size: 16px;
  }

  .p-job__list dd {
    font-size: 15px;
  }

}

/* 社員インタビュー */
.p-interview {
  position: relative;
}

.p-interview::before {
  position: absolute;
  /*top: 496px;*/
  top: 40%;
  left: 0;
  z-index: -2;
  width: 100vw;
  /*height: 496px;*/
  height: 40%;
  margin: 0 calc(50% - 50vw);
  background-image: radial-gradient(#66cdca 12%, transparent 13%), radial-gradient(#66cdca 12%, transparent 13%);
  background-position: 3px 3px, 10px 10px;
  background-repeat: repeat;
  background-size: 14px 14px;
  content: "";
}

.p-interview__visual {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  position: relative;
  padding: 50px 50px 0 0;
}

.p-interview__visual::before {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  /*width: 704px;*/
  width: 68.69%;
  /*height: 674px;*/
  height: 75%;
  background: var(--main-color);
  content: "";
}

.p-interview__figure {
  position: relative;
  margin-left: calc((50% - 50vw) + 30px);
  max-width: 1200px;
}

.p-interview__image img {
  width: 100%;
  aspect-ratio: 974 / 712;
  object-fit: cover;
}

.p-interview__heading {
  position: absolute;
  bottom: 80px;
  left: 0;
  width: 580px;
  width: 50%;
  padding: 30px;
  background: #fff;
  color: var(--main-color);
  font-size: 32px;
  text-align: right;
  line-height: 1.5714;
}

.p-interview__content {
  position: relative;
  max-width: 704px;
  margin: calc(-80px + -40px) 0 0 auto;
  padding: 40px 30px 0 50px;
  background: #fff;
}

.p-interview__content::before {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: calc(100vw - 1212px);
  height: 100%;
  background: #fff;
  content: "";
}

.p-interview__summary {
  font-size: 20px;
  font-weight: 700;
  line-height: 2;
}

.p-interview__text {
  margin-top: 20px;
  font-size: 20px;
  line-height: 2;
}

@media screen and (max-width: 767px) {

  .p-interview::before {
    top: 30%;
  }

  .p-interview__visual {
    padding: 0;
  }

  .p-interview__visual::before {
    top: -20px;
    right: -20px;
  }

  .p-interview__figure {
    margin-left: -20px;
  }

  .p-interview__heading {
    bottom: 16px;
    width: auto;
    padding: 16px;
    font-size: 18px;
  }

  .p-interview__content {
    margin: 0;
    padding: 24px 0 0;
  }

  .p-interview__content::before {
    left: -20px;
    width: 100vw;
  }

  .p-interview__summary {
    font-size: 16px;
  }

  .p-interview__text {
    margin-top: 16px;
    font-size: 16px;
  }

}

/* セパレーター */
.p-separator__image img {
  width: 100%;
  aspect-ratio: 1400 / 438;
  object-fit: cover;
}

@media screen and (max-width: 767px) {



}

/* 坪井工業の特徴 */
.p-feature__cards {
  display: grid;
  gap: 80px 0;
}

.p-feature__card {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 40px;
}

.p-feature-card__image img {
  width: 100%;
  aspect-ratio: 492 / 396;
  object-fit: cover;
}

.p-feature-card__content {
  position: relative;
  padding-top: 85px;
}

.p-feature__card:nth-child(2n - 1) .p-feature-card__content {
  padding-right: 75px;
  padding-left: 17px;
}

.p-feature__card:nth-child(2n) .p-feature-card__content {
  order: -1;
  padding-left: 75px;
  padding-right: 17px;
}

.p-feature-card__content::before,
.p-feature-card__content::after {
  position: absolute;
  z-index: -1;
  content: "";
}

.p-feature-card__content::before {
  top: 0;
  width: 323px;
  aspect-ratio: 1;
  background: var(--main-color);
}

.p-feature__card:nth-child(2n - 1) .p-feature-card__content::before {
  right: 0;
  clip-path: polygon(0 0, 100% 100%, 100% 0);
}

.p-feature__card:nth-child(2n) .p-feature-card__content::before {
  left: 0;
  clip-path: polygon(0 0, 0 100%, 100% 0);
}

.p-feature-card__content::after {
  top: 30px;
  width: 100%;
  height: 100%;
  background: #fff;
}

.p-feature__card:nth-child(2n - 1) .p-feature-card__content::after {
  right: 30px;
}

.p-feature__card:nth-child(2n) .p-feature-card__content::after {
  left: 30px;
}

.p-feature-card__heading {
  color: var(--main-color);
  font-size: 30px;
  line-height: 1.5;
}

.p-feature-card__text {
  margin-top: 30px;
  font-size: 17px;
  text-align: justify;
  line-height: 2.2;
}

@media screen and (max-width: 767px) {

  .p-feature__cards {
    gap: 64px 0;
  }

  .p-feature__card {
    grid-template-columns: none;
    gap: 0;
  }

  .p-feature-card__content {
    padding-top: 70px;
  }

  .p-feature__card:nth-child(2n - 1) .p-feature-card__content {
    padding-right: 58px;
    padding-left: 12px;
  }

  .p-feature__card:nth-child(2n) .p-feature-card__content {
    order: 0;
    padding-right: 12px;
    padding-left: 58px;
  }

  .p-feature-card__content::before {
    width: 264px;
  }

  .p-feature-card__content::after {
    top: 24px;
  }

  .p-feature__card:nth-child(2n - 1) .p-feature-card__content::after {
    right: 24px;
  }

  .p-feature__card:nth-child(2n) .p-feature-card__content::after {
    left: 24px;
  }

  .p-feature-card__heading {
    font-size: 25px;
  }

  .p-feature-card__text {
    margin-top: 24px;
    font-size: 14px;
  }

}

/* 福利厚生 */
.p-welfare {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 100px calc(50vw - 50%);
  background: #e7ecec;
}

.p-welfare__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

.p-welfare-card__header {
  padding: 6px 25px;
  background: var(--main-color);
}

.p-welfare-card__heading {
  display: flex;
  align-items: center;
  gap: 0 8px;
  color: #fff;
  font-size: 25px;
  line-height: 1.4;
}

.p-welfare-card__heading::before {
  width: 57.5px;
  aspect-ratio: 1;
  content: "";
}

.p-welfare-card__heading--cafeteria::before {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2257.5%22%20height%3D%2257.5%22%20viewBox%3D%220%200%2057.5%2057.5%22%3E%0A%20%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_14664%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2014664%22%20transform%3D%22translate(-12962%20-1154.75)%22%3E%0A%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_47102%22%20data-name%3D%22%E3%83%91%E3%82%B9%2047102%22%20d%3D%22M0%2C0H57.5V57.5H0Z%22%20transform%3D%22translate(12962%201154.75)%22%20fill%3D%22%23b12424%22%20opacity%3D%220%22%2F%3E%0A%20%20%20%20%3Cg%20id%3D%22%E9%A3%9F%E4%BA%8B%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%22%20transform%3D%22translate(12966%201059.989)%22%3E%0A%20%20%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_47095%22%20data-name%3D%22%E3%83%91%E3%82%B9%2047095%22%20d%3D%22M185.331%2C184.735a6.889%2C6.889%2C0%2C1%2C0%2C4.872%2C2.018A6.871%2C6.871%2C0%2C0%2C0%2C185.331%2C184.735Z%22%20transform%3D%22translate(-161.189%20-68.875)%22%20fill%3D%22%23fff%22%2F%3E%0A%20%20%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_47096%22%20data-name%3D%22%E3%83%91%E3%82%B9%2047096%22%20d%3D%22M116.454%2C108.488a14.261%2C14.261%2C0%2C1%2C0%2C14.261%2C14.261A14.262%2C14.262%2C0%2C0%2C0%2C116.454%2C108.488Zm0%2C23.074a8.813%2C8.813%2C0%2C1%2C1%2C8.813-8.813A8.814%2C8.814%2C0%2C0%2C1%2C116.454%2C131.562Z%22%20transform%3D%22translate(-92.313%200)%22%20fill%3D%22%23fff%22%2F%3E%0A%20%20%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_47097%22%20data-name%3D%22%E3%83%91%E3%82%B9%2047097%22%20d%3D%22M2.119%2C127.951A59.163%2C59.163%2C0%2C0%2C0%2C.03%2C137.639s-.188%2C2.28.381%2C2.28H2.387v8.263A1.616%2C1.616%2C0%2C0%2C0%2C4%2C149.8H5.254a1.616%2C1.616%2C0%2C0%2C0%2C1.615-1.615V124.719C6.869%2C122.44%2C3.829%2C122.061%2C2.119%2C127.951Z%22%20transform%3D%22translate(0%20-13.267)%22%20fill%3D%22%23fff%22%2F%3E%0A%20%20%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_47098%22%20data-name%3D%22%E3%83%91%E3%82%B9%2047098%22%20d%3D%22M423.725%2C126.057h0c-.542%2C0-.6.439-.6.981v6.254h-1.571v-6.254a.981.981%2C0%2C0%2C0-1.962%2C0v6.254h-1.844v-6.254c0-.542-.054-.981-.6-.981h0a1.363%2C1.363%2C0%2C0%2C0-1.362%2C1.362v5.873c0%2C2.524.658%2C3.2%2C1.322%2C3.866.721.721%2C1.088.962%2C1.088%2C1.8v11.824a1.616%2C1.616%2C0%2C0%2C0%2C1.615%2C1.615h1.251a1.616%2C1.616%2C0%2C0%2C0%2C1.615-1.615V138.961c0-.841.367-1.082%2C1.088-1.8.664-.664%2C1.322-1.342%2C1.322-3.866v-5.873A1.363%2C1.363%2C0%2C0%2C0%2C423.725%2C126.057Z%22%20transform%3D%22translate(-375.587%20-15.87)%22%20fill%3D%22%23fff%22%2F%3E%0A%20%20%20%20%3C%2Fg%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center / contain;
}

.p-welfare-card__heading--activities::before {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2257.5%22%20height%3D%2257.5%22%20viewBox%3D%220%200%2057.5%2057.5%22%3E%0A%20%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_14665%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2014665%22%20transform%3D%22translate(-13494.137%20-1154.5)%22%3E%0A%20%20%20%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_24715%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2024715%22%20width%3D%2257.5%22%20height%3D%2257.5%22%20transform%3D%22translate(13494.137%201154.5)%22%20fill%3D%22%23b12424%22%20opacity%3D%220%22%2F%3E%0A%20%20%20%20%3Cg%20id%3D%22%E3%82%B3%E3%82%99%E3%83%AB%E3%83%95%E3%81%AE%E7%84%A1%E6%96%99%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%22%20transform%3D%22translate(13398.095%201158.749)%22%3E%0A%20%20%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_47099%22%20data-name%3D%22%E3%83%91%E3%82%B9%2047099%22%20d%3D%22M195.769%2C49.235a4.212%2C4.212%2C0%2C1%2C0-4.7%2C3.661A4.213%2C4.213%2C0%2C0%2C0%2C195.769%2C49.235Z%22%20transform%3D%22translate(-69.17%20-40.243)%22%20fill%3D%22%23fff%22%2F%3E%0A%20%20%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_47100%22%20data-name%3D%22%E3%83%91%E3%82%B9%2047100%22%20d%3D%22M258.471%2C21.988c-1.969-3.151-3.53-6.728-3.931-7.422a1.058%2C1.058%2C0%2C0%2C1-.075-1.112q1.206-1.743%2C2.458-3.457c.722-.991%2C1.753-2.087%2C1.359-3.436-.226-.776-.913-1.1-1.493-1.572-1.458-1.191-2.911-2.391-4.378-3.573-.411-.33-.807-.678-1.223-1a1.636%2C1.636%2C0%2C0%2C0-2.444%2C2.136l-1.533%2C1.6a5.507%2C5.507%2C0%2C0%2C1%2C1%2C1.019l1.53-1.593L253.6%2C7.319l-3.051%2C3.249c-1.686%2C1.651-5.692%2C4.026-4.775%2C7.372.7%2C2.55%2C3.1%2C6.929%2C3.1%2C8.166%2C0%2C1.712-.939%2C10.363-.939%2C10.363-.006.034-.008.067-.012.1l-2.718%2C9.393a1.923%2C1.923%2C0%2C0%2C0%2C3.681%2C1.116l3.269-8.7a2.424%2C2.424%2C0%2C0%2C0%2C.117-.316l.035-.094c.05-.165%2C1.767-8.307%2C1.767-8.307l.076-.757-.822%2C8.166a2.7%2C2.7%2C0%2C0%2C0-.039.441l.4%2C9.347a2.137%2C2.137%2C0%2C1%2C0%2C4.274%2C0l.552-9.009%2C1.32-8.319C260.127%2C26.967%2C260.44%2C25.139%2C258.471%2C21.988Z%22%20transform%3D%22translate(-121.391%200)%22%20fill%3D%22%23fff%22%2F%3E%0A%20%20%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_47101%22%20data-name%3D%22%E3%83%91%E3%82%B9%2047101%22%20d%3D%22M118.235%2C125.879l-7.008%2C7.3a1.227%2C1.227%2C0%2C0%2C0-.214%2C1.392l1.776%2C3.592a1.1%2C1.1%2C0%2C0%2C0%2C1.605.426l1.334-.9a1.1%2C1.1%2C0%2C0%2C0%2C.208-1.648l-2.39-3.215%2C5.746-5.984A5.5%2C5.5%2C0%2C0%2C1%2C118.235%2C125.879Z%22%20transform%3D%22translate(0%20-113.831)%22%20fill%3D%22%23fff%22%2F%3E%0A%20%20%20%20%3C%2Fg%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center / contain;
}

.p-welfare-card__body {
  padding: 30px 40px;
  background: #fff;
}

.p-welfare-card__text {
  font-size: 17px;
  line-height: 2.37;
}

.p-welfare-card__image {
  margin-top: 18px;
}

.p-welfare-card__image img {
  width: 100%;
  aspect-ratio: 412 / 248;
  object-fit: cover;
}

@media screen and (max-width: 767px) {

  .p-welfare {
    padding: 72px calc(50vw - 50%);
  }

  .p-welfare__cards {
    grid-template-columns: none;
    gap: 16px 0;
  }

  .p-welfare-card__header {
    padding: 6px 24px;
  }

  .p-welfare-card__heading {
    font-size: 21px;
  }

  .p-welfare-card__heading::before {
    width: 47px;
  }

  .p-welfare-card__body {
    padding: 24px 32px;
  }

  .p-welfare-card__text {
    font-size: 14px;
  }

}

/* 名古屋 HAPPY PROJECT */
.p-project {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 100px calc(50vw - 50%);
  background: #f0f0f0;

  background: #f7f7f7;
}

.p-project__cards {
  display: grid;
  gap: 40px 0;
}

.p-project__card {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 60px;
}

.p-project-card__image img {
  width: 100%;
  aspect-ratio: 482 / 290;
  object-fit: cover;
}

.p-project-card__content {
  padding-top: 24px;
}

.p-project-card__heading {
  font-size: 30px;
  line-height: 1.5;
}

.p-project-card__text {
  margin-top: 30px;
  font-size: 17px;
  line-height: 2.2;
}

@media screen and (max-width: 767px) {

  .p-project {
    padding: 72px calc(50vw - 50%);
  }

  .p-project__cards {
    gap: 48px 0;
  }

  .p-project__card {
    grid-template-columns: none;
    gap: 32px 0;
  }

  .p-project-card__content {
    padding-top: 0;
  }

  .p-project-card__heading {
    font-size: 23px;
  }

  .p-project-card__text {
    margin-top: 22px;
    font-size: 14px;
  }

}

/* 募集要項 */
.p-requirements__inner {
  max-width: 760px;
  margin: 0 auto;
}

.p-requirements table {
  border-bottom: 1px solid #1b1b1b;
}

.p-requirements table td {
  padding: 16px 0;
  font-size: 17px;
  border-top: 1px solid #1b1b1b;
}

.p-requirements table td:first-child {
  width: 28%;
  color: var(--main-color);
  font-size: 20px;
  font-weight: 700;
  vertical-align: top;
}


@media screen and (max-width: 767px) {

  .p-requirements table td {
    display: block;
    font-size: 14px;
  }

  .p-requirements table td:first-child {
    width: 100%;
    padding-bottom: 0;
    font-size: 16px;
  }

  .p-requirements table td:nth-child(2) {
    padding-top: 8px;
    border-top: none;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/* ヒーローイメージ */
.p-hero {
  padding-top: 24px;
  padding-bottom: 64px;
}

.p-hero__inner {
  padding: 0 16px;
}

.p-hero__image img {
  width: 100%;
}

@media screen and (max-width: 767px) {



}



/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/* 募集要項 */
.p-description {
  color: #231815;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.875;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}

.p-description__heading {
  margin: 60px 0;
  color: #036eb8;
  font-size: 30px;
  font-weight: 400;
  text-align: center;
  line-height: 1.2;
}

.p-description__table table {
  border-bottom: 1px solid #efefef;
}

.p-description__table th,
.p-description__table td {
  border-top: 1px solid #e6e3e2;
}

.p-description__table th {
  width: 170px;
  padding: 16px 0;
  background: #eef4f7;
  text-align: center;
}

.p-description__table td {
  padding: 16px 32px;
  font-weight: 400;
  line-height: 1.875;
}

@media screen and (max-width: 767px) {



}

/* データで知る */
.p-data__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  gap: 32px;
}

.p-data__card {
  padding: 40px 0;
  border-radius: 3px;
  background: #fff4ec;
  /*background: #edf5fc;*/

  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #f9fbfc;

  border: 1px solid #eeeeee;
}

.p-data-card__number {
  color: rgba(var(--main-color), 1);
  /*color: #3a75bb;*/
  font-family: serif;
  font-size: 28px;
  /*font-size: 20px;*/
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.08em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  color: #0077cb;
  background: linear-gradient(60deg, #0095d8 35%, #0077cb 65%);
  background: linear-gradient(28deg, #2516B2, #3767CA, #4ABAE2);

  background: linear-gradient(36deg, #2516B2, #4ABAE2);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-data-card__label {
  display: none;
  color: #35383e;
  font-family: "Noto Sans JP", Meiryo, sans-serif;
  font-weight: 500;
  font-size: 19px;
  text-align: center;
  letter-spacing: 0.08em;
}

.p-data-card__number span {
  margin-right: 8px;
  font-family: "EB Garamond", serif;
  font-size: 98px;
  /*font-size: 70px;*/
}

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/* ブロックエデュター */
.entry-content {
  color: #333;
  font-family: Hiragino Kaku Gothic Pro, ヒラギノ角ゴ Pro W3, ヒラギノ角ゴ Pro, メイリオ, Meiryo, メイリオ, Meiryo, Osaka, ＭＳ Ｐゴシック, Helvetica, Verdana, sans-serif, serif;
  font-feature-settings: "palt";
  line-height: 1.5;
  letter-spacing: 0.08em;
  /*letter-spacing: 0.06em;*/
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  color: #35383e;
  font-family: "Noto Sans JP", Meiryo, sans-serif;
}

.entry-content > *:first-child {
  margin-top: 0;
}

.entry-content > * {
  margin-top: 24px;
}

.entry-content .wp-block-embed {
  max-width: 640px;
  max-width: 720px;
  max-width: 800px;
  margin: 0 auto;
}

.entry-content .wp-block-embed__wrapper {
  position: relative;
}

.entry-content .wp-block-embed__wrapper::before {
  padding-top: 50%;
}

.entry-content .wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
  display: block;
  padding-top: 56.25%;
  content: "";
}

.entry-content .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.entry-content table {
  border-bottom: 1px solid #e2e2e2;

  border-bottom: 1px solid #e0e0e0;
}

.entry-content table td {
  padding: 20px 30px;
  border-top: 1px solid #e2e2e2;
  font-size: 14px;
  vertical-align: top;

  border-top: 1px solid #e0e0e0;
}

.entry-content table td:first-child {
  width: 33.33%;
  background: #f6f6f6;
  font-weight: 700;

  background: #f7f7f7;
}

.entry-content table dl {
  margin-top: 20px;
}

.entry-content table dt:nth-of-type(n + 2) {
  margin-top: 20px;
}

.entry-content table dd {
  margin-top: 10px;
  font-size: 13px;
  text-align: justify;
  line-height: 2;
  letter-spacing: 0.08em;
  /*letter-spacing: 0.06em;*/
}

.entry-content table li {
  position: relative;
  padding-left: 16px;
  line-height: 1.57;
  letter-spacing: 0.08em;
  /*letter-spacing: 0.06em;*/
}

.entry-content table li::before {
  position: absolute;
  top: 7px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(var(--main-color), 1);
  /*background: rgba(var(--main-color), .35);*/
  content: "";

  background: #0077cb;
  babackground: linear-gradient(28deg, #2516B2, #3767CA, #4ABAE2);

  background: linear-gradient(36deg, #2516B2, #4ABAE2);
}

.entry-content table li:nth-child(n + 2) {
  margin-top: 7px;
}

.entry-content table small {
  display: block;
  /*position: relative;*/
  margin-top: 14px;
  /*padding-left: 11px;*/
  color: #777;
  font-size: 12px;
  line-height: 1.66;

  color: #888;
}

/*.entry-content table small::before {
  position: absolute;
  top: 1px;
  left: 0;
  font-size: 12px;
  content: "※";
}*/

@media screen and (max-width: 767px) {

  .entry-content table {
    border-right: 1px solid #e2e2e2;
    border-left: 1px solid #e2e2e2;
  }

  .entry-content table td {
    display: block;
    padding: 15px;
    font-size: 12px;
  }

  .entry-content table td:first-child {
    width: 100%;
  }

  .entry-content table td:nth-child(2) {
    border-top: none;
  }

  .entry-content table dd {
    font-size: 12px;
    line-height: 1.83;
  }

  .entry-content table li {
    padding-left: 12px;
  }

  .entry-content table li::before {
    width: 5px;
    height: 5px;
  }

  .entry-content table small {
    margin-top: 10px;
  }

  .entry-content table small::before {
    top: 0;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/* ヘッダー */
.l-header {
  padding: 18px 0;
}

.l-header__inner {
  width: min(100%, calc(1864px + (18px * 2)));
  margin: 0 auto;
  padding: 0 18px;
}

.l-header__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 62px;
}

.l-header__logo {
  width: 133px;
}

.l-header__logo a {
  display: block;
  transition: opacity .3s;
}

.l-header__logo a:hover {
  opacity: .7;
}

.l-header__logo img {
  display: block;
}

.l-global-nav__list {
  display: flex;
  gap: 0 34px;
  padding-bottom: 6px;
}

.l-global-nav__item a {
  display: block;
  color: #000;
  font-family: "Figtree", sans-serif;
  font-size: 14px;
  font-weight: 700;
  transition: color .3s;
}

.l-global-nav__item.is-current a {
  color: #052d37;
}

.l-global-nav__item a:hover {
  color: #052d37;
}

@media screen and (max-width: 1024px) {

  .l-header__content {
    padding-right: 0;
  }

}

@media screen and (max-width: 767px) {

  .l-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    padding: 10px 0;
  }

  .l-header__inner {
    /*padding: 0 12px;*/
    /*padding: 0 4px 0 12px;*/
    padding: 0 8px 0 12px;
  }

  .l-header__content {
    /*padding-right: 0;*/
  }

  .l-header__logo {
    position: relative;
    z-index: 3;
    width: 131px;
  }

  .l-global-nav {
    display: none;
  }

  .drawer .l-global-nav {
    display: block;
  }

  .l-global-nav__list {
    flex-direction: column;
    gap: 18px 0;
    padding-bottom: 0;
  }

  .l-global-nav__item:first-child {
    display: none;
  }

  .l-global-nav__item a {
    font-size: 13px;
    text-align: center;
    letter-spacing: 0.05em;
  }

  .l-hamburger {
    display: block;
  }

  .l-hamburger {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 3;
    width: 48px;
    aspect-ratio: 1;
    cursor: pointer;
  }

  .l-hamburger span {
    position: absolute;
    left: calc((48px - 42px) / 2);
    width: 42px;
    height: 2px;
    background: #000;
    transition: left .3s cubic-bezier(0.8, 0, 0.2, 1), transform .3s cubic-bezier(0.8, 0, 0.2, 1), width .3s cubic-bezier(0.8, 0, 0.2, 1);
  }

  .l-hamburger span:nth-child(1) {
    transform: translateY(-4px);
  }

  .l-hamburger span:nth-child(2) {
    transform: translateY(4px);
  }

  .l-hamburger.is-open span {
    left: calc((48px - 42px) / 2);
    width: 42px;
  }

  .l-hamburger.is-open span:nth-child(1) {
    transform: translateY(0) rotate(11deg);
  }

  .l-hamburger.is-open span:nth-child(2) {
    transform: translateY(0) rotate(-11deg);
  }

}

/* ページヘッダー */
.p-page-header {
  padding-top: 144px;
}

.p-page-header__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-page-header__heading {
  display: inline-flex;
  align-items: center;
  gap: 0 32px;
  position: relative;
  overflow: hidden;
  font-size: 15px;
  font-weight: 700;
}

.p-page-header__heading::before {
  font-family: "Figtree", sans-serif;
  font-size: 90px;
  font-weight: 700;
  text-transform: uppercase;
  content: attr(data-title);
}

.p-page-header__heading::after {
  position: absolute;
  top: 0;
  left: 0;
  /*z-index: 1;*/
  width: 100%;
  height: 100%;
  /*background: #ff0;*/
  background: #fff;
  content: "";
  transition: transform .8s cubic-bezier(0.8, 0, 0.2, 1);
}

.p-page-header.is-active .p-page-header__heading::after {
  /*transform: translateX(calc(100% + 1px));*/
  transform: translateX(100%);
}

.p-page-header__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 20px;
  width: 100vw;
  margin: 144px calc(50% - 50vw) 0;
}

.p-page-header__image:first-child {
  position: relative;
}

.p-page-header__image img {
  width: 100%;
  height: 498px;
  /*aspect-ratio: 950 / 498;*/
  object-fit: cover;
}

.p-page-header__image:first-child > span {
  display: inline-block;
  position: absolute;
  top: 60px;
  left: calc(50vw - calc(1280px / 2));
}

.p-page-header__image:first-child > span span {
  display: inline-block;
  /*padding: 0 18px 0 30px;*/
  padding: 0 30px;
  background: #fff;
  font-size: 17px;
  font-weight: 700;
}

@media screen and (max-width: 1328px) {

  .p-page-header__image:first-child > span {
    left: 24px;
  }

}

@media screen and (max-width: 1024px) {

  .p-page-header__heading {
    flex-direction: column;
    align-items: stretch;
    line-height: 1.375;
  }

  .p-page-header__images {
    grid-template-columns: none;
    gap: 14px 0;
  }

}

@media screen and (max-width: 767px) {

  .p-page-header {
    padding-top: 66px;
  }

  .p-page-header__heading {
    /*flex-direction: column;
    align-items: stretch;*/
    font-size: 13px;
    /*line-height: 1.375;*/
  }

  .p-page-header__heading::before {
    font-size: 42px;
  }

  .p-page-header__images {
    /*grid-template-columns: none;
    gap: 14px 0;*/
    margin: 82px calc(50% - 50vw) 0;
  }

  .p-page-header__image img {
    height: auto;
    aspect-ratio: 750 / 462;
  }

  .p-page-header__image:first-child > span {
    display: inline;
    top: 26px;
    left: 0;
    line-height: 1.8;
  }

  .p-page-header__image:first-child > span span {
    display: inline;
    padding: 2px 22px 4px;
    font-size: 13px;
    /*line-height: calc(44 / 26);*/
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
  }

}

/* ページヘッダー */
.page-header__heading {
  display: inline-block;
  margin: 0 56px 0 0;
  font-family: "Figtree", sans-serif;
  font-size: 37px;
  text-transform: uppercase;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.page-header__catchphrase {
  display: inline-block;
  font-family: "Shippori Mincho", serif;
  font-size: 18px;
  vertical-align: super;
  line-height: 1.4;
  letter-spacing: 0.15em;
}

@media screen and (max-width: 767px) {

  .page-header__heading {
    display: block;
    margin: 0 0 30px;
    font-size: 24px;
  }

  .page-header__catchphrase {
    margin-bottom: -20px;
    display: block;
    font-size: 13px;
    line-height: calc(52 / 26);
  }

}

/* パンくずリスト */
.p-breadcrumb {
  padding: 6px 0;
}

.p-breadcrumb__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-breadcrumb__list {
  display: flex;
}

.p-breadcrumb__item {
  display: inline;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.p-breadcrumb__item:nth-last-child(n + 2) {
  flex: 0 0 auto;
}

.p-breadcrumb__item:nth-last-child(n + 2)::after {
  content: "ー";
}

.p-breadcrumb__item:last-child {
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
}

.p-breadcrumb__item:last-child span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-breadcrumb__item a {
  color: #000;
  transition: opacity .3s;
}

.p-breadcrumb__item a:hover {
  opacity: .7;
}

@media screen and (max-width: 767px) {

  .p-breadcrumb {
    padding: 4px 0;
  }

  .p-breadcrumb__item {
    font-size: 10px;
  }

}

/* ページ上に戻るボタン */
.back-control {
  position: absolute;
  bottom: calc(100% + 102px + 26px);
  /*right: 181px;*/
  right: 18px;
  z-index: 1;
  width: 38px;
  height: 18px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.58%2016.78%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23ac973f%3Bstroke-miterlimit%3A10%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%22.33%2016.4%2018.29%20.82%2036.25%2016.4%22%2F%3E%3Cline%20class%3D%22cls-1%22%20x1%3D%22.07%22%20y1%3D%22.5%22%20x2%3D%2236.51%22%20y2%3D%22.5%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  transition: opacity .3s;
}

.back-control:hover {
  opacity: .7;
  background: ;
}

@media screen and (max-width: 767px) {

  .back-control {
    bottom: calc(100% + 34px + 12px);
    right: 18px;
    width: 40px;
    height: 14px;
  }

}

/* フッター */
.footer {
  padding: 102px 0 76px;
  background: #000 url(lib/images/bg_geometric.png) no-repeat left calc(50% + 420px) top -176px / 646px auto;
}

.footer__inner {
  position: relative;
  /*max-width: calc(1280px + (18px * 2));*/
  max-width: calc(1558px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.footer__container {
  max-width: 1418px;
  margin-left: auto;
}

.footer__columns {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: flex-end;
}

.footer__column:nth-child(2) {
  margin-bottom: -14px;
}

.footer__logo {
  width: 604px;
}

.footer__logo a {
  display: block;
  transition: opacity .3s;
}

.footer__logo a:hover {
  opacity: .7;
}

.footer__logo img {
  display: block;
}

.footer-nav {
  padding-top: 54px;
}

.footer-nav__list {
  display: grid;
  grid-template-columns: auto auto auto;
  /*gap: 14px 68px;*/
  gap: 14px 64px;
  width: fit-content;
}

.footer-nav__item a {
  display: block;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: color .3s;
}

.footer-nav__item a:hover {
  color: #ac973f;
}

.footer__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 118px 40px;
  margin-top: 36px;
}

.footer__buttons {
  display: flex;
  align-items: center;
  gap: 0 40px;
}

.footer__button a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 166px;
  height: 38px;
  padding-right: 6px;
  border: 1px solid #fff;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: border 0.3s, color 0.3s;
}

.footer__button a:hover {
  border: 1px solid #ac973f;
  color: #ac973f;
}

.footer__button a::after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 15px;
  height: 14px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.53%2012.76%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A.97px%3B%7D.cls-2%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%226.02%22%20cy%3D%2211.78%22%20r%3D%22.99%22%2F%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%2212.73%22%20cy%3D%2211.78%22%20r%3D%22.99%22%2F%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%22.49%20.49%203.02%20.49%205.23%208.91%2013.61%208.91%22%2F%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%226.13%201.82%2014.04%201.82%2013.21%206.06%207.04%206.57%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
  transition: background 0.3s;
}

.footer__button a:hover::after {
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.53%2012.76%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23ac973f%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A.97px%3B%7D.cls-2%7Bfill%3A%23ac973f%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%226.02%22%20cy%3D%2211.78%22%20r%3D%22.99%22%2F%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%2212.73%22%20cy%3D%2211.78%22%20r%3D%22.99%22%2F%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%22.49%20.49%203.02%20.49%205.23%208.91%2013.61%208.91%22%2F%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%226.13%201.82%2014.04%201.82%2013.21%206.06%207.04%206.57%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

.footer__socials {
  display: flex;
  align-items: center;
  gap: 0 24px;
}

.footer__social a {
  display: block;
  transition: opacity .3s;
}

.footer__social a:hover {
  opacity: 0.7;
}

.footer__social img {
  display: block;
  width: 22px;
}

.footer__social img[src$="icon_x.svg"] {
  width: 20px;
}

.footer__caution {
  flex-basis: 100%;
  color: #ac973f;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.footer__caution > span {
  display: inline-block;
  padding-bottom: 8px;
  border-bottom: 1px solid #ac973f;
}

.footer__caution > span span {
  margin: 0 20px 0 0;
  font-family: "Figtree", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.footer__name {
  color: #fff;
  font-size: 12px;
  text-align: right;
  letter-spacing: 0.05em;
}

.footer__copyright {
  margin-top: 4px;
  color: #999;
  font-family: "Figtree", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-align: right;
  letter-spacing: .05em;
}

@media screen and (max-width: 1593px) {

  .footer__inner {
    max-width: calc(1280px + (18px * 2));
  }

}

@media screen and (max-width: 767px) {

  .footer {
    padding: 34px 0 14px;
    background: #000 url(lib/images/bg_geometric.png) no-repeat right -186px bottom -56px / 323px auto;
  }

  .footer__columns {
    grid-template-columns: none;
    gap: 36px 0;
  }

  .footer__column:nth-child(2) {
    margin-bottom: 0;
  }

  .footer__logo {
    /*width: 100%;*/
    width: 339px;
  }

  .footer-nav {
    padding-top: 24px;
  }

  .footer-nav__list {
    display: grid;
    gap: 6px 28px;
  }

  .footer-nav__item a {
    font-size: 11px;
  }

  .footer__meta {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 14px;
  }

  .footer__buttons {
    order: 1;
    margin-top: 18px;
  }

  .footer__button a {
    width: 138px;
    height: 34px;
    padding-right: 2px;
    font-size: 10px;
  }

  .footer__button a::after {
    right: 8px;
    width: 15px;
    height: 14px;
  }

  .footer__social img {
    width: 18px;
  }

  .footer__social img[src$="icon_x.svg"] {
    width: 16px;
  }

  .footer__socials {
    gap: 0 18px;
  }

  .footer__caution {
    flex-basis: auto;
    margin-top: 50px;
    font-size: 9px;
  }

  .footer__caution > span {
    padding-bottom: 10px;
  }

  .footer__caution > span span {
    display: block;
    margin: 0 0 4px 0;
    font-size: 12px;
  }

  .footer__name {
    font-size: 9px;
    text-align: left;
  }

  .footer__copyright {
    margin-top: 6px;
    font-size: 6px;
    text-align: left;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/* 見出し */
.heading {
  font-family: "Figtree", sans-serif;
  font-size: 34px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.heading--contrast {
  color: #fff;
}

.heading--accent {
  color: #ac973f;
}

.heading--small {
  font-size: 30px;
}

.heading--center {
  text-align: center;
}

.heading small {
  display: block;
  margin-top: 8px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {

  .heading {
    font-size: 22px;
  }

  .heading--small {
    font-size: 21px;
  }

  .heading small {
    margin-top: 6px;
    font-size: 10px;
  }

}

/* 小見出し（お知らせ・制作実績） */
.c-entry-subtitle {
  color: #052d37;
  font-family: "Figtree", sans-serif;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.375;
}

@media screen and (max-width: 767px) {

  .c-entry-subtitle {
    font-size: 15px;
  }

}

/* ボタン */
.button {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 210px;
  height: 54px;
  padding-right: 2px;
  border: 1px solid #ac973f;
  color: #ac973f;
  font-family: "Figtree", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  /*transition: background .3s, color .3s;*/
  transition: background 0.5s cubic-bezier(.104, .204, .492, 1), opacity 0.5s cubic-bezier(.104, .204, .492, 1) .02s, color 0.5s cubic-bezier(.104, .204, .492, 1);
}

.button--eshop {
  width: 384px;
  height: 86px;
  border: 1px solid #ac973f;
  background: #ac973f;
  color: #fff;
  font-size: 18px;
}

.button--center {
  margin-inline: auto;
}

.button--right {
  margin-left: auto;
}

.button--contrast {

}

.button:hover {
  background: #ac973f;
  color: #fff;
}

.button--contrast:hover {
  background: #ac973f;
  color: #000;
}

.button--eshop:hover {
  background: #fff;
  color: #ac973f;
}

.button::after {
  position: absolute;
  top: calc(50% - 2px);
  right: 12px;
  transform: translate(0, -50%);
  width: 16px;
  height: 6px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23ac973f%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%204.67%2013.55%204.67%208.32%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
  transition: background .3s;
}

.button:hover::after {
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%204.67%2013.55%204.67%208.32%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

.button--contrast:hover::after {
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23000%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%204.67%2013.55%204.67%208.32%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

.button--eshop::after {
  top: 50%;
  right: 22px;
  width: 32px;
  height: 27px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_6%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2042.63%2036.64%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A2px%3B%7D.cls-2%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%2217.37%22%20cy%3D%2233.69%22%20r%3D%222.96%22%2F%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%2237.48%22%20cy%3D%2233.69%22%20r%3D%222.96%22%2F%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%221%201%208.58%201%2015.23%2026.24%2040.34%2026.24%22%2F%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%2217.93%205%2041.63%205%2039.13%2017.72%2020.65%2019.24%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

.button--eshop:hover::after {
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_6%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2042.63%2036.64%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23ac973f%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A2px%3B%7D.cls-2%7Bfill%3A%23ac973f%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%2217.37%22%20cy%3D%2233.69%22%20r%3D%222.96%22%2F%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%2237.48%22%20cy%3D%2233.69%22%20r%3D%222.96%22%2F%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%221%201%208.58%201%2015.23%2026.24%2040.34%2026.24%22%2F%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%2217.93%205%2041.63%205%2039.13%2017.72%2020.65%2019.24%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

@media screen and (max-width: 767px) {

  .button {
    width: 163px;
    height: 41px;
    font-size: 11px;
  }

  .button--eshop {
    width: 214px;
    height: 60px;
    font-size: 13px;
  }

  .button--right {
    margin-right: auto;
  }

  .button::after {
    width: 12px;
    height: 5px;
  }

  .button--eshop::after {
    width: 22px;
    height: 19px;
    right: 12px;
  }

}

/* リンク */
.link {
  display: block;
  position: relative;
  width: fit-content;
  color: #ac973f;
  font-family: "Figtree", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  transition: color .3s;
}

.link--contrast {
  color: #fff;
}

.link--center {
  margin-inline: auto;
}

.link:hover {
  opacity: .7;
}

.link--contrast:hover {
  color: #ac973f;
}

.link::after {
  display: inline-block;
  position: absolute;
  top: calc(50% - 2px);
  left: calc(100% + 14px);
  transform: translate(0, -50%);
  width: 15px;
  height: 5px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23ac973f%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%204.67%2013.55%204.67%208.32%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
  transition: background .3s;
}

.link--contrast::after {
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%204.67%2013.55%204.67%208.32%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

.link--contrast:hover::after {
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23ac973f%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%204.67%2013.55%204.67%208.32%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

@media screen and (max-width: 767px) {

  .link {
    font-size: 11px;
  }

  .link::after {
    top: calc(50% - 1px);
    left: calc(100% + 6px);
    width: 12px;
  }

}

/* メインビジュアル */
.p-mainvisual {
  /*margin-top: -10px;*/
}

.p-mainvisual__inner {
  max-width: 1920px;
  margin: 0 auto;
  padding-left: 320px;
}

.p-mainvisual__images {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.p-mainvisual__image {
  position: relative;
  overflow: hidden;
}

.p-mainvisual__image::after {
  position: absolute;
  top: 0;
  left: 0;
  /*z-index: 1;*/
  width: 100%;
  height: 100%;
  background: #fff;
  content: "";
  transition: transform .8s cubic-bezier(0.8, 0, 0.2, 1);
}

.p-mainvisual.is-active .p-mainvisual__image::after {
  /*transform: translateY(calc(100% + 1px));*/
  transform: translateY(100%);
}

.p-mainvisual__image:nth-child(1)::after {
  /*transition-delay: 0.3s;*/
  /*transition-delay: 0.3s;*/
}

.p-mainvisual__image:nth-child(2)::after {
  /*transition-delay: 0.3s;*/
  /*transition-delay: 0.2s;*/
  transition-delay: 0.1s;
}

.p-mainvisual__image:nth-child(3)::after {
  /*transition-delay: 0.2s;*/
  /*transition-delay: 0.1s;*/
  transition-delay: 0.2s;
}

.p-mainvisual__image:nth-child(4)::after {
  /*transition-delay: 0.1s;*/
  transition-delay: 0.3s;
}

.p-mainvisual__image:nth-child(n + 5) {
  display: none;
}

.p-mainvisual__image img {
  width: 100%;
  height: 638px;
  object-fit: cover;
}

@media screen and (max-width: 1024px) {



}

@media screen and (max-width: 767px) {

  .p-mainvisual {
    margin-top: 0;
  }

  .p-mainvisual__inner {
    padding-left: 56px;
  }

  .p-mainvisual__images {
    display: flex;
    overflow: hidden;
    pointer-events: none;
  }

  .p-mainvisual__images::-webkit-scrollbar {
    display: none;
  }

  .p-mainvisual__image {
    flex: 0 0 100%;
  }

  .p-mainvisual__image:nth-child(n + 5) {
    display: block;
  }

  .p-mainvisual__image::after {
    content: none;
  }

  .p-mainvisual__image img {
    height: 560px;
  }

  /*.p-mainvisual__images {
    position: relative;
    width: 100%;
    height: 560px;
    overflow: hidden;
    pointer-events: none;
  }

  .p-mainvisual__image {
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1);
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: transform 5.2s ease-out, opacity .6s ease-in-out;
  }

  .p-mainvisual__image::after {
    content: none;
  }

  .p-mainvisual__image.is-active {
    opacity: 1;
    transform: scale(1.05);
  }

  .p-mainvisual__image img {
    height: 100%;
  }*/

}

/* ABOUT US（トップページ） */
.p-top-about {
  padding-top: 64px;
}

.p-top-about__inner {
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 18px 0 320px;
}

.p-top-about__heading {
  margin-left: -12px;
  font-family: "Figtree", sans-serif;
  font-size: 120px;
  font-weight: 700;
  line-height: calc(124 / 120);
}

.p-top-about__text {
  margin-top: 48px;
  font-size: 16px;
  line-height: calc(34 / 16);
}

.p-top-about__button {
  margin-top: 38px;
}

@media screen and (max-width: 1024px) {



}

@media screen and (max-width: 767px) {

  .p-top-about {
    padding-top: 32px;
  }

  .p-top-about__inner {
    padding: 0 18px;
  }

  .p-top-about__heading {
    margin-left: -4px;
    font-size: 58px;
    line-height: calc(118 / 116);
  }

  .p-top-about__text {
    margin-top: 20px;
    font-size: 13px;
    line-height: calc(54 / 26);
  }

  .p-top-about__button {
    margin-top: 24px;
    padding-right: 16px;
  }

  .p-top-about__button .c-button {
    margin-left: auto;
  }

}

/* NEWS（トップページ） */
.p-top-news {
  margin-top: -62px;
  padding-bottom: 102px;
}

.p-top-news__inner {
  max-width: 1280px;
  margin: 0 auto;
}

.p-top-news__content {
  max-width: 396px;
  margin-left: auto;
}

.p-top-news__heading {
  border-bottom: 1px solid #000;
  font-family: "Figtree", sans-serif;
  font-size: 16px;
  line-height: 2;
}

.p-top-news__list {
  display: grid;
  gap: 8px 0;
  margin-top: 14px;
}

.p-top-news__item a {
  display: grid;
  grid-template-columns: 72px 66px 1fr;
  align-items: center;
  gap: 0 6px;
  transition: opacity .3s;
}

.p-top-news__item a:hover {
  opacity: .7;
}

.p-top-news-item__time {
  color: #000;
  font-family: "Figtree", sans-serif;
  font-size: 12px;
}

.p-top-news-item__category {
  padding: 5px 0;
  background: #000;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}

.p-top-news-item__heading {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  padding-left: 12px;
  color: #000;
  font-size: 12px;
  font-weight: 400;
}

@media screen and (max-width: 767px) {

  .p-top-news {
    margin-top: 76px;
    padding-bottom: 66px;
  }

  .p-top-news__inner {
    padding: 0 18px;
  }

  .p-top-news__heading {
    line-height: 1.875;
  }

  .p-top-news__list {
    gap: 22px 0;
    margin-top: 16px;
  }

  .p-top-news__item a {
    display: flex;
    flex-wrap: wrap;
    /*grid-template-columns: 72px 1fr;*/
    gap: 4px;
  }

  .p-top-news-item__time {
    flex: 0 0 72px;
  }

  .p-top-news-item__category {
    padding: 5px 8px;
    font-size: 10px;
  }

  .p-top-news-item__heading {
    /*grid-column: 1 / -1;*/
    width: 100%;
    padding-left: 0;
    text-decoration: underline;
  }

}

/* PROMOTION DESIGN・CAR/PRODUCT DESIGN（トップページ） */
.p-top-domains {

}

.p-top-domains__inner {
  /*max-width: 1920px;
  margin: 0 auto;*/
}

.p-top-domains__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.p-top-domains__card {
  padding-bottom: 52px;
  padding-left: 112px;
  background: #052d37;
}

.p-top-domains__card:nth-child(2) {
  padding-left: 80px;
  background: #ebebeb;
}

.p-top-domains-card__content {
  display: grid;
  grid-template-columns: 1fr calc((674 / (960 - 112)) * 100%);
  align-items: flex-end;
  gap: 38px 0;
}

.p-top-domains__card:nth-child(2) .p-top-domains-card__content {
  grid-template-columns: 1fr calc((632 / (960 - 80)) * 100%);
}

.p-top-domains-card__tags {
  margin-bottom: -6px;
}

.p-top-domains-card__tag {
  font-size: 14px;
  line-height: calc(30 / 14);
}

.p-top-domains__card:nth-child(2n - 1) .p-top-domains-card__tag {
  color: #fff;
}

.p-top-domains-card__image img {
  width: 100%;
  aspect-ratio: 674 / 516;
  object-fit: cover;
}

.p-top-domains__card:nth-child(2) .p-top-domains-card__image img {
  aspect-ratio: 632 / 516;
}

.p-top-domains-card__head {
  grid-column: 1 / -1;
  padding-right: 112px;
}

.p-top-domains__card:nth-child(2) .p-top-domains-card__head {
  padding-right: 80px;
}

@media screen and (max-width: 1024px) {

  .p-top-domains__cards {
    grid-template-columns: none;
  }

}

@media screen and (max-width: 767px) {

  .p-top-domains__cards {
    /*grid-template-columns: none;*/
  }

  .p-top-domains__card {
    padding-right: 54px;
    padding-bottom: 44px;
    padding-left: 18px;
  }

  .p-top-domains__card:nth-child(2) {
    padding-left: 18px;
    padding-bottom: 20px;
  }

  .p-top-domains-card__content {
    grid-template-columns: 1fr auto;
    justify-content: space-between;
    align-items: stretch;
    gap: 28px 0;
  }

  .p-top-domains__card:nth-child(2) .p-top-domains-card__content {
    grid-template-columns: 1fr auto;
    gap: 18px 0;
  }

  .p-top-domains-card__tags {
    /*grid-column: 2;*/
    /*grid-row: 2;*/
    /*order: 3;*/
  }

  .p-top-domains-card__tag {
    font-size: 10px;
    line-height: calc(38 / 20);
  }

  .p-top-domains-card__image {
    grid-column: 1 / -1;
    /*grid-row: 1;*/
    /*order: 1;*/
    order: -2;
    margin-left: -18px;
  }

  .p-top-domains-card__image img,
  .p-top-domains__card:nth-child(2) .p-top-domains-card__image img {
    aspect-ratio: 642 / 784;
  }

  .p-top-domains-card__head {
    /*grid-column: 1;*/
    grid-column: auto;
    /*grid-row: 2;*/
    /*order: 2;*/
    order: -1;
    padding-right: 0;
  }

  .p-top-domains__card:nth-child(2) .p-top-domains-card__head {
    padding-right: 0;
  }

}

/* WORKS（トップページ） */
.p-top-works {
  padding-top: 146px;
  /*padding-top: calc(146px - 48px);*/
}

.p-top-works__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-top-works__content {
  display: grid;
  grid-template-columns: 1fr auto;
  /*justify-content: space-between;*/
  align-items: center;
  gap: 26px 0;
  /*padding-top: 48px;*/
  padding-bottom: 48px;
}

.p-top-works__slider {
  grid-column: 1 / -1;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

@media screen and (max-width: 1024px) {



}

@media screen and (max-width: 767px) {

  .p-top-works {
    padding-top: 60px;
    /*padding-top: calc(60px - 24px);*/
    /*margin-top: -40px;
    padding-top: 0;*/
  }

  .p-top-works__content {
    gap: 24px 0;
    padding-bottom: 32px;
    /*padding-top: 24px;*/
    /*padding-top: 60px;
    padding-top: calc(60px + 40px);*/
  }

  .p-top-works__button {
    padding-right: 14px;
  }

}

/* スライダーの現在地表示（WORKS（トップページ）） */
.p-works-carousel__track {
  position: relative;
  /*height: 630px;*/
}

.p-works-carousel__cards {
  display: flex;
  gap: 0 20px;
  position: absolute;
  /*overflow-x: auto;*/
  /*-ms-overflow-style: none;
  scrollbar-width: none;*/
}

.p-works-carousel__cards::-webkit-scrollbar {
  /*display: none;*/
}

.p-works-carousel__cards::-webkit-scrollbar {
  /*display: none;*/
}

.p-works-carousel__card {
  /*flex: 0 0 422px;*/
  flex: 0 0 min(422px, calc((422 / 1920) * 100%));
}

.p-works-carousel__card a {
  display: block;
  transition: opacity .3s;
}

.p-works-carousel__card a:hover {
  opacity: .7;
}

.p-works-carousel-card__image img {
  width: 100%;
  /*height: 526px;*/
  aspect-ratio: 422 / 526;
  object-fit: cover;
}

.p-works-carousel-card__client {
  margin-top: 14px;
  color: #000;
  font-size: 13px;
}

.p-works-carousel-card__heading {
  color: #000;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.75;
}

.p-works-carousel-card__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 8px;
}

.p-works-carousel-card__category {
  display: block;
  padding: 6px 12px;
  background: #052d37;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  transition: opacity .3s;
}

.p-works-carousel__progress {
  position: relative;
  height: 1px;
  /*margin-top: 100px;*/
  margin-top: min(100px, 5.2vw);
  background: #052d37;
}

.p-works-carousel__bar {
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: left;
  /*width: calc(422px + 34px);*/
  width: 100%;
  height: 8px;
  background: #052d37;
}

@media screen and (max-width: 1024px) {



}

@media screen and (max-width: 767px) {

  .p-works-carousel__cards {
    gap: 0 14px;
  }

  .p-works-carousel__card {
    flex: 0 0 260px;
  }

  .p-works-carousel-card__client {
    margin-top: 8px;
    font-size: 10px;
  }

  .p-works-carousel-card__heading {
    font-size: 13px;
  }

  .p-works-carousel-card__category {
    padding: 4px 5px;
    font-size: 9px;
  }

  .p-works-carousel__progress {
    margin-top: 58px;
  }

  .p-works-carousel__bar {
    /*width: 60px;*/
  }

}

/* SERVICES（トップページ） */
.p-top-services {
  /*padding-top: 182px;*/
  padding-top: calc(182px - 48px);
}

.p-top-services__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-top-services__header {
  padding-bottom: 110px;
}

.p-top-services__summary {
  display: grid;
  /*grid-template-columns: 1fr calc((432 / 1280) * 100%);*/
  grid-template-columns: 1fr 432px;
  gap: 0 84px;
}

.p-top-services__content {

}

.p-top-services__statement {
  margin-top: 58px;
  font-size: 26px;
  font-weight: 600;
  line-height: calc(44 / 26);
}

.p-top-services__text {
  margin-top: 30px;
}

.p-top-services__diagram {
  margin-top: -10px;
}

.p-top-services__body {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 0 calc(50vw - 50%) 88px;
  background: #1e1e1e;
}

.p-top-services__cards {

}

.p-top-services__card {
  display: grid;
  grid-template-columns: 1fr calc((488 / 1280) * 100%);
  gap: 0 118px;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 108px calc(50vw - 50%) 106px;
}

.p-top-services__card:nth-child(2n  -1) {
  background: #052d37;
}

.p-top-services__card:nth-child(2n) {
  grid-template-columns: calc((488 / 1280) * 100%) 1fr;
}

.p-top-services__card:last-child {
  padding-bottom: 48px;
}

.p-top-services-card__images {
  display: grid;
  /*gap: 10px 0;*/
  gap: 20px 0;
  height: calc(100% - 6px);
}

.p-top-services__card:nth-child(2n - 1) .p-top-services-card__images {
  order: 1;
}

.p-top-services__card:nth-child(2n - 1) .p-top-services-card__image {
  margin-right: -320px;
}

.p-top-services__card:nth-child(2n) .p-top-services-card__image {
  margin-left: -320px;
}

.p-top-services-card__image {
  height: 100%;
}

.p-top-services-card__image img {
  width: 100%;
  height: 100%;
  /*aspect-ratio: 808 / 468;*/
  object-fit: cover;
}

.p-top-services-card__content {

}

.p-top-services-card__list {
  display: grid;
  gap: 70px 0;
}

.p-top-services-card__item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  gap: 0 18px;
}

.p-top-services-card__number {
  display: flex;
  align-items: center;
  gap: 0 14px;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 18px;
  font-weight: 600;
}

.p-top-services-card__number::after {
  width: 80px;
  height: 2px;
  background: #fff;
  content: "";
}

.p-top-services-card__unit {

}

.p-top-services-card__heading {
  color: #b2b2b2;
  font-size: 12px;
  font-weight: 400;
  line-height: calc(18px * (34 / 15));
}

.p-top-services-card__heading span {
  display: block;
  margin-bottom: -4px;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 42px;
  font-weight: 700;
}

.p-top-services-card__text {
  margin-top: 4px;
  color: #fff;
}

.p-top-services-card__action {
  /*padding-right: 20px;*/
}

@media screen and (max-width: 1024px) {

  .p-top-services__summary {
    grid-template-columns: none;
    gap: 24px 0;
  }

  .p-top-services__card {
    grid-template-columns: none;
    gap: 40px 0;
  }

  .p-top-services__card:nth-child(2n) {
    grid-template-columns: none;
  }

  .p-top-services__card:nth-child(2n - 1) .p-top-services-card__images {
    order: 0;
  }

}

@media screen and (max-width: 767px) {

  .p-top-services {
    /*padding-top: 86px;*/
    padding-top: calc(86px - 32px);
  }

  .p-top-services__header {
    padding-bottom: 56px;
  }

  .p-top-services__summary {
    /*grid-template-columns: none;*/
    gap: 24px 0;
  }

  .p-top-services__statement {
    margin-top: 36px;
    font-size: 16px;
    line-height: calc(54 / 32);
  }

  .p-top-services__text {
    margin-top: 16px;
  }

  .p-top-services__diagram {
    margin-top: 0;
  }

  .p-top-services__body {
    padding: 0 calc(50vw - 50%) calc(40px + (11px * (54 / 26)) + (6px * 2));
  }

  .p-top-services__card {
    /*grid-template-columns: none;
    gap: 40px 0;*/
    padding: 0 calc(50vw - 50%) 68px;
  }

  .p-top-services__card:nth-child(2n) {
    /*grid-template-columns: none;*/
  }

  .p-top-services-card__images {
    gap: 18px 0;
    height: auto;
    padding-right: 38px;
  }

  .p-top-services-card__image {
    height: auto;
  }

  .p-top-services__card:nth-child(2n - 1) .p-top-services-card__images {
    /*order: 0;*/
  }

  .p-top-services__card:nth-child(2n - 1) .p-top-services-card__image {
    margin-right: 0;
    margin-left: -18px;
  }

  .p-top-services__card:nth-child(2n) .p-top-services-card__image {
    margin-left: -18px;
  }

  .p-top-services-card__image img {
    height: auto;
    aspect-ratio: 642 / 464;
  }

  .p-top-services-card__list {
    gap: 32px 0;
  }

  .p-top-services-card__item {
    gap: 0 10px;
  }

  .p-top-services-card__number {
    gap: 0 10px;
    font-size: 13px;
  }

  .p-top-services-card__number::after {
    width: 40px;
    height: 1px;
  }

  .p-top-services-card__heading {
    font-size: 9px;
    line-height: calc(13px * (54 / 26));
  }

  .p-top-services-card__heading span {
    margin-bottom: -6px;
    font-size: 22px;
  }

  .p-top-services-card__text {
    margin-top: 6px;
    line-height: calc(44 / 26);
  }

}

/* 企業価値向上（SERVICES（トップページ）） */
.p-value-circles {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  /*background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20361.46%20361.46%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23052d37%3Bstroke-dasharray%3A0%2010%200%200%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A2px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2-2%22%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22180.73%22%20cy%3D%22180.73%22%20r%3D%22162.7%22%2F%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22180.73%22%20cy%3D%22180.73%22%20r%3D%22170.93%22%2F%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22180.73%22%20cy%3D%22180.73%22%20r%3D%22179.73%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center / 362px auto;*/
  /*background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20361.46%20361.46%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23052d37%3Bstroke-dasharray%3A0%2010%200%200%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A2px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2-2%22%20transform%3D%22rotate(90%20180.73%20180.73)%22%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22180.73%22%20cy%3D%22180.73%22%20r%3D%22162.7%22%2F%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22180.73%22%20cy%3D%22180.73%22%20r%3D%22170.93%22%2F%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22180.73%22%20cy%3D%22180.73%22%20r%3D%22179.73%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center / 362px auto;*/
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20361.46%20361.46%22%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%239babaf%3Bstroke-dasharray%3A0%2010%3Bstroke-linecap%3Around%3Bstroke-width%3A2px%3B%7D%3C%2Fstyle%3E%3Cg%20transform%3D%22rotate(90%20180.73%20180.73)%22%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22180.73%22%20cy%3D%22180.73%22%20r%3D%22162.7%22%2F%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22180.73%22%20cy%3D%22180.73%22%20r%3D%22170.93%22%2F%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22180.73%22%20cy%3D%22180.73%22%20r%3D%22179.73%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center / 362px auto;
}

.p-value-circles__core {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 156px;
  aspect-ratio: 1;
  padding-top: 6px;
  border-radius: 50%;
  background: #052d37;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  line-height: calc(27.27 / 16);
}

.p-value-circles__item {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 128px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #ebebeb;
  opacity: 0;
  color: #052d37;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  line-height: calc(23 / 13);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.5s ease;
}

.p-value-circles__item:first-child {
  top: -14px;
  left: 50%;
  transform: translateX(-50%) scale(0);
  transition-delay: 0.1s;
}

.p-value-circles__item:nth-child(2) {
  top: calc(50% - 72px);
  right: 0;
  transform: translateY(-50%) scale(0);
  transition-delay: 0.3s;
}

.p-value-circles__item:nth-child(3) {
  top: calc(50% + 92px);
  right: 0;
  transform: translateY(-50%) scale(0);
  transition-delay: 0.5s;
}

.p-value-circles__item:nth-child(4) {
  bottom: -24px;
  left: 50%;
  transform: translateX(-50%) scale(0);
  transition-delay: 0.7s;
}

.p-value-circles__item:nth-child(5) {
  top: calc(50% + 92px);
  left: 0;
  transform: translateY(-50%) scale(0);
  transition-delay: 0.9s;
}

.p-value-circles__item:nth-child(6) {
  top: calc(50% - 72px);
  left: 0;
  transform: translateY(-50%) scale(0);
  transition-delay: 1.1s;
}

.p-value-circles.is-active .p-value-circles__item {
  opacity: 1;
}

.p-value-circles.is-active .p-value-circles__item:first-child {
  transform: translateX(-50%) scale(1);
}

.p-value-circles.is-active .p-value-circles__item:nth-child(2) {
  transform: translateY(-50%) scale(1);
}

.p-value-circles.is-active .p-value-circles__item:nth-child(3) {
  transform: translateY(-50%) scale(1);
}

.p-value-circles.is-active .p-value-circles__item:nth-child(4) {
  transform: translateX(-50%) scale(1);
}

.p-value-circles.is-active .p-value-circles__item:nth-child(5) {
  transform: translateY(-50%) scale(1);
}

.p-value-circles.is-active .p-value-circles__item:nth-child(6) {
  transform: translateY(-50%) scale(1);
}

@media screen and (max-width: 1024px) {

  .p-value-circles {
    max-width: 432px;
    margin: 0 auto;
  }

}

@media screen and (max-width: 767px) {

  .p-value-circles {
    max-width: 318px;
    /*margin: 0 auto;*/
    /*background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%82%AD%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20557.56%20557.56%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23052d37%3Bstroke-dasharray%3A0%2010.5%200%200%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22rotate(90%20278.78%20278.78)%22%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22278.78%22%20cy%3D%22278.78%22%20r%3D%22238.62%22%2F%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22278.78%22%20cy%3D%22278.78%22%20r%3D%22258.22%22%2F%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22278.78%22%20cy%3D%22278.78%22%20r%3D%22276.78%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center / 278px auto;*/
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%82%AD%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20557.56%20557.56%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%239babaf%3Bstroke-dasharray%3A0%2010.5%200%200%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22rotate(90%20278.78%20278.78)%22%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22278.78%22%20cy%3D%22278.78%22%20r%3D%22238.62%22%2F%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22278.78%22%20cy%3D%22278.78%22%20r%3D%22258.22%22%2F%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%22278.78%22%20cy%3D%22278.78%22%20r%3D%22276.78%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center / 278px auto;
  }

  .p-value-circles__core {
    width: 114px;
    font-size: 12px;
    line-height: calc(40 / 24);
  }

  .p-value-circles__item {
    width: 94px;
    font-size: 9px;
    line-height: 2;
  }

  .p-value-circles__item:first-child {
    top: -10px;
  }

  .p-value-circles__item:nth-child(2),
  .p-value-circles__item:nth-child(6) {
    top: calc(50% - 52px);
  }

  .p-value-circles__item:nth-child(4) {
    bottom: -18px;
  }

  .p-value-circles__item:nth-child(3),
  .p-value-circles__item:nth-child(5) {
    top: calc(50% + 68px);
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/* ビジョン（届けるデザインについて） */
.p-about-vision {
  padding: 152px 0 194px;
}

.p-about-vision__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-about-vision__columns {
  display: grid;
  grid-template-columns: 1fr 44%;
  gap: 0 64px;
}

.p-about-vision__column:first-child {
  padding-top: 10px;
}

.p-about-vision__statement {
  margin-top: 102px;
  font-size: 34px;
  font-weight: 600;
  line-height: calc(64 / 34);
}

.p-about-vision__text {
  font-size: 16px;
  line-height: calc(34 / 16);
}

@media screen and (max-width: 767px) {

  .p-about-vision {
    padding: 76px 0 66px;
  }

  .p-about-vision__columns {
    grid-template-columns: none;
    gap: 36px 0;
  }

  .p-about-vision__column:nth-child(2) {
    padding-top: 0;
  }

  .p-about-vision__statement {
    margin-top: 44px;
    font-size: 17px;
  }

  .p-about-vision__text {
    font-size: 13px;
    line-height: calc(54 / 26);
  }

}

/* ミッション（届けるデザインについて） */
.p-about-mission {
  /*padding: 94px 0 164px;*/
  padding: 94px 0 146px;
  border-top: 1px solid #000;
}

.p-about-mission__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-about-mission__columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.p-about-mission__column:first-child {
  /*padding-right: 204px;*/
  padding-right: 172px;
}

.p-about-mission__column:nth-child(2) {
  /*padding-top: 10px;*/
  padding-top: 36px;
}

.p-about-mission__image {
  /*margin-top: 102px;*/
  margin-top: 84px;
}

.p-about-mission__image img {
  width: 100%;
  /*aspect-ratio: 437 / 330;*/
  aspect-ratio: 468 / 320;
  object-fit: cover;
}

.p-about-mission__list {
  display: grid;
  /*gap: 70px 0;*/
  gap: 52px 0;
}

.p-about-mission__item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  gap: 0 20px;
}

.p-about-mission__number {
  display: flex;
  grid-column: 1;
  grid-row: 1 / -1;
  align-items: center;
  gap: 0 14px;
  font-family: "Figtree", sans-serif;
  font-size: 18px;
  font-weight: 600;
}

.p-about-mission__number::after {
  width: 26px;
  height: 1px;
  background: #000;
  content: "";
}

.p-about-mission__heading {
  grid-column: 2;
  font-size: 18px;
  font-weight: 600;
}

.p-about-mission__text {
  grid-column: 2;
  /*margin-top: 14px;*/
  margin-top: 8px;
}

@media screen and (max-width: 1024px) {

  .p-about-mission__column:first-child {
    padding-right: 64px;
  }

}

@media screen and (max-width: 767px) {

  .p-about-mission {
    padding: 56px 0 70px;
  }

  .p-about-mission__columns {
    grid-template-columns: none;
    gap: 50px 0;
  }

  .p-about-mission__column:first-child {
    padding-right: 0;
  }

  .p-about-mission__column:nth-child(2) {
    padding-top: 0;
  }

  .p-about-mission__image {
    margin-top: 46px;
  }

  .p-about-mission__list {
    gap: 52px 0;
  }

  .p-about-mission__item {
    gap: 0 12px;
  }

  .p-about-mission__number {
    grid-row: 1;
    gap: 0 10px;
    font-size: 13px;
  }

  .p-about-mission__number::after {
    width: 20px;
  }

  .p-about-mission__heading {
    grid-row: 1;
    font-size: 14px;
    line-height: calc(50 / 28);
  }

  .p-about-mission__text {
    grid-column: 1 / -1;
    margin-top: 16px;
  }

}

/* メンバー（届けるデザインについて） */
.p-about-member {
  padding: 100px 0 92px;
  background: #ebebeb;
}

.p-about-member__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-about-member__body {
  margin-top: 78px;
}

.p-about-member__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 218px;
  margin-bottom: 90px;
}

.p-about-member__card {
  display: flex;
  flex-direction: column;
}

.p-about-member__card:nth-child(2n) {
  position: relative;
}

.p-about-member__card:nth-child(2n)::before {
  position: absolute;
  top: 0;
  left: calc(-218px / 2);
  width: 1px;
  height: 100%;
  background: #000;
  content: "";
}

.p-about-member-card__summary {
  display: grid;
  grid-template-columns: 1fr calc((214 / 532) * 100%);
}

.p-about-member-card__content {
  padding-top: 98px;
}

.p-about-member-card__name {
  font-size: 20px;
  letter-spacing: .2em;
}

.p-about-member-card__name span {
  display: block;
  font-family: "Figtree", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
}

.p-about-member-card__position {
  margin-top: 16px;
  font-size: 14px;
}

.p-about-member-card__portrait {

}

.p-about-member-card__portrait img {
  width: 100%;
  aspect-ratio: 214 / 280;
  object-fit: cover;
}

.p-about-member-card__expertise {
  min-height: calc((40px + 18px) + (34px * 2));
  margin-top: 80px;
  font-weight: 600;
}

.p-about-member-card__expertise span {
  display: block;
  margin-bottom: 18px;
  /*padding: 3px 10px;*/
  padding: 3px 10px 5px;
  background: #052d37;
  color: #fff;
  font-weight: 400;
}

.p-about-member-card__biography {
  /*margin-top: 68px;*/
  margin: 68px 0 34px;
}

.p-about-member-card__biography a {
  color: #000;
  text-decoration: underline;
}

.p-about-member-card__biography a:hover {
  text-decoration: none;
}

.p-about-member-card__activity {
  margin-top: 34px;
  margin-top: auto;
}

.p-about-member-card__activity img {
  width: 100%;
  aspect-ratio: 532 / 200;
  object-fit: cover;
}

@media screen and (max-width: 1024px) {

  .p-about-member__cards {
    grid-template-columns: none;
    gap: 94px 0;
  }

  .p-about-member__card:nth-child(2n)::before {
    position: absolute;
    top: -52px;
    left: 0;
    width: 100%;
    height: 1px;
  }

}

@media screen and (max-width: 767px) {

  .p-about-member {
    padding: 44px 0 54px;
  }

  .p-about-member__body {
    margin-top: 46px;
  }

  .p-about-member__cards {
    /*grid-template-columns: none;
    gap: 94px 0;*/
    margin-bottom: 30px;
  }

  .p-about-member__card:nth-child(2n)::before {
    /*position: absolute;
    top: -52px;
    left: 0;
    width: 100%;
    height: 1px;*/
  }

  .p-about-member-card__summary {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px 0;
  }

  .p-about-member-card__content {
    padding-top: 0;
  }

  .p-about-member-card__portrait {
    width: calc((185 / 339) * 100%);
    margin: 0 auto;
  }

  .p-about-member-card__name {
    font-size: 17px;
    text-align: center;
  }

  .p-about-member-card__name span {
    margin-top: -4px;
    font-size: 11px;
  }

  .p-about-member-card__position {
    margin-top: 12px;
    font-size: 12px;
    text-align: center;
  }

  .p-about-member-card__expertise {
    min-height: 0;
    margin-top: 28px;
  }

  .p-about-member-card__expertise span {
    margin-bottom: 12px;
    /*padding: 4px 10px;*/
    padding: 4px 10px 5px;
  }

  .p-about-member-card__biography {
    margin-top: 28px;
  }

  .p-about-member-card__activity img {
    aspect-ratio: 678 / 354;
  }

}

/* 会社概要（届けるデザインについて） */
.p-about-overview {
  padding: 114px 0 212px;
}

.p-about-overview__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-about-overview__body {
  margin-top: 98px;
}

.p-about-overview__list {
  margin-bottom: 78px;
}

.p-about-overview__item {
  display: grid;
  /*grid-template-columns: 16% 1fr;*/
  grid-template-columns: 210px 1fr;
  /*gap: 0 4px;*/
}

.p-about-overview__item:nth-child(n + 2) {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #000;
}

.p-about-overview__term {

}

.p-about-overview__description:has(.p-about-overview__works) {
  display: flex;
  gap: 0 88px;
}

.p-about-overview__description a {
  color: #000;
  text-decoration: underline;
}

.p-about-overview__description a:hover {
  text-decoration: none;
}

@media screen and (max-width: 1024px) {

  .p-about-overview__description:has(.p-about-overview__works) {
    display: block;
  }

}

@media screen and (max-width: 767px) {

  .p-about-overview {
    padding: 66px 0 114px;
  }

  .p-about-overview__body {
    margin-top: 42px;
  }

  .p-about-overview__list {
    margin-bottom: 40px;
  }

  .p-about-overview__item {
    grid-template-columns: 104px 1fr;
  }

  .p-about-overview__item:nth-child(n + 2) {
    margin-top: 18px;
    padding-top: 16px;
  }

}

/* インデックス（事業内容） */
.p-service-index {
  padding: 214px 0 86px;
}

.p-service-index__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-service-index__list {
  display: grid;
  gap: 56px 0;
}

.p-service-index__item {

}

.p-service-index__item a {
  display: block;
  position: relative;
  padding-left: calc(25px + 30px);
  color: #000;
  font-size: 13px;
  line-height: 1.375;
}

.p-service-index__item a::before {
  position: absolute;
  /*top: calc(50% + 4px);*/
  top: 14px;
  left: 0;
  /*transform: translateY(-50%);*/
  width: 25px;
  height: 58px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2023.58%2057.62%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23000%3Bstroke-miterlimit%3A10%3Bstroke-width%3A2px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M22.84%2C43.84l-11.05%2C12.28L.74%2C43.84%22%2F%3E%3Cline%20class%3D%22cls-1%22%20x1%3D%2211.79%22%20y1%3D%2256.12%22%20x2%3D%2211.79%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
  transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1);
}

.p-service-index__item a:hover::before {
  /*transform: translateY(calc(-50% + 8px));*/
  transform: translateY(8px);
}

.p-service-index__item span {
  display: block;
  margin-bottom: 2px;
  font-family: "Figtree", sans-serif;
  font-size: 42px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {

  .p-service-index {
    padding: 108px 0 26px;
  }

  .p-service-index__list {
    gap: 28px 0;
  }

  .p-service-index__item a {
    padding-left: calc(19px + 16px);
    font-size: 10px;
    /*line-height: 2.1;*/
    line-height: 1.8;
  }

  .p-service-index__item a::before {
    top: 8px;
    width: 19px;
    height: 45px;
  }

  .p-service-index__item span {
    margin-bottom: 0;
    font-size: 26px;
    line-height: 1.375;
  }

}

/* PROMOTION DESIGN・CAR/PRODUCT DESIGN（事業内容） */
.p-service-area {
  background: #052d37;
}

.p-service-area:nth-child(2) {
  background: #ebebeb;
}

.p-service-area__header {
  padding: 146px 0 90px;
}

.p-service-area__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-service-area__summary {
  display: grid;
  grid-template-columns: 1fr calc((562 / 1280) * 100%);
  gap: 0 64px;
}

.p-service-area__heading {
  font-weight: 400;
  font-size: 16px;
}

.p-service-area:first-child .p-service-area__heading {
  color: #fff;
}

.p-service-area__heading span {
  display: block;
  margin-bottom: 12px;
  color: #052d37;
  font-family: "Figtree", sans-serif;
  font-size: 70px;
  font-weight: 700;
  line-height: calc(80 / 70);
}

.p-service-area:first-child .p-service-area__heading span {
  color: #fff;
}

.p-service-area__text {
  font-size: 16px;
  line-height: calc(34 / 16);
}

.p-service-area:first-child .p-service-area__text {
  color: #fff;
}

.p-service-area__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  position: relative;
  border-top: 1px solid #052d37;
}

.p-service-area:first-child .p-service-area__cards {
  border-top: 1px solid #fff;
}

.p-service-area__card {
  display: grid;
  grid-template-columns: 1fr calc((934 / 1764) * 100%);
  gap: 0 80px;
  padding: 96px 82px 70px 74px;
  /*border-bottom: 5px solid #ff0;*/
  /*border-bottom: 1px solid #052d37;*/
  border-bottom-color: #052d37;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.p-service-area:first-child .p-service-area__card {
  /*border-bottom: 5px solid #ff0;*/
  /*border-bottom: 1px solid #fff;*/
  border-bottom-color: #fff;
}

.p-service-area__card:first-child {
  grid-column: 1 / -1;
  align-items: flex-end;
}

.p-service-area:nth-child(2) .p-service-area__card:first-child {
  grid-template-columns: 1fr calc((988 / 1764) * 100%);
  gap: 0 80px;
}

.p-service-area__card:nth-child(n + 2) {
  grid-template-columns: 1fr calc((402 / 803) * 100%);
  gap: 0 68px;
}

.p-service-area__card:nth-child(2n) {
  border-right: 1px solid #052d37;
}

.p-service-area:first-child .p-service-area__card:nth-child(2n) {
  border-right: 1px solid #fff;
}

.p-service-area__card:last-child {
  /*border-bottom: none;*/
  /*border-bottom-width: 0;*/
}

.p-service-area__card:nth-child(2n - 1):last-child,
.p-service-area__card:nth-child(2n):nth-last-child(2) {
  /*border-bottom: none;*/
  /*border-bottom-width: 0;*/
}

.p-service-area__card:nth-child(2n):nth-last-child(2),
.p-service-area__card:last-child {
  border-bottom-width: 0;
}

.p-service-area-card__content {
  padding: 0 0 12px;
}

.p-service-area__card:nth-child(n + 2) .p-service-area-card__content {
  padding: 10px 0 0;
}

.p-service-area-card__heading {
  color: #052d37;
  /*font-size: 17px;*/
  font-size: 15px;
  /*line-height: 1.375;*/
  line-height: 1.5;
}

.p-service-area:first-child .p-service-area-card__heading {
  color: #fff;
}

.p-service-area-card__heading span {
  display: block;
  margin-bottom: 2px;
  font-family: "Figtree", sans-serif;
  font-size: 32px;
}

.p-service-area-card__text {
  margin-top: 32px;
}

.p-service-area:first-child .p-service-area-card__text {
  color: #fff;
}

.p-service-area-card__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 4px;
}

.p-service-area:first-child .p-service-area__card:first-child .p-service-area-card__images {
  grid-template-columns: 1fr 1fr calc((491 / 934) * 100%);
  gap: 0 16px;
}

.p-service-area-card__image img {
  width: 100%;
  aspect-ratio: 492 / 290;
  object-fit: cover;
}

.p-service-area:first-child .p-service-area__card:first-child .p-service-area-card__image:nth-child(-n + 2) img {
  height: 100%;
  aspect-ratio: auto;
}

.p-service-area__card:nth-child(n + 2) .p-service-area-card__image img {
  /*aspect-ratio: 402 / 290;*/
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 1024px) {

  .p-service-area__summary {
    grid-template-columns: none;
    gap: 54px 0;
  }

  .p-service-area__cards {
    grid-template-columns: none;
  }

  .p-service-area__card {
    grid-template-columns: none;
    gap: 28px 0;
  }

  .p-service-area__card:nth-child(2n),
  .p-service-area:first-child .p-service-area__card:nth-child(2n) {
    border-right: none;
  }

  .p-service-area__card:nth-child(2n - 1):last-child,
  .p-service-area__card:nth-child(2n):nth-last-child(2) {
    /*border-bottom-width: 1px;*/
  }

  .p-service-area__card:nth-child(2n):nth-last-child(2) {
    border-bottom-width: 1px;
  }

}

@media screen and (max-width: 767px) {

  .p-service-area__header {
    padding: 114px 0 48px;
  }

  .p-service-area__summary {
    /*grid-template-columns: none;
    gap: 54px 0;*/
  }

  .p-service-area__heading {
    font-size: 13px;
    line-height: calc(46 / 26);
  }

  .p-service-area__heading span {
    margin-bottom: 14px;
    font-size: 39px;
  }

  .p-service-area__text {
    font-size: 13px;
    line-height: calc(54 / 26);
  }

  .p-service-area__cards {
    /*grid-template-columns: none;*/
  }

  .p-service-area__card {
    /*grid-template-columns: none;
    gap: 28px 0;*/
    padding: 96px 18px 52px;
  }

  .p-service-area:nth-child(2) .p-service-area__card:first-child {
    grid-template-columns: none;
    gap: 48px 0;
  }

  .p-service-area__card:nth-child(n + 2) {
    grid-template-columns: none;
    gap: 32px 0;
  }

  .p-service-area__card:nth-child(2n),
  .p-service-area:first-child .p-service-area__card:nth-child(2n) {
    /*border-right: none;*/
  }

  .p-service-area__card:nth-child(2n - 1):last-child,
  .p-service-area__card:nth-child(2n):nth-last-child(2) {
    /*border-bottom-width: 1px;*/
  }

  .p-service-area-card__content,
  .p-service-area__card:nth-child(n + 2) .p-service-area-card__content {
    padding: 0;
  }

  .p-service-area-card__heading {
    font-size: 12px;
  }

  .p-service-area-card__heading span {
    margin-bottom: 4px;
    font-size: 24px;
  }

  .p-service-area-card__text {
    margin-top: 24px;
  }

  .p-service-area-card__images {
    grid-template-columns: none;
    gap: 18px 0;
  }

  .p-service-area:first-child .p-service-area__card:first-child .p-service-area-card__images {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .p-service-area-card__image img {
    aspect-ratio: 678 / 398;
  }

  .p-service-area:first-child .p-service-area__card:first-child .p-service-area-card__image:nth-child(-n + 2) img {
    height: auto;
    aspect-ratio: 320 / 448;
  }

  .p-service-area:first-child .p-service-area__card:first-child .p-service-area-card__image:nth-child(n + 3) {
    grid-column: 1 / -1;
  }

  .p-service-area__card:nth-child(n + 2) .p-service-area-card__image img {
    aspect-ratio: 678 / 488;
  }

}

/* お問い合わせ（事業内容） */
.p-service-beyond {
  /*padding-top: 102px;*/
  /*padding: 102px 0 0;*/
  padding: 102px 0 110px;
}

.p-service-beyond__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-service-beyond__heading {
  font-family: "Figtree", sans-serif;
  font-size: 40px;
  text-align: center;
  line-height: 1.375;
}

.p-service-beyond__text {
  margin: 10px 0 40px;
  font-size: 17px;
  text-align: center;
}

.p-service-beyond__images {

  display: none!important;

  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: 100vw;
  margin: 110px calc(50% - 50vw) 0;
}

.p-service-beyond__image {

}

.p-service-beyond__image img {
  width: 100%;
  /*height: 344px;*/
  aspect-ratio: 480 / 344;
  object-fit: cover;
}

@media screen and (max-width: 767px) {

  .p-service-beyond {
    /*padding-top: 52px;*/
    padding: 52px 0 20px;

    padding: 52px 0 56px;
  }

  .p-service-beyond__heading {
    font-size: 26px;
    line-height: calc(60 / 52);
  }

  .p-service-beyond__text {
    margin: 16px 0 28px;
    font-size: 13px;
    line-height: calc(50 / 26);
  }

  .p-service-beyond__images {
    /*grid-template-columns: repeat(2, 1fr);*/
    grid-template-columns: none;
    gap: 20px 0;
    width: 100%;
    /*margin: 56px calc(50% - 50vw) 0;*/
    margin: 56px 0 0;
  }

  .p-service-beyond__image img {
    height: auto;
    /*aspect-ratio: 375 / 268;*/
    /*aspect-ratio: 375 / 230;*/
    aspect-ratio: 488 / 338;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*  */
.tag__list {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
}

.tag__item a {
  display: block;
  padding: 4px 12px;
  background: #eeead9;
  color: #ac973f;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  transition: opacity .3s;
}

.tag__item.is-active a {

}

.tag__item a:hover {
  opacity: .7;
}

@media screen and (max-width: 767px) {

  .tag__list {
    gap: 8px;
  }

  .tag__item a {
    padding: 2px 8px;
    font-size: 10px;
  }

}

/* ポストナビゲーション */
.c-post-nav__list {
  display: flex;
  justify-content: space-between;
  /*align-items: center;*/
  align-items: baseline;
}

.c-post-nav__item a {
  color: #000;
  font-family: "Figtree", sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: opacity .3s;
}

.c-post-nav__item--archive a {
  color: #ac973f;
  text-decoration: underline;
}

.c-post-nav__item a:hover {
  opacity: .7;
}

.c-post-nav__item--prev a,
.c-post-nav__item--next a {
  display: flex;
  align-items: center;
  gap: 0 10px;
  text-transform: uppercase;
}

.c-post-nav__item--prev a::before,
.c-post-nav__item--next a::after {
  width: 16px;
  height: 7px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23000%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%2214.8%204.67%201.25%204.67%206.48%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
}

.c-post-nav__item--next a::after {
  transform: scaleX(-1);
}

@media screen and (max-width: 767px) {

  .c-post-nav__item a {
    font-size: 11px;
  }

  .c-post-nav__item--prev a,
  .c-post-nav__item--next a {
    gap: 0 6px;
  }

  .c-post-nav__item--prev a::before,
  .c-post-nav__item--next a::after {
    width: 12px;
    height: 5px;
  }

}

/* ページネーション */
.c-pagination__list {
  display: flex;
  align-items: center;
  gap: 0 44px;
}

.c-pagination__list--center {
  justify-content: center;
}

.c-pagination__item--dot {
  /*margin: 0 -10px;*/
}

.c-pagination__item a,
.c-pagination__item span {
  display: block;
  color: #000;
  font-family: "Figtree", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  transition: opacity .3s;
}

.c-pagination__item a:hover {
  opacity: .7;
}

.c-pagination__item:not(.c-pagination__item--dot) span {
  color: #ac973f;
}

.c-pagination__item--prev a,
.c-pagination__item--next a {
  display: flex;
  align-items: center;
  gap: 0 10px;
  font-size: 14px;
  text-transform: uppercase;
}

.c-pagination__item--prev a::before,
.c-pagination__item--next a::after {
  width: 16px;
  height: 7px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23000%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%2214.8%204.67%201.25%204.67%206.48%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
}

.c-pagination__item--next a::after {
  transform: scaleX(-1);
}

@media screen and (max-width: 767px) {

  .c-pagination__list {
    justify-content: center;
    gap: 0 24px;
  }

  .c-pagination__item a,
  .c-pagination__item span {
    font-size: 12px;
  }

  .c-pagination__item--prev {
    margin-right: auto;
  }

  .c-pagination__item--next {
    margin-left: auto;
  }

  .c-pagination__item--prev a,
  .c-pagination__item--next a {
    gap: 0 6px;
    font-size: 11px;
  }

  .c-pagination__item--prev a::before,
  .c-pagination__item--next a::after {
    width: 12px;
    height: 5px;
  }

}

/* 届けるブログ */
.p-blog-post {
  padding: 82px 0 24px;
}

.p-blog-post__heading {
  margin-top: 138px;
  font-size: 26px;
  font-weight: 500;
}

.p-blog-post__time {
  margin-top: 10px;
  font-size: 13px;
}

.p-blog-post__body {
  margin-top: 28px;
  padding-top: 70px;
  border-top: 1px solid #000;
}

.p-blog-post__image {
  margin-bottom: 74px;
}

.p-blog-post__image img {
  width: 100%;
  aspect-ratio: 844 / 378;
  object-fit: cover;
}

.p-blog-post__attributes {
  margin-top: 74px;
}

.p-blog-post__footer {
  margin-top: 70px;
  padding-top: 40px;
  border-top: 1px solid #000;
}

@media screen and (max-width: 767px) {

  .p-blog-post {
    padding-top: 4px;
  }

  .p-blog-post__heading {
    margin-top: 46px;
    font-size: 18px;
  }

  .p-blog-post__time {
    margin-top: 4px;
    font-size: 12px;
  }

  .p-blog-post__body {
    margin-top: 32px;
    padding-top: 40px;
  }

  .p-blog-post__image {
    margin-bottom: 38px;
  }

  .p-blog-post__attributes {
    margin-top: 20px;
  }

  .p-blog-post__footer {
    margin-top: 48px;
    padding-top: 26px;
  }

}

/*  */
.category__list {
  display: grid;
  gap: 28px 0;
}

.category__item a {
  display: block;
  color: #000;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  transition: opacity .3s;
}

.category__item.is-active a {
  color: #ac973f;
}

.category__item a:hover {
  opacity: .7;
}

@media screen and (max-width: 767px) {

  .category__list {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 40px;
  }

  .category__item a {
    font-size: 13px;
  }

}

/* NEWS */
.p-news {
  padding: 176px 0 124px;
  background: url("lib/images/bg_page_pc.png") no-repeat center top / 100% auto;
}

.p-news__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.p-news__container {
  display: grid;
  grid-template-columns: 1fr calc((940 / 1280) * 100%);
  align-items: flex-start;
}

.p-news__container--narrow {
  grid-template-columns: 1fr calc((892 / 1280) * 100%);
}

.p-news__header {
  display: grid;
  gap: 146px 0;
}

@media screen and (max-width: 767px) {

  .p-news {
    padding: 66px 0;
    background: url("lib/images/bg_page_sp.png") no-repeat center top / 100% auto;
  }

  .p-news__container {
    grid-template-columns: none;
    align-items: normal;
    gap: 44px 0;
  }

  .p-news__header {
    gap: 44px 0;
  }

}

/* NEWS */
.p-news-index__cards {
  display: grid;
  gap: 24px 0;
}

.p-news-index__card a {
  display: block;
  position: relative;
  padding: 30px 52px 38px;
  border: 1px solid #eeead9;
  transition: opacity .3s;
}

.p-news-index__card a:hover {
  opacity: 0.7;
}

.p-news-index__card a::before {
  position: absolute;
  bottom: 38px;
  right: calc(52px - 16px);
  width: 16px;
  height: 6px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23ac973f%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%204.67%2013.55%204.67%208.32%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
}

.p-news-index-card__meta {
  display: flex;
  align-items: center;
  gap: 0 14px;
}

.p-news-index-card__time {
  color: #929292;
  font-family: "Figtree", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.p-news-index-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.p-news-index-card__tag {
  padding: 3px 11px;
  background: #eeead9;
  color: #ac973f;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.p-news-index-card__heading {
  margin-top: 20px;
  color: #000;
  font-size: 15px;
  font-weight: 400;
  text-decoration: underline;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.p-news-index__pagination {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {

  .p-news-index__card a {
    padding: 22px 26px 44px;
  }

  .p-news-index__card a::before {
    bottom: 26px;
    right: calc(26px - 12px);
    width: 12px;
    height: 5px;
  }

  .p-news-index-card__meta {
    gap: 0 22px;
  }

  .p-news-index-card__time {
    font-size: 11px;
  }

  .p-news-index-card__tags {
    gap: 8px;
  }

  .p-news-index-card__tag {
    padding: 2px 6px;
    font-size: 10px;
  }

  .p-news-index-card__heading {
    margin-top: 16px;
    font-size: 13px;
    line-height: calc(56 / 28);
  }

  .p-news-index__pagination {
    margin-top: 42px;
  }

}

/* BEAUTY COLUMN */
.p-beauty-column {
/*   position: relative; */
  z-index: 1;
  padding: 174px 0 130px;
  background: url("lib/images/bg_page_pc.png") no-repeat center top / 100% auto;
}

/* .p-beauty-column__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  transition: transform 0.6s ease-out;
}

.p-beauty-column.is-inview.is-show .p-beauty-column__image {
  transform: translateY(-100%);
}

.p-beauty-column__image img {
  width: 100%;
} */

.p-beauty-column__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.p-beauty-column__header {
  display: grid;
  gap: 60px 0;
}

.p-beauty-column__body {
  margin-top: 112px;
}

@media screen and (max-width: 767px) {

  .p-beauty-column {
    padding: 66px 0;
    background: url("lib/images/bg_page_sp.png") no-repeat center top / 100% auto;
  }

  .p-beauty-column__header {
    gap: 28px 0;
    gap: 48px 0;
  }

  .p-beauty-column__body {
    margin-top: 22px;
  }

}

/* BEAUTY COLUMN */
.p-beauty-column-index {
  padding-top: 10px;
}

.p-beauty-column-index__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 106px 96px;
}

.p-beauty-column-index__card a {
  display: block;
  position: relative;
  transition: opacity .3s;
}

.p-beauty-column-index__card a:hover {
  opacity: 0.7;
}

.p-beauty-column-index__card a::before {
  position: absolute;
  bottom: calc((22.8px - 6px) / 2);
  right: 14px;
  width: 16px;
  height: 6px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23ac973f%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%204.67%2013.55%204.67%208.32%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
}

.p-beauty-column-index-card__image img {
  width: 100%;
  aspect-ratio: 362 / 230;
  object-fit: cover;
}

.p-beauty-column-index-card__time {
  margin-top: 20px;
  color: #929292;
  font-family: "Figtree", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.p-beauty-column-index-card__heading {
  margin-top: 4px;
  color: #000;
  font-size: 16px;
  font-weight: 400;
  line-height: calc(33 / 16);
  letter-spacing: 0.1em;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;

}

.p-beauty-column-index-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
  padding-right: calc((16px * 2) + 14px);
}

.p-beauty-column-index-card__tag {
  padding: 3px 11px;
  background: #eeead9;
  color: #ac973f;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.p-beauty-column-index__pagination {
  margin-top: 126px;
}

@media screen and (max-width: 1331px) {

  .p-beauty-column-index__cards {
    grid-template-columns: repeat(2, 1fr);
  }

}

@media screen and (max-width: 767px) {

  .p-beauty-column-index__cards {
    grid-template-columns: none;
    gap: 50px 0;
  }

  .p-beauty-column-index__card a::before {
    bottom: calc((18px - 5px) / 2);
    right: 0;
    width: 12px;
    height: 5px;
  }

  .p-beauty-column-index-card__time {
    margin-top: 12px;
    font-size: 11px;
  }

  .p-beauty-column-index-card__heading {
    font-size: 14px;
    line-height: calc(56 / 28);
  }

  .p-beauty-column-index-card__tags {
    gap: 8px;
    margin-top: 16px;
    padding-right: calc(12px * 2);
  }

  .p-beauty-column-index-card__tag {
    padding: 2px 6px;
    font-size: 10px;
  }

  .p-beauty-column-index__pagination {
    margin-top: 80px;
  }

}

/*  */
.p-entry-post--column {
  padding: 0 0 50px;
}

.p-entry-post--news {
  padding: 12px 0 108px;
}

.p-entry-post__inner {
  max-width: 994px;
  margin: 0 auto;
}

.p-entry-post__meta {
  display: flex;
  align-items: center;
  gap: 0 24px;
  margin-bottom: 38px;
}

.p-entry-post__time {
  color: #929292;
  font-family: "Figtree", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.p-entry-post--column .p-entry-post__time {
  text-align: center;
}

.p-entry-post__heading {
  font-family: "Shippori Mincho", serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.p-entry-post--column .p-entry-post__heading {
  margin-top: 20px;
  text-align: center;
}

.p-entry-post__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.p-entry-post--column .p-entry-post__tags {
  margin-top: 30px;
  justify-content: center;
}

.p-entry-post__tag {
  padding: 3px 11px;
  background: #eeead9;
  color: #ac973f;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.p-entry-post__body {
  margin-top: 40px;
  padding-top: 80px;
  border-top: 1px solid #d5cb9f;
}

.p-entry-post__image {
  max-width: 528px;
  margin: 0 auto 64px;
}

.p-entry-post__image img {
  width: 100%;
  aspect-ratio: 528 / 366;
  object-fit: cover;
}

.p-entry-post--column .p-entry-post__footer {
  margin-top: 178px;
}

.p-entry-post--news .p-entry-post__footer {
  margin-top: 124px;
}

@media screen and (max-width: 767px) {

  .p-entry-post--column {
    padding: 26px 0 0;
  }

  .p-entry-post--news {
    padding: 28px 0 12px;
  }

  .p-entry-post__meta {
    gap: 0 22px;
    margin-bottom: 30px;
  }

  .p-entry-post__time {
    font-size: 11px;
  }

  .p-entry-post__heading {
    font-size: 18px;
    line-height: calc(64 / 36);
  }

  .p-entry-post--column .p-entry-post__heading {
    margin-top: 20px;
  }

  .p-entry-post__tags {
    gap: 8px;
  }

  .p-entry-post--column .p-entry-post__tags {
    margin-top: 22px;
  }

  .p-entry-post__tag {
    padding: 2px 6px;
    font-size: 10px;
  }

  .p-entry-post__body {
    /*margin-top: 30px;
    padding-top: 42px;*/
    margin-top: 36px;
    padding-top: 48px;
  }

  .p-entry-post__image {
    margin: 0 auto 34px;
  }

  .p-entry-post--column .p-entry-post__footer {
    margin-top: 54px;
  }

  .p-entry-post--news .p-entry-post__footer {
    margin-top: 50px;
  }

}

/* ポップアップ拡大機能 */
#modal-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .8);
  cursor: zoom-out;
}

#modal-container .modal-content {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

#modal-container img {
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 40px);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  object-fit: contain;
}

img.popup {
  cursor: pointer;
  transition: opacity 0.3s;
}

img.popup:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {

  #modal-container {
    display: none !important;
  }

  img.popup {
    cursor: default;
  }

  img.popup:hover {
    opacity: 1;
  }

}




/*  */
.p-entry-content {
  letter-spacing: 0.1em;
}

.p-entry-content > *:first-child {
  margin-top: 0;
}

.p-entry-content > * {
  margin-top: 32px;
}

/*
見出し
*/
.p-entry-content h2,
.p-entry-content h3,
.p-entry-content h4,
.p-entry-content h5,
.p-entry-content h6 {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

/* 基準: 64px / 22px */
.p-entry-content h2 {
  margin-top: 74px;
  color: #ac973f;
  font-size: 22px;
}

.p-entry-content h2:first-of-type {
  margin-top: 66px;
  padding-top: 80px;
  border-top: 1px solid #ccc;
}

/* h3: 64pxの約75% (48px) / 20px */
.p-entry-content h3 {
  /*margin-top: calc(64px * 0.75);*/
  /*font-size: calc(22px - 2px);*/

  margin-top: 134px;
  padding: 13px 24px;
  background: #f7f5ec;
  color: #ac973f;
  font-size: 22px;
}

/* h4: 64pxの約50% (32px) / 18px */
.p-entry-content h4 {
  margin-top: calc(64px * 0.5);
  font-size: calc(22px - 4px);
}

/* h5: 64pxの約37.5% (24px) / 16px (本文サイズ想定) */
.p-entry-content h5 {
  margin-top: calc(64px * 0.375);
  font-size: calc(22px - 6px);
}

/* h6: 64pxの約25% (16px) / 14px (補足サイズ想定) */
.p-entry-content h6 {
  margin-top: calc(64px * 0.25);
  font-size: calc(22px - 8px);
}

.p-entry-content blockquote {
  position: relative;
  margin-top: calc(64px * 0.5); /* h4と同じくらいの余白 */
  margin-bottom: calc(64px * 0.5);
  padding: 32px;
  border-left: 4px solid #052d37; /* 縦線で引用を強調 */
  border-left: none;
  background: #f7f7f7;
  color: #555; /* 本文より少し薄くして「引用感」を出す */
}

/* 引用符を擬似要素で入れる場合（デザインのアクセント） */
.p-entry-content blockquote::before {
  position: absolute;
  top: 10px;
  left: 10px;
  color: #ddd;
  font-family: serif;
  font-size: 40px;
  line-height: 1;
  content: "“";
}

.p-entry-content blockquote p {
  /*margin: 0;*/
  line-height: 1.8;
}

/* 引用元（cite）がある場合 */
.p-entry-content blockquote cite {
  display: block;
  margin-top: 16px;
  text-align: right;
  font-size: 14px;
  font-style: normal;
  color: #888;
}

.p-entry-content blockquote cite::before {
  content: "— "; /* 引用元の前にダッシュを入れる */
}

.p-entry-content ol,
.p-entry-content ul {
  padding-left: 32px;
}

.p-entry-content li {
  list-style-type: inherit;
}

.p-entry-content a {
  color: #000;
  text-decoration: underline;
}

.p-entry-content a:hover {
  text-decoration: none;
}

/*
ギャラリー
*/
/* 2カラム (基準: 32px) */
.p-entry-content .gallery-columns-2 {
  margin-top: 94px!important;
  margin-right: -50px!important;
  margin-left: -50px!important;
}
.p-entry-content .gallery-columns-2 .gallery-item {
  padding: 0 50px;
}

/* 3カラム (32px - 4px = 28px) */
.p-entry-content .gallery-columns-3 {
  margin-top: calc(72px - 8px)!important; /* 64px */
  margin-right: calc(-32px + 4px)!important;
  margin-left: calc(-32px + 4px)!important;
}
.p-entry-content .gallery-columns-3 .gallery-item {
  padding: 0 calc(32px - 4px);
}

/* 4カラム (32px - 8px = 24px) */
.p-entry-content .gallery-columns-4 {
  margin-top: calc(72px - 16px)!important; /* 56px */
  margin-right: calc(-32px + 8px)!important;
  margin-left: calc(-32px + 8px)!important;
}
.p-entry-content .gallery-columns-4 .gallery-item {
  padding: 0 calc(32px - 8px);
}

/* 5カラム (32px - 12px = 20px) */
.p-entry-content .gallery-columns-5 {
  margin-top: calc(72px - 24px)!important; /* 48px */
  margin-right: calc(-32px + 12px)!important;
  margin-left: calc(-32px + 12px)!important;
}
.p-entry-content .gallery-columns-5 .gallery-item {
  padding: 0 calc(32px - 12px);
}

/* 6カラム (32px - 16px = 16px) */
.p-entry-content .gallery-columns-6 {
  margin-top: calc(72px - 32px)!important; /* 40px */
  margin-right: calc(-32px + 16px)!important;
  margin-left: calc(-32px + 16px)!important;
}
.p-entry-content .gallery-columns-6 .gallery-item {
  padding: 0 calc(32px - 16px);
}

/* 7カラム (32px - 20px = 12px) */
.p-entry-content .gallery-columns-7 {
  margin-top: calc(72px - 40px)!important; /* 32px */
  margin-right: calc(-32px + 20px)!important;
  margin-left: calc(-32px + 20px)!important;
}
.p-entry-content .gallery-columns-7 .gallery-item {
  padding: 0 calc(32px - 20px);
}

/* 8カラム (32px - 24px = 8px) */
.p-entry-content .gallery-columns-8 {
  margin-top: calc(72px - 48px)!important; /* 24px */
  margin-right: calc(-32px + 24px)!important;
  margin-left: calc(-32px + 24px)!important;
}
.p-entry-content .gallery-columns-8 .gallery-item {
  padding: 0 calc(32px - 24px);
}

/* 9カラム (32px - 28px = 4px) */
.p-entry-content .gallery-columns-9 {
  margin-top: calc(72px - 56px)!important; /* 16px */
  margin-right: calc(-32px + 28px)!important;
  margin-left: calc(-32px + 28px)!important;
}
.p-entry-content .gallery-columns-9 .gallery-item {
  padding: 0 calc(32px - 28px);
}

.p-entry-content [class*="gallery-columns-"] .gallery-item {
  margin-top: 0!important;
}

.p-entry-content [class*="gallery-columns-"] .gallery-item a {
  display: block;
  transition: opacity .3s;
}

.p-entry-content [class*="gallery-columns-"] .gallery-item a:hover {
  opacity: .7;
}

.p-entry-content [class*="gallery-columns-"] .gallery-item img {
  border: none!important;
}

.p-entry-content [class*="gallery-columns-"] .gallery-item .wp-caption-text {
  margin-top: 16px;
  font-size: 14px;
  line-height: calc(26 / 14);
  text-align: justify;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {

  .p-entry-content > * {
    margin-top: 24px;
  }

  .p-entry-content h2 {
    font-size: 16px;
    line-height: calc(60 / 32);
  }

  .p-entry-content h2:first-of-type {
    margin-top: 46px;
    padding-top: 42px;
  }

  /* h3: 40pxの75% (30px) / 15px */
  .p-entry-content h3 {
    margin-top: 34px;
    padding: 13px;
    font-size: 16px;
  }

  /* h4: 40pxの50% (20px) / 13px */
  .p-entry-content h4 {
    margin-top: calc(40px * 0.5);
    font-size: calc(17px - 4px);
  }

  /* h5: 40pxの37.5% (15px) / 11px (かなり小さめ) */
  .p-entry-content h5 {
    margin-top: calc(40px * 0.375);
    font-size: calc(17px - 6px);
  }

  /* h6: 40pxの25% (10px) / 9px (最小レベル) */
  .p-entry-content h6 {
    margin-top: calc(40px * 0.25);
    font-size: calc(17px - 8px);
  }

  .p-entry-content blockquote {
    margin-top: calc(40px * 0.5); /* h4と同じくらいの余白 */
    margin-bottom: calc(40px * 0.5);
    padding: 26px;
  }

  /* 引用符を擬似要素で入れる場合（デザインのアクセント） */
  .p-entry-content blockquote::before {
    top: 8px;
    left: 8px;
    font-size: 32px;
  }

  .p-entry-content ol,
  .p-entry-content ul {
    padding-left: 28px;
  }

  /*
  ギャラリー
  */
  /* 2カラム (基準: 32px) */
  /*.p-entry-content .gallery-columns-2 {
    margin-top: 48px!important;
  }*/

  /* 3カラム (32px - 4px = 28px) */
  /*.p-entry-content .gallery-columns-3 {
    margin-top: calc(48px - 8px)!important;
  }*/

  /* 4カラム (32px - 8px = 24px) */
  /*.p-entry-content .gallery-columns-4 {
    margin-top: calc(48px - 16px)!important;
  }*/

  /* 5カラム (32px - 12px = 20px) */
  /*.p-entry-content .gallery-columns-5 {
    margin-top: calc(48px - 24px)!important;
  }*/

  /* 6カラム (32px - 16px = 16px) */
  /*.p-entry-content .gallery-columns-6 {
    margin-top: calc(48px - 32px)!important;
  }*/

  /* 7カラム (32px - 20px = 12px) */
  /*.p-entry-content .gallery-columns-7 {
    margin-top: calc(48px - 40px)!important;
  }*/

  /* 8カラム (32px - 24px = 8px) */
  /*.p-entry-content .gallery-columns-8 {
    margin-top: calc(48px - 48px)!important;
  }*/

  /* 9カラム (32px - 28px = 4px) */
  /*.p-entry-content .gallery-columns-9 {
    margin-top: calc(48px - 56px)!important;
  }*/

  .p-entry-content .gallery-columns-2,
  .p-entry-content .gallery-columns-3,
  .p-entry-content .gallery-columns-4,
  .p-entry-content .gallery-columns-5,
  .p-entry-content .gallery-columns-6,
  .p-entry-content .gallery-columns-7,
  .p-entry-content .gallery-columns-8,
  .p-entry-content .gallery-columns-9 {
    margin-top: 32px!important;
  }

  .p-entry-content [class*="gallery-columns-"] {
    display: grid;
    /*grid-template-columns: repeat(2, 1fr);*/
    grid-template-columns: none;
    /*gap: 8px;*/
    gap: 36px 0;
    margin-right: 0!important;
    margin-left: 0!important;
  }

  .p-entry-content [class*="gallery-columns-"] .gallery-item {
    width: auto!important;
    padding: 0!important;
  }

  .p-entry-content [class*="gallery-columns-"] br[style*="clear: both"] {
    display: none!important;
  }

  .p-entry-content [class*="gallery-columns-"] .gallery-item .wp-caption-text {
    margin-top: 12px;
    font-size: 11px;
    line-height: calc(50 / 22);
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/* よくある質問 */
.p-qa {
  padding: 50px 0 72px;
}

.p-qa__groups {
  display: grid;
  gap: 100px 0;
}

.p-qa__title {
  padding: 0 26px 2px;
  background: #000;
  color: #fff;
  font-size: 17px;
  font-weight: 400;
}

.p-qa__list {
  /*margin-top: 14px;*/
  margin-top: 16px;
}

.p-qa__item {
  /*padding: 24px 0;*/
  padding: 20px 0;
  border-bottom: 1px solid #000;
}

.p-qa__question {
  position: relative;
  color: #052d37;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
}

.p-qa__question::before,
.p-qa__question::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 15px;
  height: 2px;
  background: #052d37;
  content: "";
  transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1);
}

.p-qa__question::after {
  transform: translateY(-50%) rotate(-90deg);
}

.p-qa__item.is-open .p-qa__question::after {
  transform: translateY(-50%);
}

.p-qa__question span:first-child {
  display: inline-flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  margin-right: 18px;
  border-radius: 50%;
  background: #052d37;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 16px;
  font-weight: 600;
  vertical-align: 1px;
}

.p-qa__answer {
  overflow: hidden;
  height: 0;
  transition: height .3s cubic-bezier(0.8, 0, 0.2, 1);
}

.p-qa__text {
  padding: 10px 0 10px;
  font-size: 15px;
}

.p-qa__text a {
  color: #000;
  text-decoration: underline;
}

.p-qa__text a:hover {
  text-decoration: none;
}

@media screen and (max-width: 767px) {

  .p-qa {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding-top: 12px;
  }

  .p-qa__groups {
    gap: 68px 0;
  }

  .p-qa__list {
    margin-top: 8px;
    padding: 0 18px;
  }

  .p-qa__item {
    padding: 28px 0;
  }

  .p-qa__title {
    /*width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 0px calc(50vw - 50% + 4px) 3px;*/
    padding: 2px 18px;
    padding: 2px calc(18px + 4px) 3px;
    font-size: 15px;
  }

  .p-qa__question {
    display: flex;
    align-items: center;
    padding-right: calc((13px * 2) + 2px);
    font-size: 15px;
    line-height: calc(48 / 30);
  }

  .p-qa__question::before,
  .p-qa__question::after {
    right: 0;
    width: 13px;
  }

  .p-qa__question span:first-child {
    width: 30px;
    height: 30px;
    margin-right: 14px;
    font-size: 14px;
  }

  .p-qa__text {
    padding: 12px 0 14px;
    font-size: 13px;
  }

}

/* お問い合わせ */
.p-contact__guide {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: flex-end;
  gap: 0 80px;
  padding-right: 32px;
}

.p-contact__notice {
  margin-top: 22px;
  font-size: 13px;
}

.p-contact__banner {
  display: block;
  position: relative;
  padding: 26px 104px 26px 68px;
  border: 1px solid #052d37;
  border-radius: 9999px;
  background: #f1f1f1;
  color: #052d37;
  line-height: calc(28 / 15);
}

.p-contact__banner::before {
  position: absolute;
  transform: translate(0, -50%);
  top: 50%;
  right: -30px;
  width: 64px;
  height: 21px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2062.54%2019.39%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23052d37%3Bstroke-miterlimit%3A10%3Bstroke-width%3A2px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M51.09.74l9.95%2C8.95-9.95%2C8.95%22%2F%3E%3Cline%20class%3D%22cls-1%22%20x1%3D%2261.04%22%20y1%3D%229.69%22%20y2%3D%229.69%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
  transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1);
}

.p-contact__banner:hover::before {
  transform: translate(8px, -50%);
}

.p-contact__banner span {
  display: block;
  margin-bottom: 8px;
  font-size: 18px;
  font-weight: 500;
}

.contact__text {
  margin-bottom: 40px;
  font-size: 15px;
  text-align: center;
  line-height: calc(32 / 15);
  letter-spacing: 0.05em;
}

.p-contact__body {
  position: relative;
  margin-top: 92px;
  padding-top: 84px;
}

.p-contact__body::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 1px;
  background: #000;
  content: "";
}

.p-contact__instruction {
  margin-bottom: 82px;
  text-align: center;
}

.p-contact__content {
  max-width: 710px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {

  .p-contact {
    padding-bottom: 18px;
  }

  .p-contact__guide {
    /*grid-template-columns: none;
    gap: 38px 0;*/
    padding-right: 0;
  }

  .p-contact__notice {
    margin-top: 20px;
    font-size: 11px;
    line-height: calc(42 / 22);
  }

  .p-contact__banner {
    width: calc(100% - 20px);
    padding: 28px 0 28px 48px;
    font-size: 12px;
    line-height: calc(46 / 24);
  }

  .p-contact__banner::before {
    right: -26px;
    width: 51px;
    height: 19px;
    background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%82%AD%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20101.23%2036.54%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23052d37%3Bstroke-miterlimit%3A10%3Bstroke-width%3A4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M79.58%2C1.49l18.66%2C16.78-18.66%2C16.79%22%2F%3E%3Cline%20class%3D%22cls-1%22%20x1%3D%2298.24%22%20y1%3D%2218.27%22%20y2%3D%2218.27%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  }

  .p-contact__banner span {
    margin-bottom: 6px;
    font-size: 15px;
  }

  .p-contact__body {
    margin-top: 58px;
    padding-top: 48px;
  }

  .p-contact__instruction {
    margin-bottom: 34px;
  }

}

/* フォーム */
.form__list {
  display: grid;
  gap: 30px 0;
}

.form__item {
  display: grid;
  grid-template-columns: 192px 1fr;
  align-items: flex-start;
  padding-right: 14px;
}

.form__label {
  display: grid;
  grid-template-columns: 46px 1fr;
  align-items: flex-start;
  gap: 0 14px;
  padding-top: 4px;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.form__label--spacing {
  padding-top: 7px;
}

.form__tag {
  transform: translateY(.5px);
  color: #fff;
  font-size: 12px;
  text-align: center;
  line-height: 1.4;
  letter-spacing: .05em;
}

.form__tag--optional {

}

.form__tag--required {
  padding: 3px 0;
  background: #ac973f;
}

.form__content--division {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 26px;
}

.form__text {
  margin-top: 52px;
  text-align: center;
  letter-spacing: 0.05em;
}

.form__text a {
  color: #000;
  text-decoration: underline;
}

.form__text a:hover {
  text-decoration: none;
}

.form__confirm,
.form__submit {
  margin-top: 40px;
}

.form__back {
  margin-top: 24px;
}

@media screen and (max-width: 767px) {

  .form__list {
    gap: 24px 0;
  }

  .form__item {
    grid-template-columns: none;
    align-items: normal;
    gap: 10px 0;
    padding-right: 0;
  }

  .form__label {
    display: flex;
    align-items: center;
    gap: 0;
    font-size: 13px;
  }

  .form__label--spacing {
    padding-top: 0;
  }

  .form__tag {
    transform: translateY(0);
    font-size: 11px;
  }

  .form__tag--required {
    margin-right: 8px;
    padding: 2px 10px;
  }

  .form__content--division {
    gap: 0 8px;
  }

  .form__text {
    margin-top: 28px;
    font-size: 12px;
    line-height: calc(56 / 24);
    letter-spacing: 0.1em;
  }

  .form__confirm,
  .form__submit {
    margin-top: 26px;
  }

  .form__back {
    margin-top: 20px;
  }

}

/* Contact Form 7 */
.wpcf7 .wpcf7-form-control-wrap {
  display: block;
}

.wpcf7 .wpcf7-checkbox {

}

.wpcf7 .wpcf7-radio {
  display: grid;
  gap: 3px 0;
  padding: 3px 0;
}

.wpcf7 .wpcf7-list-item {
  display: block;
  margin: 0;
}

.wpcf7 .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 0 6px;
  font-size: 15px;
  letter-spacing: 0.05em;
  cursor: pointer;
}

.wpcf7 .wpcf7-acceptance .wpcf7-list-item label {
  justify-content: center;
  gap: 0 2px;
}

.wpcf7 .wpcf7-list-item-label::before,
.wpcf7 .wpcf7-list-item-label::after {
  content: none;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  padding: 2px 8px;
  border: 1px solid #d5cb9f;
  background: #fff;
  letter-spacing: 0.05em;
  outline: none;
}

.wpcf7 textarea {
  height: calc(((1em * calc(32 / 15)) * 7) + (1px * 2) + (1px * 2));
}

.wpcf7 input[type="text"]::placeholder,
.wpcf7 input[type="tel"]::placeholder,
.wpcf7 input[type="email"]::placeholder,
.wpcf7 textarea::placeholder {
  opacity: 1;
  color: #999;
}

.wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"] {
  position: relative;
  cursor: pointer;
  appearance: none;
}

.wpcf7 input[type="radio"] {
  width: 14px;
  aspect-ratio: 1;
  border: 1px solid #d5cb9f;
  border-radius: 50%;
  background: #fff;
}

.wpcf7 input[type="radio"]:checked {
  background: #fff;
}

.wpcf7 input[type="radio"]:checked::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #ac973f;
  content: "";
}

.wpcf7 input[type="checkbox"] {
  width: 18px;
  height: 18px;
  border: 1px solid #052d37;
  border: 1px solid #000;
  background: #fff;
}

.wpcf7 input[type="checkbox"][name="acceptance"] {
  width: 12px;
  height: 12px;
}

.wpcf7 input[type="checkbox"]:checked {
  /*background: #052d37;*/
  background: #000 url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2018%22%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3B%7D%3C%2Fstyle%3E%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%227.6%2013.2%2014.65%206.15%2013.25%204.75%207.6%2010.4%204.75%207.55%203.35%208.95%207.6%2013.2%22%2F%3E%3Crect%20class%3D%22cls-1%22%20width%3D%2218%22%20height%3D%2218%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

.wpcf7 input[type="checkbox"][name="acceptance"]:checked {

}

.wpcf7 input[type="checkbox"]:checked::before {
  /*position: absolute;
  top: 1px;
  left: 5px;
  transform: rotate(45deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";*/
}

.wpcf7 input[type="checkbox"][name="acceptance"]:checked::before {

}

.wpcf7 .wpcf7-not-valid-tip {
  margin-top: 4px;
  font-size: .85em;
}

.wpcf7-not-valid-tip::before {
  content: "※";
}

.wpcf7 button[type="submit"],
.wpcf7 input[type="button"] {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 210px;
  height: 54px;
  margin-inline: auto;
  padding-right: 2px;
  border: 1px solid #ac973f;
  background: #ac973f;
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.05em;
  transition: background .3s, color .3s;
}

.wpcf7 input[type="button"] {
  background: transparent;
  color: #000;
}

.wpcf7 button[type="submit"]:disabled {
  opacity: .7;
}

.wpcf7 button[type="submit"]:hover,
.wpcf7 input[type="button"]:hover {
  background: #fff;
  color: #ac973f;
}

.wpcf7 button[type="submit"]::after {
  position: absolute;
  top: calc(50% - 2px);
  right: 12px;
  transform: translate(0, -50%);
  width: 16px;
  height: 6px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%204.67%2013.55%204.67%208.32%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
  transition: background .3s;
}

.wpcf7 button[type="submit"]:hover::after {
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23ac973f%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%204.67%2013.55%204.67%208.32%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

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

.wpcf7 form .wpcf7-response-output {
  display: none;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  display: block;
}

@media screen and (max-width: 767px) {

  .wpcf7 .wpcf7-radio {
    gap: 1px 0;
    margin-top: -4px;
    padding: 0 0 4px;
  }

  .wpcf7 .wpcf7-list-item label {
    gap: 0 4px;
    font-size: 13px;
  }

  .wpcf7 .wpcf7-list-item-label {

  }

  .wpcf7 input[type="text"],
  .wpcf7 input[type="tel"],
  .wpcf7 input[type="email"],
  .wpcf7 select,
  .wpcf7 textarea {
    /*padding: 5px 12px;*/
  }

  .wpcf7 textarea {
    height: calc(((1em * calc(58 / 26)) * 6) + (1px * 2) + (1px * 2));
  }

  .wpcf7 input[type="text"]::placeholder,
  .wpcf7 input[type="tel"]::placeholder,
  .wpcf7 input[type="email"]::placeholder,
  .wpcf7 textarea::placeholder {
    letter-spacing: 0;
  }

  .wpcf7 input[type="radio"] {
    width: 12px;
    height: 12px;
  }

  .wpcf7 input[type="radio"]:checked::before {
    width: 5px;
  }

  .wpcf7 input[type="checkbox"][name="acceptance"] {

  }

  .wpcf7 button[type="submit"],
  .wpcf7 input[type="button"] {
    width: 180px;
    height: 41px;
    font-size: 11px;
  }

  .wpcf7 button[type="submit"]::after {
    width: 12px;
    height: 5px;
  }

}

/* 404 NOT FOUND */
.error__text {
  margin-bottom: 38px;
  text-align: center;
}

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/* ヘッダー */
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 70px;
  /*padding: 16px 0;*/
}

body.home .header {
  /*opacity: 0;
  transition: opacity 1.5s ease-in-out;
  transition-delay: 2.6s;*/
}

/*body.home.is-loaded .header {
  opacity: 1;
}*/

body:not(.home) .header,
body.home .header.is-scroll {
  background: #000;
  transition: background .3s;
}

.header__inner {
  width: min(100%, calc(1726px + (18px * 2)));
  height: 100%;
  margin: 0 auto;
  padding: 0 18px;
}

.header__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding-left: 98px;
}

.header__logo {
  width: 172px;
}

.header__logo a {
  display: block;
  transition: opacity 0.3s;
}

.header__logo a:hover {
  opacity: 0.7;
}

.header__logo img {
  display: block;
}

.global-nav__content {
  display: flex;
  align-items: center;
  gap: 0 24px;
}

.global-nav__list {
  display: flex;
  gap: 0 30px;
}

.global-nav__item a {
  display: block;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: color 0.3s;
}

.global-nav__item.is-current a,
.global-nav__item a:hover {
  color: #ac973f;
}

.global-nav__buttons {
  display: flex;
  gap: 0 16px;
}

.global-nav__button a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 8px;
  padding: 4px 16px;
  border: 1px solid #fff;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: border 0.3s, color 0.3s;
}

.global-nav__button a[target="_blank"] {
  padding: 4px 10px 4px 20px;
}

.global-nav__button a:hover {
  border: 1px solid #ac973f;
  color: #ac973f;
}

.global-nav__button a[target="_blank"]::after {
  width: 16px;
  height: 14px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.53%2012.76%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A.97px%3B%7D.cls-2%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%226.02%22%20cy%3D%2211.78%22%20r%3D%22.99%22%2F%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%2212.73%22%20cy%3D%2211.78%22%20r%3D%22.99%22%2F%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%22.49%20.49%203.02%20.49%205.23%208.91%2013.61%208.91%22%2F%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%226.13%201.82%2014.04%201.82%2013.21%206.06%207.04%206.57%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
  transition: background 0.3s;
}

.global-nav__button a[target="_blank"]:hover::after {
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.53%2012.76%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23a7943f%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A.97px%3B%7D.cls-2%7Bfill%3A%23a7943f%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%226.02%22%20cy%3D%2211.78%22%20r%3D%22.99%22%2F%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%2212.73%22%20cy%3D%2211.78%22%20r%3D%22.99%22%2F%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%22.49%20.49%203.02%20.49%205.23%208.91%2013.61%208.91%22%2F%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%226.13%201.82%2014.04%201.82%2013.21%206.06%207.04%206.57%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

.hamburger {
  display: none;
}

.drawer {
  display: none;
}

@media screen and (max-width: 1761px) {

  .header__content {
    padding-left: 0;
  }

}

@media screen and (max-width: 1331px) {

  .header {
    height: 54px;
  }

  .header__content {
    padding-left: 0;
  }

  .header__logo {
    position: relative;
    z-index: 3;
    width: 139px;
  }

  .global-nav {
    display: none;
  }

  .hamburger {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 3;
    width: 38px;
    aspect-ratio: 1;
    cursor: pointer;
  }

  .hamburger span {
    position: absolute;
    left: 0;
    width: 38px;
    height: 1px;
    background: #fff;
    transition: left .3s cubic-bezier(0.8, 0, 0.2, 1), transform .3s cubic-bezier(0.8, 0, 0.2, 1), width .3s cubic-bezier(0.8, 0, 0.2, 1);
  }

  .hamburger span:nth-child(1) {
    transform: translateY(-4px);
  }

  .hamburger span:nth-child(2) {
    transform: translateY(4px);
  }

  .hamburger.is-open span {
    left: 0;
    width: 38px;
  }

  .hamburger.is-open span:nth-child(1) {
    transform: translateY(0) rotate(11deg);
  }

  .hamburger.is-open span:nth-child(2) {
    transform: translateY(0) rotate(-11deg);
  }

  .drawer {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    overflow-y: auto;
    visibility: hidden;
    width: 100%;
    height: 100%;
    padding: calc(70px + 22px) 0;
    background: #000 url(lib/images/bg_geometric.png) no-repeat right -140px top -58px / 323px auto;
    opacity: 0;
    transition: visibility .3s cubic-bezier(0.8, 0, 0.2, 1), opacity .3s cubic-bezier(0.8, 0, 0.2, 1);
  }

  .drawer.is-open {
    visibility: visible;
    opacity: 1;
  }

  .drawer__inner {
    padding: 0 42px;
  }

  .drawer__list {
    display: grid;
    gap: 18px 0;
    margin-top: 88px;
  }

  .drawer__item:nth-child(2) {
    margin-top: 12px;
  }

  .drawer__item a {
    display: block;
    color: #000;
    font-size: 10px;
    font-weight: 500;
    text-align: center;
    transition: opacity .3s;
  }

  .drawer__item:nth-child(n + 3) a {
    font-family: "Figtree", sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.05em;
  }

  .drawer__item a:hover {
    opacity: .7;
  }

  .drawer__item img {
    display: block;
    width: 18px;
    margin: 0 auto;
  }

  .drawer .global-nav {
    display: block;
  }

  .drawer .global-nav__content {
    flex-direction: column;
    align-items: normal;
    gap: 34px 0;
  }

  .drawer .global-nav__list {
    flex-direction: column;
    gap: 14px 0;
  }

  .drawer .global-nav__item a {
    font-size: 12px;
  }

  .drawer .global-nav__item.is-current a {
    color: #fff;
  }

  .drawer .global-nav__buttons {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 14px;
  }

  .drawer .global-nav__button:first-child {
    order: 1;
  }

  .drawer .global-nav__button a {
    gap: 0 10px;
    padding: 4px 16px;
    font-size: 10px;
  }

  .global-nav__button a[target="_blank"] {
    padding: 5px 0 5px 24px;
  }

  .drawer .global-nav__button a[target="_blank"]::after {
    width: 15px;
  }

  .drawer__meta {
    margin-top: 150px;
  }

  .drawer__buttons {
    display: flex;
    align-items: center;
    gap: 0 16px;
  }

  .drawer__button a {
    display: block;
    transition: opacity .3s;
  }

  .drawer__button a:hover {
    opacity: 0.7;
  }

  .drawer__button img {
    display: block;
    width: 18px;
  }

  .drawer__button img[src$="icon_x.svg"] {
    width: 16px;
  }

  .drawer__caution {
    margin-top: 28px;
    color: #ac973f;
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: 0.05em;
  }

  .drawer__caution > span {
    display: inline-block;
    padding-bottom: 8px;
    border-bottom: 1px solid #ac973f;
  }

  .drawer__caution > span span {
    display: block;
    margin: 0 0 4px 0;
    font-size: 12px;
    font-family: "Figtree", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
  }

  .drawer__name {
    margin-top: 26px;
    color: #fff;
    font-size: 9px;
    letter-spacing: 0.05em;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/* メインビジュアル（トップページ） */
.mainvisual {
  position: relative;
  overflow: hidden;
  height: 100svh;
  max-height: 1254px;
  background: url("lib/images/mainvisual_pc.jpg") no-repeat center / cover;
}

.mainvisual::before {
  position: absolute;
  top: 0;
  left: 0;
  /*z-index: -1;*/
  /*transform: scale(1.15);*/
  transform: translateY(0);
  /*visibility: hidden;*/
  width: 100%;
  height: 100%;
  /*background: url("lib/images/mainvisual_pc.jpg") no-repeat center / cover;*/
  /*opacity: 0;*/
  background: #000;
  content: "";
  /*transition: opacity 1.2s linear, transform 2.7s ease-out;
  transition-delay: .12s;*/
  transition: transform 1.5s cubic-bezier(0.83, 0, 0.34, 1);
  transition: transform 1.1s cubic-bezier(0.83, 0, 0.34, 1);
}

body.is-loaded .mainvisual::before {
  transform: translateY(-100%);
  /*transform: scale(1);
  visibility: visible;
  opacity: 1;*/
}

.mainvisual__inner {
  max-width: calc(1530px + (64px * 2));
  height: 100%;
  margin: 0 auto;
  padding: 0 64px;
}

.mainvisual__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  /*padding-bottom: 146px;*/
  padding-bottom: 9.4%;
}

.mainvisual__heading {
  /*opacity: 0;*/
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 29px;
  line-height: calc(48 / 29);
  letter-spacing: 0.05em;
  transition: opacity 1.5s ease-in-out;
  transition-delay: 2.6s;
}

/*body.is-loaded .mainvisual__heading {
  opacity: 1;
}*/

@media screen and (max-width: 767px) {

  .mainvisual {
    max-height: 734px;
    background: url("lib/images/mainvisual_sp.jpg") no-repeat center / cover;
  }

  .mainvisual__inner {
    padding: 0 18px;
  }

  .mainvisual__content {
    justify-content: center;
    padding-bottom: 69.4%;
  }

  .mainvisual__heading {
    font-size: 16px;
    line-height: calc(54 / 32);
  }

}

/* ABOUT（トップページ） */
.about-section {
  background: #000;
}

.about-section__inner {
  max-width: 1920px;
  margin: 0 auto;
}

.about-section__columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.about-section__column:first-child {
  padding: 108px 86px 106px 24px;
}

.about-section__content {
  max-width: 554px;
  margin-left: auto;
}

.about-section__heading {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.about-section__text {
  margin: 42px 0 36px;
  color: #fff;
}

.about-section__image {
  height: 100%;
}

.about-section__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 767px) {

  .about-section__columns {
    grid-template-columns: none;
  }

  .about-section__column:first-child {
    padding: 74px 18px 68px;
  }

  .about-section__heading {
    font-size: 18px;
  }

  .about-section__text {
    margin: 32px 0 36px;
  }

  .about-section__image {
    height: auto;
  }

  .about-section__image img {
    height: auto;
    aspect-ratio: 750 / 718;
  }

}

/* PRODUCTS（トップページ） */
.products-section {
  padding: 116px 0 168px;
  background: url("lib/images/bg_products_pc.png") no-repeat center top / 100% auto;
}

.products-section.is-inview.is-show::before {
  transition: transform 2s ease-out;
}

.products-section__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.products-section-introduction {
  margin-top: 68px;
}

.products-section-introduction__heading {
  font-family: "Shippori Mincho", serif;
  font-size: 38px;
  font-weight: 400;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.2em;
}

.products-section-introduction__text {
  margin-top: 38px;
  text-align: center;
}

.products-section-optimizer {
  margin-top: 98px;
}

.products-section-optimizer__columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 78px;
}

.products-section-optimizer__column:first-child {
  padding: 42px 90px 0 0;
}

.products-section-optimizer__content {

}

.products-section-optimizer__heading {
  font-family: "Figtree", sans-serif;
  font-size: 26px;
  text-transform: capitalize;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.products-section-optimizer__catchphrase {
  margin-top: 58px;
  font-family: "Shippori Mincho", serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.products-section-optimizer__text {
  margin: 32px 0 74px;
}

.products-section-optimizer__image {

}

.products-section-optimizer__image--primary {
  margin: 114px -10px 0 -320px;
}

.products-section-optimizer__image--secondary {
  margin: 0 -320px 0 0;
}

.products-section-optimizer__image img {
  width: 100%;
  object-fit: cover;
}

.products-section-optimizer__image--primary img {
  aspect-ratio: 840 / 678;
}

.products-section-optimizer__image--secondary img {
  aspect-ratio: 920 / 1198;
}

.products-section-profession {
  padding: 156px 0 106px;
}

.products-section-profession__container {
  padding: 70px 68px;
  border: 1px solid #ac973f;
}

.products-section-profession__heading {
  font-family: "Lato", sans-serif;
  font-size: 22px;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.products-section-profession__catchphrase {
  margin-top: 38px;
  color: #ac973f;
  font-family: "Shippori Mincho", serif;
  font-size: 26px;
  /*font-weight: 500;*/
  font-weight: 400;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.products-section-profession__catchphrase span {
  display: inline-block;
  padding-bottom: 10px;
  border-bottom: 1px solid #ac973f;
}

.products-section-profession__text {
  margin-top: 36px;
  text-align: center;
}

.products-section-profession__caution {
  margin-top: 34px;
  font-size: 14px;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {

  .products-section {
    padding: 66px 0 62px;
    background: url("lib/images/bg_products_sp.png") no-repeat center top / 100% auto;
  }

  .products-section-introduction {
    margin-top: 50px;
  }

  .products-section-introduction__heading {
    font-size: 22px;
  }

  .products-section-introduction__text {
    margin-top: 28px;
  }

  .products-section-optimizer {
    margin-top: 56px;
  }

  .products-section-optimizer__columns {
    display: flex;
    flex-direction: column-reverse;
    gap: 48px 0;
  }

  .products-section-optimizer__column:first-child {
    padding: 0;
  }

  .products-section-optimizer__heading {
    font-size: 18px;
  }

  .products-section-optimizer__catchphrase {
    margin-top: 28px;
    font-size: 18px;
    line-height: calc(64 / 36);
  }

  .products-section-optimizer__text {
    margin: 18px 0 32px;
    padding-right: 82px;
  }

  .products-section-optimizer__image--primary {
    margin: 44px -18px 0 0;
    padding-left: 38px;
  }

  .products-section-optimizer__image--secondary {
    margin: 0 0 0 -18px;
  }

  .products-section-optimizer__image--primary img {
    aspect-ratio: 640 / 514;
  }

  .products-section-optimizer__image--secondary img {
    aspect-ratio: 718 / 1012;
  }

  .products-section-profession {
    /*padding: 56px 0 42px;*/
    padding: 56px 8px 42px;
  }

  .products-section-profession__container {
    padding: 42px 24px;
  }

  .products-section-profession__heading {
    font-size: 15px;
  }

  .products-section-profession__catchphrase {
    margin-top: 24px;
    font-size: 16px;
    line-height: calc(54 / 32);
  }

  .products-section-profession__catchphrase span {
    padding-bottom: 8px;
  }

  .products-section-profession__text {
    margin-top: 24px;
    text-align: left;
  }

  .products-section-profession__caution {
    margin-top: 22px;
    font-size: 11px;
    text-align: left;
    line-height: calc(50 / 22);
    letter-spacing: 0.078em;
  }

}

/* BEAUTY COLUMN（トップページ） */
.beauty-column-section {
  padding-top: 98px;
  background: #000;
}

.beauty-column-section__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.beauty-column-section__catchphrase {
  margin-top: 16px;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 18px;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.15em;
}

.beauty-column-section__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 96px;
  margin: 76px 0 56px;
}

.beauty-column-section__card a {
  display: block;
  position: relative;
  padding-bottom: 30px;
}

.beauty-column-section__card a::before {
  position: absolute;
  bottom: 0;
  right: 2px;
  width: 16px;
  height: 6px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%204.67%2013.55%204.67%208.32%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
  transition: background .3s;
}

.beauty-column-section__card a:hover::before {
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.8%205.12%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23ac973f%3Bstroke-miterlimit%3A10%3Bstroke-width%3A.9px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%204.67%2013.55%204.67%208.32%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

.beauty-column-section-card__meta {
  display: flex;
  align-items: center;
  gap: 0 12px;
}

.beauty-column-section-card__time {
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.beauty-column-section-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.beauty-column-section-card__tag {
  padding: 2px 8px;
  border: 1px solid #fff;
  color: #fff;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.beauty-column-section-card__heading {
  min-height: calc(35px * 2);
  margin-top: 18px;
  color: #fff;
  font-size: 15px;
  font-weight: 400;
  line-height: calc(35 / 15);
  letter-spacing: 0.1em;
  transition: color .3s;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;

}

.beauty-column-section__card a:hover .beauty-column-section-card__heading {
  color: #ac973f;
}

.beauty-column-section-card__image {
  margin-top: 26px;
}

.beauty-column-section-card__image img {
  width: 100%;
  aspect-ratio: 362 / 254;
  object-fit: cover;
}

@media screen and (max-width: 1315px) {

  .beauty-column-section__cards {
    grid-template-columns: repeat(2, 1fr);
  }

}

@media screen and (max-width: 767px) {

  .beauty-column-section {
    padding-top: 50px;
  }

  .beauty-column-section__catchphrase {
    font-size: 13px;
    line-height: calc(52 / 26);
  }

  .beauty-column-section__cards {
    grid-template-columns: none;
    gap: 28px 0;
    margin: 44px 0 46px;
  }

  .beauty-column-section__card:nth-last-child(n + 2) {
    border-bottom: 1px solid #4c4c4c;
  }

  .beauty-column-section__card a {
    display: grid;
    grid-template-columns: calc((128 / 336) * 100%) 1fr;
    gap: 14px 20px;
    padding-bottom: 0;
  }

  .beauty-column-section__card:nth-last-child(n + 2) a {
    padding-bottom: 36px;
  }

  .beauty-column-section__card a::before {
    right: 2px;
    bottom: 38px;
    width: 12px;
    height: 5px;
  }

  .beauty-column-section-card__meta {
    grid-column: 1 / -1;
    gap: 0 14px;
  }

  .beauty-column-section-card__time {
    font-size: 12px;
  }

  .beauty-column-section-card__tags {
    gap: 8px;
  }

  .beauty-column-section-card__tag {
    font-size: 11px;
  }

  .beauty-column-section-card__heading {
    order: 1;
    min-height: 0;
    margin-top: 0;
    font-size: 13px;
    line-height: calc(58 / 26);
  }

  .beauty-column-section-card__image {
    margin-top: 0;
    padding-top: 4px;
  }

  .beauty-column-section-card__image img {
    aspect-ratio: 258 / 210;
  }

}

/* NEWS（トップページ） */
.news-section {
  padding: 112px 0 110px;
  background: #000;
}

.news-section__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.news-section__cards {
  display: grid;
  gap: 28px 0;
  max-width: 476px;
  margin: 38px auto 40px;
}

.news-section__card a {
  display: grid;
  grid-template-columns: 104px 74px 1fr;
  align-items: center;
  gap: 0 8px;
}

.news-section-card__time {
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.news-section-card__tags {

}

.news-section-card__tag {
  /*padding: 2px 10px;*/
  padding: 2px 0;
  border: 1px solid #fff;
  color: #fff;
  font-size: 13px;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.news-section-card__heading {
  /*padding-left: 18px;*/
  padding-left: 22px;
  color: #fff;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
  transition: color .3s;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;

}

.news-section__card a:hover .news-section-card__heading {
  color: #ac973f;
}

@media screen and (max-width: 767px) {

  .news-section {
    padding: 86px 0 78px;
  }

  .news-section__cards {
    gap: 26px 0;
    margin: 30px auto 18px;
  }

  .news-section__card:nth-last-child(n + 2) {
    border-bottom: 1px solid #4c4c4c;
  }

  .news-section__card a {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
  }

  .news-section__card:nth-last-child(n + 2) a {
    padding-bottom: 26px;
  }

  .news-section-card__time {
    font-size: 12px;
  }

  .news-section-card__tag {
    padding: 2px 8px;
    font-size: 11px;
  }

  .news-section-card__heading {
    width: 100%;
    padding-left: 0;
    font-size: 13px;
    line-height: calc(58 / 26);
  }

}

/* （トップページ） */
.contact-section {
  padding: 116px 0 124px;
  background: url("lib/images/bg_contact_section_pc.png") no-repeat center top / 100% auto;
}

.contact-section__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.contact-section__text {
  margin-top: 40px;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {

  .contact-section {
    padding: 68px 0 22px;
    background: url("lib/images/bg_contact_section_sp.png") no-repeat center top / 100% auto;
  }

  .contact-section__text {
    margin-top: 30px;
    letter-spacing: .092em;
  }

}

/*  */
.contact-form {
  margin-top: 86px;
  /*padding-top: 86px;*/
}

.contact-form__container {
  max-width: 1044px;
  margin: 0 auto;
  padding: 60px 132px 72px;
  border: 1px solid #ac973f;
  background: #fff;
}

.contact-form__text {
  margin-top: 14px;
  text-align: center;
}

.contact-form__instruction {
  margin: 34px 0 52px;
  padding-top: 34px;
  border-top: 1px solid #ac973f;
  text-align: center;
}

@media screen and (max-width: 1079px) {

  .contact-form__container {
    padding: 60px 24px 72px;
  }

}

@media screen and (max-width: 767px) {

  .contact-form {
    margin-top: 78px;
  }

  .contact-form__container {
    padding: 38px 14px 50px;
  }

  .contact-form__text {
    margin-top: 12px;
  }

  .contact-form__instruction {
    margin: 28px 0 40px;
    padding-top: 26px;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/* CONCEPT */
.concept {
  /*padding-top: 146px;*/
  padding-top: 126px;
  background: #000;
}

.concept__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.concept__columns {
  display: grid;
  /*grid-template-columns: 1fr 550px;*/
  grid-template-columns: 1fr calc((550 / 1280) * 100%);
  gap: 0 122px;
}

.concept__heading {
  color: #999;
  font-family: "Figtree", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.concept__group {
  display: grid;
  grid-template-columns: 248px 1fr;
  gap: 0 70px;
  margin-top: 56px;
}

.concept__catchphrase {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 26px;
  font-weight: 400;
  line-height: calc(43 / 26);
  letter-spacing: 0.05em;
}

.concept__text {
  padding-top: 6px;
  color: #fff;
  letter-spacing: 0.072em;
}

.concept__image {
  height: 100%;
}

.concept__image img {
  width: 100%;
  /*aspect-ratio: 550 / 430;*/
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 1331px) {

  .concept__group {
    grid-template-columns: none;
    gap: 30px 0;
  }

}

@media screen and (max-width: 767px) {

  .concept {
    padding-top: 66px;
  }

  .concept__columns {
    grid-template-columns: none;
    gap: 52px 0;
  }

  .concept__column:first-child {
    padding-right: 78px;
    padding-right: 66px;
  }

  .concept__column:nth-child(2) {
    padding-left: 30px;
  }

  .concept__group {
    /*grid-template-columns: none;
    gap: 30px 0;*/
    margin-top: 30px;
  }

  .concept__heading {
    font-size: 10px;
  }

  .concept__catchphrase {
    font-size: 18px;
    line-height: calc(64 / 36);
    letter-spacing: 0.04em;
  }

  .concept__text {
    padding-top: 0;
    letter-spacing: 0.052em;
  }

  .concept__image {
    height: auto;
    /*margin-right: -18px;*/
    margin-right: -26px;
  }

  .concept__image img {
    height: auto;
    aspect-ratio: 640 / 514;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/* （ABOUT） */
.firm-header {
  padding: 0 0 110px;
  background: url("lib/images/bg_firm_header_pc.png") no-repeat center top / 100% auto;
}

.firm-header__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.firm-header__columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 156px;
}

.firm-header__column:first-child {
  padding-top: 250px;
}

.firm-header__column:nth-child(2) {
  padding-left: 12px;
}

.firm-header__heading {
  font-family: "Figtree", sans-serif;
  font-size: 37px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.firm-header__catchphrase {
  margin-top: 144px;
  font-family: "Shippori Mincho", serif;
  font-size: 30px;
  font-weight: 400;
  line-height: calc(50 / 30);
  letter-spacing: 0.1em;
}

.firm-header__text {
  margin-top: 66px;
}

.firm-header__image {
  margin-right: -320px;
}

.firm-header__image img {
  width: 100%;
  aspect-ratio: 870 / 848;
  object-fit: cover;
}

@media screen and (max-width: 767px) {

  .firm-header {
    padding: 64px 0;
    background: url("lib/images/bg_firm_header_sp.png") no-repeat center top / 100% auto;
  }

  .firm-header__columns {
    grid-template-columns: none;
    gap: 56px 0;
  }

  .firm-header__column:first-child {
    padding-top: 0;
  }

  .firm-header__column:nth-child(2) {
    padding-left: 40px;
  }

  .firm-header__heading {
    font-size: 24px;
  }

  .firm-header__catchphrase {
    margin-top: 52px;
    font-size: 19px;
    line-height: calc(80 / 38);
  }

  .firm-header__text {
    margin-top: 36px;
    letter-spacing: 0.08em;
  }

  .firm-header__image {
    /*margin-right: -18px;*/
    margin-right: -26px;
  }

  .firm-header__image img {
    aspect-ratio: 618 / 732;
  }

}

/* MESSAGE（ABOUT） */
.firm-message {
  padding: 150px 0 146px;
  background: #000;
}

.firm-message__inner {
  max-width: calc(1280px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.firm-message__container {
  padding: 72px 70px 62px;
  border: 1px solid #ac973f;
}

.firm-message__group {
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: center;
  gap: 0 32px;
}

.firm-message__heading {
  color: #ac973f;
  font-family: "Figtree", sans-serif;
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.firm-message__catchphrase {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.firm-message__columns {
  display: grid;
  grid-template-columns: 1fr 236px;
  gap: 0 70px;
  margin-top: 44px;
}

.firm-message__column:nth-child(2) {
  padding-top: 8px;
}

.firm-message__text {
  color: #fff;
  letter-spacing: 0.076em;
}

.firm-message__name {
  margin-top: 20px;
  color: #fff;
  text-align: right;
}

.firm-message__image img {
  width: 100%;
  aspect-ratio: 236 / 292;
  object-fit: cover;
}

@media screen and (max-width: 767px) {

  .firm-message {
    padding: 70px 0 58px;
  }

  .firm-message__container {
    padding: 34px 30px 36px;
  }

  .firm-message__change {
    display: flex;
    flex-direction: column;
  }

  .firm-message__group {
    display: contents;
  }

  .firm-message__columns {
    display: contents;
  }

  .firm-message__column {
    display: contents;
  }

  .firm-message__heading {
    order: 1;
    font-size: 15px;
  }

  .firm-message__image {
    order: 2;
    max-width: 190px;
    margin: 38px auto 0;
  }

  .firm-message__image img {
    aspect-ratio: 380 / 502;
  }

  .firm-message__name {
    order: 5;
    margin-top: 18px;
    font-size: 12px;
    text-align: right;
  }

  .firm-message__catchphrase {
    order: 3;
    margin-top: 38px;
    font-size: 16px;
    line-height: calc(62 / 32);
  }

  .firm-message__text {
    order: 4;
    margin-top: 20px;
    letter-spacing: 0.074em;
  }

}

/* （ABOUT） */
.firm-divider {

}

.firm-divider__image img {
  width: 100%;
  aspect-ratio: 1920 / 678;
  object-fit: cover;
}

@media screen and (max-width: 767px) {

  .firm-divider__image img {
    aspect-ratio: 750 / 432;
  }

}

/* PHILOSOPHY（ABOUT） */
.firm-philosophy {
  padding: 138px 0 122px;
  background: #000;
}

.firm-philosophy__inner {
  max-width: calc(1080px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.firm-philosophy__list {
  display: grid;
  gap: 122px 0;
}

.firm-philosophy__item {

}

.firm-philosophy-item__columns {
  display: grid;
  grid-template-columns: 216px 1fr;
  gap: 0 36px;
}

.firm-philosophy-item__column:first-child {
  padding-top: 6px;
}

.firm-philosophy-item__heading {
  display: flex;
  align-items: center;
  gap: 0 16px;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 26px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.firm-philosophy-item__heading::after {
  flex-grow: 1;
  height: 1px;
  background: #fff;
  content: "";
}

.firm-philosophy-item__catchphrase {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  font-weight: 400;
  line-height: calc(42 / 22);
  letter-spacing: 0.05em;
}

.firm-philosophy-item__text {
  margin-top: 26px;
  color: #b2b2b2;
}

@media screen and (max-width: 767px) {

  .firm-philosophy {
    padding: 58px 0 66px;
  }

  .firm-philosophy__list {
    gap: 62px 0;
  }

  .firm-philosophy-item__columns {
    grid-template-columns: none;
    gap: 30px 0;
  }

  .firm-philosophy-item__column:first-child {
    padding-top: 0;
  }

  .firm-philosophy-item__heading {
    gap: 0 14px;
    font-size: 18px;
  }

  .firm-philosophy-item__heading::after {
    flex-grow: 0;
    width: 98px;
  }

  .firm-philosophy-item__catchphrase {
    font-size: 15px;
    line-height: 2;
  }

  .firm-philosophy-item__text {
    margin-top: 22px;
    letter-spacing: 0.084em;
  }

}

/* SERVICE（ABOUT） */
.firm-service {
  padding: 136px 0 106px;
  background: url("lib/images/bg_firm_service_pc.png") no-repeat center top / 100% auto;
}

.firm-service__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.firm-service__catchphrase {
  margin-top: 20px;
  font-family: "Shippori Mincho", serif;
  font-size: 18px;
  font-weight: 400;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.15em;
}

.firm-service__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 96px;
  margin-top: 116px;
}

.firm-service__card {

}

.firm-service-card__header {
  min-height: calc((30px * 2) + 18px + (14px * 1.4));
}

.firm-service-card__group {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 0 2px;
}

.firm-service-card__number {
  padding-top: 5px;
  font-family: "Figtree", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.firm-service-card__heading {
  font-family: "Shippori Mincho", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

.firm-service-card__fame {
  margin-top: 18px;
  color: #999;
  font-family: "Figtree", sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: capitalize;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.firm-service-card__image {
  margin-top: 24px;
}

.firm-service-card__image img {
  width: 100%;
  aspect-ratio: 362 / 214;
  object-fit: cover;
}

.firm-service-card__text {
  margin-top: 24px;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 1331px) {

  .firm-service__cards {
    grid-template-columns: repeat(2, 1fr);
  }

}

@media screen and (max-width: 767px) {

  .firm-service {
    padding: 54px 0 58px;
    background: url("lib/images/bg_firm_service_sp.png") no-repeat center top / 100% auto;
  }

  .firm-service__catchphrase {
    margin-top: 18px;
    font-size: 13px;
    line-height: calc(52 / 26);
  }

  .firm-service__cards {
    grid-template-columns: none;
    gap: 44px 0;
    margin-top: 40px;
  }

  .firm-service__card {
    display: flex;
    flex-direction: column;
  }

  .firm-service-card__header {
    display: contents;
  }

  .firm-service-card__group {
    grid-template-columns: 24px 1fr;
    gap: 0 6px;
    margin-top: 26px;
  }

  .firm-service-card__number {
    padding-top: 6px;
    font-size: 14px;
  }

  .firm-service-card__heading {
    font-size: 16px;
    line-height: calc(58 / 32);
  }

  .firm-service-card__fame {
    margin-top: 12px;
    font-size: 10px;
  }

  .firm-service-card__image {
    order: -1;
    margin-top: 0;
  }

  .firm-service-card__text {
    margin-top: 24px;
  }

}

/* （ABOUT） */
.firm-shop {
  margin-bottom: 136px;
  padding: 74px 0 70px;
  background: #f7f5ec;
}

.firm-shop__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.firm-shop__list {
  display: grid;
  gap: 22px 0;
  margin-top: 60px;
}

.firm-shop__item {
  display: grid;
  grid-template-columns: calc((376 / 1280) * 100%) calc((470 / 1280) * 100%) 1fr;
  padding-bottom: 28px;
  border-bottom: 1px solid #ccc;
}

.firm-shop-item__target a {
  color: #000;
  text-decoration: underline;
  transition: opacity 0.3s;
}

.firm-shop-item__target a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 1331px) {

  .firm-shop__item {
    grid-template-columns: none;
  }

}

@media screen and (max-width: 767px) {

  .firm-shop {
    margin-bottom: 56px;
    padding: 38px 0 36px;
  }

  .firm-shop__list {
    gap: 24px 0;
    margin-top: 32px;
  }

  .firm-shop__item {
    grid-template-columns: none;
    /*padding-bottom: 24px;*/
  }

  .firm-shop-item__target {
    margin-top: 2px;
  }

}

/* PARTNER */
.partner__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.partner__container {
  padding: 64px 88px 66px;
  border: 1px solid #ac973f;
}

.partner__heading {
  font-family: "Lato", sans-serif;
  font-size: 26px;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.partner__catchphrase {
  margin-top: 50px;
  font-family: "Shippori Mincho", serif;
  font-size: 26px;
  /*font-weight: 500;*/
  font-weight: 400;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.partner__catchphrase span {
  display: inline-block;
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
}

.partner__text {
  margin: 34px 0 42px;
  text-align: center;
}

@media screen and (max-width: 1331px) {

  .partner__container {
    padding: 64px 24px 66px;
  }

}

@media screen and (max-width: 767px) {

  .partner__container {
    padding: 40px 22px;
  }

  .partner__heading {
    font-size: 18px;
  }

  .partner__catchphrase {
    margin-top: 28px;
    font-size: 16px;
  }

  .partner__text {
    margin: 22px 0 24px;
    text-align: left;
  }

}

/* 会社概要（ABOUT） */
.firm-overview {
  padding-top: 140px;
}

.firm-overview__inner {
  max-width: calc(940px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.firm-overview__heading {
  font-family: "Shippori Mincho", serif;
  font-size: 20px;
  /*font-weight: 500;*/
  font-weight: 400;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.firm-overview__list {
  margin-top: 40px;
  border-top: 1px solid #ccc;
}

.firm-overview__item {
  display: grid;
  grid-template-columns: 156px 1fr;
  gap: 0 24px;
  padding: 29px 114px;
  border-bottom: 1px solid #ccc;
}

.firm-overview__description a {
  color: #000;
  text-decoration: underline;
  transition: opacity 0.3s;
}

.firm-overview__description a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {

  .firm-overview {
    padding-top: 64px;
  }

  .firm-overview__heading {
    font-size: 15px;
    letter-spacing: 0;
  }

  .firm-overview__list {
    margin-top: 18px;
  }

  .firm-overview__item {
    grid-template-columns: 98px 1fr;
    gap: 0;
    padding: 14px 0;
  }

  .firm-overview__item--lines {
    align-items: center;
  }

  .firm-overview__item--lines .firm-overview__term {
    line-height: calc(44 / 26);
  }

}

/* ONLINE SHOP */
.eshop {
  padding: 130px 0 140px;
}

.eshop__inner {
  max-width: calc(940px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.eshop__image a {
  display: block;
  transition: opacity 0.3s;
}

.eshop__image a:hover {
  opacity: 0.7;
}

.eshop__image img {
  width: 100%;
}

@media screen and (max-width: 767px) {

  .eshop {
    padding: 44px 0 36px;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/* PRODUCTS */
.product {
  padding-bottom: 186px;
}

@media screen and (max-width: 767px) {

  .product {
    padding-bottom: 48px;
  }

}

/* （PRODUCTS） */
.product-header {
  padding: 344px 0 270px;
  background: url("lib/images/bg_product_header_pc.jpg") no-repeat center / cover;
}

.product-header__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.product-header__heading {
  font-size: 37px;
  font-family: "Figtree", sans-serif;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-header__subheading {
  display: flex;
  align-items: center;
  gap: 0 16px;
  margin-top: 8px;
  font-size: 20px;
  font-family: "Figtree", sans-serif;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-header__subheading::before {
  width: 28px;
  height: 1px;
  background: #000;
  content: "";
}

@media screen and (max-width: 767px) {

  .product-header {
    padding: 248px 0 36px;
    background: url("lib/images/bg_product_header_sp.jpg") no-repeat center / cover;
  }

  .product-header__heading {
    font-size: 24px;
  }

  .product-header__subheading {
    gap: 0 6px;
    margin-top: 4px;
    font-size: 11px;
  }

  .product-header__subheading::before {
    width: 16px;
  }

}

/* 毎日が変わる、…（PRODUCTS） */
.product-condition {
  padding: 106px 0 134px;
  background: #000;
}

.product-condition__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.product-condition__container {
  padding: 80px 66px 74px;
  border: 1px solid #ac973f;
}

.product-condition__group {
  display: grid;
  grid-template-columns: 480px 1fr;
  align-items: center;
  gap: 0 28px;
}

.product-condition__heading {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

.product-condition__text {
  color: #fff;
  letter-spacing: 0.06em;
}

.product-condition__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 94px 78px;
  margin-top: 92px;
}

.product-condition-item__fame {
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-condition-item__heading {
  margin-top: 16px;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-condition-item__heading span {
  display: inline-block;
  padding-bottom: 12px;
  border-bottom: 1px solid #ac973f;
}

.product-condition-item__text {
  margin-top: 26px;
  color: #b2b2b2;
}

@media screen and (max-width: 1331px) {

  .product-condition__list {
    grid-template-columns: repeat(2, 1fr);
  }

  .product-condition__group {
    grid-template-columns: none;
    gap: 22px 0;
  }

}

@media screen and (max-width: 767px) {

  .product-condition {
    padding: 48px 0 72px;
  }

  .product-condition__container {
    padding: 44px 22px 40px;
  }

  /*.product-condition__group {
    grid-template-columns: none;
    gap: 22px 0;
  }*/

  .product-condition__heading {
    font-size: 18px;
    line-height: calc(64 / 36);
  }

  .product-condition__list {
    grid-template-columns: none;
    gap: 40px 0;
    margin-top: 44px;
  }

  .product-condition-item__fame {
    font-size: 10px;
  }

  .product-condition-item__heading {
    margin-top: 10px;
    font-size: 16px;
  }

  .product-condition-item__heading span {
    padding-bottom: 10px;
  }

  .product-condition-item__text {
    margin-top: 20px;
    letter-spacing: 0.12em;
  }

}

/* Optimizer（PRODUCTS） */
.product-optimizer {
  padding-top: 132px;
  background: url("lib/images/bg_product_optimizer_pc.png") no-repeat center top / 100% auto;
}

.product-optimizer__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.product-optimizer__columns {
  display: grid;
  grid-template-columns: 1fr calc((764 / 1280) * 100%);
  align-items: flex-end;
  gap: 90px 132px;
}

.product-optimizer__column:first-child {
  padding-bottom: 54px;
}

.product-optimizer__column:last-child {
  grid-column: 1 / -1;
}

.product-optimizer__heading {
  font-family: "Figtree", sans-serif;
  font-size: 37px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-optimizer__catchphrase {
  margin-top: 120px;
  font-family: "Shippori Mincho", serif;
  font-feature-settings: "palt";
  font-size: 26px;
  font-weight: 400;
  line-height: calc(43 / 26);
  letter-spacing: 0.05em;
}

.product-optimizer__catchphrase > span {
/*   margin-left: -12px; */
}

.product-optimizer__catchphrase > span span {
/*   letter-spacing: -.96em; */
}

.product-optimizer__text {
  margin-top: 32px;
  letter-spacing: .02em;
}

.product-network__container {
  padding: 54px 56px 46px;
  border: 1px solid #ac973f;
}

.product-network__heading {
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-network__image {
  margin-top: 56px;
}

.product-network__image img {
  transform: translateX(6px);
  width: 100%;
}

.product-network__list {
  position: relative;
  margin-top: 44px;
  padding: 30px 24px 28px;
  background: #f7f5ec;
}

.product-network__list::before {
  position: absolute;
  top: calc(-35px / 2);
  left: 50%;
  transform: translateX(-50%);
  width: 35px;
  aspect-ratio: 1;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2034.09%2034.09%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23ac973f%3B%7D.cls-2%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%2217.05%22%20cy%3D%2217.05%22%20r%3D%2217.05%22%2F%3E%3Cline%20class%3D%22cls-2%22%20x1%3D%2210.06%22%20y1%3D%2217.05%22%20x2%3D%2224.03%22%20y2%3D%2217.05%22%2F%3E%3Cline%20class%3D%22cls-2%22%20x1%3D%2217.05%22%20y1%3D%2210.06%22%20x2%3D%2217.05%22%20y2%3D%2224.03%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
}

.product-network__term {
  text-align: center;
  letter-spacing: 0.05em;
}

.product-network__term span {
  font-family: "Shippori Mincho", serif;
  font-size: 18px;
  letter-spacing: 0.06em;
}

.product-network__description {
  margin-top: 2px;
  font-size: 14px;
  text-align: center;
  line-height: calc(26 / 14);
}

.product-supervision__container {
  padding: 32px 56px 34px 64px;
  background: #000;
}

.product-supervision__columns {
  display: grid;
  grid-template-columns: 1fr 190px;
  align-items: center;
  gap: 0 44px;
}

.product-supervision__column:first-child {
  padding-top: 8px;
}

.product-supervision__group {
  display: flex;
  align-items: center;
  gap: 0 48px;
}

.product-supervision__name {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 26px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-supervision__position {
  display: flex;
  align-items: center;
  gap: 0 18px;
  color: #fff;
}

.product-supervision__position::before {
  width: 66px;
  height: 1px;
  background: #ac973f;
  content: "";
}

.product-supervision__text {
  margin-top: 28px;
  color: #fff;
}

.product-supervision__image {
  overflow: hidden;
  border-radius: 50%;
}

.product-supervision__image img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

@media screen and (max-width: 1331px) {

  .product-optimizer__columns {
    grid-template-columns: none;
    gap: 90px 0;
  }

}

@media screen and (max-width: 767px) {

  .product-optimizer {
    padding-top: 72px;
    background: url("lib/images/bg_product_optimizer_sp.png") no-repeat center top / 100% auto;
  }

  .product-optimizer__columns {
    display: block;
  }

  .product-optimizer__column:first-child {
    padding-bottom: 0;
  }

  .product-optimizer__column:nth-child(2) {
    margin-top: 32px;
  }

  .product-optimizer__column:nth-child(3) {
    margin-top: 40px;
  }

  .product-optimizer__heading {
    font-size: 24px;
  }

  .product-optimizer__catchphrase {
    margin-top: 48px;
    font-size: 18px;
    line-height: calc(64 / 36);
  }

  .product-optimizer__catchphrase > span {
/*     margin-left: -8px; */
  }

  .product-optimizer__text {
    margin-top: 30px;
  }

  .product-network__container {
    padding: 32px 16px 20px;
  }

  .product-network__heading {
    font-size: 16px;
  }

  .product-network__image {
    margin-top: 30px;
  }

  .product-network__image img {
    transform: translateX(0);
  }

  .product-network__list {
    margin-top: 30px;
    padding: 26px 24px 18px;
  }

  .product-network__list::before {
    top: calc(-28px / 2);
    width: 28px;
  }

  .product-network__term {
    font-size: 9px;
  }

  .product-network__term span {
    display: block;
    margin-bottom: 2px;
    font-size: 12px;
  }

  .product-network__description {
    margin-top: 10px;
    font-size: 9px;
  }

  .product-supervision__container {
    padding: 26px 22px 28px;
  }

  .product-supervision__columns {
    grid-template-columns: 1fr 146px;
    gap: 0 27px;
  }

  .product-supervision__column {
    display: contents;
  }

  .product-supervision__group {
    display: contents;
  }

  .product-supervision__name {
    transform: translateY(4px);
    font-size: 16px;
    line-height: calc(52 / 32);
  }

  .product-supervision__position {
    grid-column: 1 / -1;
    gap: 0 14px;
    order: 1;
    margin-top: 22px;
  }

  .product-supervision__position::before {
    width: 38px;
  }

  .product-supervision__text {
    grid-column: 1 / -1;
    order: 2;
    margin-top: 8px;
  }

  .product-supervision__image {
    transform: translateX(-6px);
  }

}

/* （PRODUCTS） */
.product-material {
  /*padding-top: 146px;*/
  padding-top: 164px;
}

.product-material__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.product-material__cards {
  display: grid;
  /*gap: 152px 0;*/
  gap: 164px 0;
}

.product-material__card {
  position: relative;
  z-index: 1;
}

.product-material__card::before {
  position: absolute;
  top: -16px;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
  width: 100vw;
  height: calc((110px * 0.75) + (16px + 18px));
  background: #000;
  content: "";
}

.product-material-card__columns {
  display: grid;
  /*grid-template-columns: 1fr 494px;*/
  grid-template-columns: 1fr calc((494 / 1280) * 100%);
  gap: 0 88px;
}

.product-material__card:nth-child(2n) .product-material-card__columns {
  grid-template-columns: 494px 1fr;
}

.product-material-card__column:nth-child(2) {
  /*padding-top: 56px;*/
  padding-top: 42px;
}

.product-material__card:nth-child(2n) .product-material-card__column:nth-child(2) {
  order: -1;
}

.product-material-card__group {
  display: flex;
  align-items: center;
}

.product-material-card__number {
  /*margin-right: 40px;*/
  margin-right: 26px;
  color: #4c4c4c;
  font-family: "Cormorant Garamond", serif;
  font-size: 110px;
  line-height: .75;
  letter-spacing: 0;
}

.product-material__card:first-child .product-material-card__number,
.product-material__card:nth-child(2) .product-material-card__number {
  transform: translateY(-12px);
}

.product-material__card:nth-child(3) .product-material-card__number,
.product-material__card:nth-child(4) .product-material-card__number {
  transform: translateY(-22px);
}

.product-material-card__fame {
  transform: translateY(2px);
  margin-right: 38px;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-material-card__heading {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-material-card__heading span {
  font-size: 24px;
  letter-spacing: 0.05em;
}

.product-material-card__catchphrase {
  /*margin-top: 76px;*/
  margin-top: 94px;
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-material__card:nth-child(2) .product-material-card__catchphrase,
.product-material__card:nth-child(4) .product-material-card__catchphrase {
  margin-top: 120px;
}

.product-material-card__text {
  margin-top: 42px;
  letter-spacing: 0.09em;
}

.product-material-card__text span {
  color: #ac973f;
  font-weight: 500;
}

.product-material-card__image img {
  width: 100%;
}

@media screen and (max-width: 1331px) {

  .product-material-card__columns {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .product-material__card:nth-child(2n) .product-material-card__column:nth-child(2) {
    order: 0;
  }

}

@media screen and (max-width: 767px) {

  .product-material {
    padding-top: 58px;
  }

  .product-material__cards {
    gap: 110px 0;
  }

  .product-material__card::before {
    top: -12px;
    height: calc((70px * 1) + (12px + 132px));
  }

  /*.product-material-card__columns {
    display: flex;
    flex-direction: column;
    gap: 0;
  }*/

  .product-material-card__column {
    display: contents;
  }

  .product-material-card__catchphrase {
    order: 1;
    margin-top: 40px;
    font-size: 18px;
    line-height: calc(64 / 36);
  }

  .product-material__card:nth-child(2) .product-material-card__catchphrase,
  .product-material__card:nth-child(4) .product-material-card__catchphrase {
    margin-top: 40px;
  }

  .product-material-card__text {
    order: 2;
    margin-top: 28px;
    letter-spacing: 0.082em;
  }

  .product-material-card__group {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 22px;
    gap: 0 14px;
    align-items: flex-end;
  }

  .product-material-card__number {
    grid-area: 1 / 1 / 3 / 2;
    margin-right: 0;
    font-size: 70px;
    line-height: 1;
  }

  .product-material__card:first-child .product-material-card__number,
  .product-material__card:nth-child(2) .product-material-card__number {
    transform: translateY(14px);
  }

  .product-material__card:nth-child(3) .product-material-card__number,
  .product-material__card:nth-child(4) .product-material-card__number {
    transform: translateY(4px);
  }

  .product-material-card__fame {
    grid-area: 1 / 2;
    margin-right: 0;
    padding-left: 6px;
    font-size: 9px;
  }

  .product-material-card__heading {
    grid-area: 2 / 2;
    font-size: 19px;
    letter-spacing: 0;
  }

  .product-material-card__heading span {
    font-size: 16px;
    letter-spacing: -0.02em;
  }

  .product-material-card__image {
    max-width: 240px;
    margin: 32px auto 0;
  }

  .product-material-card__image img {
    aspect-ratio: 478 / 620;
    object-fit: cover;
  }

}

/* ビタミンB群（PRODUCTS） */
.product-vitamin {
  padding-top: 142px;
}

.product-vitamin__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.product-vitamin__container {
  padding: 42px 58px 50px;
  background: #f7f5ec;
}

.product-vitamin__group {
  display: flex;
  align-items: center;
  gap: 0 46px;
  padding-bottom: 16px;
  border-bottom: 1px solid #ded5b2;
}

.product-vitamin__heading {
  font-size: 15px;
  font-family: "Figtree", sans-serif;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-vitamin__heading span {
  margin-right: 22px;
  font-family: "Shippori Mincho", serif;
  font-size: 30px;
  font-weight: 400;
  vertical-align: -4px;
  letter-spacing: 0.05em;
}

.product-vitamin__catchphrase {
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-vitamin__text {
  margin-top: 30px;
}

.product-vitamin__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 38px;
  margin-top: 32px;
}

.product-vitamin__item {
  display: grid;
  grid-template-columns: 52px 1fr;
  align-items: baseline;
  gap: 0 12px;
}

.product-vitamin__term {
  padding: 2px 0;
  background: #ac973f;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 17px;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-vitamin__description {

}

@media screen and (max-width: 1331px) {

  .product-vitamin__list {
    grid-template-columns: none;
    gap: 16px 0;
  }

}

@media screen and (max-width: 767px) {

  .product-vitamin {
    padding-top: 44px;
  }

  .product-vitamin__container {
    padding: 36px 28px 38px;
  }

  .product-vitamin__group {
    flex-direction: column;
    align-items: normal;
    gap: 24px 0;
    padding-bottom: 20px;
  }

  .product-vitamin__heading {
    font-size: 13px;
  }

  .product-vitamin__heading span {
    font-size: 19px;
  }

  .product-vitamin__catchphrase {
    font-size: 18px;
    line-height: calc(64 / 36);
  }

  .product-vitamin__text {
    margin-top: 20px;
  }

  .product-vitamin__list {
    /*grid-template-columns: none;
    gap: 16px 0;*/
    margin-top: 30px;
  }

  .product-vitamin__item {
    grid-template-columns: 42px 1fr;
    gap: 0 14px;
  }

  .product-vitamin__term {
    transform: translateY(5px);
    font-size: 13px;
  }

  .product-vitamin__description {
    font-size: calc(24.57px / 2);
    line-height: calc(52.41 / 24.57);
  }

}

/* 参考文献（PRODUCTS） */
.product-references {
  padding: 104px 0 112px;
}

.product-references__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.product-references__heading,
.product-references__text,
.product-references__annotation {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.1em;
}

.product-references__heading {
  font-weight: 400;
}

.product-references__annotation {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {

  .product-references {
    padding: 46px 0 50px;
  }

  .product-references__heading,
  .product-references__text,
  .product-references__annotation {
    font-size: 12px;
    line-height: calc(52 / 24);
  }

  .product-references__annotation {
    margin-top: 16px;
  }

}

/* 化学的視点から導く、…（PRODUCTS） */
.product-ingredient {
  padding: 84px 0 78px;
  background: #000;
}

.product-ingredient__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.product-ingredient__heading {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-ingredient__heading span {
  display: inline-block;
  padding: 0 0 14px 2px;
  border-bottom: 1px solid #ac973f;
}

.product-ingredient__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 70px 86px;
  margin-top: 74px;
}

.product-ingredient__item {

}

.product-ingredient-item__heading {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-ingredient-item__heading::before {
  display: inline-block;
  width: 24px;
  height: 15px;
  margin-right: 10px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022.79%2013.72%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23ac973f%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A1.84px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%22.92%207.3%208.61%2012.8%2021.87%20.92%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  vertical-align: 2px;
  content: "";
}

.product-ingredient-item__text {
  margin-top: 20px;
  color: #b2b2b2;
}

@media screen and (max-width: 1331px) {

  .product-ingredient__list {
    grid-template-columns: none;
    gap: 44px 0;
  }

}

@media screen and (max-width: 767px) {

  .product-ingredient {
    padding: 46px 0 26px;
    padding: 46px 0 46px;
  }

  .product-ingredient__heading {
    font-size: 16px;
    line-height: calc(60 / 32);
  }

  .product-ingredient__heading span {

  }

  .product-ingredient__list {
    /*grid-template-columns: none;
    gap: 44px 0;*/
    margin-top: 46px;
  }

  .product-ingredient-item__heading {
    font-size: 15px;
  }

  .product-ingredient-item__heading::before {
    width: 14px;
    height: 9px;
    vertical-align: 0;
  }

  .product-ingredient-item__text {
    margin-top: 16px;
    letter-spacing: 0.08em;
  }

}

/* プロフェッショナル専売サプリメント（PRODUCTS） */
.product-introduction {
  position: relative;
  padding-top: 132px;
}

.product-introduction::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 1800px;
  background: url("lib/images/bg_product_introduction_pc.png") no-repeat center top / 100% auto;
  content: "";
}

.product-introduction__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.product-introduction__container {
  padding: 52px 70px 58px;
  background: #f7f5ec;
}

.product-introduction__group {
  display: flex;
  align-items: center;
  gap: 0 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ac973f;
}

.product-introduction__heading {
  color: #ac973f;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
}

.product-introduction__heading span {
  margin: 0 14px 0 0;
  color: #000;
  font-family: "Figtree", sans-serif;
  font-size: 28px;
  font-weight: 700;
  vertical-align: -4px;
  letter-spacing: 0.05em;
}

.product-introduction__spec {

}

.product-introduction__columns {
  display: grid;
  /*grid-template-columns: 1fr 314px;*/
  grid-template-columns: 1fr calc((314 / 1140) * 100%);
  gap: 0 66px;
  margin-top: 38px;
}

.product-introduction__column:first-child {
  padding-top: 6px;
}

.product-introduction__list {
  display: grid;
  gap: 32px 0;
}

.product-introduction__item {

}

.product-introduction__term::before {
  color: #ac973f;
  content: "●";
}

.product-introduction__description {
  margin-top: 6px;
}

.product-introduction__image img {
  width: 100%;
  aspect-ratio: 314 / 238;
  object-fit: cover;
}

@media screen and (max-width: 1331px) {

  .product-introduction__container {
    padding: 52px 24px 58px;
  }

}

@media screen and (max-width: 767px) {

  .product-introduction {
    padding-top: 42px;
  }

  .product-introduction::before {
    height: calc(2428px / 2);
    background: url("lib/images/bg_product_introduction_sp.png") no-repeat center top / 100% auto;
  }

  .product-introduction__container {
    padding: 26px 24px 32px;
  }

  .product-introduction__group {
    flex-direction: column;
    align-items: normal;
    gap: 8px 0;
    padding-bottom: 14px;
  }

  .product-introduction__heading {
    font-size: 13px;
  }

  .product-introduction__heading span {
    display: block;
    margin: 0 0 14px 0;
    font-size: 19px;
  }

  .product-introduction__spec {
    font-size: 12px;
  }

  .product-introduction__columns {
    display: flex;
    flex-direction: column-reverse;
    gap: 12px 0;
    margin-top: 28px;
  }

  .product-introduction__image img {
    aspect-ratio: 550 / 420;
  }

  .product-introduction__list {
    gap: 18px 0;
  }

  .product-introduction__term {
    letter-spacing: 0.062em;
  }

  .product-introduction__description {
    letter-spacing: 0.062em;
  }

}

/* FAQ（PRODUCTS） */
.product-faq {
  padding-top: 116px;
}

.product-faq__inner {
  max-width: calc(1280px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

.product-faq__list {
  display: grid;
  gap: 40px 0;
  margin-top: 78px;
}

.product-faq__item:nth-last-child(n + 2) {
  padding-bottom: 42px;
  border-bottom: 1px solid #ccc;
}

.product-faq__question {

}

.product-faq__question span:first-child {
  margin-right: 10px;
  color: #ac973f;
  font-family: "Figtree", sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-faq__question span:nth-child(2) {
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  font-weight: 400;
  vertical-align: 2px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.product-faq__answer {
  margin-top: 10px;
}

.product-faq__text {
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {

  .product-faq {
    padding-top: 46px;
  }

  .product-faq__list {
    gap: 34px 0;
    margin-top: 40px;
  }

  .product-faq__item:nth-last-child(n + 2) {
    padding-bottom: 34px;
  }

  .product-faq__question span:first-child {
    font-size: 19px;
  }

  .product-faq__question span:nth-child(2) {
    font-size: 15px;
  }

  .product-faq__answer {
    margin-top: 8px;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/*  */
.toc__list {
  display: flex;
  flex-wrap: wrap;
  gap: 34px;
}

.toc__item a {
  display: block;
  position: relative;
  padding: 12px 42px 12px 32px;
  border: 1px solid #ac973f;
  background: #fff;
  color: #ac973f;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  transition: background 0.3s, color 0.3s;
}

.toc__item a:hover {
  background: #ac973f;
  color: #fff;
}

.toc__item a::after {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 12px;
  height: 7px;
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010.82%206.18%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23ac973f%3Bstroke-miterlimit%3A10%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%2210.46%20.35%205.41%205.47%20.36%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  content: "";
  transition: background 0.3s;
}

.toc__item a:hover::after {
  background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010.82%206.18%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-miterlimit%3A10%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolyline%20class%3D%22cls-1%22%20points%3D%2210.46%20.35%205.41%205.47%20.36%20.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

@media screen and (max-width: 767px) {

  .toc__list {
    display: grid;
    justify-content: center;
    gap: 18px 0;
  }

  .toc__item a {
    max-width: 262px;
    padding: 7px 32px 7px 18px;
    font-size: 11px;
    text-align: center;
  }

  .toc__item a::after {
    width: 10px;
    height: 6px;
  }

}

/*  */
.p-legal {
  padding: 226px 0 200px;
}

.p-legal__inner {
  max-width: calc(846px + (26px * 2));
  margin: 0 auto;
  padding: 0 26px;
}

@media screen and (max-width: 767px) {

  .p-legal {
    padding: 48px 0 64px;
  }

}

.post-content {
  /*font-feature-settings: "palt";*/
  letter-spacing: 0.1em;
}

.post-content h2,
.post-content h3 {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.post-content h2 {
  margin-top: 80px;
  margin-bottom: 44px;
  padding-top: 82px;
  border-top: 1px solid #ccc;
  color: #ac973f;
  font-size: 20px;
}

.post-content h3 {
  margin-top: 68px;
  margin-bottom: 20px;
  font-size: 18px;
}

.post-content h3::before {
  color: #ac973f;
  content: "●";
}

.post-content span {
  color: #960000;
}

@media screen and (max-width: 767px) {

  .post-content h2 {
    margin-top: 40px;
    margin-bottom: 12px;
    padding-top: 34px;
    font-size: 17px;
  }

  .post-content h3 {
    margin-top: 36px;
    margin-bottom: 16px;
    font-size: 15px;
  }

}

/*  */

@media screen and (max-width: 767px) {



}

/* プライバシーポリシー */
.p-privacy {
  padding: 120px 0;
}

.p-privacy__inner {
  max-width: calc(780px + (18px * 2));
  margin: 0 auto;
  padding: 0 18px;
}

.p-privacy__content > :first-child {
  margin-top: 0 !important;
}

.p-privacy__heading {
  margin: 50px 0 20px;
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.2;
}

.p-privacy__text {
  /*font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 1.875;*/
}

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*  */

@media screen and (max-width: 767px) {



}

/*-------------------------------------------
Utility
-------------------------------------------*/
/*
ComponentとProjectレイヤーのObjectの
モディファイアで解決することが難しい・適切では無い、
わずかなスタイルの調整のための便利クラスなどを定義します。
*/

.u-sp {
  display: none;
}

@media screen and (max-width: 767px) {

  .u-pc {
    display: none;
  }

  .u-sp {
    display: block;
  }

}

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