.elementor-5737 .elementor-element.elementor-element-9cb1036{--display:flex;--overlay-opacity:0.5;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:300;}.elementor-5737 .elementor-element.elementor-element-9cb1036:not(.elementor-motion-effects-element-type-background), .elementor-5737 .elementor-element.elementor-element-9cb1036 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF00;}.elementor-5737 .elementor-element.elementor-element-9cb1036::before, .elementor-5737 .elementor-element.elementor-element-9cb1036 > .elementor-background-video-container::before, .elementor-5737 .elementor-element.elementor-element-9cb1036 > .e-con-inner > .elementor-background-video-container::before, .elementor-5737 .elementor-element.elementor-element-9cb1036 > .elementor-background-slideshow::before, .elementor-5737 .elementor-element.elementor-element-9cb1036 > .e-con-inner > .elementor-background-slideshow::before, .elementor-5737 .elementor-element.elementor-element-9cb1036 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-5737 .elementor-element.elementor-element-8a9bb71 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-5737 .elementor-element.elementor-element-6b7e7e6{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-6b7e7e6:not(.elementor-motion-effects-element-type-background), .elementor-5737 .elementor-element.elementor-element-6b7e7e6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-5737 .elementor-element.elementor-element-535aa1e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-5737 .elementor-element.elementor-element-542cb27{--display:flex;--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-e37eadb{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-2cb609e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-2cb609e:not(.elementor-motion-effects-element-type-background), .elementor-5737 .elementor-element.elementor-element-2cb609e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F5;}.elementor-5737 .elementor-element.elementor-element-062a8ea > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-5737 .elementor-element.elementor-element-2e19403{--display:flex;--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-2dbf983{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-24a045e{--display:flex;}.elementor-5737 .elementor-element.elementor-element-24a045e:not(.elementor-motion-effects-element-type-background), .elementor-5737 .elementor-element.elementor-element-24a045e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://nankokogyo.co.jp/wp-content/uploads/2026/07/0b09deca-4e99-48bd-8c7a-2ceb14887acf.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-5737 .elementor-element.elementor-element-d417c4f > .elementor-widget-container{margin:15px 15px 15px 15px;}.elementor-5737 .elementor-element.elementor-element-48671c8{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-d676551{--display:flex;--margin-top:-60px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-896ebca > .elementor-widget-container{padding:60px 0px 0px 0px;}.elementor-5737 .elementor-element.elementor-element-8fd818f{--display:flex;--margin-top:-15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-2499a29{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-41ea38e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-7ecf672{--display:flex;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-7ecf672:not(.elementor-motion-effects-element-type-background), .elementor-5737 .elementor-element.elementor-element-7ecf672 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(230deg, #080496 0%, #000000 100%);}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form label{color:#000000;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form label span{color:#777777;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form select{width:100%;height:50px;color:#000000;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form textarea{width:100%;height:176px;margin-bottom:20px;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form .ekit-form-input, .elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form select, .elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form input{margin-bottom:20px;}.elementor-5737 .elementor-element.elementor-element-657ccbd .wpcf7-form textarea{color:#000000;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-wid-con .ekit-form form textarea{color:#000000;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"])::-webkit-input-placeholder{font-size:14px;color:#000000;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"])::-moz-placeholder{font-size:14px;color:#000000;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):-ms-input-placeholder{font-size:14px;color:#000000;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):-moz-placeholder{font-size:14px;color:#000000;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form textarea::-webkit-input-placeholder{font-size:14px;color:#000000;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form textarea::-moz-placeholder{font-size:14px;color:#000000;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form textarea:-ms-input-placeholder{font-size:14px;color:#000000;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form textarea:-moz-placeholder{font-size:14px;color:#000000;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form > p{text-align:left;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form input[type="submit"]{color:#ffffff;}.elementor-5737 .elementor-element.elementor-element-657ccbd .ekit-form form input[type="submit"]:hover{color:#ffffff;}.elementor-5737 .elementor-element.elementor-element-d128cf7{--display:flex;--margin-top:-17px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-03446c7 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}body.elementor-page-5737:not(.elementor-motion-effects-element-type-background), body.elementor-page-5737 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F5;}@media(min-width:768px){.elementor-5737 .elementor-element.elementor-element-e37eadb{--width:1300%;}}@media(max-width:1024px){.elementor-5737 .elementor-element.elementor-element-6b7e7e6{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-535aa1e > .elementor-widget-container{margin:-20px 0px 0px 0px;}.elementor-5737 .elementor-element.elementor-element-2e19403{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-7ecf672{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-5737 .elementor-element.elementor-element-9cb1036{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-6b7e7e6{--padding-top:25px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-535aa1e > .elementor-widget-container{margin:-26px 0px 0px 0px;}.elementor-5737 .elementor-element.elementor-element-2cb609e{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-062a8ea > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-5737 .elementor-element.elementor-element-2e19403{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5737 .elementor-element.elementor-element-e18d6cd > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-5737 .elementor-element.elementor-element-d417c4f > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-5737 .elementor-element.elementor-element-7ecf672{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for html, class: .elementor-element-8a9bb71 *//* =========================================
   SAFE HEADER
   JavaScriptなし・固定なし
========================================= */

.benkei-safe-header {
  --safe-navy: #082d63;
  --safe-blue: #24549c;
  --safe-yellow: #f5ce1f;
  --safe-yellow-dark: #d2a500;

  position: relative;
  z-index: 1000;

  width: 100%;

  background: #ffffff;

  border-bottom:
    1px solid rgba(8, 45, 99, 0.12);

  box-shadow:
    0 5px 20px rgba(8, 45, 99, 0.07);

  box-sizing: border-box;
}


/* 古い固定ヘッダー用余白を解除 */
html,
body {
  height: auto !important;
  min-height: 100% !important;

  overflow-x: hidden;
  overflow-y: auto !important;

  touch-action: auto !important;
  overscroll-behavior-y: auto !important;
}

body {
  position: static !important;
  padding-top: 0 !important;
}


/* アンカー移動 */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 20px;
}


/* =========================================
   INNER
========================================= */

.benkei-safe-header__inner {
  position: relative;

  width: min(100%, 1600px);
  min-height: 88px;

  margin: 0 auto;
  padding: 0 24px;

  display: flex;
  align-items: center;

  box-sizing: border-box;
}


/* =========================================
   LOGO
========================================= */

.benkei-safe-header__logo {
  flex: 0 0 auto;

  margin-right: auto;

  display: flex;
  align-items: center;
}


.benkei-safe-header__logo img {
  display: block;

  width: 285px;
  max-width: 100%;
  max-height: 62px;
  height: auto;

  object-fit: contain;
}


/* =========================================
   PC NAV
========================================= */

.benkei-safe-header__pc-nav {
  margin-left: 28px;

  display: flex;
  align-items: center;

  gap: 24px;
}


.benkei-safe-header__pc-nav a {
  position: relative;

  min-height: 88px;

  display: flex;
  align-items: center;

  color: #172338;
  text-decoration: none;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 13px;
  font-weight: 700;
  line-height: 1;

  white-space: nowrap;
}


.benkei-safe-header__pc-nav a::after {
  content: "";

  position: absolute;
  right: 50%;
  bottom: 17px;
  left: 50%;

  height: 2px;

  background: var(--safe-yellow);

  transition:
    right 0.25s ease,
    left 0.25s ease;
}


.benkei-safe-header__pc-nav a:hover {
  color: var(--safe-blue);
}


.benkei-safe-header__pc-nav a:hover::after {
  right: 0;
  left: 0;
}


/* =========================================
   PC CONTACT
========================================= */

.benkei-safe-header__contact {
  position: relative;

  flex: 0 0 auto;

  min-width: 225px;
  min-height: 66px;

  margin-left: 27px;
  padding: 12px 54px 12px 22px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  color: var(--safe-navy);
  text-decoration: none;

  background:
    linear-gradient(
      135deg,
      #ffe778 0%,
      var(--safe-yellow) 58%,
      #ebbc00 100%
    );

  border:
    1px solid rgba(210, 165, 0, 0.6);

  border-radius: 9px;

  box-shadow:
    0 9px 22px rgba(190, 148, 0, 0.17);

  box-sizing: border-box;
}


.benkei-safe-header__contact span {
  margin-bottom: 4px;

  color: rgba(8, 45, 99, 0.72);

  font-family: Arial, Helvetica, sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.2em;
}


.benkei-safe-header__contact strong {
  color: var(--safe-navy);

  font-size: 16px;
  font-weight: 800;
}


.benkei-safe-header__contact b {
  position: absolute;
  top: 50%;
  right: 17px;

  width: 32px;
  height: 32px;

  display: grid;
  place-items: center;

  border:
    1px solid rgba(8, 45, 99, 0.42);

  border-radius: 50%;

  font-size: 17px;
  font-weight: 400;

  transform: translateY(-50%);
}


/* =========================================
   DETAILS MENU
========================================= */

.benkei-safe-menu {
  display: none;
}


/* summaryの標準三角を削除 */
.benkei-safe-menu summary {
  list-style: none;
}


.benkei-safe-menu summary::-webkit-details-marker {
  display: none;
}


/* ハンバーガー */
.benkei-safe-menu summary {
  width: 46px;
  height: 46px;

  padding: 9px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  background: transparent;

  border: 0;

  cursor: pointer;

  box-sizing: border-box;
}


.benkei-safe-menu summary i {
  width: 100%;
  height: 2px;

  margin: 4px 0;

  display: block;

  background: var(--safe-navy);

  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}


/* 開いた時の× */
.benkei-safe-menu[open]
summary i:nth-child(1) {
  transform:
    translateY(10px)
    rotate(45deg);
}


.benkei-safe-menu[open]
summary i:nth-child(2) {
  opacity: 0;
}


.benkei-safe-menu[open]
summary i:nth-child(3) {
  transform:
    translateY(-10px)
    rotate(-45deg);
}


/* パネル */
.benkei-safe-menu__panel {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;

  width: 100%;
  padding: 14px 20px 22px;

  color: #ffffff;

  background:
    linear-gradient(
      145deg,
      #061f45 0%,
      var(--safe-navy) 100%
    );

  border-top:
    1px solid rgba(255, 255, 255, 0.1);

  box-shadow:
    0 18px 38px rgba(0, 0, 0, 0.18);

  box-sizing: border-box;
}


/* メニュー一覧 */
.benkei-safe-menu__panel nav {
  width: min(100%, 800px);
  margin: 0 auto;

  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 0 24px;
}


.benkei-safe-menu__panel nav a {
  min-height: 54px;

  display: flex;
  align-items: center;

  color: #ffffff;
  text-decoration: none;

  border-bottom:
    1px solid rgba(255, 255, 255, 0.14);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 14px;
  font-weight: 700;
}


.benkei-safe-menu__panel nav a span {
  width: 34px;
  margin-right: 9px;

  color: var(--safe-yellow);

  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-weight: 700;
}


/* スマホお問い合わせ */
.benkei-safe-menu__contact {
  position: relative;

  width: min(100%, 800px);

  margin: 15px auto 0;
  padding: 15px 48px 15px 18px;

  display: block;

  color: var(--safe-navy);
  text-decoration: none;

  background:
    linear-gradient(
      135deg,
      #ffe778,
      var(--safe-yellow) 60%,
      #e9ba00
    );

  border-radius: 7px;

  box-sizing: border-box;
}


.benkei-safe-menu__contact span {
  display: block;

  margin-bottom: 3px;

  font-family: Arial, Helvetica, sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.2em;
}


.benkei-safe-menu__contact strong {
  font-size: 15px;
  font-weight: 800;
}


.benkei-safe-menu__contact b {
  position: absolute;
  top: 50%;
  right: 19px;

  font-size: 20px;
  font-weight: 400;

  transform: translateY(-50%);
}


/* =========================================
   TABLET
========================================= */

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

  .benkei-safe-header__inner {
    min-height: 80px;

    padding: 0 22px;
  }

  .benkei-safe-header__logo img {
    width: 240px;
    max-height: 55px;
  }

  .benkei-safe-header__pc-nav,
  .benkei-safe-header__contact {
    display: none;
  }

  .benkei-safe-menu {
    display: block;
  }

}


/* =========================================
   SMARTPHONE
========================================= */

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

  .benkei-safe-header__inner {
    min-height: 70px;

    padding: 0 15px;
  }

  .benkei-safe-header__logo img {
    width: min(200px, 68vw);
    max-height: 48px;
  }

  .benkei-safe-menu summary {
    width: 43px;
    height: 43px;

    padding: 8px;
  }

  .benkei-safe-menu__panel {
    padding: 11px 16px 18px;
  }

  .benkei-safe-menu__panel nav {
    grid-template-columns: 1fr;
  }

  .benkei-safe-menu__panel nav a {
    min-height: 47px;

    font-size: 13px;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-535aa1e *//* ========================================
   CONTACT GUIDE
   WHITE × NAVY × GOLD
======================================== */

.benkei-contact-guide {
  --bcg-navy: #0b346d;
  --bcg-navy-dark: #062653;
  --bcg-gold: #d5ae4f;
  --bcg-gold-dark: #ae7f25;
  --bcg-text: #41536b;
  --bcg-line: rgba(11, 52, 109, 0.13);

  width: 100%;
  padding: 0;

  background: #f5f6f7;
  color: var(--bcg-navy-dark);
}


.benkei-contact-guide__inner {
  width: 100%;
  margin: 0;

  display: grid;
  grid-template-columns:
    1.22fr
    1fr
    1fr;

  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #fbfcfd 55%,
      #f5f7fa 100%
    );

  border-top: 1px solid rgba(213, 174, 79, 0.66);
  border-bottom: 1px solid rgba(213, 174, 79, 0.50);

  box-shadow:
    0 18px 48px rgba(8, 38, 83, 0.08);

  box-sizing: border-box;
}


/* ========================================
   共通項目
======================================== */

.benkei-contact-guide__item {
  position: relative;

  min-width: 0;
  min-height: 270px;
  padding: 46px 54px;

  box-sizing: border-box;
}


/* 縦の区切り線 */
.benkei-contact-guide__item:not(:last-child)::after {
  content: "";

  position: absolute;
  top: 15%;
  right: 0;

  width: 1px;
  height: 70%;

  background: linear-gradient(
    180deg,
    transparent,
    var(--bcg-line) 17%,
    var(--bcg-line) 83%,
    transparent
  );
}


/* 英字ラベル */
.benkei-contact-guide__en {
  display: block;

  margin-bottom: 18px;

  color: var(--bcg-gold-dark);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 11px;
  font-weight: 700;
  line-height: 1;

  letter-spacing: 0.24em;
}


/* ========================================
   左側
======================================== */

.benkei-contact-guide__title {
  margin: 0 0 24px;

  color: var(--bcg-navy-dark);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(30px, 2.5vw, 43px);
  font-weight: 600;
  line-height: 1.35;

  letter-spacing: 0.035em;
}


/* ========================================
   電話・フォーム
======================================== */

.benkei-contact-guide__link {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    58px;

  align-items: center;
  gap: 26px;

  color: inherit;
  text-decoration: none;

  transition:
    background-color 0.3s ease,
    box-shadow 0.3s ease;
}


.benkei-contact-guide__link:hover {
  color: inherit;

  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.96),
      rgba(240, 245, 251, 0.96)
    );

  box-shadow:
    inset 0 -4px 0 rgba(213, 174, 79, 0.78);
}


.benkei-contact-guide__content {
  min-width: 0;
}


/* 小見出し */
.benkei-contact-guide__label {
  margin: 0 0 9px;

  color: var(--bcg-navy);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: clamp(15px, 1.2vw, 19px);
  font-weight: 700;
  line-height: 1.5;
}


/* 電話番号 */
.benkei-contact-guide__phone {
  margin: 0 0 13px;

  color: var(--bcg-navy-dark);

  font-family:
    "Helvetica Neue",
    Arial,
    Helvetica,
    sans-serif;

  font-size: clamp(31px, 2.75vw, 48px);
  font-weight: 700;
  line-height: 1.12;

  letter-spacing: 0.015em;
  white-space: nowrap;
}


/* 24時間受付中 */
.benkei-contact-guide__form-title {
  margin: 0 0 15px;

  color: var(--bcg-navy-dark);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(29px, 2.5vw, 43px);
  font-weight: 600;
  line-height: 1.25;

  letter-spacing: 0.035em;
}


/* 説明 */
.benkei-contact-guide__text {
  margin: 0;

  color: var(--bcg-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size: clamp(13px, 1vw, 15px);
  font-weight: 500;
  line-height: 1.9;

  letter-spacing: 0.025em;
}


/* ========================================
   矢印
======================================== */

.benkei-contact-guide__arrow {
  width: 52px;
  height: 52px;

  display: grid;
  place-items: center;

  color: var(--bcg-navy);

  background: rgba(255, 255, 255, 0.74);

  border: 1px solid rgba(213, 174, 79, 0.95);
  border-radius: 50%;

  box-shadow:
    0 8px 22px rgba(8, 38, 83, 0.08);

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease;
}


.benkei-contact-guide__arrow span {
  display: block;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 24px;
  font-weight: 400;
  line-height: 1;

  transform: translateY(-1px);
}


.benkei-contact-guide__link:hover
.benkei-contact-guide__arrow {
  color: #ffffff;

  background: var(--bcg-navy);
  border-color: var(--bcg-navy);

  transform: translateX(4px);
}


/* ========================================
   タブレット
======================================== */

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

  .benkei-contact-guide__inner {
    grid-template-columns: 1fr 1fr;
  }

  .benkei-contact-guide__intro {
    grid-column: 1 / -1;

    min-height: auto;
    padding: 38px 42px;
  }

  .benkei-contact-guide__intro::after {
    display: none;
  }

  .benkei-contact-guide__item {
    min-height: 235px;
    padding: 38px 40px;
  }

  .benkei-contact-guide__phone {
    font-size: 34px;
  }

}


/* ========================================
   スマホ
======================================== */

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

  .benkei-contact-guide__inner {
    display: block;
  }

  .benkei-contact-guide__item {
    min-height: auto;
    padding: 32px 24px;
  }

  .benkei-contact-guide__item:not(:last-child)::after {
    top: auto;
    right: 24px;
    bottom: 0;
    left: 24px;

    width: auto;
    height: 1px;

    background: linear-gradient(
      90deg,
      transparent,
      var(--bcg-line) 15%,
      var(--bcg-line) 85%,
      transparent
    );
  }

  .benkei-contact-guide__link {
    grid-template-columns:
      minmax(0, 1fr)
      45px;

    gap: 16px;
  }

  .benkei-contact-guide__en {
    margin-bottom: 13px;

    font-size: 9px;
  }

  .benkei-contact-guide__title {
    margin-bottom: 17px;

    font-size: 29px;
  }

  .benkei-contact-guide__label {
    font-size: 15px;
  }

  .benkei-contact-guide__phone {
    margin-bottom: 10px;

    font-size: clamp(29px, 9vw, 38px);
  }

  .benkei-contact-guide__form-title {
    margin-bottom: 10px;

    font-size: 29px;
  }

  .benkei-contact-guide__text {
    font-size: 12.5px;
    line-height: 1.8;
  }

  .benkei-contact-guide__arrow {
    width: 43px;
    height: 43px;
  }

  .benkei-contact-guide__arrow span {
    font-size: 20px;
  }

  .benkei-contact-guide__pc-only {
    display: none;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e064784 *//* ========================================
   PROBLEM HEADING
   WHITE × NAVY × GOLD
======================================== */

.benkei-problem-heading {
  --problem-navy: #0b356f;
  --problem-navy-dark: #062653;
  --problem-gold: #d7b45a;
  --problem-gold-dark: #ad7e27;
  --problem-text: #465a72;

  position: relative;
  overflow: hidden;

  padding: 82px 24px 76px;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(215, 180, 90, 0.12),
      transparent 34%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7f8fa 100%
    );

  color: var(--problem-navy-dark);

  border-top: 1px solid rgba(215, 180, 90, 0.28);
}


/* 背景の薄い装飾 */
.benkei-problem-heading::before {
  content: "SOLUTION";

  position: absolute;
  top: 50%;
  left: 50%;

  color: rgba(11, 53, 111, 0.025);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: clamp(90px, 16vw, 250px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.08em;

  white-space: nowrap;

  transform: translate(-50%, -50%);

  pointer-events: none;
}


.benkei-problem-heading__inner {
  position: relative;
  z-index: 1;

  width: min(100%, 1500px);
  margin: 0 auto;

  text-align: center;
}


/* 英字 */
.benkei-problem-heading__eyebrow {
  margin-bottom: 15px;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}


.benkei-problem-heading__eyebrow span {
  color: var(--problem-gold-dark);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.25em;
}


.benkei-problem-heading__eyebrow i {
  width: 65px;
  height: 1px;

  display: block;

  background: linear-gradient(
    90deg,
    var(--problem-gold),
    transparent
  );
}


/* 小見出し */
.benkei-problem-heading__lead {
  margin: 0 0 34px;

  color: var(--problem-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: clamp(15px, 1.25vw, 19px);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.04em;
}


/* メイン見出し */
.benkei-problem-heading__title {
  margin: 0;

  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;

  gap: 18px 28px;

  color: var(--problem-navy-dark);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(36px, 4vw, 64px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.035em;
}


/* 左右の文章 */
.benkei-problem-heading__title-start,
.benkei-problem-heading__title-end {
  display: inline-block;
}


/* 弁慶部分 */
.benkei-problem-heading__product {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;

  white-space: nowrap;
}


.benkei-problem-heading__product small {
  color: var(--problem-gold-dark);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: clamp(14px, 1.25vw, 20px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}


.benkei-problem-heading__product img {
  width: clamp(450px, 13vw, 220px);
  height: auto;

  display: block;
  object-fit: contain;
}


/* 短いライン */
.benkei-problem-heading__line {
  width: 72px;
  height: 2px;

  margin: 37px auto 24px;

  background: linear-gradient(
    90deg,
    transparent,
    var(--problem-gold),
    transparent
  );
}


/* 補足文 */
.benkei-problem-heading__description {
  margin: 0;

  color: var(--problem-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: clamp(13px, 1.05vw, 16px);
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.025em;
}


/* ========================================
   タブレット
======================================== */

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

  .benkei-problem-heading {
    padding: 68px 28px 64px;
  }

  .benkei-problem-heading__title {
    gap: 13px 20px;
  }

  .benkei-problem-heading__product {
    gap: 11px;
  }

}


/* ========================================
   スマホ
======================================== */

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

  .benkei-problem-heading {
    padding: 54px 18px 48px;
  }

  .benkei-problem-heading::before {
    font-size: 100px;
  }

  .benkei-problem-heading__eyebrow {
    gap: 10px;
  }

  .benkei-problem-heading__eyebrow span {
    font-size: 9px;
  }

  .benkei-problem-heading__eyebrow i {
    width: 50px;
  }

  .benkei-problem-heading__lead {
    margin-bottom: 26px;

    font-size: 13px;
  }

  .benkei-problem-heading__title {
    display: block;

    font-size: clamp(28px, 8.7vw, 39px);
    line-height: 1.55;
  }

  .benkei-problem-heading__title-start,
  .benkei-problem-heading__title-end {
    display: block;
  }

  .benkei-problem-heading__product {
    margin: 9px 0;

    gap: 9px;
  }

  .benkei-problem-heading__product small {
    font-size: 12px;
  }

  .benkei-problem-heading__product img {
    width: 300px;
  }

  .benkei-problem-heading__line {
    width: 55px;

    margin: 27px auto 19px;
  }

  .benkei-problem-heading__description {
    font-size: 12px;
    line-height: 1.8;
  }

  .benkei-problem-heading__description br {
    display: none;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-021ca98 *//* ========================================
   PROBLEM CARDS
   WHITE × NAVY × GOLD
======================================== */

.benkei-problems {
  --problem-navy: #0b356f;
  --problem-navy-dark: #062653;
  --problem-gold: #d8b45b;
  --problem-gold-light: #f2dea0;
  --problem-gold-dark: #aa7d2b;
  --problem-text: #536276;
  --problem-line: rgba(11, 53, 111, 0.12);

  padding: 34px 90px 86px;

  background:
    linear-gradient(
      180deg,
      #f7f8fa 0%,
      #ffffff 100%
    );

  color: var(--problem-navy-dark);
}


.benkei-problems__inner {
  width: min(100%, 1540px);
  margin: 0 auto;
}


/* ========================================
   グリッド
======================================== */

.benkei-problems__grid {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 24px;
}


/* ========================================
   カード
======================================== */

.benkei-problem-card {
  position: relative;

  min-width: 0;
  min-height: 500px;

  overflow: hidden;

  background: #ffffff;

  border:
    1px solid rgba(11, 53, 111, 0.11);

  border-radius: 14px;

  box-shadow:
    0 18px 44px rgba(7, 35, 76, 0.09);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}


.benkei-problem-card:hover {
  transform: translateY(-7px);

  border-color:
    rgba(216, 180, 91, 0.58);

  box-shadow:
    0 26px 58px rgba(7, 35, 76, 0.14);
}


/* カード下部の細いライン */
.benkei-problem-card::after {
  content: "";

  position: absolute;
  left: 0px;
  bottom: 0;

  width: 1000px;
  height: 3px;

  background:
    linear-gradient(
      90deg,
      var(--problem-gold-dark),
      var(--problem-gold-light)
    );
}


/* ========================================
   上部
======================================== */

.benkei-problem-card__head {
  min-height: 144px;
  padding: 27px 28px 25px;

  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;

  background:
    linear-gradient(
      135deg,
      var(--problem-navy-dark) 0%,
      var(--problem-navy) 100%
    );

  box-sizing: border-box;
}


/* PROBLEM・番号 */
.benkei-problem-card__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}


.benkei-problem-card__label {
  margin-bottom: 7px;

  color: rgba(255, 255, 255, 0.62);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 10px;
  font-weight: 700;
  line-height: 1;

  letter-spacing: 0.22em;
}


.benkei-problem-card__number {
  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

  font-size: 46px;
  font-weight: 700;
  line-height: 1;

  background:
    linear-gradient(
      180deg,
      var(--problem-gold-light),
      var(--problem-gold)
    );

  -webkit-background-clip: text;
  background-clip: text;

  color: transparent;
  -webkit-text-fill-color: transparent;
}


/* アイコン */
.benkei-problem-card__icon {
  width: 56px;
  height: 56px;

  flex: 0 0 56px;

  display: grid;
  place-items: center;

  color: var(--problem-gold-light);

  background:
    rgba(255, 255, 255, 0.04);

  border:
    1px solid rgba(216, 180, 91, 0.85);

  border-radius: 50%;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 26px;
  font-weight: 400;
  line-height: 1;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}


/* ========================================
   本文
======================================== */

.benkei-problem-card__body {
  min-height: 356px;
  padding: 33px 29px 38px;

  display: flex;
  flex-direction: column;

  box-sizing: border-box;
}


/* タイトル */
.benkei-problem-card__body h3 {
  min-height: 94px;

  margin: 0 0 24px;

  color: var(--problem-navy-dark);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(23px, 1.65vw, 30px);
  font-weight: 600;
  line-height: 1.55;

  letter-spacing: 0.025em;
}


/* 課題説明 */
.benkei-problem-card__text {
  margin: 0 0 24px;
  padding-top: 21px;

  color: var(--problem-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size: 14px;
  font-weight: 500;
  line-height: 1.9;

  letter-spacing: 0.02em;

  border-top:
    1px solid var(--problem-line);
}


/* 解決方向 */
.benkei-problem-card__answer {
  position: relative;

  margin: auto 0 0;
  padding-left: 17px;

  color: var(--problem-navy);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;

  letter-spacing: 0.025em;
}


.benkei-problem-card__answer::before {
  content: "";

  position: absolute;
  top: 0.38em;
  bottom: 0.38em;
  left: 0;

  width: 3px;

  background: var(--problem-gold);

  border-radius: 999px;
}


/* ========================================
   小さめPC
======================================== */

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

  .benkei-problems__grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 22px;
  }

  .benkei-problem-card {
    min-height: 440px;
  }

  .benkei-problem-card__body {
    min-height: 296px;
  }

  .benkei-problem-card__body h3 {
    min-height: auto;
  }

}


/* ========================================
   スマホ
======================================== */

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

  .benkei-problems {
    padding: 22px 16px 58px;
  }

  .benkei-problems__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .benkei-problem-card {
    min-height: 0;

    border-radius: 11px;
  }

  .benkei-problem-card__head {
    min-height: 105px;
    padding: 21px 21px 19px;
  }

  .benkei-problem-card__number {
    font-size: 38px;
  }

  .benkei-problem-card__icon {
    width: 46px;
    height: 46px;

    flex-basis: 46px;

    font-size: 22px;
  }

  .benkei-problem-card__body {
    min-height: 0;
    padding: 25px 22px 29px;
  }

  .benkei-problem-card__body h3 {
    min-height: 0;

    margin-bottom: 18px;

    font-size: 24px;
    line-height: 1.5;
  }

  .benkei-problem-card__text {
    margin-bottom: 19px;
    padding-top: 17px;

    font-size: 13px;
    line-height: 1.8;
  }

  .benkei-problem-card__answer {
    margin-top: 0;

    font-size: 13.5px;
    line-height: 1.75;
  }

  .benkei-problem-card::after {
    left: 0px;
    width: 4000px;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-062a8ea *//* ========================================
   ABOUT SECTION
   WHITE × NAVY × CHAMPAGNE GOLD
======================================== */

.benkei-about-v2 {
  --about-navy: #0d376f;
  --about-navy-dark: #072653;
  --about-gold: #d5b15a;
  --about-gold-dark: #ae7f2d;
  --about-text: #4c5c70;
  --about-line: rgba(13, 55, 111, 0.13);
  --about-bg: #f7f7f4;

  padding: 92px 30px;

  background:
    radial-gradient(
      circle at 12% 4%,
      rgba(213, 177, 90, 0.11),
      transparent 27%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      var(--about-bg) 100%
    );

  color: var(--about-navy-dark);
}


.benkei-about-v2__inner {
  width: min(100%, 1500px);
  margin: 0 auto;

  display: grid;
  grid-template-columns:
    minmax(0, 0.95fr)
    minmax(0, 1.05fr);

  gap: clamp(54px, 6vw, 90px);
  align-items: start;
}


/* ========================================
   左側
======================================== */

.benkei-about-v2__brand {
  margin-bottom: 26px;
}


.benkei-about-v2__eyebrow {
  margin-bottom: 28px;

  display: flex;
  align-items: center;
  gap: 18px;
}


.benkei-about-v2__eyebrow span {
  color: var(--about-gold-dark);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 12px;
  font-weight: 700;
  line-height: 1;

  letter-spacing: 0.25em;
}


.benkei-about-v2__eyebrow i {
  width: 220px;
  max-width: 45%;
  height: 1px;

  display: block;

  background: linear-gradient(
    90deg,
    var(--about-gold),
    transparent
  );
}


.benkei-about-v2__logo {
  width: min(100%, 570px);
  height: auto;

  display: block;
  object-fit: contain;
}


/* 動画 */
.benkei-about-v2__movie-wrap {
  position: relative;

  width: 100%;
  aspect-ratio: 4 / 3;

  overflow: hidden;

  background: #10141a;

  border-radius: 8px;

  box-shadow:
    0 24px 58px rgba(7, 38, 83, 0.14);
}


.benkei-about-v2__movie {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;
}


.benkei-about-v2__movie-shade {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(4, 20, 42, 0.66) 0%,
      rgba(4, 20, 42, 0.29) 52%,
      rgba(4, 20, 42, 0.04) 100%
    );

  pointer-events: none;
}


.benkei-about-v2__movie-copy {
  position: absolute;
  z-index: 2;

  top: 12%;
  left: 7%;

  margin: 0;

  color: #ffffff;

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(25px, 2.15vw, 38px);
  font-weight: 600;
  line-height: 1.65;

  letter-spacing: 0.035em;

  text-shadow:
    0 4px 18px rgba(0, 0, 0, 0.32);
}


/* ========================================
   右側
======================================== */

.benkei-about-v2__content {
  padding-top: 35px;
}


.benkei-about-v2__label {
  margin: 0 0 18px;

  color: var(--about-gold-dark);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 13px;
  font-weight: 700;
  line-height: 1;

  letter-spacing: 0.22em;
}


.benkei-about-v2__title {
  margin: 0 0 31px;

  color: var(--about-navy-dark);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(37px, 3.5vw, 56px);
  font-weight: 600;
  line-height: 1.48;

  letter-spacing: 0.025em;
}


.benkei-about-v2__description {
  margin-bottom: 38px;
}


.benkei-about-v2__description p {
  margin: 0 0 15px;

  color: var(--about-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size: 15px;
  font-weight: 500;
  line-height: 2;

  letter-spacing: 0.015em;
}


.benkei-about-v2__description strong {
  color: var(--about-gold-dark);
  font-weight: 700;
}


/* ========================================
   特徴
======================================== */

.benkei-about-v2__features {
  border-top: 1px solid var(--about-line);
}


.benkei-about-feature {
  position: relative;

  min-width: 0;
  padding: 23px 4px;

  display: grid;
  grid-template-columns:
    64px minmax(0, 1fr);

  align-items: center;
  gap: 24px;

  border-bottom: 1px solid var(--about-line);
}


/* 番号 */
.benkei-about-feature__number {
  width: 54px;
  height: 54px;

  display: grid;
  place-items: center;

  color: var(--about-gold-dark);

  background:
    rgba(255, 255, 255, 0.62);

  border:
    1px solid rgba(213, 177, 90, 0.68);

  border-radius: 50%;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 13px;
  font-weight: 700;
  line-height: 1;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.94);
}


/* 本文 */
.benkei-about-feature__content h3 {
  margin: 0 0 6px;

  color: var(--about-navy-dark);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: clamp(18px, 1.45vw, 23px);
  font-weight: 800;
  line-height: 1.45;

  letter-spacing: 0.015em;
}


.benkei-about-feature__content p {
  margin: 0;

  color: var(--about-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;
}


/* テラゾー項目 */
.benkei-about-feature--accent {
  margin: 0 -16px;
  padding-right: 20px;
  padding-left: 20px;

  background:
    linear-gradient(
      90deg,
      rgba(213, 177, 90, 0.14),
      rgba(255, 255, 255, 0)
    );
}


.benkei-about-feature--accent
.benkei-about-feature__number {
  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      #dcbc69,
      #ae7f2d
    );

  border-color: transparent;

  box-shadow:
    0 8px 20px rgba(174, 127, 45, 0.18);
}


/* ホバー */
.benkei-about-feature {
  transition:
    background-color 0.25s ease,
    padding-left 0.25s ease;
}


.benkei-about-feature:hover {
  padding-left: 12px;

  background:
    linear-gradient(
      90deg,
      rgba(13, 55, 111, 0.045),
      transparent
    );
}


.benkei-about-feature--accent:hover {
  padding-left: 26px;
}


/* ========================================
   タブレット
======================================== */

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

  .benkei-about-v2 {
    padding: 72px 32px;
  }

  .benkei-about-v2__inner {
    grid-template-columns: 1fr;
    gap: 48px;

    width: min(100%, 860px);
  }

  .benkei-about-v2__logo {
    width: 500px;
  }

  .benkei-about-v2__movie-wrap {
    aspect-ratio: 16 / 9;
  }

  .benkei-about-v2__content {
    padding-top: 0;
  }

  .benkei-about-v2__features {
    display: grid;
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 14px;

    border-top: none;
  }

  .benkei-about-feature {
    min-height: 150px;
    padding: 22px;

    align-items: start;

    background: rgba(255, 255, 255, 0.72);

    border: 1px solid var(--about-line);
    border-radius: 9px;

    box-shadow:
      0 10px 28px rgba(7, 38, 83, 0.05);
  }

  .benkei-about-feature--accent {
    margin: 0;
    padding: 22px;
  }

  .benkei-about-feature:hover,
  .benkei-about-feature--accent:hover {
    padding-left: 22px;
  }

}


/* ========================================
   スマホ
======================================== */

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

  .benkei-about-v2 {
    padding: 54px 18px;
  }

  .benkei-about-v2__eyebrow {
    margin-bottom: 20px;
    gap: 12px;
  }

  .benkei-about-v2__eyebrow span {
    font-size: 9px;
  }

  .benkei-about-v2__eyebrow i {
    width: 100px;
  }

  .benkei-about-v2__logo {
    width: 310px;
  }

  .benkei-about-v2__movie-wrap {
    aspect-ratio: 4 / 3;
    border-radius: 6px;
  }

  .benkei-about-v2__movie-copy {
    top: 9%;
    left: 7%;

    font-size: 23px;
  }

  .benkei-about-v2__label {
    font-size: 10px;
  }

  .benkei-about-v2__title {
    margin-bottom: 23px;

    font-size: 29px;
    line-height: 1.55;
  }

  .benkei-about-v2__description {
    margin-bottom: 29px;
  }

  .benkei-about-v2__description p {
    font-size: 13.5px;
    line-height: 1.9;
  }

  .benkei-about-v2__features {
    display: block;
  }

  .benkei-about-feature,
  .benkei-about-feature--accent {
    min-height: 0;
    margin: 0;
    padding: 19px 0;

    grid-template-columns:
      45px minmax(0, 1fr);

    gap: 14px;

    background: transparent;

    border: none;
    border-bottom: 1px solid var(--about-line);
    border-radius: 0;

    box-shadow: none;
  }

  .benkei-about-feature:first-child {
    border-top: 1px solid var(--about-line);
  }

  .benkei-about-feature:hover,
  .benkei-about-feature--accent:hover {
    padding-left: 0;
  }

  .benkei-about-feature--accent {
    padding-right: 9px;
    padding-left: 9px;

    background:
      linear-gradient(
        90deg,
        rgba(213, 177, 90, 0.13),
        transparent
      );
  }

  .benkei-about-feature--accent:hover {
    padding-left: 9px;
  }

  .benkei-about-feature__number {
    width: 40px;
    height: 40px;

    font-size: 11px;
  }

  .benkei-about-feature__content h3 {
    font-size: 17px;
  }

  .benkei-about-feature__content p {
    font-size: 12px;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e18d6cd *//* ========================================
   VIDEO HEADING
   WHITE × NAVY × CHAMPAGNE GOLD
======================================== */

.benkei-video-heading {
  --video-navy: #0d376f;
  --video-navy-dark: #072653;
  --video-gold: #d7b45b;
  --video-gold-dark: #ad7f2c;
  --video-text: #526176;

  position: relative;
  overflow: hidden;

  padding: 78px 24px 70px;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(215, 180, 91, 0.12),
      transparent 34%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7f8fa 100%
    );

  color: var(--video-navy-dark);

  border-top:
    1px solid rgba(215, 180, 91, 0.28);

  box-sizing: border-box;
}


/* 背景の薄い英字 */
.benkei-video-heading::before {
  content: "VIDEO";

  position: absolute;
  top: 50%;
  left: 50%;

  color: rgba(13, 55, 111, 0.025);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: clamp(110px, 18vw, 270px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.12em;

  white-space: nowrap;

  transform: translate(-50%, -48%);

  pointer-events: none;
}


.benkei-video-heading__inner {
  position: relative;
  z-index: 1;

  width: min(100%, 1450px);
  margin: 0 auto;

  text-align: center;
}


/* VIDEO */
.benkei-video-heading__eyebrow {
  margin-bottom: 30px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 20px;
}


.benkei-video-heading__eyebrow span {
  width: 220px;
  max-width: 20vw;
  height: 1px;

  display: block;

  background: linear-gradient(
    90deg,
    transparent,
    var(--video-gold)
  );
}


.benkei-video-heading__eyebrow span:last-child {
  background: linear-gradient(
    90deg,
    var(--video-gold),
    transparent
  );
}


.benkei-video-heading__eyebrow strong {
  color: var(--video-gold-dark);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 12px;
  font-weight: 700;
  line-height: 1;

  letter-spacing: 0.28em;
}


/* 見出し全体 */
.benkei-video-heading__main {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;

  gap: 28px 54px;
}


/* 動画で見る */
.benkei-video-heading__title {
  margin: 0;

  color: var(--video-navy-dark);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(42px, 4.5vw, 72px);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.045em;
}


/* 弁慶ブランド部分 */
.benkei-video-heading__brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 18px;

  white-space: nowrap;
}


.benkei-video-heading__category {
  color: var(--video-gold-dark);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: clamp(16px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.4;

  letter-spacing: 0.035em;
}


.benkei-video-heading__logo {
  width: clamp(450px, 15vw, 245px);
  height: auto;

  display: block;
  object-fit: contain;
}


/* 説明 */
.benkei-video-heading__lead {
  margin: 32px 0 0;

  color: var(--video-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size: clamp(14px, 1.25vw, 19px);
  font-weight: 500;
  line-height: 1.8;

  letter-spacing: 0.04em;
}


/* 下の短いライン */
.benkei-video-heading__accent {
  width: 72px;
  height: 2px;

  margin: 28px auto 0;

  background: linear-gradient(
    90deg,
    transparent,
    var(--video-gold),
    transparent
  );
}


/* ========================================
   タブレット
======================================== */

/* タブレット */
@media screen and (max-width: 1024px) {

  .benkei-video-heading__main {
    gap: 22px 36px;
  }

  .benkei-video-heading__logo {
    width: clamp(250px, 34vw, 380px);
  }

}



/* ========================================
   スマホ
======================================== */

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

  .benkei-video-heading {
    padding: 52px 18px 46px;
  }

  .benkei-video-heading::before {
    font-size: 120px;
  }

  .benkei-video-heading__eyebrow {
    margin-bottom: 23px;
    gap: 11px;
  }

  .benkei-video-heading__eyebrow span {
    width: 55px;
    max-width: none;
  }

  .benkei-video-heading__eyebrow strong {
    font-size: 9px;
  }

  .benkei-video-heading__main {
    display: block;
  }

  .benkei-video-heading__title {
    margin-bottom: 17px;

    font-size: clamp(34px, 10vw, 47px);
  }

  .benkei-video-heading__brand {
    gap: 10px;
  }

  .benkei-video-heading__category {
    font-size: 13px;
  }

  .benkei-video-heading__logo {
    width: 300px;
  }

  .benkei-video-heading__lead {
    margin-top: 22px;

    font-size: 12.5px;
    line-height: 1.8;
  }

  .benkei-video-heading__accent {
    width: 54px;

    margin-top: 22px;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7163a2d *//* ========================================
   MOVIE GALLERY
   WHITE × NAVY × YELLOW
======================================== */

.benkei-movie-gallery {
  --movie-navy: #082d63;
  --movie-blue: #24549c;
  --movie-yellow: #f5ce1f;
  --movie-yellow-dark: #d6aa00;
  --movie-text: #4c5e75;
  --movie-line: rgba(8, 45, 99, 0.13);

  padding: 54px 90px 90px;

  background:
    radial-gradient(
      circle at 12% 10%,
      rgba(245, 206, 31, 0.08),
      transparent 25%
    ),
    linear-gradient(
      180deg,
      #f7faff 0%,
      #ffffff 100%
    );

  box-sizing: border-box;
}


.benkei-movie-gallery__inner {
  width: min(100%, 1560px);
  margin: 0 auto;
}


.benkei-movie-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}


/* ========================================
   カード
======================================== */

.benkei-movie-item {
  min-width: 0;
  overflow: hidden;

  background: #ffffff;

  border: 1px solid rgba(36, 84, 156, 0.17);
  border-radius: 14px;

  box-shadow:
    0 20px 50px rgba(8, 45, 99, 0.10);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}


.benkei-movie-item:hover {
  transform: translateY(-6px);

  border-color: rgba(36, 84, 156, 0.34);

  box-shadow:
    0 28px 64px rgba(8, 45, 99, 0.15);
}


/* ========================================
   動画エリア
======================================== */

.benkei-movie-item__media {
  position: relative;

  width: 100%;
  aspect-ratio: 16 / 9;

  overflow: hidden;

  background: #e9eef5;
}


.benkei-movie-item__poster {
  width: 100%;
  height: 100%;

  display: block;
  object-fit: cover;

  transition: transform 0.5s ease;
}


.benkei-movie-item:hover
.benkei-movie-item__poster {
  transform: scale(1.025);
}


/* 写真を少し落ち着かせる */
.benkei-movie-item__shade {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      rgba(5, 28, 63, 0.08) 0%,
      rgba(5, 28, 63, 0.18) 55%,
      rgba(5, 28, 63, 0.56) 100%
    );

  pointer-events: none;
}


/* 再生ボタン */
.benkei-movie-item__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;

  width: 78px;
  height: 78px;
  padding: 0;

  display: grid;
  place-items: center;

  color: var(--movie-navy);

  background:
    linear-gradient(
      135deg,
      #ffe770,
      var(--movie-yellow)
    );

  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;

  box-shadow:
    0 12px 34px rgba(0, 0, 0, 0.22),
    0 0 0 9px rgba(255, 255, 255, 0.16);

  cursor: pointer;

  transform: translate(-50%, -50%);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}


.benkei-movie-item__play span {
  width: 0;
  height: 0;

  margin-left: 5px;

  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-left: 17px solid var(--movie-navy);
}


.benkei-movie-item__play:hover {
  transform:
    translate(-50%, -50%)
    scale(1.08);

  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.26),
    0 0 0 12px rgba(255, 255, 255, 0.18);
}


/* PLAY MOVIE */
.benkei-movie-item__play-label {
  position: absolute;
  right: 24px;
  bottom: 20px;
  z-index: 2;

  color: #ffffff;

  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.25em;
}


/* 再生後のvideo */
.benkei-movie-item__media video {
  position: absolute;
  inset: 0;
  z-index: 5;

  width: 100%;
  height: 100%;

  display: block;
  object-fit: contain;

  background: #000000;
}


/* ========================================
   本文
======================================== */

.benkei-movie-item__body {
  min-height: 170px;
  padding: 29px 31px 32px;

  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 22px;

  box-sizing: border-box;
}


/* 番号 */
.benkei-movie-item__number {
  color: rgba(8, 45, 99, 0.12);

  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

  font-size: 54px;
  font-weight: 800;
  line-height: 1;
}


/* 英字 */
.benkei-movie-item__en {
  display: block;

  margin-bottom: 6px;

  color: var(--movie-blue);

  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.22em;
}


/* タイトル */
.benkei-movie-item__content h3 {
  margin: 0 0 12px;

  color: var(--movie-navy);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(24px, 1.8vw, 32px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.035em;
}


/* 説明 */
.benkei-movie-item__content p {
  margin: 0;

  color: var(--movie-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 13px;
  font-weight: 500;
  line-height: 1.85;
}


/* ========================================
   COMING SOON
======================================== */

.benkei-movie-item__placeholder {
  position: absolute;
  inset: 0;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  background:
    linear-gradient(
      135deg,
      #f9fbff 0%,
      #e9f0f8 100%
    );
}


.benkei-movie-item__placeholder::before {
  content: "";

  position: absolute;

  width: 220px;
  height: 220px;

  border: 1px solid rgba(36, 84, 156, 0.10);
  border-radius: 50%;
}


.benkei-movie-item__placeholder-mark {
  position: relative;

  margin-bottom: 13px;

  color: rgba(8, 45, 99, 0.12);

  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

  font-size: 76px;
  font-weight: 800;
  line-height: 1;
}


.benkei-movie-item__placeholder strong {
  position: relative;

  color: var(--movie-blue);

  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.28em;
}


/* ========================================
   タブレット
======================================== */

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

  .benkei-movie-gallery {
    padding: 44px 26px 72px;
  }

  .benkei-movie-gallery__grid {
    gap: 22px;
  }

  .benkei-movie-item__body {
    grid-template-columns: 58px minmax(0, 1fr);

    padding: 25px 25px 28px;
    gap: 17px;
  }

  .benkei-movie-item__number {
    font-size: 45px;
  }

}


/* ========================================
   スマホ
======================================== */

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

  .benkei-movie-gallery {
    padding: 26px 16px 56px;
  }

  .benkei-movie-gallery__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .benkei-movie-item {
    border-radius: 10px;
  }

  .benkei-movie-item__play {
    width: 62px;
    height: 62px;
  }

  .benkei-movie-item__play span {
    border-top-width: 9px;
    border-bottom-width: 9px;
    border-left-width: 14px;
  }

  .benkei-movie-item__play-label {
    right: 16px;
    bottom: 14px;

    font-size: 8px;
  }

  .benkei-movie-item__body {
    min-height: 0;
    padding: 22px 20px 25px;

    grid-template-columns: 49px minmax(0, 1fr);
    gap: 14px;
  }

  .benkei-movie-item__number {
    font-size: 39px;
  }

  .benkei-movie-item__content h3 {
    margin-bottom: 9px;

    font-size: 24px;
  }

  .benkei-movie-item__content p {
    font-size: 12px;
    line-height: 1.75;
  }

  .benkei-movie-item__placeholder-mark {
    font-size: 58px;
  }

}

/* ========================================
   動画サムネイル下の隙間を解消
======================================== */

.benkei-movie-gallery .benkei-movie-item__media {
  position: relative;

  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;

  margin: 0;
  padding: 0;

  overflow: hidden;

  background: #082d63;

  line-height: 0;
}


/* サムネイルを動画枠いっぱいに表示 */
.benkei-movie-gallery .benkei-movie-item__poster {
  position: absolute;
  inset: 0;

  display: block !important;

  width: 100% !important;
  max-width: none !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: cover;
  object-position: center;

  vertical-align: top;

  border: 0;
}


/* 暗いオーバーレイも枠いっぱいに */
.benkei-movie-gallery .benkei-movie-item__shade {
  position: absolute;
  inset: 0;
  z-index: 1;

  width: 100%;
  height: 100%;

  background:
    linear-gradient(
      180deg,
      rgba(5, 28, 63, 0.08) 0%,
      rgba(5, 28, 63, 0.18) 55%,
      rgba(5, 28, 63, 0.56) 100%
    );

  pointer-events: none;
}


/* 再生ボタン */
.benkei-movie-gallery .benkei-movie-item__play {
  z-index: 3;
}


/* PLAY MOVIEを画像の中へ固定 */
.benkei-movie-gallery .benkei-movie-item__play-label {
  position: absolute;
  right: 24px;
  bottom: 20px;
  z-index: 3;

  margin: 0;
  padding: 0;

  color: #fff;

  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.25em;
}


/* 本文との境界に隙間を作らない */
.benkei-movie-gallery .benkei-movie-item__body {
  position: relative;

  margin: 0;
  border-top: 0;

  background: #fff;
}


/* ========================================
   タブレット
======================================== */

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

  .benkei-movie-gallery .benkei-movie-item__media {
    aspect-ratio: 16 / 9;
  }

  .benkei-movie-gallery .benkei-movie-item__play-label {
    right: 18px;
    bottom: 16px;
  }

}


/* ========================================
   スマホ
======================================== */

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

  .benkei-movie-gallery .benkei-movie-item__media {
    aspect-ratio: 16 / 9;
  }

  .benkei-movie-gallery .benkei-movie-item__poster {
    object-position: center;
  }

  .benkei-movie-gallery .benkei-movie-item__play-label {
    right: 14px;
    bottom: 12px;

    font-size: 8px;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d417c4f *//* ========================================
   CONTACT / CASE STUDY
   WHITE × NAVY × YELLOW
======================================== */

.benkei-action-section {
  --action-navy: #082d63;
  --action-blue: #24549c;
  --action-yellow: #f5ce1f;
  --action-yellow-dark: #d7aa00;
  --action-text: #435874;
  --action-line: rgba(8, 45, 99, 0.13);

  position: relative;
  overflow: hidden;

  width: 100%;
  padding: 82px 32px;

  background:
    radial-gradient(
      circle at 84% 18%,
      rgba(36, 84, 156, 0.08),
      transparent 30%
    ),
    radial-gradient(
      circle at 10% 90%,
      rgba(245, 206, 31, 0.10),
      transparent 28%
    ),
    linear-gradient(
      135deg,
      #ffffff 0%,
      #f7faff 100%
    );

  box-sizing: border-box;
}


/* 背景の薄い英字 */
.benkei-action-section::before {
  content: "ACTION";

  position: absolute;
  top: 50%;
  left: 3%;

  color: rgba(8, 45, 99, 0.025);

  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(100px, 16vw, 260px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.03em;

  transform: translateY(-50%);

  pointer-events: none;
}


/* 全体 */
.benkei-action-section__inner {
  position: relative;
  z-index: 1;

  width: min(100%, 1560px);
  margin: 0 auto;

  display: grid;
  grid-template-columns:
    minmax(0, 0.95fr)
    minmax(600px, 1.05fr);

  align-items: center;
  gap: clamp(52px, 6vw, 96px);
}


/* ========================================
   左側
======================================== */

.benkei-action-section__content {
  min-width: 0;
}


/* 英字 */
.benkei-action-section__eyebrow {
  position: relative;

  margin: 0 0 25px;
  padding-left: 72px;

  color: var(--action-blue);

  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.24em;
}


.benkei-action-section__eyebrow::before {
  content: "";

  position: absolute;
  top: 50%;
  left: 0;

  width: 54px;
  height: 2px;

  background: var(--action-yellow);

  transform: translateY(-50%);
}


/* 見出し */
.benkei-action-section__title {
  max-width: 690px;
  margin: 0 0 28px;

  color: var(--action-navy);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(34px, 3vw, 50px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.025em;
}


.benkei-action-section__title-main,
.benkei-action-section__title-accent {
  display: block;
}


/* 黄色のマーカー */
.benkei-action-section__title-accent {
  color: var(--action-blue);

  width: fit-content;

  background:
    linear-gradient(
      transparent 74%,
      rgba(245, 206, 31, 0.30) 74%
    );
}


/* 説明 */
.benkei-action-section__lead {
  margin: 0;

  color: var(--action-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size: 14px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.025em;
}


/* ========================================
   ボタン
======================================== */

.benkei-action-section__links {
  min-width: 0;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 20px;
}


/* 共通カード */
.benkei-action-card {
  position: relative;
  isolation: isolate;

  min-width: 0;
  min-height: 150px;
  padding: 34px 32px;

  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    50px;

  align-items: center;
  gap: 20px;

  overflow: hidden;

  color: var(--action-navy);
  text-decoration: none;

  border-radius: 14px;

  box-sizing: border-box;

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}


/* 黄色カード */
.benkei-action-card--contact {
  background:
    linear-gradient(
      135deg,
      #ffe775 0%,
      var(--action-yellow) 58%,
      #efc200 100%
    );

  border: 1px solid rgba(215, 170, 0, 0.55);

  box-shadow:
    0 18px 42px rgba(205, 163, 0, 0.18);
}


/* 白カード */
.benkei-action-card--case {
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.98),
      rgba(240, 246, 253, 0.96)
    );

  border: 1px solid rgba(36, 84, 156, 0.26);

  box-shadow:
    0 18px 42px rgba(8, 45, 99, 0.09);
}


/* 左の青線 */
.benkei-action-card--case::before {
  content: "";

  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  width: 6px;

  background: linear-gradient(
    180deg,
    var(--action-blue),
    var(--action-navy)
  );
}


/* 背景装飾 */
.benkei-action-card::after {
  content: "";

  position: absolute;
  z-index: -1;

  right: -80px;
  bottom: -105px;

  width: 190px;
  height: 190px;

  border: 1px solid currentColor;
  border-radius: 50%;

  opacity: 0.08;

  transition: transform 0.35s ease;
}


/* 文字 */
.benkei-action-card__text {
  min-width: 0;
}


.benkei-action-card__text small {
  display: block;

  margin-bottom: 12px;

  color: currentColor;

  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.24em;

  opacity: 0.78;
}


.benkei-action-card__text strong {
  display: block;

  color: currentColor;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: clamp(21px, 1.7vw, 29px);
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: 0.02em;
}


/* 矢印 */
.benkei-action-card__arrow {
  width: 48px;
  height: 48px;

  display: grid;
  place-items: center;

  color: var(--action-navy);

  background: rgba(255, 255, 255, 0.34);

  border: 1px solid currentColor;
  border-radius: 50%;

  font-family: Arial, Helvetica, sans-serif;
  font-size: 23px;
  line-height: 1;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}


.benkei-action-card--case
.benkei-action-card__arrow {
  background: rgba(36, 84, 156, 0.04);
}


/* ホバー */
.benkei-action-card:hover {
  color: var(--action-navy);

  transform: translateY(-6px);
}


.benkei-action-card--contact:hover {
  box-shadow:
    0 26px 56px rgba(205, 163, 0, 0.26);
}


.benkei-action-card--case:hover {
  border-color: rgba(36, 84, 156, 0.48);

  box-shadow:
    0 26px 56px rgba(8, 45, 99, 0.14);
}


.benkei-action-card:hover::after {
  transform: scale(1.15);
}


.benkei-action-card:hover
.benkei-action-card__arrow {
  color: #ffffff;

  background: var(--action-navy);

  transform: translateX(4px);
}


/* ========================================
   タブレット
======================================== */

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

  .benkei-action-section {
    padding: 68px 28px;
  }

  .benkei-action-section__inner {
    width: min(100%, 900px);

    grid-template-columns: 1fr;

    gap: 42px;
  }

  .benkei-action-section__content {
    max-width: 720px;
  }

}


/* ========================================
   スマホ
======================================== */

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

  .benkei-action-section {
    padding: 48px 16px;
  }

  .benkei-action-section::before {
    top: 26%;
    left: -12%;

    font-size: 105px;
  }

  .benkei-action-section__inner {
    gap: 29px;
  }

  .benkei-action-section__eyebrow {
    margin-bottom: 19px;
    padding-left: 48px;

    font-size: 8px;
  }

  .benkei-action-section__eyebrow::before {
    width: 35px;
  }

  .benkei-action-section__title {
    max-width: 100%;
    margin-bottom: 20px;

    font-size: clamp(27px, 7.7vw, 34px);
    line-height: 1.65;
    letter-spacing: 0.01em;
  }

  .benkei-action-section__title-accent {
    width: auto;

    background:
      linear-gradient(
        transparent 77%,
        rgba(245, 206, 31, 0.29) 77%
      );
  }

  .benkei-action-section__lead {
    font-size: 12.5px;
    line-height: 1.85;
  }

  .benkei-action-section__pc-break {
    display: none;
  }

  .benkei-action-section__links {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .benkei-action-card {
    min-height: 126px;
    padding: 23px 21px;

    grid-template-columns:
      minmax(0, 1fr)
      42px;

    gap: 15px;

    border-radius: 10px;
  }

  .benkei-action-card__text small {
    margin-bottom: 9px;

    font-size: 8px;
  }

  .benkei-action-card__text strong {
    font-size: 20px;
  }

  .benkei-action-card__arrow {
    width: 40px;
    height: 40px;

    font-size: 20px;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-23c5ff0 *//* ========================================
   WORKS
   WHITE × NAVY × YELLOW
======================================== */

.benkei-works {
  --works-navy: #082d63;
  --works-blue: #24549c;
  --works-yellow: #f5ce1f;
  --works-yellow-dark: #c99d00;
  --works-text: #4b5d74;
  --works-line: rgba(8, 45, 99, 0.13);

  position: relative;
  overflow: hidden;

  padding: 84px 90px 100px;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(245, 206, 31, 0.08),
      transparent 27%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7faff 100%
    );

  color: var(--works-navy);

  box-sizing: border-box;
}


/* 背景英字 */
.benkei-works::before {
  content: "WORKS";

  position: absolute;
  top: 34%;
  left: 50%;

  color: rgba(8, 45, 99, 0.022);

  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(110px, 18vw, 280px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.06em;

  white-space: nowrap;

  transform: translate(-50%, -50%);

  pointer-events: none;
}


.benkei-works__inner {
  position: relative;
  z-index: 1;

  width: min(100%, 1540px);
  margin: 0 auto;
}


/* ========================================
   見出し
======================================== */

.benkei-works__heading {
  margin-bottom: 62px;

  text-align: center;
}


.benkei-works__eyebrow {
  margin-bottom: 25px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 18px;
}


.benkei-works__eyebrow span {
  width: 110px;
  height: 1px;

  background: linear-gradient(
    90deg,
    transparent,
    var(--works-yellow-dark)
  );
}


.benkei-works__eyebrow span:last-child {
  background: linear-gradient(
    90deg,
    var(--works-yellow-dark),
    transparent
  );
}


.benkei-works__eyebrow strong {
  color: var(--works-yellow-dark);

  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.28em;
}


.benkei-works__title {
  margin: 0;

  color: var(--works-navy);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(38px, 4vw, 64px);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.025em;
}


.benkei-works__title span {
  color: var(--works-blue);

  background: linear-gradient(
    transparent 72%,
    rgba(245, 206, 31, 0.30) 72%
  );
}


.benkei-works__lead {
  margin: 25px 0 0;

  color: var(--works-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 15px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.035em;
}


.benkei-works__sp-only {
  display: none;
}


/* ========================================
   グリッド
======================================== */

.benkei-works__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 28px;

  align-items: stretch;
}


/* ========================================
   カード
======================================== */

.benkei-work-card {
  min-width: 0;
  height: 100%;

  overflow: hidden;

  background: #ffffff;

  border: 1px solid rgba(36, 84, 156, 0.15);
  border-radius: 14px;

  box-shadow:
    0 22px 52px rgba(8, 45, 99, 0.10);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}


.benkei-work-card:hover {
  transform: translateY(-7px);

  border-color: rgba(36, 84, 156, 0.33);

  box-shadow:
    0 30px 66px rgba(8, 45, 99, 0.15);
}


/* ========================================
   写真
======================================== */

.benkei-work-card__visual {
  position: relative;

  width: 100%;
  aspect-ratio: 16 / 10;

  overflow: hidden;

  background: #e8edf4;
}


.benkei-work-card__image {
  position: absolute;
  inset: 0;

  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transition: transform 0.55s ease;
}


.benkei-work-card:hover
.benkei-work-card__image {
  transform: scale(1.035);
}


/* 写真下側に薄いグラデーション */
.benkei-work-card__overlay {
  position: absolute;
  inset: 0;

  background: linear-gradient(
    180deg,
    transparent 55%,
    rgba(8, 45, 99, 0.22) 100%
  );

  pointer-events: none;
}


/* CASE番号 */
.benkei-work-card__case {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;

  padding: 11px 17px;

  color: var(--works-navy);

  background: var(--works-yellow);

  border-radius: 2px;

  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.14);

  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.18em;
}


/* ========================================
   本文
======================================== */

.benkei-work-card__body {
  min-height: 500px;
  padding: 31px 31px 35px;

  display: flex;
  flex-direction: column;

  box-sizing: border-box;
}


/* 英字カテゴリー */
.benkei-work-card__category {
  margin: 0 0 14px;

  color: var(--works-yellow-dark);

  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.20em;
}


/* タイトル */
.benkei-work-card__title {
  min-height: 100px;

  margin: 0 0 25px;

  color: var(--works-navy);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(24px, 1.8vw, 31px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.02em;
}


/* ========================================
   詳細
======================================== */

.benkei-work-card__details {
  margin: 0 0 27px;

  border-top: 1px solid var(--works-line);
}


.benkei-work-card__details > div {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);

  gap: 16px;

  padding: 13px 0;

  border-bottom: 1px solid var(--works-line);
}


.benkei-work-card__details dt {
  color: #7a8798;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
}


.benkei-work-card__details dd {
  min-width: 0;
  margin: 0;

  color: var(--works-navy);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
}


/* ========================================
   POINT
======================================== */

.benkei-work-card__point {
  margin-top: auto;
}


.benkei-work-card__point span {
  display: block;

  margin-bottom: 11px;

  color: var(--works-yellow-dark);

  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.24em;
}


.benkei-work-card__point p {
  position: relative;

  margin: 0;
  padding-left: 15px;

  color: var(--works-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 13px;
  font-weight: 500;
  line-height: 1.9;
}


.benkei-work-card__point p::before {
  content: "";

  position: absolute;
  top: 0.35em;
  bottom: 0.35em;
  left: 0;

  width: 3px;

  background: var(--works-yellow);

  border-radius: 999px;
}


/* ========================================
   タブレット
======================================== */

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

  .benkei-works {
    padding: 70px 28px 82px;
  }

  .benkei-works__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 23px;
  }

  .benkei-work-card:last-child {
    grid-column: 1 / -1;

    width: calc(50% - 12px);
    justify-self: center;
  }

  .benkei-work-card__body {
    min-height: 470px;
  }

}


/* ========================================
   スマホ
======================================== */

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

  .benkei-works {
    padding: 54px 16px 62px;
  }

  .benkei-works::before {
    top: 21%;

    font-size: 105px;
  }

  .benkei-works__heading {
    margin-bottom: 35px;
  }

  .benkei-works__eyebrow {
    margin-bottom: 19px;
    gap: 10px;
  }

  .benkei-works__eyebrow span {
    width: 48px;
  }

  .benkei-works__eyebrow strong {
    font-size: 8px;
  }

  .benkei-works__title {
    font-size: clamp(28px, 8.4vw, 39px);
    line-height: 1.55;
  }

  .benkei-works__sp-only {
    display: block;
  }

  .benkei-works__lead {
    margin-top: 18px;

    font-size: 12.5px;
    line-height: 1.8;
  }

  .benkei-works__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .benkei-work-card:last-child {
    grid-column: auto;

    width: 100%;
  }

  .benkei-work-card {
    border-radius: 10px;
  }

  .benkei-work-card__visual {
    aspect-ratio: 16 / 10;
  }

  .benkei-work-card__case {
    top: 14px;
    left: 14px;

    padding: 9px 13px;

    font-size: 8px;
  }

  .benkei-work-card__body {
    min-height: 0;
    padding: 24px 21px 28px;
  }

  .benkei-work-card__category {
    margin-bottom: 10px;

    font-size: 8px;
  }

  .benkei-work-card__title {
    min-height: 0;

    margin-bottom: 20px;

    font-size: 24px;
    line-height: 1.5;
  }

  .benkei-work-card__details {
    margin-bottom: 22px;
  }

  .benkei-work-card__details > div {
    grid-template-columns: 82px minmax(0, 1fr);

    gap: 10px;
    padding: 11px 0;
  }

  .benkei-work-card__details dt {
    font-size: 11px;
  }

  .benkei-work-card__details dd {
    font-size: 12px;
  }

  .benkei-work-card__point p {
    font-size: 12px;
    line-height: 1.8;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-896ebca *//* ========================================
   FEATURES / REASONS
   WHITE × NAVY × YELLOW
======================================== */

.benkei-reasons {
  --reason-navy: #082d63;
  --reason-blue: #24549c;
  --reason-yellow: #f5ce1f;
  --reason-yellow-dark: #c69b00;
  --reason-text: #4b5d74;
  --reason-line: rgba(8, 45, 99, 0.13);

  position: relative;
  overflow: hidden;

  background: #ffffff;
  color: var(--reason-navy);

  box-sizing: border-box;
}


/* ========================================
   見出し
======================================== */

.benkei-reasons__heading {
  position: relative;

  padding: 78px 24px 68px;

  text-align: center;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(245, 206, 31, 0.10),
      transparent 34%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f8faff 100%
    );
}


.benkei-reasons__heading::before {
  content: "FEATURES";

  position: absolute;
  top: 50%;
  left: 50%;

  color: rgba(8, 45, 99, 0.024);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: clamp(95px, 16vw, 240px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.05em;

  white-space: nowrap;

  transform: translate(-50%, -45%);

  pointer-events: none;
}


.benkei-reasons__eyebrow,
.benkei-reasons__title,
.benkei-reasons__lead {
  position: relative;
  z-index: 1;
}


/* FEATURES */
.benkei-reasons__eyebrow {
  margin-bottom: 22px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 18px;
}


.benkei-reasons__eyebrow span {
  width: 115px;
  height: 1px;

  background: linear-gradient(
    90deg,
    transparent,
    var(--reason-yellow-dark)
  );
}


.benkei-reasons__eyebrow span:last-child {
  background: linear-gradient(
    90deg,
    var(--reason-yellow-dark),
    transparent
  );
}


.benkei-reasons__eyebrow strong {
  color: var(--reason-yellow-dark);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 11px;
  font-weight: 700;
  line-height: 1;

  letter-spacing: 0.28em;
}


/* タイトル */
.benkei-reasons__title {
  margin: 0;

  color: var(--reason-navy);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(39px, 4.2vw, 66px);
  font-weight: 600;
  line-height: 1.4;

  letter-spacing: 0.025em;
}


.benkei-reasons__title span {
  color: var(--reason-blue);

  background: linear-gradient(
    transparent 72%,
    rgba(245, 206, 31, 0.33) 72%
  );
}


/* リード文 */
.benkei-reasons__lead {
  margin: 22px auto 0;

  color: var(--reason-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: clamp(14px, 1.25vw, 18px);
  font-weight: 600;
  line-height: 1.9;

  letter-spacing: 0.035em;
}


/* ========================================
   カードエリア
======================================== */

.benkei-reasons__area {
  position: relative;

  padding: 46px 90px 74px;

  background:
    radial-gradient(
      circle at 12% 5%,
      rgba(36, 84, 156, 0.07),
      transparent 25%
    ),
    linear-gradient(
      180deg,
      #f4f8fd 0%,
      #ffffff 100%
    );
}


.benkei-reasons__scroll {
  width: min(100%, 1740px);
  margin: 0 auto;

  overflow: visible;
}


.benkei-reasons__grid {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 22px;
}


/* ========================================
   カード
======================================== */

.benkei-reason-card {
  min-width: 0;
  overflow: hidden;

  background: #ffffff;

  border: 1px solid rgba(36, 84, 156, 0.16);
  border-radius: 14px;

  box-shadow:
    0 20px 48px rgba(8, 45, 99, 0.10);

  scroll-snap-align: start;

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}


.benkei-reason-card:hover {
  transform: translateY(-7px);

  border-color: rgba(36, 84, 156, 0.34);

  box-shadow:
    0 29px 65px rgba(8, 45, 99, 0.15);
}


/* ========================================
   写真
======================================== */

.benkei-reason-card__visual {
  position: relative;

  width: 100%;
  aspect-ratio: 4 / 3;

  overflow: hidden;

  background: #e8eef5;
}


.benkei-reason-card__image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;
  object-position: center;

  transition: transform 0.55s ease;
}


.benkei-reason-card:hover
.benkei-reason-card__image {
  transform: scale(1.035);
}


/* 画像下部グラデーション */
.benkei-reason-card__visual::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      transparent 54%,
      rgba(8, 45, 99, 0.24) 100%
    );

  pointer-events: none;
}


/* 画像上の番号 */
.benkei-reason-card__index {
  position: absolute;
  right: 18px;
  bottom: 15px;
  z-index: 2;

  color: #ffffff;

  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

  font-size: 13px;
  font-weight: 700;
  line-height: 1;

  letter-spacing: 0.15em;

  text-shadow:
    0 3px 12px rgba(0, 0, 0, 0.35);
}


/* ========================================
   本文
======================================== */

.benkei-reason-card__body {
  position: relative;

  min-height: 405px;
  padding: 28px 27px 30px;

  display: flex;
  flex-direction: column;

  box-sizing: border-box;
}


/* タイトル */
.benkei-reason-card__body h3 {
  min-height: 87px;

  margin: 0 0 20px;

  color: var(--reason-navy);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(22px, 1.55vw, 28px);
  font-weight: 600;
  line-height: 1.55;

  letter-spacing: 0.025em;
}


/* アイコン */
.benkei-reason-card__icon {
  width: 50px;
  height: 50px;

  margin-bottom: 18px;

  display: grid;
  place-items: center;

  color: var(--reason-navy);

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #f4f8fd
    );

  border: 1px solid var(--reason-yellow);
  border-radius: 50%;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 23px;
  line-height: 1;

  box-shadow:
    0 9px 24px rgba(8, 45, 99, 0.07);
}


/* キャッチコピー */
.benkei-reason-card__catch {
  margin: 0 0 13px;

  color: var(--reason-blue);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 15px;
  font-weight: 800;
  line-height: 1.7;

  letter-spacing: 0.02em;
}


/* 説明 */
.benkei-reason-card__text {
  margin: 0;

  color: var(--reason-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 13px;
  font-weight: 500;
  line-height: 1.9;
}


/* 下部アクセント */
.benkei-reason-card__accent {
  width: 52px;
  height: 3px;

  margin-top: auto;

  display: block;

  background: linear-gradient(
    90deg,
    var(--reason-yellow),
    rgba(245, 206, 31, 0)
  );
}


/* スワイプ案内 */
.benkei-reasons__swipe {
  display: none;
}


/* ========================================
   小さめPC・タブレット
======================================== */

/* ========================================
   タブレット：横スクロール
======================================== */

@media screen and (min-width: 768px) and (max-width: 1200px) {

  .benkei-reasons__area {
    padding: 38px 0 58px;
  }

  .benkei-reasons__scroll {
    width: 100%;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-snap-type: x mandatory;
    scroll-padding-left: 28px;

    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;

    padding: 0 28px;

    box-sizing: border-box;
  }

  .benkei-reasons__scroll::-webkit-scrollbar {
    display: none;
  }

  .benkei-reasons__grid {
    width: max-content;

    display: flex;
    gap: 20px;
  }

  .benkei-reason-card {
    flex: 0 0 min(54vw, 520px);

    scroll-snap-align: start;
  }

  .benkei-reason-card__visual {
    aspect-ratio: 16 / 10;
  }

  .benkei-reason-card__body {
    min-height: 360px;
  }

  .benkei-reason-card__body h3 {
    min-height: 82px;
  }

  .benkei-reasons__swipe {
    margin: 20px 0 0;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    color: var(--reason-text);

    font-family:
      "Noto Sans JP",
      "Yu Gothic",
      sans-serif;

    font-size: 12px;
    font-weight: 500;
  }

  .benkei-reasons__swipe span {
    color: var(--reason-blue);

    font-size: 19px;
  }

}


/* ========================================
   スマホ
======================================== */

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

  .benkei-reasons__heading {
    padding: 53px 17px 44px;
  }

  .benkei-reasons__heading::before {
    font-size: 100px;
  }

  .benkei-reasons__eyebrow {
    margin-bottom: 18px;
    gap: 10px;
  }

  .benkei-reasons__eyebrow span {
    width: 48px;
  }

  .benkei-reasons__eyebrow strong {
    font-size: 8px;
  }

  .benkei-reasons__title {
    font-size: clamp(29px, 8.8vw, 39px);
    line-height: 1.5;
  }

  .benkei-reasons__lead {
    margin-top: 15px;

    font-size: 12.5px;
    line-height: 1.8;
  }


  .benkei-reasons__area {
    padding: 27px 0 46px;
  }


  .benkei-reasons__scroll {
    width: 100%;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-snap-type: x mandatory;
    scrollbar-width: none;

    -webkit-overflow-scrolling: touch;

    padding: 0 16px;

    box-sizing: border-box;
  }


  .benkei-reasons__scroll::-webkit-scrollbar {
    display: none;
  }


  .benkei-reasons__grid {
    width: max-content;

    display: flex;
    gap: 14px;
  }


  .benkei-reason-card {
    flex: 0 0 min(84vw, 340px);

    border-radius: 11px;
  }


  .benkei-reason-card__visual {
    aspect-ratio: 16 / 10;
  }


  .benkei-reason-card__body {
    min-height: 345px;
    padding: 23px 21px 25px;
  }


  .benkei-reason-card__body h3 {
    min-height: 74px;

    margin-bottom: 16px;

    font-size: 23px;
    line-height: 1.5;
  }


  .benkei-reason-card__icon {
    width: 44px;
    height: 44px;

    margin-bottom: 15px;

    font-size: 20px;
  }


  .benkei-reason-card__catch {
    margin-bottom: 10px;

    font-size: 14px;
  }


  .benkei-reason-card__text {
    font-size: 12px;
    line-height: 1.8;
  }


  .benkei-reason-card__accent {
    width: 45px;
  }


  .benkei-reasons__swipe {
    margin: 18px 0 0;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    color: var(--reason-text);

    font-family:
      "Noto Sans JP",
      "Yu Gothic",
      sans-serif;

    font-size: 11px;
    font-weight: 500;
  }


  .benkei-reasons__swipe span {
    color: var(--reason-blue);

    font-size: 18px;
  }

}
/* ========================================
   FEATURES画像下の空白を完全に解消
======================================== */

.benkei-reasons .benkei-reason-card__visual {
  position: relative;

  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;

  margin: 0;
  padding: 0;

  overflow: hidden;

  background: #e8eef5;

  line-height: 0;
}


/* Elementor・テーマ側の画像設定を上書き */
.benkei-reasons .benkei-reason-card__visual
.benkei-reason-card__image {
  position: absolute !important;
  inset: 0 !important;

  display: block !important;

  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  vertical-align: top !important;

  border: 0 !important;
}


/* 番号を画像内に固定 */
.benkei-reasons .benkei-reason-card__index {
  position: absolute;
  right: 18px;
  bottom: 16px;
  z-index: 3;

  margin: 0;
  padding: 0;

  line-height: 1;
}


/* 画像と本文の境界に隙間を作らない */
.benkei-reasons .benkei-reason-card__body {
  position: relative;

  margin: 0;
  border-top: 0;

  background: #ffffff;
}


/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1200px) {

  .benkei-reasons .benkei-reason-card__visual {
    aspect-ratio: 16 / 10;
  }

}


/* スマホ */
@media screen and (max-width: 767px) {

  .benkei-reasons .benkei-reason-card__visual {
    aspect-ratio: 16 / 10;
  }

  .benkei-reasons .benkei-reason-card__index {
    right: 14px;
    bottom: 12px;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-51d19d7 *//* ========================================
   PROCESS
   WHITE × NAVY × YELLOW
======================================== */

.benkei-process {
  --process-navy: #082d63;
  --process-blue: #24549c;
  --process-yellow: #f5ce1f;
  --process-yellow-dark: #c69b00;
  --process-text: #4c5d74;
  --process-line: rgba(8, 45, 99, 0.13);

  position: relative;
  overflow: hidden;

  padding: 82px 90px 96px;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(245, 206, 31, 0.09),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7faff 100%
    );

  color: var(--process-navy);

  box-sizing: border-box;
}


/* 薄い背景英字 */
.benkei-process::before {
  content: "PROCESS";

  position: absolute;
  top: 48%;
  left: 50%;

  color: rgba(8, 45, 99, 0.022);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: clamp(110px, 18vw, 280px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.05em;

  white-space: nowrap;

  transform: translate(-50%, -50%);

  pointer-events: none;
}


.benkei-process__inner {
  position: relative;
  z-index: 1;

  width: min(100%, 1500px);
  margin: 0 auto;
}


/* ========================================
   見出し
======================================== */

.benkei-process__heading {
  margin-bottom: 58px;

  text-align: center;
}


.benkei-process__eyebrow {
  margin-bottom: 22px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 18px;
}


.benkei-process__eyebrow span {
  width: 110px;
  height: 1px;

  background: linear-gradient(
    90deg,
    transparent,
    var(--process-yellow-dark)
  );
}


.benkei-process__eyebrow span:last-child {
  background: linear-gradient(
    90deg,
    var(--process-yellow-dark),
    transparent
  );
}


.benkei-process__eyebrow strong {
  color: var(--process-yellow-dark);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 11px;
  font-weight: 700;
  line-height: 1;

  letter-spacing: 0.28em;
}


.benkei-process__title {
  margin: 0;

  color: var(--process-navy);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(39px, 4.2vw, 66px);
  font-weight: 600;
  line-height: 1.42;

  letter-spacing: 0.025em;
}


.benkei-process__title span {
  color: var(--process-blue);

  background: linear-gradient(
    transparent 72%,
    rgba(245, 206, 31, 0.34) 72%
  );
}


.benkei-process__lead {
  margin: 21px 0 0;

  color: var(--process-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: clamp(14px, 1.2vw, 18px);
  font-weight: 600;
  line-height: 1.85;

  letter-spacing: 0.03em;
}


/* ========================================
   ステップ一覧
======================================== */

.benkei-process__list {
  position: relative;

  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 28px;
}


/* カード同士をつなぐライン */
.benkei-process__list::before {
  content: "";

  position: absolute;
  top: 59px;
  right: 8%;
  left: 8%;

  height: 2px;

  background: linear-gradient(
    90deg,
    rgba(245, 206, 31, 0),
    rgba(245, 206, 31, 0.82) 10%,
    rgba(245, 206, 31, 0.82) 90%,
    rgba(245, 206, 31, 0)
  );
}


/* ========================================
   カード
======================================== */

.benkei-process-card {
  position: relative;
  z-index: 1;

  min-width: 0;
  min-height: 500px;

  padding: 0 30px 35px;

  display: flex;
  flex-direction: column;
  align-items: center;

  text-align: center;

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fbfcff 100%
    );

  border: 1px solid rgba(36, 84, 156, 0.14);
  border-radius: 14px;

  box-shadow:
    0 20px 48px rgba(8, 45, 99, 0.09);

  box-sizing: border-box;

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}


.benkei-process-card:hover {
  transform: translateY(-7px);

  border-color: rgba(36, 84, 156, 0.33);

  box-shadow:
    0 29px 64px rgba(8, 45, 99, 0.14);
}


/* STEP番号 */
.benkei-process-card__step {
  width: 118px;
  min-height: 114px;

  margin-bottom: 30px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  background:
    linear-gradient(
      160deg,
      var(--process-navy) 0%,
      #061f45 100%
    );

  border-bottom: 4px solid var(--process-yellow);

  box-shadow:
    0 12px 28px rgba(8, 45, 99, 0.18);
}


.benkei-process-card__step small {
  margin-bottom: 6px;

  color: var(--process-yellow);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 9px;
  font-weight: 700;
  line-height: 1;

  letter-spacing: 0.24em;
}


.benkei-process-card__step strong {
  font-family:
    "Helvetica Neue",
    Arial,
    sans-serif;

  font-size: 38px;
  font-weight: 700;
  line-height: 1;
}


/* アイコン */
.benkei-process-card__icon {
  width: 64px;
  height: 64px;

  margin-bottom: 25px;

  display: grid;
  place-items: center;

  color: var(--process-blue);

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #f4f8fd
    );

  border: 1px solid var(--process-yellow);
  border-radius: 50%;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 24px;
  line-height: 1;

  box-shadow:
    0 10px 26px rgba(8, 45, 99, 0.07);
}


/* タイトル */
.benkei-process-card h3 {
  min-height: 86px;

  margin: 0 0 22px;

  color: var(--process-navy);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(23px, 1.7vw, 30px);
  font-weight: 600;
  line-height: 1.55;

  letter-spacing: 0.025em;
}


/* 説明 */
.benkei-process-card p {
  margin: 0;

  color: var(--process-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 13px;
  font-weight: 500;
  line-height: 1.95;

  letter-spacing: 0.015em;
}


/* 下部ライン */
.benkei-process-card::after {
  content: "";

  position: absolute;
  bottom: 0;
  left: 30px;

  width: 54px;
  height: 3px;

  background: linear-gradient(
    90deg,
    var(--process-yellow),
    rgba(245, 206, 31, 0)
  );
}


/* ========================================
   タブレット
======================================== */

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

  .benkei-process {
    padding: 68px 28px 80px;
  }

  .benkei-process__list {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 22px;
  }

  .benkei-process__list::before {
    display: none;
  }

  .benkei-process-card {
    min-height: 440px;
  }

}


/* ========================================
   スマホ
======================================== */

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

  .benkei-process {
    padding: 53px 16px 60px;
  }

  .benkei-process::before {
    top: 28%;

    font-size: 105px;
  }

  .benkei-process__heading {
    margin-bottom: 35px;
  }

  .benkei-process__eyebrow {
    margin-bottom: 18px;
    gap: 10px;
  }

  .benkei-process__eyebrow span {
    width: 48px;
  }

  .benkei-process__eyebrow strong {
    font-size: 8px;
  }

  .benkei-process__title {
    font-size: clamp(29px, 8.8vw, 39px);
    line-height: 1.5;
  }

  .benkei-process__lead {
    margin-top: 15px;

    font-size: 12.5px;
    line-height: 1.8;
  }

  .benkei-process__list {
    grid-template-columns: 1fr;
    gap: 17px;
  }

  .benkei-process-card {
    min-height: 0;
    padding: 0 22px 29px;

    border-radius: 10px;
  }

  .benkei-process-card__step {
    width: 104px;
    min-height: 94px;

    margin-bottom: 23px;
  }

  .benkei-process-card__step strong {
    font-size: 32px;
  }

  .benkei-process-card__icon {
    width: 54px;
    height: 54px;

    margin-bottom: 18px;

    font-size: 21px;
  }

  .benkei-process-card h3 {
    min-height: 0;

    margin-bottom: 16px;

    font-size: 24px;
    line-height: 1.5;
  }

  .benkei-process-card p {
    font-size: 12px;
    line-height: 1.85;
  }

  .benkei-process-card::after {
    left: 22px;
    width: 46px;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a88a2a3 *//* ========================================
   FAQ
   WHITE × NAVY × YELLOW
======================================== */

.benkei-faq {
  --faq-navy: #082d63;
  --faq-blue: #24549c;
  --faq-yellow: #f5ce1f;
  --faq-yellow-dark: #c69b00;
  --faq-text: #4b5d74;
  --faq-line: rgba(8, 45, 99, 0.14);

  position: relative;
  overflow: hidden;

  padding: 82px 90px 96px;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(245, 206, 31, 0.09),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7faff 100%
    );

  color: var(--faq-navy);

  box-sizing: border-box;
}


.benkei-faq::before {
  content: "FAQ";

  position: absolute;
  top: 43%;
  left: 50%;

  color: rgba(8, 45, 99, 0.02);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: clamp(150px, 24vw, 380px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.05em;

  transform: translate(-50%, -50%);

  pointer-events: none;
}


.benkei-faq__inner {
  position: relative;
  z-index: 1;

  width: min(100%, 1560px);
  margin: 0 auto;
}


/* ========================================
   見出し
======================================== */

.benkei-faq__heading {
  margin-bottom: 58px;

  text-align: center;
}


.benkei-faq__eyebrow {
  margin-bottom: 22px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 18px;
}


.benkei-faq__eyebrow span {
  width: 110px;
  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--faq-yellow-dark)
    );
}


.benkei-faq__eyebrow span:last-child {
  background:
    linear-gradient(
      90deg,
      var(--faq-yellow-dark),
      transparent
    );
}


.benkei-faq__eyebrow strong {
  color: var(--faq-yellow-dark);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 11px;
  font-weight: 700;
  line-height: 1;

  letter-spacing: 0.28em;
}


.benkei-faq__title {
  margin: 0;

  color: var(--faq-navy);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(39px, 4.2vw, 66px);
  font-weight: 600;
  line-height: 1.42;

  letter-spacing: 0.025em;
}


.benkei-faq__title span {
  color: var(--faq-blue);

  background:
    linear-gradient(
      transparent 72%,
      rgba(245, 206, 31, 0.34) 72%
    );
}


.benkei-faq__lead {
  margin: 21px 0 0;

  color: var(--faq-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: clamp(14px, 1.2vw, 18px);
  font-weight: 600;
  line-height: 1.85;

  letter-spacing: 0.03em;
}


/* ========================================
   FAQ一覧
======================================== */

.benkei-faq__list {
  border-top: 1px solid var(--faq-line);
}


.benkei-faq-item {
  border-bottom: 1px solid var(--faq-line);
}


/* 質問ボタン */
.benkei-faq-item__question {
  width: 100%;
  min-height: 128px;

  padding: 24px 22px 24px 14px;

  display: grid;
  grid-template-columns:
    62px
    minmax(0, 1fr)
    48px;

  align-items: center;
  gap: 25px;

  color: var(--faq-navy);

  background: transparent;

  border: 0;

  text-align: left;
  cursor: pointer;

  box-sizing: border-box;

  transition:
    background-color 0.25s ease;
}


.benkei-faq-item__question:hover {
  background:
    linear-gradient(
      90deg,
      rgba(36, 84, 156, 0.045),
      rgba(245, 206, 31, 0.045)
    );
}


/* Q */
.benkei-faq-item__mark {
  width: 58px;
  height: 58px;

  display: grid;
  place-items: center;

  color: var(--faq-blue);

  background: #ffffff;

  border: 1px solid var(--faq-yellow);
  border-radius: 50%;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 22px;
  font-weight: 700;
  line-height: 1;

  box-shadow:
    0 9px 24px rgba(8, 45, 99, 0.06);
}


/* 質問文 */
.benkei-faq-item__question-text {
  min-width: 0;

  color: var(--faq-navy);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(21px, 1.75vw, 29px);
  font-weight: 600;
  line-height: 1.6;

  letter-spacing: 0.025em;
}


/* 開閉アイコン */
.benkei-faq-item__toggle {
  position: relative;

  width: 44px;
  height: 44px;

  display: block;

  border: 1px solid var(--faq-yellow);
  border-radius: 50%;

  background: #ffffff;

  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}


.benkei-faq-item__toggle i {
  position: absolute;
  top: 50%;
  left: 50%;

  display: block;

  background: var(--faq-blue);

  transform: translate(-50%, -50%);

  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}


.benkei-faq-item__toggle i:first-child {
  width: 16px;
  height: 1px;
}


.benkei-faq-item__toggle i:last-child {
  width: 1px;
  height: 16px;
}


/* 開いた状態 */
.benkei-faq-item.is-open
.benkei-faq-item__question {
  background:
    linear-gradient(
      90deg,
      rgba(36, 84, 156, 0.055),
      rgba(245, 206, 31, 0.055)
    );
}


.benkei-faq-item.is-open
.benkei-faq-item__toggle {
  background: var(--faq-navy);
  border-color: var(--faq-navy);

  transform: rotate(180deg);
}


.benkei-faq-item.is-open
.benkei-faq-item__toggle i {
  background: #ffffff;
}


.benkei-faq-item.is-open
.benkei-faq-item__toggle i:last-child {
  opacity: 0;

  transform:
    translate(-50%, -50%)
    rotate(90deg);
}


/* ========================================
   回答
======================================== */

.benkei-faq-item__answer {
  display: grid;
  grid-template-rows: 0fr;

  opacity: 0;

  transition:
    grid-template-rows 0.38s ease,
    opacity 0.3s ease;
}


.benkei-faq-item.is-open
.benkei-faq-item__answer {
  grid-template-rows: 1fr;

  opacity: 1;
}


.benkei-faq-item__answer-inner {
  min-height: 0;
  overflow: hidden;

  padding: 0 88px 0 101px;

  display: grid;
  grid-template-columns:
    46px
    minmax(0, 1fr);

  gap: 22px;

  box-sizing: border-box;

  transition:
    padding-top 0.38s ease,
    padding-bottom 0.38s ease;
}


.benkei-faq-item.is-open
.benkei-faq-item__answer-inner {
  padding-top: 4px;
  padding-bottom: 34px;
}


/* A */
.benkei-faq-item__answer-mark {
  width: 42px;
  height: 42px;

  display: grid;
  place-items: center;

  color: var(--faq-navy);

  background: var(--faq-yellow);

  border-radius: 50%;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}


.benkei-faq-item__answer p {
  margin: 4px 0 0;

  color: var(--faq-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 14px;
  font-weight: 500;
  line-height: 2;

  letter-spacing: 0.02em;
}


/* ========================================
   お問い合わせ
======================================== */

.benkei-faq__contact {
  margin-top: 56px;
  padding: 34px 42px;

  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;

  gap: 15px 36px;

  text-align: center;

  background:
    linear-gradient(
      135deg,
      var(--faq-navy),
      #0d4387
    );

  border-radius: 12px;

  box-shadow:
    0 20px 48px rgba(8, 45, 99, 0.16);
}


.benkei-faq__contact p {
  margin: 0;

  color: rgba(255, 255, 255, 0.74);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 14px;
  font-weight: 600;
  line-height: 1.8;
}


.benkei-faq__contact a {
  display: inline-flex;
  align-items: center;

  gap: 17px;

  color: var(--faq-yellow);

  text-decoration: none;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 17px;
  font-weight: 800;
  line-height: 1.5;

  transition:
    color 0.25s ease,
    transform 0.25s ease;
}


.benkei-faq__contact a:hover {
  color: #ffffff;

  transform: translateX(4px);
}


.benkei-faq__contact a i {
  font-style: normal;
  font-size: 21px;
}


/* ========================================
   タブレット
======================================== */

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

  .benkei-faq {
    padding: 68px 28px 80px;
  }

  .benkei-faq-item__question {
    min-height: 112px;

    grid-template-columns:
      56px
      minmax(0, 1fr)
      44px;

    gap: 20px;
  }

  .benkei-faq-item__mark {
    width: 52px;
    height: 52px;
  }

  .benkei-faq-item__answer-inner {
    padding-right: 74px;
    padding-left: 90px;
  }

}


/* ========================================
   スマホ
======================================== */

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

  .benkei-faq {
    padding: 53px 16px 60px;
  }

  .benkei-faq::before {
    top: 25%;

    font-size: 150px;
  }

  .benkei-faq__heading {
    margin-bottom: 35px;
  }

  .benkei-faq__eyebrow {
    margin-bottom: 18px;

    gap: 10px;
  }

  .benkei-faq__eyebrow span {
    width: 48px;
  }

  .benkei-faq__eyebrow strong {
    font-size: 8px;
  }

  .benkei-faq__title {
    font-size: clamp(29px, 8.8vw, 39px);
    line-height: 1.5;
  }

  .benkei-faq__lead {
    margin-top: 15px;

    font-size: 12.5px;
    line-height: 1.8;
  }


  .benkei-faq-item__question {
    min-height: 94px;

    padding: 18px 2px;

    grid-template-columns:
      42px
      minmax(0, 1fr)
      36px;

    gap: 12px;
  }


  .benkei-faq-item__mark {
    width: 40px;
    height: 40px;

    font-size: 17px;
  }


  .benkei-faq-item__question-text {
    font-size: 16px;
    line-height: 1.65;
  }


  .benkei-faq-item__toggle {
    width: 34px;
    height: 34px;
  }


  .benkei-faq-item__toggle i:first-child {
    width: 13px;
  }


  .benkei-faq-item__toggle i:last-child {
    height: 13px;
  }


  .benkei-faq-item__answer-inner {
    padding-right: 4px;
    padding-left: 52px;

    grid-template-columns:
      35px
      minmax(0, 1fr);

    gap: 12px;
  }


  .benkei-faq-item.is-open
  .benkei-faq-item__answer-inner {
    padding-top: 2px;
    padding-bottom: 25px;
  }


  .benkei-faq-item__answer-mark {
    width: 33px;
    height: 33px;

    font-size: 15px;
  }


  .benkei-faq-item__answer p {
    margin-top: 0;

    font-size: 12px;
    line-height: 1.85;
  }


  .benkei-faq__contact {
    margin-top: 38px;
    padding: 27px 22px;

    display: block;

    border-radius: 9px;
  }


  .benkei-faq__contact p {
    margin-bottom: 13px;

    font-size: 12px;
  }


  .benkei-faq__contact a {
    font-size: 15px;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8433ee4 *//* ========================================
   CONTACT HEADING
   WHITE × NAVY × YELLOW
======================================== */

.benkei-contact-heading {
  --contact-navy: #082d63;
  --contact-blue: #24549c;
  --contact-yellow: #f5ce1f;
  --contact-yellow-dark: #c69b00;
  --contact-text: #4c5d74;

  position: relative;
  overflow: hidden;

  padding: 82px 24px 70px;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(245, 206, 31, 0.10),
      transparent 33%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7faff 100%
    );

  color: var(--contact-navy);

  box-sizing: border-box;
}


/* 薄い背景英字 */
.benkei-contact-heading::before {
  content: "CONTACT";

  position: absolute;
  top: 54%;
  left: 50%;

  color: rgba(8, 45, 99, 0.022);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: clamp(100px, 17vw, 260px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.05em;

  white-space: nowrap;

  transform: translate(-50%, -50%);

  pointer-events: none;
}


.benkei-contact-heading__inner {
  position: relative;
  z-index: 1;

  width: min(100%, 1300px);
  margin: 0 auto;

  text-align: center;
}


/* CONTACT */
.benkei-contact-heading__eyebrow {
  margin-bottom: 24px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 18px;
}


.benkei-contact-heading__eyebrow span {
  width: 115px;
  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--contact-yellow-dark)
    );
}


.benkei-contact-heading__eyebrow span:last-child {
  background:
    linear-gradient(
      90deg,
      var(--contact-yellow-dark),
      transparent
    );
}


.benkei-contact-heading__eyebrow strong {
  color: var(--contact-yellow-dark);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 11px;
  font-weight: 700;
  line-height: 1;

  letter-spacing: 0.28em;
}


/* 見出し */
.benkei-contact-heading__title {
  margin: 0;

  color: var(--contact-navy);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(38px, 4vw, 64px);
  font-weight: 600;
  line-height: 1.5;

  letter-spacing: 0.025em;
}


.benkei-contact-heading__title span {
  color: var(--contact-blue);

  background:
    linear-gradient(
      transparent 72%,
      rgba(245, 206, 31, 0.34) 72%
    );
}


/* メイン説明 */
.benkei-contact-heading__lead {
  margin: 28px auto 0;

  color: var(--contact-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size: clamp(14px, 1.2vw, 18px);
  font-weight: 600;
  line-height: 2;

  letter-spacing: 0.025em;
}


/* 補足 */
.benkei-contact-heading__note {
  margin: 18px auto 0;

  color: rgba(76, 93, 116, 0.72);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;

  letter-spacing: 0.02em;
}


/* 下部ライン */
.benkei-contact-heading__inner::after {
  content: "";

  width: 68px;
  height: 2px;

  margin: 28px auto 0;

  display: block;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--contact-yellow),
      transparent
    );
}


/* ========================================
   タブレット
======================================== */

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

  .benkei-contact-heading {
    padding: 68px 28px 58px;
  }

  .benkei-contact-heading__title {
    font-size: clamp(34px, 5.5vw, 50px);
  }

}


/* ========================================
   スマホ
======================================== */

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

  .benkei-contact-heading {
    padding: 52px 17px 46px;
  }

  .benkei-contact-heading::before {
    top: 47%;

    font-size: 95px;
  }

  .benkei-contact-heading__eyebrow {
    margin-bottom: 18px;

    gap: 10px;
  }

  .benkei-contact-heading__eyebrow span {
    width: 48px;
  }

  .benkei-contact-heading__eyebrow strong {
    font-size: 8px;
  }

  .benkei-contact-heading__title {
    font-size: clamp(24px, 8.4vw, 20px);
    line-height: 1.6;
  }

  .benkei-contact-heading__lead {
    margin-top: 20px;

    font-size: 12.5px;
    line-height: 1.85;
  }

  .benkei-contact-heading__lead br {
    display: none;
  }

  .benkei-contact-heading__note {
    margin-top: 14px;

    font-size: 11.5px;
    line-height: 1.8;
  }

  .benkei-contact-heading__inner::after {
    width: 52px;

    margin-top: 22px;
  }

}/* End custom CSS */
/* Start custom CSS for elementskit-contact-form7, class: .elementor-element-657ccbd *//* ========================================
   CF7 HGE2500RX CONTACT FORM
   WHITE × NAVY × YELLOW
======================================== */

.wpcf7 {
  --cf7-navy: #082d63;
  --cf7-blue: #24549c;
  --cf7-yellow: #f5ce1f;
  --cf7-yellow-dark: #d2a700;
  --cf7-text: #4c5d74;
  --cf7-line: rgba(8, 45, 99, 0.14);
  --cf7-bg: #f7faff;

  width: min(100%, 980px);
  margin: 0 auto;
}


/* フォーム全体 */
.wpcf7 form {
  position: relative;
  overflow: hidden;

  padding: 52px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(36, 84, 156, 0.07),
      transparent 28%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fbfdff 100%
    );

  border: 1px solid rgba(36, 84, 156, 0.14);
  border-radius: 16px;

  box-shadow:
    0 24px 60px rgba(8, 45, 99, 0.10);

  box-sizing: border-box;
}


/* 左上のアクセント */
.wpcf7 form::before {
  content: "";

  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 5px;

  background:
    linear-gradient(
      90deg,
      var(--cf7-blue) 0%,
      var(--cf7-yellow) 52%,
      rgba(245, 206, 31, 0) 100%
    );
}


/* ラベル */
.wpcf7 label {
  display: block;

  margin-bottom: 26px;

  color: var(--cf7-navy);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;

  letter-spacing: 0.02em;
}


/* 必須マークを使っている場合 */
.wpcf7 .required,
.wpcf7 .must {
  display: inline-block;

  margin-left: 7px;
  padding: 2px 7px;

  color: var(--cf7-navy);

  background: var(--cf7-yellow);

  border-radius: 999px;

  font-size: 10px;
  font-weight: 800;
  line-height: 1.5;
}


/* 入力欄 */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;

  margin-top: 9px;
  padding: 15px 17px;

  color: var(--cf7-navy);

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f8fbff 100%
    );

  border: 1px solid rgba(8, 45, 99, 0.18);
  border-radius: 9px;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;

  box-shadow:
    inset 0 1px 2px rgba(8, 45, 99, 0.03);

  box-sizing: border-box;

  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease;
}


/* プレースホルダー */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: rgba(76, 93, 116, 0.48);
}


/* セレクト */
.wpcf7 select {
  appearance: none;
  -webkit-appearance: none;

  padding-right: 48px;

  background-image:
    linear-gradient(
      45deg,
      transparent 50%,
      var(--cf7-blue) 50%
    ),
    linear-gradient(
      135deg,
      var(--cf7-blue) 50%,
      transparent 50%
    );

  background-position:
    calc(100% - 21px) 50%,
    calc(100% - 15px) 50%;

  background-size:
    6px 6px,
    6px 6px;

  background-repeat: no-repeat;
}


/* テキストエリア */
.wpcf7 textarea {
  min-height: 190px;
  resize: vertical;
}


/* フォーカス */
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 input[type="date"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  outline: none;

  background: #ffffff;

  border-color: var(--cf7-blue);

  box-shadow:
    0 0 0 4px rgba(36, 84, 156, 0.11),
    0 8px 20px rgba(8, 45, 99, 0.06);
}


/* チェックボックス・ラジオ */
.wpcf7 .wpcf7-list-item {
  margin: 8px 20px 8px 0;
}


.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"] {
  width: 18px;
  height: 18px;

  margin: 0 8px 0 0;

  accent-color: var(--cf7-blue);

  vertical-align: -3px;
}


/* ========================================
   送信ボタン
======================================== */

.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"],
.wpcf7 .wpcf7-submit {
  width: 100%;

  margin-top: 14px;
  padding: 18px 26px !important;

  color: var(--cf7-navy) !important;

  background:
    linear-gradient(
      135deg,
      #ffe778 0%,
      var(--cf7-yellow) 56%,
      #edc100 100%
    ) !important;

  border: 1px solid rgba(210, 167, 0, 0.65) !important;
  border-radius: 10px !important;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif !important;

  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;

  letter-spacing: 0.06em;

  cursor: pointer;

  box-shadow:
    0 14px 32px rgba(203, 162, 0, 0.20),
    inset 0 1px 0 rgba(255, 255, 255, 0.45);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    filter 0.25s ease;
}


.wpcf7 input[type="submit"]:hover,
.wpcf7 button[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover {
  transform: translateY(-3px);

  filter: brightness(1.03);

  box-shadow:
    0 20px 42px rgba(203, 162, 0, 0.27),
    inset 0 1px 0 rgba(255, 255, 255, 0.48);
}


.wpcf7 input[type="submit"]:active,
.wpcf7 button[type="submit"]:active,
.wpcf7 .wpcf7-submit:active {
  transform: translateY(0);
}


/* 送信中 */
.wpcf7 form.submitting .wpcf7-submit {
  opacity: 0.65;
  cursor: wait;
}


/* スピナー */
.wpcf7 .wpcf7-spinner {
  display: block;

  margin: 15px auto 0;

  background-color: var(--cf7-blue);
}


/* ========================================
   エラー・送信結果
======================================== */

.wpcf7-not-valid-tip {
  margin-top: 7px;

  color: #b42318;

  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
}


.wpcf7 .wpcf7-not-valid {
  border-color: rgba(180, 35, 24, 0.6);
  background: #fffafa;
}


.wpcf7-response-output {
  margin: 24px 0 0 !important;
  padding: 16px 18px !important;

  color: var(--cf7-navy);

  background: #ffffff;

  border: 1px solid var(--cf7-line) !important;
  border-radius: 9px;

  font-size: 13px;
  font-weight: 600;
  line-height: 1.8;

  box-shadow:
    0 10px 26px rgba(8, 45, 99, 0.06);
}


.wpcf7 form.sent .wpcf7-response-output {
  border-color: rgba(36, 84, 156, 0.45) !important;

  background:
    linear-gradient(
      90deg,
      rgba(36, 84, 156, 0.07),
      rgba(245, 206, 31, 0.08)
    );
}


.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  border-color: rgba(180, 35, 24, 0.42) !important;
  background: #fffafa;
}


/* ========================================
   タブレット
======================================== */

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

  .wpcf7 {
    width: min(100%, 840px);
  }

  .wpcf7 form {
    padding: 42px;
  }

}


/* ========================================
   スマホ
======================================== */

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

  .wpcf7 {
    width: 100%;
  }

  .wpcf7 form {
    padding: 31px 20px 26px;

    border-radius: 11px;
  }

  .wpcf7 label {
    margin-bottom: 21px;

    font-size: 13px;
  }

  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 input[type="tel"],
  .wpcf7 input[type="url"],
  .wpcf7 input[type="number"],
  .wpcf7 input[type="date"],
  .wpcf7 select,
  .wpcf7 textarea {
    padding: 14px 14px;

    font-size: 16px;
  }

  .wpcf7 textarea {
    min-height: 160px;
  }

  .wpcf7 input[type="submit"],
  .wpcf7 button[type="submit"],
  .wpcf7 .wpcf7-submit {
    padding: 16px 20px !important;

    font-size: 16px !important;
  }

  .wpcf7-response-output {
    font-size: 12px;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-03446c7 *//* ========================================
   COMPANY / FOOTER
   WHITE × NAVY × YELLOW
======================================== */

.benkei-company-footer {
  --company-navy: #082d63;
  --company-blue: #24549c;
  --company-yellow: #f5ce1f;
  --company-yellow-dark: #c89d00;
  --company-text: #4b5d74;
  --company-line: rgba(8, 45, 99, 0.14);

  position: relative;
  overflow: hidden;

  width: 100%;
  padding: 80px 90px 30px;

  color: var(--company-navy);

  background:
    radial-gradient(
      circle at 83% 13%,
      rgba(36, 84, 156, 0.08),
      transparent 26%
    ),
    radial-gradient(
      circle at 8% 82%,
      rgba(245, 206, 31, 0.09),
      transparent 24%
    ),
    linear-gradient(
      135deg,
      #ffffff 0%,
      #f6f9fe 100%
    );

  border-top: 1px solid rgba(36, 84, 156, 0.12);

  box-sizing: border-box;
}


/* 背景の薄い文字 */
.benkei-company-footer::before {
  content: "NANKO";

  position: absolute;
  top: 47%;
  left: 50%;

  color: rgba(8, 45, 99, 0.022);

  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(120px, 20vw, 320px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.04em;

  white-space: nowrap;

  transform: translate(-50%, -50%);

  pointer-events: none;
}


.benkei-company-footer__inner {
  position: relative;
  z-index: 1;

  width: min(100%, 1600px);
  margin: 0 auto;
}


/* ========================================
   見出し
======================================== */

.benkei-company-footer__heading {
  max-width: 840px;
  margin-bottom: 52px;
}


.benkei-company-footer__eyebrow {
  margin: 0 0 22px;

  display: flex;
  align-items: center;
  gap: 15px;

  color: var(--company-blue);

  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.25em;
}


.benkei-company-footer__eyebrow span {
  width: 52px;
  height: 2px;

  background: var(--company-yellow);
}


.benkei-company-footer__title {
  margin: 0 0 20px;

  color: var(--company-navy);

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(38px, 3.6vw, 58px);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.025em;
}


.benkei-company-footer__lead {
  margin: 0;

  color: var(--company-text);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 15px;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 0.025em;
}


/* ========================================
   中央レイアウト
======================================== */

.benkei-company-footer__main {
  display: grid;
  grid-template-columns:
    minmax(0, 1.18fr)
    minmax(500px, 0.82fr);

  gap: clamp(48px, 6vw, 96px);
  align-items: stretch;
}


/* ========================================
   会社情報
======================================== */

.benkei-company-footer__info {
  border-top: 1px solid var(--company-line);
}


.benkei-company-footer__row {
  margin: 0;
  padding: 24px 0;

  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 26px;

  border-bottom: 1px solid var(--company-line);
}


.benkei-company-footer__row dt {
  color: var(--company-blue);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 13px;
  font-weight: 800;
  line-height: 1.7;
}


.benkei-company-footer__row dd {
  min-width: 0;
  margin: 0;

  color: var(--company-navy);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 15px;
  font-weight: 600;
  line-height: 1.8;
}


.benkei-company-footer__row a {
  color: var(--company-navy);
  text-decoration: none;

  transition: color 0.25s ease;
}


.benkei-company-footer__row a:hover {
  color: var(--company-blue);
}


/* ========================================
   リンクカード
======================================== */

.benkei-company-footer__links {
  display: grid;
  gap: 16px;
}


.benkei-company-link {
  position: relative;
  isolation: isolate;

  min-height: 155px;
  padding: 29px 30px;

  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    48px;

  align-items: center;
  gap: 22px;

  overflow: hidden;

  color: var(--company-navy);
  text-decoration: none;

  border-radius: 12px;

  box-sizing: border-box;

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}


/* 公式サイト */
.benkei-company-link--site {
  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #edf4fc 100%
    );

  border: 1px solid rgba(36, 84, 156, 0.24);

  box-shadow:
    0 16px 38px rgba(8, 45, 99, 0.08);
}


.benkei-company-link--site::before {
  content: "";

  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  width: 6px;

  background: linear-gradient(
    180deg,
    var(--company-blue),
    var(--company-navy)
  );
}


/* お問い合わせ */
.benkei-company-link--contact {
  background:
    linear-gradient(
      135deg,
      #ffe675 0%,
      var(--company-yellow) 58%,
      #efc000 100%
    );

  border: 1px solid rgba(200, 157, 0, 0.52);

  box-shadow:
    0 16px 38px rgba(200, 157, 0, 0.17);
}


/* 装飾円 */
.benkei-company-link::after {
  content: "";

  position: absolute;
  z-index: -1;

  right: -64px;
  bottom: -96px;

  width: 180px;
  height: 180px;

  border: 1px solid currentColor;
  border-radius: 50%;

  opacity: 0.08;

  transition: transform 0.35s ease;
}


.benkei-company-link__text {
  min-width: 0;
}


.benkei-company-link__text small {
  display: block;

  margin-bottom: 10px;

  color: var(--company-blue);

  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.23em;
}


.benkei-company-link--contact
.benkei-company-link__text small {
  color: var(--company-navy);
  opacity: 0.75;
}


.benkei-company-link__text strong {
  display: block;

  color: var(--company-navy);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: clamp(21px, 1.65vw, 28px);
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: 0.02em;
}


/* 矢印 */
.benkei-company-link__arrow {
  width: 46px;
  height: 46px;

  display: grid;
  place-items: center;

  color: var(--company-navy);

  background: rgba(255, 255, 255, 0.42);

  border: 1px solid currentColor;
  border-radius: 50%;

  font-family: Arial, Helvetica, sans-serif;
  font-size: 22px;
  line-height: 1;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}


.benkei-company-link:hover {
  color: var(--company-navy);

  transform: translateY(-5px);
}


.benkei-company-link--site:hover {
  border-color: rgba(36, 84, 156, 0.45);

  box-shadow:
    0 24px 52px rgba(8, 45, 99, 0.13);
}


.benkei-company-link--contact:hover {
  box-shadow:
    0 24px 52px rgba(200, 157, 0, 0.25);
}


.benkei-company-link:hover::after {
  transform: scale(1.15);
}


.benkei-company-link:hover
.benkei-company-link__arrow {
  color: #ffffff;

  background: var(--company-navy);

  transform: translateX(4px);
}


/* ========================================
   最下部
======================================== */

.benkei-company-footer__bottom {
  margin-top: 64px;
  padding-top: 25px;

  display: flex;
  align-items: flex-end;
  justify-content: space-between;

  gap: 30px;

  border-top: 1px solid var(--company-line);
}


.benkei-company-footer__brand span {
  display: block;

  margin-bottom: 7px;

  color: var(--company-blue);

  font-family: Arial, Helvetica, sans-serif;
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.22em;
}


.benkei-company-footer__brand strong {
  display: block;

  color: var(--company-navy);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}


.benkei-company-footer__copyright {
  margin: 0;

  color: rgba(75, 93, 116, 0.72);

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  font-size: 11px;
  font-weight: 500;
}


/* ========================================
   タブレット
======================================== */

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

  .benkei-company-footer {
    padding: 68px 28px 28px;
  }

  .benkei-company-footer__main {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .benkei-company-footer__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}


/* ========================================
   スマホ
======================================== */

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

  .benkei-company-footer {
    padding: 52px 17px 24px;
  }

  .benkei-company-footer::before {
    top: 38%;

    font-size: 115px;
  }

  .benkei-company-footer__heading {
    margin-bottom: 35px;
  }

  .benkei-company-footer__eyebrow {
    margin-bottom: 17px;

    font-size: 8px;
  }

  .benkei-company-footer__eyebrow span {
    width: 36px;
  }

  .benkei-company-footer__title {
    margin-bottom: 15px;

    font-size: 30px;
    line-height: 1.5;
  }

  .benkei-company-footer__lead {
    font-size: 12.5px;
    line-height: 1.85;
  }

  .benkei-company-footer__sp-only {
    display: block;
  }

  .benkei-company-footer__main {
    gap: 31px;
  }

  .benkei-company-footer__row {
    padding: 18px 0;

    grid-template-columns: 90px minmax(0, 1fr);
    gap: 14px;
  }

  .benkei-company-footer__row dt {
    font-size: 11px;
  }

  .benkei-company-footer__row dd {
    font-size: 12.5px;
    line-height: 1.75;
  }

  .benkei-company-footer__links {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .benkei-company-link {
    min-height: 126px;
    padding: 23px 21px;

    grid-template-columns:
      minmax(0, 1fr)
      41px;

    gap: 15px;

    border-radius: 9px;
  }

  .benkei-company-link__text small {
    margin-bottom: 8px;

    font-size: 8px;
  }

  .benkei-company-link__text strong {
    font-size: 20px;
  }

  .benkei-company-link__arrow {
    width: 39px;
    height: 39px;

    font-size: 19px;
  }

  .benkei-company-footer__bottom {
    margin-top: 42px;
    padding-top: 21px;

    display: block;
  }

  .benkei-company-footer__copyright {
    margin-top: 19px;
  }

}/* End custom CSS */