@charset "UTF-8";
.is_pc {
  display: block;
}
@media only screen and (max-width: 767px) {
  .is_pc {
    display: none;
  }
}

.is_sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .is_sp {
    display: block;
  }
}

.is_mb {
  display: none;
}
@media only screen and (max-width: 480px) {
  .is_mb {
    display: block;
  }
}

.is_pc-tab {
  display: block;
}
@media screen and (max-width: 1100px) {
  .is_pc-tab {
    display: none;
  }
}

.is_tab {
  display: none;
}
@media screen and (max-width: 1100px) {
  .is_tab {
    display: block;
  }
}

/* ----------------------------------------- */
/* ----------------------------------------- */
.delayscroll_box {
  opacity: 0;
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@media screen and (max-width: 1100px) {
  .fadeUp {
    opacity: 1;
    animation: none;
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ----------------------------------------- */
/* ----------------------------------------- */
.left-side {
  opacity: 0;
}
.left-side.left-side-anime {
  animation-name: leftAnime;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
  animation-delay: 1s;
  opacity: 0;
}

.right-side {
  opacity: 0;
}
.right-side.right-side-anime {
  animation-name: rightAnime;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes leftAnime {
  from {
    opacity: 0;
    transform: translateX(-100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes rightAnime {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* ----------------------------------------- */
/* ----------------------------------------- */
@keyframes kirariAnime {
  0% {
    left: 0;
    opacity: 1;
  }
  99% {
    left: 100%;
    opacity: 1;
  }
  100% {
    left: 105%;
    opacity: 0;
  }
}
@keyframes revealText {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
/* ----------------------------------------- */
/* ----------------------------------------- */
.textanimation span {
  animation: showText 0.2s backwards;
  display: inline-block;
}
.textanimation > span {
  overflow: hidden;
}
.textanimation > span > span {
  animation: showTextFromBottom 0.2s backwards;
}

@keyframes showTextFromBottom {
  0% {
    transform: translateY(80%);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes Circle-animation {
  0% {
    width: 320px;
  }
  100% {
    width: 375px;
  }
}
@keyframes demo_kururi {
  from {
    stroke-dashoffset: 316;
    opacity: 0;
    stroke-width: 0px;
  }
  to {
    stroke-dashoffset: 0;
    opacity: 1;
    stroke-width: 10px;
  }
}
@keyframes demo_kururi-sp {
  from {
    stroke-dashoffset: 316;
    opacity: 0;
    stroke-width: 0px;
  }
  to {
    stroke-dashoffset: 0;
    opacity: 1;
    stroke-width: 5px;
  }
}
/* ----------------------------------------- */
/* ----------------------------------------- */
@keyframes cwOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes color-wave {
  0% {
    stop-color: rgba(255, 255, 255, 0);
  }
  100% {
    stop-color: #4477b1;
  }
}
@keyframes gradient-shift {
  0% {
    offset: 100%;
  }
  100% {
    offset: 0%;
  }
}
@keyframes cwOpacity02 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes color-wave02 {
  0% {
    stop-color: rgba(131, 168, 209, 0);
  }
  100% {
    stop-color: #83a8d1;
  }
}
@keyframes gradient-shift02 {
  0% {
    offset: 0%;
  }
  100% {
    offset: 100%;
  }
}
@keyframes cwOpacity03 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes color-wave03 {
  0% {
    stop-color: rgba(131, 168, 209, 0);
  }
  100% {
    stop-color: #4477b1;
  }
}
@keyframes gradient-shift03 {
  0% {
    offset: 0%;
  }
  100% {
    offset: 100%;
  }
}
@keyframes imgAnimation {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes infoAnimation {
  0% {
    opacity: 0;
    bottom: 17%;
  }
  100% {
    opacity: 1;
    bottom: 13%;
  }
}
@keyframes infoAnimationSp {
  0% {
    opacity: 0;
    margin-top: -30px;
  }
  100% {
    opacity: 1;
    margin-top: -50px;
  }
}
@font-face {
  font-family: "SourceHanSansJP";
  src: url("../font/SourceHanSansJP-Regular.otf") format("opentype");
  font-weight: 400;
}
@font-face {
  font-family: "SourceHanSansJP";
  src: url("../font/SourceHanSansJP-Medium.otf") format("opentype");
  font-weight: 500;
}
@font-face {
  font-family: "SourceHanSansJP";
  src: url("../font/SourceHanSansJP-Bold.otf") format("opentype");
  font-weight: 600;
}
@font-face {
  font-family: "enfont";
  src: url("../font/urw-din-light.ttf") format("truetype");
  font-weight: 300;
}
@font-face {
  font-family: "enfont";
  src: url("../font/urw-din-regular.ttf") format("truetype");
  font-weight: 400;
}
@font-face {
  font-family: "enfont";
  src: url("../font/urw-din-medium.ttf") format("truetype");
  font-weight: 500;
}
@font-face {
  font-family: "enfont";
  src: url("../font/urw-din-demi.ttf") format("truetype");
  font-weight: 600;
}
@font-face {
  font-family: "enfont";
  src: url("../font/urw-din-bold.ttf") format("truetype");
  font-weight: 700;
}
@font-face {
  font-family: "enfont-sub";
  src: url("../font/futura-pt-cond-bold.otf") format("opentype");
  font-weight: 700;
}
/* resset.dev • v5.0.2 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
}

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

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

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

/* # =================================================================
   # General elements
   # ================================================================= */
hr {
  overflow: visible; /* Show the overflow in Edge and IE */
  height: 0; /* Add the correct box sizing in Firefox */
  color: inherit; /* Correct border color in Firefox. */
}

details,
main {
  display: block; /* Render the `main` element consistently in IE. */
}

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

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

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

abbr[title] {
  border-bottom: none; /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
}

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

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

pre {
  font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
  border-style: none;
}

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

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}

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

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}

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

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

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

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

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

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

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

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

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

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

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

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

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

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

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

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

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

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

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

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

html {
  scrollbar-gutter: stable;
}

body {
  font-family: "SourceHanSansJP", serif;
  color: #333333;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 16px;
  line-height: 1.875;
}
@media screen and (max-width: 1100px) {
  body {
    font-size: clamp(0.875rem, 0.5870870871rem + 0.6006006006vw, 1rem);
  }
}

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
a.under-line {
  text-decoration: underline;
}
a.under-line:hover {
  text-decoration: none;
}

ul {
  list-style: none;
}
ul.list-style {
  list-style: disc;
  margin-left: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  ul.list-style {
    margin-left: 1.8181818182vw;
  }
}
@media only screen and (max-width: 767px) {
  ul.list-style {
    margin-left: 15px;
  }
}

ol {
  list-style: none;
}
ol.list-style {
  list-style: decimal;
  margin-left: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  ol.list-style {
    margin-left: 1.8181818182vw;
  }
}
@media only screen and (max-width: 767px) {
  ol.list-style {
    margin-left: 15px;
  }
}

table {
  border-collapse: collapse;
}

label {
  cursor: pointer;
}

.en {
  font-family: "enfont", serif;
  font-weight: 500;
}

.en-sub {
  font-family: "enfont-sub", serif;
  font-weight: 500;
}

.ja {
  font-family: "SourceHanSansJP", serif;
  font-weight: 500;
}

.uppercase {
  text-transform: uppercase;
}

.t-center {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .t-center.-sp-t-left {
    text-align: left;
  }
}

.t-left {
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .t-left.-sp-t-left {
    text-align: left;
  }
}

.t-right {
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .t-right.-sp-t-left {
    text-align: left;
  }
}

.top-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 50px;
  line-height: 1;
  letter-spacing: 0.12em;
}

.button-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 50px;
  line-height: 1;
  letter-spacing: 0.12em;
  margin: 10px auto;
}

.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 50px;
  line-height: 1;
  letter-spacing: 0.12em;
}

.-normal {
  width: 300px;
  padding: 20px 10px;
  font-size: 22px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-normal {
    width: clamp(13.75rem, 2.2334834835rem + 24.024024024vw, 18.75rem);
    font-size: clamp(1rem, 0.1362612613rem + 1.8018018018vw, 1.375rem);
    padding: 1.8181818182vw 0.9090909091vw;
  }
}
.-normal.-is-arrow {
  position: relative;
  gap: 20px;
  padding-right: 50px;
}
@media screen and (max-width: 1100px) {
  .-normal.-is-arrow {
    gap: 1.8181818182vw;
  }
}
.-normal.-is-arrow .arrow {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #333333;
}
@media screen and (max-width: 1100px) {
  .-normal.-is-arrow .arrow {
    width: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
    height: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
.-normal.-is-arrow .arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 1px;
  background: #fff;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-normal.-is-arrow .arrow::before {
    width: clamp(0.9375rem, 0.2177177177rem + 1.5015015015vw, 1.25rem);
  }
}
.-normal.-is-arrow .arrow::after {
  content: "";
  position: absolute;
  display: inline-block;
  top: 46%;
  right: 14px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid white;
  transform: rotate(45deg) translateY(-50%);
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-normal.-is-arrow .arrow::after {
    right: clamp(0.625rem, 0.0491741742rem + 1.2012012012vw, 0.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .-normal.-is-arrow .arrow::after {
    right: 9px;
  }
}

.-mid {
  width: 350px;
  padding: 30px 10px;
  font-size: 18px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-mid {
    width: clamp(15.625rem, 1.2293543544rem + 30.03003003vw, 21.875rem);
    font-size: clamp(0.875rem, 0.2991741742rem + 1.2012012012vw, 1.125rem);
    padding: 2.7272727273vw 0.9090909091vw;
  }
}
@media only screen and (max-width: 767px) {
  .-mid {
    width: 90%;
    max-width: 270px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px 5px;
    font-size: 14px;
  }
}
.-mid.-is-arrow {
  position: relative;
  gap: 20px;
  padding-right: 50px;
}
@media screen and (max-width: 1100px) {
  .-mid.-is-arrow {
    gap: 1.8181818182vw;
  }
}
.-mid.-is-arrow .arrow {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #333333;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-mid.-is-arrow .arrow {
    width: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
    height: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
.-mid.-is-arrow .arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 1px;
  background: #fff;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-mid.-is-arrow .arrow::before {
    width: clamp(0.9375rem, 0.2177177177rem + 1.5015015015vw, 1.25rem);
  }
}
.-mid.-is-arrow .arrow::after {
  content: "";
  position: absolute;
  display: inline-block;
  top: 46%;
  right: 14px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid white;
  transform: rotate(45deg) translateY(-50%);
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-mid.-is-arrow .arrow::after {
    right: clamp(0.625rem, 0.0491741742rem + 1.2012012012vw, 0.875rem);
  }
}

.-small {
  width: 220px;
  padding: 17px 7px;
  font-size: 17px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-small {
    width: clamp(9.375rem, -0.701951952rem + 21.021021021vw, 13.75rem);
    font-size: clamp(0.8125rem, 0.2366741742rem + 1.2012012012vw, 1.0625rem);
    padding: 1.5454545455vw 0.6363636364vw;
  }
}
.-small.-is-arrow {
  position: relative;
  gap: 20px;
  padding-right: 50px;
}
@media screen and (max-width: 1100px) {
  .-small.-is-arrow {
    gap: 1.8181818182vw;
  }
}
.-small.-is-arrow .arrow {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #333333;
}
@media screen and (max-width: 1100px) {
  .-small.-is-arrow .arrow {
    width: clamp(1.25rem, -0.1895645646rem + 3.003003003vw, 1.875rem);
    height: clamp(1.25rem, -0.1895645646rem + 3.003003003vw, 1.875rem);
  }
}
.-small.-is-arrow .arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 1px;
  background: #fff;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-small.-is-arrow .arrow::before {
    width: clamp(0.4375rem, -0.2822822823rem + 1.5015015015vw, 0.75rem);
  }
}
.-small.-is-arrow .arrow::after {
  content: "";
  position: absolute;
  display: inline-block;
  top: 46%;
  right: 11px;
  width: 7px;
  height: 7px;
  border-top: 1px solid #fff;
  border-right: 1px solid white;
  transform: rotate(45deg) translateY(-50%);
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-small.-is-arrow .arrow::after {
    right: clamp(0.625rem, 0.0491741742rem + 1.2012012012vw, 0.875rem);
  }
}

.-min-small {
  width: 170px;
  padding: 12px 5px;
  font-size: 15px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-min-small {
    width: clamp(8.125rem, 2.3667417417rem + 12.012012012vw, 10.625rem);
    font-size: clamp(0.75rem, 0.3181306306rem + 0.9009009009vw, 0.9375rem);
    padding: 1.0909090909vw 0.4545454545vw;
  }
}

.grayBtn {
  font-size: 20px;
  padding: 30px;
  color: #fff;
  background-color: #333333;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  max-width: 390px;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .grayBtn {
    font-size: clamp(1rem, 0.4241741742rem + 1.2012012012vw, 1.25rem);
    padding: clamp(1.5625rem, 0.8427177177rem + 1.5015015015vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .grayBtn {
    font-size: clamp(0.875rem, 0.7947002141rem + 0.4282655246vw, 1rem);
    padding: clamp(1.5625rem, 1.3617505353rem + 1.0706638116vw, 1.875rem);
    border-radius: 5px;
  }
}
.grayBtn.-isArrow {
  position: relative;
}
.grayBtn.-isArrow:hover .arrow-block {
  left: 88%;
  transition: 0.3s;
}
.grayBtn.-isArrow .arrow-block {
  position: absolute;
  top: 53%;
  left: 85%;
  transform: translateY(-50%);
  transition: 0.3s;
  line-height: 1;
}
.grayBtn.-isArrow .arrow {
  position: relative;
}
.grayBtn.-isArrow .arrow::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  transition: 0.3s ease-in;
  transform: rotate(45deg) translate(-50%, -50%);
  top: 50%;
  left: 2.5px;
}

.backBtn {
  font-size: 20px;
  padding: 30px;
  color: #333333;
  background-color: #f0f0f0;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  max-width: 390px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .backBtn {
    font-size: clamp(1rem, 0.4241741742rem + 1.2012012012vw, 1.25rem);
    padding: clamp(1.5625rem, 0.8427177177rem + 1.5015015015vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .backBtn {
    font-size: clamp(0.875rem, 0.7947002141rem + 0.4282655246vw, 1rem);
    padding: clamp(1.5625rem, 1.3617505353rem + 1.0706638116vw, 1.875rem);
    border-radius: 5px;
  }
}
.backBtn.-isArrow {
  position: relative;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .backBtn.-isArrow {
    padding-right: 5px;
  }
}
.backBtn.-isArrow:hover .arrow-block {
  right: 88%;
  transition: 0.3s;
}
.backBtn.-isArrow .arrow-block {
  position: absolute;
  top: 50%;
  right: 85%;
  transform: translateY(-50%);
  transition: 0.3s;
  line-height: 1;
}
.backBtn.-isArrow .arrow {
  position: relative;
}
.backBtn.-isArrow .arrow::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: solid 1px #333333;
  border-left: solid 1px #333333;
  transition: 0.3s ease-in;
  transform: rotate(45deg) translate(-50%, -50%);
  top: 50%;
  left: 2.5px;
}

@media only screen and (max-width: 767px) {
  #pagetop {
    background-color: #333333;
    text-align: center;
    padding: clamp(2.8125rem, 2.210251606rem + 3.2119914347vw, 3.75rem) 0 clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem);
    color: #fff;
    font-family: "enfont";
    font-weight: 700;
    font-size: 16px;
    position: relative;
  }
  #pagetop .arrow {
    position: absolute;
    top: clamp(1.875rem, 1.4735010707rem + 2.1413276231vw, 2.5rem);
    left: 50%;
    transform: translate(-50%, -50%);
    animation: updown 2s infinite ease-in-out;
  }
  #pagetop .arrow .dli-chevron-round-right {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    position: relative;
    width: 20px;
    height: 20px;
    transform: translateX(-25%) rotate(-45deg);
  }
  #pagetop .arrow .dli-chevron-round-right::after {
    content: "";
    position: absolute;
    background: currentColor;
    border-radius: 0.1em;
    top: 0;
    right: 0;
    bottom: 0;
    width: 3px;
  }
  #pagetop .arrow .dli-chevron-round-right::before {
    content: "";
    position: absolute;
    background: currentColor;
    border-radius: 0.1em;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
  }
}

@keyframes updown {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(0, -10px);
  }
  100% {
    transform: translate(0, 0);
  }
}
.t-introduction_btn {
  font-size: 16px;
  padding: 25px 20px;
  color: #333333;
  background-color: white;
  border-radius: 10px;
  display: inline-block;
  width: 100%;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .t-introduction_btn {
    font-size: clamp(0.75rem, 0.5894004283rem + 0.8565310493vw, 1rem);
    padding: clamp(1.125rem, 0.8439507495rem + 1.4989293362vw, 1.5625rem) clamp(0.3125rem, -0.289748394rem + 3.2119914347vw, 1.25rem);
    border-radius: 5px;
    justify-content: flex-start;
  }
}
.t-introduction_btn.-isArrow {
  position: relative;
}
.t-introduction_btn.-isArrow:hover .arrow-block {
  right: 10px;
  transition: 0.3s;
}
.t-introduction_btn.-isArrow .arrow-block {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  transition: 0.3s;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .t-introduction_btn.-isArrow .arrow-block {
    right: clamp(0.3125rem, -0.289748394rem + 3.2119914347vw, 1.25rem);
  }
}
.t-introduction_btn.-isArrow .arrow {
  position: relative;
}
.t-introduction_btn.-isArrow .arrow::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 1px #333333;
  border-right: solid 1px #333333;
  transition: 0.3s ease-in;
  transform: rotate(45deg) translate(-50%);
  top: 0%;
  left: -10px;
}
@media only screen and (max-width: 767px) {
  .t-introduction_btn.-isArrow .arrow::before {
    width: 8px;
    height: 8px;
    left: -8px;
  }
}

#openBtn {
  position: absolute;
  width: 45px;
  height: 25px;
  right: 0;
  top: 25px;
  z-index: 9999;
}
#openBtn span {
  position: absolute;
  height: 1px;
  right: 0;
  background: #333333;
  transition: 0.3s ease;
  border-radius: 50px;
}
#openBtn span:nth-child(1) {
  width: 100%;
  top: 5px;
}
#openBtn span:nth-child(2) {
  width: 100%;
  top: 15px;
}
#openBtn span:nth-child(3) {
  width: 100%;
  top: 25px;
}
#openBtn.active span {
  background: #6c6b67;
}
#openBtn.active span:nth-child(1) {
  transform: rotate(30deg);
  top: 15px;
}
#openBtn.active span:nth-child(2) {
  opacity: 0;
}
#openBtn.active span:nth-child(3) {
  transform: rotate(-30deg);
  top: 15px;
  width: 100%;
}

.change #openBtn span {
  background: #6c6b67;
}

.pagination {
  margin-top: 130px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pagination {
    margin-top: clamp(5.625rem, -0.1332582583rem + 12.012012012vw, 8.125rem);
  }
}
@media only screen and (max-width: 767px) {
  .pagination {
    margin-top: clamp(3.75rem, 2.545503212rem + 6.4239828694vw, 5.625rem);
  }
}
.pagination ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  font-size: 25px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pagination ul {
    gap: 1.5454545455vw;
    font-size: clamp(1.125rem, 0.1173048048rem + 2.1021021021vw, 1.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .pagination ul {
    font-size: 14px;
    gap: 10px;
  }
}
.pagination ul li span {
  padding-left: 5px;
  padding-right: 5px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pagination ul li span {
    padding-left: 0.4545454545vw;
    padding-right: 0.4545454545vw;
  }
}
.pagination ul li span.current {
  position: relative;
}
.pagination ul li span.current::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 2px;
  background: #328479;
  border-radius: 50px;
}
.pagination ul li span {
  padding-left: 5px;
  padding-right: 5px;
  position: relative;
}
.pagination ul li span::after {
  transition: 0.3s;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pagination ul li span {
    padding-left: 0.4545454545vw;
    padding-right: 0.4545454545vw;
  }
}
.pagination ul li span.prev {
  position: relative;
}
.pagination ul li span.prev::before {
  content: "";
  position: absolute;
  display: inline-block;
  top: 50%;
  left: 0;
  width: 10px;
  height: 10px;
  border-left: 1px solid #333333;
  border-bottom: 1px solid #333333;
  transform: rotate(45deg) translateY(-50%);
}
.pagination ul li span.prev:hover::after {
  display: none;
}
.pagination ul li span.next {
  position: relative;
}
.pagination ul li span.next::before {
  content: "";
  position: absolute;
  display: inline-block;
  top: 50%;
  right: 0;
  width: 10px;
  height: 10px;
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
  transform: rotate(45deg) translateY(-50%);
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pagination ul li span.next::before {
    right: clamp(0.625rem, 0.0491741742rem + 1.2012012012vw, 0.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .pagination ul li span.next::before {
    right: 10px;
    top: 45%;
  }
}
.pagination ul li span.next:hover::after {
  display: none;
}
.pagination ul li span.active::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #333333;
  position: absolute;
  top: 100%;
  left: 0;
}
.pagination ul li span:hover::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #333333;
  position: absolute;
  top: 100%;
  left: 0;
  transition: 0.3s;
}
.pagination.singleNavi ul {
  gap: 60px;
  position: relative;
  max-width: 750px;
  margin: auto;
  width: 100%;
}
.pagination.singleNavi ul li {
  position: absolute;
  top: 0;
}
.pagination.singleNavi ul li.prev {
  left: 0;
}
.pagination.singleNavi ul li.next {
  right: 0;
}
.pagination.singleNavi ul li.active {
  left: 50%;
  transform: translateX(-50%);
}

.bread {
  margin-top: 20px;
  transition: 0.3s;
  transition-delay: 1s;
}
.bread ul {
  display: flex;
}
.bread ul li {
  position: relative;
  font-size: 13px;
  padding-right: 30px;
  margin-right: 30px;
}
.bread ul li:last-child {
  padding-right: 0;
  margin-right: 0;
}
.bread ul li a {
  color: #328479;
}
.bread ul li::after {
  content: ">";
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
}
.bread ul li:last-child:after {
  display: none;
}

.arrow-left {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 0 10px;
  border-left: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(45deg);
}

.arrow-top {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 0 10px;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
  transform: rotate(45deg);
}

.arrow-right {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 0 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
}

.arrow-bottom {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 0 10px;
  border-bottom: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
}

.-fs150 {
  font-size: 150px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs150 {
    font-size: clamp(6.125rem, -1.3607357357rem + 15.6156156156vw, 9.375rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs150 {
    font-size: clamp(2.8125rem, 0.6845556745rem + 11.3490364026vw, 6.125rem);
  }
}

.-fs140 {
  font-size: 140px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs140 {
    font-size: clamp(5.5rem, -1.9857357357rem + 15.6156156156vw, 8.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs140 {
    font-size: clamp(2.1875rem, 0.0595556745rem + 11.3490364026vw, 5.5rem);
  }
}

.-fs120 {
  font-size: 120px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs120 {
    font-size: clamp(4.25rem, -3.2357357357rem + 15.6156156156vw, 7.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs120 {
    font-size: clamp(2.8125rem, 0.6845556745rem + 11.3490364026vw, 6.125rem);
  }
}

.-fs88 {
  font-size: 88px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs88 {
    font-size: clamp(3.75rem, -0.2807807808rem + 8.4084084084vw, 5.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs88 {
    font-size: clamp(2.1875rem, 1.1837526767rem + 5.3533190578vw, 3.75rem);
  }
}

.-fs68 {
  font-size: 68px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs68 {
    font-size: clamp(2.5rem, -1.5307807808rem + 8.4084084084vw, 4.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs68 {
    font-size: clamp(2.1875rem, 1.9867505353rem + 1.0706638116vw, 2.5rem);
  }
}

.-fs48 {
  font-size: 48px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs48 {
    font-size: clamp(1.875rem, -0.7162162162rem + 5.4054054054vw, 3rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs48 {
    font-size: clamp(1.875rem, -0.7162162162rem + 5.4054054054vw, 3rem);
  }
}

.-fs42 {
  font-size: 32px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs42 {
    font-size: clamp(2.375rem, 1.7991741742rem + 1.2012012012vw, 2.625rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs42 {
    font-size: clamp(2rem, 1.7591006424rem + 1.2847965739vw, 2.375rem);
  }
}

.-fs36 {
  font-size: 36px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs36 {
    font-size: clamp(1.875rem, 1.0112612613rem + 1.8018018018vw, 2.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs36 {
    font-size: clamp(1.5rem, 1.2591006424rem + 1.2847965739vw, 1.875rem);
  }
}

.-fs35 {
  font-size: 35px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs35 {
    font-size: clamp(1.875rem, 1.1552177177rem + 1.5015015015vw, 2.1875rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs35 {
    font-size: clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
  }
}

.-fs30 {
  font-size: 30px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs30 {
    font-size: clamp(1.5rem, 0.6362612613rem + 1.8018018018vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs30 {
    font-size: clamp(1.5rem, 0.6362612613rem + 1.8018018018vw, 1.875rem);
  }
}

.-fs28 {
  font-size: 28px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs28 {
    font-size: clamp(1.5rem, 0.9241741742rem + 1.2012012012vw, 1.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs28 {
    font-size: 26px;
  }
}

.-fs26 {
  font-size: 26px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs26 {
    font-size: clamp(1.375rem, 0.7991741742rem + 1.2012012012vw, 1.625rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs26 {
    font-size: 24px;
  }
}

.-fs24 {
  font-size: 24px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs24 {
    font-size: clamp(1.25rem, 0.6741741742rem + 1.2012012012vw, 1.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs24 {
    font-size: 22px;
  }
}

.-fs22 {
  font-size: 22px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs22 {
    font-size: clamp(1.125rem, 0.5491741742rem + 1.2012012012vw, 1.375rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs22 {
    font-size: 18px;
  }
}

.-fs20 {
  font-size: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs20 {
    font-size: clamp(1rem, 0.4241741742rem + 1.2012012012vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs20 {
    font-size: 18px;
  }
}

.-fs18 {
  font-size: 18px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs18 {
    font-size: clamp(0.875rem, 0.2991741742rem + 1.2012012012vw, 1.125rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs18 {
    font-size: 18px;
  }
}

.-fs16 {
  font-size: 16px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs16 {
    font-size: clamp(0.75rem, 0.1741741742rem + 1.2012012012vw, 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs16 {
    font-size: 14px;
  }
}

.-fs15 {
  font-size: 15px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs15 {
    font-size: clamp(0.6875rem, 0.1116741742rem + 1.2012012012vw, 0.9375rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs15 {
    font-size: 13px;
  }
}

.-fs14 {
  font-size: 14px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs14 {
    font-size: clamp(0.625rem, 0.0491741742rem + 1.2012012012vw, 0.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs14 {
    font-size: 12px;
  }
}

.-fs12 {
  font-size: 12px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs12 {
    font-size: clamp(0.5625rem, 0.1306306306rem + 0.9009009009vw, 0.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs12 {
    font-size: 10px;
  }
}

.-fs10 {
  font-size: 10px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs10 {
    font-size: clamp(0.5rem, -0.0758258258rem + 1.2012012012vw, 0.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs10 {
    font-size: 10px;
  }
}

.-fwB {
  font-weight: 700;
}

.-fwM {
  font-weight: 500;
}

.-fwR {
  font-weight: 400;
}

.-bgWhite {
  background: #fff;
}

.-bgMain {
  background: #328479;
}

.-bgGray {
  background: #f8f8f8;
}

.-bgGreen {
  background: #f4f9f9;
}

.-fcWhite {
  color: #fff;
}

.-fcMain {
  color: #328479;
}

.hoverReverseOpacity > ul li a {
  display: block;
}
.hoverReverseOpacity > ul li a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.hoverReverseOpacity > ul li a span {
  display: block;
  width: 100%;
  text-align: center;
}
.hoverReverseOpacity > ul:hover li a {
  display: block;
}
.hoverReverseOpacity > ul:hover li a:not(:hover)::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.top-section {
  padding: 170px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .top-section {
    padding: 15.4545454545vw 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-section {
    padding: 70px 0;
  }
}
.top-section_title {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.top-section_title.-ai-c {
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .top-section_title {
    margin-bottom: 30px;
  }
}
.top-section_title.-is-mb {
  margin-bottom: 70px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .top-section_title.-is-mb {
    margin-bottom: 6.3636363636vw;
  }
}
@media only screen and (max-width: 767px) {
  .top-section_title.-is-mb {
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 767px) {
  body.page-template-executive .pageTop__title {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}
@media only screen and (max-width: 767px) {
  body.page-template-executive .pageTop__title h2::after {
    display: none;
  }
}
body.page-template-executive .pageTop__title p {
  position: relative;
}
@media only screen and (max-width: 767px) {
  body.page-template-executive .pageTop__title p {
    padding-left: clamp(1.25rem, 0.4470021413rem + 4.2826552463vw, 2.5rem);
  }
}

.tSection {
  padding-bottom: 40px;
  position: relative;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .tSection {
    padding-bottom: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .tSection {
    padding-bottom: clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
  }
}
.tSection__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 75px;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .tSection__title {
    gap: 40px;
  }
}
@media only screen and (max-width: 480px) {
  .tSection__title {
    gap: 30px;
  }
}
.tSection__title h2 {
  font-size: 35px;
  font-family: "enfont", serif;
  font-weight: 600;
  position: relative;
  letter-spacing: 2px;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .tSection__title h2 {
    font-size: clamp(1.875rem, 1.1552177177rem + 1.5015015015vw, 2.1875rem);
  }
}
@media only screen and (max-width: 767px) {
  .tSection__title h2 {
    font-size: clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
  }
}
.tSection__title h2::after {
  content: "";
  display: block;
  width: 34px;
  height: 1px;
  background-color: #333333;
  position: absolute;
  bottom: 50%;
  right: -52.5px;
  transform: rotate(-45deg);
}
@media only screen and (max-width: 767px) {
  .tSection__title h2::after {
    width: 30px;
    right: -35px;
  }
}
@media only screen and (max-width: 480px) {
  .tSection__title h2::after {
    width: 20px;
    right: -25px;
  }
}
.tSection__title p {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .tSection__title p {
    font-size: clamp(1.125rem, 0.8370870871rem + 0.6006006006vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .tSection__title p {
    font-size: clamp(0.875rem, 0.2991741742rem + 1.2012012012vw, 1.125rem);
  }
}
.tSection__title.colorWhite {
  color: #fff;
}
.tSection__title.colorWhite h2::after {
  background-color: #fff;
}

.t-introduction_contents {
  width: 100%;
}
.t-introduction_box {
  border-radius: 10px;
}
@media only screen and (max-width: 767px) {
  .t-introduction_box {
    border-radius: 0;
  }
}
.t-introduction_content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3% 2% 2% 2%;
  margin-bottom: 3%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 767px) {
  .t-introduction_content {
    padding: 5%;
    margin-bottom: 0;
  }
}
.t-introduction_content:last-child {
  margin-bottom: 0;
}
.t-introduction_content.item1 {
  background-image: url(../img/top/introduction1.jpg);
}
@media only screen and (max-width: 767px) {
  .t-introduction_content.item1 {
    background-image: url(../img/top/introduction1_sp.jpg);
  }
}
.t-introduction_content.item2 {
  background-image: url(../img/top/introduction2.jpg);
}
@media only screen and (max-width: 767px) {
  .t-introduction_content.item2 {
    background-image: url(../img/top/introduction2_sp.jpg);
  }
}
.t-introduction_content.item3 {
  background-image: url(../img/top/introduction3.jpg);
}
@media only screen and (max-width: 767px) {
  .t-introduction_content.item3 {
    background-image: url(../img/top/introduction3_sp.jpg);
  }
}
.t-introduction_content.item4 {
  background-image: url(../img/top/introduction4.jpg);
}
@media only screen and (max-width: 767px) {
  .t-introduction_content.item4 {
    background-image: url(../img/top/introduction4_sp.jpg);
  }
}
.t-introduction_content p {
  color: #eef4fa;
}
.t-introduction_content_left {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex-shrink: 1;
}
@media only screen and (max-width: 480px) {
  .t-introduction_content_left {
    margin-bottom: 3%;
  }
}
.t-introduction_content_left .en {
  font-family: "enfont", serif;
  font-weight: 500; /* Medium相当 */
}
@media only screen and (max-width: 767px) {
  .t-introduction_content_left .en {
    font-size: 2.8vw;
    line-height: 1;
  }
}
.t-introduction_content_left .jp {
  font-weight: 500; /* Medium相当 */
  font-size: 20px;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  .t-introduction_content_left .jp {
    font-size: 3.2vw;
    line-height: 1.3;
  }
}
.t-introduction_content_right {
  width: 60%;
  max-width: 300px;
}
@media only screen and (max-width: 767px) {
  .t-introduction_content_right {
    width: 65%;
  }
}
.t-introduction_content:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .t-introduction .inner {
    width: 100%;
  }
}

.t-introduction_box {
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 表示時のスタイル */
.t-introduction_box.show {
  opacity: 1;
  transform: translateY(0);
}

.t-officer {
  border-top: 1px solid #f0f0f0;
  margin-top: 100px;
  padding: 100px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-officer {
    margin-top: clamp(5rem, 2.1208708709rem + 6.006006006vw, 6.25rem);
    padding: clamp(5rem, 2.1208708709rem + 6.006006006vw, 6.25rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .t-officer {
    margin-top: 0;
    padding: clamp(3.75rem, 2.9470021413rem + 4.2826552463vw, 5rem) 0;
    border-top: none;
  }
}
.t-officer span {
  font-size: 18px;
  margin-left: 1%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500; /* Medium相当 */
  letter-spacing: 0px;
}
@media only screen and (max-width: 767px) {
  .t-officer_ttl {
    flex-direction: column;
    align-items: center;
    gap: 5%;
    margin: auto;
    width: 80%;
  }
}
@media only screen and (max-width: 767px) {
  .t-officer_ttl h2 {
    margin-bottom: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-officer_ttl h2::after {
    display: none !important;
  }
}
.t-officer_contents {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 100px;
  justify-content: center;
  gap: 5%;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-officer_contents {
    margin-top: clamp(5rem, 2.1208708709rem + 6.006006006vw, 6.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-officer_contents {
    margin-top: clamp(1.25rem, 0.4470021413rem + 4.2826552463vw, 2.5rem);
    display: block;
    gap: 0%;
  }
}
.t-officer_contents_block {
  width: 35%;
  /* 最初のブロックに対して指定 */
}
.t-officer_contents_block:first-child {
  flex: 0 0 100%;
  width: 100%;
  display: flex;
  justify-content: center;
}
.t-officer_contents_block:first-child .t-officer_content {
  width: 35%;
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  .t-officer_contents_block:first-child .t-officer_content {
    width: 100%;
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  .t-officer_contents_block {
    width: 100%;
  }
}
.t-officer_content {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .t-officer_content {
    width: 100%;
    margin-bottom: clamp(1.875rem, 1.4735010707rem + 2.1413276231vw, 2.5rem) !important;
  }
  .t-officer_content:last-child {
    margin-bottom: 0;
  }
}
.t-officer_content a .fit-img {
  overflow: hidden;
  border-radius: 10px;
}
.t-officer_content a:hover img {
  scale: 1.1;
  transition: 0.3s;
}
.t-officer_content img {
  width: 100%;
  border-radius: 10px;
  vertical-align: bottom;
}
.t-officer_content .fit-img {
  width: fit-content;
  margin: auto;
  padding-top: 5px;
}
.t-officer_content .fit-img img {
  height: 25px;
}
.t-officer_content p {
  font-size: 16px;
  text-align: center;
  margin-top: 20px;
  font-family: "enfont", serif;
  font-weight: 500; /* Medium相当 */
  letter-spacing: 1px;
}
@media only screen and (max-width: 767px) {
  .t-officer_content p {
    margin-top: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem);
    line-height: 1.3;
  }
}
.t-officer_content_name {
  line-height: 1 !important;
  font-family: "SourceHanSansJP" !important;
  src: url("../font/SourceHanSansJP-Regular.otf") format("opentype");
  font-weight: bold !important;
  margin-top: 0 !important;
  padding-top: 10px;
}
.t-officer_btn {
  margin-top: 80px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-officer_btn {
    margin-top: clamp(3.75rem, 0.8708708709rem + 6.006006006vw, 5rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-officer_btn {
    margin-top: clamp(2.5rem, 1.6970021413rem + 4.2826552463vw, 3.75rem);
  }
}
.t-officer_btn a {
  margin-left: auto;
  margin-right: auto;
}

.t-recruit {
  border-top: 1px solid #f0f0f0;
  padding: 100px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-recruit {
    padding: clamp(5rem, 2.1208708709rem + 6.006006006vw, 6.25rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .t-recruit {
    border-top: none;
    padding: 0;
  }
}
.t-recruit_box {
  background-image: url(../img/top/top-recruit.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 10px;
  padding: 5% 5%;
}
@media only screen and (max-width: 767px) {
  .t-recruit_box {
    background-image: url(../img/top/top-recruit-sp.jpg);
    border-radius: 0;
  }
}
.t-recruit_txt p {
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .t-recruit_txt {
    text-align: center;
  }
}
.t-recruit_ttl {
  font-size: 40px;
  line-height: 1.375;
  margin: 35px 0 30px;
  font-weight: bold;
  letter-spacing: 0;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .t-recruit_ttl {
    font-size: clamp(2rem, -0.3913043478rem + 3.4782608696vw, 2.5rem);
    margin: clamp(1.25rem, -3.2336956522rem + 6.5217391304vw, 2.1875rem) 0;
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-recruit_ttl {
    font-size: clamp(1.75rem, 1.1741741742rem + 1.2012012012vw, 2rem);
    margin: clamp(0.9375rem, 0.2177177177rem + 1.5015015015vw, 1.25rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .t-recruit_ttl {
    font-size: clamp(1.25rem, 0.4470021413rem + 4.2826552463vw, 2.5rem);
    margin: clamp(1.25rem, 0.4470021413rem + 4.2826552463vw, 2.5rem) 0;
    line-height: 1.3;
  }
}
.t-recruit_jp {
  font-size: 34px;
  font-weight: 500; /* Medium相当 */
  line-height: 1.3;
  padding-bottom: 10px;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .t-recruit_jp {
    font-size: clamp(1.75rem, -0.0434782609rem + 2.6086956522vw, 2.125rem);
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-recruit_jp {
    font-size: clamp(1.5rem, 0.9241741742rem + 1.2012012012vw, 1.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-recruit_jp {
    font-size: clamp(1.125rem, 0.8841006424rem + 1.2847965739vw, 1.5rem);
  }
}
.t-recruit_en {
  font-size: 20px;
  font-family: "enfont", serif;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .t-recruit_en {
    font-size: clamp(1.125rem, 0.527173913rem + 0.8695652174vw, 1.25rem);
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-recruit_en {
    font-size: clamp(1rem, 0.7120870871rem + 0.6006006006vw, 1.125rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-recruit_en {
    font-size: clamp(0.75rem, 0.5894004283rem + 0.8565310493vw, 1rem);
    letter-spacing: 2px;
  }
}
@media only screen and (max-width: 767px) {
  .t-recruit .inner {
    width: 100%;
  }
}

.t-recruit_btn {
  background: #fff !important;
  color: #333333 !important;
  margin-top: 20px;
  width: 100%;
}
.t-recruit_btn .arrow {
  background: #fff !important;
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.t-recruit_btn .arrow::before, .t-recruit_btn .arrow::after {
  border-top: 1px solid #333333 !important;
  border-right: 1px solid #333333 !important;
  background: none !important;
}
.t-recruit_btn .arrow::before {
  transform: rotate(45deg) translate(0%, -50%) !important;
  left: -30px !important;
}
.t-recruit_btn .arrow::after {
  top: 43% !important;
}
.t-recruit_btn {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.t-recruit_btn:hover .arrow::before {
  left: -20px !important;
  transition: 0.3s;
}

.t-media {
  border-top: 1px solid #f0f0f0;
  padding: 100px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-media {
    padding: clamp(5rem, 2.1208708709rem + 6.006006006vw, 6.25rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .t-media {
    border-top: none;
    padding: clamp(3.75rem, 2.9470021413rem + 4.2826552463vw, 5rem) 0;
  }
}
.t-media + .t-media {
  padding-top: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-media + .t-media {
    padding-top: clamp(2.5rem, 1.0604354354rem + 3.003003003vw, 3.125rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-media + .t-media {
    padding-top: clamp(1.875rem, 1.4735010707rem + 2.1413276231vw, 2.5rem);
  }
}
.t-media_ttl {
  text-align: center;
  font-size: 36px;
  padding: 20px 0 50px 0;
  letter-spacing: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-media_ttl {
    font-size: clamp(1.75rem, 0.5983483483rem + 2.4024024024vw, 2.25rem);
    padding: clamp(0.9375rem, 0.2177177177rem + 1.5015015015vw, 1.25rem) 0 clamp(2.5rem, 1.0604354354rem + 3.003003003vw, 3.125rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .t-media_ttl {
    font-size: clamp(1.0625rem, 0.6208511777rem + 2.3554603854vw, 1.75rem);
    padding: clamp(0.625rem, 0.4242505353rem + 1.0706638116vw, 0.9375rem) 0 clamp(1.25rem, 0.4470021413rem + 4.2826552463vw, 2.5rem) 0;
  }
}
.t-media_contents {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  gap: 5%;
}
@media only screen and (max-width: 767px) {
  .t-media_contents {
    display: block;
    gap: 0;
  }
}
.t-media_content {
  width: 30%;
}
@media only screen and (max-width: 767px) {
  .t-media_content {
    width: 100%;
    margin-bottom: clamp(1.875rem, 1.4735010707rem + 2.1413276231vw, 2.5rem);
  }
  .t-media_content:last-child {
    margin-bottom: 0;
  }
}
.t-media_content a .fit-img {
  overflow: hidden;
  border-radius: 10px;
}
.t-media_content a .fit-img iframe {
  width: 100%;
  height: 240px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-media_content a .fit-img iframe {
    height: clamp(7.1875rem, -0.7301051051rem + 16.5165165165vw, 10.625rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-media_content a .fit-img iframe {
    height: clamp(11.875rem, 3.8450214133rem + 42.8265524625vw, 24.375rem);
  }
}
.t-media_content a:hover img {
  scale: 1.1;
  transition: 0.3s;
}
.t-media_content img {
  width: 100%;
  border-radius: 10px;
  scale: 1;
  transition: 0.3s;
}
.t-media_content p {
  font-weight: 400;
}
.t-media_content_ttl {
  font-size: 20px;
  line-height: 1.5;
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .t-media_content_ttl {
    font-size: clamp(1rem, 0.9197002141rem + 0.4282655246vw, 1.125rem);
  }
}
.t-media_content_date {
  font-size: 16px;
  font-family: "enfont", serif;
  font-weight: 400;
}
.t-media_btn {
  margin-top: 80px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-media_btn {
    margin-top: clamp(3.75rem, 0.8708708709rem + 6.006006006vw, 5rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-media_btn {
    margin-top: clamp(2.5rem, 1.6970021413rem + 4.2826552463vw, 3.75rem);
  }
}
.t-media_btn a {
  margin-left: auto;
  margin-right: auto;
}

.t-news {
  border-top: 1px solid #f0f0f0;
  padding: 100px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-news {
    padding: clamp(5rem, 2.1208708709rem + 6.006006006vw, 6.25rem) 0 clamp(5.625rem, 4.1854354354rem + 3.003003003vw, 6.25rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .t-news {
    padding: clamp(3.75rem, 2.9470021413rem + 4.2826552463vw, 5rem) 0 clamp(3.75rem, 2.545503212rem + 6.4239828694vw, 5.625rem);
  }
}
.t-news__lists {
  margin-top: 70px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-news__lists {
    margin-top: clamp(3.125rem, 0.2458708709rem + 6.006006006vw, 4.375rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-news__lists {
    margin-top: clamp(2.1875rem, 1.3845021413rem + 4.2826552463vw, 3.4375rem);
  }
}
.t-news__lists-item {
  position: relative;
  border-bottom: 1px solid #e8e8e8;
}
.t-news__lists-item::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: rotate(45deg) translateY(-50%);
  transform: rotate(45deg) translateY(-50%);
  transition: 0.3s;
}
.t-news__lists-item::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #328479;
  position: absolute;
  top: 100%;
  left: 0;
  transform: scaleX(0);
  transform-origin: left top;
  transition: transform 0.3s ease;
}
.t-news__lists-item:hover::after {
  right: 20px;
  transition: 0.3s;
}
.t-news__lists-item:hover::before {
  transform: scaleX(1);
}
.t-news__lists-item a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 15px;
  width: 100%;
  position: relative;
  padding: 30px 40px 30px 0;
}
@media only screen and (max-width: 767px) {
  .t-news__lists-item a {
    flex-wrap: wrap;
    gap: 10px;
    padding: 25px 40px 25px 0;
  }
}
.t-news__lists-item .date {
  font-family: "enfont", serif;
  font-weight: 500;
  line-height: 1;
  flex-shrink: 0;
  width: 99px;
}
@media only screen and (max-width: 767px) {
  .t-news__lists-item .date {
    font-size: 14px;
    width: 86px;
  }
}
.t-news__lists-item .cat {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
  width: 100%;
  max-width: 65px;
  min-height: 20px;
  text-align: center;
  border-radius: 10px;
  background-image: linear-gradient(to right, #2b7e77, #aee59f);
  flex-shrink: 0;
}
.t-news__lists-item .title {
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
@media only screen and (max-width: 767px) {
  .t-news__lists-item .title {
    width: 100%;
    font-size: clamp(1rem, 0.9197002141rem + 0.4282655246vw, 1.125rem);
  }
}
.t-news_btn {
  margin-top: 80px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-news_btn {
    margin-top: clamp(3.75rem, 0.8708708709rem + 6.006006006vw, 5rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-news_btn {
    margin-top: clamp(2.5rem, 1.6970021413rem + 4.2826552463vw, 3.75rem);
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
.t-news_btn a {
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .t-news .inner {
    width: 100%;
  }
}

.partner-companies {
  border-top: 1px solid #f0f0f0;
}
@media only screen and (max-width: 767px) {
  .partner-companies {
    padding: clamp(3.75rem, 2.9470021413rem + 4.2826552463vw, 5rem) 0 clamp(3.75rem, 2.545503212rem + 6.4239828694vw, 5.625rem);
  }
}

.commonInner {
  max-width: 1420px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.minInner {
  max-width: 1120px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.pageTop {
  padding-bottom: 40px;
  position: relative;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageTop {
    padding-bottom: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .pageTop {
    padding-bottom: clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
  }
}
.pageTop::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #e8e8e8;
  position: absolute;
  top: 100%;
  left: 0;
}
.pageTop__title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 75px;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .pageTop__title {
    gap: 40px;
  }
}
@media only screen and (max-width: 480px) {
  .pageTop__title {
    gap: 30px;
  }
}
.pageTop h1 {
  font-size: 35px;
  font-family: "enfont", serif;
  font-weight: 600;
  padding-left: 40px;
  position: relative;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageTop h1 {
    font-size: clamp(1.875rem, 1.1552177177rem + 1.5015015015vw, 2.1875rem);
  }
}
@media only screen and (max-width: 767px) {
  .pageTop h1 {
    font-size: clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.4470021413rem + 4.2826552463vw, 2.5rem);
  }
}
.pageTop h1::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background: linear-gradient(135deg, #aee59f 0%, #2b7e77 100%);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  vertical-align: middle;
  /* iOS Safari 向けのプレフィックスとレンダリング改善 */
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
}
@media only screen and (max-width: 480px) {
  .pageTop h1::before {
    width: 12px;
    height: 12px;
    position: absolute;
    top: 50%;
    left: 0%;
    /* iOS Safari 向けのプレフィックスとレンダリング改善 */
    -webkit-transform: translateY(-75%);
    transform: translateY(-75%);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
  }
}
.pageTop h1::after {
  content: "";
  display: block;
  width: 34px;
  height: 1px;
  background-color: #333333;
  position: absolute;
  bottom: 50%;
  right: -52.5px;
  transform: rotate(-45deg);
}
@media only screen and (max-width: 767px) {
  .pageTop h1::after {
    width: 30px;
    right: -35px;
  }
}
@media only screen and (max-width: 480px) {
  .pageTop h1::after {
    width: 20px;
    right: -25px;
  }
}
.pageTop p {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageTop p {
    font-size: clamp(1.125rem, 0.8370870871rem + 0.6006006006vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .pageTop p {
    font-size: clamp(0.875rem, 0.2991741742rem + 1.2012012012vw, 1.125rem);
  }
}

.pageTitle {
  margin-bottom: 65px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageTitle {
    margin-bottom: clamp(2.8125rem, -0.0666291291rem + 6.006006006vw, 4.0625rem);
  }
}
@media only screen and (max-width: 767px) {
  .pageTitle {
    margin-bottom: clamp(2.1875rem, 1.7860010707rem + 2.1413276231vw, 2.8125rem);
  }
}
.pageTitle h2 {
  font-size: 40px;
  font-weight: 700;
  padding-bottom: 25px;
  position: relative;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageTitle h2 {
    font-size: clamp(2.125rem, 1.2612612613rem + 1.8018018018vw, 2.5rem);
    padding-bottom: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .pageTitle h2 {
    font-size: clamp(1.5rem, 1.0985010707rem + 2.1413276231vw, 2.125rem);
    padding-bottom: clamp(0.9375rem, 0.2177177177rem + 1.5015015015vw, 1.25rem);
  }
}
.pageTitle h2::after {
  content: "";
  display: block;
  width: 0;
  height: 10px;
  border-radius: 3px;
  background: linear-gradient(90deg, #2b7e77 0%, #aee59f 100%);
  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
  transition: 0.8s;
  transition-delay: 0.3s;
}
@media only screen and (max-width: 767px) {
  .pageTitle h2::after {
    height: clamp(0.5rem, 0.4197002141rem + 0.4282655246vw, 0.625rem);
  }
}
.pageTitle h2.move::after {
  width: 100px;
  opacity: 1;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageTitle h2.move::after {
    width: clamp(5rem, 2.1208708709rem + 6.006006006vw, 6.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .pageTitle h2.move::after {
    width: clamp(3.75rem, 2.9470021413rem + 4.2826552463vw, 5rem);
  }
}

.pageSectionOnly {
  padding: 85px 0 140px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageSectionOnly {
    padding: clamp(2.8125rem, -2.9457582583rem + 12.012012012vw, 5.3125rem) 0 clamp(6.25rem, 0.4917417417rem + 12.012012012vw, 8.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .pageSectionOnly {
    padding: clamp(2.1875rem, 1.7860010707rem + 2.1413276231vw, 2.8125rem) 0 clamp(5rem, 4.1970021413rem + 4.2826552463vw, 6.25rem);
  }
}

.pageSectionFirst {
  padding: 85px 0 50px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageSectionFirst {
    padding: clamp(2.8125rem, -2.9457582583rem + 12.012012012vw, 5.3125rem) 0 clamp(2.5rem, 1.0604354354rem + 3.003003003vw, 3.125rem);
  }
}
@media only screen and (max-width: 767px) {
  .pageSectionFirst {
    padding: clamp(2.1875rem, 1.7860010707rem + 2.1413276231vw, 2.8125rem) 0 0;
  }
}

.pageSectionLast {
  padding: 50px 0 140px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageSectionLast {
    padding: clamp(2.5rem, 1.0604354354rem + 3.003003003vw, 3.125rem) 0 clamp(6.25rem, 0.4917417417rem + 12.012012012vw, 8.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .pageSectionLast {
    padding: clamp(1.875rem, 1.4735010707rem + 2.1413276231vw, 2.5rem) 0 clamp(5rem, 4.1970021413rem + 4.2826552463vw, 6.25rem);
  }
}
.pageSectionLast.-bgGray {
  margin-top: 50px;
  padding: 140px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageSectionLast.-bgGray {
    margin-top: clamp(2.5rem, 1.0604354354rem + 3.003003003vw, 3.125rem);
    padding: clamp(6.25rem, 0.4917417417rem + 12.012012012vw, 8.75rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .pageSectionLast.-bgGray {
    margin-top: clamp(3.125rem, 1.920503212rem + 6.4239828694vw, 5rem);
    padding: clamp(3.125rem, 1.920503212rem + 6.4239828694vw, 5rem) 0;
  }
}
.pageSectionLast.-bgGreen {
  margin-top: 50px;
  padding: 140px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageSectionLast.-bgGreen {
    margin-top: clamp(2.5rem, 1.0604354354rem + 3.003003003vw, 3.125rem);
    padding: clamp(6.25rem, 0.4917417417rem + 12.012012012vw, 8.75rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .pageSectionLast.-bgGreen {
    margin-top: clamp(1.875rem, 1.4735010707rem + 2.1413276231vw, 2.5rem);
    padding: clamp(5rem, 2.591006424rem + 12.8479657388vw, 8.75rem) 0;
  }
}

.pageSection {
  padding: 100px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageSection {
    padding: clamp(2.5rem, -6.1373873874rem + 18.018018018vw, 6.25rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .pageSection {
    padding: clamp(1.875rem, 1.4735010707rem + 2.1413276231vw, 2.5rem) 0;
  }
}
.pageSection.-bgGray {
  margin-top: 50px;
  padding: 140px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageSection.-bgGray {
    margin-top: clamp(2.5rem, 1.0604354354rem + 3.003003003vw, 3.125rem);
    padding: clamp(6.25rem, 0.4917417417rem + 12.012012012vw, 8.75rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .pageSection.-bgGray {
    margin-top: clamp(1.875rem, 1.4735010707rem + 2.1413276231vw, 2.5rem);
    padding: clamp(3.125rem, 1.1175053533rem + 10.7066381156vw, 6.25rem) 0;
  }
}
.pageSection.-bgGreen {
  margin-top: 50px;
  padding: 140px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .pageSection.-bgGreen {
    margin-top: clamp(2.5rem, 1.0604354354rem + 3.003003003vw, 3.125rem);
    padding: clamp(6.25rem, 0.4917417417rem + 12.012012012vw, 8.75rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .pageSection.-bgGreen {
    margin-top: clamp(1.875rem, 1.4735010707rem + 2.1413276231vw, 2.5rem);
    padding: clamp(5rem, 2.591006424rem + 12.8479657388vw, 8.75rem) 0;
  }
}

.message__contents img {
  border-radius: 20px;
}
.message__contents-txt {
  margin-top: 105px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .message__contents-txt {
    margin-top: clamp(2.1875rem, -7.889451952rem + 21.021021021vw, 6.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .message__contents-txt {
    margin-top: clamp(1.25rem, 0.647751606rem + 3.2119914347vw, 2.1875rem);
  }
}
.message__contents-txt h3 {
  margin-bottom: 40px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .message__contents-txt h3 {
    margin-bottom: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .message__contents-txt h3 {
    margin-bottom: clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
  }
}
.message__contents-txt .sign {
  margin-top: 40px;
  font-weight: 500;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .message__contents-txt .sign {
    margin-top: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .message__contents-txt .sign {
    margin-top: clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
  }
}

.vision__contents-block {
  margin-bottom: 120px;
  position: relative;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .vision__contents-block {
    margin-bottom: clamp(6.25rem, 3.3708708709rem + 6.006006006vw, 7.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .vision__contents-block {
    margin-bottom: clamp(3.75rem, 2.1440042827rem + 8.5653104925vw, 6.25rem);
  }
}
.vision__contents-block h3 {
  margin-bottom: 60px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .vision__contents-block h3 {
    margin-bottom: clamp(2.5rem, -0.3791291291rem + 6.006006006vw, 3.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .vision__contents-block h3 {
    margin-bottom: clamp(1.25rem, 0.4470021413rem + 4.2826552463vw, 2.5rem);
    font-size: clamp(1rem, 0.4379014989rem + 2.9978586724vw, 1.875rem);
  }
}
.vision__contents-block:last-child {
  margin-bottom: 0;
}
.vision__contents .fit-img {
  position: absolute;
  right: 0;
}
@media screen and (min-width: 767px) and (max-width: 1330px) {
  .vision__contents .fit-img {
    margin-top: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .vision__contents .fit-img {
    margin-top: clamp(0.625rem, 0.2235010707rem + 2.1413276231vw, 1.25rem);
    position: inherit;
    width: 100%;
    max-width: 150px;
    min-width: 120px;
    margin-left: auto;
  }
}
.vision__contents .fit-img img {
  width: 100%;
}

.guideLine {
  padding: 50px 0;
  margin-top: 50px;
}
.guideLine__contents {
  width: 100%;
  padding: 50px 0;
}
@media only screen and (max-width: 767px) {
  .guideLine__contents {
    padding: 20px 0 0 0;
  }
}
.guideLine__contents ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  gap: 30px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .guideLine__contents ul {
    gap: clamp(1.25rem, -0.1895645646rem + 3.003003003vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .guideLine__contents ul {
    flex-direction: column;
  }
}
.guideLine__contents li {
  width: calc((100% - 60px) / 3);
  background-color: #fff;
  border-radius: 10px;
  padding: 50px 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .guideLine__contents li {
    width: calc((100% - clamp(2.5rem, -0.3791291291rem + 6.006006006vw, 3.75rem)) / 3);
    padding: clamp(1.25rem, -3.0686936937rem + 9.009009009vw, 3.125rem) clamp(0.625rem, -0.8145645646rem + 3.003003003vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .guideLine__contents li {
    width: 100%;
    padding: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .guideLine__contents li:last-child {
    margin-bottom: 0;
  }
}
.guideLine__contents .fit-img {
  width: 100%;
  display: flex;
  justify-content: center; /* 横方向中央 */
  align-items: center; /* 縦方向中央（高さがある場合） */
}
.guideLine__contents .fit-img img {
  width: 30% !important;
}
.guideLine__contents_ttl {
  font-size: 25px;
  padding-top: 40px;
  text-align: center;
  font-family: "SourceHanSansJP", serif;
  font-weight: bold;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .guideLine__contents_ttl {
    padding-top: clamp(1.25rem, -1.6291291291rem + 6.006006006vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .guideLine__contents_ttl {
    padding-top: 20px;
    font-size: clamp(1.25rem, 1.0492505353rem + 1.0706638116vw, 1.5625rem);
  }
}
.guideLine__contents_txt {
  font-size: 16px;
  padding-top: 20px;
  text-align: center;
  font-family: "SourceHanSansJP", serif;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .guideLine__contents_txt {
    padding-top: clamp(0.625rem, -0.8145645646rem + 3.003003003vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .guideLine__contents_txt {
    padding-top: 10px;
  }
}

.v-attempt {
  padding: 50px 0;
}
@media only screen and (max-width: 767px) {
  .v-attempt h3 {
    font-size: clamp(1rem, 0.4379014989rem + 2.9978586724vw, 1.875rem);
  }
}
.v-attempt__contents {
  width: 100%;
  padding: 50px 0;
}
@media only screen and (max-width: 767px) {
  .v-attempt__contents {
    padding: 20px 0 0 0;
  }
}
.v-attempt__contents ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
  gap: 2%;
}
@media screen and (max-width: 1100px) {
  .v-attempt__contents ul {
    flex-direction: column;
  }
}
.v-attempt__contents li {
  width: 33%;
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid #f0f0f0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
@media screen and (max-width: 1100px) {
  .v-attempt__contents li {
    width: 100%;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1100px) {
  .v-attempt__contents li:last-child {
    margin-bottom: 0;
  }
}
.v-attempt__contents a {
  display: block;
  width: 100%;
  height: 100%;
}
.v-attempt__contents .fit-img {
  border-radius: 10px 10px 0 0;
  width: 100%;
  display: flex;
  justify-content: center; /* 横方向中央 */
  align-items: center; /* 縦方向中央（高さがある場合） */
  overflow: hidden;
}
.v-attempt__contents .fit-img img {
  scale: 1;
  transition: 0.3s;
  border-radius: 10px 10px 0 0;
}
.v-attempt__contents-box {
  padding: 0 20px 20px;
}
@media screen and (max-width: 1330px) {
  .v-attempt__contents-box {
    padding: 0 clamp(0.875rem, -0.9184782609rem + 2.6086956522vw, 1.25rem) clamp(0.875rem, -0.9184782609rem + 2.6086956522vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .v-attempt__contents-box {
    padding: 0 clamp(0.625rem, 0.2235010707rem + 2.1413276231vw, 1.25rem) clamp(0.625rem, 0.2235010707rem + 2.1413276231vw, 1.25rem);
  }
}
.v-attempt__contents_ttl {
  font-size: 20px;
  padding-top: 20px;
  text-align: center;
  font-family: "SourceHanSansJP", serif;
  font-weight: 700;
  line-height: 1.3;
  height: 72px;
}
@media screen and (max-width: 1330px) {
  .v-attempt__contents_ttl {
    font-size: clamp(1.125rem, 0.527173913rem + 0.8695652174vw, 1.25rem);
  }
}
@media screen and (max-width: 1100px) {
  .v-attempt__contents_ttl {
    height: auto;
  }
}
@media only screen and (max-width: 767px) {
  .v-attempt__contents_ttl {
    font-size: clamp(1rem, 0.7890625rem + 1.125vw, 1.5625rem);
  }
}
.v-attempt__contents_txt {
  font-size: 16px;
  margin-top: 20px;
  font-family: "SourceHanSansJP", serif;
}
@media screen and (max-width: 1330px) {
  .v-attempt__contents_txt {
    font-size: clamp(0.875rem, 0.277173913rem + 0.8695652174vw, 1rem);
    margin-top: clamp(0.875rem, -0.9184782609rem + 2.6086956522vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .v-attempt__contents_txt {
    font-size: clamp(0.875rem, 0.828125rem + 0.25vw, 1rem);
    margin-top: clamp(0.625rem, 0.390625rem + 1.25vw, 1.25rem);
  }
}

@media only screen and (max-width: 767px) {
  .visionNumber {
    padding: clamp(3.125rem, 1.1175053533rem + 10.7066381156vw, 6.25rem) 0 clamp(1.875rem, 1.4735010707rem + 2.1413276231vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .visionNumber h3 {
    font-size: clamp(1rem, 0.4379014989rem + 2.9978586724vw, 1.875rem);
  }
}
.visionNumber__contents {
  padding-top: 50px;
}
@media only screen and (max-width: 767px) {
  .visionNumber__contents {
    padding-top: 30px;
  }
}
.visionNumber__contents p {
  font-size: 16px;
  padding-bottom: 10px;
}
.visionNumber__contents ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .visionNumber__contents ul {
    flex-direction: column;
  }
}
.visionNumber__contents li {
  width: 49%;
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  .visionNumber__contents li {
    width: 100%;
    margin-bottom: 20px;
  }
}
.visionNumber__contents li .fit-img {
  width: 100%;
}
.visionNumber__contents li .fit-img img {
  width: 100%;
  border-radius: 10px;
}
.visionNumber__contents li:nth-last-child(-n+2) {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .visionNumber__contents li:nth-last-child(-n+2) {
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .visionNumber__contents li:last-child {
    margin-bottom: 0 !important;
  }
}

@media only screen and (max-width: 767px) {
  .introduction {
    padding-bottom: clamp(3.125rem, 1.1175053533rem + 10.7066381156vw, 6.25rem);
  }
}
.introduction__contents {
  margin-top: 80px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .introduction__contents {
    margin-top: clamp(3.75rem, 0.8708708709rem + 6.006006006vw, 5rem);
  }
}
@media only screen and (max-width: 767px) {
  .introduction__contents {
    margin-top: clamp(2.5rem, 1.6970021413rem + 4.2826552463vw, 3.75rem);
  }
}
.introduction__contents-block {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 60px;
  padding-bottom: 70px;
  position: relative;
  scroll-margin-top: 100px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .introduction__contents-block {
    margin-bottom: clamp(3.125rem, 0.2458708709rem + 6.006006006vw, 4.375rem);
    padding-bottom: clamp(3.125rem, 0.2458708709rem + 6.006006006vw, 4.375rem);
    gap: 3%;
    scroll-margin-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .introduction__contents-block {
    display: block;
    margin-bottom: clamp(1.875rem, 1.0720021413rem + 4.2826552463vw, 3.125rem);
    padding-bottom: clamp(1.875rem, 1.0720021413rem + 4.2826552463vw, 3.125rem);
  }
}
.introduction__contents-block:last-child {
  margin-bottom: 0;
}
.introduction__contents-block:last-child::after {
  display: none;
}
.introduction__contents-block::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #e8e8e8;
  position: absolute;
  top: 100%;
  left: 0;
}
.introduction__contents-block.reverse {
  flex-direction: row-reverse;
}
.introduction__contents-block-left {
  width: 45%;
}
@media only screen and (max-width: 767px) {
  .introduction__contents-block-left {
    width: 100%;
  }
}
.introduction__contents-block-left .fit-img img {
  border-radius: 20px;
  aspect-ratio: 64/37;
  object-fit: cover;
}
.introduction__contents-block-right {
  width: 50%;
}
@media only screen and (max-width: 767px) {
  .introduction__contents-block-right {
    width: 100%;
  }
}
.introduction__contents-block-right-title {
  margin-bottom: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .introduction__contents-block-right-title {
    margin-bottom: clamp(0.9375rem, 0.2177177177rem + 1.5015015015vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .introduction__contents-block-right-title {
    margin-bottom: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem);
    margin-top: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem);
  }
}
.introduction__contents-block-right-title h3 {
  display: flex;
  flex-direction: column;
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 2.5px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .introduction__contents-block-right-title h3 {
    font-size: clamp(1.5rem, 0.6362612613rem + 1.8018018018vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .introduction__contents-block-right-title h3 {
    font-size: clamp(1.5rem, 1.2591006424rem + 1.2847965739vw, 1.875rem);
  }
}
.introduction__contents-block-right-title h3 span {
  color: #328479;
  font-family: "enfont", serif;
  font-weight: 400;
  font-size: 20px;
  margin-bottom: 10px;
  letter-spacing: 2.5px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .introduction__contents-block-right-title h3 span {
    font-size: clamp(1rem, 0.4241741742rem + 1.2012012012vw, 1.25rem);
    margin-bottom: clamp(0.3125rem, -0.4072822823rem + 1.5015015015vw, 0.625rem);
  }
}
@media only screen and (max-width: 767px) {
  .introduction__contents-block-right-title h3 span {
    font-size: clamp(1rem, 0.8394004283rem + 0.8565310493vw, 1.25rem);
    margin-bottom: clamp(0.3125rem, 0.1117505353rem + 1.0706638116vw, 0.625rem);
  }
}
.introduction__contents-block-right p {
  margin-bottom: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .introduction__contents-block-right p {
    margin-bottom: clamp(0.9375rem, 0.2177177177rem + 1.5015015015vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .introduction__contents-block-right p {
    margin-bottom: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .introduction__contents-block-right .grayBtn {
    margin-left: auto;
    margin-right: auto;
  }
}

.declutter__contents-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
@media only screen and (max-width: 767px) {
  .declutter__contents-block {
    display: block;
  }
}
.declutter__contents-block-left {
  width: 45%;
}
@media only screen and (max-width: 767px) {
  .declutter__contents-block-left {
    width: 100%;
  }
}
.declutter__contents-block-left img {
  border-radius: 20px;
}
.declutter__contents-block-right {
  width: 50%;
}
@media only screen and (max-width: 767px) {
  .declutter__contents-block-right {
    width: 100%;
  }
}
.declutter__contents-block-right-title {
  margin-bottom: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .declutter__contents-block-right-title {
    margin-bottom: clamp(0.9375rem, 0.2177177177rem + 1.5015015015vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .declutter__contents-block-right-title {
    margin-bottom: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem);
    margin-top: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem);
  }
}
.declutter__contents-block-right-title h4 {
  display: flex;
  flex-direction: column;
  font-size: 30px;
  font-weight: 500;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .declutter__contents-block-right-title h4 {
    font-size: clamp(1.5rem, 0.6362612613rem + 1.8018018018vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .declutter__contents-block-right-title h4 {
    font-size: clamp(1.125rem, 0.6432012848rem + 2.5695931478vw, 1.875rem);
  }
}

.service__contents-lists ul {
  display: flex;
  align-items: start;
  justify-content: flex-start;
  flex-wrap: wrap;
  column-gap: 30px;
  row-gap: 75px;
}
@media only screen and (max-width: 767px) {
  .service__contents-lists ul {
    row-gap: 50px;
  }
}
.service__contents-lists ul li {
  width: calc((100% - 60px) / 3);
}
@media only screen and (max-width: 767px) {
  .service__contents-lists ul li {
    width: 100%;
  }
}
.service__contents-lists ul li img {
  border-radius: 10px;
}
.service__contents-lists ul li .-title {
  margin: 20px 0;
}
.service__contents-lists ul li .-title h4 {
  font-size: 25px;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .service__contents-lists ul li .-title h4 {
    font-size: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .service__contents-lists ul li .-title h4 {
    font-size: clamp(1.25rem, 1.0492505353rem + 1.0706638116vw, 1.5625rem);
  }
}

.flow__contents {
  position: relative;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .flow__contents {
    margin-top: 60px;
  }
}
.flow__contents::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 0;
  height: 55px;
  background: #f8f8f8;
  z-index: -1;
  transform: translateY(-50%);
  opacity: 0;
  transition: 2s;
  transition-delay: 0.5s;
}
@media only screen and (max-width: 767px) {
  .flow__contents::before {
    top: 0;
    left: 50%;
    width: 55px;
    height: 0;
    transform: translateX(-50%);
  }
}
.flow__contents::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 60px 0 60px 40px;
  border-color: transparent transparent transparent #f8f8f8;
  transform: translateY(-50%) scaleX(0);
  transform-origin: left center;
  opacity: 0;
  transition: transform 2s, opacity 2s;
}
@media only screen and (max-width: 767px) {
  .flow__contents::after {
    top: calc(100% + 40px);
    left: 50%;
    transform: translateX(-50%) scaleY(0);
    transform-origin: top center;
    border-width: 40px 60px 0 60px;
    border-color: #f8f8f8 transparent transparent transparent;
  }
}
.flow__contents.move::before {
  width: calc(100% - 40px);
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  .flow__contents.move::before {
    width: 55px;
    height: calc(100% + 40px);
  }
}
.flow__contents.move::after {
  transform: translateY(-50%) scaleX(1);
  opacity: 1;
  transition-delay: 2s;
}
@media only screen and (max-width: 767px) {
  .flow__contents.move::after {
    transform: translateX(-50%) scaleY(1);
  }
}
.flow__contents ul {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 2.5%;
}
@media only screen and (max-width: 767px) {
  .flow__contents ul {
    flex-direction: column;
  }
}
.flow__contents ul li {
  width: 16.5%;
  padding: 25px;
  border: 2px solid #333333;
  border-radius: 10px;
  position: relative;
  background-color: #fff;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .flow__contents ul li {
    padding: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem);
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .flow__contents ul li {
    padding: clamp(0.625rem, -0.8145645646rem + 3.003003003vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .flow__contents ul li {
    width: 90%;
    max-width: 250px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
  }
  .flow__contents ul li:last-child {
    margin-bottom: 0;
  }
}
.flow__contents ul li .step {
  font-size: 25px;
  font-family: "enfont", serif;
  font-weight: 700;
  background-color: #fff;
  padding: 5px;
  position: absolute;
  top: -21px;
  left: -28px;
  line-height: 1;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .flow__contents ul li .step {
    font-size: clamp(1.125rem, 0.1173048048rem + 2.1021021021vw, 1.5625rem);
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .flow__contents ul li .step {
    font-size: clamp(1rem, 0.7120870871rem + 0.6006006006vw, 1.125rem);
  }
}
.flow__contents ul li .icon {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
}
.flow__contents ul li .title {
  margin: 20px 0 10px;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .flow__contents ul li .title {
    font-size: clamp(1.125rem, 0.8370870871rem + 0.6006006006vw, 1.25rem);
    margin: clamp(0.625rem, -0.8145645646rem + 3.003003003vw, 1.25rem) 0 clamp(0.3125rem, -0.4072822823rem + 1.5015015015vw, 0.625rem);
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .flow__contents ul li .title {
    font-size: clamp(1rem, 0.7120870871rem + 0.6006006006vw, 1.125rem);
    margin: clamp(0.625rem, -0.8145645646rem + 3.003003003vw, 1.25rem) 0 clamp(0.3125rem, -0.4072822823rem + 1.5015015015vw, 0.625rem);
  }
}
.flow__contents ul li p {
  text-align: center;
  line-height: 1;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .flow__contents ul li p {
    font-size: clamp(0.875rem, 0.5870870871rem + 0.6006006006vw, 1rem);
  }
}

.voice__lists ul {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 1%;
}
@media only screen and (max-width: 767px) {
  .voice__lists ul {
    display: block;
  }
}
.voice__lists ul li {
  width: 32.6666666667%;
  background-color: #fff;
  border-radius: 10px;
}
@media only screen and (max-width: 767px) {
  .voice__lists ul li {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5%;
  }
  .voice__lists ul li:last-child {
    margin-bottom: 0;
  }
}
.voice__lists ul li img {
  border-radius: 10px 10px 0 0;
}
.voice__lists-txt {
  padding: 20px 30px 30px;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .voice__lists-txt {
    padding: clamp(0.9375rem, 0.2177177177rem + 1.5015015015vw, 1.25rem) clamp(1.25rem, -0.1895645646rem + 3.003003003vw, 1.875rem) clamp(1.25rem, -0.1895645646rem + 3.003003003vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .voice__lists-txt {
    padding: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem) clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem) clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
  }
}
.voice__lists-txt h4 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 5px;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .voice__lists-txt h4 {
    font-size: clamp(1.125rem, 0.8370870871rem + 0.6006006006vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .voice__lists-txt h4 {
    font-size: clamp(1.125rem, 1.0447002141rem + 0.4282655246vw, 1.25rem);
  }
}

.faq {
  letter-spacing: 0.1em;
}
.faq__lists ul li {
  background-color: #f8f8f8;
  padding: 30px;
  border-radius: 10px;
  margin-bottom: 30px;
}
.faq__lists ul li:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .faq__lists ul li {
    padding: clamp(0.9375rem, 0.335251606rem + 3.2119914347vw, 1.875rem);
  }
}
.faq__lists-question {
  position: relative;
}
.faq__lists-question p {
  font-size: 25px;
  font-weight: 700;
  padding-left: 30px;
  position: relative;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .faq__lists-question p {
    font-size: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .faq__lists-question p {
    font-size: clamp(1rem, 0.8394004283rem + 0.8565310493vw, 1.25rem);
    padding-left: clamp(1.5rem, 1.2591006424rem + 1.2847965739vw, 1.875rem);
  }
}
.faq__lists-question p::before {
  content: "Q.";
  font-size: 25px;
  font-weight: 700;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .faq__lists-question p::before {
    font-size: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .faq__lists-question p::before {
    font-size: clamp(1rem, 0.8394004283rem + 0.8565310493vw, 1.25rem);
  }
}
.faq__lists-question.openBtn {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  cursor: pointer;
  gap: 2%;
}
.faq__lists-question.openBtn .icon {
  display: block;
  width: 40px;
  height: 40px;
  background-color: #328479;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .faq__lists-question.openBtn .icon {
    width: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
    height: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .faq__lists-question.openBtn .icon {
    width: 30px;
    height: 30px;
  }
}
.faq__lists-question.openBtn .icon::before {
  content: "";
  display: block;
  width: 40%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.faq__lists-question.openBtn .icon::after {
  content: "";
  display: block;
  width: 40%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  transition: 0.3s;
}
.faq__lists-question.openBtn .icon.open::after {
  transform: translate(-50%, -50%) rotate(0deg);
  transition: 0.3s;
}
.faq__lists-answer {
  width: 90%;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .faq__lists-answer {
    width: 95%;
  }
}
.faq__lists-answer p {
  position: relative;
  padding-left: 30px;
  padding-right: 40px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .faq__lists-answer p {
    padding-right: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .faq__lists-answer p {
    padding-right: 30px;
    padding-left: clamp(1.5rem, 1.2591006424rem + 1.2847965739vw, 1.875rem);
  }
}
.faq__lists-answer p::before {
  content: "A.";
  font-size: 25px;
  font-weight: 700;
  position: absolute;
  top: -10px;
  left: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .faq__lists-answer p::before {
    font-size: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .faq__lists-answer p::before {
    font-size: clamp(1rem, 0.8394004283rem + 0.8565310493vw, 1.25rem);
    top: 0;
  }
}
.faq__lists-answer.openArea {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  margin-top: 0;
  margin-bottom: 0;
  transition: 0.3s;
}
.faq__lists-answer.openArea.open {
  margin: 60px 0 30px auto;
  transition: 0.3s;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .faq__lists-answer.openArea.open {
    margin: clamp(2.5rem, -0.3791291291rem + 6.006006006vw, 3.75rem) 0 clamp(1.25rem, -0.1895645646rem + 3.003003003vw, 1.875rem) auto;
  }
}
@media only screen and (max-width: 767px) {
  .faq__lists-answer.openArea.open {
    margin: clamp(1.25rem, 0.4470021413rem + 4.2826552463vw, 2.5rem) 0 clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem) auto;
  }
}
@media only screen and (max-width: 767px) {
  .faq__lists .minInner {
    width: 100%;
  }
}

@media only screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media only screen and (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

.company__contents img {
  border-radius: 20px;
}
.company__contents-table {
  max-width: 800px;
  margin-left: auto;
}
.company__contents .sp-only {
  display: none;
}
@media only screen and (max-width: 767px) {
  .company__contents .sp-only {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .company__contents .pc-only {
    display: none;
  }
}
.company__contents table {
  width: 100%;
  margin-top: 65px;
}
@media only screen and (max-width: 767px) {
  .company__contents table {
    margin-top: 20px;
  }
}
.company__contents table tr {
  border-top: 1px solid #e8e8e8;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .company__contents table tr {
    flex-direction: column;
    border-top: none;
  }
}
.company__contents table tr:last-child {
  border-bottom: 1px solid #e8e8e8;
}
@media only screen and (max-width: 767px) {
  .company__contents table tr:last-child {
    border-bottom: none;
  }
}
.company__contents table tr th {
  padding: 25px 0;
  text-align: left;
  font-weight: 700;
  min-width: 130px;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .company__contents table tr th {
    width: 100%;
    border-bottom: 1px solid #e8e8e8;
    padding: 15px 0 10px 0;
    font-size: 16px;
  }
}
.company__contents table tr td {
  padding: 10px 0;
  width: fit-content;
  width: 100%;
  max-width: 400px;
  flex-shrink: 1;
  letter-spacing: 0;
  font-size: 16px;
  line-height: 2.1875;
}
@media only screen and (max-width: 767px) {
  .company__contents table tr td {
    width: 100%;
    max-width: none;
    padding: 5px 0 10px 0;
    font-size: 14px;
  }
}
.company__contents table tr td .office {
  margin-top: 0;
}
.company__contents table tr td .office tr {
  border: none;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 25px;
}
@media only screen and (max-width: 767px) {
  .company__contents table tr td .office tr {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 15px;
  }
}
.company__contents table tr td .office tr th {
  font-weight: 400;
  padding: 10px 0;
  width: 200px;
  min-width: inherit;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .company__contents table tr td .office tr th {
    vertical-align: top;
    width: 28%;
  }
}
.company__contents table tr td .office tr td {
  padding: 10px 0;
  width: auto;
}
@media only screen and (max-width: 767px) {
  .company__contents table tr td .office tr td {
    padding: 10px 0 0 0;
  }
}
.company__contents table tr td .license {
  margin-top: 0;
}
.company__contents table tr td .license tr {
  border: none;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 25px;
}
@media only screen and (max-width: 767px) {
  .company__contents table tr td .license tr {
    border-top: none;
    display: flex;
    flex-direction: row;
    gap: 0;
  }
}
.company__contents table tr td .license tr th {
  font-weight: 400;
  padding: 10px 0;
  width: 50px;
  min-width: inherit;
}
@media only screen and (max-width: 767px) {
  .company__contents table tr td .license tr th {
    width: 18%;
    border-bottom: none !important;
    padding: 0;
  }
}
.company__contents table tr td .license tr td {
  padding: 10px 0;
  width: auto;
}
@media only screen and (max-width: 767px) {
  .company__contents table tr td .license tr td {
    width: 100%;
    padding: 5px 0 0 0;
  }
}
.company__contents table .license-all {
  padding: 25px 0;
}
.company__contents table .license-all-sp p {
  padding-top: 20px;
}
.company__contents table .license-all-sp p:last-child {
  padding-bottom: 0;
}

.history__contents {
  margin-top: 97px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .history__contents {
    margin-top: clamp(4.85rem, 2.0572447447rem + 5.8258258258vw, 6.0625rem);
  }
}
@media only screen and (max-width: 767px) {
  .history__contents {
    margin-top: clamp(2.25rem, 1.2864025696rem + 5.1391862955vw, 3.75rem);
  }
}
.history__lists {
  margin-left: 7%;
}
@media only screen and (max-width: 767px) {
  .history__lists {
    margin-left: 0;
  }
}
.history__lists dl {
  position: relative;
  padding: 70px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .history__lists dl {
    padding: clamp(3.5rem, 1.4846096096rem + 4.2042042042vw, 4.375rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .history__lists dl {
    padding: clamp(2.625rem, 1.5008029979rem + 5.9957173448vw, 4.375rem) 0;
  }
}
.history__lists dl::after {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background-color: #e8e8e8;
  position: absolute;
  top: 0;
  left: 158.81px;
  transform: translateX(-50%);
  z-index: -1;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .history__lists dl::after {
    left: clamp(8.565625rem, 5.4331325075rem + 6.5345345345vw, 9.925625rem);
  }
}
@media only screen and (max-width: 767px) {
  .history__lists dl::after {
    left: max(20.7vw, 95.28px);
  }
}
.history__lists dl div {
  display: flex;
  align-items: flex-start;
  gap: 100px;
  margin-bottom: 85px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .history__lists dl div {
    margin-bottom: clamp(4.25rem, 1.8027402402rem + 5.1051051051vw, 5.3125rem);
  }
}
@media only screen and (max-width: 767px) {
  .history__lists dl div {
    gap: max(13vw, 60px);
    margin-bottom: clamp(3rem, 1.7152034261rem + 6.852248394vw, 5rem);
  }
}
.history__lists dl div:last-child {
  margin-bottom: 0;
}
.history__lists dl div.col01 dt::after {
  background-color: #2b7e77;
}
.history__lists dl div.col02 dt::after {
  background-color: #2b7e77;
}
.history__lists dl div.col03 dt::after {
  background-color: #65ab89;
}
.history__lists dl div.col04 dt::after {
  background-color: #65ab89;
}
.history__lists dl div.col05 dt::after {
  background-color: #7dbf90;
}
.history__lists dl div.col06 dt::after {
  background-color: #7dbf90;
}
.history__lists dl div.col07 dt::after {
  background-color: #89c894;
}
.history__lists dl div.col08 dt::after {
  background-color: #89c894;
}
.history__lists dl div.col09 dt::after {
  background-color: #ace49f;
}
.history__lists dl div.col10 dt::after {
  background-color: #ace49f;
}
.history__lists dl div.col11 dt::after {
  background-color: #b0f19e;
}
.history__lists dl div dt {
  font-family: "enfont", serif;
  font-weight: 600;
  font-size: 40px;
  letter-spacing: 0.1em;
  line-height: 1;
  position: relative;
}
.history__lists dl div dt::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 158.81px;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .history__lists dl div dt::after {
    left: clamp(8.565625rem, 5.4331325075rem + 6.5345345345vw, 9.925625rem);
  }
}
@media only screen and (max-width: 767px) {
  .history__lists dl div dt::after {
    left: max(20.7vw, 95.28px);
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .history__lists dl div dt {
    font-size: clamp(2rem, 0.8483483483rem + 2.4024024024vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .history__lists dl div dt {
    font-size: max(5.2vw, 24px);
  }
}
.history__lists dl div dd {
  font-size: 20px;
  line-height: 2.25;
  font-weight: 500;
  display: flex;
  align-items: flex-start;
  position: relative;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .history__lists dl div dd {
    font-size: clamp(1rem, 0.4241741742rem + 1.2012012012vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .history__lists dl div dd {
    font-size: max(3vw, 14px);
    line-height: 1.5652173913;
  }
}

.officer__contents img {
  border-radius: 20px;
}
.officer__contents .ceo {
  margin-bottom: 130px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .officer__contents .ceo {
    margin-bottom: clamp(5.625rem, -0.1332582583rem + 12.012012012vw, 8.125rem);
  }
}
@media only screen and (max-width: 767px) {
  .officer__contents .ceo {
    margin-bottom: clamp(3.75rem, 2.545503212rem + 6.4239828694vw, 5.625rem);
  }
}
.officer__contents .ceo .name {
  margin: 45px 0 30px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .officer__contents .ceo .name {
    margin: myuClamp(30, 45) 0 clamp(1.25rem, -0.1895645646rem + 3.003003003vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .officer__contents .ceo .name {
    margin: clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem) 0 clamp(0.625rem, 0.2235010707rem + 2.1413276231vw, 1.25rem);
  }
}
.officer__contents .ceo .name img {
  width: 10%;
}
.officer__contents .ceo .name .fit-img {
  width: 100%;
}
.officer__contents .ceo .name .fit-img img {
  width: 10%;
  border-radius: 0;
}
@media only screen and (max-width: 767px) {
  .officer__contents .ceo .name .fit-img img {
    width: 25%;
  }
}
.officer__contents .ceo .name h4 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 15px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .officer__contents .ceo .name h4 {
    font-size: clamp(1.5rem, 0.6362612613rem + 1.8018018018vw, 1.875rem);
    margin-bottom: myClmap(5, 15);
  }
}
@media only screen and (max-width: 767px) {
  .officer__contents .ceo .name h4 {
    font-size: clamp(1.5rem, 1.2591006424rem + 1.2847965739vw, 1.875rem);
    margin-bottom: myClmap(5, 15, 300, 767);
  }
}
.officer__contents .ceo .name p {
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .officer__contents .ceo .name p {
    font-size: clamp(1rem, 0.4241741742rem + 1.2012012012vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .officer__contents .ceo .name p {
    font-size: clamp(1rem, 0.8394004283rem + 0.8565310493vw, 1.25rem);
  }
}
.officer__lists ul {
  display: flex;
  align-items: flex-start;
  gap: 5%;
}
@media only screen and (max-width: 767px) {
  .officer__lists ul {
    display: block;
  }
}
.officer__lists ul li {
  width: 50%;
}
@media only screen and (max-width: 767px) {
  .officer__lists ul li {
    width: 100%;
    padding-bottom: 10%;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 10%;
  }
  .officer__lists ul li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 0;
  }
}
.officer__lists ul li img {
  border-radius: 10px;
}
.officer__lists ul li .officer-name .fit-img img {
  width: 20%;
  border-radius: 0 !important;
}
@media only screen and (max-width: 767px) {
  .officer__lists ul li .officer-name .fit-img img {
    width: 25%;
  }
}
.officer__lists ul li .name {
  margin: 30px 0 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .officer__lists ul li .name {
    margin: myuClamp(20, 30) 0 clamp(0.625rem, -0.8145645646rem + 3.003003003vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .officer__lists ul li .name {
    margin: clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem) 0 clamp(0.625rem, 0.2235010707rem + 2.1413276231vw, 1.25rem);
  }
}
.officer__lists ul li .name h4 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 15px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .officer__lists ul li .name h4 {
    font-size: clamp(1.5rem, 0.6362612613rem + 1.8018018018vw, 1.875rem);
    margin-bottom: myClmap(5, 15);
  }
}
@media only screen and (max-width: 767px) {
  .officer__lists ul li .name h4 {
    font-size: clamp(1.5rem, 1.2591006424rem + 1.2847965739vw, 1.875rem);
    margin-bottom: myClmap(5, 15, 300, 767);
  }
}
.officer__lists ul li .name p {
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .officer__lists ul li .name p {
    font-size: clamp(1rem, 0.4241741742rem + 1.2012012012vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .officer__lists ul li .name p {
    font-size: clamp(1rem, 0.8394004283rem + 0.8565310493vw, 1.25rem);
  }
}

@media only screen and (max-width: 767px) {
  .office th {
    border-bottom: none !important;
  }
}
.office__lists ul li {
  display: grid;
  grid-template-columns: 0.7fr 1.5fr 0.75fr;
  grid-template-rows: 1fr;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  padding: 40px 0;
  border-top: 1px solid #e8e8e8;
  gap: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .office__lists ul li {
    padding: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .office__lists ul li {
    display: block;
    padding: clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem) 0;
  }
}
.office__lists ul li:last-child {
  border-bottom: 1px solid #e8e8e8;
}
.office__lists-name {
  font-size: 20px;
  font-weight: 700;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .office__lists-name {
    font-size: clamp(1.125rem, 0.8370870871rem + 0.6006006006vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .office__lists-name {
    font-size: clamp(1.125rem, 1.0447002141rem + 0.4282655246vw, 1.25rem);
    margin-bottom: clamp(0.625rem, 0.2235010707rem + 2.1413276231vw, 1.25rem);
  }
}
.office__lists-adress {
  font-size: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .office__lists-adress {
    font-size: clamp(1.125rem, 0.8370870871rem + 0.6006006006vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .office__lists-adress {
    font-size: clamp(1.125rem, 1.0447002141rem + 0.4282655246vw, 1.25rem);
    line-height: 1.3;
    margin-bottom: clamp(0.625rem, 0.2235010707rem + 2.1413276231vw, 1.25rem);
  }
}
.office__lists-btn {
  min-width: 250px;
}

.news_box ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 5%;
}
@media only screen and (max-width: 767px) {
  .news_box ul {
    gap: 0;
  }
}
.news_box li {
  width: 30%;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .news_box li {
    width: 100%;
  }
}
.news_box li a .fit-img {
  overflow: hidden;
  border-radius: 10px;
}
.news_box li a:hover img {
  scale: 1.1;
  transition: 0.3s;
}
.news_box .fit-img img {
  width: 100%;
  border-radius: 10px;
  scale: 1;
  transition: 0.3s;
  aspect-ratio: 420/300;
  object-fit: cover;
}
.news_category {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
  width: 100%;
  max-width: 65px;
  min-height: 20px;
  text-align: center;
  margin-top: 10px;
  border-radius: 10px;
  background-image: linear-gradient(to right, #2b7e77, #aee59f);
}
.news_category.corp {
  background-image: linear-gradient(to right, #2b7e77, #aee59f);
}
.news_category.service {
  background-image: linear-gradient(to right, #1d4e89, #9db5d3);
}
.news_ttl {
  font-size: 20px;
  line-height: 1.8;
  font-weight: 500;
  margin-top: 10px;
}
.news_date {
  font-family: "enfont", serif;
  font-weight: 500;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .news_date {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .news_date {
    margin-top: 10px;
  }
}
.news_page {
  text-align: center;
  margin-top: 60px;
  margin-bottom: 100px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .news_page {
    margin-top: 10px;
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .news_page {
    margin-top: 10px;
    margin-bottom: 50px;
  }
}

.single-news_ttl {
  display: flex;
  flex-direction: column;
  padding-bottom: 20px;
  margin-bottom: 65px;
  border-bottom: 1px solid #e8e8e8;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .single-news_ttl {
    padding-bottom: 10px;
    margin-bottom: 30px;
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .single-news_ttl {
    padding-bottom: 0;
    margin-bottom: 20px;
    flex-direction: column;
  }
}
.single-news h2 {
  margin-left: 10px;
  line-height: 1.3;
}
@media only screen and (max-width: 767px) {
  .single-news h2 {
    margin-left: 0;
  }
}
.single-news_label {
  display: flex;
  width: 100%;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .single-news_label {
    display: block;
  }
}
.single-news_category {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
  width: 100%;
  max-width: 65px;
  min-height: 20px;
  text-align: center;
  border-radius: 10px;
  background-image: linear-gradient(to right, #2b7e77, #aee59f);
}
.single-news_category.corp {
  background-image: linear-gradient(to right, #2b7e77, #aee59f);
}
.single-news_category.service {
  background-image: linear-gradient(to right, #1d4e89, #9db5d3);
}
@media only screen and (max-width: 767px) {
  .single-news_category {
    margin-top: 0px;
  }
}
.single-news_date {
  font-family: "enfont", serif;
  font-weight: 500;
  margin-top: 5px;
}
.single-news_content * {
  max-width: 100%;
  max-height: max-content;
}
.single-news_content p {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.5px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .single-news_content p {
    font-size: clamp(0.75rem, 0.1741741742rem + 1.2012012012vw, 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .single-news_content p {
    font-size: 14px;
  }
}
.single-news_content .fit-img img {
  aspect-ratio: 1120/520;
  object-fit: cover;
}
.single-news_contentTxt {
  margin-top: 40px;
}
.single-news_page {
  text-align: center;
  margin: 100px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .single-news_page {
    margin: 50px 0;
  }
}
@media only screen and (max-width: 767px) {
  .single-news_page {
    margin: 50px 0;
  }
}

.recruit__bg {
  display: block;
  background: #f4f9f9;
  height: 1100px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 1025px) and (max-width: 1279px) {
  .recruit__bg {
    height: clamp(55rem, 37.7252252252rem + 36.036036036vw, 62.5rem);
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .recruit__bg {
    height: clamp(45.3125rem, 22.9992492492rem + 46.5465465465vw, 55rem);
  }
}
@media only screen and (max-width: 767px) {
  .recruit__bg {
    height: clamp(35rem, 17.7526132404rem + 57.4912891986vw, 45.3125rem);
  }
}
@media only screen and (max-width: 480px) {
  .recruit__bg {
    height: 520px;
  }
}
.recruitTop h2 {
  font-size: 50px;
  font-weight: 700;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .recruitTop h2 {
    font-size: clamp(2.25rem, 0.2346096096rem + 4.2042042042vw, 3.125rem);
    line-height: 1.6;
  }
}
@media only screen and (max-width: 767px) {
  .recruitTop h2 {
    font-size: clamp(1.125rem, 0.6432012848rem + 2.5695931478vw, 1.875rem);
  }
}
.recruitTop p {
  font-size: 30px;
  font-family: "enfont", serif;
  letter-spacing: 0.25em;
  font-weight: 700;
  background: linear-gradient(90deg, #2b7e77 0%, #aee59f 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  width: fit-content;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .recruitTop p {
    font-size: clamp(1.5rem, 0.6362612613rem + 1.8018018018vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .recruitTop p {
    font-size: clamp(0.875rem, 0.4735010707rem + 2.1413276231vw, 1.5rem);
  }
}
.recruitTop__img {
  width: 90%;
  max-width: 1420px;
  margin-top: 100px;
  margin-right: auto;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .recruitTop__img {
    margin-top: clamp(3.75rem, -2.0082582583rem + 12.012012012vw, 6.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .recruitTop__img {
    display: none;
  }
}
.recruitTop__img img {
  border-radius: 0 30px 30px 0;
}
.recruitTop__img-sp {
  width: 90%;
  max-width: 1420px;
  margin-top: 100px;
  margin-right: auto;
  display: none;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .recruitTop__img-sp {
    margin-top: clamp(3.75rem, -2.0082582583rem + 12.012012012vw, 6.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .recruitTop__img-sp {
    display: block;
    margin-top: 20px;
  }
}
.recruitTop__img-sp img {
  border-radius: 0 30px 30px 0;
}

.concept__contents {
  display: flex;
  align-items: center;
  gap: 5%;
}
@media only screen and (max-width: 767px) {
  .concept__contents {
    display: block;
  }
}
.concept__contents-txt {
  width: 50%;
}
@media only screen and (max-width: 767px) {
  .concept__contents-txt {
    width: 100%;
  }
}
.concept__contents-txt h3 {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 30px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .concept__contents-txt h3 {
    font-size: clamp(1.5rem, 0.6362612613rem + 1.8018018018vw, 1.875rem);
    margin-bottom: clamp(1.25rem, -0.1895645646rem + 3.003003003vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .concept__contents-txt h3 {
    font-size: clamp(0.875rem, 0.4735010707rem + 2.1413276231vw, 1.5rem);
    margin-bottom: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem);
  }
}
.concept__contents-img {
  width: 45%;
}
@media only screen and (max-width: 767px) {
  .concept__contents-img {
    width: 100%;
    margin-top: clamp(1.875rem, 0.670503212rem + 6.4239828694vw, 3.75rem);
  }
}
.concept__contents-img img {
  border-radius: 10px;
}

.requirements {
  padding: 140px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .requirements {
    padding: clamp(6.25rem, 0.4917417417rem + 12.012012012vw, 8.75rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .requirements {
    padding: clamp(3.125rem, 1.1175053533rem + 10.7066381156vw, 6.25rem) 0 !important;
  }
}
.requirements__lists ul {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 45px;
}
@media only screen and (max-width: 767px) {
  .requirements__lists ul {
    gap: clamp(1.875rem, 1.272751606rem + 3.2119914347vw, 2.8125rem);
  }
}
.requirements__lists ul li {
  width: calc((100% - 90px) / 3);
}
@media only screen and (max-width: 767px) {
  .requirements__lists ul li {
    width: 100%;
  }
}
.requirements__lists ul li .fit-img {
  overflow: hidden;
  border-radius: 10px;
}
.requirements__lists ul li .fit-img img {
  transition: transform 0.5s ease;
  object-fit: cover;
  aspect-ratio: 22/13;
  height: auto;
}
.requirements__lists ul li .fit-img:hover img {
  transform: scale(1.1); /* 画像を10%拡大 */
}
.requirements__lists ul li h3 {
  color: #328479;
  font-size: 25px;
  font-family: "enfont", serif;
  font-weight: 700;
  line-height: 1;
  margin: 30px 0 15px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .requirements__lists ul li h3 {
    font-size: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem);
    margin: clamp(1.25rem, -0.1895645646rem + 3.003003003vw, 1.875rem) 0 clamp(0.625rem, -0.0947822823rem + 1.5015015015vw, 0.9375rem);
  }
}
@media only screen and (max-width: 767px) {
  .requirements__lists ul li h3 {
    font-size: clamp(1.25rem, 1.0492505353rem + 1.0706638116vw, 1.5625rem);
    margin: clamp(1.25rem, -0.1895645646rem + 3.003003003vw, 1.875rem) 0 clamp(0.625rem, 0.4242505353rem + 1.0706638116vw, 0.9375rem);
  }
}
.requirements__contents-list {
  margin-top: 50px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .requirements__contents-list {
    margin-top: clamp(1.875rem, -1.0041291291rem + 6.006006006vw, 3.125rem);
  }
}
@media only screen and (max-width: 767px) {
  .requirements__contents-list {
    margin-top: clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
  }
}
.requirements__contents-list ul {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 20px;
}
.requirements__contents-list ul li {
  width: calc((100% - 60px) / 4);
  padding: 40px 20px;
  background-color: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 1100px) {
  .requirements__contents-list ul li {
    width: calc((100% - 20px) / 2);
  }
}
@media only screen and (max-width: 767px) {
  .requirements__contents-list ul li {
    width: 100%;
    max-width: 450px;
    margin-left: auto;
    margin-right: auto;
  }
}
.requirements__contents-list ul li .fit-img {
  width: 40%;
  margin-left: auto;
  margin-right: auto;
}
.requirements__contents-list ul li h3 {
  font-size: 18px;
  font-weight: 500;
  color: #328479;
  text-align: center;
  line-height: 1;
  margin-top: 20px;
  margin-bottom: 10px;
}
.requirements .pageTitle.next {
  padding-top: 140px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .requirements .pageTitle.next {
    padding-top: clamp(6.25rem, 0.4917417417rem + 12.012012012vw, 8.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .requirements .pageTitle.next {
    padding-top: clamp(3.125rem, 1.1175053533rem + 10.7066381156vw, 6.25rem);
  }
}

.challenging__img {
  margin-top: 75px;
}
@media only screen and (max-width: 767px) {
  .challenging__img {
    display: none;
  }
}
.challenging__img svg .circle-animation {
  opacity: 0;
  transform: translateY(100px);
  animation: topCircleFadeIn 0.6s ease-out forwards;
}
.challenging__img svg .circle-1 {
  animation-delay: 3.5s;
}
.challenging__img svg .circle-2 {
  animation-delay: 3.9s;
}
.challenging__img svg .circle-3 {
  animation-delay: 4.3s;
}
.challenging__img svg .circle-4 {
  animation-delay: 4.7s;
}
.challenging__img svg .circle-5 {
  animation-delay: 5.1s;
}
.challenging__img svg .top-circle-animation {
  opacity: 0;
  transform: translateY(100px);
  animation: topCircleFadeIn 0.6s ease-out forwards;
}
.challenging__img svg .top-circle-1 {
  animation-delay: 1s;
}
.challenging__img svg .top-circle-2 {
  animation-delay: 1.4s;
}
.challenging__img svg .top-circle-3 {
  animation-delay: 1.8s;
}
.challenging__img svg .top-circle-4 {
  animation-delay: 0.6s;
}
.challenging__img svg .down-arrow {
  position: relative;
}
.challenging__img svg .down-arrow::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 55px;
  height: 0;
  background: #328479;
  z-index: -1;
  transform: translateX(-50%);
  opacity: 0;
  transition: height 1.5s ease-out, opacity 1.5s ease-out;
}
.challenging__img svg .down-arrow::after {
  content: "";
  position: absolute;
  top: calc(100% + 40px);
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 40px 60px 0 60px;
  border-color: #328479 transparent transparent transparent;
  transform: translateX(-50%) scaleY(0);
  transform-origin: top center;
  opacity: 0;
  transition: transform 1.5s ease-out, opacity 1.5s ease-out;
  transition-delay: 1.5s;
}
.challenging__img svg .down-arrow.move::before {
  height: calc(100% + 40px);
  opacity: 1;
}
.challenging__img svg .down-arrow.move::after {
  transform: translateX(-50%) scaleY(1);
  opacity: 1;
}
.challenging__img2 {
  display: none;
}
@media only screen and (max-width: 767px) {
  .challenging__img2 {
    margin-top: clamp(2.1875rem, 0.5815042827rem + 8.5653104925vw, 4.6875rem);
    display: block;
  }
}

@keyframes circleAppear {
  0% {
    opacity: 0;
    transform: scale(0.3) translateY(150px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
@keyframes topCircleFadeIn {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.arrow-path {
  stroke-dasharray: 2300; /* ←ここを正しいパスの長さに */
  stroke-dashoffset: 2300;
  animation: draw-line 2s ease-out forwards;
}

@keyframes draw-line {
  to {
    stroke-dashoffset: 0;
  }
}
.arrow-head {
  opacity: 0;
  animation: fade-in 0.5s ease-out forwards;
  animation-delay: 2s; /* 線を描いた後に表示 */
}

@keyframes fade-in {
  to {
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  .interview {
    padding: 50px 0 !important;
  }
}
.interview__lists ul {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 40px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .interview__lists ul {
    gap: 3%;
    row-gap: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .interview__lists ul {
    display: block;
  }
}
.interview__lists ul li {
  width: calc((100% - 80px) / 2);
  background-color: #fff;
  padding: 30px;
  border-radius: 10px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .interview__lists ul li {
    width: 48.5%;
    padding: clamp(0.9375rem, -1.2218468468rem + 4.5045045045vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .interview__lists ul li {
    width: 3%;
    padding: clamp(0.9375rem, 0.335251606rem + 3.2119914347vw, 1.875rem);
    margin-bottom: 1%;
  }
  .interview__lists ul li:last-child {
    margin-bottom: 0;
  }
}
.interview__lists ul li .fit-img {
  overflow: hidden;
  border-radius: 10px;
}
.interview__lists ul li img {
  transition: transform 0.5s ease;
  border-radius: 10px;
}
.interview__lists ul li p {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 30px;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .interview__lists ul li p {
    font-size: clamp(0.625rem, 0.3370870871rem + 0.6006006006vw, 0.75rem);
    margin-top: clamp(0.5rem, -0.5076951952rem + 2.1021021021vw, 0.9375rem);
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .interview__lists ul li p {
    font-size: clamp(0.875rem, 0.7310435435rem + 0.3003003003vw, 0.9375rem);
    margin-top: clamp(0.9375rem, -1.2218468468rem + 4.5045045045vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .interview__lists ul li p {
    font-size: clamp(1rem, 0.8394004283rem + 0.8565310493vw, 1.25rem);
    margin-top: clamp(0.9375rem, 0.335251606rem + 3.2119914347vw, 1.875rem);
  }
}
.interview__txtSmall {
  font-size: 16px;
  font-weight: 500 !important;
  letter-spacing: 3px;
  margin-top: 20px !important;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .interview__txtSmall {
    font-size: clamp(0.875rem, 0.7310435435rem + 0.3003003003vw, 0.9375rem);
  }
}
.interview__txtSmall span {
  font-size: 14px;
  margin-right: 10px;
}
.interview__img {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}
.interview__img .fit-img img {
  aspect-ratio: 16/9;
  object-fit: cover;
}
.interview__img .fit-img:hover img {
  transform: scale(1.1); /* 画像を10%拡大 */
}
.interview__imgTxt {
  position: absolute;
  top: 10%;
  left: 3%;
}
.interview__imgTxt .imgTxt-label {
  font-size: 16px;
  color: #2b7c73;
  background-color: #d7f5a3;
  margin-top: 0;
  max-width: 120px;
  text-align: center;
  padding: 2px 0px;
  letter-spacing: 2px;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .interview__imgTxt .imgTxt-label {
    font-size: clamp(0.625rem, 0.3370870871rem + 0.6006006006vw, 0.75rem);
    max-width: 100px;
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .interview__imgTxt .imgTxt-label {
    font-size: clamp(0.5rem, 0.3560435435rem + 0.3003003003vw, 0.5625rem);
    max-width: 75px;
    letter-spacing: 1px;
  }
}
@media only screen and (max-width: 767px) {
  .interview__imgTxt .imgTxt-label {
    font-size: clamp(0.6875rem, 0.4867505353rem + 1.0706638116vw, 1rem);
    max-width: 110px;
    text-align: center;
    padding: 3px 0;
  }
}
.interview__imgTxt .imgTxt-ttl {
  font-size: 16px;
  letter-spacing: 1px;
  margin-top: 20px;
  line-height: 35px;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .interview__imgTxt .imgTxt-ttl {
    font-size: clamp(0.625rem, 0.3370870871rem + 0.6006006006vw, 0.75rem);
    margin-top: clamp(0.5rem, -0.5076951952rem + 2.1021021021vw, 0.9375rem);
    line-height: clamp(1.375rem, 0.9431306306rem + 0.9009009009vw, 1.5625rem);
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .interview__imgTxt .imgTxt-ttl {
    font-size: clamp(0.5rem, 0.3560435435rem + 0.3003003003vw, 0.5625rem);
    margin-top: clamp(0.3125rem, -1.1270645646rem + 3.003003003vw, 0.9375rem);
    line-height: clamp(1rem, 0.4241741742rem + 1.2012012012vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .interview__imgTxt .imgTxt-ttl {
    font-size: clamp(0.6875rem, 0.4867505353rem + 1.0706638116vw, 1rem);
    margin-top: clamp(0.9375rem, 0.335251606rem + 3.2119914347vw, 1.875rem);
    line-height: clamp(1.5625rem, 0.7595021413rem + 4.2826552463vw, 2.8125rem);
  }
}
.interview__imgTxt .imgTxt-ttl span {
  background-color: #fff;
}
.interview__btn {
  margin-top: 90px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .interview__btn {
    margin-top: clamp(3.75rem, -0.5686936937rem + 9.009009009vw, 5.625rem);
  }
}
@media only screen and (max-width: 767px) {
  .interview__btn {
    margin-top: clamp(2.5rem, 1.6970021413rem + 4.2826552463vw, 3.75rem);
  }
}
.interview__btn a {
  margin-left: auto;
  margin-right: auto;
}
.interview__nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 10px;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .interview__nav {
    display: flex;
  }
}
.interview__nav button,
.interview__nav .counter {
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-family: "SourceHanSansJP", serif;
}
.interview__nav button {
  background: #fff;
  border: 1px solid #333333;
  color: #333333;
  border-radius: 22px;
  font-size: 16px;
  padding: 10px 15px;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .interview__nav button {
    appearance: none; /* モバイル特有のボタン装飾をオフに */
    -webkit-appearance: none;
    font-size: clamp(0.8125rem, 0.5314507495rem + 1.4989293362vw, 1.25rem);
  }
}
.interview__nav .counter {
  font-size: 25px;
  letter-spacing: 10px;
}
@media only screen and (max-width: 767px) {
  .interview__nav .counter {
    font-size: clamp(1.25rem, 1.0492505353rem + 1.0706638116vw, 1.5625rem);
    letter-spacing: clamp(0.3125rem, 0.1117505353rem + 1.0706638116vw, 0.625rem);
  }
}
.interview__nav .counter .current {
  line-height: 1;
}
.interview__nav .counter .total {
  line-height: 1;
}
.interview .slick-dots {
  position: absolute;
  bottom: -40px;
  display: block;
  width: 85%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  white-space: nowrap;
}
.interview .slick-dots li {
  position: relative;
  display: inline-block;
  margin: 0 10px;
  padding: 0;
  cursor: pointer;
  background-color: transparent !important;
}
.interview .slick-dots li button:before {
  font-size: 60px;
  color: #5abda1;
  opacity: 1;
  content: "・";
}
.interview .slick-dots li.slick-active button:before {
  color: #2b7c73;
}

.slider-wrap {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .slider-wrap {
    width: 93%;
    margin: auto;
  }
}

.culture {
  margin: 50px 0;
}
@media only screen and (max-width: 767px) {
  .culture {
    margin: 0;
  }
}
.culture_catchPhrase-inner {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .culture_catchPhrase-inner {
    flex-direction: column-reverse;
  }
}
@media only screen and (max-width: 767px) {
  .culture_catchPhrase-inner {
    flex-direction: column-reverse;
  }
}
.culture_catchPhrase-imageArea {
  width: 50vw; /* 画面の左半分を画像に */
  margin-left: calc(-50vw + 50%); /* innerの左端からはみ出して画面端まで表示 */
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .culture_catchPhrase-imageArea {
    width: 100vw;
    margin-left: calc(-50vw + 40%);
  }
}
@media only screen and (max-width: 767px) {
  .culture_catchPhrase-imageArea {
    width: 100vw;
    margin-left: calc(-50vw + 44.5%);
  }
}
.culture_catchPhrase-imageArea img {
  width: 100%;
  display: block;
  border-radius: 10px;
}
.culture_catchPhrase-textArea {
  width: 50%;
  padding-left: 100px;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .culture_catchPhrase-textArea {
    width: 100%;
    padding-left: 0;
    padding-bottom: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .culture_catchPhrase-textArea {
    width: 100%;
    padding-left: 0;
    padding-bottom: 20px;
  }
}
.culture_catchPhrase-textArea p {
  font-size: 50px;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .culture_catchPhrase-textArea p {
    font-size: clamp(2.125rem, 1.2612612613rem + 1.8018018018vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .culture_catchPhrase-textArea p {
    font-size: clamp(1.25rem, 0.6879014989rem + 2.9978586724vw, 2.125rem);
  }
}
.culture_box {
  display: flex;
  gap: 4%;
  margin-top: 180px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .culture_box {
    margin-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .culture_box {
    margin-top: 40px;
  }
}
.culture_verticalText {
  transform: rotate(360deg);
  color: #333333;
  text-align: left;
  writing-mode: vertical-lr;
  width: 10%;
  padding-top: 10px;
  position: sticky;
  top: 110px;
  background: #fff;
  z-index: 10;
  max-height: fit-content;
  letter-spacing: normal;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .culture_verticalText {
    width: 15%;
  }
}
@media only screen and (max-width: 767px) {
  .culture_verticalText {
    width: 15%;
    padding-top: 5px;
  }
}
.culture_verticalText .jp {
  line-height: 26px;
  font-size: 20px;
  padding-left: 10px;
  font-weight: 400;
  letter-spacing: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .culture_verticalText .jp {
    font-size: clamp(1rem, 0.7120870871rem + 0.6006006006vw, 1.125rem);
  }
}
@media only screen and (max-width: 767px) {
  .culture_verticalText .jp {
    font-size: 14px;
    padding-left: 0;
    line-height: 1;
    padding-left: 5px;
  }
}
.culture_verticalText .en {
  border-right: 1px solid #333333;
  font-family: "enfont", serif;
  font-size: 30px;
}
@media only screen and (max-width: 767px) {
  .culture_verticalText .en {
    font-size: 18px;
    display: flex;
    line-height: 1;
    padding-right: 5px;
  }
}
.culture_contents {
  display: flex;
  flex-direction: column;
}
.culture_contents_txt {
  margin-bottom: 50px;
}
.culture_content {
  width: 100%;
  max-width: 1270px;
  border: 1px solid #333333;
  border-radius: 30px;
  padding: 60px 60px 60px 70px;
  margin-bottom: 30px;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .culture_content {
    padding: clamp(3.125rem, 0.1358695652rem + 4.347826087vw, 3.75rem) clamp(2.5rem, -3.4782608696rem + 8.6956521739vw, 3.75rem);
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .culture_content {
    padding: clamp(1.875rem, -1.0041291291rem + 6.006006006vw, 3.125rem) clamp(1.25rem, -1.6291291291rem + 6.006006006vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .culture_content {
    border-radius: clamp(0.9375rem, 0.335251606rem + 3.2119914347vw, 1.875rem);
    padding: 30px 20px;
  }
}
.culture_content:last-child {
  margin-bottom: 0;
}
.culture_content_img {
  width: 100%;
}
.culture_content-up {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .culture_content-up {
    padding-bottom: 20px;
  }
}
.culture_content-up .number {
  font-size: 32px;
  font-weight: 700;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .culture_content-up .number {
    width: 50%;
  }
}
.culture_content-up .number p {
  display: inline-block;
  font-size: 70px;
  line-height: 1;
  background: linear-gradient(150deg, #2b7e77, #aee59f);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media only screen and (max-width: 767px) {
  .culture_content-up .number p {
    font-size: 9.13vw;
    line-height: 1.3;
  }
}
.culture_content-up .fit-img {
  width: 30%;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .culture_content-up .fit-img {
    width: 35%;
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .culture_content-up .fit-img {
    width: 40%;
  }
}
@media only screen and (max-width: 767px) {
  .culture_content-up .fit-img {
    width: 45%;
  }
}
.culture_content-up .fit-img img {
  border-radius: 20px;
  margin-left: 30%;
  width: 70%;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .culture_content-up .fit-img img {
    margin-left: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .culture_content-up .fit-img img {
    border-radius: clamp(0.625rem, 0.2235010707rem + 2.1413276231vw, 1.25rem);
    margin-left: 0%;
    width: 100%;
  }
}
.culture_content-ttl {
  margin-left: 10px;
}
.culture_content_ttl h3 {
  font-family: "SourceHanSansJP", serif;
}
.culture_content-btm {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .culture_content-btm {
    margin-top: 0;
  }
}
.culture h3 {
  font-size: 25px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .culture h3 {
    font-size: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .culture h3 {
    font-size: max(11px, 3.65vw);
    line-height: 1.35;
    letter-spacing: 0.01em;
  }
}

.culter-career {
  border-top: 1px solid #e8e8e8;
}
.culter-career_img {
  width: 100%;
  display: none;
}
@media only screen and (max-width: 767px) {
  .culter-career_img {
    margin-top: 40px;
    display: block;
  }
}
.culter-career_img img {
  width: 100%;
}

.career {
  padding: 50px 0 0 0;
  margin-top: 0;
}
@media only screen and (max-width: 767px) {
  .career {
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  .career .culture_verticalText {
    position: sticky;
    top: 110px;
  }
}
.career_content {
  display: flex;
  flex-direction: column;
}
.career_txt {
  width: 100%;
}
.career_img {
  width: 100%;
  padding-top: 70px;
}
@media only screen and (max-width: 767px) {
  .career_img {
    display: none;
  }
}
.career_btn {
  width: 100%;
  margin: 120px 0;
}
@media only screen and (max-width: 767px) {
  .career_btn {
    margin: 70px 0 50px;
  }
}
.career_btn a {
  margin-left: auto;
  margin-right: auto;
}

#interview .modal {
  display: none;
  position: fixed;
  z-index: 100000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
}

#interview .modal-content {
  position: relative;
  margin: 10% auto;
  width: 80%;
  max-width: 800px;
  background: #000;
  border-radius: 10px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  #interview .modal-content {
    margin: 50% auto 0;
  }
}

#interview .modal video {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

#interview .close {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 30px;
  color: #fff;
  cursor: pointer;
  z-index: 1000001;
}

.videoBtn:hover .interview__img img {
  transform: scale(1.1);
  transform: 0.3s;
}

.modalBtn:hover .interview__img img {
  transform: scale(1.1);
  transform: 0.3s;
}

.modaltxt {
  display: none;
  position: fixed;
  z-index: 100000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
}

.modaltxt-content {
  position: relative;
  margin: 5% auto;
  width: 80%;
  max-width: 800px;
  max-height: 80vh;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .modaltxt-content {
    width: 90%;
  }
}

.modaltxt-content-top {
  display: block;
  width: 100%;
  height: 65px;
  background-color: #fff;
}

.modaltxt-content-inner {
  padding: 0px 50px 10%;
  overflow: scroll;
  /* IE, Edge 対応 */
  -ms-overflow-style: none;
  /* Firefox 対応 */
  scrollbar-width: none;
  max-height: 80vh;
}
@media only screen and (max-width: 767px) {
  .modaltxt-content-inner {
    padding: 0px 20px 20%;
  }
}

.close02 {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 30px;
  color: #333333;
  cursor: pointer;
  z-index: 1000001;
}

.contact_contents {
  position: relative;
}
.contact_contents .contact-attention {
  position: absolute;
  top: 0;
  right: 0;
  color: #ff0000;
}
.contact_contents .label {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contact_contents .label {
    font-size: clamp(1.125rem, 0.8370870871rem + 0.6006006006vw, 1.25rem);
    margin-bottom: clamp(0.625rem, -0.0947822823rem + 1.5015015015vw, 0.9375rem);
  }
}
@media only screen and (max-width: 767px) {
  .contact_contents .label {
    font-size: clamp(1rem, 0.9197002141rem + 0.4282655246vw, 1.125rem);
    margin-bottom: clamp(0.625rem, 0.4242505353rem + 1.0706638116vw, 0.9375rem);
  }
}
.contact_contents .contact_item {
  margin-bottom: 45px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contact_contents .contact_item {
    margin-bottom: clamp(1.875rem, -0.2843468468rem + 4.5045045045vw, 2.8125rem);
  }
}
@media only screen and (max-width: 767px) {
  .contact_contents .contact_item {
    margin-bottom: clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
  }
}
.contact_contents .contact_item .-checkbox {
  display: flex;
  flex-direction: column;
  line-height: 1.5;
}
.contact_contents .contact_item .-checkbox label {
  margin-bottom: 3px;
}
.contact_contents .contact_item .-radio {
  display: flex;
  flex-direction: column;
  line-height: 1.5;
}
.contact_contents .contact_item .-radio label {
  margin-bottom: 3px;
}
.contact_contents .contact_item .conf {
  background: #f8f8f8;
  border-radius: 10px;
  padding: 25px 40px;
  line-height: 1.3;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contact_contents .contact_item .conf {
    padding: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem) clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .contact_contents .contact_item .conf {
    padding: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem) clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
    border-radius: 5px;
  }
}
.contact-privacy {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .contact-privacy {
    margin-top: clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
  }
}
.contact-privacy > label {
  gap: 5px;
  line-height: 1;
  font-size: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contact-privacy > label {
    font-size: clamp(1.125rem, 0.8370870871rem + 0.6006006006vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .contact-privacy > label {
    font-size: clamp(1rem, 0.9197002141rem + 0.4282655246vw, 1.125rem);
  }
}
.contact-privacy a {
  color: #328479;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.contact-privacy a:hover {
  text-decoration: none;
}
.contact.-conf .contact_item {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #e8e8e8;
}
.contact-btn {
  margin-top: 60px;
  margin-left: auto;
  margin-right: auto;
  font-size: 20px;
  color: #fff;
  background-color: #333333;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  max-width: 390px;
}
@media only screen and (max-width: 767px) {
  .contact-btn {
    border-radius: 5px;
  }
}
.contact-btn.-isArrow {
  position: relative;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contact-btn.-isArrow {
    padding-right: 5px;
  }
}
.contact-btn.-isArrow:hover .arrow-block {
  left: 88%;
  transition: 0.3s;
}
.contact-btn.-isArrow .arrow-block {
  position: absolute;
  top: 50%;
  left: 85%;
  transform: translateY(-50%);
  transition: 0.3s;
  line-height: 1;
}
.contact-btn.-isArrow .arrow {
  position: relative;
}
.contact-btn.-isArrow .arrow::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  transition: 0.3s ease-in;
  transform: rotate(45deg) translate(-50%, -50%);
  top: 50%;
  left: 2.5px;
}
.contact-btn input {
  color: #fff;
  width: 100%;
  font-size: 20px;
  padding: 30px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contact-btn input {
    font-size: clamp(1rem, 0.4241741742rem + 1.2012012012vw, 1.25rem);
    padding: clamp(1.5625rem, 0.8427177177rem + 1.5015015015vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .contact-btn input {
    font-size: clamp(0.875rem, 0.7947002141rem + 0.4282655246vw, 1rem);
    padding: clamp(1.5625rem, 1.3617505353rem + 1.0706638116vw, 1.875rem);
  }
}
.contact-back {
  margin-top: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contact-back {
    margin-top: clamp(0.9375rem, 0.2177177177rem + 1.5015015015vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .contact-back {
    margin-top: clamp(0.625rem, 0.4242505353rem + 1.0706638116vw, 0.9375rem);
  }
}

.form input[type=text] {
  background: #f8f8f8;
  border-radius: 10px;
  padding: 25px 40px;
  line-height: 1.3;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .form input[type=text] {
    padding: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem) clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .form input[type=text] {
    padding: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem) clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
    border-radius: 5px;
  }
}
.form input[type=email] {
  background: #f8f8f8;
  border-radius: 10px;
  padding: 25px 40px;
  line-height: 1.3;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .form input[type=email] {
    padding: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem) clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .form input[type=email] {
    padding: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem) clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
    border-radius: 5px;
  }
}
.form input[type=checkbox] {
  margin-right: 5px;
}
.form input[type=radio] {
  margin-right: 5px;
}
.form select {
  background: #f8f8f8;
  border-radius: 10px;
  padding: 25px 40px;
  line-height: 1.3;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .form select {
    padding: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem) clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .form select {
    padding: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem) clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
    border-radius: 5px;
  }
}
.form textarea {
  background: #f8f8f8;
  border-radius: 10px;
  padding: 25px 40px;
  line-height: 1.5;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .form textarea {
    padding: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem) clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .form textarea {
    padding: clamp(0.9375rem, 0.7367505353rem + 1.0706638116vw, 1.25rem) clamp(1.25rem, 0.8485010707rem + 2.1413276231vw, 1.875rem);
    border-radius: 5px;
  }
}
.form input::placeholder {
  color: #bdbcbc;
  font-weight: 500;
}
.form select {
  font-weight: 400;
  -webkit-appearance: none;
  appearance: none; /* デフォルトの矢印を非表示 */
  position: relative;
}
.form select::-ms-expand {
  display: none; /* デフォルトの矢印を非表示(IE用) */
}
.form .container {
  position: relative;
}
.form .container::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 1px #afadad;
  border-right: solid 1px #afadad;
  transition: 0.3s ease-in;
  transform: rotate(135deg) translate(-50%, -50%);
  top: calc(50% - 5px);
  right: 30px;
}
.form #contact_category {
  cursor: pointer;
}

.max-width {
  width: 100%;
}

.mid-width {
  width: 100%;
  max-width: 300px;
}

.min-width {
  width: 60%;
  max-width: 170px;
}

.required {
  color: #ff0000;
  padding-left: 5px;
}

.error-message {
  display: none;
  color: #ff0000;
}

.sp-br {
  display: none;
}
@media only screen and (max-width: 767px) {
  .sp-br {
    display: block;
  }
}

#challenging {
  scroll-margin-top: 100px; /* ヘッダーの高さに応じて調整 */
}
@media only screen and (max-width: 767px) {
  #challenging {
    scroll-margin-top: 80px; /* ヘッダーの高さに応じて調整 */
  }
}

@media only screen and (max-width: 767px) {
  .p-manager.pageSectionFirst {
    padding: clamp(2.1875rem, 1.7860010707rem + 2.1413276231vw, 2.8125rem) 0;
  }
}
.p-manager .commonInner {
  position: relative;
}
.p-manager_img {
  width: 500px;
  border-radius: 10px;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 1100px) {
  .p-manager_img {
    width: 43.5vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-manager_img {
    position: inherit;
    width: 100%;
    margin-bottom: 20px;
  }
}
.p-manager_img img {
  object-fit: cover;
  aspect-ratio: 22/13;
  height: auto;
  border-radius: 10px;
}
.p-manager_ttl {
  width: 100%;
  padding-bottom: 80px;
  font-size: 25px;
}
@media screen and (max-width: 1100px) {
  .p-manager_ttl {
    font-size: clamp(1.125rem, 0.1173048048rem + 2.1021021021vw, 1.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-manager_ttl {
    padding-bottom: 0;
    font-size: 18px;
  }
}
.p-manager_ttl p {
  font-weight: 700;
}
.p-manager_table {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .p-manager_table {
    padding-top: 20px;
  }
}
.p-manager_table table {
  width: 100%;
}
.p-manager_table tr {
  width: 100%;
  text-align: left;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .p-manager_table tr {
    flex-direction: column;
  }
}
.p-manager_table th {
  font-size: 16px;
  width: 19%;
  color: #328479;
  border-bottom: 1px solid #328479;
  padding: 20px 0;
  vertical-align: top;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .p-manager_table th {
    font-size: 14px;
    width: 100%;
    padding: 0;
  }
}
.p-manager_table td {
  font-size: 16px;
  width: 80%;
  padding: 20px 0;
  border-bottom: 1px solid #e8e8e8;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .p-manager_table td {
    font-size: 14px;
    width: 100%;
    border-bottom: none;
    padding: 10px 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .p-manager_table td:last-child {
    padding-bottom: 0;
  }
}
.p-manager .recruit-table_caution {
  padding-top: 20px;
  padding-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  .p-manager .recruit-table_caution {
    padding-bottom: 20px;
  }
}

.p-about_definition {
  width: 100%;
  padding-top: 140px;
}
@media only screen and (max-width: 767px) {
  .p-about_definition {
    padding-top: 40px;
  }
}
.p-about_definition_ttl {
  text-align: center;
  font-weight: 700;
  font-size: 25px;
}
@media only screen and (max-width: 767px) {
  .p-about_definition_ttl {
    padding-top: 18px;
  }
}
.p-about_definition_ttl p {
  border-bottom: 1px solid #333333;
  display: inline-block;
}
.p-about_definition_circle {
  width: 100%;
}
.p-about_definition_circle ul {
  display: flex;
  gap: 20px; /* 間隔を空けたいとき */
  justify-content: center;
  padding: 0;
  list-style: none;
  padding: 80px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .p-about_definition_circle ul {
    gap: clamp(0.625rem, -0.8145645646rem + 3.003003003vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-about_definition_circle ul {
    justify-content: center;
    flex-wrap: wrap;
    padding: 40px 0;
    gap: clamp(0.3125rem, 0.1117505353rem + 1.0706638116vw, 0.625rem);
  }
}
.p-about_definition_circle li {
  width: calc((100% - 80px) / 5);
  height: auto;
  aspect-ratio: 1/1;
  max-width: 200px;
  max-height: 200px;
  border: 1px solid #333333;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 25px;
  text-align: center;
  font-weight: 700;
  /* グラデーションテキスト */
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .p-about_definition_circle li {
    width: calc(100% - clamp(2.5rem, -3.2582582583rem + 12.012012012vw, 5rem) / 5);
    font-size: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-about_definition_circle li {
    height: clamp(4.6875rem, 1.67625803rem + 16.0599571734vw, 9.375rem);
    width: clamp(4.6875rem, 1.67625803rem + 16.0599571734vw, 9.375rem);
    font-size: clamp(0.75rem, 0.5091006424rem + 1.2847965739vw, 1.125rem);
  }
}
.p-about_definition_circle li p {
  background: linear-gradient(-450deg, #aee59f, #2b7e77);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media only screen and (max-width: 767px) {
  .p-about_definition_circle li:nth-child(-n+3) {
    /* 上3個 */
    order: 1;
  }
}
@media only screen and (max-width: 767px) {
  .p-about_definition_circle li:nth-child(n+4) {
    /* 下2個 */
    order: 2;
  }
}
.p-about_definition p {
  text-align: center;
  font-weight: 700;
}
.p-about_definition_btn {
  width: 100%;
  padding: 100px 0;
}
@media only screen and (max-width: 767px) {
  .p-about_definition_btn {
    padding: 50px 0 0 0;
  }
}
.p-about_definition_btn a {
  width: 90%;
  margin: auto;
}

.p-recruiting {
  width: 100%;
  padding-top: 100px;
}
.p-recruiting_btn {
  padding: 20px 0;
}
@media only screen and (max-width: 767px) {
  .p-recruiting_btn {
    padding: 20px 0 0 0;
  }
}
.p-recruiting_btn a {
  width: 90%;
  margin: auto;
}

.p-other-recruit {
  padding-top: 100px;
}
@media only screen and (max-width: 767px) {
  .p-other-recruit {
    padding-top: 50px;
  }
}
.p-other-recruit_ttl {
  text-align: center;
}
.p-other-recruit_ttl h3 {
  font-weight: 700;
}
.p-other-recruit_box {
  width: 100%;
}
.p-other-recruit_box ul {
  display: flex;
  flex-wrap: wrap;
  padding: 80px 0 0;
  gap: 1%;
}
@media only screen and (max-width: 767px) {
  .p-other-recruit_box ul {
    padding: 40px 0 0;
    flex-direction: column;
  }
}
.p-other-recruit_box li {
  width: 19.2%;
}
@media only screen and (max-width: 767px) {
  .p-other-recruit_box li {
    width: 100%;
    padding-bottom: 20px;
  }
}
.p-other-recruit_box li .fit-img img {
  border-radius: 10px;
  aspect-ratio: 21/16;
  object-fit: cover;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .p-other-recruit_box li .fit-img img {
    aspect-ratio: 205/121;
  }
}
.p-other-recruit_box li p {
  color: #328479;
  padding-top: 10px;
  text-align: center;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .p-other-recruit_box li:last-child {
    padding-bottom: 0;
  }
}
.p-other-recruit .pc-img {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .p-other-recruit .pc-img {
    display: none;
  }
}
.p-other-recruit .sp-img {
  display: none;
}
@media only screen and (max-width: 767px) {
  .p-other-recruit .sp-img {
    display: block;
  }
}

.attempt_ttl {
  display: flex;
  flex-direction: column;
  padding-bottom: 20px;
  margin-bottom: 65px;
  border-bottom: 1px solid #e8e8e8;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .attempt_ttl {
    padding-bottom: 10px;
    margin-bottom: 30px;
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .attempt_ttl {
    padding-bottom: 0;
    margin-bottom: 20px;
    flex-direction: column;
  }
}
.attempt h3 {
  margin-left: 10px;
  line-height: 1.3;
}
@media only screen and (max-width: 767px) {
  .attempt h3 {
    margin-left: 0;
  }
}
.attempt_label {
  display: flex;
  width: 100%;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .attempt_label {
    display: block;
  }
}
.attempt_content p {
  font-size: 16px;
  line-height: 1.875;
  font-weight: 400;
  letter-spacing: 0.5px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .attempt_content p {
    font-size: clamp(0.75rem, 0.1741741742rem + 1.2012012012vw, 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .attempt_content p {
    font-size: 14px;
  }
}
.attempt_content .fit-img img {
  object-fit: cover;
}
.attempt_contentTxt {
  margin-top: 40px;
}
.attempt_page {
  text-align: center;
  margin: 100px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .attempt_page {
    margin: 50px 0;
  }
}
@media only screen and (max-width: 767px) {
  .attempt_page {
    margin: 50px 0;
  }
}

.info-col02 {
  display: flex;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .info-col02 {
    flex-direction: column-reverse;
  }
}
.info-col02 .-left-side {
  position: sticky;
  top: 100px;
  left: 0;
  width: 30%;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .info-col02 .-left-side {
    position: static;
    width: 100%;
  }
}
.info-col02 .-right-side {
  width: 70%;
}
@media only screen and (max-width: 767px) {
  .info-col02 .-right-side {
    width: 100%;
  }
}

.cat-aside {
  padding-right: 35%;
}
@media only screen and (max-width: 767px) {
  .cat-aside {
    padding-right: 0;
    margin-top: 50px;
  }
}
.cat-aside_item {
  margin-bottom: 45px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .cat-aside_item {
    margin-bottom: 4.0909090909vw;
  }
}
.cat-aside_item h6 {
  display: flex;
  flex-direction: column;
  letter-spacing: -0.02em;
  font-weight: 700;
  line-height: 1;
  gap: 7px;
}
.cat-aside_item_list {
  margin-top: 35px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .cat-aside_item_list {
    margin-top: 3.1818181818vw;
  }
}
@media only screen and (max-width: 767px) {
  .cat-aside_item_list {
    margin-top: 15px;
    max-width: 330px;
    width: 100%;
  }
}
.cat-aside_item_list li {
  padding: 10px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .cat-aside_item_list li {
    padding: 0.9090909091vw 0;
  }
}
@media only screen and (max-width: 767px) {
  .cat-aside_item_list li {
    padding: 5px 0;
  }
}
.cat-aside_item_list li:not(:last-child) {
  border-bottom: 1px solid #2b7c73;
}
.cat-aside_item_list li a {
  position: relative;
  display: block;
  width: 100%;
}
.cat-aside_item_list li a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 15px;
  height: 1px;
  background: #f0f0f0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .cat-aside_item_list li a::before {
    width: clamp(0.625rem, -0.0947822823rem + 1.5015015015vw, 0.9375rem);
  }
}
.cat-aside_item_list li a::after {
  content: "";
  position: absolute;
  display: inline-block;
  top: 46%;
  right: 3px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #f0f0f0;
  border-right: 1px solid #f0f0f0;
  transform: rotate(45deg) translateY(-50%);
}

.info-archive_list li {
  margin-bottom: 30px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .info-archive_list li {
    margin-bottom: 2.7272727273vw;
  }
}
.info-archive_list li a img {
  transition: transform 0.3s ease-in-out;
  transform: scale(1);
}
.info-archive_list li a:hover img {
  transform: scale(1.1);
}
.info-archive_list_img {
  width: 30%;
  aspect-ratio: 28/15;
  overflow: hidden;
}
.info-archive_list_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 767px) {
  .info-archive_list_img {
    width: 100%;
  }
}
.info-archive_list_txt {
  width: 70%;
  padding-left: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .info-archive_list_txt {
    padding-left: 1.8181818182vw;
  }
}
@media only screen and (max-width: 767px) {
  .info-archive_list_txt {
    width: 100%;
    padding-left: 0;
    margin-top: 5px;
  }
}
.info-archive_list_txt .date {
  line-height: 1;
}
.info-archive_list_txt .cat {
  display: inline-block;
  line-height: 1;
  color: #fff;
  padding: 4px 20px;
  background: #f8f8f8;
  margin-left: 15px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .info-archive_list_txt .cat {
    margin-left: 1.3636363636vw;
  }
}
.info-archive_list_txt h1 {
  line-height: 1.5;
  margin-top: 15px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .info-archive_list_txt h1 {
    margin-top: 1.3636363636vw;
  }
}
@media only screen and (max-width: 767px) {
  .info-archive_list_txt h1 {
    margin-top: 5px;
  }
}

.contents {
  margin-bottom: 50px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contents {
    margin-bottom: 4.5454545455vw;
  }
}
@media only screen and (max-width: 767px) {
  .contents {
    margin-bottom: 20px;
  }
}
.contents p {
  margin: 10px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contents p {
    margin: 0.9090909091vw 0;
  }
}
.contents img {
  max-width: 100%;
}
.contents h1 {
  margin: 10px 0;
  font-size: 26px;
  color: #328479;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contents h1 {
    margin: 0.9090909091vw 0;
    font-size: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .contents h1 {
    font-size: clamp(1.375rem, 0.9431306306rem + 0.9009009009vw, 1.5625rem);
  }
}
.contents h2 {
  position: relative;
  margin: 10px 0;
  font-size: 24px;
  background: #e8e8e8;
  padding-left: 20px;
  padding-right: 10px;
}
.contents h2::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: #328479;
  line-height: 1.4;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contents h2 {
    margin: 0.9090909091vw 0;
    font-size: clamp(1.25rem, 0.6741741742rem + 1.2012012012vw, 1.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .contents h2 {
    font-size: clamp(1.25rem, 0.6741741742rem + 1.2012012012vw, 1.5rem);
  }
}
.contents h3 {
  position: relative;
  margin: 10px 0;
  font-size: 20px;
  padding-left: 20px;
}
.contents h3::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: #328479;
  line-height: 1.4;
  border-radius: 5px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contents h3 {
    margin: 0.9090909091vw 0;
    font-size: clamp(1rem, 0.4241741742rem + 1.2012012012vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .contents h3 {
    font-size: clamp(1.125rem, 0.8370870871rem + 0.6006006006vw, 1.25rem);
  }
}
.contents h4 {
  position: relative;
  margin: 10px 0;
  font-size: 20px;
  color: #328479;
  border-bottom: 1px solid #e8e8e8;
}
.contents h4::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 150px;
  height: 1px;
  background: #328479;
  line-height: 1.4;
  border-radius: 5px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contents h4 {
    margin: 0.9090909091vw 0;
    font-size: clamp(1rem, 0.4241741742rem + 1.2012012012vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .contents h4 {
    font-size: clamp(1.125rem, 0.8370870871rem + 0.6006006006vw, 1.25rem);
  }
}
.contents h5 {
  font-size: 18px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contents h5 {
    font-size: clamp(0.875rem, 0.2991741742rem + 1.2012012012vw, 1.125rem);
  }
}
@media only screen and (max-width: 767px) {
  .contents h5 {
    font-size: clamp(1rem, 0.7120870871rem + 0.6006006006vw, 1.125rem);
  }
}
.contents h6 {
  font-size: 16px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contents h6 {
    font-size: clamp(0.75rem, 0.1741741742rem + 1.2012012012vw, 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .contents h6 {
    font-size: clamp(0.875rem, 0.5870870871rem + 0.6006006006vw, 1rem);
  }
}
.contents ul {
  margin: 5px 0;
  list-style: disc;
  padding-left: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contents ul {
    margin: 0.4545454545vw 0;
    padding-left: 1.8181818182vw;
  }
}
.contents ol {
  margin: 5px 0;
  padding-left: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contents ol {
    margin: 0.4545454545vw 0;
    padding-left: 1.8181818182vw;
  }
}

.privacy__block {
  margin-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  .privacy__block {
    margin-bottom: clamp(2.5rem, 0.8940042827rem + 8.5653104925vw, 5rem);
  }
}
.privacy__block:last-child {
  margin-bottom: 0;
}
.privacy-explain {
  margin-bottom: 40px;
}
.privacy-madeDay {
  text-align: right;
}
.privacy-name {
  margin-left: auto;
}
.privacy-ttl h1 {
  text-align: center;
  font-size: 48px;
  margin: 110px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .privacy-ttl h1 {
    font-size: clamp(2.25rem, 1.2282415631rem + 2.1314387211vw, 3rem);
    margin: 80px 0;
  }
}
@media screen and (max-width: 900px) {
  .privacy-ttl h1 {
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .privacy-ttl h1 {
    text-align: left;
    font-size: clamp(1.3125rem, 0.710251606rem + 3.2119914347vw, 2.25rem);
    margin: clamp(2.5rem, 0.8940042827rem + 8.5653104925vw, 5rem) 0 40px 0;
  }
}
.privacy-ttl .first-ttl {
  margin: 0 0 110px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .privacy-ttl .first-ttl {
    margin-bottom: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .privacy-ttl .first-ttl {
    margin-bottom: 40px;
  }
}
.privacy-img {
  width: 220px;
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .privacy-img {
    width: clamp(11.25rem, 9.6440042827rem + 8.5653104925vw, 13.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .privacy h2 {
    font-size: clamp(1.125rem, 0.4826017131rem + 3.426124197vw, 2.125rem);
  }
}
.privacy h3 {
  font-size: 16px;
  padding-top: 20px;
  font-weight: 400;
}
.privacy-list {
  margin-bottom: 20px;
}
.privacy-list:last-child {
  margin-bottom: 0;
}
.privacy-txt span {
  display: block;
  text-align: right;
}

.works-all {
  margin-bottom: 130px;
  max-width: 1400px;
  width: 95%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .works-all {
    width: 100%;
    margin-bottom: 50px;
  }
}
.works-all_txt {
  max-width: 47%;
  opacity: 0;
  transform: translateY(100px);
  transition: 0.3s ease-in;
}
@media only screen and (max-width: 767px) {
  .works-all_txt {
    width: 90%;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
.works-all_txt.up {
  opacity: 1;
  transform: translateY(0px);
  transition: 0.3s ease-in;
}
.works-all_txt h2 {
  font-size: 50px;
}
@media screen and (max-width: 1330px) {
  .works-all_txt h2 {
    font-size: 39px;
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .works-all_txt h2 {
    font-size: clamp(1.6875rem, -0.0399774775rem + 3.6036036036vw, 2.4375rem);
  }
}
@media only screen and (max-width: 767px) {
  .works-all_txt h2 {
    font-size: clamp(1.625rem, 0.3293918919rem + 2.7027027027vw, 2.1875rem);
  }
}
.works-all_img {
  width: 50%;
  min-width: 650px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .works-all_img {
    min-width: clamp(28.125rem, -0.6662912913rem + 60.0600600601vw, 40.625rem);
  }
}
@media only screen and (max-width: 767px) {
  .works-all_img {
    width: 100%;
    min-width: 0;
    overflow: auto;
  }
}

.relationship {
  margin-left: auto;
  margin-right: auto;
}
.relationship_contents {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 650px;
  height: 650px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship_contents {
    width: clamp(28.125rem, -0.6662912913rem + 60.0600600601vw, 40.625rem);
    height: clamp(28.125rem, -0.6662912913rem + 60.0600600601vw, 40.625rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship_contents {
    width: 100%;
    height: auto;
    padding-top: 40px;
    padding-bottom: 60px;
  }
}
@media only screen and (max-width: 480px) {
  .relationship_contents {
    width: 425px;
  }
}
.relationship_contents .relative {
  position: relative;
  width: 370px;
  height: 370px;
  margin-top: 100px;
  transform: translateY(100px);
  opacity: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship_contents .relative {
    width: clamp(15.625rem, -1.6497747748rem + 36.036036036vw, 23.125rem);
    height: clamp(15.625rem, -1.6497747748rem + 36.036036036vw, 23.125rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship_contents .relative {
    width: 250px;
    height: 250px;
  }
}
.relationship_contents .relative.move {
  opacity: 1;
  transform: translateY(0);
  transition: 0.3s;
}
.relationship_contents .relative.move .center {
  opacity: 1;
}
.relationship_contents .relative.move .center .title {
  opacity: 1;
  transform: translate(0);
}
.relationship_contents .relative.move .center-b01_svg {
  width: 375px;
  opacity: 1;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship_contents .relative.move .center-b01_svg {
    width: clamp(15.9375rem, -1.3372747748rem + 36.036036036vw, 23.4375rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship_contents .relative.move .center-b01_svg {
    width: 255px;
  }
}
.relationship_contents .relative.move .center-b01_circle {
  stroke: #4477b1;
  opacity: 1;
}
.relationship_contents .relative.move .center-b02_svg {
  width: 440px;
  opacity: 1;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship_contents .relative.move .center-b02_svg {
    width: clamp(18.125rem, -0.5893393393rem + 39.039039039vw, 26.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship_contents .relative.move .center-b02_svg {
    width: 290px;
  }
}
.relationship_contents .relative.move .center-b02_circle {
  stroke: #375f8c;
  opacity: 1;
}
.relationship_contents .relative.move .sub-circle .title {
  opacity: 1;
}
.relationship_contents .relative.move .sub-circle .list {
  opacity: 1;
}
.relationship_contents .relative.move .kazai {
  opacity: 1;
}
.relationship_contents .relative.move .kazai::before {
  opacity: 1;
}
.relationship_contents .relative.move .hudosan {
  opacity: 1;
}
.relationship_contents .relative.move .hudosan::before {
  opacity: 1;
}
.relationship_contents .relative.move .kentiku {
  opacity: 1;
}
.relationship_contents .relative.move .kentiku::before {
  opacity: 1;
}
.relationship .center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 50%;
  z-index: -2;
  transition: 0.2s ease-in;
  transition-delay: 0.1s;
  opacity: 0;
}
.relationship .center .title {
  text-align: center;
  line-height: 1.5;
  opacity: 0;
  transform: translateY(50px);
  transition: 0.7s ease-in;
  transition-delay: 0.7s;
}
.relationship .center .title_en {
  font-weight: bold;
  font-size: 50px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .center .title_en {
    font-size: clamp(1.75rem, -1.417042042rem + 6.6066066066vw, 3.125rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship .center .title_en {
    font-size: 26px;
  }
}
.relationship .center .title_ja {
  font-size: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .center .title_ja {
    font-size: clamp(0.625rem, -0.8145645646rem + 3.003003003vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship .center .title_ja {
    font-size: 10px;
  }
}
.relationship .center-b01_svg {
  width: 340px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s ease-in;
  transition-delay: 0.3s;
  opacity: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .center-b01_svg {
    width: clamp(13.75rem, -3.5247747748rem + 36.036036036vw, 21.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship .center-b01_svg {
    width: 220px;
  }
}
.relationship .center-b01_circle {
  fill: none;
  stroke: rgba(68, 119, 177, 0.6);
  stroke-width: 9px;
  stroke-dashoffset: 0;
  transition: 0.3s ease-in;
  transition-delay: 0.3s;
  opacity: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .center-b01_circle {
    stroke-width: 7px;
  }
}
.relationship .center-b02_svg {
  width: 405px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s ease-in;
  transition-delay: 0.6s;
  opacity: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .center-b02_svg {
    width: clamp(17.8125rem, 0.5377252252rem + 36.036036036vw, 25.3125rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship .center-b02_svg {
    width: 285px;
  }
}
.relationship .center-b02_circle {
  fill: none;
  stroke: rgba(55, 95, 140, 0.6509803922);
  stroke-width: 8px;
  stroke-dasharray: 0;
  transition: 0.3s ease-in;
  transition-delay: 0.6s;
  opacity: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .center-b02_circle {
    stroke-width: 7px;
  }
}
.relationship .kazai {
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 50%;
  opacity: 0;
  transition: 0.3s ease-in;
  transition-delay: 1s;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .kazai {
    width: clamp(10.625rem, 6.3063063063rem + 9.009009009vw, 12.5rem);
    height: clamp(10.625rem, 6.3063063063rem + 9.009009009vw, 12.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship .kazai {
    width: 170px;
    height: 170px;
  }
}
.relationship .kazai.sub-circle .title {
  transition-delay: 1.3s;
}
.relationship .kazai.sub-circle .list {
  transition-delay: 1.5s;
}
.relationship .kazai::before {
  content: "";
  position: absolute;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1568627451), 0 0 20px rgba(0, 0, 0, 0.1568627451), 0 0 20px rgba(0, 0, 0, 0.1568627451), 0 0 20px rgba(0, 0, 0, 0.1568627451);
  z-index: 0;
  opacity: 0;
  transition: 0.2s;
  transition-delay: 2s;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .kazai::before {
    width: clamp(9.6875rem, 0.3303303303rem + 19.5195195195vw, 13.75rem);
    height: clamp(9.6875rem, 0.3303303303rem + 19.5195195195vw, 13.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship .kazai::before {
    width: 155px;
    height: 155px;
  }
}
.relationship .kazai-b_svg {
  width: 240px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .kazai-b_svg {
    width: clamp(11.125rem, 3.6392642643rem + 15.6156156156vw, 14.375rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship .kazai-b_svg {
    width: 178px;
  }
}
.relationship .kazai-b_circle {
  fill: none;
  stroke: #ff0000;
  stroke-dasharray: 316;
  animation: demo_kururi ease 1s forwards;
  animation-delay: 1.3s;
  opacity: 0;
  transition-delay: 1.3s;
}
@media screen and (max-width: 1100px) {
  .relationship .kazai-b_circle {
    animation: demo_kururi-sp ease 1s forwards;
  }
}
.relationship .hudosan {
  position: absolute;
  bottom: -20px;
  left: -100px;
  width: 200px;
  height: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 50%;
  opacity: 0;
  transition: 0.3s ease-in;
  transition-delay: 1.2s;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .hudosan {
    width: clamp(10.625rem, 6.3063063063rem + 9.009009009vw, 12.5rem);
    height: clamp(10.625rem, 6.3063063063rem + 9.009009009vw, 12.5rem);
    left: clamp(-4.375rem, -0.0563063063rem - 9.009009009vw, -6.25rem);
    bottom: -35px;
  }
}
@media only screen and (max-width: 767px) {
  .relationship .hudosan {
    width: 170px;
    height: 170px;
    left: -70px;
    bottom: -40px;
  }
}
.relationship .hudosan.sub-circle .title {
  transition-delay: 1.5s;
}
.relationship .hudosan.sub-circle .list {
  transition-delay: 1.7s;
}
.relationship .hudosan::before {
  content: "";
  position: absolute;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1568627451), 0 0 20px rgba(0, 0, 0, 0.1568627451), 0 0 20px rgba(0, 0, 0, 0.1568627451), 0 0 20px rgba(0, 0, 0, 0.1568627451);
  z-index: 0;
  opacity: 0;
  transition: 0.2s;
  transition-delay: 2.4s;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .hudosan::before {
    width: clamp(9.6875rem, 0.3303303303rem + 19.5195195195vw, 13.75rem);
    height: clamp(9.6875rem, 0.3303303303rem + 19.5195195195vw, 13.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship .hudosan::before {
    width: 155px;
    height: 155px;
  }
}
.relationship .hudosan-b_svg {
  width: 240px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .hudosan-b_svg {
    width: clamp(11.125rem, 3.6392642643rem + 15.6156156156vw, 14.375rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship .hudosan-b_svg {
    width: 178px;
  }
}
.relationship .hudosan-b_circle {
  fill: none;
  stroke: #f4f9f9;
  stroke-dasharray: 316;
  animation: demo_kururi ease 1s forwards;
  animation-delay: 1.5s;
  opacity: 0;
  transition-delay: 1.5s;
}
@media screen and (max-width: 1100px) {
  .relationship .hudosan-b_circle {
    animation: demo_kururi-sp ease 1s forwards;
  }
}
.relationship .kentiku {
  position: absolute;
  bottom: -20px;
  right: -100px;
  width: 200px;
  height: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 50%;
  opacity: 0;
  transition: 0.3s ease-in;
  transition-delay: 1.4s;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .kentiku {
    width: clamp(10.625rem, 6.3063063063rem + 9.009009009vw, 12.5rem);
    height: clamp(10.625rem, 6.3063063063rem + 9.009009009vw, 12.5rem);
    right: clamp(-4.375rem, -0.0563063063rem - 9.009009009vw, -6.25rem);
    bottom: -35px;
  }
}
@media only screen and (max-width: 767px) {
  .relationship .kentiku {
    width: 170px;
    height: 170px;
    right: -70px;
    bottom: -40px;
  }
}
.relationship .kentiku.sub-circle .title {
  transition-delay: 1.7s;
}
.relationship .kentiku.sub-circle .list {
  transition-delay: 1.9s;
}
.relationship .kentiku::before {
  content: "";
  position: absolute;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1568627451), 0 0 20px rgba(0, 0, 0, 0.1568627451), 0 0 20px rgba(0, 0, 0, 0.1568627451), 0 0 20px rgba(0, 0, 0, 0.1568627451);
  z-index: 0;
  opacity: 0;
  transition: 0.2s;
  transition-delay: 2.6s;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .kentiku::before {
    width: clamp(9.6875rem, 0.3303303303rem + 19.5195195195vw, 13.75rem);
    height: clamp(9.6875rem, 0.3303303303rem + 19.5195195195vw, 13.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship .kentiku::before {
    width: 155px;
    height: 155px;
  }
}
.relationship .kentiku-b_svg {
  width: 240px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .kentiku-b_svg {
    width: clamp(11.125rem, 3.6392642643rem + 15.6156156156vw, 14.375rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship .kentiku-b_svg {
    width: 178px;
  }
}
.relationship .kentiku-b_circle {
  fill: none;
  stroke: #ecc734;
  stroke-dasharray: 316;
  animation: demo_kururi ease 1s forwards;
  animation-delay: 1.7s;
  opacity: 0;
  transition-delay: 1.7s;
}
@media screen and (max-width: 1100px) {
  .relationship .kentiku-b_circle {
    animation: demo_kururi-sp ease 1s forwards;
  }
}
.relationship .sub-circle .title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 400;
  font-size: 20px;
  line-height: 1;
  padding-bottom: 5px;
  margin-bottom: 7px;
  border-bottom: 1px solid #e8e8e8;
  width: 75%;
  justify-content: center;
  opacity: 0;
  transition: 0.3s ease-in;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .sub-circle .title {
    font-size: clamp(0.875rem, 0.0112612613rem + 1.8018018018vw, 1.25rem);
    gap: 4px;
  }
}
@media only screen and (max-width: 767px) {
  .relationship .sub-circle .title {
    font-size: 14px;
  }
}
.relationship .sub-circle .title img {
  width: 25px;
  height: 25px;
  object-fit: contain;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .sub-circle .title img {
    width: clamp(0.9375rem, -0.5020645646rem + 3.003003003vw, 1.5625rem);
    height: clamp(0.9375rem, -0.5020645646rem + 3.003003003vw, 1.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship .sub-circle .title img {
    width: 15px;
    height: 15px;
  }
}
.relationship .sub-circle .list {
  line-height: 1.3;
  font-size: 15px;
  font-weight: 400;
  width: 65%;
  margin-left: auto;
  margin-right: auto;
  opacity: 0;
  transition: 0.3s ease-in;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .sub-circle .list {
    font-size: clamp(0.625rem, -0.0947822823rem + 1.5015015015vw, 0.9375rem);
    width: 60%;
  }
}
@media only screen and (max-width: 767px) {
  .relationship .sub-circle .list {
    font-size: 12px;
    width: 60%;
  }
}
.relationship .sub-circle .list ul {
  list-style: disc;
}
.relationship .sub-circle .list ul li {
  text-indent: -5px;
}
@media only screen and (max-width: 767px) {
  .relationship .sub-circle .list ul li {
    text-indent: -7px;
  }
}
.relationship .sub-circle .list ul li::marker {
  font-size: 10px;
}
.relationship .sub-circle .list .etc {
  font-size: 12px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .relationship .sub-circle .list .etc {
    font-size: clamp(0.625rem, 0.3370870871rem + 0.6006006006vw, 0.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .relationship .sub-circle .list .etc {
    font-size: 10px;
  }
}

.works-list {
  overflow: hidden;
}
.works-list_border {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  width: 0%;
  height: 12px;
  z-index: 99;
  transition-duration: 0.6s;
  transition-delay: 0.3s;
  box-shadow: 0px -3px 7px 0px rgba(0, 0, 0, 0.1568627451);
}
@media screen and (max-width: 1100px) {
  .works-list_border {
    height: 1.0909090909vw;
  }
}
.works-list_border::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 12px;
  height: 100%;
  background: #fff;
  box-shadow: 0 0 15px white, 0 0 15px white, 0 0 15px white;
}
@media screen and (max-width: 1100px) {
  .works-list_border::after {
    width: 1.0909090909vw;
  }
}
.works-list_border.active {
  width: 100%;
}
.works-list_border.active::after {
  animation-name: kirariAnime;
  animation-duration: 0.6s;
  animation-delay: 0.2s;
  animation-fill-mode: forwards;
}
.works-list_border.-red {
  background: #ff0000;
}
.works-list_border.-green {
  background: #f4f9f9;
}
.works-list_border.-yellow {
  background: #ecc734;
}
.works-list_item.is-visible .works-list_item_contents {
  opacity: 1;
}
.works-list_item.is-visible .works-list_item_contents .-txt p {
  opacity: 1;
  transform: translateY(0px);
}
.works-list_item.is-visible .works-list_item_contents .-txt .btn {
  opacity: 1;
}
.works-list_item_contents {
  position: relative;
  opacity: 0;
  overflow: hidden;
  width: 100%;
  height: 670px;
  transition-duration: 0.7s;
  transition-delay: 0.5s;
}
@media screen and (max-width: 1100px) {
  .works-list_item_contents {
    height: clamp(30rem, 2.6482732733rem + 57.0570570571vw, 41.875rem);
  }
}
.works-list_item_contents .-img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  transition: 1s;
}
.works-list_item_contents .-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 1s;
}
.works-list_item_contents .-txt {
  max-width: 1300px;
  width: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 1s ease-in;
  transition-delay: 0.7s;
}
.works-list_item_contents .-txt h4 {
  line-height: 1.5;
}
.works-list_item_contents .-txt p {
  opacity: 0;
  transition: 0.5s ease-in;
  transition-delay: 1s;
  transform: translateY(20px);
}
.works-list_item_contents .-txt .btn {
  opacity: 0;
  transition: 0.5s ease-in;
  transition-delay: 1.2s;
}

.works_inner {
  max-width: 1400px;
  margin: 0 auto;
  width: calc(100% - 300px);
}
@media screen and (max-width: 1330px) {
  .works_inner {
    width: calc(100% - 200px);
  }
}

.tmp-works {
  position: relative;
}

@media screen and (max-width: 1330px) {
  .work01 .works_inner {
    padding-left: 5%;
    padding-right: 5%;
    width: 100%;
  }
}
.work01_title {
  display: flex;
  flex-direction: column;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .work01_title {
    line-height: 1.3;
  }
}
.work01_contents {
  margin-top: 60px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .work01_contents {
    margin-top: 5.4545454545vw;
  }
}
@media only screen and (max-width: 767px) {
  .work01_contents.c-flex {
    flex-direction: column-reverse;
    margin-top: 20px;
  }
}
.work01_contents_txt {
  width: 40%;
  padding-right: 4%;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .work01_contents_txt {
    padding-right: 20px;
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .work01_contents_txt {
    width: 100%;
    padding-right: 0;
  }
}
.work01_contents_img {
  width: 60%;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .work01_contents_img {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .work01_contents_img {
    width: 100%;
    padding-right: 0;
    margin-bottom: 20px;
  }
}
.work01_contents_img img {
  width: 100%;
  object-fit: contain;
}

.work_side {
  position: absolute;
  width: 150px;
  height: 100%;
  top: 0;
}
@media screen and (max-width: 1330px) {
  .work_side {
    width: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .work_side {
    width: 100%;
    height: clamp(3.75rem, 1.8621281465rem + 9.1533180778vw, 6.25rem);
    top: 0;
  }
}
.work_side.-left {
  left: 0;
}
@media only screen and (max-width: 767px) {
  .work_side.-left {
    left: 0;
  }
}
.work_side.-left span {
  margin-left: auto;
  padding-right: 10px;
}
.work_side.-right {
  right: 0;
}
@media only screen and (max-width: 767px) {
  .work_side.-right {
    right: 0;
  }
}
.work_side span {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: flex;
  padding-top: 50px;
  padding-bottom: 50px;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .work_side span {
    padding-top: 2.7272727273vw;
    padding-bottom: 2.7272727273vw;
  }
}
@media only screen and (max-width: 767px) {
  .work_side span {
    -webkit-writing-mode: initial;
    -ms-writing-mode: initial;
    writing-mode: initial;
    padding-top: 0;
    padding-left: 5%;
    padding-bottom: 0;
    height: 100%;
    align-items: center;
  }
}

.work02 .works_inner {
  padding-left: 50px;
  padding-right: 50px;
}
@media screen and (max-width: 1330px) {
  .work02 .works_inner {
    padding-left: clamp(1.25rem, -3.0686936937rem + 9.009009009vw, 3.125rem);
    padding-right: clamp(1.25rem, -3.0686936937rem + 9.009009009vw, 3.125rem);
  }
}
@media screen and (max-width: 1100px) {
  .work02 .works_inner {
    width: calc(100% - 150px);
    margin-left: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .work02 .works_inner {
    margin-top: 100px;
    padding-left: 0;
    padding-right: 0;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
.work02_title {
  padding-top: 100px;
}
@media only screen and (max-width: 767px) {
  .work02_title {
    line-height: 1.5;
    font-size: 24px;
  }
}
.work02_contents {
  margin-top: 50px;
  padding-bottom: 130px;
}
@media only screen and (max-width: 767px) {
  .work02_contents {
    padding-bottom: 70px;
  }
}
.work02_contents .service_slider {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .work02_contents .service_slider li {
    display: none;
  }
}
.work02_contents .service_slider li:nth-child(-n+4) {
  display: block;
}
.work02_contents .service_slider .slick-slide > div {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  height: auto;
}
.work02_contents .service_slider h6 {
  position: relative;
  padding-left: 50px;
  margin-top: 30px;
  line-height: 1.3;
  margin-bottom: 10px;
  margin-right: 70px;
}
@media screen and (max-width: 1330px) {
  .work02_contents .service_slider h6.-fs-35 {
    font-size: clamp(1.5625rem, -0.7291666667rem + 3.3333333333vw, 2.1875rem);
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .work02_contents .service_slider h6.-fs-35 {
    font-size: clamp(1.125rem, 0.1173048048rem + 2.1021021021vw, 1.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .work02_contents .service_slider h6.-fs-35 {
    font-size: 20px;
  }
}
@media screen and (max-width: 1330px) {
  .work02_contents .service_slider h6 {
    margin-right: clamp(1.875rem, -7.2916666667rem + 13.3333333333vw, 4.375rem);
    padding-left: clamp(2.5rem, 0.2083333333rem + 3.3333333333vw, 3.125rem);
  }
}
@media screen and (max-width: 1100px) {
  .work02_contents .service_slider h6 {
    margin-right: clamp(0.625rem, -0.8145645646rem + 3.003003003vw, 1.25rem);
    padding-left: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .work02_contents .service_slider h6 {
    padding-left: 20px;
  }
}
.work02_contents .service_slider h6::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: #bdbcbc;
}
@media screen and (max-width: 1330px) {
  .work02_contents .service_slider h6::after {
    width: clamp(1.875rem, -0.4166666667rem + 3.3333333333vw, 2.5rem);
    height: clamp(1.875rem, -0.4166666667rem + 3.3333333333vw, 2.5rem);
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .work02_contents .service_slider h6::after {
    width: clamp(1.25rem, -0.1895645646rem + 3.003003003vw, 1.875rem);
    height: clamp(1.25rem, -0.1895645646rem + 3.003003003vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .work02_contents .service_slider h6::after {
    width: 15px;
    height: 15px;
  }
}
.work02_contents .service_slider p {
  margin-bottom: 50px;
  margin-left: 50px;
  margin-right: 70px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .work02_contents .service_slider p {
    margin-right: clamp(0.625rem, -0.8145645646rem + 3.003003003vw, 1.25rem);
    margin-left: clamp(1.875rem, 0.4354354354rem + 3.003003003vw, 2.5rem);
    margin-bottom: clamp(1.25rem, -0.1895645646rem + 3.003003003vw, 1.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .work02_contents .service_slider p {
    margin-left: 20px;
    margin-right: 0;
    line-height: 1.5;
    margin-bottom: 35px;
  }
}
.work02_contents .service_slider_btn {
  position: relative;
  display: none;
}
@media only screen and (max-width: 767px) {
  .work02_contents .service_slider_btn {
    display: block;
  }
  .work02_contents .service_slider_btn::after {
    content: "";
    position: absolute;
    top: -150px;
    left: 0;
    height: 150px;
    width: 100%;
    background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
    opacity: 1;
    transition: 0.3s;
  }
}
.work02_contents .service_slider_btn.move::after {
  opacity: 0;
}

.work03 {
  min-height: 300px;
}
.work03 .works_inner {
  padding-left: 50px;
  padding-right: 50px;
}
@media screen and (max-width: 1330px) {
  .work03 .works_inner {
    padding-left: clamp(1.25rem, -3.0686936937rem + 9.009009009vw, 3.125rem);
    padding-right: clamp(1.25rem, -3.0686936937rem + 9.009009009vw, 3.125rem);
  }
}
@media screen and (max-width: 1100px) {
  .work03 .works_inner {
    width: calc(100% - 150px);
    margin-right: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .work03 .works_inner {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    padding-top: 100px;
  }
}
.work03_title {
  line-height: 1;
  gap: 10px;
}
@media only screen and (max-width: 767px) {
  .work03_title {
    text-align: center;
    align-items: center;
    justify-content: center;
  }
  .work03_title h4 {
    display: none;
  }
  .work03_title p {
    text-align: center;
    font-weight: bold;
    font-size: 24px;
  }
}
.work03_flow {
  position: relative;
  max-width: 1200px;
  width: 90%;
  margin: 60px auto;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .work03_flow {
    margin-top: 5.4545454545vw;
    margin-bottom: 5.4545454545vw;
  }
}
@media only screen and (max-width: 767px) {
  .work03_flow {
    width: 100%;
    margin-top: 30px;
  }
}
.work03_flow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 158px;
  width: 20px;
  height: 100%;
  height: 0%;
  background: #5abda1;
  z-index: -1;
  opacity: 0;
  transition: 2s;
  transition-delay: 0.5s;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .work03_flow::before {
    left: clamp(8.1875rem, 1.565503003rem + 13.8138138138vw, 11.0625rem);
  }
}
@media only screen and (max-width: 767px) {
  .work03_flow::before {
    left: 103px;
  }
}
.work03_flow.move::before {
  height: 100%;
  opacity: 1;
}
.work03_flow_item .-num {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 127px;
  height: 46px;
  background: #bdbcbc;
  font-weight: bold;
  gap: 3px;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .work03_flow_item .-num {
    width: clamp(6.25rem, 2.3631756757rem + 8.1081081081vw, 7.9375rem);
    height: clamp(2.1875rem, 0.603978979rem + 3.3033033033vw, 2.875rem);
  }
}
@media only screen and (max-width: 767px) {
  .work03_flow_item .-num {
    width: 85px;
    height: 36px;
  }
}
.work03_flow_item .-num::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -17px;
  transform: translateY(-50%);
  height: 20px;
  aspect-ratio: 0.8660254038;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #bdbcbc;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .work03_flow_item .-num::after {
    right: clamp(-0.9375rem, -0.6495870871rem - 0.6006006006vw, -1.0625rem);
  }
}
@media only screen and (max-width: 767px) {
  .work03_flow_item .-num::after {
    right: -10px;
  }
}
.work03_flow_item .-circle {
  position: relative;
  margin: 0 55px 0 35px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #bdbcbc;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .work03_flow_item .-circle {
    margin-left: clamp(2.1875rem, -0.6916291291rem + 6.006006006vw, 3.4375rem);
    margin-right: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .work03_flow_item .-circle {
    margin: 0 24px 0 22px;
  }
}
.work03_flow_item .-txt {
  position: relative;
  padding-top: 10px;
  padding-bottom: 30px;
  padding-top: 10px;
}
.work03_flow_item .-txt h6 {
  line-height: 1.3;
}
.work03_flow_item .-txt p {
  line-height: 1.5;
}

.media_contents {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: flex-start;
  column-gap: 5%;
  row-gap: 60px;
}
@media screen and (max-width: 1100px) {
  .media_contents {
    column-gap: 2%;
    row-gap: clamp(1.875rem, -2.4436936937rem + 9.009009009vw, 3.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .media_contents {
    display: block;
    gap: 0;
  }
  .media_contents .media_content:nth-child(n+4) {
    display: none;
  }
}
.media_content {
  width: 30%;
}
@media screen and (max-width: 1100px) {
  .media_content {
    width: 32%;
  }
}
@media only screen and (max-width: 767px) {
  .media_content {
    width: 100%;
    margin-bottom: clamp(1.875rem, 1.4735010707rem + 2.1413276231vw, 2.5rem);
  }
  .media_content:last-child {
    margin-bottom: 0;
  }
}
.media_content a .fit-img {
  overflow: hidden;
  border-radius: 10px;
}
.media_content a .fit-img iframe {
  width: 100%;
  height: 240px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .media_content a .fit-img iframe {
    height: clamp(7.1875rem, -0.7301051051rem + 16.5165165165vw, 10.625rem);
  }
}
@media only screen and (max-width: 767px) {
  .media_content a .fit-img iframe {
    height: clamp(11.875rem, 3.8450214133rem + 42.8265524625vw, 24.375rem);
  }
}
.media_content a:hover img {
  scale: 1.1;
  transition: 0.3s;
}
.media_content img {
  width: 100%;
  border-radius: 10px;
  scale: 1;
  transition: 0.3s;
}
.media_content p {
  font-weight: 400;
}
.media_content_ttl {
  font-size: 18px;
  margin-top: 10px;
  line-height: 30px;
}
@media only screen and (max-width: 767px) {
  .media_content_ttl {
    font-size: clamp(1rem, 0.9197002141rem + 0.4282655246vw, 1.125rem);
  }
}
.media_content_date {
  font-size: 16px;
  font-family: "enfont", serif;
  font-weight: 400;
}
.media_btn {
  margin-top: 80px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .media_btn {
    margin-top: clamp(3.75rem, 0.8708708709rem + 6.006006006vw, 5rem);
  }
}
@media only screen and (max-width: 767px) {
  .media_btn {
    margin-top: clamp(2.5rem, 1.6970021413rem + 4.2826552463vw, 3.75rem);
  }
}
.media_btn a {
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (max-width: 767px) {
  #instagram {
    padding-top: clamp(5rem, 4.1970021413rem + 4.2826552463vw, 6.25rem);
  }
}

.fit-img {
  line-height: 1;
}
.fit-img img {
  width: 100%;
  object-fit: contain;
  object-position: center;
  vertical-align: bottom;
}

/*
  Flex
-----------------------------------------------------*/
.c-flex {
  display: flex;
}
.c-flex.-wrap {
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .c-flex.-sp-wrap {
    flex-wrap: wrap;
  }
}
.c-flex.-fxd-c {
  flex-direction: column;
}
.c-flex.-fxd-cr {
  flex-direction: column-reverse;
}
.c-flex.-fxd-r {
  flex-direction: row;
}
.c-flex.-fxd-rr {
  flex-direction: row-reverse;
}
.c-flex.-fxw-n {
  flex-wrap: nowrap;
}
.c-flex.-fxw-w {
  flex-wrap: wrap;
}
.c-flex.-fxw-wr {
  flex-wrap: wrap-reverse;
}
.c-flex.-jc-c {
  justify-content: center;
}
.c-flex.-jc-fe {
  justify-content: flex-end;
}
.c-flex.-jc-fs {
  justify-content: flex-start;
}
.c-flex.-jc-sa {
  justify-content: space-around;
}
.c-flex.-jc-sb {
  justify-content: space-between;
}
.c-flex.-ai-b {
  align-items: baseline;
}
.c-flex.-ai-c {
  align-items: center;
}
.c-flex.-ai-fe {
  align-items: flex-end;
}
.c-flex.-ai-fs {
  align-items: flex-start;
}
.c-flex.-ai-s {
  align-items: stretch;
}
.c-flex.-ac-c {
  align-content: center;
}
.c-flex.-ac-fe {
  align-content: flex-end;
}
.c-flex.-ac-fs {
  align-content: flex-start;
}
.c-flex.-ac-s {
  align-content: stretch;
}
.c-flex.-ac-sa {
  align-content: space-around;
}
.c-flex.-ac-sb {
  align-content: space-between;
}

.c-flex__item.-ord-1 {
  order: 1;
}
.c-flex__item.-ord-2 {
  order: 2;
}
.c-flex__item.-ord-3 {
  order: 3;
}
.c-flex__item.-ord-4 {
  order: 4;
}
.c-flex__item.-ord-5 {
  order: 5;
}
.c-flex__item.-ord-6 {
  order: 6;
}
.c-flex__item.-ord-7 {
  order: 7;
}
.c-flex__item.-ord-8 {
  order: 8;
}
.c-flex__item.-ord-9 {
  order: 9;
}
.c-flex__item.-ord-10 {
  order: 10;
}

.-gap05 {
  gap: 5px;
}

.under {
  opacity: 0;
  transition: 0.7s;
  transition-delay: 0.3s;
}
.under.active {
  opacity: 1;
}

.-bg-white {
  background: #fff;
}

.-bg-main {
  background: #328479;
}

.-bg-gray {
  background: #bdbcbc;
}

.-bg-pt {
  width: 100%;
  height: 100%;
  background-image: url(../img/common/pt-bg.jpg);
  background-position: top;
  background-repeat: repeat;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .-bg-pt {
    background-image: url(../img/common/pt-bg_sp.jpg);
    background-position: top;
    background-repeat: repeat;
    background-size: contain;
  }
}

.-fc-white {
  color: #fff;
}

.-fc-main {
  color: #328479;
}

.-fc-gray {
  color: #e8e8e8;
}

.-fc-d-gray {
  color: #f8f8f8;
}

.-fc-w-gray {
  color: #f0f0f0;
}

.-fs-150 {
  font-size: 150px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-150 {
    font-size: clamp(8.125rem, 5.2458708709rem + 6.006006006vw, 9.375rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs-150 {
    font-size: clamp(5rem, -0.7582582583rem + 12.012012012vw, 7.5rem);
  }
}

.-fs-55 {
  font-size: 55px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-55 {
    font-size: clamp(2.5rem, 0.3406531532rem + 4.5045045045vw, 3.4375rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs-55 {
    font-size: clamp(2.5rem, 0.3406531532rem + 4.5045045045vw, 3.4375rem);
  }
}

.-fs-50 {
  font-size: 50px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-50 {
    font-size: clamp(1.875rem, -0.2843468468rem + 4.5045045045vw, 2.8125rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs-50 {
    font-size: clamp(1.75rem, 0.7423048048rem + 2.1021021021vw, 2.1875rem);
  }
}

.-fs-44 {
  font-size: 44px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-44 {
    font-size: clamp(1.875rem, -0.1403903904rem + 4.2042042042vw, 2.75rem);
  }
}

.-fs-35 {
  font-size: 35px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-35 {
    font-size: clamp(1.5625rem, 0.1229354354rem + 3.003003003vw, 2.1875rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs-35 {
    font-size: clamp(1.5625rem, 0.1229354354rem + 3.003003003vw, 2.1875rem);
  }
}

.-fs-32 {
  font-size: 32px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-32 {
    font-size: clamp(1.375rem, -0.0645645646rem + 3.003003003vw, 2rem);
  }
}

.-fs-25 {
  font-size: 25px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-25 {
    font-size: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs-25 {
    font-size: clamp(1.25rem, 0.5302177177rem + 1.5015015015vw, 1.5625rem);
  }
}

.-fs-22 {
  font-size: 22px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-22 {
    font-size: clamp(1.125rem, 0.5491741742rem + 1.2012012012vw, 1.375rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs-22 {
    font-size: clamp(1rem, 0.1362612613rem + 1.8018018018vw, 1.375rem);
  }
}

.-fs-20 {
  font-size: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-20 {
    font-size: clamp(1rem, 0.4241741742rem + 1.2012012012vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs-20 {
    font-size: clamp(1.125rem, 0.8370870871rem + 0.6006006006vw, 1.25rem);
  }
}

.-fs-18 {
  font-size: 18px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-18 {
    font-size: clamp(0.875rem, 0.2991741742rem + 1.2012012012vw, 1.125rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs-18 {
    font-size: clamp(1rem, 0.7120870871rem + 0.6006006006vw, 1.125rem);
  }
}

.-fs-16 {
  font-size: 16px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-16 {
    font-size: clamp(0.75rem, 0.1741741742rem + 1.2012012012vw, 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .-fs-16 {
    font-size: clamp(0.875rem, 0.5870870871rem + 0.6006006006vw, 1rem);
  }
}

.-fs-14 {
  font-size: 14px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-14 {
    font-size: clamp(0.625rem, 0.0491741742rem + 1.2012012012vw, 0.875rem);
  }
}

.-fs-12 {
  font-size: 12px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-12 {
    font-size: 1.0909090909vw;
  }
}

.-fs-10 {
  font-size: 10px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .-fs-10 {
    font-size: 0.9090909091vw;
  }
}

.inner {
  max-width: 1420px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1100px) {
  .inner {
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .inner {
    width: 90%;
  }
}

.side-outo {
  margin: 0 auto;
}

.-mt-70 {
  margin-top: 70px;
}
@media screen and (max-width: 1100px) {
  .-mt-70 {
    margin-top: 6.3636363636vw;
  }
}
@media only screen and (max-width: 767px) {
  .-mt-70 {
    margin-top: 40px;
  }
}

.-mt-50 {
  margin-top: 50px;
}
@media screen and (max-width: 1100px) {
  .-mt-50 {
    margin-top: 4.5454545455vw;
  }
}
@media only screen and (max-width: 767px) {
  .-mt-50 {
    margin-top: 40px;
  }
}

.-mt-40 {
  margin-top: 40px;
}
@media screen and (max-width: 1100px) {
  .-mt-40 {
    margin-top: 3.6363636364vw;
  }
}
@media only screen and (max-width: 767px) {
  .-mt-40 {
    margin-top: 30px;
  }
}

.-mt-30 {
  margin-top: 30px;
}
@media screen and (max-width: 1100px) {
  .-mt-30 {
    margin-top: 2.7272727273vw;
  }
}
@media only screen and (max-width: 767px) {
  .-mt-30 {
    margin-top: 20px;
  }
}

.-mt-25 {
  margin-top: 25px;
}
@media screen and (max-width: 1100px) {
  .-mt-25 {
    margin-top: 2.2727272727vw;
  }
}
@media only screen and (max-width: 767px) {
  .-mt-25 {
    margin-top: 17px;
  }
}

.-mt-20 {
  margin-top: 20px;
}
@media screen and (max-width: 1100px) {
  .-mt-20 {
    margin-top: 1.8181818182vw;
  }
}
@media only screen and (max-width: 767px) {
  .-mt-20 {
    margin-top: 15px;
  }
}

.no-bottom {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.op0 {
  opacity: 0;
}

.-lh-16 {
  line-height: 1.6;
}

.-lh-15 {
  line-height: 1.5;
}

.headerHeight {
  margin-top: 220px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .headerHeight {
    margin-top: clamp(10rem, 1.3626126126rem + 18.018018018vw, 13.75rem);
  }
}
@media only screen and (max-width: 767px) {
  .headerHeight {
    margin-top: clamp(7.5rem, 6.6970021413rem + 4.2826552463vw, 8.75rem);
  }
}

.header {
  position: fixed;
  top: -100px;
  left: 0;
  width: 100%;
  z-index: 9999;
  transition: 1s;
}
.header.down {
  top: 0;
  background-color: #fff;
}
.header.down.recruit {
  background-color: #f4f9f9;
}
.header_inner {
  max-width: 1420px;
  width: 90%;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .header_inner {
    height: 80px;
  }
}
.header .logo {
  padding-left: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .header .logo {
    padding-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .header .logo {
    position: relative;
    padding-left: 0;
    z-index: 9999;
  }
}
.header .logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.header .logo a img {
  line-height: 1;
  width: 180px;
  object-fit: contain;
  height: auto;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .header .logo a img {
    width: clamp(10rem, 4.0217391304rem + 8.6956521739vw, 11.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .header .logo a img {
    width: 160px;
    height: 40px;
  }
}

.header-list {
  display: flex;
}
@media screen and (max-width: 1100px) {
  .header-list {
    display: block;
  }
}
.header-list li {
  position: relative;
}
@media screen and (max-width: 1100px) {
  .header-list li {
    padding: 20px 0px;
  }
}
.header-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0px;
  width: 1px;
  height: 20px;
  background-color: #333333;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .header-list li:not(:last-child)::after {
    height: clamp(1.125rem, 0.527173913rem + 0.8695652174vw, 1.25rem);
  }
}
@media screen and (max-width: 1100px) {
  .header-list li:not(:last-child)::after {
    display: none;
  }
}
.header-list li:last-child a {
  padding: 0 0 0 20px;
}
@media screen and (max-width: 1100px) {
  .header-list li:last-child a {
    padding: 0;
  }
}
.header-list_content {
  width: 20%;
}
.header-list a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0px 20px;
}
@media screen and (max-width: 1100px) {
  .header-list a {
    align-items: flex-start;
    padding: 0;
  }
}
.header-list a .en-labe {
  font-size: 20px;
  font-family: "enfont", serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: 10px;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .header-list a .en-labe {
    font-size: clamp(1.125rem, 0.527173913rem + 0.8695652174vw, 1.25rem);
  }
}
@media screen and (max-width: 1100px) {
  .header-list a .en-labe {
    font-size: 20px;
    line-height: 1;
    margin-bottom: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .header-list a .en-labe {
    margin-bottom: 10px;
  }
}
.header-list a .jp-labe {
  font-size: 10px;
  font-family: "メイリオ", "Meiryo", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 1100px) {
  .header-list a .jp-labe {
    font-size: 14px;
    line-height: 1;
  }
}

.headerUnder {
  display: none;
  background-color: #fff;
  color: #333333;
}
@media screen and (max-width: 1100px) {
  .headerUnder {
    display: block;
    position: fixed;
    top: 100px;
    right: -100%;
    width: 100%;
    max-width: 480px;
    height: 100vh;
    overflow: auto;
    transition: 0.3s;
  }
}
@media only screen and (max-width: 767px) {
  .headerUnder {
    top: 70px;
  }
}
.headerUnder.open {
  right: 0;
}
.headerUnder .globalInner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.headerUnder nav {
  padding-top: 30px;
  padding-bottom: 90px;
}
.headerUnder_nav {
  max-width: 1100px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  height: 45px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .headerUnder_nav {
    height: clamp(2rem, 0.1285660661rem + 3.9039039039vw, 2.8125rem);
  }
}
@media screen and (max-width: 1100px) {
  .headerUnder_nav {
    height: auto;
    padding-bottom: 15px;
    margin-bottom: 30px;
  }
  .headerUnder_nav.c-flex {
    flex-direction: column;
  }
  .headerUnder_nav.c-flex.-ai-c {
    align-items: flex-start;
  }
}
.headerUnder_nav li {
  position: relative;
  font-size: 24px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .headerUnder_nav li {
    font-size: clamp(0.625rem, 0.0491741742rem + 1.2012012012vw, 0.875rem);
  }
}
@media screen and (max-width: 1100px) {
  .headerUnder_nav li {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 20px 0;
  }
}
.headerUnder_nav li a {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  height: 45px;
  font-size: 24px;
  line-height: 1.2;
}
@media screen and (max-width: 1100px) {
  .headerUnder_nav li a {
    width: 100%;
    justify-content: center;
    height: auto;
    font-size: 20px;
  }
}
.headerUnder_nav li a span {
  font-size: 14px;
}
@media screen and (max-width: 1100px) {
  .headerUnder_nav li a span {
    font-size: 16px;
  }
}
.headerUnder_nav li.has-submenu .submenu li {
  border-bottom: none;
  padding: 10px 0;
}
.headerUnder_nav li.has-submenu .submenu li a {
  font-size: 16px;
  color: #fff;
  padding-left: 25px;
  position: relative;
}
.headerUnder_nav li.has-submenu .submenu li a::after {
  content: "";
  display: block;
  width: 15px;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  background: #fff;
}

.recruit .headerUnder {
  background-color: #f4f9f9;
}

footer {
  border-top: 1px solid #f0f0f0;
}

.footer {
  padding: 35px 0;
}
@media only screen and (max-width: 767px) {
  .footer {
    padding: clamp(1.875rem, 1.0720021413rem + 4.2826552463vw, 3.125rem) 0 clamp(0.75rem, 0.4288008565rem + 1.7130620985vw, 1.25rem);
  }
}
.footer_box {
  display: flex;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .footer_box {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .footer_box {
    flex-direction: column;
  }
}
.footer_box_logo {
  line-height: 1;
}
.footer_box_left {
  width: 50%;
}
@media screen and (max-width: 1100px) {
  .footer_box_left {
    width: 100%;
    text-align: center;
  }
}
.footer_box_left a {
  width: 100%;
  line-height: 1;
}
.footer_box_left .footer-nav {
  display: flex;
  gap: 30px;
  margin-top: 40px;
}
@media screen and (max-width: 1100px) {
  .footer_box_left .footer-nav {
    flex-direction: column;
    text-align: left;
    gap: 0;
    margin-top: 65px;
  }
}
@media only screen and (max-width: 767px) {
  .footer_box_left .footer-nav {
    margin-top: max(8.45vw, 40px);
  }
}
.footer_box_left .footer-nav ul {
  padding: 0;
  margin: 0;
}
.footer_box_left .footer-nav ul:last-child li:last-child {
  margin-bottom: 0;
}
.footer_box_left .footer-nav li {
  line-height: 1;
  margin-bottom: 25px;
}
@media screen and (max-width: 1100px) {
  .footer_box_left .footer-nav li {
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .footer_box_left .footer-nav li {
    margin-bottom: max(5.2vw, 24px);
  }
}
.footer_box_left .footer-nav a {
  font-size: 20px;
  letter-spacing: 0.05em;
  font-family: "enfont", serif;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 1100px) {
  .footer_box_left .footer-nav a {
    padding-bottom: 25px;
    display: block;
    position: relative;
  }
  .footer_box_left .footer-nav a::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #e8e8e8;
    position: absolute;
    top: 100%;
    left: 0;
  }
}
@media screen and (max-width: 1100px) {
  .footer_box_left .footer-nav a {
    padding-bottom: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .footer_box_left .footer-nav a {
    font-size: max(3.9vw, 20px);
    padding-bottom: max(3.25vw, 15px);
  }
}
.footer_box_left .footer-nav li:last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 1100px) {
  .footer_box_left .footer-nav li:last-of-type {
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .footer_box_left .footer-nav li:last-of-type {
    margin-bottom: max(5.2vw, 24px);
  }
}
.footer_box_right {
  width: 50%;
}
@media screen and (max-width: 1100px) {
  .footer_box_right {
    padding-top: clamp(1.5rem, 1.125rem + 2vw, 2.5rem);
    width: 100%;
  }
}
.footer_box_right table {
  width: 100%;
  border-collapse: collapse;
}
.footer_box_right tr {
  display: block;
  margin-bottom: 20px;
}
.footer_box_right tr:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .footer_box_right tr {
    display: flex;
    margin-bottom: clamp(0.75rem, 0.4288008565rem + 1.7130620985vw, 1.25rem);
  }
}
.footer_box_right th {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  width: 100px;
  text-align: left;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .footer_box_right th {
    font-size: clamp(0.875rem, 0.277173913rem + 0.8695652174vw, 1rem);
  }
}
@media screen and (max-width: 1100px) {
  .footer_box_right th {
    text-align: left;
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .footer_box_right th {
    font-size: max(3vw, 14px);
    line-height: 1.5217391304;
    width: max(18vw, 85px);
    flex-shrink: 0;
  }
}
.footer_box_right td {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .footer_box_right td {
    font-size: clamp(0.875rem, 0.277173913rem + 0.8695652174vw, 1rem);
  }
}
@media screen and (max-width: 1100px) {
  .footer_box_right td {
    text-align: left;
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .footer_box_right td {
    font-size: max(3vw, 14px);
    line-height: 1.5217391304;
  }
}
.footer_box_right .branch-offices {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .footer_box_right .branch-offices {
    margin-top: clamp(2.625rem, 1.5008029979rem + 5.9957173448vw, 4.375rem);
  }
}
.footer_box_right .branch-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 73px;
  height: 27px;
  background-color: #333333;
  border-radius: 3px;
  margin-bottom: 15px;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .footer_box_right .branch-title {
    font-size: clamp(0.875rem, 0.277173913rem + 0.8695652174vw, 1rem);
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .footer_box_right .branch-title {
    font-size: 14px;
    padding-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .footer_box_right .branch-title {
    font-size: max(3vw, 14px);
    width: max(14.35vw, 66px);
    height: max(5.2vw, 24px);
    border-radius: 4px;
  }
}
.footer_box_right .branch-list {
  display: flex;
  gap: 15px;
}
@media screen and (min-width: 1100px) and (max-width: 1600px) {
  .footer_box_right .branch-list {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  .footer_box_right .branch-list {
    flex-wrap: wrap;
    width: 100%;
    max-width: 350px;
    columns: 30px;
    row-gap: 20px;
  }
}
.footer_box_right .branch-item {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 500;
}
@media screen and (min-width: 1100px) and (max-width: 1330px) {
  .footer_box_right .branch-item {
    font-size: clamp(0.875rem, 0.277173913rem + 0.8695652174vw, 1rem);
  }
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .footer_box_right .branch-item {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .footer_box_right .branch-item {
    font-size: max(3vw, 14px);
    min-width: 140px;
  }
}

.footer-banner {
  margin-top: 50px;
}
.footer-banner_box {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .footer-banner_box {
    justify-content: start;
  }
}
@media only screen and (max-width: 767px) {
  .footer-banner_box {
    flex-direction: column;
    width: 65%;
    margin: auto;
  }
}

.copy-right {
  padding: 20px 0;
  border-top: 1px solid #f0f0f0;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .copy-right {
    border-top: none;
    padding: 0 0 20px;
  }
}
.copy-right_box {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .copy-right_box {
    flex-direction: column-reverse;
    align-items: center;
  }
}
.copy-right_left {
  text-align: left;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .copy-right_left {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .copy-right_left {
    font-size: 12px;
    width: 100%;
    text-align: center;
  }
}
.copy-right_left p {
  font-family: "enfont", serif;
  font-weight: 500;
}
.copy-right_right {
  text-align: right;
  letter-spacing: 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .copy-right_right {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .copy-right_right {
    text-align: left;
    font-size: 14px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #e8e8e8;
    width: 100%;
    text-align: center;
  }
}

.t-mv {
  width: 100%;
  padding: 170px 0 100px 0;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .t-mv {
    padding: clamp(6.25rem, -3.826951952rem + 21.021021021vw, 10.625rem) 0 clamp(5rem, 2.1208708709rem + 6.006006006vw, 6.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-mv {
    padding-top: 80px;
    padding-bottom: 0;
  }
}
.t-mv_box {
  position: relative;
}
.t-mv_txt {
  position: absolute;
  top: 68px;
  left: 70px;
}
@media screen and (min-width: 768px) and (max-width: 1600px) {
  .t-mv_txt {
    top: 4.25vw;
    left: clamp(1.875rem, -0.4269207683rem + 4.8019207683vw, 4.375rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-mv_txt {
    top: 10.5vw;
    left: 10.15vw;
  }
}
.t-mv_txt p {
  color: #333333;
  padding-bottom: 10px;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) and (max-width: 1600px) {
  .t-mv_txt p {
    padding-bottom: clamp(0.3125rem, 0.024759904rem + 0.600240096vw, 0.625rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-mv_txt p {
    padding-bottom: 1%;
  }
}
.t-mv_txt p:last-of-type {
  padding-bottom: 0;
}
.t-mv_txt span {
  font-size: 83px;
  font-family: "enfont", serif;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) and (max-width: 1600px) {
  .t-mv_txt span {
    font-size: clamp(2.5rem, 0.0254351741rem + 5.1620648259vw, 5.1875rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-mv_txt span {
    font-size: 15vw;
  }
}
.t-mv_jp {
  font-size: 55px;
  line-height: 1.2727272727;
  font-weight: 700;
  letter-spacing: 0;
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) and (max-width: 1600px) {
  .t-mv_jp {
    font-size: clamp(1.625rem, -0.043892557rem + 3.481392557vw, 3.4375rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-mv_jp {
    font-size: 9.8vw;
    line-height: 1.2846666667;
    padding-bottom: 1.5% !important;
  }
}
.t-mv_en {
  font-size: 20px;
  line-height: 1.5;
  font-family: "enfont", serif;
  font-weight: 500;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) and (max-width: 1600px) {
  .t-mv_en {
    font-size: clamp(0.75rem, 0.2896158463rem + 0.9603841537vw, 1.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-mv_en {
    font-size: 3vw;
    line-height: 1.347826087;
  }
}
.t-mv_btn_block {
  position: absolute;
  top: 397px;
  left: 70px;
  width: 100%;
  max-width: 390px;
  margin: auto;
}
@media screen and (min-width: 768px) and (max-width: 1600px) {
  .t-mv_btn_block {
    top: clamp(12.3125rem, 0.8028961585rem + 24.0096038415vw, 24.8125rem);
    left: clamp(1.875rem, -0.4269207683rem + 4.8019207683vw, 4.375rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-mv_btn_block {
    top: 124vw;
    left: 50%;
    transform: translateX(-50%);
    padding-left: 5%;
    padding-right: 5%;
    max-width: clamp(24.375rem, 23.170503212rem + 6.4239828694vw, 26.25rem);
  }
}
.t-mv_btn .grayBtn.-isArrow .arrow::before {
  border-top: solid 1px #333333;
  border-right: solid 1px #333333;
}
.t-mv_btn_arrow {
  top: 53%;
  left: 340px !important;
}
@media screen and (min-width: 768px) and (max-width: 1600px) {
  .t-mv_btn_arrow {
    left: clamp(11.875rem, 3.2427971188rem + 18.0072028812vw, 21.25rem) !important;
  }
}
@media only screen and (max-width: 767px) {
  .t-mv_btn_arrow {
    left: 85% !important;
  }
}
.t-mv_btn {
  background: #333333;
  color: #fff;
  justify-content: flex-start;
  padding: 30px 30px 30px 50px;
}
@media screen and (min-width: 768px) and (max-width: 1600px) {
  .t-mv_btn {
    font-size: clamp(0.75rem, 0.2884615385rem + 0.9615384615vw, 1.25rem);
    max-width: clamp(13.125rem, 2.7403846154rem + 21.6346153846vw, 24.375rem);
    padding: clamp(0.9375rem, 0.0721153846rem + 1.8028846154vw, 1.875rem) clamp(1.875rem, 1.875rem + 0vw, 1.875rem) clamp(0.9375rem, 0.0721153846rem + 1.8028846154vw, 1.875rem) clamp(0.9375rem, -1.0817307692rem + 4.2067307692vw, 3.125rem);
  }
}
@media only screen and (max-width: 767px) {
  .t-mv_btn {
    padding-top: 25px;
    padding-right: 20px;
    padding-bottom: 25px;
    padding-left: 17%;
  }
}
@media only screen and (max-width: 340px) {
  .t-mv_btn {
    padding-left: 12%;
  }
}
.t-mv_btn .arrow {
  background: #333333;
}
.t-mv_btn .arrow::before, .t-mv_btn .arrow::after {
  border-top: 1px solid #fff !important;
  border-right: 1px solid #fff !important;
  background: none;
  transform: rotate(45deg) translate(0%, -50%);
}
@media screen and (min-width: 768px) and (max-width: 1600px) {
  .t-mv_btn .arrow::before, .t-mv_btn .arrow::after {
    width: clamp(0.375rem, 0.1448079232rem + 0.4801920768vw, 0.625rem) !important;
    height: clamp(0.375rem, 0.1448079232rem + 0.4801920768vw, 0.625rem) !important;
    left: clamp(0rem, -0.143870048rem + 0.300120048vw, 0.15625rem) !important;
  }
}
@media only screen and (max-width: 767px) {
  .t-mv .inner {
    width: 100%;
  }
}

.eye {
  position: relative;
  opacity: 0;
  transition: 0.7s;
}
.eye.active {
  opacity: 1;
}
.eye.active .eye-title {
  opacity: 1;
  transform: scale(1);
}
.eye-img {
  width: 100%;
  aspect-ratio: 3/1;
}
@media only screen and (max-width: 767px) {
  .eye-img {
    height: 250px;
    aspect-ratio: auto;
  }
}
.eye-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 767px) {
  .eye-img img {
    max-width: 100%;
  }
}
.eye-title {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  text-align: center;
  line-height: 1;
  color: #fff;
  opacity: 0;
  transition: 0.7s;
  transition-delay: 0.5s;
  transform: scale(0.9);
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  background: #328479;
  width: 100%;
  height: 100vh;
  opacity: 1;
  transition: opacity 0.3s ease-out;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .modal {
    height: 100svh;
  }
}

.modal.is-active {
  opacity: 0;
  pointer-events: none;
}

.modal__content_box {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  aspect-ratio: 16/10;
}
@media only screen and (max-width: 767px) {
  .modal__content_box {
    aspect-ratio: unset;
    top: 30%;
    animation: modal-content-sp 1.5s forwards;
    animation-delay: 1.5s;
  }
}

.modal__content {
  position: absolute;
  width: 38%;
  max-width: 714px;
  left: 50%;
  top: 32%;
  transform: translateX(-50%) translateY(-50%);
  animation: modal-content 1.5s forwards;
  animation-delay: 1.5s;
}
@media only screen and (max-width: 767px) {
  .modal__content {
    top: 12.5%;
    left: 2.5%;
    width: 95%;
    z-index: 9;
    transform: translateY(0);
    animation: none;
  }
}
.modal__content h2 {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .modal__content h2 {
    font-family: selef;
  }
}
.modal__content h2 svg {
  width: 100%;
  height: auto;
}
.modal__content h3 {
  font-size: clamp(0.625rem, -0.0048652695rem + 1.3173652695vw, 1.3125rem);
  font-weight: 500;
  overflow: hidden;
  display: inline-block;
  white-space: nowrap;
  width: 0;
  opacity: 0;
  animation: modal-txt 1.5s forwards;
  animation-delay: 1s;
  line-height: 1;
  margin-top: 1%;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .modal__content h3 {
    font-size: clamp(0.75rem, 0.5080645161rem + 1.2903225806vw, 1.125rem);
  }
}

#container {
  position: fixed;
  top: -8px;
  left: 0;
  width: 100%;
  height: 8px;
}

@keyframes modal-txt {
  0% {
    color: #fff;
    opacity: 0;
  }
  50% {
    color: #fff;
    opacity: 1;
  }
  100% {
    width: 100%;
    opacity: 1;
    color: #fff;
  }
}
.loading-diversity {
  fill: transparent;
  stroke: #fff;
  stroke-width: 2;
  stroke-dasharray: 10000;
  stroke-dashoffset: 10000;
  animation: draw 7s forwards, fillColor 3s forwards;
  animation-delay: 0.5s;
}

@keyframes draw {
  100% {
    stroke: #fff;
    stroke-dashoffset: 0;
  }
}
@keyframes fillColor {
  0% {
    fill: transparent;
  }
  50% {
    fill: #fff;
  }
  100% {
    fill: #fff;
    opacity: 1;
  }
}
@keyframes modal-content {
  0% {
    left: 50%;
  }
  100% {
    left: 3%;
    transform: translateX(0%) translateY(-50%);
  }
}
@keyframes modal-content-sp {
  0% {
    top: 30%;
  }
  100% {
    top: 11.8%;
  }
}
.contact-gide {
  text-align: center;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .contact-gide {
    display: none;
  }
}
.contact-gide a {
  display: block;
  padding: 100px 10px;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contact-gide a {
    padding: 9.0909090909vw 5%;
  }
}
.contact-gide a.-bg-gray {
  transition: 0.3s ease;
}
.contact-gide a.-bg-gray:hover {
  background: #328479;
  transition: 0.3s ease;
}
.contact-gide a.-bg-gray:hover .contact-gide_txt {
  transform: scale(1.1);
  transition: 0.3s ease;
}
.contact-gide_txt {
  gap: 25px;
  transition: 0.3s ease;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contact-gide_txt {
    gap: 2.5%;
  }
}
.contact-gide_txt .icon {
  width: 50px;
  line-height: 1;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .contact-gide_txt .icon {
    width: clamp(2.1875rem, 0.0281531532rem + 4.5045045045vw, 3.125rem);
  }
}
.contact-gide_txt .icon img {
  width: 100%;
  line-height: 1;
}
.contact-gide_txt .txt {
  line-height: 1;
}
.contact-gide p {
  margin-top: 10px;
}

.service_slider .slick-arrow {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #5a5a5a;
  background: #fff;
}
@media screen and (min-width: 767px) and (max-width: 1100px) {
  .service_slider .slick-arrow {
    background: #fff;
  }
}
.service_slider .slick-arrow.slick-next {
  right: -30px;
}
.service_slider .slick-arrow.slick-next::before {
  content: "";
  position: absolute;
  top: 59%;
  left: 29%;
  display: inline-block;
  width: 12px;
  height: 12px;
  border-top: 2px solid #bfbfbf;
  border-right: 2px solid #bfbfbf;
  transform: rotate(45deg) translate(-50%, -50%);
}
.service_slider .slick-arrow.slick-prev {
  left: -50px;
}
.service_slider .slick-arrow.slick-prev::before {
  content: "";
  position: absolute;
  top: 59%;
  left: 40%;
  display: inline-block;
  width: 12px;
  height: 12px;
  border-left: 2px solid #bfbfbf;
  border-bottom: 2px solid #bfbfbf;
  transform: rotate(45deg) translate(-50%, -50%);
}/*# sourceMappingURL=bandle.css.map */