@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&display=swap");
/*
    A (more) Modern CSS Reset
    https://piccalil.li/blog/a-more-modern-css-reset/
    @since 25/02/05
    @update t-ooishi
*/
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

body {
  line-height: 1.5;
  min-height: 100dvh;
}

h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

a {
  word-break: break-all;
  text-decoration: none;
}

img,
picture,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

textarea:not([rows]) {
  min-height: 10em;
}

:target {
  scroll-margin-block: 2.5ex;
}

.-white {
  color: #fff;
}

.g-font__heading {
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  position: relative;
}
.g-font__heading.-white {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .g-font__heading {
    font-size: 24px;
  }
}

.g-font__16 {
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 175%; /* 28px */
}
@media screen and (max-width: 767px) {
  .g-font__16 {
    font-size: 14px;
  }
}

.g-font__18 {
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  .g-font__18 {
    font-size: 16px;
  }
}

.g-font__20 {
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%;
}
@media screen and (max-width: 767px) {
  .g-font__20 {
    font-size: 18px;
  }
}

.g-font__24 {
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
}
@media screen and (max-width: 767px) {
  .g-font__24 {
    font-size: 16px;
  }
}

.g-font__30 {
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5em;
}
@media screen and (max-width: 767px) {
  .g-font__30 {
    font-size: 20px;
  }
}

.g-font__40 {
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%; /* 70px */
}
@media screen and (max-width: 767px) {
  .g-font__40 {
    font-size: 24px;
  }
}

:root {
  --breadcrumb-color: #222222;
  --header-height: 100px; /* ヘッダー - 高さ */
  --header-top: 2.4rem; /* ヘッダー - 上余白 */
  --inline-guideline: clamp(80px, 10vw, 160px); /* コンテンツガイド */
  --contents-spacer: 120px; /* コンテンツ間隔 */
}
@media screen and (width <= 959px) {
  :root {
    --header-height: 70px; /* ヘッダー - 高さ */
  }
}
@media screen and (width <= 767px) {
  :root {
    --header-top: 0px; /* ヘッダー - 上余白 */
    --inline-guideline: clamp(10px, 4vw, 80px); /* コンテンツガイド */
    --contents-spacer: 104px; /* コンテンツ間隔 */
  }
}

* {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-family: "Noto Sans JP", sans-serif;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
}

body {
  font-size: 1.6rem;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
  color: #222222;
  min-height: 100vh;
  background-color: #F9F9F7;
}
@media screen and (width <= 767px) {
  body {
    font-size: 1.4rem;
  }
}

img,
svg {
  vertical-align: bottom;
}

@-webkit-keyframes scroll-hint-appear {
  0% {
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, 100% {
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px);
    opacity: 0;
  }
}

@keyframes scroll-hint-appear {
  0% {
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, 100% {
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px);
    opacity: 0;
  }
}
.scroll-hint.is-right-scrollable {
  background: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), -webkit-linear-gradient(right, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
  background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 120px;
  height: 90px;
  border-radius: 5px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #fff;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 0.8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #fff;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  -webkit-animation: scroll-hint-appear 1.2s linear;
          animation: scroll-hint-appear 1.2s linear;
  -webkit-animation-iteration-count: 2;
          animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #fff;
  -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
          box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

.js-scroll-fade-up-trr {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out, -webkit-transform 0.6s ease-out;
}

.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.l-header {
  position: fixed;
  z-index: 9999;
  top: 0;
  width: 100%;
  height: var(--header-height, 0);
  padding: 0 40px;
  background: #fff;
}
@media screen and (max-width: 1285px) {
  .l-header {
    padding: 0 20px;
  }
}
@media screen and (max-width: 1050px) {
  .l-header {
    padding: 0 10px;
  }
}
@media screen and (width <= 959px) {
  .l-header {
    padding: 0 25px 0 30px;
  }
}
.l-header__inner {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 9999;
}
@media screen and (width <= 959px) {
  .l-header__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (width <= 959px) {
  .l-header__inner {
    gap: 24px;
  }
}
.l-header__main {
  grid-column: 1;
  height: 100%;
  pointer-events: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (width <= 959px) {
  .l-header__main {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
  }
}
.l-header__logo {
  display: inline flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(1rem, 0.625vw, 2rem);
     -moz-column-gap: clamp(1rem, 0.625vw, 2rem);
          column-gap: clamp(1rem, 0.625vw, 2rem);
  height: 60px;
}
.l-header__logo:hover {
  opacity: 0.7;
}
@media screen and (width <= 959px) {
  .l-header__logo {
    height: 36px;
  }
}
.l-header__logo-link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
}
.l-header__logo-link > img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: 240px;
}
@media screen and (max-width: 1380px) {
  .l-header__logo-link {
    width: 200px;
  }
}
@media screen and (max-width: 1315px) {
  .l-header__logo-link {
    width: 160px;
  }
}
@media screen and (max-width: 1285px) {
  .l-header__logo-link {
    width: 200px;
  }
}
@media screen and (max-width: 1100px) {
  .l-header__logo-link {
    width: 120px;
  }
}
@media screen and (width <= 767px) {
  .l-header__logo-link {
    width: 145px;
  }
}
.l-header__logo-tag {
  font-size: 1.4rem;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
  color: #222222;
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
@media screen and (width <= 767px) {
  .l-header__logo-tag {
    font-size: 1.2rem;
  }
}
.l-header__sub {
  display: none;
}
@media screen and (width <= 959px) {
  .l-header__sub {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    grid-column: 3;
    height: 100%;
    pointer-events: auto;
  }
}
.l-header__nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
@media screen and (max-width: 1285px) {
  .l-header__nav {
    gap: 20px;
  }
  .l-header__nav .c-btn__link {
    font-size: 14px;
  }
}
@media screen and (max-width: 1285px) {
  .l-header__nav {
    gap: 15px;
  }
}
@media screen and (width <= 959px) {
  .l-header__nav {
    display: none;
  }
}
.l-header__nav-link-top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 20px;
  margin-bottom: 10px;
}
.l-header__nav-link-bottom {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 1285px) {
  .l-header__nav-link-bottom {
    gap: 20px;
  }
}
.l-header__nav-link-item {
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 1285px) {
  .l-header__nav-link-item {
    font-size: 14px;
  }
}
.l-header__nav-link-item:hover {
  opacity: 0.7;
}
.l-header__nav-link-item.active:after {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  background: #177075;
  border-radius: 50px;
  bottom: -15px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.l-header__nav-link-item.-file {
  padding-right: 20px;
  pointer-events: none;
  color: #EDEDED;
}
.l-header__nav-link-item.-file:after {
  position: absolute;
  content: "";
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #EDEDED;
  right: 24px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 12px;
  height: 12px;
  -webkit-mask-image: url(../images/common/file.svg);
          mask-image: url(../images/common/file.svg);
  right: 0;
}
.l-header__menu-btn {
  aspect-ratio: 1;
  position: relative;
  display: none;
  justify-items: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: auto;
  width: var(--header-height, 0);
  background-color: #0068b7;
  border: none;
  padding: 0;
}
@media screen and (width <= 959px) {
  .l-header__menu-btn {
    display: grid;
  }
}
.l-header__menu-btn:focus-visible {
  border: transparent 2px solid;
  outline: none;
}
.l-header__menu-btn.-circle {
  width: 45px;
  border-radius: 50%;
}
.l-header__menu-btn-symbol {
  position: relative;
  width: 50%;
  height: 35.5%;
}
.l-header__menu-btn-bar {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  translate: 0 -50%;
  border-bottom: 3px solid #ffffff;
}
.l-header__menu-btn-bar.-top {
  top: 0;
}
.l-header__menu-btn.is-active .l-header__menu-btn-bar.-top {
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: 45deg;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}
.l-header__menu-btn-bar.-middle {
  top: 50%;
}
.l-header__menu-btn.is-active .l-header__menu-btn-bar.-middle {
  opacity: 0;
}
.l-header__menu-btn-bar.-bottom {
  top: 100%;
}
.l-header__menu-btn.is-active .l-header__menu-btn-bar.-bottom {
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: -45deg;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}
@media screen and (max-width: 1285px) {
  .l-header .c-btn__contact {
    width: 185px;
  }
  .l-header .c-btn__contact .text {
    font-size: 14px;
  }
  .l-header .c-btn__contact:after {
    width: 18px;
    height: 13px;
    right: 13px;
  }
}
.l-header_toggleDrawer {
  display: block;
  z-index: 1001;
  width: 47px;
  position: relative;
  height: 47px;
  cursor: pointer;
  background: #177075;
  border-radius: 50px;
}
.l-header_toggleDrawer .l-header_toggleDrawer_btn {
  all: unset;
}
.l-header_toggleDrawer .l-header_toggleDrawer_btn span {
  display: block;
  position: absolute;
  top: 0px;
  bottom: 0;
  right: 0;
  left: 0;
  width: 25px;
  height: 1px;
  margin: auto;
  background-color: #fff;
  border-radius: 50px;
  -webkit-transition: background-color 0.25s ease, top 0.15s 0.15s ease, bottom 0.15s 0.15s ease, -webkit-transform 0.15s ease;
  transition: background-color 0.25s ease, top 0.15s 0.15s ease, bottom 0.15s 0.15s ease, -webkit-transform 0.15s ease;
  transition: background-color 0.25s ease, top 0.15s 0.15s ease, bottom 0.15s 0.15s ease, transform 0.15s ease;
  transition: background-color 0.25s ease, top 0.15s 0.15s ease, bottom 0.15s 0.15s ease, transform 0.15s ease, -webkit-transform 0.15s ease;
  cursor: pointer;
}
.l-header_toggleDrawer .l-header_toggleDrawer_btn span:first-child {
  top: -15px;
}
.l-header_toggleDrawer .l-header_toggleDrawer_btn span:last-child {
  top: 15px;
}
.l-header_toggleDrawer.open .l-header_toggleDrawer_btn span:first-child {
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.l-header_toggleDrawer.open .l-header_toggleDrawer_btn span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  opacity: 0;
}
.l-header_toggleDrawer.open .l-header_toggleDrawer_btn span:last-child {
  top: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.l-spmenu {
  display: none;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  background: #fff;
  height: auto;
  max-height: 100vh;
  padding: 100px 0 0px;
}
.l-spmenu.open {
  display: block;
  z-index: 1000;
}
.l-spmenu-nav {
  overflow-y: scroll;
  margin: 0;
  height: auto;
  max-height: calc(100vh - 100px);
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding: 0 50px 60px;
}
.l-spmenu-nav::-webkit-scrollbar {
  display: none;
}
.l-spmenu .l-header__nav-link-bottom {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
.l-spmenu .l-header__nav-link-item {
  font-size: 16px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-spmenu .l-header__nav-link-top {
  margin: 40px 0 50px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.l-spmenu .c-btn__link {
  height: 35px;
  padding: 0 27px;
}
.l-spmenu .c-btn__contact {
  max-width: 275px;
  width: 100%;
  padding-left: 67px;
}
.l-spmenu .c-btn__contact .icon {
  left: 20px;
}
.l-spmenu .c-btn__contact:after {
  right: 23px;
  width: 27px;
  height: 13px;
}
.l-spmenu .c-btn__contact:hover:before {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.search-form label {
  border-radius: 5px;
  border: 1px solid #177075;
  background: #EDEDED;
  height: 44px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 0 20px 0 20px;
}
@media screen and (max-width: 1285px) {
  .search-form label {
    padding: 0px 15px 0 15px;
  }
}
.search-form input {
  background: none;
  border: none;
  font-size: 16px;
  width: 145px;
  padding: 0px 0px 0px 5px;
  line-height: 1;
}
@media screen and (max-width: 1285px) {
  .search-form input {
    width: 100px;
    font-size: 14px;
  }
}
@media screen and (width <= 959px) {
  .search-form input {
    width: 100%;
  }
}
.search-form .search-submit {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
@media screen and (max-width: 1285px) {
  .search-form .search-submit svg {
    height: 18px;
  }
}

/* 入力フィールドのデフォルトのフォーカス枠線をリセット */
.search-form .search-field {
  outline: none;
  border: none;
}

/* フォーカス時の親label要素に枠線などの装飾を追加 */
.search-form label:has(input:focus-visible) {
  -webkit-box-shadow: inset 0 0 0 1px #000;
          box-shadow: inset 0 0 0 1px #000;
  outline-offset: -2px;
}

@media screen and (width <= 959px) {
  .l-header__nav-search {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 30px;
  }
}

.l-header__nav-link-comment {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 14px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header__nav-link-comment.sp {
  display: none;
}
@media screen and (width <= 959px) {
  .l-header__nav-link-comment.sp {
    display: block;
  }
}
@media screen and (max-width: 1050px) {
  .l-header__nav-link-comment {
    gap: 10px;
  }
}
@media screen and (width <= 767px) {
  .l-header__nav-link-comment {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0px;
  }
}
.l-header__nav-link-comment-text {
  color: #177075;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
@media screen and (max-width: 1050px) {
  .l-header__nav-link-comment-text {
    font-size: 13px;
  }
}
@media screen and (width <= 767px) {
  .l-header__nav-link-comment-text {
    font-size: 12px;
  }
}
.l-header__nav-link-comment-button-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header__nav-link-comment-button {
  color: #EDEDED;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  cursor: pointer;
}
@media screen and (max-width: 1050px) {
  .l-header__nav-link-comment-button {
    font-size: 13px;
  }
}
@media screen and (width <= 767px) {
  .l-header__nav-link-comment-button {
    font-size: 12px;
  }
}
.l-header__nav-link-comment-button.active {
  color: #3C3939;
}

.l-footer {
  margin-top: 120px;
}
@media screen and (width <= 959px) {
  .l-footer {
    margin-top: 60px;
  }
}
.l-footer__contact {
  position: relative;
  padding: 115px 0;
  overflow: hidden;
  background-image: url(../images/common/footer_contact.jpg);
  background-size: cover;
  background-position: center bottom -30vh;
}
@media screen and (width <= 959px) {
  .l-footer__contact {
    padding: 60px 0;
    background-position: center bottom;
  }
}
@media screen and (width <= 767px) {
  .l-footer__contact {
    padding: 50px 0;
  }
}
.l-footer__contact::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #25B1B9;
  opacity: 0.7;
}
.l-footer__contact-content {
  max-width: 1020px;
  width: 90%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 50px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (width <= 767px) {
  .l-footer__contact-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 35px;
  }
}
.l-footer__contact-content p {
  color: #fff;
}
@media screen and (width <= 959px) {
  .l-footer__contact .g-font__40 {
    font-size: 30px;
  }
}
@media screen and (width <= 767px) {
  .l-footer__contact .g-font__40 {
    font-size: 24px;
  }
}
.l-footer__main {
  padding: 65px 0 25px;
}
.l-footer__main a:hover {
  opacity: 0.7;
}
.l-footer__left-head {
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 35px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.75px;
  margin: 35px 0 70px;
}
@media screen and (max-width: 1100px) {
  .l-footer__left-head {
    font-size: 24px;
  }
}
@media screen and (width <= 959px) {
  .l-footer__left-head {
    margin: 25px 0 0;
  }
}
@media screen and (width <= 767px) {
  .l-footer__left-head {
    font-size: 16px;
  }
}
.l-footer__left-logo {
  width: 240px;
  display: block;
}
@media screen and (width <= 767px) {
  .l-footer__left-logo {
    display: block;
    width: 175px;
  }
}
.l-footer__sns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (width <= 1250px) {
  .l-footer__sns {
    gap: 20px;
  }
}
@media screen and (width <= 959px) {
  .l-footer__sns {
    display: none;
  }
}
@media screen and (width <= 767px) {
  .l-footer__sns {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 36px;
  }
}
.l-footer__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 50px;
}
@media screen and (width <= 959px) {
  .l-footer__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 35px;
  }
}
@media screen and (width <= 767px) {
  .l-footer__main {
    padding: 40px 0 25px;
  }
}
.l-footer__left {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.l-footer__right {
  min-width: 650px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1200px) {
  .l-footer__right {
    min-width: unset;
  }
}
.l-footer__right-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 20px 50px;
}
@media screen and (width <= 959px) {
  .l-footer__right-head {
    margin-bottom: 20px;
  }
}
@media screen and (width <= 767px) {
  .l-footer__right-head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15px;
  }
}
.l-footer__right-head .g-font__20 {
  position: relative;
}
@media screen and (width <= 767px) {
  .l-footer__right-head .g-font__20 {
    font-size: 14px;
  }
}
.l-footer__right-head .g-font__20.-file {
  padding-right: 20px;
  pointer-events: none;
  color: #EDEDED;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-footer__right-head .g-font__20.-file:after {
  position: absolute;
  content: "";
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #EDEDED;
  right: 24px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 12px;
  height: 12px;
  -webkit-mask-image: url(../images/common/file.svg);
          mask-image: url(../images/common/file.svg);
  right: 0;
}
.l-footer__right-link .-head {
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin-top: 35px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-footer__right-link .-head.off {
  color: #EDEDED;
  pointer-events: none;
}
.l-footer__right-link .-head.off:after {
  background-color: #EDEDED;
}
.l-footer__right-link .-file {
  position: relative;
  padding-right: 20px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-footer__right-link .-file::after {
  position: absolute;
  content: "";
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #25B1B9;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 8px;
  height: 8px;
  -webkit-mask-image: url(../images/common/file.svg);
          mask-image: url(../images/common/file.svg);
}
.l-footer__right-link-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(23, 112, 117, 0.5019607843);
}
@media screen and (width <= 767px) {
  .l-footer__right-link-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }
}
.l-footer__right .l-footer__sns {
  display: none;
}
@media screen and (width <= 959px) {
  .l-footer__right .l-footer__sns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (width <= 767px) {
  .l-footer__right .l-footer__sns {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.l-footer__copy {
  color: #717171;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 250%; /* 35px */
  text-align: center;
  padding-bottom: 21px;
}
@media screen and (width <= 767px) {
  .l-footer__copy {
    font-size: 12px;
  }
}
.l-footer__other {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px 40px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 20px;
}
@media screen and (max-width: 1150px) {
  .l-footer__other {
    max-width: 320px;
  }
}

.l-glb-menu {
  position: fixed;
  z-index: 9990;
  top: 0px;
  right: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  width: 100%;
  height: 100dvh;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  translate: 100% 0;
  opacity: 0;
  pointer-events: auto;
  visibility: hidden;
}
.l-glb-menu.is-active {
  translate: 0 0;
  opacity: 1;
  visibility: visible;
}
.l-glb-menu__wrapper {
  overflow: clip;
  width: min(800px, 100%);
  min-height: 100%;
  padding-block: calc(var(--header-height, 0) + var(--header-after, 0)) 56px;
  -ms-overflow-style: none;
}
.l-glb-menu__wrapper::-webkit-scrollbar {
  display: none;
}
@media screen and (width <= 767px) {
  .l-glb-menu__wrapper {
    padding-inline: var(--inline-outer-size, 0);
    -webkit-padding-after: 24px;
            padding-block-end: 24px;
  }
}
.l-main {
  position: relative;
  width: 100%;
  padding-bottom: var(--footer-before, 0);
}

.l-section-main {
  width: 90%;
  max-width: 1368px;
  margin: 0 auto;
  position: relative;
}

.l-page-head {
  background-color: unset;
  padding: 50px 0;
  margin-bottom: 50px;
  position: relative;
  overflow: clip;
  margin-top: var(--header-height, 0);
  border-bottom: 1px solid #DBDBDB;
}
@media screen and (max-width: 768px) {
  .l-page-head {
    padding: 30px 0;
  }
}
.l-page-head__title > .ja {
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 60px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .l-page-head__title > .ja {
    font-size: 30px;
    margin-bottom: 25px;
  }
}
.l-section {
  width: 100%;
  padding-inline: var(--inline-outer-size, 0);
}
.l-section__inner {
  width: min(100%, 1200px);
  margin: 0 auto;
}
.l-search__title {
  color: #177075;
  margin-bottom: 65px;
  margin-top: 120px;
}
@media screen and (width <= 767px) {
  .l-search__title {
    margin-bottom: 35px;
    margin-top: 60px;
  }
}
.l-search__item {
  border-radius: 25px;
  background: #FFF;
  display: block;
  margin-bottom: 30px;
  padding: 40px 5%;
}
@media screen and (width <= 767px) {
  .l-search__item {
    padding: 20px 20px;
  }
}
.l-search__list .g-font__20 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: underline;
  margin-bottom: 10px;
}
.l-search__item:hover {
  opacity: 0.7;
}

.l-single {
  width: 90%;
  max-width: 728px;
  margin: 70px auto 0;
}
.l-single__head {
  max-width: 960px;
  margin: 0 auto;
}
.l-single__title {
  padding: 20px 17px 20px 17px;
  position: relative;
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 25px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5em;
  margin-bottom: 30px;
  border-top: solid 2px #D9D9D9;
  border-bottom: solid 2px #D9D9D9;
}
.l-single__title:before {
  position: absolute;
  content: "";
  width: 6px;
  height: calc(100% + 4px);
  background: #177075;
  left: 0;
  top: -2px;
}
@media screen and (width <= 767px) {
  .l-single__title {
    font-size: 20px;
    padding: 10px 12px 10px 12px;
  }
  .l-single__title:before {
    width: 5px;
  }
}
.l-single__info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 25px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 5px;
}
@media screen and (width <= 767px) {
  .l-single__info {
    margin-bottom: 15px;
  }
}
.l-single__info .l-archive__news-category {
  width: unset;
  padding: 0 15px;
}
.l-single__date {
  font-weight: 500;
}
.l-single__content {
  max-width: 960px;
  margin: 0 auto 80px;
}
@media screen and (width <= 767px) {
  .l-single__content {
    margin: 0 auto 40px;
  }
}
.l-single__content img {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
  margin: 0 auto 50px;
  border-radius: 10px;
}
.l-single__content p {
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 175%; /* 28px */
  margin-bottom: 1em;
}
@media screen and (width <= 767px) {
  .l-single__content p {
    font-size: 14px;
  }
}
.l-single__new {
  margin-top: 150px;
  margin-bottom: 80px;
}
.l-single .c-btn__main {
  margin: 0 auto;
}

h2.wp-block-heading {
  padding: 0 17px 11px 17px;
  position: relative;
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%; /* 35px */
  margin-bottom: 16px;
  border-bottom: solid 2px #D9D9D9;
  margin-top: 40px;
}
@media screen and (width <= 767px) {
  h2.wp-block-heading {
    font-size: 18px;
    padding: 0 12px 6px 12px;
    margin-top: 30px;
  }
}
h2.wp-block-heading:before {
  position: absolute;
  content: "";
  width: 5px;
  height: calc(100% + 2px);
  background: #177075;
  left: 0;
  top: 0;
}

h3.wp-block-heading {
  padding: 0 0 11px 0;
  position: relative;
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%; /* 35px */
  margin-bottom: 14px;
  border-bottom: solid 2px #177075;
  margin-top: 40px;
}
@media screen and (width <= 767px) {
  h3.wp-block-heading {
    font-size: 18px;
    margin-top: 30px;
    padding: 0 0 6px 0;
  }
}

h4.wp-block-heading {
  padding: 0 0 8px 0;
  position: relative;
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%; /* 35px */
  margin-bottom: 14px;
  border-bottom: solid 2px #D9D9D9;
  margin-top: 40px;
}
@media screen and (width <= 767px) {
  h4.wp-block-heading {
    font-size: 16px;
    margin-top: 30px;
    padding: 0 0 4px 0;
  }
}
h4.wp-block-heading:before {
  position: absolute;
  content: "";
  width: 65px;
  height: 2px;
  background: #177075;
  left: 0;
  bottom: -1px;
}

h5.wp-block-heading {
  padding: 0 0 8px 0;
  position: relative;
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%; /* 35px */
  margin-bottom: 14px;
  border-bottom: solid 2px #D9D9D9;
  margin-top: 40px;
}
@media screen and (width <= 767px) {
  h5.wp-block-heading {
    font-size: 16px;
    margin-top: 30px;
    padding: 0 0 4px 0;
  }
}

h6.wp-block-heading {
  position: relative;
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%; /* 35px */
  margin-bottom: 14px;
  margin-top: 40px;
}
@media screen and (width <= 767px) {
  h6.wp-block-heading {
    font-size: 16px;
    margin-top: 30px;
  }
}

.l-single__interview.p-company__history {
  max-width: 1200px;
  padding: 30px 5% 50px;
  background: #fff;
  border-radius: 10px;
  margin-bottom: 0;
}
@media screen and (width <= 767px) {
  .l-single__interview.p-company__history {
    padding: 20px 20px 30px;
  }
}
.l-single__interview.p-company__history .g-font__20 {
  color: #177075;
  text-align: center;
}
.l-single__interview.p-company__history .l-single__interview-content {
  margin-top: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
}
@media screen and (width <= 767px) {
  .l-single__interview.p-company__history .l-single__interview-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.l-single__interview.p-company__history .part-flow {
  margin-top: 0;
}
.l-single__interview.p-company__history .part-flow:last-child .part-flow-item:last-child:before {
  display: none;
}
@media screen and (width <= 767px) {
  .l-single__interview.p-company__history .part-flow:first-child .part-flow-item:last-child {
    padding-bottom: 30px;
  }
}
@media screen and (width <= 767px) {
  .l-single__interview.p-company__history .part-flow:last-child .part-flow-item:last-child {
    padding-bottom: 0px;
  }
}
.l-single__interview.p-company__history .part-flow:nth-child(2) .part-flow-item:before {
  height: calc(100% + 55px);
  top: 0px;
}
@media screen and (width <= 767px) {
  .l-single__interview.p-company__history .part-flow:nth-child(2) .part-flow-item:before {
    height: calc(100% + 40px);
  }
}
.l-single__interview.p-company__history .part-flow-item {
  gap: 10px;
}
.l-single__interview.p-company__history .part-flow-head {
  width: auto;
}
.l-single__interview.p-company__history .part-flow-title {
  color: #3C3939;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 175%;
  background: none;
  width: 66px;
}
.l-single__interview.p-company__history .part-flow-text {
  margin-bottom: 0;
}

.l-single__back {
  margin: 60px auto 0;
}
@media screen and (width <= 767px) {
  .l-single__back {
    margin-top: 30px;
  }
}

.l-single .l-single__info {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px 17px;
}

.l-archive {
  margin-top: 120px;
}
@media screen and (width <= 767px) {
  .l-archive {
    margin-top: 60px;
  }
}
.l-archive__category {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 15px 65px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (width <= 767px) {
  .l-archive__category {
    gap: 5px 35px;
  }
}
.l-archive__category a {
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 250%; /* 50px */
  min-width: 185px;
  text-align: center;
  position: relative;
}
@media screen and (width <= 767px) {
  .l-archive__category a {
    font-size: 16px;
    min-width: 150px;
  }
}
.l-archive__category a:hover {
  opacity: 1;
}
.l-archive__category a:hover:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  border-radius: 50px;
  left: 0;
  background: #177075;
  bottom: 0;
}
.l-archive__category a.active {
  opacity: 1;
}
.l-archive__category a.active:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  border-radius: 50px;
  left: 0;
  background: #177075;
  bottom: 0;
}
.l-archive__list {
  margin-top: 72.5px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 32px 40px;
  max-width: 1320px;
  width: 100%;
}
@media screen and (width <= 767px) {
  .l-archive__list {
    margin-top: 35px;
    gap: 20px;
  }
}

.l-archive__news-list {
  margin: 40px 0;
  padding: 0;
  background: #fff;
  border-radius: 10px;
  list-style: none;
}
.l-archive__news-link {
  padding: 35px 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #DBDBDB;
  position: relative;
}
@media screen and (width <= 959px) {
  .l-archive__news-link {
    padding: 20px 30px 56px;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 5px;
  }
}
@media screen and (width <= 767px) {
  .l-archive__news-link {
    padding: 16px 20px 52px;
  }
}
.l-archive__news-link .arrow {
  position: absolute;
  content: "";
  width: 47px;
  height: 47px;
  border-radius: 50px;
  background: #fff;
  right: 35px;
}
@media screen and (width <= 959px) {
  .l-archive__news-link .arrow {
    width: 36px;
    height: 36px;
    bottom: 20px;
    top: unset;
    -webkit-transform: unset;
            transform: unset;
    right: 30px;
  }
}
@media screen and (width <= 767px) {
  .l-archive__news-link .arrow {
    bottom: 12px;
    right: 20px;
  }
}
.l-archive__news-link .arrow:before {
  position: absolute;
  content: "";
  width: 23px;
  height: 13px;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #177075;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
}
@media screen and (width <= 767px) {
  .l-archive__news-link .arrow:before {
    width: 18px;
    height: 11px;
  }
}
.l-archive__news-link .arrow:after {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 50px;
  background: #fff;
  border: 1px solid #177075;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-archive__news-link:hover .arrow:after {
  -webkit-transform: translate(-50%, -50%) scale(1.1);
          transform: translate(-50%, -50%) scale(1.1);
}
.l-archive__news-item:last-child .l-archive__news-link {
  border: none;
}
.l-archive__news-category {
  border-radius: 16.5px;
  background: #25B1B9;
  width: 184px;
  height: 33px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5em;
}
@media screen and (width <= 767px) {
  .l-archive__news-category {
    font-size: 12px;
    width: 130px;
    height: 21px;
  }
}
.l-archive__news-date {
  color: rgba(60, 57, 57, 0.29);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5em;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (width <= 767px) {
  .l-archive__news-date {
    font-size: 12px;
  }
}
.l-archive__news-title {
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5em;
  display: -webkit-box !important;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  height: 1.5em;
  word-break: break-all;
  padding-right: 40px;
}
@media screen and (width <= 959px) {
  .l-archive__news-title {
    width: 100%;
    padding: 0;
  }
}
@media screen and (width <= 959px) and (width <= 767px) {
  .l-archive__news-title {
    font-size: 16px;
    -webkit-line-clamp: 2;
    height: 3em;
  }
}

.c-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 35px;
  margin: 70px auto 0;
}
.c-pagination__page {
  color: #3C3939;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 250%;
  position: relative;
}
.c-pagination__page--now {
  color: #FFF;
}
.c-pagination__page--now:before {
  position: absolute;
  content: "";
  width: 33px;
  height: 33px;
  border-radius: 50px;
  background: #177075;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.c-pagination__page--dot {
  color: #3C3939;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 250%;
  position: relative;
}

.l-form {
  margin-top: 90px;
}
@media screen and (width <= 959px) {
  .l-form {
    width: 90%;
    margin: 45px auto 0;
  }
}
.l-form__step {
  max-width: 380px;
  width: 100%;
  margin: 0 auto;
}
.l-form__explanation {
  max-width: 100%;
  margin: 35px auto 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%; /* 28px */
}
.l-form__body {
  max-width: 725px;
  margin: 70px auto 0;
}
.l-form-input__field {
  margin-top: 25px;
}
.l-form-input__field:first-child {
  margin-top: 0;
}
.l-form-input__field.-sub {
  margin-top: 20px;
  border-top: 1px solid rgba(49, 33, 2, 0.25);
}
.l-form-input__field.-sub .c-form-label {
  display: block;
  margin-top: 10px;
  font-size: 16px;
  font-weight: 400;
}
.l-form-input__field.-sub .l-form-input__field-lbl {
  margin-bottom: 10px;
}
.l-form-input__field-lbl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 9.6px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 15px;
}
.l-form-input__field-lbl.-explanation {
  margin-bottom: 12px;
}
.l-form-input__explanation {
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 175%;
  margin-bottom: 12px;
}

.c-form-step {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  counter-reset: cnt 0;
}
@media screen and (width <= 767px) {
  .c-form-step {
    gap: 30px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.c-form-step__item {
  padding-top: 105px;
  position: relative;
  width: 100px;
  text-align: center;
  color: rgba(49, 33, 2, 0.3);
  counter-increment: cnt;
}
@media screen and (width <= 767px) {
  .c-form-step__item {
    padding-top: 65px;
    width: 60px;
  }
}
.c-form-step__item::before {
  position: absolute;
  top: 0;
  font-size: 33px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
  color: #DBDBDB;
  aspect-ratio: 1;
  width: 100px;
  font-family: "Noto Sans JP", sans-serif;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  content: counter(cnt, decimal-leading);
  border-radius: 50%;
  border: 1px solid #177075;
  background: #F9F9F7;
  grid-area: number;
}
@media screen and (width <= 767px) {
  .c-form-step__item::before {
    font-size: 23px;
    width: 60px;
  }
}
.c-form-step__item::after {
  width: 40px;
  height: 0;
  position: absolute;
  content: "";
  border-top: 1px solid #177075;
  right: -40px;
  top: 50px;
}
@media screen and (width <= 767px) {
  .c-form-step__item::after {
    width: 30px;
    right: -30px;
    top: 30px;
  }
}
.c-form-step__item.active {
  color: #312102;
}
.c-form-step__item.active::before {
  color: #fff;
  background-color: #177075;
}
.c-form-step__item:last-child::after {
  display: none;
}

.c-form-tag {
  font-size: 16px;
  font-weight: 500;
  padding: 3px 15px;
  background: #DBDBDB;
  color: #fff;
  border-radius: 5px;
}
.c-form-tag.-req {
  background: #25B1B9;
  color: #fff;
}
.c-form-label {
  font-size: 18px;
  font-weight: 500;
}
.c-form-field-text.-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
}
.c-form-field-accept, .c-form-field-checkbox, .c-form-field-radio {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 15px 72px;
}
.c-form-field-accept__item, .c-form-field-checkbox__item, .c-form-field-radio__item {
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: repeat(2, auto);
  -webkit-column-gap: 12px;
     -moz-column-gap: 12px;
          column-gap: 12px;
}
.c-form-field-accept__item-input, .c-form-field-checkbox__item-input, .c-form-field-radio__item-input {
  position: relative;
  width: 20px;
  height: 20px;
  margin: 0;
  cursor: pointer;
  border: 1px solid #177075;
  background-color: #ffffff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  border: 1px solid #177075;
}
.c-form-field-accept__item-input:hover, .c-form-field-checkbox__item-input:hover, .c-form-field-radio__item-input:hover {
  border-color: #177075;
  outline: 1px solid #177075;
}
.c-form-field-accept__item-input::before, .c-form-field-checkbox__item-input::before, .c-form-field-radio__item-input::before {
  aspect-ratio: 1.3;
  position: absolute;
  inset: 50%;
  display: block;
  width: 60%;
  content: none;
  translate: -10% -45%;
  rotate: -45deg;
  -webkit-transform-origin: 0% 100%;
          transform-origin: 0% 100%;
  border-bottom: 3.5px solid #177075;
  border-left: 3.5px solid #177075;
}
.c-form-field-accept__item-input:checked::before, .c-form-field-checkbox__item-input:checked::before, .c-form-field-radio__item-input:checked::before {
  content: "";
}
.c-form-field-accept__item-label, .c-form-field-checkbox__item-label, .c-form-field-radio__item-label {
  font-weight: 500;
  line-height: 1.75em;
  cursor: pointer;
}
.c-form-field-accept, .c-form-field-file, .c-form-field-checkbox, .c-form-field-radio, .c-form-field-select2, .c-form-field-select, .c-form-field-textarea, .c-form-field-text {
  font-weight: 500;
  line-height: 1.75em;
  color: #222222;
  width: 100%;
  -webkit-font-smoothing: antialiased;
}
.c-form-field-file__wrp, .c-form-field-select2__input, .c-form-field-select__input, .c-form-field-textarea__input, .c-form-field-text__input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  font-size: inherit;
  font-weight: inherit;
  -webkit-font-smoothing: antialiased;
  line-height: inherit;
  color: inherit;
  font-family: inherit;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 50px;
  padding: 0.5em 1.25em;
  border: none;
  border: 1px solid #177075;
  outline-offset: 0;
  background-color: #ffffff;
  border-radius: 10px;
}
.c-form-field-file__wrp:hover, .c-form-field-select2__input:hover, .c-form-field-select__input:hover, .c-form-field-textarea__input:hover, .c-form-field-text__input:hover {
  border-color: #177075;
  outline: 1px solid #177075;
}
.c-form-field-file__wrp.-num, .c-form-field-select2__input.-num, .c-form-field-select__input.-num, .c-form-field-textarea__input.-num, .c-form-field-text__input.-num {
  width: 97px;
}
.c-form-field-radio__item-input {
  border-radius: 50px;
}
.c-form-field-radio__item-input::before {
  position: absolute;
  width: 60%;
  height: 60%;
  background: #177075;
  border-radius: 50px;
  content: none;
  translate: -50% -50%;
  rotate: none;
  -webkit-transform-origin: 0% 100%;
          transform-origin: 0% 100%;
  border-bottom: none;
  border-left: none;
}
.c-form-field-radio__item-input:checked::before {
  content: "";
}
.c-form-field-file__input {
  display: none;
}
.c-form-field-file-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
  background: #fff;
  border-radius: 10px;
  width: 100%;
  height: 50px;
  padding: 0.5em calc(25px + 1.25em) 0.5em 0.5em;
  position: relative;
}
.c-form-field-file-wrapper-btn {
  height: 40px;
  padding: 0px 23px;
  border-radius: 5px;
  background: #177075;
  color: #fff;
  font-weight: 500;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  cursor: pointer;
}
.c-form-field-file-wrapper-btn:before {
  position: relative;
  content: url("../images/icon/file.svg");
  top: 5px;
}
.c-form-field-file-wrapper-text {
  font-size: 16px;
  font-weight: 500;
}
.c-form-field-file-wrapper-remove {
  display: none;
  position: absolute;
  content: url("../images/icon/batu.svg");
  cursor: pointer;
  right: 1.25em;
}

.l-form-input__field.-privacy {
  margin-bottom: 60px;
}
.l-form-input__field.-privacy .-privacy {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.l-form-input__field.-privacy .error {
  text-align: center;
}

.p-contact-form_submit button {
  display: none;
}
.p-contact-form_submit label {
  cursor: pointer;
  margin: 0 auto;
}
.p-contact-form_submit label span {
  color: #177075;
  position: relative;
}

.c-form-field-radio#details {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.-corporation,
.-person,
.-other {
  display: none;
}

.l-form-privacy {
  margin-top: 80px;
}

.l-form-privacy-message {
  margin-top: 45px;
  border-radius: 4px;
  border: 1px solid #177075;
  background: #FFF;
  padding: 25px 30px;
  height: 200px;
  overflow-y: scroll;
}

@media screen and (width <= 959px) {
  .l-form-privacy-message {
    padding: 25px;
    margin-top: 25px;
  }
}
.l-form-privacy-message {
  overflow-y: scroll;
  scrollbar-width: thin; /* Firefox用 */
  scrollbar-color: #177075 transparent; /* Firefox用: スクロールバーとトラック */
  /* 内側に入れる工夫（paddingでスペース確保） */
  padding-right: 10px;
}

/* Chrome, Edge, Safari用 */
.l-form-privacy-message::-webkit-scrollbar {
  width: 8px; /* スクロールバーの太さ */
}

.l-form-privacy-message::-webkit-scrollbar-thumb {
  background-color: #999; /* スクロールバーの色 */
  border-radius: 4px;
}

.l-form-privacy-message::-webkit-scrollbar-track {
  background-color: transparent; /* トラックの背景色 */
}

.l-form-privacy-message::-webkit-scrollbar-button {
  display: none;
  height: 0;
}

.l-form-input__field .error {
  display: none;
  color: #FF0000;
  font-weight: 500;
}
.l-form-input__field.error .error {
  display: block;
}

.access-box {
  margin-top: 75px;
}
@media screen and (width <= 767px) {
  .access-box {
    margin-top: 50px;
  }
}

.c-form-field-select {
  width: 180px;
  position: relative;
}
.c-form-field-select:after {
  position: absolute;
  content: "";
  width: 14px;
  height: 9px;
  -webkit-mask-image: url(../images/form/arrow.svg);
          mask-image: url(../images/form/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #9C9C9C;
  right: 15px;
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.-confirm .p-contact-form_input {
  margin-bottom: 30px;
}
.-confirm .p-contact-form_input .title {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 10px;
  display: block;
}
.-confirm .p-contact-form_input .answer {
  background: rgba(55, 166, 172, 0.24);
  padding: 10px 30px;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 500;
  min-height: 44px;
}
.-confirm .p-contact-button_box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 35px;
  margin-top: 60px;
}
@media screen and (width <= 767px) {
  .-confirm .p-contact-button_box {
    gap: 25px;
    margin-top: 40px;
  }
}
.-confirm .p-contact-button_box input {
  display: none;
}
.-confirm .p-contact-button_box .c-btn__main {
  cursor: pointer;
}
.-confirm .p-contact-button_box .c-btn__main.-submit {
  background: #177075;
}
.-confirm .p-contact-button_box .c-btn__main.-submit span {
  color: #fff;
  position: relative;
}
.-confirm .p-contact-button_box .c-btn__main.-submit:before {
  background: #177075;
}
.-confirm .p-contact-button_box .c-btn__main.-submit:after {
  background-color: #fff;
}

.-submit .g-font-middle {
  text-align: center;
  color: #3C3939;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%;
  margin: 40px 0 20px;
}
.-submit .g-font-small {
  width: 100%;
  max-width: 666px;
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%;
}

.c-breadcrumb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%;
  padding: 0;
  margin: 0;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb {
    gap: 8px;
  }
}
.c-breadcrumb__item {
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb__item {
    font-size: 14px;
    gap: 8px;
  }
}
.c-breadcrumb__item > a {
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
}
.c-breadcrumb__item > a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb__item > a {
    font-size: 14px;
  }
}
.c-breadcrumb__item::after {
  display: inline-block;
  content: "";
  width: 23px;
  height: 11px;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #177075;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb__item::after {
    width: 19px;
    height: 9px;
  }
}
.c-breadcrumb__item:last-of-type {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-flex: unset;
  -webkit-flex: unset;
      -ms-flex: unset;
          flex: unset;
  -webkit-box-orient: vertical;
  text-decoration: none;
  -webkit-line-clamp: 1;
}
.c-breadcrumb__item:last-of-type::after {
  display: none;
}

.c-btn__link {
  background: #177075;
  border-radius: 50px;
  height: 22px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #FFF;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  padding: 0 15px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
.c-btn__link:hover {
  opacity: 0.7;
}
.c-btn__link.-download {
  padding-right: 50px;
}
.c-btn__link.-download:before {
  position: absolute;
  content: "";
  width: 15px;
  height: 14px;
  -webkit-mask-image: url(../images/common/download.svg);
          mask-image: url(../images/common/download.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #fff;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.c-btn__contact {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 229px;
  height: 50px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 25px;
  background: #25B1B9;
  color: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  padding-left: 57px;
  position: relative;
}
.c-btn__contact:before {
  content: "";
  width: 100%;
  height: 50px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 25px;
  background: #25B1B9;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-btn__contact:after {
  position: absolute;
  content: "";
  width: 27px;
  height: 13px;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #fff;
  right: 18px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-btn__contact:hover:before {
  -webkit-transform: translate(-50%, -50%) scale(1.1);
          transform: translate(-50%, -50%) scale(1.1);
}
.c-btn__contact .icon {
  position: absolute;
  width: 30px;
  height: 30px;
  border-radius: 50px;
  border: 1px solid #fff;
  left: 16px;
}
.c-btn__contact .icon:before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  -webkit-mask-image: url(../images/common/mail.svg);
          mask-image: url(../images/common/mail.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #fff;
  left: 50%;
  top: 54%;
  -webkit-transform: translate(-52%, -50%);
          transform: translate(-52%, -50%);
}
.c-btn__contact .text {
  position: relative;
}

.c-btn__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 60px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 50px;
  background: #fff;
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  padding: 0 110px 0 30px;
  position: relative;
}
.c-btn__main:before {
  content: "";
  width: 100%;
  height: 60px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 50px;
  background: #fff;
  border: 1px solid #177075;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-btn__main:after {
  position: absolute;
  content: "";
  width: 27px;
  height: 13px;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #177075;
  right: 24px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-btn__main.file:after {
  width: 16px;
  height: 16px;
  -webkit-mask-image: url(../images/common/file.svg);
          mask-image: url(../images/common/file.svg);
}
.c-btn__main.plus:after {
  width: 16px;
  height: 16px;
  -webkit-mask-image: url(../images/common/file.svg);
          mask-image: url(../images/common/file.svg);
}
.c-btn__main.-back {
  padding: 0 30px 0 110px;
}
.c-btn__main.-back span {
  color: #177075;
  position: relative;
}
.c-btn__main.-back:after {
  background-color: #177075;
  right: unset;
  left: 24px;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.c-btn__main:hover:before {
  -webkit-transform: translate(-50%, -50%) scale(1.1);
          transform: translate(-50%, -50%) scale(1.1);
}
.c-btn__main .text {
  position: relative;
}
.c-btn__main.-large {
  width: 346px;
  height: 87px;
  font-size: 20px;
  padding: 0 30px 0 33px;
}
.c-btn__main.-large:before {
  height: 87px;
}
@media screen and (max-width: 768px) {
  .c-btn__main.-large {
    max-width: 315px;
    width: 100%;
    height: 63px;
    font-size: 16px;
  }
  .c-btn__main.-large:before {
    height: 63px;
  }
}
.c-btn__main.off {
  pointer-events: none;
  color: #CFCFCF;
}
.c-btn__main.off:after {
  background-color: #CFCFCF;
}
.c-btn__main.off span {
  color: #CFCFCF;
}

.c-btn__detail {
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 12px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (width <= 767px) {
  .c-btn__detail {
    margin: 0 auto;
    gap: 0;
  }
}
.c-btn__detail .arrow {
  position: relative;
  width: 47px;
  height: 47px;
  border-radius: 50px;
  background: #fff;
  left: 16px;
}
@media screen and (width <= 767px) {
  .c-btn__detail .arrow {
    width: 36px;
    height: 36px;
  }
}
.c-btn__detail .arrow:before {
  position: absolute;
  content: "";
  width: 23px;
  height: 13px;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #177075;
  left: 50%;
  top: 52%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
}
@media screen and (width <= 767px) {
  .c-btn__detail .arrow:before {
    width: 18px;
    height: 11px;
  }
}
.c-btn__detail .arrow:after {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 50px;
  background: #fff;
  border: 1px solid #177075;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-btn__detail:hover .arrow:after {
  -webkit-transform: translate(-50%, -50%) scale(1.1);
          transform: translate(-50%, -50%) scale(1.1);
}

button {
  background: #fff;
  border: none;
  padding: 0;
}

.c-btn__sns-x {
  display: block;
}
.c-btn__sns-x span {
  display: block;
  background-image: url(../images/icon/x.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 35px;
  height: 35px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.c-btn__sns-x:hover {
  opacity: 0.7;
}
.c-btn__sns-facebook {
  display: block;
}
.c-btn__sns-facebook span {
  display: block;
  background-image: url(../images/icon/facebook.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 37px;
  height: 37px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.c-btn__sns-facebook:hover {
  opacity: 0.7;
}
.c-btn__sns-youtube {
  display: block;
}
.c-btn__sns-youtube span {
  display: block;
  background-image: url(../images/icon/youtube.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 40.326px;
  height: 28.151px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.c-btn__sns-youtube:hover {
  opacity: 0.7;
}

.c-btn__result {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 60px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 50px;
  background: #fff;
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  padding: 0 30px;
  position: relative;
  cursor: pointer;
  margin: 40px auto 20px;
  min-width: 225px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-btn__result:before {
  content: "";
  width: 100%;
  height: 60px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 50px;
  background: #fff;
  border: 1px solid #177075;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-btn__result:hover:before {
  -webkit-transform: translate(-50%, -50%) scale(1.1);
          transform: translate(-50%, -50%) scale(1.1);
}
.c-btn__result .text {
  position: relative;
}

.c-pagination {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-pagination__cards {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-column-gap: clamp(14px, 1rem, 16px);
     -moz-column-gap: clamp(14px, 1rem, 16px);
          column-gap: clamp(14px, 1rem, 16px);
}
.c-pagination__card {
  font-size: clamp(12px, 3.7333333333vw, 16px);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1em;
  color: #0068b7;
  aspect-ratio: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: clamp(30px, 10.6666666667vw, 40px);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  border: 1px solid #0068b7;
  background-color: #ffffff;
}
.c-pagination__card:focus-visible {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  color: #ffffff;
  background-color: rgb(0, 132.9836065574, 234);
}
@media (any-hover: hover) {
  .c-pagination__card:hover {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    color: #ffffff;
    background-color: rgb(0, 132.9836065574, 234);
  }
}
.c-pagination__card.is-active {
  pointer-events: none;
  color: #ffffff;
  border-color: #0068b7;
  background-color: #0068b7;
}
.c-pagination__dot {
  font-size: 16px;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75em;
  color: #0068b7;
}
.c-pagination--rev .c-pagination__card {
  color: #ffffff;
  border-color: #ffffff;
  background-color: #0068b7;
}
.c-pagination--rev .c-pagination__card:focus-visible {
  color: #0068b7;
  background-color: rgb(229.5, 229.5, 229.5);
}
@media (any-hover: hover) {
  .c-pagination--rev .c-pagination__card:hover {
    color: #0068b7;
    background-color: rgb(229.5, 229.5, 229.5);
  }
}
.c-pagination--rev .c-pagination__card.is-active {
  color: #0068b7;
  border-color: #ffffff;
  background-color: #ffffff;
}
.c-pagination--rev .c-pagination__dot {
  color: #ffffff;
}

.c-card__article {
  width: calc((100% - 80px) / 3);
  background: #F8F4EF;
  border-radius: 32px;
}
@media screen and (width <= 959px) {
  .c-card__article {
    width: calc((100% - 40px) / 2);
  }
}
@media screen and (width <= 767px) {
  .c-card__article {
    width: 100%;
  }
}
.c-card__article-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5%;
}
@media screen and (width <= 767px) {
  .c-card__article-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.c-card__article-link {
  padding: 24px;
  display: block;
}
@media screen and (width <= 767px) {
  .c-card__article-link {
    padding: 20px;
  }
}
.c-card__article-thumbnail {
  width: 35%;
}
@media screen and (width <= 767px) {
  .c-card__article-thumbnail {
    width: 100%;
  }
}
.c-card__article-thumbnail img {
  height: auto;
}
.c-card__article-textarea {
  width: 60%;
}
@media screen and (width <= 767px) {
  .c-card__article-textarea {
    width: 100%;
  }
}
.c-card__article-info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 17px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 24px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 5px 17px;
}
@media screen and (width <= 767px) {
  .c-card__article-info {
    margin-bottom: 15px;
  }
}
.c-card__article-date {
  color: #2B2D2C;
  font-size: 14px;
  opacity: 0.55;
  font-weight: 500;
}
.c-card__article-category {
  font-size: 14px;
  font-weight: 500;
  color: #D1815F;
  border: 1px solid;
  border-radius: 50px;
  padding: 1px 20px;
}
.c-card__article-title {
  font-size: 20px;
  font-weight: 500;
  color: #312102;
}
@media screen and (width <= 767px) {
  .c-card__article-title {
    font-size: 18px;
  }
}
.c-card__article-btn {
  display: block;
  width: 64px;
  height: 64px;
  border: 1px solid #D1815F;
  border-radius: 50px;
  position: relative;
  margin: 20px 0 0 auto;
}
@media screen and (width <= 767px) {
  .c-card__article-btn {
    width: 40px;
    height: 40px;
    margin-top: 15px;
  }
}
.c-card__article-btn:before {
  position: absolute;
  content: "";
  width: 8px;
  height: 14px;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  background-color: #D3A05E;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.c-table__main {
  list-style: none;
  margin: 0;
  padding: 0;
}
.c-table__main-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.c-table__main-item:last-child {
  height: 100%;
}
@media screen and (width <= 767px) {
  .c-table__main-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.c-table__main-head {
  background: #F3F4F4;
  width: 170px;
  padding: 40px 5px 40px 40px;
  font-weight: bold;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (width <= 767px) {
  .c-table__main-head {
    width: 100%;
    padding: 20px;
  }
}
.c-table__main-head span {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  display: block;
}
.c-table__main-text {
  padding: 40px;
  color: #3C3939;
  font-size: 17px;
  font-style: normal;
  font-weight: 400;
  line-height: 175%; /* 28px */
}
@media screen and (width <= 767px) {
  .c-table__main-text {
    padding: 20px;
  }
}
.c-table__main-text a {
  text-decoration: underline;
}

.c-list__flex {
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 40px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (width <= 767px) {
  .c-list__flex {
    gap: 25px;
  }
}
.c-list__flex-item {
  width: calc((100% - 80px) / 3);
}
@media screen and (width <= 959px) {
  .c-list__flex-item {
    width: calc((100% - 40px) / 2);
  }
}
@media screen and (width <= 767px) {
  .c-list__flex-item {
    width: 100%;
  }
}

.c-list__double {
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 55px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (width <= 959px) {
  .c-list__double {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px;
  }
}

.c-comment {
  position: fixed;
  left: 26px;
  bottom: 20px;
  z-index: 5;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 17px;
}
@media screen and (width <= 767px) {
  .c-comment {
    left: 15px;
    bottom: 5px;
  }
}
@media screen and (width <= 767px) {
  .c-comment > svg {
    width: 64px;
  }
}
.c-comment__textarea {
  border-radius: 8px;
  background: #FFF;
  width: 290px;
  padding: 13px 20px;
  position: relative;
  -webkit-box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);
          box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);
  bottom: 38px;
  opacity: 0;
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  pointer-events: none;
  left: 111px;
  position: absolute;
}
@media screen and (width <= 767px) {
  .c-comment__textarea {
    left: 76px;
    width: calc(92vw - 76px);
    padding: 7.5px 10px;
  }
}
.c-comment__textarea.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  pointer-events: auto;
}
.c-comment__textarea:before {
  position: absolute;
  content: "";
  width: 29px;
  height: 12px;
  background: #fff;
  bottom: 0;
  left: 32px;
  z-index: 1;
}
@media screen and (width <= 767px) {
  .c-comment__textarea:before {
    width: 29px;
    height: 8px;
    bottom: 0;
    left: 15px;
  }
}
.c-comment__textarea svg {
  position: absolute;
  bottom: -26px;
}
@media screen and (width <= 767px) {
  .c-comment__textarea svg {
    width: 30px;
    bottom: -22px;
  }
}
.c-comment__text {
  color: #3C3939;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  line-height: 1.75em;
}

.slider {
  position: relative;
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: none;
  width: 75%;
  max-width: 1500px;
  margin: 0;
  height: auto;
  aspect-ratio: 1244/700;
}
@media screen and (width <= 959px) {
  .slider {
    width: 85%;
    aspect-ratio: 5/7;
    max-width: 500px;
    margin-top: 150px;
  }
}

.slides {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 0px 0px 20px 0px;
  overflow: hidden;
}
@media screen and (width <= 959px) {
  .slides {
    border-radius: 0px 20px 20px 0px;
  }
}

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}

.slide.active {
  opacity: 1;
  z-index: 1;
}

.slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.dots {
  position: absolute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  z-index: 2;
  top: 20px;
  right: -32px;
}
@media screen and (width <= 959px) {
  .dots {
    top: unset;
    bottom: 20px;
  }
}

.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #D9D9D9;
  border: none;
  cursor: pointer;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}

.dot.active {
  background: #9C9C9C;
}

.p-front__fv {
  margin-top: var(--header-height, 0);
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-front__fv {
    margin-bottom: 70px;
  }
}
.p-front__fv-copy {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  color: #177075;
  -webkit-font-feature-settings: "vert" on;
          font-feature-settings: "vert" on;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 60px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 64px;
}
@media screen and (max-width: 1250px) {
  .p-front__fv-copy {
    font-size: 45px;
    margin-top: 32px;
  }
}
@media screen and (width <= 959px) {
  .p-front__fv-copy {
    position: absolute;
    z-index: 1;
    right: 7%;
  }
}
@media screen and (width <= 767px) {
  .p-front__fv-copy {
    font-size: 30px;
    margin-top: 40px;
  }
}
.p-front__fv-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 90px;
}

.p-front__company {
  margin-bottom: 110px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5%;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (width <= 959px) {
  .p-front__company {
    margin-bottom: 70px;
  }
}
.p-front__company img {
  width: 45%;
  border-radius: 20px;
}
@media screen and (width <= 959px) {
  .p-front__company img {
    display: none;
  }
}
.p-front__company-textarea {
  width: 50%;
}
@media screen and (width <= 959px) {
  .p-front__company-textarea {
    width: 100%;
  }
}
.p-front__company-textarea .g-font__18 {
  margin: 40px 0 60px;
}
@media screen and (width <= 959px) {
  .p-front__company-textarea .g-font__18 {
    margin: 20px auto 30px;
  }
}
.p-front__company-textarea img {
  display: none;
  border-radius: 20px;
}
@media screen and (width <= 959px) {
  .p-front__company-textarea img {
    width: 100%;
    display: block;
    max-width: 500px;
    margin: 30px auto 0;
  }
}
@media screen and (width <= 959px) {
  .p-front__company .c-btn__main {
    margin: 0 auto;
  }
}

.p-front__service {
  margin-bottom: 120px;
}
@media screen and (width <= 959px) {
  .p-front__service {
    margin-bottom: 70px;
  }
}
.p-front__service .g-font__heading {
  text-align: center;
}
.p-front__service-list {
  margin-top: 60px;
}
@media screen and (width <= 959px) {
  .p-front__service-list {
    margin-top: 30px;
  }
}
.p-front__service-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 3.5%;
  margin-bottom: 100px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (width <= 959px) {
  .p-front__service-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .p-front__service-item.re {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (width <= 959px) {
  .p-front__service-item {
    margin-bottom: 50px;
    gap: 20px;
  }
}
.p-front__service-item:last-child {
  margin-bottom: 0;
}
.p-front__service-textarea {
  width: 44.5%;
}
@media screen and (width <= 959px) {
  .p-front__service-textarea {
    width: 100%;
  }
}
.p-front__service-textarea .g-font__heading {
  text-align: left;
  line-height: 1.5;
}
.p-front__service-head {
  color: #177075;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  position: relative;
  margin-bottom: 34px;
}
@media screen and (width <= 767px) {
  .p-front__service-head {
    margin-bottom: 20px;
    font-size: 14px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-front__service-head span {
  position: absolute;
  bottom: -25px;
}
.p-front__service-head svg.pc {
  display: block;
}
@media screen and (width <= 767px) {
  .p-front__service-head svg.pc {
    display: none;
  }
}
.p-front__service-head svg.sp {
  display: none;
}
@media screen and (width <= 767px) {
  .p-front__service-head svg.sp {
    display: block;
  }
}
.p-front__service .g-font__30 {
  color: #3C3939;
  margin: 20px 0 60px;
}
@media screen and (width <= 767px) {
  .p-front__service .g-font__30 {
    margin: 10px 0 40px;
  }
}
.p-front__service-option {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
  margin-bottom: 25px;
  position: relative;
}
@media screen and (width <= 767px) {
  .p-front__service-option {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
  }
}
.p-front__service-option > span {
  content: "";
  width: 100%;
  height: 2px;
  -webkit-mask-image: url(../images/front/dashed.png);
          mask-image: url(../images/front/dashed.png);
  position: absolute;
  top: -30px;
  background: #D9D9D9;
}
@media screen and (width <= 767px) {
  .p-front__service-option > span {
    top: -20px;
  }
}
.p-front__service-note {
  margin-bottom: 20px;
}
.p-front__service-note a {
  text-decoration: underline;
}
.p-front__service-note a:hover {
  opacity: 0 7;
}
.p-front__service .g-font__24 {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.p-front__service .g-font__16 span {
  color: #25B1B9;
  font-size: 18px;
  margin-right: 3px;
  font-weight: bold;
}
@media screen and (width <= 767px) {
  .p-front__service .g-font__16 span {
    font-size: 16px;
  }
}
.p-front__service img {
  width: 52%;
  height: auto;
  border-radius: 10px;
  aspect-ratio: 1200/777;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 55% center;
     object-position: 55% center;
}
@media screen and (width <= 959px) {
  .p-front__service img {
    width: 100%;
    max-width: 500px;
  }
}
.p-front__service .c-btn__main {
  margin: 80px auto 0;
}
@media screen and (width <= 959px) {
  .p-front__service .c-btn__main {
    margin: 40px auto 0;
  }
}

.p-front__order {
  position: relative;
  padding: 115px 0;
  overflow: hidden;
  background-image: url(../images/front/order.png);
  background-size: cover;
  background-position: center left 10vw;
  margin-bottom: 120px;
}
@media screen and (width <= 959px) {
  .p-front__order {
    margin-bottom: 70px;
    padding: 60px 0;
  }
}
@media screen and (width <= 767px) {
  .p-front__order {
    padding: 50px 0;
    background-position: center left 0;
  }
}
.p-front__order::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #25B1B9;
  opacity: 0.7;
}
.p-front__order-content {
  max-width: 1020px;
  width: 90%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 50px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (width <= 767px) {
  .p-front__order-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 35px;
  }
}
.p-front__order-content p {
  color: #fff;
}
@media screen and (width <= 959px) {
  .p-front__order .g-font__40 {
    font-size: 30px;
  }
}
@media screen and (width <= 767px) {
  .p-front__order .g-font__40 {
    font-size: 24px;
  }
}

.p-front__news {
  margin-bottom: 120px;
}
@media screen and (width <= 959px) {
  .p-front__news {
    margin-bottom: 70px;
  }
}
.p-front__news .g-font__heading {
  text-align: center;
}
.p-front__news .c-btn__main {
  margin: 60px auto 0;
}

.p-front__recruit .g-font__30 {
  color: #3C3939;
  margin-top: 40px;
}

.p-en__fv .p-front__fv-inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 30px;
}
@media screen and (width <= 959px) {
  .p-en__fv .p-front__fv-inner {
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
    -webkit-flex-direction: unset;
        -ms-flex-direction: unset;
            flex-direction: unset;
  }
}
.p-en__fv .slider {
  width: 95%;
  aspect-ratio: 1200/700;
}
@media screen and (width <= 959px) {
  .p-en__fv .slider {
    margin: 0;
    max-width: unset;
    width: 90%;
  }
}
@media screen and (width <= 959px) {
  .p-en__fv .slider {
    width: 85%;
    aspect-ratio: 5/7;
    max-width: 500px;
    margin-top: 150px;
  }
}
.p-en__fv .slide img {
  -o-object-position: top;
     object-position: top;
}
.p-en__fv .p-front__fv-copy {
  margin-top: 0;
  -webkit-writing-mode: unset;
      -ms-writing-mode: unset;
          writing-mode: unset;
  width: 90%;
  max-width: 1368px;
  margin: 0 auto;
  position: relative;
}
@media screen and (width <= 959px) {
  .p-en__fv .p-front__fv-copy {
    right: unset;
  }
}
@media screen and (width <= 959px) {
  .p-en__fv .p-front__fv-copy {
    position: absolute;
    z-index: 1;
    right: 7%;
    margin-top: 40px;
  }
}

.-en .p-front__service-head {
  margin-bottom: 10px;
}

.p-company__list {
  position: relative;
  padding: 100px 0 0;
}
@media screen and (width <= 959px) {
  .p-company__list {
    padding: 50px 0;
  }
}
.p-company__list-list {
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 60px 77px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (width <= 767px) {
  .p-company__list-list {
    gap: 30px;
  }
  .p-company__list-list .p-company__list-item {
    width: 100%;
  }
  .p-company__list-list .c-btn__main {
    margin: 0 auto;
  }
}

.scroll {
  position: relative;
}
.scroll span {
  position: absolute;
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 200%; /* 28px */
  right: -1.75em;
  bottom: 0;
  display: none;
}
@media screen and (width <= 767px) {
  .scroll span {
    display: block;
    font-size: 11px;
    right: -1.1em;
  }
}
.scroll span:after {
  position: absolute;
  content: "";
  height: 23.5px;
  width: 19px;
  -webkit-mask-image: url(../images/common/scroll.svg);
          mask-image: url(../images/common/scroll.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #177075;
  left: 50%;
  bottom: -25px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (width <= 767px) {
  .scroll span:after {
    height: 15px;
    width: 12px;
    left: 50%;
    bottom: -18px;
  }
}

.p-company__message {
  margin-top: 120px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 50px;
}
@media screen and (width <= 959px) {
  .p-company__message {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 60px;
    gap: 25px;
  }
}
.p-company__message-textarea {
  width: 55%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (width <= 959px) {
  .p-company__message-textarea {
    width: 100%;
  }
}
.p-company__message-text {
  margin-top: 40px;
}
@media screen and (width <= 959px) {
  .p-company__message-text {
    overflow-y: scroll;
    aspect-ratio: 2/1;
    margin-top: 20px;
    padding-right: 1em;
  }
}
@media screen and (width <= 767px) {
  .p-company__message-text {
    aspect-ratio: 2/1.3;
    margin-right: 5.5px;
  }
}
.p-company__message img {
  width: calc(45% - 60px);
  height: auto;
  display: block;
  margin-top: 80px;
  border-radius: 10px;
  position: -webkit-sticky;
  position: sticky;
  top: 120px;
}
@media screen and (width <= 959px) {
  .p-company__message img {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    position: relative;
    top: 0;
  }
}

.p-company__philosophy {
  position: relative;
  padding: 72px 0 80px;
  overflow: hidden;
  background-image: url(../images/company/philosophy.jpg);
  background-size: cover;
  background-position: center;
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-company__philosophy {
    padding: 36px 0 40px;
    margin-bottom: 55px;
  }
}
.p-company__philosophy::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #177075;
  opacity: 0.7;
}
.p-company__philosophy .g-font__heading {
  text-align: center;
}
.p-company__philosophy-box {
  margin-top: 30px;
  background: #fff;
  border-radius: 10px;
  padding: 35px 5%;
}
@media screen and (width <= 767px) {
  .p-company__philosophy-box {
    padding: 20px 5%;
    margin-top: 20px;
  }
}
.p-company__philosophy-box .g-font__40 {
  text-align: center;
  margin-left: 1px;
}
@media screen and (width <= 959px) {
  .p-company__philosophy-box .g-font__40 {
    margin-left: 0;
  }
}
@media screen and (width <= 767px) {
  .p-company__philosophy-box .g-font__40 {
    font-size: 22px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.p-company__philosophy-box .g-font__30 {
  text-align: center;
  margin-bottom: 25px;
}
@media screen and (width <= 767px) {
  .p-company__philosophy-box .g-font__30 {
    margin-bottom: 15px;
  }
}
.p-company__philosophy-box .g-font__16 {
  max-width: 868px;
  margin: 0 auto;
}
.p-company__philosophy-list {
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 30px 27px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (width <= 767px) {
  .p-company__philosophy-list {
    gap: 20px;
  }
  .p-company__philosophy-list .p-company__list-item {
    width: 100%;
  }
  .p-company__philosophy-list .c-btn__main {
    margin: 0 auto;
  }
}
.p-company__philosophy-item {
  width: calc((100% - 54px) / 3);
  border: 1px solid #177075;
  border-radius: 10px;
  padding: 20px 30px;
}
@media screen and (max-width: 1250px) {
  .p-company__philosophy-item {
    width: calc((100% - 27px) / 2);
  }
}
@media screen and (width <= 767px) {
  .p-company__philosophy-item {
    width: 100%;
    padding: 15px;
  }
}
.p-company__philosophy-item-head {
  font-weight: bold;
  line-height: 1.75em;
  margin-bottom: 15px;
}
.p-company__philosophy-item-text {
  color: #177075;
}

.p-company__overview {
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-company__overview {
    margin-bottom: 55px;
  }
}
.p-company__overview .g-font__heading {
  margin-bottom: 35px;
}
.p-company__overview-box {
  border-radius: 10px;
  border: 1px solid #DBDBDB;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}
@media screen and (width <= 959px) {
  .p-company__overview-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-company__overview-box .c-table__main {
  width: 55%;
}
.p-company__overview-box .c-table__main:last-child {
  width: 45%;
}
@media screen and (width <= 959px) {
  .p-company__overview-box .c-table__main {
    width: 100% !important;
  }
}

.p-company__history {
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-company__history {
    margin-bottom: 55px;
  }
}

.part-flow {
  max-width: 1200px;
  width: 95%;
  padding: 0;
  overflow: hidden;
  margin: 50px auto 0;
}
@media screen and (width <= 767px) {
  .part-flow {
    margin-top: 30px;
  }
}

.part-flow-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 32px;
  margin-bottom: 40px;
  position: relative;
}
.part-flow-item:last-child {
  margin-bottom: 0;
}
@media screen and (width <= 767px) {
  .part-flow-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
  }
}

.part-flow-item:before {
  position: absolute;
  content: "";
  width: 1px;
  height: calc(100% + 40px);
  background: #177075;
  top: 12px;
  left: 5.5px;
  z-index: 0;
}

.part-flow-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  width: 116px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  position: relative;
}

.part-flow-num {
  background: #177075;
  width: 12px;
  height: 12px;
  color: #fff;
  border-radius: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
}

.part-flow-title {
  font-size: 20px;
  font-weight: 500;
  width: 84px;
  height: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #25B1B9;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50px;
  color: #fff;
}
@media screen and (width <= 767px) {
  .part-flow-title {
    font-size: 18px;
    height: 25px;
    width: 75px;
  }
}

.part-flow-textarea {
  width: 100%;
}
@media screen and (width <= 767px) {
  .part-flow-textarea {
    padding-left: 32px;
  }
}

.part-flow-text {
  font-size: 16px;
  margin-bottom: 12px;
}
.part-flow-text.-center {
  margin-bottom: 40px;
}
@media screen and (width <= 767px) {
  .part-flow-text.-center {
    margin-bottom: 20px;
  }
}

.part-flow-date {
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin-bottom: 12px;
}
@media screen and (width <= 767px) {
  .part-flow-date {
    font-size: 18px;
  }
}

.p-company__education {
  border-radius: 10px;
  background: #F3F4F4;
  padding: 60px 4%;
}
.p-company__education .g-font__heading {
  text-align: center;
}
.p-company__education-text {
  max-width: 814px;
  margin: 40px auto 100px;
}
@media screen and (width <= 959px) {
  .p-company__education-text {
    margin: 20px auto 50px;
  }
}
.p-company__education-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 80px;
}
@media screen and (width <= 959px) {
  .p-company__education-list {
    gap: 40px;
  }
}
.p-company__education-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-company__education-item:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (width <= 959px) {
  .p-company__education-item {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: column-reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
    gap: 20px;
  }
}
.p-company__education-img {
  background: #F3F4F4;
  width: 42.5%;
  aspect-ratio: 533/300;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (width <= 959px) {
  .p-company__education-img {
    width: 100%;
    max-width: 533px;
  }
}
.p-company__education-num {
  color: #25B1B9;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 50px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%;
}
@media screen and (width <= 767px) {
  .p-company__education-num {
    font-size: 30px;
  }
}
.p-company__education .g-font__30 {
  color: #3C3939;
  margin-bottom: 18px;
}
@media screen and (width <= 767px) {
  .p-company__education .g-font__30 {
    margin-bottom: 10px;
  }
}

.p-recruit__test.job {
  margin-top: 80px;
}
@media screen and (width <= 767px) {
  .p-recruit__test.job {
    margin-top: 40px;
  }
}
.p-recruit__test.job .g-font__20 {
  margin-bottom: 15px;
}
.p-recruit__test.job .c-btn__main:after {
  right: 35px;
  -webkit-transform: translateY(-50%) rotate(90deg) scale(0.9);
          transform: translateY(-50%) rotate(90deg) scale(0.9);
}

.p-recruit__service {
  padding: 60px;
  border-radius: 10px;
  background: #FFF;
  margin-top: 110px;
  margin-bottom: 110px;
}
@media screen and (width <= 767px) {
  .p-recruit__service {
    margin-top: 55px;
    margin-bottom: 55px;
    padding: 30px 20px;
  }
}
.p-recruit__service-content {
  margin-top: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
}
@media screen and (width <= 959px) {
  .p-recruit__service-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
  }
}
@media screen and (width <= 959px) {
  .p-recruit__service-content {
    margin-top: 30px;
  }
}
.p-recruit__service-link {
  width: calc((100% - 60px) / 2);
  display: block;
  border-bottom: 1px solid #DBDBDB;
  padding-bottom: 5px;
}
@media screen and (width <= 959px) {
  .p-recruit__service-link {
    width: 100%;
    max-width: 500px;
  }
}
.p-recruit__service-link:hover {
  opacity: 0.7;
}
.p-recruit__service-img {
  display: block;
  aspect-ratio: 500/326;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
.p-recruit__service-text {
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%;
  position: relative;
  margin-top: 30px;
}
@media screen and (width <= 959px) {
  .p-recruit__service-text {
    margin-top: 15px;
  }
}
@media screen and (width <= 767px) {
  .p-recruit__service-text {
    font-size: 18px;
    padding-right: 30px;
  }
}
.p-recruit__service-text:before {
  position: absolute;
  content: "";
  width: 27px;
  height: 13px;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #177075;
  right: 18px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (width <= 767px) {
  .p-recruit__service-text:before {
    width: 21px;
    height: 9px;
    right: 10px;
  }
}

.p-recruit__feature {
  position: relative;
  padding: 100px 0 120px;
  overflow: hidden;
  background-image: url(../images/recruit/feature.png);
  background-size: cover;
  background-position: center -50px;
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-recruit__feature {
    margin-bottom: 55px;
    background-position: center;
  }
}
@media screen and (width <= 959px) {
  .p-recruit__feature {
    padding: 50px 0 60px;
  }
}
.p-recruit__feature::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #177075;
  opacity: 0.7;
}
.p-recruit__feature .g-font__heading {
  text-align: center;
  margin-bottom: 70px;
}
.p-recruit__feature-item {
  background: #fff;
  border-radius: 10px;
  padding: 10px 30px 25px;
}
@media screen and (width <= 767px) {
  .p-recruit__feature-item {
    padding: 10px 20px 20px;
  }
}
.p-recruit__feature-num {
  color: #25B1B9;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 50px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%;
  text-align: center;
}
@media screen and (width <= 767px) {
  .p-recruit__feature-num {
    font-size: 25px;
  }
}
.p-recruit__feature .g-font__20 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 25px;
  height: 3.5em;
}
@media screen and (width <= 767px) {
  .p-recruit__feature .g-font__20 {
    margin: 0 auto 15px;
    height: auto;
  }
}

.p-recruit__interview {
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-recruit__interview {
    margin-bottom: 55px;
  }
}
.p-recruit__interview .swiper {
  margin-top: 40px;
}
.p-recruit__interview-list {
  margin: 0;
  padding: 1px;
}
.p-recruit__interview-list a {
  display: block;
  margin: 1.5px;
}
.p-recruit__interview .c-card__article-thumbnail {
  width: 100%;
  margin-bottom: 20px;
  position: relative;
}
.p-recruit__interview .c-card__article-thumbnail img {
  width: 100%;
  aspect-ratio: 453/254;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
.p-recruit__interview .c-card__article-thumbnail svg {
  position: absolute;
  right: 34px;
  bottom: 25px;
}
.p-recruit__interview .l-single__info {
  margin-bottom: 15px;
}
.p-recruit__interview .l-archive__news-date {
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.p-recruit__interview .l-archive__news-category {
  width: auto;
  padding: 0 14px;
  height: 28px;
}
.p-recruit__interview-title {
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.75em;
  display: -webkit-box !important;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  height: 3.5em;
  word-break: break-all;
}
.p-recruit__interview a:hover {
  opacity: 0.7;
}
.p-recruit__interview .page-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
}
@media screen and (width <= 767px) {
  .p-recruit__interview .page-btn {
    gap: 30px;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
}
.p-recruit__interview .page-btn button {
  cursor: pointer;
  background: none;
}
.p-recruit__interview .page-btn button:hover {
  opacity: 0.7;
}
@media screen and (width <= 767px) {
  .p-recruit__interview .page-btn button svg {
    width: 16px;
  }
}
.p-recruit__interview .swiper-pagination-progressbar {
  width: 100%;
  position: relative;
  background: #DBDBDB;
  height: 1px !important;
}
.p-recruit__interview .swiper-pagination-progressbar-fill {
  background: #177075 !important;
}
.p-recruit__interview .swiper-tool {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 100px;
  margin-top: 60px;
}
@media screen and (width <= 767px) {
  .p-recruit__interview .swiper-tool {
    padding: 0;
    gap: 30px;
    margin-top: 30px;
  }
}

.p-company__message.-knows .g-font__heading {
  margin-bottom: 50px;
  line-height: 1.5em;
}
@media screen and (width <= 959px) {
  .p-company__message.-knows .g-font__heading {
    margin-bottom: 25px;
  }
}
.p-company__message.-knows .g-font__heading.-sub {
  margin-bottom: 20px;
}
.p-company__message.-knows .c-btn__main {
  margin-top: 50px;
}
@media screen and (width <= 959px) {
  .p-company__message.-knows .c-btn__main {
    margin-top: 25px;
  }
}
.p-company__message.-knows img {
  margin-top: 0;
}

.p-recruit__test {
  border-radius: 127px;
  background: #F3F4F4;
  padding: 40px 7.5%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 10%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-recruit__test {
    margin-bottom: 55px;
  }
}
@media screen and (width <= 959px) {
  .p-recruit__test {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px;
  }
}
@media screen and (width <= 767px) {
  .p-recruit__test {
    border-radius: 10px;
    padding: 30px 20px;
  }
}
.p-recruit__test .g-font__heading {
  margin-bottom: 40px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.5em;
}
.p-recruit__test .g-font__heading svg {
  position: absolute;
  right: -80px;
  top: 50%;
  -webkit-transform: translateY(-40%);
          transform: translateY(-40%);
}
@media screen and (width <= 767px) {
  .p-recruit__test .g-font__heading svg {
    width: 60px;
    right: -5px;
  }
}
.p-recruit__test .c-btn__main {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}

.p-recruit__job {
  background: #F3F4F4;
  padding: 100px 0;
}
@media screen and (width <= 959px) {
  .p-recruit__job {
    padding: 50px 0;
  }
}
@media screen and (width <= 959px) {
  .p-recruit__job {
    padding: 30px 0;
  }
}
.p-recruit__job .g-font__heading {
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (width <= 959px) {
  .p-recruit__job .g-font__heading {
    margin-bottom: 30px;
  }
}
.p-recruit__job-item a {
  position: relative;
  height: 100%;
  display: block;
  border-radius: 10px;
  background: #FFF;
  padding: 30px 25px 65px;
}
.p-recruit__job-item:hover .arrow:after {
  -webkit-transform: translate(-50%, -50%) scale(1.1);
          transform: translate(-50%, -50%) scale(1.1);
}
@media screen and (width <= 959px) {
  .p-recruit__job-item:hover .arrow:after {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
.p-recruit__job-info {
  margin: 10px 0 40px;
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 175%; /* 28px */
}
.p-recruit__job-detail {
  text-align: right;
  padding-right: 62px;
  position: absolute;
  bottom: 35px;
  right: 30px;
}
.p-recruit__job-detail .arrow {
  position: absolute;
  content: "";
  width: 47px;
  height: 47px;
  border-radius: 50px;
  background: #fff;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (width <= 959px) {
  .p-recruit__job-detail .arrow {
    width: 36px;
    height: 36px;
  }
}
.p-recruit__job-detail .arrow:before {
  position: absolute;
  content: "";
  width: 23px;
  height: 13px;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #177075;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
}
.p-recruit__job-detail .arrow:after {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 50px;
  background: #fff;
  border: 1px solid #177075;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.c-test__culture .g-font__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  position: relative;
  margin-bottom: 75px;
}
@media screen and (width <= 767px) {
  .c-test__culture .g-font__heading {
    margin-bottom: 45px;
  }
}
.c-test__culture .g-font__heading svg {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -75px;
}
@media screen and (width <= 767px) {
  .c-test__culture .g-font__heading svg {
    width: 60px;
    right: -15px;
  }
}
.c-test__culture > .g-font__16 {
  max-width: 800px;
  width: 90%;
  margin: 0 auto 50px;
}
@media screen and (width <= 767px) {
  .c-test__culture > .g-font__16 {
    margin-bottom: 30px;
  }
}
.c-test__culture-form {
  max-width: 885px;
  width: 100%;
  margin: 0 auto;
  border-radius: 10px;
  background: #FFF;
  padding: 60px 6%;
}
@media screen and (width <= 767px) {
  .c-test__culture-form {
    padding: 30px 25px;
  }
}
.c-test__culture .question-block {
  margin-bottom: 35px;
}
.c-test__culture .question-block:last-child {
  margin-bottom: 0;
}
.c-test__culture .question-block .row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 35px;
  margin-top: 20px;
}
@media screen and (width <= 767px) {
  .c-test__culture .question-block .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.c-test__culture .question-block .col-md-6 {
  width: calc((100% - 35px) / 2);
}
@media screen and (width <= 767px) {
  .c-test__culture .question-block .col-md-6 {
    width: 100%;
  }
}
.c-test__culture .question-block .g-font__18 {
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 10px;
}
.c-test__culture .question-block .g-font__18 span {
  color: #25B1B9;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media screen and (width <= 767px) {
  .c-test__culture .question-block .g-font__18 span {
    font-size: 18px;
  }
}
.c-test__culture .arrow-result {
  margin: 0 auto 30px;
}
@media screen and (width <= 767px) {
  .c-test__culture .arrow-result {
    margin-bottom: 20px;
  }
}

.choice-card {
  border-radius: 10px;
  border: 1px solid #177075;
  background: #FFF;
  padding: 11px 25px;
  line-height: 1.75em;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-color: #fff;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (width <= 767px) {
  .choice-card {
    padding: 10px 20px;
  }
}

.choice-card:hover {
  background-color: #f8f9fa;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}

.choice-card.selected {
  background-color: #177075;
  color: #fff;
  -webkit-box-shadow: 0 4px 12px rgba(0, 123, 255, 0.2);
          box-shadow: 0 4px 12px rgba(0, 123, 255, 0.2);
}

.your-type {
  display: none;
}

.result-box {
  margin-bottom: 70px;
  padding: 32px;
  display: none;
}
@media screen and (width <= 767px) {
  .result-box {
    padding: 20px;
  }
}
.result-box.active {
  display: block;
  border-radius: 22px;
  border: 1px solid #177075;
  background: #FFF;
  position: relative;
}
.result-box.active .your-type {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-radius: 10px 10px 0px 0px;
  background: #25B1B9;
  padding: 17px 35px;
  color: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 9px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  top: -54px;
}
@media screen and (width <= 767px) {
  .result-box.active .your-type {
    padding: 10px 20px;
    font-size: 16px;
    top: -42px;
  }
}
.result-box .mt-3 {
  border-radius: 22px;
  background: #F3F4F4;
  margin-top: 16px;
  padding: 25px 60px;
}
@media screen and (width <= 767px) {
  .result-box .mt-3 {
    padding: 20px;
  }
}

.c-test__culture-result {
  max-width: 960px;
}

.tab {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 80px;
}
@media screen and (width <= 767px) {
  .tab {
    margin-bottom: 40px;
  }
}

.tab-btn {
  color: #177075;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  padding: 12px;
  width: 50%;
  border-radius: 10px 0px 0px 10px;
  border: 1px solid #177075;
  background: #F9F9F7;
  cursor: pointer;
  word-break: keep-all;
  text-align: center;
}
@media screen and (width <= 767px) {
  .tab-btn {
    font-size: 18px;
  }
}
.tab-btn:last-child {
  border-radius: 0px 10px 10px 0px;
}
.tab-btn.active {
  background: #177075;
  color: #F9F9F7;
}

.tab-item {
  display: none;
}
.tab-item.active {
  display: block;
}

.p-products__series {
  background: #F3F4F4;
  padding: 70px;
  border-radius: 15px;
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-products__series {
    margin-bottom: 55px;
  }
}
@media screen and (width <= 959px) {
  .p-products__series {
    padding: 35px;
  }
}
@media screen and (width <= 959px) {
  .p-products__series {
    padding: 20px;
  }
}
.p-products__series .g-font__heading {
  text-align: center;
  line-height: 1.5em;
  word-break: keep-all;
}
.p-products__series-content {
  margin-top: 70px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (width <= 959px) {
  .p-products__series-content {
    margin-top: 35px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px;
  }
}
.p-products__series img {
  width: 50%;
  border-radius: 10px;
  aspect-ratio: 488/325;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (width <= 959px) {
  .p-products__series img {
    width: 100%;
    max-width: 500px;
  }
}
.p-products__series .g-font__24 {
  color: #3C3939;
  margin-bottom: 34px;
}
@media screen and (width <= 767px) {
  .p-products__series .g-font__24 {
    margin-bottom: 20px;
  }
}
.p-products__series .g-font__14 {
  color: #3C3939;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 175%; /* 24.5px */
  margin-top: 50px;
}
@media screen and (max-width: 1200px) {
  .p-products__series .g-font__14 {
    margin-top: 25px;
  }
}
@media screen and (width <= 767px) {
  .p-products__series .g-font__14 {
    font-size: 12px;
  }
}
.p-products__series .g-font__14 a {
  text-decoration: underline;
}

.p-products__features {
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-products__features {
    margin-bottom: 55px;
  }
}
.p-products__features .g-font__heading {
  text-align: center;
}
.p-products__features-list {
  margin-top: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 35px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (width <= 767px) {
  .p-products__features-list {
    gap: 25px;
  }
}
.p-products__features-item {
  width: calc((100% - 70px) / 3);
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (width <= 959px) {
  .p-products__features-item {
    width: calc((100% - 35px) / 2);
  }
}
@media screen and (width <= 767px) {
  .p-products__features-item {
    width: 100%;
  }
}
.p-products__features img {
  aspect-ratio: 427/240;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  display: block;
  width: 100%;
}
.p-products__features .g-font__20 {
  margin: 0 0 25px;
}
.p-products__features-textarea {
  padding: 30px 20px;
}

.p-products__reason {
  padding: 75px 0;
  background: #FFF;
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-products__reason {
    margin-bottom: 55px;
    padding: 35px 0;
  }
}
.p-products__reason .g-font__heading {
  text-align: center;
}
.p-products__reason .g-font__heading span {
  color: #3C3939;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin-left: 5px;
}
@media screen and (width <= 767px) {
  .p-products__reason .g-font__heading span {
    font-size: 18px;
    display: block;
    margin-top: 10px;
    margin-left: 0;
  }
}
.p-products__reason-list {
  margin-top: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5%;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (width <= 767px) {
  .p-products__reason-list {
    margin-top: 30px;
    gap: 20px;
  }
}
.p-products__reason-item {
  width: 30%;
}
@media screen and (width <= 959px) {
  .p-products__reason-item {
    width: 47.5%;
  }
}
@media screen and (width <= 767px) {
  .p-products__reason-item {
    width: 100%;
  }
}
.p-products__reason-num {
  color: #5D9DAA;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 50px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%;
}
@media screen and (width <= 767px) {
  .p-products__reason-num {
    font-size: 30px;
  }
}
.p-products__reason .g-font__20 {
  margin: 0 0 25px;
}
@media screen and (width <= 767px) {
  .p-products__reason .g-font__20 {
    margin-bottom: 15px;
  }
}

.p-products__case {
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-products__case {
    margin-bottom: 55px;
  }
}
.p-products__case .g-font__heading {
  text-align: center;
}
.p-products__case > .g-font__16 {
  margin: 30px 0 45px;
  text-align: center;
}
@media screen and (width <= 767px) {
  .p-products__case > .g-font__16 {
    text-align: left;
    margin: 20px 0 30px;
  }
}
.p-products__case-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 50px 30px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (width <= 767px) {
  .p-products__case-list {
    gap: 30px;
  }
}
.p-products__case-item {
  width: calc((100% - 30px) / 2);
}
@media screen and (width <= 767px) {
  .p-products__case-item {
    width: 100%;
  }
}
.p-products__case-textarea {
  border-radius: 8px;
  background: #FFF;
  padding: 40px;
}
@media screen and (width <= 767px) {
  .p-products__case-textarea {
    padding: 20px;
  }
}
.p-products__case-textarea .g-font__20 {
  margin-bottom: 8px;
}
.p-products__case-company {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: -15px;
}
@media screen and (width <= 767px) {
  .p-products__case-company {
    margin: 0;
  }
  .p-products__case-company img {
    height: 75px;
  }
}

.p-products__introduction {
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-products__introduction {
    margin-bottom: 55px;
  }
}
.p-products__introduction .g-font__heading {
  text-align: center;
}
.p-products__introduction-list {
  margin-top: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (width <= 767px) {
  .p-products__introduction-list {
    gap: 25px;
  }
}
.p-products__introduction-item {
  width: calc((100% - 80px) / 3);
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
@media screen and (width <= 959px) {
  .p-products__introduction-item {
    width: calc((100% - 40px) / 2);
  }
}
@media screen and (width <= 767px) {
  .p-products__introduction-item {
    width: 100%;
  }
}
.p-products__introduction-item:hover {
  opacity: 0.7;
}
.p-products__introduction img {
  aspect-ratio: 427/240;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  display: block;
}
.p-products__introduction .g-font__20 {
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (width <= 767px) {
  .p-products__introduction .g-font__20 {
    margin-bottom: 10px;
  }
}
.p-products__introduction-textarea {
  padding: 30px;
  padding-bottom: 70px;
}
@media screen and (width <= 767px) {
  .p-products__introduction-textarea {
    padding: 20px;
    padding-bottom: 55px;
  }
}
.p-products__introduction-link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #3C3939;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 175%;
  position: absolute;
  bottom: 20px;
  right: 25px;
  padding-right: 25px;
}
@media screen and (width <= 767px) {
  .p-products__introduction-link {
    font-size: 14px;
    bottom: 15px;
  }
}
.p-products__introduction-link:before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  -webkit-mask-image: url(../images/common/file.svg);
          mask-image: url(../images/common/file.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #25B1B9;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-products__introduction .c-btn__main {
  margin: 60px auto 0;
}
@media screen and (width <= 767px) {
  .p-products__introduction .c-btn__main {
    margin: 30px auto 0;
  }
}

.p-products__textbook {
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-products__textbook {
    margin-bottom: 55px;
  }
}
.p-products__textbook .g-font__heading {
  text-align: center;
}
.p-products__textbook-list {
  margin-top: 80px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 49px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (width <= 767px) {
  .p-products__textbook-list {
    gap: 35px;
    margin-top: 40px;
  }
}
.p-products__textbook-item {
  width: calc((100% - 98px) / 3);
}
@media screen and (width <= 959px) {
  .p-products__textbook-item {
    width: calc((100% - 49px) / 2);
  }
}
@media screen and (width <= 767px) {
  .p-products__textbook-item {
    width: 100%;
  }
}
.p-products__textbook-item:hover {
  opacity: 0.7;
}
.p-products__textbook-item.off {
  pointer-events: none;
}
.p-products__textbook-item.off .g-font__18 {
  color: #E5E5E5;
}
.p-products__textbook-item.off .g-font__18:before {
  background-color: #E5E5E5;
}
.p-products__textbook img {
  aspect-ratio: 427/240;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  display: block;
}
.p-products__textbook .g-font__20 {
  margin: 30px auto 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (width <= 767px) {
  .p-products__textbook .g-font__20 {
    margin: 20px auto 0;
  }
}
.p-products__textbook .g-font__18 {
  text-align: center;
  position: absolute;
  padding: 12px 50px 12px 12px;
  background: #fff;
  bottom: 0;
  border-radius: 0px 10px;
}
.p-products__textbook .g-font__18:before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  -webkit-mask-image: url(../images/common/file.svg);
          mask-image: url(../images/common/file.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #25B1B9;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (width <= 767px) {
  .p-products__textbook .g-font__18 {
    padding: 8px 50px 8px 12px;
  }
}
.p-products__textbook-link {
  margin-bottom: 30px;
  position: relative;
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (width <= 767px) {
  .p-products__textbook-link {
    margin-bottom: 20px;
  }
}

.p-products__youtube-content {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  grid-template-rows: auto auto;
  margin-top: 55px;
  gap: 45px 80px;
}
@media screen and (max-width: 1150px) {
  .p-products__youtube-content {
    grid-template-columns: 0.75fr 1.25fr;
    gap: 45px 40px;
  }
}
@media screen and (width <= 959px) {
  .p-products__youtube-content {
    margin-top: 30px;
  }
}
@media screen and (max-width: 1150px) {
  .p-products__youtube-content .g-font__18 {
    font-size: 16px;
  }
}

.p-products__youtube-item:nth-child(1) {
  grid-column: 1/2; /* 左側 */
  grid-row: 1/3; /* 上下2段にまたがる */
}
.p-products__youtube-item:nth-child(1) iframe {
  margin-bottom: 15px;
}

.p-products__youtube-item:nth-child(2) {
  grid-column: 2/3; /* 右上 */
  grid-row: 1/2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 25px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1150px) {
  .p-products__youtube-item:nth-child(2) iframe {
    width: 40%;
  }
}

.p-products__youtube-item:nth-child(3) {
  grid-column: 2/3; /* 右下 */
  grid-row: 2/3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 25px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1150px) {
  .p-products__youtube-item:nth-child(3) iframe {
    width: 40%;
  }
}

.p-products__youtube-item iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9; /* モバイル対応用に追加 */
  border-radius: 10px;
}

.p-products__youtube {
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-products__youtube {
    margin-bottom: 55px;
  }
}
.p-products__youtube .g-font__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.5em;
  margin: 0 auto;
}
@media screen and (width <= 959px) {
  .p-products__youtube-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 30px;
  }
}
@media screen and (width <= 959px) {
  .p-products__youtube-item {
    width: calc((100% - 30px) / 2);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .p-products__youtube-item iframe {
    width: 100% !important;
    margin-bottom: 0 !important;
  }
}
@media screen and (width <= 767px) {
  .p-products__youtube-item {
    width: 100%;
    gap: 15px;
  }
}
.p-products__youtube-item:nth-child(n+2) iframe {
  width: 50%;
}

.p-culture__message {
  margin-bottom: 110px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 35px;
}
@media screen and (width <= 959px) {
  .p-culture__message {
    margin-bottom: 55px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 35px;
  }
}
@media screen and (width <= 767px) {
  .p-culture__message {
    gap: 20px;
  }
}
.p-culture__message .g-font__heading {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  line-height: 1.5em;
}

.p-culture__knows {
  margin-bottom: 110px;
  background: #F3F4F4;
  padding-bottom: 60px;
}
@media screen and (width <= 959px) {
  .p-culture__knows {
    margin-bottom: 55px;
    padding-bottom: 30px;
  }
}
.p-culture__knows-inner > .g-font__heading {
  text-align: center;
  padding: 55px 0 110px;
}
@media screen and (width <= 959px) {
  .p-culture__knows-inner > .g-font__heading {
    padding: 25px 0 50px;
  }
}
.p-culture__knows .tab {
  width: 100%;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.p-culture__knows .tab-btn {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 20%;
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
  height: 71px;
  font-size: 18px;
  border: none; /* JSで設定 */
  border-radius: 0;
}
@media screen and (width <= 959px) {
  .p-culture__knows .tab-btn {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.3333333333%;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
  }
}
@media screen and (width <= 767px) {
  .p-culture__knows .tab-btn {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
  }
}
.p-culture__knows-list {
  margin-bottom: 110px;
}
@media screen and (width <= 959px) {
  .p-culture__knows-list {
    margin-bottom: 55px;
  }
}
.p-culture__knows-list img {
  width: 45%;
  aspect-ratio: 605/340;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
@media screen and (width <= 959px) {
  .p-culture__knows-list img {
    width: 100%;
    max-width: 500px;
  }
}
.p-culture__knows img.pc {
  display: block;
}
@media screen and (width <= 767px) {
  .p-culture__knows img.pc {
    display: none;
  }
}
.p-culture__knows img.sp {
  display: none;
}
@media screen and (width <= 767px) {
  .p-culture__knows img.sp {
    display: block;
    margin-bottom: 15px;
  }
}
.p-culture__knows-item {
  margin-bottom: 40px;
}
@media screen and (width <= 959px) {
  .p-culture__knows-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.p-culture__knows-item:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (width <= 959px) {
  .p-culture__knows-item:nth-child(2n) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.p-culture__knows-item:last-child {
  margin-bottom: 0;
}
.p-culture__knows-textarea {
  width: 50%;
}
@media screen and (width <= 959px) {
  .p-culture__knows-textarea {
    width: 100%;
  }
}
.p-culture__knows-textarea .g-font__20 {
  margin-bottom: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
}
@media screen and (width <= 767px) {
  .p-culture__knows-textarea .g-font__20 {
    gap: 15px;
  }
}
.p-culture__knows-textarea .g-font__20 span {
  color: #25B1B9;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%;
}
@media screen and (width <= 767px) {
  .p-culture__knows-textarea .g-font__20 span {
    font-size: 24px;
  }
}

.p-culture__guidelines-title {
  border-radius: 50px;
  background: #25B1B9;
  padding: 10px 50px;
  color: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 175%; /* 52.5px */
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 40px;
  white-space: pre-wrap;
  word-break: keep-all;
  text-align: center;
}
@media screen and (width <= 767px) {
  .p-culture__guidelines-title {
    font-size: 18px;
    padding: 10px 30px;
    line-height: 1.5;
    margin-bottom: 25px;
  }
}
.p-culture__guidelines > .g-font__20 {
  width: 100%;
  max-width: 742px;
  margin: 0 auto 80px;
  color: #3C3939;
  font-weight: 400;
}
@media screen and (width <= 767px) {
  .p-culture__guidelines > .g-font__20 {
    margin-bottom: 30px;
    font-size: 16px;
  }
}
.p-culture__guidelines .p-company__philosophy-item {
  border: none;
  background: #FFF;
}
.p-culture__guidelines-detail {
  position: relative;
  text-align: right;
  padding-right: 62px;
  color: #177075;
  text-align: right;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 2.34px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 60px 0 0 auto;
}
@media screen and (width <= 959px) {
  .p-culture__guidelines-detail {
    padding-right: 51px;
    margin: 30px 0 0 auto;
  }
}
.p-culture__guidelines-detail .arrow {
  position: absolute;
  content: "";
  width: 47px;
  height: 47px;
  border-radius: 50px;
  background: #fff;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (width <= 959px) {
  .p-culture__guidelines-detail .arrow {
    width: 36px;
    height: 36px;
  }
}
.p-culture__guidelines-detail .arrow:before {
  position: absolute;
  content: "";
  width: 23px;
  height: 13px;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  background-color: #177075;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
}
.p-culture__guidelines-detail .arrow:after {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 50px;
  background: #fff;
  border: 1px solid #177075;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-culture__employee {
  margin-bottom: 120px;
}
@media screen and (width <= 959px) {
  .p-culture__employee {
    margin-bottom: 55px;
  }
}
.p-culture__employee-item {
  border-radius: 10px;
  background: #FFF;
  padding: 25px;
}
.p-culture__employee-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
  margin-bottom: 15px;
}
.p-culture__employee-img {
  border-radius: 37.5px;
  border: 1px solid #177075;
  background: #FFF;
  width: 75px;
  height: 75px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-culture__scenery {
  overflow: hidden;
}
.p-culture__scenery .g-font__heading {
  text-align: center;
  margin-bottom: 40px;
}
.p-culture__scenery-list {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-top: 50px;
}
.p-culture__scenery img {
  aspect-ratio: 437/246;
  border-radius: 10px;
  width: 437px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (width <= 767px) {
  .p-culture__scenery img {
    max-width: 200px;
  }
}
.p-culture__scenery-wrap {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 48px;
}
@media screen and (width <= 767px) {
  .p-culture__scenery-wrap {
    gap: 24px;
  }
}
.p-culture__scenery-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: scrollLoop 20s linear infinite;
          animation: scrollLoop 20s linear infinite;
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
  padding: 0;
  background: none;
  border: none;
  gap: 48px;
}
@media screen and (width <= 767px) {
  .p-culture__scenery-list {
    gap: 24px;
  }
}
.p-culture__scenery .g-font__16 {
  max-width: 800px;
  width: 90%;
  margin: 0 auto;
}

/* アニメーションの定義 */
@-webkit-keyframes scrollLoop {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes scrollLoop {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.p-job__head {
  margin-top: 120px;
  margin-bottom: 50px;
}
@media screen and (width <= 959px) {
  .p-job__head {
    margin-top: 60px;
    margin-bottom: 30px;
  }
}
.p-job__head-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.p-job__head-title .g-font__heading {
  color: #3C3939;
}

.p-job__content {
  background: #FFF;
  margin-bottom: 120px;
  padding: 40px 7.5% 50px;
}
@media screen and (width <= 959px) {
  .p-job__content {
    margin-bottom: 55px;
  }
}
@media screen and (width <= 767px) {
  .p-job__content {
    padding: 25px 5% 30px;
  }
}
.p-job__content-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  margin-top: 50px;
}
@media screen and (width <= 767px) {
  .p-job__content-list {
    margin-top: 25px;
  }
}
.p-job__content-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (width <= 959px) {
  .p-job__content-item {
    gap: 15px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-job__content-head {
  width: 42%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  position: relative;
  padding-left: 1em;
  font-weight: 700;
}
@media screen and (width <= 959px) {
  .p-job__content-head {
    width: 100%;
  }
}
.p-job__content-head:before {
  position: absolute;
  content: "・";
  left: 0;
  top: 0;
}

.p-job__flow {
  max-width: 1120px;
  margin-bottom: 120px;
}
@media screen and (width <= 959px) {
  .p-job__flow {
    margin-bottom: 55px;
  }
}
.p-job__flow .g-font__heading {
  text-align: center;
}
.p-job__flow-list {
  margin: 60px 0 0;
  padding: 0;
  list-style: none;
}
.p-job__flow-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 55px;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-bottom: 50px;
  position: relative;
}
@media screen and (width <= 767px) {
  .p-job__flow-item {
    gap: 25px;
  }
}
.p-job__flow-item::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 100%;
  background: #177075;
  left: 52.5px;
  top: 0;
  z-index: -1;
}
@media screen and (width <= 767px) {
  .p-job__flow-item::before {
    content: "";
    position: absolute;
    width: 6px;
    height: 100%;
    background: #177075;
    left: 32px;
    top: 0;
    z-index: -1;
  }
}
.p-job__flow-item:last-child {
  padding: 0;
}
.p-job__flow-item:last-child:before {
  display: none;
}
.p-job__flow-icon {
  width: 115px;
  height: 115px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 100px;
  border: 1px solid #177075;
  background: #FFF;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (width <= 767px) {
  .p-job__flow-icon {
    width: 70px;
    height: 70px;
  }
  .p-job__flow-icon img {
    -webkit-transform: scale(0.65);
            transform: scale(0.65);
  }
}
.p-job__flow-textarea {
  margin-top: 10px;
}
.p-job__flow-textarea .g-font__20 {
  margin-bottom: 5px;
}

.p-job__demand {
  background: #fff;
  margin-bottom: 120px;
  padding: 66px 0;
}
@media screen and (width <= 959px) {
  .p-job__demand {
    margin-bottom: 55px;
  }
}
@media screen and (width <= 767px) {
  .p-job__demand {
    padding: 33px 0;
  }
}
.p-job__demand .g-font__heading {
  text-align: center;
}
.p-job__demand-inner > .g-font__16 {
  max-width: 825px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 30px auto 70px;
  font-size: 17px;
}
@media screen and (width <= 959px) {
  .p-job__demand-inner > .g-font__16 {
    margin: 20px auto 40px;
  }
}
.p-job__demand-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 60px 10%;
}
@media screen and (width <= 959px) {
  .p-job__demand-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}
.p-job__demand-item {
  width: 45%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media screen and (width <= 959px) {
  .p-job__demand-item {
    width: 100%;
  }
}
.p-job__demand-num {
  color: #177075;
}
.p-job__demand-text {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (width <= 767px) {
  .p-job__demand-text {
    font-size: 18px;
  }
}

.p-job__application.p-company__overview .g-font__heading {
  text-align: center;
}
.p-job__application.p-company__overview .c-table__main {
  width: 100%;
}
.p-job__application.p-company__overview .c-table__main-head {
  width: 315px;
}
@media screen and (width <= 767px) {
  .p-job__application.p-company__overview .c-table__main-head {
    width: 100%;
  }
}
.p-job__application.p-company__overview .c-table__main-text a {
  text-decoration: underline;
}
.p-job__application.p-company__overview .c-table__main-text a:hover {
  opacity: 0.7;
}
.p-job__application.p-company__overview .c-table__main-text strong {
  font-size: 18px;
  line-height: 1.75em;
}

.p-purchase__faq-item {
  margin-bottom: 20px;
  padding: 30px 5%;
  border-radius: 25px;
  background: #FFF;
}
.p-purchase__faq-item .g-font-middle2 {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 17.5px;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.p-purchase__faq-item .g-font-middle2 span {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #3C6C11;
  position: relative;
  width: 39px;
  height: 39px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  font-size: 16px;
  border: 1px solid;
  border-radius: 50px;
  color: #177075;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  align-items: center;
}
.p-purchase__faq-item .g-font-middle2.-question {
  cursor: pointer;
  padding-right: 40px;
}
.p-purchase__faq-item .g-font-middle2.-question::before, .p-purchase__faq-item .g-font-middle2.-question::after {
  content: "";
  display: inline-block;
  width: 29px;
  height: 1px;
  background-color: #177075;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 1s;
  transition: 1s;
}
.p-purchase__faq-item .g-font-middle2.-question::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
}
.p-purchase__faq-item .g-font-middle2.-question.show::before {
  opacity: 0;
}
.p-purchase__faq-item .g-font-middle2.-question.show::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.p-purchase__faq-item .g-font-middle2.-answer {
  display: none;
}
.p-purchase__faq-item .g-font-middle2.-answer p {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 17.5px;
  padding-top: 40px;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media screen and (width <= 767px) {
  .p-purchase__faq-item .g-font-middle2.-answer p {
    padding-top: 20px;
  }
}
.p-purchase__faq-item .g-font-middle2.-answer a {
  display: contents;
  color: #4572ff;
}

.p-faq {
  margin-top: 80px;
}
.p-faq.p-culture__knows {
  background: none;
}
.p-faq .tab-btn {
  font-size: 18px;
  height: 94px;
  padding: 12px 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: left;
}
@media screen and (width <= 767px) {
  .p-faq .tab-btn {
    font-size: 16px;
    padding: 12px;
    height: 70px;
  }
}
.p-faq .g-font__heading {
  margin-bottom: 60px;
  padding-bottom: 18px;
  border-bottom: 1px solid #DBDBDB;
}

.p-no-page__inner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 50px auto 0;
}
@media screen and (width <= 767px) {
  .p-no-page__inner {
    margin-top: 30px;
  }
}
.p-no-page .c-btn__main {
  margin: 50px auto 0;
}
@media screen and (width <= 767px) {
  .p-no-page .c-btn__main {
    margin-top: 30px;
  }
}

.l-privacy__inner {
  max-width: 960px;
  margin: 0 auto;
}
.l-privacy__inner .g-font__heading {
  margin-bottom: 30px;
}
.l-privacy__inner > .g-font__20 {
  margin-bottom: 30px;
}
.l-privacy__inner .right {
  text-align: right;
}

.privacy-block {
  margin-bottom: 50px;
}
.privacy-block .g-font__20 {
  margin-top: 50px;
  margin-bottom: 15px;
}
@media screen and (width <= 959px) {
  .privacy-block .g-font__20 {
    margin-top: 30px;
  }
}
@media screen and (width <= 959px) {
  .privacy-block {
    margin-bottom: 30px;
  }
}

.privacy-policy-head {
  max-width: 960px;
  width: 100%;
  margin: 0 auto 100px;
}

@media screen and (width > 767px) {
  .u-dn-md-min {
    display: none;
  }
}

@media screen and (width <= 767px) {
  .u-dn-md-max {
    display: none;
  }
}

.u-cf::after {
  display: block;
  clear: both;
  content: "";
}/*# sourceMappingURL=style.css.map */