/*!*********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].use[3]!./src/scss/design.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*-------------------------------------------------------------------------------
  media query
--------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------
  font setting
--------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------
  color setting
--------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------
  space setting
--------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------
  border setting
--------------------------------------------------------------------------------*/
/*!
 * ress.css v1.0.0
 * MIT License
 * top_original reset
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}
*:focus {
  outline: none;
}

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
  font-weight: normal;
  text-align: left;
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */
  text-decoration: none; /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic; /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type=number] {
  width: auto; /* Firefox 36+ */
}

[type=search] {
  -webkit-appearance: textfield; /* Safari 8+ */
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Safari 8 */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
  margin: 0;
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

[type=search] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */
}

iframe {
  border: 0;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

/*-------------------------------------------------------------------------------
  default style
--------------------------------------------------------------------------------*/
* {
  box-sizing: border-box;
  word-break: break-all;
}

html {
  font-size: 100%;
}

/**
 * メディアクエリ
 *
 * @param {number} $size 画面サイズ
 * @param {string} $width max or min
 * @param {string} $orientation デバイスの向き portrait or landscape
 */
/**
 * 単位を除いた数値を返す
 *
 * @param {number} $value 単位あり数値
 * @return {number} 単位なし数値
 * @example strip-unit(16px) => 16
 *          strip-unit(1rem) => 1
 */
/**
 * pxをremで返す
 *
 * @param {number} $number pxサイズ
 * @return {number} 単位ありremサイズ
 * @example $root-font-size : 16px の場合
 *          rem(10) 10px => 0.625rem
 */
/**
 * clampを使用した可変サイズ指定関数
 *
 * @param {number} $min-size 最小サイズpx
 * @param {number} $max-size 最大サイズpx
 * @param {number} $min-viewport-px 最小ビューポートpx
 * @param {number} $max-viewport-px 最大ビューポートpx
 * @return {string} clamp
 * @example fluid(16, 32) => clamp(1rem, 1.67vw + 0.667rem, 2rem)
 *           320pxから1280pxの間で16pxから32pxまでサイズが変わる
 *          fluid(10px, 18px, 480px, 1024px) => clamp(0.625rem, 1.47vw + 0.184rem, 1.125rem)
 *           480pxから1024pxの間で10pxから18pxまでサイズが変わる
 */
/**
 * フォントサイズ
 *
 * @param {number} $pixel フォントサイズ、px基準で指定
 */
/**
 * 可変フォントサイズ
 *
 * @param {number} $min-px 最小サイズpx
 * @param {number} $max-px 最大サイズpx
 * @param {number} $min-viewport-px 最小ビューポートpx
 * @param {number} $max-viewport-px 最大ビューポートpx
 */
/**
 * トランジション
 *
 * @param {number} $time トランジションの時間
 * @param {string} $easing イージングの指定
 */
/**
 * 疑似要素を使用したアイコンフォント
 *
 * @param {string} $code アイコンコード
 * @param {number} $size フォントサイズ
 * @param {number} $weight フォントウェイト
 * @param {string} $color フォントカラー
 * @param {string} $family フォントファミリー Material Symbols Outlined or Font Awesome 6 Pro
 */
/**
 * スクロールバー
 *
 * @param {number} $width 横幅
 * @param {number} $track-color トラックの色
 * @param {number} $thumb-color スクロールバーの色
 */
/**
 * フォント一括設定
 *
 * @param {number} $fontWeight フォントの太さ
 * @param {number} $letterSpacing 文字間
 * @param {number} $lineHeight 行間
 * @param {string} $fontFamily フォントファミリー
 */
/*---------- メールアイコン ----------*/
/*---------- メインコピー色変え ----------*/
/*-------------------------------------------------------------------------------
  form 設定
--------------------------------------------------------------------------------*/
.contact_form_unit {
  /* 全体の余白変数 */
  --space-size: 10px;
  --head-width: 250px;
  /* ラジオボタン変数 */
  --radio-outer: 20px;
  --radio-inner: 10px;
  /* チェックボックス変数 */
  --checkbox-outer: 20px;
  --checkbox-inner: 10px;
  /* スクロールバー変数 */
  --scroll-width: 5px;
  --track-color: #ffffff;
  --thumb-color: #76B391;
  padding-top: calc(var(--space-size) * 6);
}

/*-------------------------------------------------------------------------------
  loading item
--------------------------------------------------------------------------------*/
body .loading_mask {
  width: 100%;
  height: 100%;
  background: #76B391;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  /**
   * js の読み込みに失敗した時に .loading_mask を消す
   * ローディングアニメーションが長い場合は競合しないように注意が必要
   */
  animation-name: noScriptLoading;
  animation-duration: 1s;
  animation-delay: 0.3s;
  animation-fill-mode: forwards;
}

@keyframes noScriptLoading {
  to {
    opacity: 0;
    visibility: hidden;
  }
}
/*-------------------------------------------------------------------------------
  modal image
--------------------------------------------------------------------------------*/
.modal-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-wrapper .modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 1000;
}
.modal-wrapper .modal-close > span {
  display: block;
  font-size: clamp(1.875rem, 1.3661202186vw + 1.2192622951rem, 2.5rem);
  color: #ffffff;
}
.modal-wrapper .modal-inner {
  display: flex;
  align-items: center;
  flex-direction: column;
  row-gap: 10px;
}
.modal-wrapper .modal-inner .modal-item .modal-img,
.modal-wrapper .modal-inner .modal-item .modal-iframe {
  max-width: 90vw;
  max-height: 90vh;
  vertical-align: bottom;
}
@media (max-width: 768px) {
  .modal-wrapper .modal-inner .modal-item .modal-img,
  .modal-wrapper .modal-inner .modal-item .modal-iframe {
    max-width: 100vmin;
  }
}
.modal-wrapper .modal-inner .modal-gallery {
  width: 100%;
}
.modal-wrapper .modal-inner .modal-gallery .modal-btns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.modal-wrapper .modal-inner .modal-gallery .modal-btns .modal-count > span,
.modal-wrapper .modal-inner .modal-gallery .modal-btns .modal-prev > span,
.modal-wrapper .modal-inner .modal-gallery .modal-btns .modal-next > span {
  display: block;
  font-size: clamp(1rem, 0.5464480874vw + 0.737704918rem, 1.25rem);
  letter-spacing: 0.4em;
  margin-right: -0.4em;
  color: #ffffff;
}
.modal-wrapper .modal-inner .modal-gallery .modal-btns {
  /* ← が表示されてないときに真ん中に表示したい用 */
}
.modal-wrapper .modal-inner .modal-gallery .modal-btns {
  /* → が表示されてないときに真ん中に表示したい用 */
}
.modal-wrapper button:focus {
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5), -2px 0 15px rgba(211, 120, 92, 0.2), 2px 0 15px rgba(118, 179, 145, 0.5);
}

/*-------------------------------------------------------------------------------
  一覧ページのページャ
--------------------------------------------------------------------------------*/
.pagination_unit {
  display: flex;
}
.pagination_unit .pagination_prev button.hidden, .pagination_unit .pagination_next button.hidden {
  visibility: hidden;
}

.pagination_btns_list {
  display: flex;
}
.pagination_btns_list li.current {
  pointer-events: none;
}

/*-------------------------------------------------------------------------------
  詳細ページのページャ
--------------------------------------------------------------------------------*/
.single-pager_unit {
  display: flex;
}

/*-------------------------------------------------------------------------------
  body global
--------------------------------------------------------------------------------*/
body {
  font-size: 18px;
  font-size: 1.125rem;
  color: #1A1A1A;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  line-height: 1.5;
  background: #ffffff;
  overflow-x: hidden;
}

/*-------------------------------------------------------------------------------
  img global
--------------------------------------------------------------------------------*/
img {
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*-------------------------------------------------------------------------------
  link global
--------------------------------------------------------------------------------*/
a {
  color: #76B391;
  text-decoration: none;
}
@media (min-width: 769px) {
  a {
    transition: all 0.3s ease;
  }
}
a[href], a[data-href] {
  cursor: pointer;
}

/*-------------------------------------------------------------------------------
  table global
--------------------------------------------------------------------------------*/
table {
  width: 100%;
}
table th {
  font-weight: bold;
  vertical-align: text-top;
}
table th,
table td {
  text-align: left;
}

/*-------------------------------------------------------------------------------
  text global
--------------------------------------------------------------------------------*/
strong,
b {
  font-weight: bold;
}

em {
  font-style: italic;
}

/*-------------------------------------------------------------------------------
  input global
--------------------------------------------------------------------------------*/
input[type=text],
input[type=tel],
input[type=email],
input[type=url],
input[type=search],
input[type=password],
input[type=number],
input[type=file],
input[type=date],
textarea {
  width: 100%;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}
input[type=text]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=url]::-moz-placeholder, input[type=search]::-moz-placeholder, input[type=password]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=file]::-moz-placeholder, input[type=date]::-moz-placeholder, textarea::-moz-placeholder {
  color: #AAAAAA;
}
input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=email]::placeholder,
input[type=url]::placeholder,
input[type=search]::placeholder,
input[type=password]::placeholder,
input[type=number]::placeholder,
input[type=file]::placeholder,
input[type=date]::placeholder,
textarea::placeholder {
  color: #AAAAAA;
}

select,
label {
  width: 100%;
  cursor: pointer;
}

/*-------------------------------------------------------------------------------
  input button global
--------------------------------------------------------------------------------*/
input[type=submit],
input[type=reset],
input[type=button],
button {
  cursor: pointer;
}
@media (min-width: 769px) {
  input[type=submit],
  input[type=reset],
  input[type=button],
  button {
    transition: all 0.3s ease;
  }
}

/*-------------------------------------------------------------------------------
  cmn
--------------------------------------------------------------------------------*/
::-webkit-scrollbar {
  background: #e4e4e4;
  width: 5px;
}

::-webkit-scrollbar-thumb {
  background-color: #0db77d;
}

html {
  scroll-behavior: smooth;
}

/*---------- sp link tel ----------*/
a[href=""] {
  pointer-events: none;
}
a[href^="tel:"] {
  cursor: default;
  pointer-events: none;
}
@media (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

/*---------- br ----------*/
@media (min-width: 769px) {
  .sp_only {
    display: none;
  }
}

@media (max-width: 768px) {
  .pc_only {
    display: none;
  }
}

@media (max-width: 560px) {
  .pad_over {
    display: none;
  }
}

@media (min-width: 561px) {
  .pad_under {
    display: none;
  }
}

/*---------- boxer --------*/
.boxer {
  width: 100%;
  height: 100%;
  overflow: hidden;
  vertical-align: top;
  transition: all 0.3s ease;
}
.boxer img {
  transition: all 0.3s ease;
}
.boxer + .boxer {
  display: none;
}
@media (min-width: 769px) {
  .boxer:hover {
    opacity: 1;
  }
  .boxer:hover img {
    transform: scale(1.1);
  }
}
@media (min-width: 769px) and (max-width: 768px) {
  .boxer:hover img {
    transform: none;
  }
}

/*---------- center ----------*/
.center {
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 768px) {
  .center {
    text-align: left;
  }
}

/*---------- aタグ処理 ----------*/
a {
  display: block;
  cursor: pointer;
}

/*---------- 基本ロゴ ----------*/
.cmn_logo {
  display: inline-flex;
}
.cmn_logo .logo_mark {
  display: block;
  width: clamp(1.875rem, 0.7971014493vw + 1.6657608696rem, 2.5625rem);
  aspect-ratio: 41/70;
  background: url(../images/logomark.png) no-repeat center/cover;
  margin-right: clamp(1.125rem, 0.8695652174vw + 0.8967391304rem, 1.875rem);
}
.cmn_logo .logo_type {
  inset: 0;
  display: block;
  width: clamp(9.6875rem, 6.9565217391vw + 7.8614130435rem, 15.6875rem);
  background-color: #ffffff;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: clamp(9.6875rem, 6.9565217391vw + 7.8614130435rem, 15.6875rem) auto;
          mask-size: clamp(9.6875rem, 6.9565217391vw + 7.8614130435rem, 15.6875rem) auto;
  -webkit-mask-image: url(../images/logotype.svg);
          mask-image: url(../images/logotype.svg);
  transition: color 0.4s ease;
}

.header.scrolled .cmn_logo .logo_type {
  background-color: #1A1A1A;
}

/*---------- 流れる文字 ----------*/
.scroll_section {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: clamp(8.125rem, 10.8695652174vw + 5.2717391304rem, 17.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
}
.mv_wrapper .scroll_section {
  top: auto;
  bottom: calc(-1 * clamp(5rem, 4.347826087vw + 3.8586956522rem, 8.75rem));
}

.scroll_en {
  font-weight: 700;
  letter-spacing: calc(0 * 0.001em);
  line-height: 1;
  font-family: "Roboto Mono", sans-serif;
  font-size: clamp(9.375rem, 10.8695652174vw + 6.5217391304rem, 18.75rem);
  color: #fff;
  text-shadow: 1px 1px 0 #76B391, -1px 1px 0 #76B391, 1px -1px 0 #76B391, -1px -1px 0 #76B391, 0 1px 0 #76B391, 1px 0 0 #76B391, 0 -1px 0 #76B391, -1px 0 0 #76B391;
  mix-blend-mode: multiply;
  white-space: nowrap;
  display: inline-block;
  will-change: transform;
  transition: transform 0.05s linear;
}
.scroll_en.white {
  color: transparent;
  -webkit-text-stroke: clamp(0.0625rem, 0.0579710145vw + 0.0472826087rem, 0.1125rem) rgba(255, 255, 255, 0.5);
  text-shadow: none;
  mix-blend-mode: normal;
  margin-top: calc(-1 * clamp(1.875rem, 4.347826087vw + 0.7336956522rem, 5.625rem));
}

/*---------- 基本コンテナ ----------*/
:root {
  --wrapper_width: 1600px;
}

.base_wrapper {
  width: 100%;
  max-width: calc(var(--wrapper_width) + 20vw);
  margin: 0 auto;
  padding: 0 10vw;
}
@media (max-width: 1124px) {
  .base_wrapper {
    padding: 0 7vw;
  }
}
@media (max-width: 768px) {
  .base_wrapper {
    padding: 0 5vw;
  }
}

.base_wrapper--narrow {
  padding: 0 5vw;
}
@media (max-width: 1124px) {
  .base_wrapper--narrow {
    padding: 0;
  }
}

/*---------- 枠つきコンテナ ----------*/
.frame_outer {
  position: relative;
  padding-top: clamp(6.875rem, 8.6956521739vw + 4.5923913043rem, 14.375rem);
}

.frame_wrapper {
  position: relative;
  z-index: 2;
  padding: 0 6vw;
  width: calc(100% - clamp(1.875rem, 3.6231884058vw + 0.9239130435rem, 5rem));
  max-width: calc(var(--wrapper_width) + 16vw);
  margin: 0 auto;
}
@media (max-width: 768px) {
  .frame_wrapper {
    padding: 0 2vw;
  }
}
.frame_wrapper::before, .frame_wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 40px;
  border: 3px solid #76B391;
  z-index: -1;
}
.frame_wrapper::before {
  top: clamp(1.5625rem, 2.2463768116vw + 0.972826087rem, 3.5rem);
  border-bottom: none;
  border-radius: clamp(1.25rem, 0.7246376812vw + 1.0597826087rem, 1.875rem) clamp(1.25rem, 0.7246376812vw + 1.0597826087rem, 1.875rem) 0 0;
}
.frame_wrapper::after {
  content: "";
  bottom: clamp(2rem, 0.9420289855vw + 1.7527173913rem, 2.8125rem);
  border-top: none;
  border-radius: 0 0 clamp(1.25rem, 0.7246376812vw + 1.0597826087rem, 1.875rem) clamp(1.25rem, 0.7246376812vw + 1.0597826087rem, 1.875rem);
}
.frame_wrapper.center_frame_wrapper, .frame_wrapper.upper_frame_wrapper {
  padding-top: clamp(6.25rem, 3.6231884058vw + 5.2989130435rem, 9.375rem);
  margin-bottom: clamp(6.25rem, 7.2463768116vw + 4.347826087rem, 12.5rem);
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 768px) {
  .frame_wrapper.center_frame_wrapper, .frame_wrapper.upper_frame_wrapper {
    text-align: left;
  }
}
.frame_wrapper.upper_frame_wrapper::after {
  display: none;
}

/*---------- タイトル ----------*/
.cmn_ttl {
  display: inline-block;
  margin-bottom: clamp(1.25rem, 0.7246376812vw + 1.0597826087rem, 1.875rem);
}
.cmn_ttl.short {
  width: calc(100% - clamp(8.75rem, 18.8405797101vw + 3.8043478261rem, 25rem));
}

.cmn_sub_ttl {
  display: block;
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.15;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1rem, 0.2898550725vw + 0.9239130435rem, 1.25rem);
  color: #267044;
  margin-bottom: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
}

.cmn_main_ttl {
  display: block;
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.3;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1.5rem, 1.1594202899vw + 1.1956521739rem, 2.5rem);
  font-variant-east-asian: proportional-width;
  color: #1A1A1A;
}

.bg_style {
  background: #FFF3EF;
  padding: 3px 10px;
}

/*---------- 基本テキスト ----------*/
.lg_text {
  font-weight: 700;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1rem, 0.2898550725vw + 0.9239130435rem, 1.25rem);
  color: #1A1A1A;
}

.sm_text, input,
textarea,
select, .overview_item dd, .overview_item dt, .works_content,
.works_data_wrapper {
  font-weight: 700;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(0.9375rem, 0.2173913043vw + 0.8804347826rem, 1.125rem);
  color: #1A1A1A;
}

.sm_wide_text {
  font-weight: 700;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1.8;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(0.9375rem, 0.2173913043vw + 0.8804347826rem, 1.125rem);
  color: #1A1A1A;
}

/*---------- 基本ボタン ----------*/
.cmn_btn,
.contact_btn_wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  background-color: #D3785C;
  color: #ffffff;
  font-weight: 700;
  letter-spacing: calc(0 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1rem, 0.2898550725vw + 0.9239130435rem, 1.25rem);
  padding: clamp(0.875rem, 0.652173913vw + 0.7038043478rem, 1.4375rem) clamp(1.25rem, 2.1739130435vw + 0.6793478261rem, 3.125rem);
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  width: min(90%, 444px);
  text-align: center;
  transition: background-color 0.3s ease;
}
.cmn_btn .icon_arrow,
.contact_btn_wrapper .icon_arrow {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: clamp(2.125rem, 1.4492753623vw + 1.7445652174rem, 3.375rem);
  aspect-ratio: 27/25;
  border-left: 1px solid #ffffff;
  margin-left: clamp(0.9375rem, 0.7246376812vw + 0.7472826087rem, 1.5625rem);
}
.cmn_btn .icon_arrow::before,
.contact_btn_wrapper .icon_arrow::before {
  content: "";
  display: inline-block;
  width: clamp(0.5rem, 0.2173913043vw + 0.4429347826rem, 0.6875rem);
  height: 90%;
  background-color: #ffffff;
  -webkit-mask-image: url(../images/arrow01.svg);
          mask-image: url(../images/arrow01.svg);
  -webkit-mask-size: clamp(0.625rem, 0.0724637681vw + 0.6059782609rem, 0.6875rem) auto;
          mask-size: clamp(0.625rem, 0.0724637681vw + 0.6059782609rem, 0.6875rem) auto;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (min-width: 769px) {
  .cmn_btn:hover,
  .contact_btn_wrapper:hover {
    background-color: rgb(198.4347826087, 87.652173913, 53.5652173913);
  }
}
.ft_contact_btn .cmn_btn,
.ft_contact_btn .contact_btn_wrapper {
  background-color: #76B391;
  width: clamp(22.5rem, 12.426035503vw + 13.7707100592rem, 27.75rem);
}
@media (max-width: 1124px) {
  .ft_contact_btn .cmn_btn,
  .ft_contact_btn .contact_btn_wrapper {
    width: min(100%, 360px);
  }
}
@media (min-width: 769px) {
  .ft_contact_btn .cmn_btn:hover,
  .ft_contact_btn .contact_btn_wrapper:hover {
    background-color: rgb(87.7746478873, 158.2253521127, 118.9577464789);
  }
}

.contact_btn_wrapper {
  background-color: #76B391;
}
@media (min-width: 769px) {
  .contact_btn_wrapper:hover {
    background-color: rgb(87.7746478873, 158.2253521127, 118.9577464789);
  }
}

/* 内部ラップまで全体サイズにする */
.wpcf7-back_wrap,
.wpcf7-confirm_wrap,
.cmn_btn_inner,
.cmn_btn_inner > button,
.cmn_btn_inner > input {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: transparent;
  border: none;
  color: inherit;
  font: inherit;
  padding: 0;
  margin: 0;
  cursor: pointer;
  text-align: center;
}

.input-none.back {
  margin-bottom: clamp(1.25rem, 0.7246376812vw + 1.0597826087rem, 1.875rem);
}
.input-none.back .contact_btn_wrapper.cmn_btn {
  background-color: #aaaaaa;
}
.input-none.back .contact_btn_wrapper.cmn_btn .icon_arrow {
  transform: scaleX(-1) scaleY(-1);
  margin-left: 0px;
}
@media (min-width: 769px) {
  .input-none.back .contact_btn_wrapper.cmn_btn:hover {
    background-color: rgb(144.5, 144.5, 144.5);
  }
}

.frame_bg_btn {
  position: relative;
  display: block;
  text-align: center;
  margin-top: clamp(1.875rem, 1.4492753623vw + 1.4945652174rem, 3.125rem);
  z-index: 2;
}
.frame_bg_btn .cmn_btn::after {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% + clamp(0.9375rem, 0.7246376812vw + 0.7472826087rem, 1.5625rem));
  height: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: 0 clamp(0.9375rem, 0.7246376812vw + 0.7472826087rem, 1.5625rem);
  background-color: #fff;
  z-index: -1;
}
.frame_bg_btn.service_btn .cmn_btn::after {
  background-color: #FFF9F7;
}

/*---------- NO IMG ----------*/
.cmn_noimg {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #E5F5EC;
  width: 100%;
  height: 100%;
}
.cmn_noimg::before {
  content: "";
  display: block;
  width: clamp(9.6875rem, 6.9565217391vw + 7.8614130435rem, 15.6875rem);
  aspect-ratio: 251/53;
  background-color: #76B391;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: clamp(9.6875rem, 6.9565217391vw + 7.8614130435rem, 15.6875rem) auto;
          mask-size: clamp(9.6875rem, 6.9565217391vw + 7.8614130435rem, 15.6875rem) auto;
  -webkit-mask-image: url(../images/logotype.svg);
          mask-image: url(../images/logotype.svg);
}

/*---------- 404 ----------*/
.notfound_wrapper,
.thanks_wrapper {
  padding-top: clamp(6.25rem, 3.6231884058vw + 5.2989130435rem, 9.375rem);
  padding-bottom: clamp(6.25rem, 3.6231884058vw + 5.2989130435rem, 9.375rem);
}

.notfound_txt,
.thanks_txt {
  padding-bottom: clamp(1.875rem, 1.4492753623vw + 1.4945652174rem, 3.125rem);
}

/*-------------------------------------------------------------------------------
  header
--------------------------------------------------------------------------------*/
body {
  position: relative;
}

.header {
  position: fixed;
  width: 100%;
  max-width: calc(var(--wrapper_width) + 16vw);
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: clamp(1.25rem, 2.7777777778vw + -1.25rem, 1.875rem) clamp(1.875rem, 5.5555555556vw + -3.125rem, 3.125rem);
  z-index: 50;
  background-color: transparent;
  transition: background-color 0.4s ease;
}
@media (max-width: 1440px) {
  .header {
    padding: 5vw;
  }
}
.header.scrolled {
  background-color: #fff;
}

.nav {
  display: flex;
  align-items: center;
}
@media (max-width: 1440px) {
  .nav {
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: #E5F5EC;
    position: fixed;
    top: 0;
    left: 0;
    transform: translateX(100%);
    transition: transform 0.3s ease;
  }
  .nav.js-open {
    transform: translateX(0);
    transition: transform 0.3s ease;
  }
}

.hd_nav {
  display: flex;
  gap: clamp(0.9375rem, 4.1666666667vw + -2.8125rem, 1.875rem);
  margin-right: clamp(1.25rem, 2.7777777778vw + -1.25rem, 1.875rem);
}
@media (max-width: 1440px) {
  .hd_nav {
    flex-direction: column;
    align-items: center;
    width: min(80%, 400px);
    margin-right: 0;
    margin-bottom: clamp(1.875rem, 0.9803921569vw + 1.6176470588rem, 2.5rem);
    gap: 0;
  }
  .hd_nav li {
    width: 100%;
    border-bottom: 1px solid #76B391;
  }
  .hd_nav li:first-child {
    border-top: 1px solid #76B391;
  }
}
.hd_nav a {
  position: relative;
  display: block;
  color: #1A1A1A;
  font-weight: 700;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1.0625rem, 0.8333333333vw + 0.3125rem, 1.25rem);
  transition: all 0.3s;
}
@media (min-width: 769px) {
  .hd_nav a:hover {
    color: #D3785C;
  }
}
@media (max-width: 1440px) {
  .hd_nav a {
    width: 100%;
    padding: clamp(1.25rem, 0.9803921569vw + 0.9926470588rem, 1.875rem) clamp(1.25rem, 0.9803921569vw + 0.9926470588rem, 1.875rem);
    text-align: center;
  }
  li:first-child .hd_nav a {
    border-top: 1px solid #76B391;
  }
}
.hd_nav a::after {
  position: absolute;
  display: block;
  content: "";
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 4px;
  background-color: #D3785C;
  opacity: 0;
  transition: all 0.3s;
}
@media (max-width: 1440px) {
  .hd_nav a::after {
    display: none;
  }
}

.hd_info {
  display: flex;
  align-items: baseline;
}

.hd_phone {
  display: flex;
  align-items: center;
  font-weight: 700;
  letter-spacing: calc(0 * 0.001em);
  line-height: 1.8;
  font-family: "Roboto Mono", sans-serif;
  font-size: clamp(1.5rem, 1.1111111111vw + 0.5rem, 1.75rem);
  color: #1A1A1A;
  margin-right: clamp(1.25rem, 4.1666666667vw + -2.5rem, 2.1875rem);
}
.hd_phone::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: clamp(1.5rem, 0.5555555556vw + 1rem, 1.625rem);
  aspect-ratio: 1/1;
  margin-right: clamp(0.1875rem, 0.5555555556vw + -0.3125rem, 0.3125rem);
  background-color: currentColor;
  -webkit-mask: url(../images/icon_call.svg) center/contain no-repeat;
          mask: url(../images/icon_call.svg) center/contain no-repeat;
}

.hd_contact {
  display: inline-block;
  width: clamp(1.75rem, 1.0355029586vw + 1.0225591716rem, 2.1875rem);
  aspect-ratio: 35/27;
  background-color: #1A1A1A;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: clamp(1.75rem, 1.0355029586vw + 1.0225591716rem, 2.1875rem) auto;
          mask-size: clamp(1.75rem, 1.0355029586vw + 1.0225591716rem, 2.1875rem) auto;
  -webkit-mask-image: url(../images/icon_mail.svg);
          mask-image: url(../images/icon_mail.svg);
  transition: all 0.3s ease;
}
@media (max-width: 1440px) {
  .hd_contact {
    margin-top: clamp(1.25rem, 0.9803921569vw + 0.9926470588rem, 1.875rem);
  }
}
@media (min-width: 769px) {
  .hd_contact:hover {
    display: inline-block;
    width: clamp(1.75rem, 1.0355029586vw + 1.0225591716rem, 2.1875rem);
    aspect-ratio: 35/27;
    background-color: #D3785C;
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: clamp(1.75rem, 1.0355029586vw + 1.0225591716rem, 2.1875rem) auto;
            mask-size: clamp(1.75rem, 1.0355029586vw + 1.0225591716rem, 2.1875rem) auto;
    -webkit-mask-image: url(../images/icon_mail.svg);
            mask-image: url(../images/icon_mail.svg);
    transform: rotate(-14deg);
  }
}

/*-------------------------------------------------------------------------------
  current
--------------------------------------------------------------------------------*/
@media (max-width: 1440px) {
  body.index .hd_nav li:nth-of-type(1) a {
    color: #308355;
    background-color: #d5ede0;
  }
}
body.index .hd_nav li:nth-of-type(1) a::after {
  opacity: 1;
}

@media (max-width: 1440px) {
  body.service .hd_nav li:nth-of-type(2) a {
    color: #308355;
    background-color: #d5ede0;
  }
}
body.service .hd_nav li:nth-of-type(2) a::after {
  opacity: 1;
}

@media (max-width: 1440px) {
  body.works .hd_nav li:nth-of-type(3) a {
    color: #308355;
    background-color: #d5ede0;
  }
}
body.works .hd_nav li:nth-of-type(3) a::after {
  opacity: 1;
}

@media (max-width: 1440px) {
  body.tax-works_tax .hd_nav li:nth-of-type(3) a {
    color: #308355;
    background-color: #d5ede0;
  }
}
body.tax-works_tax .hd_nav li:nth-of-type(3) a::after {
  opacity: 1;
}

@media (max-width: 1440px) {
  body.single-works .hd_nav li:nth-of-type(3) a {
    color: #308355;
    background-color: #d5ede0;
  }
}
body.single-works .hd_nav li:nth-of-type(3) a::after {
  opacity: 1;
}

@media (max-width: 1440px) {
  body.company .hd_nav li:nth-of-type(4) a {
    color: #308355;
    background-color: #d5ede0;
  }
}
body.company .hd_nav li:nth-of-type(4) a::after {
  opacity: 1;
}

@media (max-width: 1440px) {
  body.recruit .hd_nav li:nth-of-type(5) a {
    color: #308355;
    background-color: #d5ede0;
  }
}
body.recruit .hd_nav li:nth-of-type(5) a::after {
  opacity: 1;
}

/*-------------------------------------------------------------------------------
  sp menu
--------------------------------------------------------------------------------*/
.menu-trigger {
  display: none;
  position: fixed;
  right: 5vw;
  top: 5vw;
  width: clamp(3.125rem, 1.9886363636vw + 2.6029829545rem, 4rem);
  aspect-ratio: 64/58;
  border-radius: 5px;
  z-index: 51;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background: #76B391;
}
@media (max-width: 1440px) {
  .menu-trigger {
    display: flex;
  }
}
.menu-trigger .menu_line {
  position: relative;
  display: block;
  width: 32px;
  height: 20px;
  margin-top: -3px;
}
.menu-trigger .menu_line span {
  display: block;
  position: absolute;
  width: 100%;
  height: 3px;
  border-radius: 1px;
  background: #fff;
  transition: all 0.4s;
}
.menu-trigger .menu_line span:nth-of-type(1) {
  top: 0;
  animation: bar01 0.75s forwards;
}
.menu-trigger .menu_line span:nth-of-type(2) {
  top: 50%;
  transition: all 0.25s 0.25s;
  opacity: 1;
}
.menu-trigger .menu_line span:nth-of-type(3) {
  top: 100%;
  animation: bar03 0.75s forwards;
}
.menu-trigger.js-open .menu_line span:nth-of-type(1) {
  animation: active-bar01 0.75s forwards;
}
.menu-trigger.js-open .menu_line span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.js-open .menu_line span:nth-of-type(3) {
  animation: active-bar03 0.75s forwards;
}

/* keyframes */
@keyframes bar01 {
  0% {
    transform: translateY(10px) rotate(30deg);
  }
  50% {
    transform: translateY(10px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes bar03 {
  0% {
    transform: translateY(-10px) rotate(-30deg);
  }
  50% {
    transform: translateY(-10px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes active-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(10px) rotate(0);
  }
  100% {
    transform: translateY(10px) rotate(30deg);
  }
}
@keyframes active-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-10px) rotate(0);
  }
  100% {
    transform: translateY(-10px) rotate(-30deg);
  }
}
/*-------------------------------------------------------------------------------
  main visual
--------------------------------------------------------------------------------*/
.mv_wrapper {
  position: relative;
  display: flex;
  width: 100%;
  height: clamp(16.25rem, 24.2424242424vw + 8.9772727273rem, 36.25rem);
  margin-bottom: clamp(3.125rem, 10.3550295858vw + -4.149408284rem, 7.5rem);
}

.mv_unit {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.mv_unit img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}

.mv_ttl {
  position: absolute;
  bottom: calc(-1 * clamp(5rem, 4.347826087vw + 3.8586956522rem, 8.75rem));
  right: 10vw;
  display: inline-block;
  writing-mode: vertical-rl;
  white-space: nowrap;
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.15;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(2rem, 2.7536231884vw + 1.277173913rem, 4.375rem);
  color: #76B391;
  background: #fff;
  padding: clamp(0.3125rem, 0.7246376812vw + 0.1222826087rem, 0.9375rem);
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  z-index: 1;
}

/*-------------------------------------------------------------------------------
  breadcrumb
--------------------------------------------------------------------------------*/
.breadcrumb {
  display: flex;
  position: relative;
  margin-top: clamp(1.25rem, 1.4492753623vw + 0.8695652174rem, 2.5rem);
  margin-right: 8vw;
  font-size: clamp(0.875rem, 0.2173913043vw + 0.8179347826rem, 1.0625rem);
  font-weight: 500;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1.1;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  flex-wrap: wrap;
}
.breadcrumb li {
  position: relative;
  color: #76B391;
}
.breadcrumb li:not(:first-child) {
  padding-left: clamp(1.6875rem, 3.8405797101vw + 0.6793478261rem, 5rem);
}
.breadcrumb li:not(:first-child)::before {
  position: absolute;
  display: block;
  content: "/";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  margin-left: clamp(0.625rem, 1.4492753623vw + 0.2445652174rem, 1.875rem);
  color: rgba(26, 26, 26, 0.3);
}
.breadcrumb li a {
  color: rgba(26, 26, 26, 0.3);
}

/*-------------------------------------------------------------------------------
  index_mv
--------------------------------------------------------------------------------*/
.index_mv_wrapper {
  position: relative;
  display: flex;
  width: 100%;
  max-width: calc(var(--wrapper_width) + 16vw);
  height: 87vh;
  margin: clamp(1.25rem, 1.4792899408vw + 0.2107988166rem, 1.875rem) clamp(1.875rem, 2.9585798817vw + -0.2034023669rem, 3.125rem) clamp(3.125rem, 4.4378698225vw + 0.0073964497rem, 5rem);
}
@media (max-width: 768px) {
  .index_mv_wrapper {
    align-items: center;
    justify-content: center;
    height: 100vh;
    width: 100%;
    margin: 0 auto;
  }
}

.index_mv {
  width: min(48%, 952px);
  height: 100%;
  overflow: hidden;
  border-radius: clamp(1.25rem, 0.7246376812vw + 1.0597826087rem, 1.875rem);
  border-top-left-radius: 0;
}
.index_mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
@media (max-width: 768px) {
  .index_mv::before {
    background: rgba(0, 0, 0, 0.1);
  }
}
@media (max-width: 768px) {
  .index_mv {
    position: absolute;
    width: 90vw;
    left: 5vw;
    top: 5vw;
    height: 94svh;
  }
}
.index_mv img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.index_mv .swiper,
.index_mv .swiper-wrapper,
.index_mv .swiper-slide {
  width: 100%;
  height: 100%;
}
.index_mv .slide {
  width: 100%;
  height: 100%;
  position: relative;
}
.index_mv .slide-media {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.index_mv .slide-media img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.index_mv_txt_wrapper {
  display: flex;
  align-items: center;
  margin-left: clamp(3.125rem, 19.3798449612vw + -6.1773255814rem, 15.625rem);
  gap: clamp(2.5rem, 8.7209302326vw + -1.6860465116rem, 8.125rem);
  z-index: 2;
}
@media (max-width: 768px) {
  .index_mv_txt_wrapper {
    justify-content: center;
    gap: 10px;
    margin-bottom: 0;
    margin-left: 0;
  }
}

.index_mv_ttl {
  display: block;
  width: clamp(6.25rem, 5.8139534884vw + 3.4593023256rem, 10rem);
  aspect-ratio: 160/553;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 161 554"><path fill="%2376B391" d="M54.7 246.4a10 10 0 0 1-8.8-5 10 10 0 0 1 0-10.2q1.5-2.4 3.7-3.7 2.4-1.5 5-1.4 2.8 0 5.1 1.4 2.4 1.3 3.7 3.7 1.5 2.3 1.4 5a10 10 0 0 1-1.4 5.2 10 10 0 0 1-8.7 5m0-4.2q2.4 0 4.2-1.7a6 6 0 0 0 1.8-4.2q0-2.5-1.8-4.2a6 6 0 0 0-4.2-1.9q-2.5 0-4.2 1.9a6 6 0 0 0-1.8 4.2q0 2.4 1.8 4.1a6 6 0 0 0 4.2 1.8M12.1 209.3q-.8 0-.9-.4l-.7-1.7a56 56 0 0 1-2.7-19.1q0-7.8 1.3-19.1l.2-2.3.4-2.7.6-7.7q0-2.2-.5-3l2.5.5q3.6.6 5 1.2 2.3.8 2.3 2 0 .4-.5 1.3l-.6 1q-1.2 5.6-2.5 13.4a95 95 0 0 0-1.3 15.3q0 5.1.8 9l1-2.5 3.5-7.8.7 2a13 13 0 0 0 2.2 2.6q.3.3.3.8 0 .3-.2.6l-.4.8-.7 1.6a29 29 0 0 0-3.4 9.9l.1 1.5q0 1.2-.9 1.5a24 24 0 0 1-5.6 1.3m43.5-2.8-5.6.1q-5.5 0-10-1t-7.9-3.5q-2.4-1.8-4.1-3.8a12 12 0 0 1-2.2-4.5 38 38 0 0 1 5.2-3.3q.5 0 .9.5l2 2.3q1.1 1 2.1 1.7a29 29 0 0 0 14.6 3.2l5-.2q.6 0 .9.2t.3.7a30 30 0 0 1 0 6.2q0 .8-.4 1-.2.3-.8.4M52 167.7q-2.3.4-7.4.4-3.7 0-6.9-.2-3.2-.4-4.7-1-.7-.3-.7-1v-7.3q6 1 15.7 1h4.3l.8.1q.3.2.3.8.1 2.8-.4 6.4 0 .6-1 .8M27.3 71.5h8.5v9.4h-8.5zM1.4 76.2h60.1v13.5h-7.8V83H9v6.7H1.4zm40.3 28.7v4h6.7v-4zm-13.8 0v4h6.8v-4zm-13.4 0v4H21v-4zm-7.2-5H56v14H7.3zM.5 116.5h62.3v7H.5zm26.9 4.3h8.4v8.5q0 3-.9 4.4-.8 1.7-3.1 2.5-2.4.8-5.6.9l-7.3.1q-.3-1.6-1-3.7-.7-2-1.6-3.6l3.9.2h5.6q.9 0 1.2-.3.4-.2.4-.8zM19 86.3h7.3v4.1q0 1.3.5 1.6t2.5.3h7.9l1.4-.2q.4-.4.7-1t.4-2.2q1 .8 2.9 1.3 1.8.7 3.3 1-.5 4-2.3 5.5Q42 98 38 98h-9.6q-3.8 0-6-.7a5 5 0 0 1-2.7-2.3 12 12 0 0 1-.7-4.5zm-6.2-.5 6.2 2.7a32 32 0 0 1-4.8 6.3 22 22 0 0 1-7.1 5L1.7 95a22 22 0 0 0 11.1-9.2m10.7-.8 4.3-4.2a47 47 0 0 1 10.8 5.4L34.2 91A37.6 37.6 0 0 0 23.6 85m20.3 4.2 5-4.2a67 67 0 0 1 12.8 10l-5.4 4.7a52.6 52.6 0 0 0-12.5-10.5M20 58.5l-.3-3a43 43 0 0 0-1.6-6.1h7.3q1.5 0 2.3-.5.6-.5.7-2V8H0V0h63v8.1H37.4v42.4q0 4.2-2.4 6-2.4 2-7.2 2zM155.5 552.4q-.7.7-1.2.7t-.8-.7a47 47 0 0 0-13-12.7q-.7-.4-.7-.8t.4-.7q.8-1 2-2l2.5-2 .6.1q3.6 1.5 7.9 5.2a33 33 0 0 1 7.1 8q0 .3-.4.8-.5.8-2 2.1-1.3 1.3-2.4 2M107.3 518.5q-.7 0-1-.4l-.6-1.7a56 56 0 0 1-2.8-19.1q0-7.8 1.4-19.1l.2-2.3.3-2.7q.7-6 .7-7.7 0-2.2-.5-3l2.5.5q3.5.6 5 1.2 2.3.9 2.3 2 0 .4-.5 1.3l-.6 1q-1.3 5.6-2.6 13.4A95 95 0 0 0 110 497q0 5.3.7 9l1-2.4q2.6-6 3.6-7.8l.7 2a13 13 0 0 0 2.2 2.6q.3.3.3.8 0 .3-.3.6l-.3.8-.7 1.6a29 29 0 0 0-3.4 9.8v1.6q0 1.2-.8 1.5a24 24 0 0 1-5.6 1.3m43.5-2.8-5.7.1q-5.4 0-10-1t-7.8-3.5q-2.4-1.8-4.1-3.8a12 12 0 0 1-2.3-4.5 38 38 0 0 1 5.3-3.3q.4 0 .8.5l2 2.3q1.2 1 2.2 1.7a29 29 0 0 0 14.6 3.2l5-.2q.6 0 .9.2.2.2.3.7a30 30 0 0 1 0 6.2q0 .8-.4 1zm-3.5-38.8q-2.3.4-7.5.4-3.6 0-6.8-.2-3.2-.4-4.7-1-.7-.3-.7-1v-7.3q6 1 15.7 1h4.3l.8.1q.3.2.3.8 0 2.8-.4 6.4 0 .6-1 .8M120.7 444.6q-.7.3-1.4.3a2 2 0 0 1-1.5-.7l-1-1.2a33 33 0 0 0-5-4.1q21.3-5.5 23.3-22v-1.4q0-3.5-1.8-6a6 6 0 0 0-5.4-2.8l-1.5.1a17 17 0 0 0-10.8 6.1q-.5.6-1.2.6-.5 0-.8-.2-1.9-1.2-3.5-3.6-1.5-2.5-2-5 1.1.3 3.8-.4 2.7-.8 5-1.8 8-3.2 14.1-2.7 3.4.3 6.2 2.3t4.3 5.5 1.6 7.6q0 2-.4 4.3-1.7 9-7.1 15a50 50 0 0 1-14.9 10m13.2-48.9q-2.6-.3-6.9-1.7-4.2-1.6-6.7-2.8-.8-.5-.8-1t.2-1.1l2-6.4q2.2 1.3 6.4 2.9t7.4 2.3l1.2.6q.3.3.1 1.2l-1 5-.5 1zM122.3 366.1q-2.6.6-5 .6-3.8 0-6.5-1.5t-4.1-3.9a10 10 0 0 1-1.2-6.3 9 9 0 0 1 5.5-7.2 27 27 0 0 1 12.6-1.9l-.4-7.4q-.7-10.8-.8-19l-.1-4.6a87 87 0 0 0-.9-8.4q7 1.2 9.9 2.3.6.3.9.7.3.5.2.9 0 .3-.8 1.1l-.7 1.6q-.7 2.8-1 9.7l1.7.1a38 38 0 0 0 11.7-2.2q.5 0 .9.7l1.4 5.5v.2q0 .5-.4.7l-1.1.6q-2.7 1-6.8 1.6-4 .4-7.2.3 0 6 1 16.6a59 59 0 0 1 17 7.2v.8q-.4 1.5-1.3 3l-1.7 2.3q-.6.5-1 .5-.3 0-.6-.2-3.7-2.5-6.3-4a30 30 0 0 0-6-2.6q-.8 10.1-8.9 12.2m-9.7-10.6-.1.8q0 1.5 1.4 2.5 1.5 1 3.6 1 1.8 0 3.4-.8 2.3-1.5 2.7-6.6-1.8-.2-3.4-.2-3 0-5 .8-2.1.9-2.6 2.5M128.5 287.6q-.9 0-1.3-.4l-.8-.8-.5-.8-2.7-2.8q-1-.9-2-1.4a31 31 0 0 0 18.2-8q4.8-4.2 6-11.3.4-2 .4-3.7a19 19 0 0 0-1.7-7.9 15.3 15.3 0 0 0-13.7-8.8q.6 4.7.6 8.4 0 11-3.8 18.5a23 23 0 0 1-9.8 10.5q-2.7 1.4-5.7 1.4a11 11 0 0 1-10.3-6.9q-1.5-3.6-1.6-8.7 0-3 .6-6.7 1.2-6.2 5.1-11.4a29 29 0 0 1 23.6-11.6q8 0 13.5 3.2 5.7 3.3 8.4 8.6a24 24 0 0 1 2.6 15 29 29 0 0 1-15 22 35 35 0 0 1-9 3.4zM108 257.5q-1 3.5-1 7.1 0 3.8 1.3 6 1.3 2.1 3.3 2.2 2 0 4.3-2 3.2-3 5.4-8.7a33 33 0 0 0 1.7-19.5q-5.4 1.5-9.3 5.3a21 21 0 0 0-5.7 9.6M118.3 214.9q0-1-.4-2.5a33 33 0 0 0-1.2-5.2h4.9q2.8 0 4.5-1.5 1.7-1.4 1.7-5.4v-1.6a111.7 111.7 0 0 1-29.4 13 25 25 0 0 0-3.6-6.7 91 91 0 0 0 31.4-13.6l-.7-1.6-.7-1.6a47 47 0 0 1-7.5 4.7 92 92 0 0 1-18.4 7 18 18 0 0 0-3.4-6.3 76 76 0 0 0 26.3-10.7l-1.8-2.2a106 106 0 0 1-21 7.9q-.5-1.4-1.5-3.3-1-2-2-3a74 74 0 0 0 22.3-8h-10.3v-6.7h38.3v6.8H130l-4.2 3q4.2 4 6.6 8.9a94 94 0 0 0 11.1-7.5l4.2-3.7 5.4 5.6a64 64 0 0 1-15.2 9.8 50 50 0 0 0 15 10.1q4.2 2 7.4 3-1.2 1.2-2.6 3.3l-2.3 3.8a70 70 0 0 1-13.8-8.1 44 44 0 0 1-6.1-5.7v1.6l.1 1.6q0 7.5-3.3 11.2t-9.6 3.6zM96 171.7v-15h26.4v-6.3h8.6v6.3h26.2v14.7h-8.2v-7.8h-44.9v8.1zM119.1 135.5q-1.7 0-4.7-.6-1.2-.3-1.5-.7-.4-.5-.4-1.3 0-4.2-1.5-6.9 3.9 1.3 6.4 1.3 1.8 0 3.5-.7 1.5-.7 3-4 1.6-3.2 2.4-7.7.9-4.5.7-8.2-.1-2.4-.6-3.5-.3-1-1.5-1.6-1-.5-3.3-.4h-2.3a126 126 0 0 1-5.9 16.3 40 40 0 0 1-6.1 10.7q-.6.8-1.2.8l-.6-.1a20 20 0 0 1-5.3-2.6l-.4-.6q0-.4.6-1.3 2.5-3 5.5-8.6 3.2-5.7 5.6-13.6a33 33 0 0 0-9.9 2.4q-.8 0-1.1-.6-1.2-1.6-2-4.5-.8-2.8-.8-4a64 64 0 0 0 13.1.2l2.6-.4 1-5a59 59 0 0 0 .6-13.6l1.8.2 6 1.4q2.3 1 1.8 2.4l-1 1.5q-.6 1.5-1.2 3.8l-1.4 8v.2a27 27 0 0 1 6.7.4q3.9.9 5.4 4.2 1.5 3.2 1.6 8.4 0 4.2-1.2 10.6a33 33 0 0 1-4.4 12 11 11 0 0 1-10 5.6m30.8-25.9-.5.2q-.2 0-.5-.4A52.4 52.4 0 0 0 138.5 94q2.6-1.9 5.3-2.9l.7-.1q.4 0 .7.2a27 27 0 0 1 6.3 6 30 30 0 0 1 4.5 7.6q0 .4-.2.6l-2.8 2.4zm5.6-21.7q-.4.3-.7 0a44 44 0 0 0-7-7l3.3-2.7h.3q1.3.6 3.8 2.8a21 21 0 0 1 3.5 3.8l-.2.4-1.4 1.3zm-5.8 5q-.3.1-.7-.2a37 37 0 0 0-6.7-7.2l3-2.5q.4-.3.7-.2 1.2.6 3.6 3a21 21 0 0 1 3.3 4l-.3.4zM130.8 57.8q-1.7 0-2.2-1.1-1.5-2.4-2.3-3.4a9 9 0 0 0-2.4-2h1.5q4.5 0 9.8-1.7 5.4-1.8 9-5.5a12 12 0 0 0 3.8-8.9q0-4.5-2.8-7.6t-7.5-3q-4.5 0-9.5 2.6-5 2.5-9.9 6.9 0 10.5.7 20.8.1 2-.9 3-1 1.2-2.6 1.2t-2.8-1a4 4 0 0 1-1.4-2.4A10 10 0 0 0 110 52q-.9-1.5-2.8-3.8l-1.3 2.4-.4.5-.6-.2a13 13 0 0 1-5.2-4.5q-.3-.3-.3-.7t.4-.7q4.5-4.5 7.1-7.8 2.7-3.3 4.3-6.4v-6.4a21 21 0 0 0-6 2.6q-1.1.6-1.7.6-1 0-2-1.7a43 43 0 0 1-2.4-6.2q5.6 0 12.3-2l.2-5.4.3-6.6q0-3.2-.8-5.6l1.5.2a39 39 0 0 1 8.3 2.1l.3.6q0 .3-.3.8l-.6 1.1q-1.5 2.6-1.7 10.2l2-1q.3-.3.7-.3t.6.2l2.2 1.4 2.8 2.2-.3.6a42 42 0 0 1-4 5.3q2.1-1.8 6.9-3.5 4.7-1.8 9.8-1.8 5 0 8.7 2.3 3.8 2.1 5.8 6t2 9q0 6.8-3.7 11.6a25 25 0 0 1-9.1 7.3 42 42 0 0 1-11.5 3.4zm-22.8-11 2.4 1.2.5.2q.8 0 .6-1.2l-.2-5.2z" /></svg>');
  z-index: 1;
}
@media (max-width: 768px) {
  .index_mv_ttl {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 161 554"><path fill="%23bfe1ce" d="M54.7 246.4a10 10 0 0 1-8.8-5 10 10 0 0 1 0-10.2q1.5-2.4 3.7-3.7 2.4-1.5 5-1.4 2.8 0 5.1 1.4 2.4 1.3 3.7 3.7 1.5 2.3 1.4 5a10 10 0 0 1-1.4 5.2 10 10 0 0 1-8.7 5m0-4.2q2.4 0 4.2-1.7a6 6 0 0 0 1.8-4.2q0-2.5-1.8-4.2a6 6 0 0 0-4.2-1.9q-2.5 0-4.2 1.9a6 6 0 0 0-1.8 4.2q0 2.4 1.8 4.1a6 6 0 0 0 4.2 1.8M12.1 209.3q-.8 0-.9-.4l-.7-1.7a56 56 0 0 1-2.7-19.1q0-7.8 1.3-19.1l.2-2.3.4-2.7.6-7.7q0-2.2-.5-3l2.5.5q3.6.6 5 1.2 2.3.8 2.3 2 0 .4-.5 1.3l-.6 1q-1.2 5.6-2.5 13.4a95 95 0 0 0-1.3 15.3q0 5.1.8 9l1-2.5 3.5-7.8.7 2a13 13 0 0 0 2.2 2.6q.3.3.3.8 0 .3-.2.6l-.4.8-.7 1.6a29 29 0 0 0-3.4 9.9l.1 1.5q0 1.2-.9 1.5a24 24 0 0 1-5.6 1.3m43.5-2.8-5.6.1q-5.5 0-10-1t-7.9-3.5q-2.4-1.8-4.1-3.8a12 12 0 0 1-2.2-4.5 38 38 0 0 1 5.2-3.3q.5 0 .9.5l2 2.3q1.1 1 2.1 1.7a29 29 0 0 0 14.6 3.2l5-.2q.6 0 .9.2t.3.7a30 30 0 0 1 0 6.2q0 .8-.4 1-.2.3-.8.4M52 167.7q-2.3.4-7.4.4-3.7 0-6.9-.2-3.2-.4-4.7-1-.7-.3-.7-1v-7.3q6 1 15.7 1h4.3l.8.1q.3.2.3.8.1 2.8-.4 6.4 0 .6-1 .8M27.3 71.5h8.5v9.4h-8.5zM1.4 76.2h60.1v13.5h-7.8V83H9v6.7H1.4zm40.3 28.7v4h6.7v-4zm-13.8 0v4h6.8v-4zm-13.4 0v4H21v-4zm-7.2-5H56v14H7.3zM.5 116.5h62.3v7H.5zm26.9 4.3h8.4v8.5q0 3-.9 4.4-.8 1.7-3.1 2.5-2.4.8-5.6.9l-7.3.1q-.3-1.6-1-3.7-.7-2-1.6-3.6l3.9.2h5.6q.9 0 1.2-.3.4-.2.4-.8zM19 86.3h7.3v4.1q0 1.3.5 1.6t2.5.3h7.9l1.4-.2q.4-.4.7-1t.4-2.2q1 .8 2.9 1.3 1.8.7 3.3 1-.5 4-2.3 5.5Q42 98 38 98h-9.6q-3.8 0-6-.7a5 5 0 0 1-2.7-2.3 12 12 0 0 1-.7-4.5zm-6.2-.5 6.2 2.7a32 32 0 0 1-4.8 6.3 22 22 0 0 1-7.1 5L1.7 95a22 22 0 0 0 11.1-9.2m10.7-.8 4.3-4.2a47 47 0 0 1 10.8 5.4L34.2 91A37.6 37.6 0 0 0 23.6 85m20.3 4.2 5-4.2a67 67 0 0 1 12.8 10l-5.4 4.7a52.6 52.6 0 0 0-12.5-10.5M20 58.5l-.3-3a43 43 0 0 0-1.6-6.1h7.3q1.5 0 2.3-.5.6-.5.7-2V8H0V0h63v8.1H37.4v42.4q0 4.2-2.4 6-2.4 2-7.2 2zM155.5 552.4q-.7.7-1.2.7t-.8-.7a47 47 0 0 0-13-12.7q-.7-.4-.7-.8t.4-.7q.8-1 2-2l2.5-2 .6.1q3.6 1.5 7.9 5.2a33 33 0 0 1 7.1 8q0 .3-.4.8-.5.8-2 2.1-1.3 1.3-2.4 2M107.3 518.5q-.7 0-1-.4l-.6-1.7a56 56 0 0 1-2.8-19.1q0-7.8 1.4-19.1l.2-2.3.3-2.7q.7-6 .7-7.7 0-2.2-.5-3l2.5.5q3.5.6 5 1.2 2.3.9 2.3 2 0 .4-.5 1.3l-.6 1q-1.3 5.6-2.6 13.4A95 95 0 0 0 110 497q0 5.3.7 9l1-2.4q2.6-6 3.6-7.8l.7 2a13 13 0 0 0 2.2 2.6q.3.3.3.8 0 .3-.3.6l-.3.8-.7 1.6a29 29 0 0 0-3.4 9.8v1.6q0 1.2-.8 1.5a24 24 0 0 1-5.6 1.3m43.5-2.8-5.7.1q-5.4 0-10-1t-7.8-3.5q-2.4-1.8-4.1-3.8a12 12 0 0 1-2.3-4.5 38 38 0 0 1 5.3-3.3q.4 0 .8.5l2 2.3q1.2 1 2.2 1.7a29 29 0 0 0 14.6 3.2l5-.2q.6 0 .9.2.2.2.3.7a30 30 0 0 1 0 6.2q0 .8-.4 1zm-3.5-38.8q-2.3.4-7.5.4-3.6 0-6.8-.2-3.2-.4-4.7-1-.7-.3-.7-1v-7.3q6 1 15.7 1h4.3l.8.1q.3.2.3.8 0 2.8-.4 6.4 0 .6-1 .8M120.7 444.6q-.7.3-1.4.3a2 2 0 0 1-1.5-.7l-1-1.2a33 33 0 0 0-5-4.1q21.3-5.5 23.3-22v-1.4q0-3.5-1.8-6a6 6 0 0 0-5.4-2.8l-1.5.1a17 17 0 0 0-10.8 6.1q-.5.6-1.2.6-.5 0-.8-.2-1.9-1.2-3.5-3.6-1.5-2.5-2-5 1.1.3 3.8-.4 2.7-.8 5-1.8 8-3.2 14.1-2.7 3.4.3 6.2 2.3t4.3 5.5 1.6 7.6q0 2-.4 4.3-1.7 9-7.1 15a50 50 0 0 1-14.9 10m13.2-48.9q-2.6-.3-6.9-1.7-4.2-1.6-6.7-2.8-.8-.5-.8-1t.2-1.1l2-6.4q2.2 1.3 6.4 2.9t7.4 2.3l1.2.6q.3.3.1 1.2l-1 5-.5 1zM122.3 366.1q-2.6.6-5 .6-3.8 0-6.5-1.5t-4.1-3.9a10 10 0 0 1-1.2-6.3 9 9 0 0 1 5.5-7.2 27 27 0 0 1 12.6-1.9l-.4-7.4q-.7-10.8-.8-19l-.1-4.6a87 87 0 0 0-.9-8.4q7 1.2 9.9 2.3.6.3.9.7.3.5.2.9 0 .3-.8 1.1l-.7 1.6q-.7 2.8-1 9.7l1.7.1a38 38 0 0 0 11.7-2.2q.5 0 .9.7l1.4 5.5v.2q0 .5-.4.7l-1.1.6q-2.7 1-6.8 1.6-4 .4-7.2.3 0 6 1 16.6a59 59 0 0 1 17 7.2v.8q-.4 1.5-1.3 3l-1.7 2.3q-.6.5-1 .5-.3 0-.6-.2-3.7-2.5-6.3-4a30 30 0 0 0-6-2.6q-.8 10.1-8.9 12.2m-9.7-10.6-.1.8q0 1.5 1.4 2.5 1.5 1 3.6 1 1.8 0 3.4-.8 2.3-1.5 2.7-6.6-1.8-.2-3.4-.2-3 0-5 .8-2.1.9-2.6 2.5M128.5 287.6q-.9 0-1.3-.4l-.8-.8-.5-.8-2.7-2.8q-1-.9-2-1.4a31 31 0 0 0 18.2-8q4.8-4.2 6-11.3.4-2 .4-3.7a19 19 0 0 0-1.7-7.9 15.3 15.3 0 0 0-13.7-8.8q.6 4.7.6 8.4 0 11-3.8 18.5a23 23 0 0 1-9.8 10.5q-2.7 1.4-5.7 1.4a11 11 0 0 1-10.3-6.9q-1.5-3.6-1.6-8.7 0-3 .6-6.7 1.2-6.2 5.1-11.4a29 29 0 0 1 23.6-11.6q8 0 13.5 3.2 5.7 3.3 8.4 8.6a24 24 0 0 1 2.6 15 29 29 0 0 1-15 22 35 35 0 0 1-9 3.4zM108 257.5q-1 3.5-1 7.1 0 3.8 1.3 6 1.3 2.1 3.3 2.2 2 0 4.3-2 3.2-3 5.4-8.7a33 33 0 0 0 1.7-19.5q-5.4 1.5-9.3 5.3a21 21 0 0 0-5.7 9.6M118.3 214.9q0-1-.4-2.5a33 33 0 0 0-1.2-5.2h4.9q2.8 0 4.5-1.5 1.7-1.4 1.7-5.4v-1.6a111.7 111.7 0 0 1-29.4 13 25 25 0 0 0-3.6-6.7 91 91 0 0 0 31.4-13.6l-.7-1.6-.7-1.6a47 47 0 0 1-7.5 4.7 92 92 0 0 1-18.4 7 18 18 0 0 0-3.4-6.3 76 76 0 0 0 26.3-10.7l-1.8-2.2a106 106 0 0 1-21 7.9q-.5-1.4-1.5-3.3-1-2-2-3a74 74 0 0 0 22.3-8h-10.3v-6.7h38.3v6.8H130l-4.2 3q4.2 4 6.6 8.9a94 94 0 0 0 11.1-7.5l4.2-3.7 5.4 5.6a64 64 0 0 1-15.2 9.8 50 50 0 0 0 15 10.1q4.2 2 7.4 3-1.2 1.2-2.6 3.3l-2.3 3.8a70 70 0 0 1-13.8-8.1 44 44 0 0 1-6.1-5.7v1.6l.1 1.6q0 7.5-3.3 11.2t-9.6 3.6zM96 171.7v-15h26.4v-6.3h8.6v6.3h26.2v14.7h-8.2v-7.8h-44.9v8.1zM119.1 135.5q-1.7 0-4.7-.6-1.2-.3-1.5-.7-.4-.5-.4-1.3 0-4.2-1.5-6.9 3.9 1.3 6.4 1.3 1.8 0 3.5-.7 1.5-.7 3-4 1.6-3.2 2.4-7.7.9-4.5.7-8.2-.1-2.4-.6-3.5-.3-1-1.5-1.6-1-.5-3.3-.4h-2.3a126 126 0 0 1-5.9 16.3 40 40 0 0 1-6.1 10.7q-.6.8-1.2.8l-.6-.1a20 20 0 0 1-5.3-2.6l-.4-.6q0-.4.6-1.3 2.5-3 5.5-8.6 3.2-5.7 5.6-13.6a33 33 0 0 0-9.9 2.4q-.8 0-1.1-.6-1.2-1.6-2-4.5-.8-2.8-.8-4a64 64 0 0 0 13.1.2l2.6-.4 1-5a59 59 0 0 0 .6-13.6l1.8.2 6 1.4q2.3 1 1.8 2.4l-1 1.5q-.6 1.5-1.2 3.8l-1.4 8v.2a27 27 0 0 1 6.7.4q3.9.9 5.4 4.2 1.5 3.2 1.6 8.4 0 4.2-1.2 10.6a33 33 0 0 1-4.4 12 11 11 0 0 1-10 5.6m30.8-25.9-.5.2q-.2 0-.5-.4A52.4 52.4 0 0 0 138.5 94q2.6-1.9 5.3-2.9l.7-.1q.4 0 .7.2a27 27 0 0 1 6.3 6 30 30 0 0 1 4.5 7.6q0 .4-.2.6l-2.8 2.4zm5.6-21.7q-.4.3-.7 0a44 44 0 0 0-7-7l3.3-2.7h.3q1.3.6 3.8 2.8a21 21 0 0 1 3.5 3.8l-.2.4-1.4 1.3zm-5.8 5q-.3.1-.7-.2a37 37 0 0 0-6.7-7.2l3-2.5q.4-.3.7-.2 1.2.6 3.6 3a21 21 0 0 1 3.3 4l-.3.4zM130.8 57.8q-1.7 0-2.2-1.1-1.5-2.4-2.3-3.4a9 9 0 0 0-2.4-2h1.5q4.5 0 9.8-1.7 5.4-1.8 9-5.5a12 12 0 0 0 3.8-8.9q0-4.5-2.8-7.6t-7.5-3q-4.5 0-9.5 2.6-5 2.5-9.9 6.9 0 10.5.7 20.8.1 2-.9 3-1 1.2-2.6 1.2t-2.8-1a4 4 0 0 1-1.4-2.4A10 10 0 0 0 110 52q-.9-1.5-2.8-3.8l-1.3 2.4-.4.5-.6-.2a13 13 0 0 1-5.2-4.5q-.3-.3-.3-.7t.4-.7q4.5-4.5 7.1-7.8 2.7-3.3 4.3-6.4v-6.4a21 21 0 0 0-6 2.6q-1.1.6-1.7.6-1 0-2-1.7a43 43 0 0 1-2.4-6.2q5.6 0 12.3-2l.2-5.4.3-6.6q0-3.2-.8-5.6l1.5.2a39 39 0 0 1 8.3 2.1l.3.6q0 .3-.3.8l-.6 1.1q-1.5 2.6-1.7 10.2l2-1q.3-.3.7-.3t.6.2l2.2 1.4 2.8 2.2-.3.6a42 42 0 0 1-4 5.3q2.1-1.8 6.9-3.5 4.7-1.8 9.8-1.8 5 0 8.7 2.3 3.8 2.1 5.8 6t2 9q0 6.8-3.7 11.6a25 25 0 0 1-9.1 7.3 42 42 0 0 1-11.5 3.4zm-22.8-11 2.4 1.2.5.2q.8 0 .6-1.2l-.2-5.2z" /></svg>');
    width: clamp(6.25rem, 8.6206896552vw + 3.9870689655rem, 8.125rem);
    filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.3));
  }
}
.index_mv_ttl span {
  display: none;
}

.index_mv_txt {
  font-weight: 700;
  letter-spacing: calc(75 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(0.9375rem, 0.7396449704vw + 0.4178994083rem, 1.25rem);
  color: #1A1A1A;
  writing-mode: vertical-rl;
  z-index: 1;
  margin-top: clamp(9.375rem, 22.1893491124vw + -6.2130177515rem, 18.75rem);
}
.index_mv_txt span {
  display: block;
}
.index_mv_txt span:not(:last-child) {
  margin-left: clamp(0.875rem, 1.9379844961vw + -0.0552325581rem, 2.125rem);
}
@media (max-width: 768px) {
  .index_mv_txt span:not(:last-child) {
    margin-left: clamp(0.875rem, 5.7471264368vw + -0.6336206897rem, 2.125rem);
    text-shadow: 0 0px 10px rgba(0, 0, 0, 0.5);
  }
}
@media (max-width: 768px) {
  .index_mv_txt {
    color: #fff;
  }
}

/*-------------------------------------------------------------------------------
  index
--------------------------------------------------------------------------------*/
.index_service_wrapper {
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.round_bg {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 40/3;
  background-color: #FFF3EF;
  -webkit-mask-image: url(../images/round_bg.svg);
          mask-image: url(../images/round_bg.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center top;
          mask-position: center top;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  margin-top: clamp(5rem, 5.0724637681vw + 3.6684782609rem, 9.375rem);
  z-index: -1;
}
.round_bg.reverse {
  transform: rotate(180deg);
  margin-top: -1px;
}

.grad_bg {
  position: relative;
  display: block;
  width: 100%;
  padding: clamp(2.5rem, 2.8985507246vw + 1.7391304348rem, 5rem) 0 clamp(6.25rem, 7.2463768116vw + 4.347826087rem, 12.5rem);
  background: linear-gradient(to bottom, #FFF3EF 0%, #ffffff 100%);
  z-index: -1;
  margin-top: -1px;
}
.grad_bg.greeting_bg {
  padding: clamp(2.5rem, 2.8985507246vw + 1.7391304348rem, 5rem) 0 0;
}
@media (max-width: 768px) {
  .grad_bg.greeting_bg {
    padding-bottom: clamp(2.5rem, 2.8985507246vw + 1.7391304348rem, 5rem);
  }
}
.grad_bg.reverse {
  background: linear-gradient(to top, #FFF3EF 0%, #ffffff 100%);
}

.index_service_lefttxt,
.index_service_righttxt {
  position: absolute;
  top: 50%;
  left: -5px;
  transform: translateY(-50%);
  font-weight: 700;
  letter-spacing: calc(410 * 0.001em);
  line-height: 1.5;
  font-family: "Roboto Mono", sans-serif;
  font-size: clamp(0.5rem, 0.2958579882vw + 0.2921597633rem, 0.625rem);
  color: #76B391;
  writing-mode: vertical-rl;
  white-space: nowrap;
}

.index_service_righttxt {
  left: auto;
  right: -5px;
  writing-mode: vertical-lr;
}

.index_service_list {
  display: flex;
  justify-content: space-between;
  gap: clamp(0.9375rem, 2.2189349112vw + -0.6213017751rem, 1.875rem);
  padding: clamp(5rem, 2.9585798817vw + 2.9215976331rem, 6.25rem) 0;
}
@media (max-width: 1124px) {
  .index_service_list {
    flex-wrap: wrap;
    -moz-column-gap: clamp(0.9375rem, 2.6595744681vw + 0.0066489362rem, 1.875rem);
         column-gap: clamp(0.9375rem, 2.6595744681vw + 0.0066489362rem, 1.875rem);
    row-gap: clamp(5.625rem, 1.7730496454vw + 5.0044326241rem, 6.25rem);
    justify-content: center;
    padding: clamp(5rem, 3.5460992908vw + 3.7588652482rem, 6.25rem) 0 clamp(1.875rem, 5.3191489362vw + 0.0132978723rem, 3.75rem);
  }
}
@media (max-width: 560px) {
  .index_service_list {
    flex-direction: column;
    align-items: center;
    gap: 120px;
  }
}

.index_service_li {
  position: relative;
  border-radius: 50%;
  width: calc(33.33% - clamp(0.9375rem, 2.2189349112vw + -0.6213017751rem, 1.875rem) / 2);
  aspect-ratio: 1/1;
  background-color: #fff;
  box-shadow: clamp(0.3125rem, 0.5072463768vw + 0.1793478261rem, 0.75rem) clamp(0.375rem, 0.5797101449vw + 0.222826087rem, 0.875rem) clamp(0.25rem, 0.5072463768vw + 0.1168478261rem, 0.6875rem) 0px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.index_service_li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: clamp(0.3125rem, 1.1834319527vw + -0.5188609467rem, 0.8125rem) solid rgba(245, 245, 245, 0.5);
  border-radius: 50%;
  z-index: 1;
}
@media (max-width: 1124px) {
  .index_service_li {
    width: calc(50% - clamp(0.9375rem, 2.6595744681vw + 0.0066489362rem, 1.875rem) / 2);
  }
}
@media (max-width: 560px) {
  .index_service_li {
    width: min(100%, 300px);
  }
}

.index_service_txt {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: clamp(16.125rem, 10.3225806452vw + 12.5120967742rem, 24.125rem);
  aspect-ratio: 386/166;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  padding-bottom: clamp(1.25rem, 0.7246376812vw + 1.0597826087rem, 1.875rem);
  font-weight: 700;
  letter-spacing: calc(20 * 0.001em);
  line-height: 1.4;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(0.9375rem, 0.4032258065vw + 0.7963709677rem, 1.25rem);
  color: #1A1A1A;
  z-index: 2;
}
@media (max-width: 560px) {
  .index_service_txt {
    width: clamp(15.625rem, 78.5714285714vw + -5rem, 22.5rem);
    font-size: clamp(0.9375rem, 3.5714285714vw + 0rem, 1.25rem);
  }
}
.index_service_txt.index_service_txt_01 {
  background: url(../images/frame1.png) no-repeat center/contain;
}
.index_service_txt.index_service_txt_02 {
  background: url(../images/frame2.png) no-repeat center/contain;
}
.index_service_txt.index_service_txt_03 {
  background: url(../images/frame3.png) no-repeat center/contain;
}

.index_service_ill {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 50%;
}
.index_service_ill img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.gallery_wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  width: calc(100% - 5vw);
  margin-top: clamp(5rem, 8.6956521739vw + 2.7173913043rem, 12.5rem);
  margin-left: 5vw;
}
@media (max-width: 768px) {
  .gallery_wrapper {
    flex-direction: column-reverse;
    align-items: flex-end;
    margin-left: 0;
    gap: clamp(2.5rem, 11.4942528736vw + -0.5172413793rem, 5rem);
  }
}

.gallery_right {
  display: flex;
  flex-direction: column;
  width: 58%;
  gap: clamp(2.5rem, 30.0387596899vw + -11.9186046512rem, 21.875rem);
}
@media (max-width: 768px) {
  .gallery_right {
    width: 90%;
    gap: clamp(1.875rem, 2.8735632184vw + 1.1206896552rem, 2.5rem);
  }
}

.index_service_gallery01,
.index_service_gallery02,
.index_service_gallery03 {
  overflow: hidden;
  border-radius: 10px;
}
.index_service_gallery01 img,
.index_service_gallery02 img,
.index_service_gallery03 img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.index_service_gallery01 {
  width: 30%;
  aspect-ratio: 56/75;
}
@media (max-width: 768px) {
  .index_service_gallery01 {
    width: 54%;
  }
}

.index_service_gallery02 {
  width: 55%;
  aspect-ratio: 600/445;
  margin-left: 45%;
}

.index_service_gallery03 {
  width: 63%;
  aspect-ratio: 700/445;
}

.index_works_wrapper {
  padding-bottom: clamp(5rem, 8.6956521739vw + 2.7173913043rem, 12.5rem);
}

.works_unit {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  -moz-column-gap: clamp(1.25rem, 1.4792899408vw + 0.2107988166rem, 1.875rem);
       column-gap: clamp(1.25rem, 1.4792899408vw + 0.2107988166rem, 1.875rem);
  row-gap: clamp(3.125rem, 1.4792899408vw + 2.0857988166rem, 3.75rem);
  text-align: left;
  padding: clamp(1.875rem, 2.1739130435vw + 1.3043478261rem, 3.75rem) 0 clamp(1.875rem, 2.1739130435vw + 1.3043478261rem, 3.75rem);
}
.works_unit.archive_works_unit {
  padding: clamp(5rem, 5.7971014493vw + 3.4782608696rem, 10rem) 0 clamp(1.875rem, 2.1739130435vw + 1.3043478261rem, 3.75rem);
}
@media (max-width: 1124px) {
  .works_unit {
    -moz-column-gap: clamp(1.25rem, 1.5527950311vw + 0.7841614907rem, 1.875rem);
         column-gap: clamp(1.25rem, 1.5527950311vw + 0.7841614907rem, 1.875rem);
    row-gap: 50px;
  }
}

.works_list {
  width: calc((100% - clamp(1.25rem, 1.4792899408vw + 0.2107988166rem, 1.875rem) * 3) / 3);
}
@media (max-width: 1124px) {
  .works_list {
    width: calc((100% - clamp(1.25rem, 1.5527950311vw + 0.7841614907rem, 1.875rem) * 1) / 2);
  }
}
@media (max-width: 480px) {
  .works_list {
    width: 100%;
  }
}

.works_cat {
  display: inline-block;
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(0.9375rem, 0.2173913043vw + 0.8804347826rem, 1.125rem);
  background-color: #76B391;
  color: #fff;
  padding: clamp(0.125rem, 0.0724637681vw + 0.1059782609rem, 0.1875rem) clamp(0.9375rem, 0.3623188406vw + 0.8423913043rem, 1.25rem) clamp(0.125rem, 0.1449275362vw + 0.0869565217rem, 0.25rem);
  margin-bottom: clamp(0.5rem, 0.1449275362vw + 0.4619565217rem, 0.625rem);
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
}

.works_img {
  width: 100%;
  aspect-ratio: 250/210;
  overflow: hidden;
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
}
.works_img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
.works_img .cmn_noimg {
  cursor: pointer;
}
.works_img .cmn_noimg::before {
  transition: transform 0.3s ease;
}
@media (min-width: 769px) {
  .works_img:hover {
    opacity: 1;
  }
  .works_img:hover img {
    transform: scale(1.1);
  }
  .works_img:hover .cmn_noimg::before {
    transform: scale(1.1);
  }
}

body.archive .works_img:hover .cmn_noimg {
  cursor: default;
}
body.archive .works_img:hover .cmn_noimg::before {
  transform: none;
}

.works_ttl {
  font-weight: 700;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1.0625rem, 0.2173913043vw + 1.0054347826rem, 1.25rem);
  color: #1A1A1A;
  margin-top: clamp(0.9375rem, 0.3623188406vw + 0.8423913043rem, 1.25rem);
}

.works_content,
.works_data_wrapper {
  width: 100%;
  padding-top: clamp(0.9375rem, 0.3623188406vw + 0.8423913043rem, 1.25rem);
  margin-top: clamp(0.9375rem, 0.3623188406vw + 0.8423913043rem, 1.25rem);
  border-top: 1px solid #76B391;
}

.works-data_list {
  display: flex;
  justify-content: space-between;
  gap: 15px;
}
.works-data_list:not(:first-child) {
  margin-top: clamp(0.625rem, 0.3623188406vw + 0.5298913043rem, 0.9375rem);
}
.works-data_list dt {
  width: 30%;
}
.works-data_list dd {
  flex: 1;
}

.news_wrapper {
  display: flex;
  gap: clamp(1.875rem, 25.1479289941vw + -15.7914201183rem, 12.5rem);
  padding-top: clamp(1.875rem, 10.8695652174vw + -0.9782608696rem, 11.25rem);
  padding-bottom: clamp(3.75rem, 10.1449275362vw + 1.0869565217rem, 12.5rem);
  background-color: #FFF3EF;
}
@media (max-width: 768px) {
  .news_wrapper {
    flex-direction: column;
  }
}

.cmn_ttl.news_ttl .cmn_sub_ttl {
  width: clamp(9.375rem, 1.9379844961vw + 8.4447674419rem, 10.625rem);
  font-family: "Roboto Mono", sans-serif;
}

.news_unit {
  flex: 1;
}

.news_block {
  border-bottom: 1px solid #DDD1CD;
}
.news_block:first-child {
  border-top: 1px solid #DDD1CD;
}
.news_block:not(:has(.news_link)) {
  padding: clamp(1.25rem, 1.4492753623vw + 0.8695652174rem, 2.5rem) 0;
}

.news_link {
  display: block;
  padding: clamp(1.25rem, 1.4492753623vw + 0.8695652174rem, 2.5rem) 0;
  transition: all all 0.3s ease;
}
@media (min-width: 769px) {
  .news_link:hover {
    background: #fbddd3;
  }
}

.news_item {
  display: flex;
  gap: clamp(1.875rem, 8.875739645vw + -4.3602071006rem, 5.625rem);
  align-items: center;
}
@media (max-width: 1124px) {
  .news_item {
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(0.625rem, 1.4204545455vw + 0.2521306818rem, 1.25rem);
  }
}

.news_date {
  flex: 0 0 clamp(5.625rem, 0.9689922481vw + 5.1598837209rem, 6.25rem);
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.15;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1.0625rem, 0.2173913043vw + 1.0054347826rem, 1.25rem);
  color: #1A1A1A;
  margin-bottom: clamp(0.5rem, 0.1449275362vw + 0.4619565217rem, 0.625rem);
}
@media (max-width: 1124px) {
  .news_date {
    flex: none;
    width: 100%;
  }
}

.news_category {
  flex: 0 0 clamp(6.25rem, 1.9379844961vw + 5.3197674419rem, 7.5rem);
  font-weight: 700;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(0.9375rem, 0.2173913043vw + 0.8804347826rem, 1.125rem);
  color: #fff;
  padding: clamp(0.125rem, 0.4347826087vw + 0.0108695652rem, 0.5rem) clamp(0.625rem, 0.3623188406vw + 0.5298913043rem, 0.9375rem);
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  text-align: center;
  background-color: #76B391;
}
.news_category.color-1 {
  background-color: #e67e22;
}
.news_category.color-2 {
  background-color: #3498db;
}
.news_category.color-3 {
  background-color: #2ecc71;
}
.news_category.color-4 {
  background-color: #9b59b6;
}
.news_category.color-5 {
  background-color: #f39c12;
}
@media (max-width: 1124px) {
  .news_category {
    flex: none;
  }
}

.news_contents {
  flex: 1;
  font-weight: 700;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1rem, 0.2898550725vw + 0.9239130435rem, 1.25rem);
  color: #1A1A1A;
}

.news_arrow {
  position: relative;
  display: inline-block;
  width: clamp(1.625rem, 0.484496124vw + 1.3924418605rem, 1.9375rem);
  aspect-ratio: 1/1;
  margin-left: clamp(0.5rem, 0.1937984496vw + 0.4069767442rem, 0.625rem);
  background-color: #D3785C;
  border-radius: 50%;
}
.news_arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 55%;
  transform: translate(-50%, -50%);
  width: clamp(0.625rem, 0.0968992248vw + 0.5784883721rem, 0.6875rem);
  aspect-ratio: 11/14;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: url(../images/arrow01.svg);
          mask-image: url(../images/arrow01.svg);
  -webkit-mask-size: clamp(0.625rem, 0.0724637681vw + 0.6059782609rem, 0.6875rem) auto;
          mask-size: clamp(0.625rem, 0.0724637681vw + 0.6059782609rem, 0.6875rem) auto;
  background-color: #fff;
  z-index: 1;
}

/*-------------------------------------------------------------------------------
  service
--------------------------------------------------------------------------------*/
.problem_wrapper {
  position: relative;
  width: 100%;
  margin: clamp(1.25rem, 7.2463768116vw + -0.652173913rem, 7.5rem) auto clamp(3.125rem, 10.8695652174vw + 0.2717391304rem, 12.5rem);
}

.problem_unit {
  max-width: calc(var(--wrapper_width) + 18vw);
  padding: clamp(1.25rem, 1.9379844961vw + 0.3197674419rem, 2.5rem) 10vw clamp(3.125rem, 4.8449612403vw + 0.7994186047rem, 6.25rem) 8vw;
}
@media (max-width: 768px) {
  .problem_unit {
    padding: 20px 5vw 150px;
  }
}

.problem_ttl {
  position: relative;
}
.problem_ttl::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(-1 * clamp(0.625rem, 0.3623188406vw + 0.5298913043rem, 0.9375rem));
  right: clamp(3.125rem, 1.4492753623vw + 2.7445652174rem, 4.375rem);
  width: clamp(1.25rem, 1.1627906977vw + 0.6918604651rem, 2rem);
  aspect-ratio: 32/60;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: url(../images/icon_problem.svg);
          mask-image: url(../images/icon_problem.svg);
  -webkit-mask-size: clamp(1.25rem, 0.8695652174vw + 1.0217391304rem, 2rem) auto;
          mask-size: clamp(1.25rem, 0.8695652174vw + 1.0217391304rem, 2rem) auto;
  background-color: #A8CBE6;
  z-index: 1;
}

.problem_list {
  margin-top: calc(-1 * clamp(1.875rem, 2.1739130435vw + 1.3043478261rem, 3.75rem));
  margin-bottom: clamp(1.25rem, 3.6231884058vw + 0.2989130435rem, 4.375rem);
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.25rem, 1.4492753623vw + 0.8695652174rem, 2.5rem);
}
.problem_li {
  font-weight: 700;
  letter-spacing: calc(0 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1rem, 0.1449275362vw + 0.9619565217rem, 1.125rem);
  color: #1A1A1A;
  background-color: #DEF0FF;
  border: solid clamp(0.1875rem, 0.1449275362vw + 0.1494565217rem, 0.3125rem) #C2E1FF;
  padding: clamp(0.625rem, 0.7246376812vw + 0.4347826087rem, 1.25rem) clamp(1.25rem, 1.4492753623vw + 0.8695652174rem, 2.5rem);
  border-radius: clamp(1.875rem, 1.4492753623vw + 1.4945652174rem, 3.125rem);
}
.problem_li:first-child {
  margin-left: clamp(25rem, 19.3798449612vw + 15.6976744186rem, 37.5rem);
}
@media (max-width: 768px) {
  .problem_li:first-child {
    margin-left: auto;
    margin-top: clamp(1.875rem, 5.7471264368vw + 0.3663793103rem, 3.125rem);
  }
}
@media (max-width: 768px) {
  .problem_li {
    flex: 0 0 100%;
  }
}

.problem_txt {
  margin-right: clamp(0rem, 62.1118012422vw + -18.6335403727rem, 25rem);
}

.problem_ill {
  position: absolute;
  bottom: -90px;
  right: clamp(1.875rem, 8.7209302326vw + -2.3110465116rem, 7.5rem);
  z-index: 1;
  width: clamp(9.125rem, 13.4057971014vw + 5.6059782609rem, 20.6875rem);
  aspect-ratio: 331/576;
}
@media (max-width: 768px) {
  .problem_ill {
    bottom: -80px;
  }
}
.problem_ill img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.point_wrapper {
  position: relative;
  width: 100%;
  padding-right: 8vw;
  margin-top: clamp(8.125rem, 5.0724637681vw + 6.7934782609rem, 12.5rem);
}
@media (max-width: 768px) {
  .point_wrapper {
    padding: 0 5vw;
  }
}

.point_unit {
  width: 100%;
  display: flex;
  gap: 6vw;
  margin-bottom: clamp(2.5rem, 7.9710144928vw + 0.4076086957rem, 9.375rem);
}
@media (max-width: 768px) {
  .point_unit {
    flex-direction: column-reverse;
    align-items: center;
  }
}

.point_img {
  display: block;
  width: 40vw;
  aspect-ratio: 5/3;
  border-radius: 0 clamp(0.3125rem, 0.484496124vw + 0.0799418605rem, 0.625rem) clamp(0.3125rem, 0.484496124vw + 0.0799418605rem, 0.625rem) 0;
  overflow: hidden;
}
.point_img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 768px) {
  .point_img {
    width: min(100%, 450px);
    border-radius: 5px;
  }
}

.point_txt {
  flex: 1;
}
@media (max-width: 768px) {
  .point_txt {
    width: 100%;
  }
}

.point_ttl {
  display: flex;
  align-items: center;
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1.625rem, 0.652173913vw + 1.4538043478rem, 2.1875rem);
  color: #1A1A1A;
  margin-bottom: clamp(0.9375rem, 1.0869565217vw + 0.652173913rem, 1.875rem);
}
@media (max-width: 768px) {
  .point_ttl {
    align-items: flex-start;
    flex-direction: column;
  }
}

.point_num {
  position: relative;
  display: flex;
  align-items: center;
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1;
  font-family: "Roboto Mono", sans-serif;
  font-size: clamp(2rem, 2.3188405797vw + 1.3913043478rem, 4rem);
  color: #76B391;
  margin-right: clamp(0.625rem, 1.4492753623vw + 0.2445652174rem, 1.875rem);
  white-space: nowrap;
}
.point_num::before {
  content: "POINT";
  margin-right: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  color: #267044;
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1;
  font-family: "Roboto Mono", sans-serif;
  font-size: clamp(0.875rem, 0.4347826087vw + 0.7608695652rem, 1.25rem);
  border-left: 5px solid #267044;
  padding-left: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  white-space: nowrap;
}

.point_ttl_txt {
  display: block;
  border-bottom: 1px solid #76B391;
  padding-bottom: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
}
@media (max-width: 768px) {
  .point_ttl_txt {
    width: 100%;
  }
}

.voice_list {
  margin-top: clamp(1.875rem, 4.347826087vw + 0.7336956522rem, 5.625rem);
  padding-bottom: clamp(1.875rem, 8.6956521739vw + -0.4076086957rem, 9.375rem);
}

.voice_unit {
  display: flex;
  gap: clamp(2.875rem, 2.9069767442vw + 1.4796511628rem, 4.75rem);
  margin-bottom: clamp(0.9375rem, 1.4534883721vw + 0.2398255814rem, 1.875rem);
  text-align: left;
}
@media (max-width: 768px) {
  .voice_unit {
    flex-direction: column;
    gap: 30px;
    margin-bottom: clamp(2.5rem, 5.7471264368vw + 0.9913793103rem, 3.75rem);
  }
}

.voice_img_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(0.625rem, 0.3623188406vw + 0.5298913043rem, 0.9375rem);
}

.voice_img {
  width: clamp(9.375rem, 6.231884058vw + 7.7391304348rem, 14.75rem);
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
}

.voice_meta {
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.15;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1rem, 0.2898550725vw + 0.9239130435rem, 1.25rem);
  color: #267044;
  text-align: center;
}

.voice_live {
  margin-right: 15px;
}

.voice_block {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: clamp(0.9375rem, 2.5362318841vw + 0.2717391304rem, 3.125rem) clamp(0.9375rem, 3.2608695652vw + 0.0815217391rem, 3.75rem);
  background-color: #FFF3EF;
  border-radius: clamp(0.625rem, 0.7246376812vw + 0.4347826087rem, 1.25rem);
}
.voice_block::before {
  content: "";
  position: absolute;
  top: clamp(3.75rem, 3.8759689922vw + 1.8895348837rem, 6.25rem);
  left: calc(-1 * clamp(1.1875rem, 0.6782945736vw + 0.8619186047rem, 1.625rem));
  width: 27px;
  aspect-ratio: 27/40;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: url(../images/icon_quote.svg);
          mask-image: url(../images/icon_quote.svg);
  -webkit-mask-size: clamp(1.25rem, 0.5072463768vw + 1.1168478261rem, 1.6875rem) auto;
          mask-size: clamp(1.25rem, 0.5072463768vw + 1.1168478261rem, 1.6875rem) auto;
  background-color: #FFF3EF;
  z-index: 1;
}
@media (max-width: 768px) {
  .voice_block::before {
    top: -26px;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
}

.voice_ttl {
  display: block;
  font-weight: 700;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1.8;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1.125rem, 0.4347826087vw + 1.0108695652rem, 1.5rem);
  color: #1A1A1A;
  padding-bottom: clamp(0.5rem, 0.2898550725vw + 0.4239130435rem, 0.75rem);
  margin-bottom: clamp(0.625rem, 0.7246376812vw + 0.4347826087rem, 1.25rem);
  border-bottom: 1px solid #D3785C;
}

.voice_item {
  display: flex;
  align-items: center;
  gap: clamp(0.625rem, 0.7246376812vw + 0.4347826087rem, 1.25rem);
  margin-bottom: clamp(1.25rem, 1.4492753623vw + 0.8695652174rem, 2.5rem);
}

.voice_request {
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1rem, 0.1449275362vw + 0.9619565217rem, 1.125rem);
  color: #fff;
  background-color: #D3785C;
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  padding: clamp(0.0625rem, 0.0724637681vw + 0.0434782609rem, 0.125rem) clamp(0.9375rem, 0.3623188406vw + 0.8423913043rem, 1.25rem);
  white-space: nowrap;
}

.parallax_box {
  position: relative;
  width: 100%;
  height: clamp(12.5rem, 14.4927536232vw + 8.6956521739rem, 25rem);
  overflow: hidden;
}

.parallax_content {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-image: url("../images/parallax_service.jpg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.faq_wrapper {
  position: relative;
  margin: clamp(5rem, 7.2463768116vw + 3.097826087rem, 11.25rem) auto clamp(3.75rem, 7.2463768116vw + 1.847826087rem, 10rem);
}

.faq_unit {
  width: 100%;
  margin-top: clamp(1.25rem, 2.8985507246vw + 0.4891304348rem, 3.75rem);
}

.faq_list {
  margin-bottom: clamp(0.9375rem, 0.3623188406vw + 0.8423913043rem, 1.25rem);
}

.faq-question {
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
  padding: clamp(0.9375rem, 1.8115942029vw + 0.4619565217rem, 2.5rem) clamp(3.25rem, 4.9275362319vw + 1.9565217391rem, 7.5rem) clamp(1.25rem, 1.8115942029vw + 0.7744565217rem, 2.8125rem) clamp(0.9375rem, 1.8115942029vw + 0.4619565217rem, 2.5rem);
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  background-color: #E5F5EC;
  overflow: hidden;
  transition: background-color 0.3s ease;
}
.faq-question:hover {
  background-color: #cae7d6;
}
.faq-question.is-open {
  background-color: #E5F5EC;
}
.faq-question::before {
  content: "Q";
  position: inline-block;
  font-weight: 700;
  letter-spacing: calc(0 * 0.001em);
  line-height: 1;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1.75rem, 1.4492753623vw + 1.3695652174rem, 3rem);
  color: #76B391;
  margin-right: clamp(0.9375rem, 1.0869565217vw + 0.652173913rem, 1.875rem);
}
.faq-question::after {
  content: "";
  display: none;
  position: absolute;
  bottom: 0;
  left: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  right: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  height: 1px;
  background: repeating-linear-gradient(to right, #76B391 0 9px, transparent 9px 18px);
}
.faq-question.is-open::after {
  display: block;
}

.toggle-icon {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(1.25rem, 1.8115942029vw + 0.7744565217rem, 2.8125rem);
  width: clamp(1.625rem, 0.3623188406vw + 1.5298913043rem, 1.9375rem);
  aspect-ratio: 1/1;
  background-color: #76B391;
  border-radius: 50%;
}
.toggle-icon::before {
  position: absolute;
  content: "";
  width: clamp(1.625rem, 0.3623188406vw + 1.5298913043rem, 1.9375rem);
  aspect-ratio: 11/14;
  background-color: #fff;
  -webkit-mask-image: url(../images/arrow01.svg);
          mask-image: url(../images/arrow01.svg);
  -webkit-mask-position: 55% center;
          mask-position: 55% center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: clamp(0.5rem, 0.2173913043vw + 0.4429347826rem, 0.6875rem) auto;
          mask-size: clamp(0.5rem, 0.2173913043vw + 0.4429347826rem, 0.6875rem) auto;
  z-index: 1;
  transform: rotate(-90deg);
  transform-origin: center center;
  transition: transform 0.4s ease-in-out;
}

.faq-question.is-open .toggle-icon::before {
  transform: rotate(90deg);
}

.faq-answer {
  display: none;
  position: relative;
  padding: clamp(1.25rem, 2.1739130435vw + 0.6793478261rem, 3.125rem) clamp(1.25rem, 2.1739130435vw + 0.6793478261rem, 3.125rem) clamp(1.5625rem, 3.2608695652vw + 0.7065217391rem, 4.375rem);
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  background-color: #E5F5EC;
  overflow: hidden;
}

/*-------------------------------------------------------------------------------
  works
--------------------------------------------------------------------------------*/
.works_wrapper {
  position: relative;
  margin: clamp(1.25rem, 7.2463768116vw + -0.652173913rem, 7.5rem) auto clamp(3.125rem, 10.8695652174vw + 0.2717391304rem, 12.5rem);
}

.works_ill {
  position: absolute;
  top: calc(-1 * clamp(1.875rem, 6.7829457364vw + -1.3808139535rem, 6.25rem));
  right: clamp(1.25rem, 3.8759689922vw + -0.6104651163rem, 3.75rem);
  z-index: 1;
  width: clamp(7.5rem, 17.5362318841vw + 2.8967391304rem, 22.625rem);
  aspect-ratio: 362/512;
}
@media (max-width: 768px) {
  .works_ill {
    top: calc(-1 * clamp(1.25rem, 0.9689922481vw + 0.7848837209rem, 1.875rem));
  }
}
.works_ill img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.works-cate_wrapper {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(0.9375rem, 1.0869565217vw + 0.652173913rem, 1.875rem);
  width: 100%;
  padding: clamp(0.9375rem, 1.6129032258vw + 0.372983871rem, 2.1875rem) clamp(6.25rem, 4.0322580645vw + 4.8387096774rem, 9.375rem) clamp(0.9375rem, 1.6129032258vw + 0.372983871rem, 2.1875rem) clamp(1.25rem, 1.6129032258vw + 0.685483871rem, 2.5rem);
  background-color: #E5F5EC;
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  margin-top: clamp(0rem, 4.347826087vw + -1.1413043478rem, 3.75rem);
}
@media (max-width: 560px) {
  .works-cate_wrapper {
    padding: 15px 5vw;
  }
}

.works-cate_li {
  font-weight: 700;
  letter-spacing: calc(0 * 0.001em);
  line-height: 1.15;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1rem, 0.2898550725vw + 0.9239130435rem, 1.25rem);
}
.works-cate_li a {
  color: #fff;
  padding: clamp(0.3125rem, 0.2173913043vw + 0.2554347826rem, 0.5rem) clamp(1.25rem, 1.4492753623vw + 0.8695652174rem, 2.5rem);
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  background-color: #76B391;
  cursor: pointer;
}
@media (min-width: 769px) {
  .works-cate_li a:hover {
    background-color: rgb(87.7746478873, 158.2253521127, 118.9577464789);
  }
}
.works-cate_li.current {
  padding: clamp(0.3125rem, 0.2173913043vw + 0.2554347826rem, 0.5rem) clamp(1.25rem, 1.4492753623vw + 0.8695652174rem, 2.5rem);
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  background-color: #fff;
  color: #76B391;
  cursor: default;
}

/*---------- ページネーション ----------*/
.pagination_wrapper {
  margin-top: 120px;
}

.nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(0.625rem, 0.7246376812vw + 0.4347826087rem, 1.25rem);
}

.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(2.5rem, 1.4492753623vw + 2.1195652174rem, 3.75rem);
  aspect-ratio: 1/1;
  background: #FFF3EF;
  color: #D3785C;
  border-radius: clamp(0.1875rem, 0.1449275362vw + 0.1494565217rem, 0.3125rem);
  font-weight: 700;
  letter-spacing: calc(0 * 0.001em);
  line-height: 1.1;
  font-family: "Roboto Mono", sans-serif;
  font-size: clamp(1.125rem, 0.5797101449vw + 0.972826087rem, 1.625rem);
  transition: all 0.3s ease;
}
.page-numbers.dots {
  background: none;
  width: clamp(1.25rem, 0.7246376812vw + 1.0597826087rem, 1.875rem);
}
.page-numbers.dots:hover {
  background: none;
}
@media (min-width: 769px) {
  .page-numbers:hover {
    background: #fbddd3;
  }
}
.page-numbers.current {
  background: #D3785C;
  color: #fff;
}
.page-numbers.prev, .page-numbers.next {
  width: clamp(2.5rem, 1.4492753623vw + 2.1195652174rem, 3.75rem);
  aspect-ratio: 1/1;
  transition: all 0.3s ease;
}
.page-numbers.prev {
  margin-right: clamp(0.625rem, 2.8985507246vw + -0.1358695652rem, 3.125rem);
}
.page-numbers.next {
  margin-left: clamp(0.625rem, 2.8985507246vw + -0.1358695652rem, 3.125rem);
}

/*-------------------------------------------------------------------------------
  company
--------------------------------------------------------------------------------*/
.greeting_wrapper {
  position: relative;
  width: 100%;
  margin-bottom: clamp(3.75rem, 10.1449275362vw + 1.0869565217rem, 12.5rem);
}

.greeting_unit {
  position: relative;
  width: 100%;
  padding-left: 10vw;
  margin-top: clamp(0rem, 7.2463768116vw + -1.902173913rem, 6.25rem);
  display: flex;
  gap: 6vw;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .greeting_unit {
    padding: 0 5vw;
    flex-direction: column-reverse;
    align-items: center;
  }
}

.greeting_img {
  display: block;
  width: 40vw;
  aspect-ratio: 695/764;
  border-radius: clamp(0.3125rem, 0.484496124vw + 0.0799418605rem, 0.625rem) 0 0 clamp(0.3125rem, 0.484496124vw + 0.0799418605rem, 0.625rem);
  overflow: hidden;
}
@media (max-width: 768px) {
  .greeting_img {
    width: min(100%, 450px);
    border-radius: 5px;
  }
}
.greeting_img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.greeting_block {
  flex: 1;
}
@media (max-width: 768px) {
  .greeting_block {
    width: 100%;
  }
}

.greeting_name {
  display: block;
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1.375rem, 0.7246376812vw + 1.1847826087rem, 2rem);
  color: #1A1A1A;
  margin-top: clamp(0.625rem, 0.7246376812vw + 0.4347826087rem, 1.25rem);
  text-align: right;
}
.greeting_name span {
  font-weight: 400;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.15;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1rem, 0.652173913vw + 0.8288043478rem, 1.5625rem);
  margin-right: clamp(0.625rem, 0.7246376812vw + 0.4347826087rem, 1.25rem);
}

.interview_wrapper {
  position: relative;
  width: 100%;
  margin-bottom: clamp(6.25rem, 7.2463768116vw + 4.347826087rem, 12.5rem);
  counter-reset: number 0;
}

.interview_list {
  margin: clamp(1.25rem, 5.7971014493vw + -0.2717391304rem, 6.25rem) auto clamp(2.5rem, 1.4492753623vw + 2.1195652174rem, 3.75rem);
}

.interview_unit {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 6vw;
  padding-right: 8vw;
}
.interview_unit:not(:first-child) {
  margin-top: clamp(5rem, 5.0724637681vw + 3.6684782609rem, 9.375rem);
}
@media (max-width: 768px) {
  .interview_unit {
    flex-direction: column;
    align-items: center;
    padding: 0 5vw;
  }
}

.interview_img {
  position: relative;
  display: block;
  width: 40vw;
  aspect-ratio: 5/3;
  border-radius: 0 clamp(0.3125rem, 0.484496124vw + 0.0799418605rem, 0.625rem) clamp(0.3125rem, 0.484496124vw + 0.0799418605rem, 0.625rem) 0;
  overflow: hidden;
}
.interview_img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 768px) {
  .interview_img {
    width: min(100%, 450px);
    border-radius: 5px;
  }
}

.interview_item {
  display: flex;
  align-items: center;
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: #fff;
  padding: clamp(0.9375rem, 0.7246376812vw + 0.7472826087rem, 1.5625rem) clamp(1.25rem, 0.7246376812vw + 1.0597826087rem, 1.875rem) clamp(0rem, 0.1449275362vw + -0.0380434783rem, 0.125rem) clamp(1.5625rem, 0.7246376812vw + 1.3722826087rem, 2.1875rem);
  border-radius: clamp(1.25rem, 1.4492753623vw + 0.8695652174rem, 2.5rem) 0 0 0;
}
.interview_item::before {
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero);
  display: inline-block;
  padding-right: clamp(0.9375rem, 1.0869565217vw + 0.652173913rem, 1.875rem);
  margin-right: clamp(0.9375rem, 1.0869565217vw + 0.652173913rem, 1.875rem);
  color: #76B391;
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1;
  font-family: "Roboto Mono", sans-serif;
  font-size: clamp(2.625rem, 3.0434782609vw + 1.8260869565rem, 5.25rem);
  vertical-align: middle;
  border-right: solid 1px #76B391;
}

.profile_block {
  display: flex;
  flex-direction: column;
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.15;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1.375rem, 0.8695652174vw + 1.1467391304rem, 2.125rem);
  color: #1A1A1A;
}
.profile_block .career {
  display: block;
  font-size: clamp(0.9375rem, 0.3623188406vw + 0.8423913043rem, 1.25rem);
}

.interview_block {
  flex: 1;
}
@media (max-width: 768px) {
  .interview_block {
    width: 100%;
  }
}

.interview_faq:not(:first-child) {
  margin-top: clamp(1.875rem, 2.1739130435vw + 1.3043478261rem, 3.75rem);
}

.interview_question {
  display: inline-flex;
  align-items: center;
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1.0625rem, 0.652173913vw + 0.8913043478rem, 1.625rem);
  color: #1A1A1A;
  margin-bottom: clamp(0.625rem, 0.9689922481vw + 0.1598837209rem, 1.25rem);
}
.interview_question::before {
  content: "Q";
  margin-right: clamp(0.625rem, 0.7246376812vw + 0.4347826087rem, 1.25rem);
  color: #76B391;
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1.5rem, 1.1594202899vw + 1.1956521739rem, 2.5rem);
  vertical-align: middle;
}
@media (max-width: 768px) {
  .interview_question {
    margin-bottom: 20px;
  }
}

.interview_answer {
  position: relative;
  padding: clamp(1.25rem, 1.4492753623vw + 0.8695652174rem, 2.5rem) clamp(1.875rem, 2.1739130435vw + 1.3043478261rem, 3.75rem);
  background-color: #E5F5EC;
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
}
.interview_answer::before {
  content: "";
  position: absolute;
  top: clamp(3.75rem, 3.8759689922vw + 1.8895348837rem, 6.25rem);
  left: calc(-1 * clamp(1.1875rem, 0.6782945736vw + 0.8619186047rem, 1.625rem));
  width: 27px;
  aspect-ratio: 27/40;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: url(../images/icon_quote.svg);
          mask-image: url(../images/icon_quote.svg);
  -webkit-mask-size: clamp(1.25rem, 0.5072463768vw + 1.1168478261rem, 1.6875rem) auto;
          mask-size: clamp(1.25rem, 0.5072463768vw + 1.1168478261rem, 1.6875rem) auto;
  background-color: #E5F5EC;
  z-index: 1;
}
@media (max-width: 768px) {
  .interview_answer::before {
    top: -26px;
    left: 20%;
    transform: rotate(90deg);
  }
}

.overview_wrapper {
  position: relative;
  width: 100%;
  margin-bottom: clamp(6.25rem, 7.2463768116vw + 4.347826087rem, 12.5rem);
}

.overview_ttl {
  margin-right: clamp(15.625rem, -9.6899224806vw + 20.2761627907rem, 9.375rem);
}
.overview_ttl .overview_br {
  display: none;
}
@media (max-width: 768px) {
  .overview_ttl {
    margin-right: clamp(0rem, 57.4712643678vw + -15.0862068966rem, 12.5rem);
  }
  .overview_ttl .overview_br {
    display: block;
  }
}
@media (max-width: 420px) {
  .overview_ttl .overview_br {
    display: none;
  }
}

.overview_unit {
  position: relative;
  display: flex;
  gap: 7vw;
  width: 100%;
  align-items: flex-start;
  margin-top: clamp(2.5rem, 4.8449612403vw + 0.1744186047rem, 5.625rem);
}
@media (max-width: 768px) {
  .overview_unit {
    flex-direction: column;
    margin-top: clamp(3.125rem, -2.8735632184vw + 3.8793103448rem, 2.5rem);
  }
}

.overview_list {
  width: 50vw;
  background-color: #fff;
}
@media (max-width: 768px) {
  .overview_list {
    width: 100%;
  }
}

.overview_item {
  display: flex;
  gap: clamp(0.3125rem, 0.7246376812vw + 0.1222826087rem, 0.9375rem);
  padding: clamp(0.9375rem, 1.0869565217vw + 0.652173913rem, 1.875rem) clamp(1.25rem, 2.1739130435vw + 0.6793478261rem, 3.125rem);
  border-bottom: 1px solid #76B391;
}
@media (max-width: 560px) {
  .overview_item {
    flex-direction: column;
  }
}
.overview_item:first-child {
  border-top: 1px solid #76B391;
}
.overview_item dt {
  flex: 0 0 120px;
}
@media (max-width: 560px) {
  .overview_item dt {
    width: 100%;
    flex: 0 0 20px;
  }
}
.overview_item dd {
  flex: 1;
}

.access_map {
  position: relative;
  width: 43vw;
  aspect-ratio: 67/65;
  overflow: hidden;
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
}
.access_map iframe {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 768px) {
  .access_map {
    width: 100%;
    aspect-ratio: auto;
    height: clamp(15.625rem, 14.367816092vw + 11.8534482759rem, 18.75rem);
    margin-top: clamp(1.875rem, 1.4492753623vw + 1.4945652174rem, 3.125rem);
  }
}

.access_ill {
  position: absolute;
  top: calc(-1 * clamp(11.25rem, 11.6279069767vw + 5.6686046512rem, 18.75rem));
  right: clamp(1.25rem, 2.9069767442vw + -0.1453488372rem, 3.125rem);
  z-index: 1;
  width: clamp(15rem, 12.2093023256vw + 9.1395348837rem, 22.875rem);
  aspect-ratio: 1/1;
  z-index: -1;
}
@media (max-width: 768px) {
  .access_ill {
    top: calc(-1 * clamp(6.25rem, 40.2298850575vw + -4.3103448276rem, 15rem));
    width: clamp(6.875rem, 40.2298850575vw + -3.6853448276rem, 15.625rem);
    right: 0;
  }
}
.access_ill img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*-------------------------------------------------------------------------------
  contact
--------------------------------------------------------------------------------*/
.contact_wrapper {
  position: relative;
  display: flex;
  width: 100%;
  margin: clamp(2.5rem, 10.1449275362vw + -0.1630434783rem, 11.25rem) auto clamp(2.5rem, 4.347826087vw + 1.3586956522rem, 6.25rem);
}
@media (max-width: 1124px) {
  .contact_wrapper {
    flex-direction: column;
    align-items: center;
  }
}

.contact_text_block {
  width: 50%;
}
@media (max-width: 1124px) {
  .contact_text_block {
    width: 100%;
    margin-bottom: clamp(1.25rem, 2.8985507246vw + 0.4891304348rem, 3.75rem);
  }
}

.contact_txt {
  margin-top: clamp(0.625rem, 2.1739130435vw + 0.0543478261rem, 2.5rem);
  margin-bottom: clamp(1.25rem, 2.8985507246vw + 0.4891304348rem, 3.75rem);
  width: 85%;
}
@media (max-width: 1124px) {
  .contact_txt {
    width: 100%;
  }
}

.contact_ill {
  position: absolute;
  top: clamp(2.5rem, -5.9171597633vw + 6.6568047337rem, 0rem);
  right: clamp(5rem, 2.9585798817vw + 2.9215976331rem, 6.25rem);
  width: clamp(30.9375rem, 55.0295857988vw + -7.7207840237rem, 54.1875rem);
  aspect-ratio: 867/479;
}
@media (max-width: 1124px) {
  .contact_ill {
    position: relative;
    width: min(90%, 600px);
    margin: 0 auto;
    top: auto;
    right: auto;
  }
}
.contact_ill img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.contact_phone_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(85%, 524px);
}
@media (max-width: 1124px) {
  .contact_phone_wrapper {
    width: min(100%, 500px);
  }
}

.contact_phone_ttl {
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.15;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1rem, 0.2898550725vw + 0.9239130435rem, 1.25rem);
  color: #1A1A1A;
  text-align: center;
  padding: clamp(0.625rem, 0.7246376812vw + 0.4347826087rem, 1.25rem);
  background-color: #E5F5EC;
  margin-bottom: clamp(0.625rem, 0.7246376812vw + 0.4347826087rem, 1.25rem);
  width: 100%;
}

.contact_phone {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  letter-spacing: calc(0 * 0.001em);
  line-height: 1;
  font-family: "Roboto Mono", sans-serif;
  font-size: clamp(3.25rem, 2.0710059172vw + 1.7951183432rem, 4.125rem);
  color: #76B391;
  white-space: nowrap;
}
@media (max-width: 1124px) {
  .contact_phone {
    font-size: clamp(2rem, 3.6931818182vw + 1.0305397727rem, 3.625rem);
  }
}
.contact_phone::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: clamp(2.5rem, 2.0710059172vw + 1.0451183432rem, 3.375rem);
  aspect-ratio: 1/1;
  margin-right: clamp(0.1875rem, 0.2958579882vw + -0.0203402367rem, 0.3125rem);
  background-color: #76B391;
  -webkit-mask: url(../images/icon_call.svg) center/contain no-repeat;
          mask: url(../images/icon_call.svg) center/contain no-repeat;
}
@media (max-width: 1124px) {
  .contact_phone::before {
    width: clamp(1.75rem, 3.6931818182vw + 0.7805397727rem, 3.375rem);
  }
}

.check_form-area {
  text-align: center;
}

.contactform_wrapper {
  margin: 0 auto;
  margin-bottom: clamp(5rem, 5.0724637681vw + 3.6684782609rem, 9.375rem);
}
.contactform_wrapper .cmn_ttl {
  margin-bottom: 0;
}

.contact_form_unit {
  display: block;
  font-size: clamp(0.9375rem, 0.2173913043vw + 0.8804347826rem, 1.125rem);
  font-weight: 500;
  letter-spacing: calc(40 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  text-align: left;
  padding-top: clamp(3.125rem, 2.1739130435vw + 2.5543478261rem, 5rem);
}
.contact_form_unit dl {
  display: flex;
  flex-direction: column;
}
.contact_form_unit dl:not(:first-child) {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .contact_form_unit dl:not(:first-child) {
    margin-top: 30px;
  }
}
.contact_form_unit dl dt {
  display: block;
  width: 100%;
  margin-bottom: clamp(0.625rem, 0.3623188406vw + 0.5298913043rem, 0.9375rem);
  font-weight: 700;
}
.contact_form_unit dl dd {
  display: block;
  width: 100%;
}
.contact_form_unit .check_zip {
  width: 470px;
}
@media (max-width: 768px) {
  .contact_form_unit .check_zip {
    width: 100%;
  }
}
.contact_form_unit .wpcf7-list-item:first-child {
  margin-left: -5px !important;
}
@media (max-width: 768px) {
  .contact_form_unit .wpcf7-list-item:first-child {
    margin-left: -12px !important;
  }
}
@media (max-width: 768px) {
  .contact_form_unit .wpcf7-list-item {
    margin-left: -12px !important;
  }
}
.contact_form_unit .form_contact_01 {
  position: relative;
}
.contact_form_unit .form_contact_01::after {
  position: absolute;
  display: block;
  top: 50%;
  left: 42%;
  content: "▼";
  font-size: clamp(0.875rem, 0.1449275362vw + 0.8369565217rem, 1rem);
  font-weight: 500;
  letter-spacing: calc(0 * 0.001em);
  line-height: 1;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  color: #A3A3A3;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  .contact_form_unit .form_contact_01::after {
    left: auto;
    right: 5vw;
  }
}
.contact_form_unit .input_short {
  width: 47%;
}
@media (max-width: 768px) {
  .contact_form_unit .input_short {
    width: 100%;
  }
}
.step-confirm .contact_form_unit dl {
  display: flex;
  flex-direction: row;
  gap: 30px;
  align-items: center;
  padding: 0 0 30px 0;
  border-bottom: 1px solid #76B391;
  margin-top: 0;
  margin-bottom: 30px;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .step-confirm .contact_form_unit dl {
    flex-direction: column;
    gap: 0;
    margin-bottom: 0;
    padding: 10px 0 20px 0;
  }
}
.step-confirm .contact_form_unit dl:last-child {
  display: none;
}
.step-confirm .contact_form_unit dt {
  color: #333333;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 0;
  width: 35%;
  flex: 1;
}
@media (max-width: 768px) {
  .step-confirm .contact_form_unit dt {
    width: 100%;
    padding: 10px 15px;
  }
}
.step-confirm .contact_form_unit dt span {
  display: none;
}
.step-confirm .contact_form_unit dd {
  width: 65%;
  font-size: 16px;
  font-size: 1rem;
}
@media (max-width: 768px) {
  .step-confirm .contact_form_unit dd {
    width: 100%;
    padding: 0 15px;
  }
}
.contact_form_unit .privacy-agree {
  display: none;
}
.contact_form_unit .privacy-agree + .val-err {
  text-align: center;
}

.required {
  display: inline-block;
  font-size: clamp(0.875rem, 0.2898550725vw + 0.7989130435rem, 1.125rem);
  font-weight: 700;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  background: #76B391;
  color: #fff;
  padding: clamp(0.25rem, 0.2898550725vw + 0.1739130435rem, 0.5rem) clamp(0.625rem, 0.7246376812vw + 0.4347826087rem, 1.25rem) clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  margin-left: 16px;
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
}

.radio-area {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3px;
}
@media (max-width: 1124px) {
  .radio-area > span {
    width: 100%;
    margin-left: 0 !important;
  }
}

input[type=radio] {
  display: none;
}
input[type=radio] + span {
  cursor: pointer;
  display: inline-block;
  width: auto;
  margin-top: 3px;
  padding: 12px 23px 10px 40px;
  position: relative;
  line-height: 1;
}
@media (max-width: 1124px) {
  input[type=radio] + span {
    padding-left: 40px;
  }
}
input[type=radio] + span::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin: 6px;
  transform: scale(1);
  transition: all ease-out 250ms;
  position: absolute;
  top: 11px;
  left: 6px;
  background-color: #fff;
}
@media (max-width: 768px) {
  input[type=radio] + span::after {
    top: 13px;
    left: 10px;
  }
}
input[type=radio] + span::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background-color: #EDEDED;
  border-radius: 50%;
  margin: 6px;
  transform: scale(1);
  transition: all ease-out 250ms;
  position: absolute;
  top: 6px;
  left: 1px;
}
@media (max-width: 768px) {
  input[type=radio] + span::before {
    top: 8px;
    left: 5px;
  }
}
.radio_wrapper input[type=radio] {
  margin-left: -1rem;
}
input[type=radio]:checked + span::before {
  background-color: #EDEDED;
}
input[type=radio]:checked + span::after {
  background-color: #76B391;
}

input,
textarea,
select {
  padding: clamp(1.25rem, 1.4492753623vw + 0.8695652174rem, 2.5rem) clamp(1.875rem, 2.1739130435vw + 1.3043478261rem, 3.75rem);
  margin-bottom: 3px;
  background-color: #F7F8F8;
  border-radius: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
}
@media (max-width: 768px) {
  input,
  textarea,
  select {
    width: 100%;
  }
}

.form-select {
  display: inline-block;
  position: relative;
  width: 470px;
}
@media (max-width: 768px) {
  .form-select {
    width: 100%;
  }
}
.form-select::before {
  position: absolute;
  content: "";
  width: clamp(0.625rem, 0.2898550725vw + 0.5489130435rem, 0.875rem);
  aspect-ratio: 11/14;
  background-color: #1a1a1a;
  -webkit-mask-image: url(../images/arrow01.svg);
          mask-image: url(../images/arrow01.svg);
  -webkit-mask-position: 55% center;
          mask-position: 55% center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: clamp(0.625rem, 0.2898550725vw + 0.5489130435rem, 0.875rem) auto;
          mask-size: clamp(0.625rem, 0.2898550725vw + 0.5489130435rem, 0.875rem) auto;
  z-index: 1;
  transform: rotate(90deg) translateX(-50%);
  transform-origin: center center;
  top: 45%;
  right: clamp(1.875rem, 1.4492753623vw + 1.4945652174rem, 3.125rem);
}

select {
  cursor: pointer;
  width: 100%;
}

.form-address > li + li {
  margin-top: 20px;
}

textarea {
  height: clamp(18.75rem, 7.2463768116vw + 16.847826087rem, 25rem);
}

.unit-privacy {
  padding: 35px 30px;
  background-color: #f3f3f3;
}
@media (max-width: 768px) {
  .unit-privacy {
    padding: 15px;
  }
}

.privacy_content_wrapper {
  margin: clamp(3.125rem, 3.6231884058vw + 2.1739130435rem, 6.25rem) 0 clamp(1.875rem, 3.6231884058vw + 0.9239130435rem, 5rem);
}

.form-privacy-ttl {
  font-weight: 700;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1.0625rem, 0.2173913043vw + 1.0054347826rem, 1.25rem);
  color: #1A1A1A;
  margin-bottom: clamp(0.625rem, 0.7246376812vw + 0.4347826087rem, 1.25rem);
}

.privacy_content {
  background-color: #F7F8F8;
  padding: clamp(1.25rem, 1.4492753623vw + 0.8695652174rem, 2.5rem) clamp(1.25rem, 2.8985507246vw + 0.4891304348rem, 3.75rem) clamp(1.875rem, 1.4492753623vw + 1.4945652174rem, 3.125rem);
  margin-bottom: clamp(1.25rem, 1.4492753623vw + 0.8695652174rem, 2.5rem);
}

.privacy_content_inner {
  height: clamp(12.5rem, 10.8695652174vw + 9.6467391304rem, 21.875rem);
  overflow-y: scroll;
  padding-right: clamp(0.625rem, 1.4492753623vw + 0.2445652174rem, 1.875rem);
  font-size: clamp(0.875rem, 0.2898550725vw + 0.7989130435rem, 1.125rem);
  font-weight: 700;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1.8;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  color: #1A1A1A;
}
.privacy_content_inner h3 {
  font-weight: 700;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1rem, 0.2898550725vw + 0.9239130435rem, 1.25rem);
  margin-top: clamp(1.875rem, 1.4492753623vw + 1.4945652174rem, 3.125rem);
  margin-bottom: clamp(0.5rem, 0.5072463768vw + 0.3668478261rem, 0.9375rem);
}
.privacy_content_inner h3:first-child {
  margin-top: 0;
}
.privacy_content_inner::-webkit-scrollbar {
  width: 6px;
  border-radius: 3px;
}
@media (max-width: 768px) {
  .privacy_content_inner::-webkit-scrollbar {
    width: 4px;
  }
}
.privacy_content_inner::-webkit-scrollbar-track {
  background: transparent;
  background-color: #fff;
}
.privacy_content_inner::-webkit-scrollbar-thumb {
  background-color: #76B391;
  width: 6px;
  border-radius: 3px;
}

.privacy_check_wrapper {
  text-align: center;
}

.privacy-agree {
  margin-top: 30px;
  font-size: clamp(1rem, 0.2898550725vw + 0.9239130435rem, 1.25rem);
  font-weight: 600;
  letter-spacing: calc(100 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  color: #1A1A1A;
  text-align: center;
}

.contact_submit_part {
  margin-top: 50px;
  display: flex;
  justify-content: center;
}
@media (max-width: 768px) {
  .contact_submit_part {
    flex-direction: column;
    align-items: center;
  }
}

body.contact_confirm .form_contact_01::after,
body.contact_thanks .form_contact_01::after {
  display: none;
}
body.contact_confirm .privacy-agree,
body.contact_thanks .privacy-agree {
  display: none;
}
body.contact_confirm .check_block,
body.contact_thanks .check_block {
  margin-left: 0;
}
body.contact_confirm .contact_submit_part .is_back-btn,
body.contact_thanks .contact_submit_part .is_back-btn {
  padding: 25px 30px 25px 70px;
  justify-content: flex-end;
}
body.contact_confirm .contact_submit_part .is_back-btn::after,
body.contact_thanks .contact_submit_part .is_back-btn::after {
  transform: scale(-1, 1);
  right: auto;
  left: 30px;
}
body.contact_confirm .contact_submit_part .is_back-btn::before,
body.contact_thanks .contact_submit_part .is_back-btn::before {
  background: linear-gradient(90deg, #b1b1b1 0%, #6b6b6b 50%, #4a4a4a 100%);
  transform: translateX(50%);
}
@media (min-width: 769px) {
  body.contact_confirm .contact_submit_part .is_back-btn:hover::after,
  body.contact_thanks .contact_submit_part .is_back-btn:hover::after {
    transform: scale(-1, 1) translateX(8px);
  }
  body.contact_confirm .contact_submit_part .is_back-btn:hover::before,
  body.contact_thanks .contact_submit_part .is_back-btn:hover::before {
    transform: translateX(0);
  }
}
body.contact_confirm .contact_submit_part .is_send-btn,
body.contact_thanks .contact_submit_part .is_send-btn {
  margin-left: 4%;
}
@media (max-width: 768px) {
  body.contact_confirm .contact_submit_part .is_send-btn,
  body.contact_thanks .contact_submit_part .is_send-btn {
    margin: 15px auto 0;
  }
}
body.contact_confirm .contact_submit_part .is_send-btn p,
body.contact_thanks .contact_submit_part .is_send-btn p {
  display: inline-block;
}

.check_block {
  margin-left: 30%;
}
@media (max-width: 768px) {
  .check_block {
    margin-left: 0;
  }
}

body.step-confirm .form-select::before {
  display: none;
}

input[type=checkbox] {
  display: none;
}
input[type=checkbox] + span {
  font-size: clamp(0.9375rem, 0.2173913043vw + 0.8804347826rem, 1.125rem);
  font-weight: 700;
  letter-spacing: calc(30 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  letter-spacing: 0;
  cursor: pointer;
  display: inline-block;
  width: auto;
  margin-top: 2px;
  padding: 17px 0px 0px 45px;
  position: relative;
  line-height: 1;
  letter-spacing: 0.15rem;
  color: #1A1A1A;
}
input[type=checkbox] + span::after {
  content: "";
  display: block;
  width: 27px;
  aspect-ratio: 27/24;
  background: url(../images/check.svg) no-repeat center center/cover;
  background-size: contain;
  transform: scale(1);
  transition: all ease-out 250ms;
  position: absolute;
  top: 15px;
  left: 4px;
  opacity: 0;
}
@media (max-width: 768px) {
  input[type=checkbox] + span::after {
    top: 13px;
    left: 9px;
  }
}
input[type=checkbox] + span::before {
  content: "";
  display: block;
  width: 34px;
  height: 34px;
  background-color: #E9E9E9;
  border-radius: clamp(0.1875rem, 0.1449275362vw + 0.1494565217rem, 0.3125rem);
  transform: scale(1);
  transition: all ease-out 250ms;
  position: absolute;
  top: 10px;
  left: 0;
}
@media (max-width: 768px) {
  input[type=checkbox] + span::before {
    top: 8px;
    left: 5px;
  }
}
input[type=checkbox]:checked + span::after {
  opacity: 1;
}

.check_no-through {
  margin-top: 40px;
  text-align: center;
  font-size: clamp(0.9375rem, 0.2173913043vw + 0.8804347826rem, 1.125rem);
  font-weight: 500;
  letter-spacing: calc(30 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.send_ttl {
  font-size: clamp(1.125rem, 0.4347826087vw + 1.0108695652rem, 1.5rem);
  font-weight: 700;
  letter-spacing: calc(30 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  margin-top: clamp(1.875rem, 2.1739130435vw + 1.3043478261rem, 3.75rem);
  margin-bottom: clamp(0.9375rem, 1.0869565217vw + 0.652173913rem, 1.875rem);
  text-align: center;
}

/*-------------------------------------------------------------------------------
  footer
--------------------------------------------------------------------------------*/
.ft_contact_wrapper {
  position: relative;
  padding: clamp(2.5rem, 17.0289855072vw + -1.9701086957rem, 17.1875rem) 0 clamp(3.125rem, 3.6231884058vw + 2.1739130435rem, 6.25rem);
  background: url(../images/ft-contact_bg.jpg) no-repeat center/cover;
  color: #fff;
  overflow: hidden;
}
.ft_contact_wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}

.ft_contact_unit {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: calc(var(--wrapper_width) + 14vw);
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 7.7519379845vw + -2.4709302326rem, 6.25rem);
  gap: clamp(1.25rem, 2.9585798817vw + -0.8284023669rem, 2.5rem);
}
@media (max-width: 1124px) {
  .ft_contact_unit {
    flex-direction: column;
    align-items: center;
    gap: clamp(0.9375rem, 0.7763975155vw + 0.7045807453rem, 1.25rem);
  }
}
@media (max-width: 768px) {
  .ft_contact_unit {
    padding: 0 5vw;
    align-items: start;
  }
}

.ft_contact_ttl {
  margin-bottom: clamp(0.3125rem, 1.8115942029vw + -0.1630434783rem, 1.875rem);
}
@media (max-width: 1124px) {
  .ft_contact_ttl br {
    display: none;
  }
}
@media (max-width: 768px) {
  .ft_contact_ttl br {
    display: block;
  }
}
.ft_contact_ttl .cmn_sub_ttl {
  color: #fff;
  margin-bottom: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
}
.ft_contact_ttl .cmn_main_ttl {
  color: #fff;
}

.ft_contact_block {
  display: flex;
  align-items: center;
  gap: clamp(1.25rem, 4.4378698225vw + -1.8676035503rem, 3.125rem);
}
@media (max-width: 768px) {
  .ft_contact_block {
    flex-direction: column;
    align-items: normal;
    width: 100%;
  }
}

.ft_contact_phone_txt {
  font-weight: 700;
  letter-spacing: calc(10 * 0.001em);
  line-height: 1.15;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(0.9375rem, 0.3623188406vw + 0.8423913043rem, 1.25rem);
  color: #fff;
}

.icon_mail {
  display: inline-block;
  width: clamp(1.75rem, 1.0355029586vw + 1.0225591716rem, 2.1875rem);
  aspect-ratio: 35/27;
  background-color: #fff;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: clamp(1.75rem, 1.0355029586vw + 1.0225591716rem, 2.1875rem) auto;
          mask-size: clamp(1.75rem, 1.0355029586vw + 1.0225591716rem, 2.1875rem) auto;
  -webkit-mask-image: url(../images/icon_mail.svg);
          mask-image: url(../images/icon_mail.svg);
  margin-right: 10px;
}

.ft_contact_phone_block {
  display: flex;
  flex-direction: column;
  gap: clamp(0.3125rem, 0.3623188406vw + 0.2173913043rem, 0.625rem);
  white-space: nowrap;
}

.ft_contact_phone {
  display: flex;
  align-items: center;
  font-weight: 700;
  letter-spacing: calc(0 * 0.001em);
  line-height: 1;
  font-family: "Roboto Mono", sans-serif;
  font-size: clamp(2.1875rem, 4.7337278107vw + -1.137943787rem, 4.1875rem);
  color: #fff;
  margin-right: clamp(1.25rem, 2.2189349112vw + -0.3088017751rem, 2.1875rem);
}
@media (max-width: 768px) {
  .ft_contact_phone {
    margin-right: 0;
  }
}
.ft_contact_phone::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: clamp(1.875rem, 2.3668639053vw + 0.2122781065rem, 2.875rem);
  aspect-ratio: 1/1;
  margin-right: clamp(0.1875rem, 0.2958579882vw + -0.0203402367rem, 0.3125rem);
  background-color: #fff;
  -webkit-mask: url(../images/icon_call.svg) center/contain no-repeat;
          mask: url(../images/icon_call.svg) center/contain no-repeat;
}

.footer {
  background: #253D30;
}

.ft_wrapper {
  padding-top: clamp(3.75rem, 7.7519379845vw + 0.0290697674rem, 8.75rem);
  padding-bottom: clamp(5rem, 6.7829457364vw + 1.7441860465rem, 9.375rem);
}
@media (max-width: 768px) {
  .ft_wrapper {
    padding: clamp(1.875rem, 8.6206896552vw + -0.3879310345rem, 3.75rem) 5vw clamp(1.25rem, 17.2413793103vw + -3.275862069rem, 5rem);
  }
}

.ft_unit {
  display: flex;
  justify-content: space-between;
  margin-bottom: clamp(1.875rem, 3.9855072464vw + 0.8288043478rem, 5.3125rem);
}

.ft_address {
  font-weight: 700;
  letter-spacing: calc(0 * 0.001em);
  line-height: 1.8;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(0.875rem, 0.1449275362vw + 0.8369565217rem, 1rem);
  color: #fff;
  margin-top: clamp(1.25rem, 4.347826087vw + 0.1086956522rem, 5rem);
}

.ft_nav {
  margin-top: clamp(0.9375rem, 0.3623188406vw + 0.8423913043rem, 1.25rem);
}
@media (max-width: 1124px) {
  .ft_nav {
    display: none;
  }
}

.ft_nav_list {
  display: flex;
  gap: clamp(1.25rem, 0.7246376812vw + 1.0597826087rem, 1.875rem);
}
.ft_nav_list a {
  font-weight: 700;
  letter-spacing: calc(50 * 0.001em);
  line-height: 1.5;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(1rem, 0.2898550725vw + 0.9239130435rem, 1.25rem);
  color: #fff;
}
@media (min-width: 769px) {
  .ft_nav_list a:hover {
    opacity: 0.5;
  }
}

.ft_copyright {
  font-weight: 700;
  letter-spacing: calc(0 * 0.001em);
  line-height: 1.8;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: clamp(0.875rem, 0.1449275362vw + 0.8369565217rem, 1rem);
  color: #50705F;
}

input:not([type=radio]):not([type=checkbox]).val-err,
select.val-err,
textarea.val-err {
  background-color: #FFE4E4 !important;
}

p.val-err {
  color: #e40000;
  font-size: 0.8em;
}
p.val-err::before {
  content: "※";
}

.check_no-through {
  color: #e40000;
}

input:not([type=radio]):not([type=checkbox]).val-through,
select.val-through,
textarea.val-through {
  background-color: #E2FBE2 !important;
}

.check_any_required.val-err input:not([type=radio]):not([type=checkbox]),
.check_any_required.val-err select,
.check_any_required.val-err textarea {
  background-color: #FFE4E4 !important;
}
.check_any_required.val-through input:not([type=radio]):not([type=checkbox]):not(.val-err),
.check_any_required.val-through select:not(.val-err),
.check_any_required.val-through textarea:not(.val-err) {
  background-color: #E2FBE2 !important;
}

/*# sourceMappingURL=common.css.map*/