@charset "UTF-8";
@font-face {
  font-family: "Din Regular";
  src: url("../webfont/Din/Regular/URWDIN-Regular.woff") format("woff"), url("../webfont/Din/Regular/URWDIN-Regular.ttf") format("truetype"), url("../webfont/Din/Regular/URWDIN-Regular.svg#svgFontName") format("svg");
  /* Legacy iOS */
}
@font-face {
  font-family: "Din Demi";
  src: url("../webfont/Din/Demi/URWDIN-Demi.woff") format("woff"), url("../webfont/Din/Demi/URWDIN-Demi.ttf") format("truetype"), url("../webfont/Din/Demi/URWDIN-Demi.svg#svgFontName") format("svg");
  /* Legacy iOS */
}
@font-face {
  font-family: "Futura Book Oblique";
  src: url("../webfont/Futura/Book Oblique/Futura-BooObl.woff") format("woff"), url("../webfont/Futura/Book Oblique/Futura-BooObl.ttf") format("truetype"), url("../webfont/Futura/Book Oblique/Futura-BooObl.svg#svgFontName") format("svg");
  /* Legacy iOS */
}
@font-face {
  font-family: "Futura Medium Oblique";
  src: url("../webfont/Futura/Medium Oblique/Futura-MedObl.woff") format("woff"), url("../webfont/Futura/Medium Oblique/Futura-MedObl.ttf") format("truetype"), url("../webfont/Futura/Medium Oblique/Futura-MedObl.svg#svgFontName") format("svg");
  /* Legacy iOS */
}
@font-face {
  font-family: "Futura Dem Oblique";
  src: url("../webfont/Futura/Dem Oblique/Futura-DemObl.woff") format("woff"), url("../webfont/Futura/Dem Oblique/Futura-DemObl.ttf") format("truetype"), url("../webfont/Futura/Dem Oblique/Futura-DemObl.svg#svgFontName") format("svg");
  /* Legacy iOS */
}
/*
smooth_font(最小サイズpx、最大サイズpx、最小画面サイズpx、最大画面サイズpx）
smooth_size(最小サイズpx、最大サイズpx、最小画面サイズpx、最大画面サイズpx）

指定した「最小画面サイズ」から「最大画面サイズ」へむけて、変化します。

「smooth_font」と「smooth_size」の違いは、
「smooth_font」は「rem」
「smooth_size」は「px」
になるだけです。

※注
・デフォルトでは第3引数と第4引数がなくても横幅375pxから横幅1600pxの割合で変化します。
・「最大画面サイズ」より画面サイズが大きかったり、「最小画面サイズ」より画面サイズが小さい場合は
比率を維持したまま、大きくなったり小さくなったりします。
必要があれば、media queryなどで上限や下限を指定してください。

例）-----------------------------

body {
  font-size: 1.8rem;
  @media only screen and (max-width: 1599px) {
    font-size: smooth_font(14px, 18px);
  }
  @media only screen and (max-width: 374px) {
    font-size: 1.4rem;
  }
}

.c-container {
  margin: 0 auto;
  max-width: 1110px;
  width: smooth_size(335px, 1110px);

  @media only screen and (max-width: 374px) {
    // 横幅320pxの時など
    width: 280px;
  }
}

--------------------------------

*/
.-bold.c-text01, .-bold.c-text02, .-bold.c-text03, .-bold.c-text04 {
  font-weight: 600;
}
.-regular.c-text01, .-regular.c-text02, .-regular.c-text03, .-regular.c-text04 {
  font-weight: 400;
}
.-center.c-text01, .-center.c-text02, .-center.c-text03, .-center.c-text04 {
  text-align: center;
}
.-blue.c-text01, .-blue.c-text02, .-blue.c-text03, .-blue.c-text04 {
  color: #006eaf;
}

.c-post_content h2, .c-post_content h3, .c-post_content h4 {
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  position: relative;
}
.c-post_content p + h2, .c-post_content p + h3, .c-post_content p + h4, .c-post_content h2 + h2, .c-post_content h3 + h2, .c-post_content h4 + h2, .c-post_content h2 + h3, .c-post_content h3 + h3, .c-post_content h4 + h3, .c-post_content h2 + h4, .c-post_content h3 + h4, .c-post_content h4 + h4 {
  margin-top: 2em;
}

/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

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

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
picture,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

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

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

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

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

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

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

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

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

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

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

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

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

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

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

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

html {
  font-size: 62.5%;
}

body {
  background: #fff;
  color: #000;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "YuGothic", "游ゴシック体", "Noto Sans JP", "BIZ UDPGothic", Meiryo, "Helvetica Neue", Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  text-indent: calc(0vw + 0rem);
  letter-spacing: 0.1em;
  line-height: 2;
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  body {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
body.is-fixed {
  overflow: hidden;
}

#page {
  position: relative;
  overflow: hidden;
  font-weight: 400;
  opacity: 0;
}

figure,
picture {
  display: block;
}

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

.js-svg {
  width: 1em;
  height: 1em;
}
img.js-svg {
  opacity: 0;
}

svg.js-svg {
  opacity: 1;
}

svg {
  overflow: hidden;
}

table {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
}

th,
td {
  border: 1px solid #ccc;
  vertical-align: top;
}

/*----------------------------------------------------
	form要素
--------------------------------------------------- */
input,
textarea {
  padding: 5px 7px;
  border-radius: 2px;
  margin: 0;
  border: none;
  background-color: #fff;
  border: 1px solid #a7a6aa;
}

input[type=text],
textarea {
  outline: none;
  border: 1px solid #aaa;
  transition: all 0.3s ease;
}

input[type=text]:focus,
textarea:focus {
  border-color: #006eaf;
}

@keyframes ripple {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    opacity: 0.3;
  }
  100% {
    width: 120%;
    opacity: 0;
  }
}
@keyframes arrow {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  40% {
    opacity: 0;
  }
  49.9% {
    opacity: 0;
    transform: translateX(50%);
  }
  50% {
    opacity: 0;
    transform: translateX(-50%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes arrowReverse {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  40% {
    opacity: 0;
  }
  49.9% {
    opacity: 0;
    transform: translateX(-50%);
  }
  50% {
    opacity: 0;
    transform: translateX(50%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.l-header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5000;
  height: 100px;
  transition-duration: 1s;
  transition-property: height, top;
}
@media only screen and (max-width: 1599px) {
  .l-header {
    height: calc(0.8163265306vw + 86.9387755102px);
  }
}
@media only screen and (max-width: 1299px) {
  .l-header {
    top: calc(-0.8163265306vw + -86.9387755102px);
  }
}
.l-header:before {
  pointer-events: none;
  content: "";
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.is-top .l-header {
  height: 120px;
}
@media only screen and (max-width: 1599px) {
  .is-top .l-header {
    height: calc(2.4489795918vw + 80.8163265306px);
  }
}
@media only screen and (max-width: 1299px) {
  .is-up .l-header {
    top: 0;
  }
}
.l-header.is-fixed {
  top: 0;
}
.l-header.is-fixed .l-header__logo {
  opacity: 0;
  visibility: hidden;
}
.l-header__inner {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 1299px) {
  .l-header__inner {
    justify-content: space-between;
  }
}
.l-header__logo {
  position: relative;
  opacity: 1;
  visibility: visible;
  transition-duration: 0.5s;
  transition-property: opacity, visibility;
}
.l-header__logo a {
  display: block;
}
.l-header__logo img {
  transition-duration: 1s;
  max-height: 50px;
}
@media only screen and (max-width: 1599px) {
  .l-header__logo img {
    max-height: calc(3.3333333333vw + -3.3px);
  }
}
@media only screen and (max-width: 1299px) {
  .l-header__logo img {
    max-height: calc(0.8163265306vw + 36.9387755102px);
  }
}
.l-header__nav {
  height: 100%;
  display: flex;
  margin-left: auto;
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .l-header__nav {
    font-size: calc(1vw + 0.001rem);
  }
}
@media only screen and (max-width: 1299px) {
  .l-header__nav {
    display: none;
  }
}
.l-header__nav > li {
  display: flex;
}
.l-header__nav > li.-link {
  position: relative;
}
.l-header__nav > li.-link:before {
  content: "";
  width: 100%;
  border-top: 3px solid #006eaf;
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(0, 1);
  transform-origin: center top;
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .l-header__nav > li.-link:hover:before {
    transform: scale(1, 1);
  }
}
.l-header__nav > li.-link a {
  color: #333;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
}
@media only screen and (max-width: 1599px) {
  .l-header__nav > li.-link a {
    padding: 0 calc(0.8163265306vw + 6.9387755102px);
  }
}
.l-header__buttonarea {
  display: flex;
  gap: 20px;
  position: relative;
  margin-left: 20px;
}
@media only screen and (max-width: 1599px) {
  .l-header__buttonarea {
    gap: calc(0.8163265306vw + 6.9387755102px);
    margin-left: calc(0.8163265306vw + 6.9387755102px);
  }
}
@media only screen and (max-width: 1299px) {
  .l-header__buttonarea {
    display: none;
  }
}
.l-header__buttonarea .c-button02 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .l-header__buttonarea .c-button02 {
    font-size: calc(1vw + 0.001rem);
  }
}
.l-header__buttonarea .c-button02.-search a {
  min-width: 9.25em;
  background-color: #525760;
}

.l-header_megamenu {
  height: 100%;
  display: flex;
}
@media (hover: hover) {
  .l-header_megamenu:hover .l-header_megamenu__parent:before {
    transform: scale(1, 1);
  }
}
.l-header_megamenu__parent {
  position: relative;
  z-index: 10;
  font-weight: 600;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  padding: 0 20px;
}
@media only screen and (max-width: 1599px) {
  .l-header_megamenu__parent {
    padding: 0 calc(0.8163265306vw + 6.9387755102px);
  }
}
.l-header_megamenu__parent:before {
  content: "";
  width: 100%;
  border-top: 3px solid #006eaf;
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(0, 1);
  transform-origin: center top;
  transition-duration: 0.5s;
}
.l-header_megamenu__parent .c-ico {
  color: #006eaf;
  position: absolute;
  top: calc(50% + 1.5em);
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
}
.l-header_megamenu__child {
  width: 100vw;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  transition-duration: 0.5s;
  transition-property: top, opacity, visibility;
  opacity: 0;
  visibility: hidden;
}
.l-header_megamenu__child:before {
  content: "";
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #333;
  opacity: 0.6;
  z-index: -10;
}
.l-header_megamenu:hover .l-header_megamenu__child {
  opacity: 1;
  visibility: visible;
  z-index: -1;
  top: 100px;
}
@media only screen and (max-width: 1599px) {
  .l-header_megamenu:hover .l-header_megamenu__child {
    top: calc(0.8163265306vw + 86.9387755102px);
  }
}
.is-top .l-header_megamenu:hover .l-header_megamenu__child {
  top: 120px;
}
@media only screen and (max-width: 1599px) {
  .is-top .l-header_megamenu:hover .l-header_megamenu__child {
    top: calc(2.4489795918vw + 80.8163265306px);
  }
}

.l-header_megamenu_content {
  background-color: #f4f4f6;
  padding: 70px 0;
}
@media only screen and (max-width: 1599px) {
  .l-header_megamenu_content {
    padding: calc(2.8571428571vw + 24.2857142857px) 0;
  }
}
.l-header_megamenu_content__inner {
  display: flex;
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .l-header_megamenu_content__inner {
    gap: calc(1.6326530612vw + 13.8775510204px);
  }
}
.l-header_megamenu_content__head {
  width: 100%;
  flex: 3;
}
.l-header_megamenu_content__head .c-heading01 {
  font-size: 2.4rem;
}
@media only screen and (max-width: 1599px) {
  .l-header_megamenu_content__head .c-heading01 {
    font-size: calc(0.6530612245vw + 1.3551020408rem);
  }
}
.l-header_megamenu_content__head .c-heading01 .ja {
  margin-top: 0.2em;
}
.l-header_megamenu_content__body {
  width: 100%;
  flex: 10;
}

.l-header_megamenu_content_card a {
  display: block;
}
.l-header_megamenu_content_card__img {
  border-radius: 10px;
  overflow: hidden;
}
.l-header_megamenu_content_card__img img {
  width: 100%;
  max-width: none;
}
.l-header_megamenu_content_card__title {
  font-size: 1.8rem;
  font-weight: 600;
  margin-top: 0.75em;
}
@media only screen and (max-width: 1599px) {
  .l-header_megamenu_content_card__title {
    font-size: calc(0.2448979592vw + 1.4081632653rem);
  }
}

.l-header_megamenu_content_card_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .l-header_megamenu_content_card_list {
    gap: calc(1.6326530612vw + 13.8775510204px);
  }
}
@media only screen and (max-width: 1299px) {
  .l-header_megamenu_content_card_list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.c-hamburger {
  cursor: pointer;
  pointer-events: visible;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  visibility: visible;
  width: calc(2.4489795918vw + 50.8163265306px);
  height: calc(2.4489795918vw + 50.8163265306px);
  border-radius: 50%;
  border: 1px solid;
  color: #525760;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Regular", sans-serif;
  font-size: calc(0.4897959184vw + 1.0163265306rem);
  line-height: 1;
  display: none;
}
@media only screen and (max-width: 1299px) {
  .c-hamburger {
    display: flex;
  }
}
.c-hamburger.is-act .bar:before, .c-hamburger.is-act .bar:after {
  opacity: 0;
}
.c-hamburger.is-act .bar svg,
.c-hamburger.is-act .bar img {
  opacity: 1;
}
.c-hamburger.is-act .text span {
  top: -2em;
}
.c-hamburger.is-act .text:after {
  bottom: 0;
}
.c-hamburger .bar {
  width: 60px;
  height: 12px;
  position: relative;
  margin: 0.5em auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 1599px) {
  .c-hamburger .bar {
    width: calc(2.4489795918vw + 20.8163265306px);
    height: calc(0.4897959184vw + 4.1632653061px);
  }
}
.c-hamburger .bar:before, .c-hamburger .bar:after {
  content: "";
  height: calc(0.0408163265vw + 0.3469387755px);
  width: 100%;
  position: absolute;
  background-color: currentColor;
}
.c-hamburger .bar:before {
  top: 0;
}
.c-hamburger .bar:after {
  bottom: 0;
}
.c-hamburger .bar svg,
.c-hamburger .bar img {
  width: 100%;
  height: auto;
  opacity: 0;
}
.c-hamburger .text {
  display: block;
  position: relative;
  overflow: hidden;
}
.c-hamburger .text span {
  position: relative;
  top: 0;
  transition-duration: 0.5s;
  transition-property: top;
}
.c-hamburger .text:after {
  content: attr(data-text);
  display: block;
  width: 100%;
  position: absolute;
  bottom: -2em;
  left: 0;
  transition-duration: 0.5s;
  transition-property: bottom;
}

.l-header_recruit {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5000;
  padding-left: 100px;
  transition-duration: 0.3s;
  transition-property: top, visibility, opacity;
}
@media only screen and (max-width: 1599px) {
  .l-header_recruit {
    padding-left: calc(6.1224489796vw + 2.0408163265px);
  }
}
.is-down .l-header_recruit {
  top: -5%;
  visibility: hidden;
  opacity: 0;
}
.l-header_recruit.is-fixed {
  top: 0;
  visibility: visible;
  opacity: 1;
}
.l-header_recruit.is-fixed .l-header_recruit__nav {
  visibility: hidden;
  opacity: 0;
  transform: translateX(10%);
}
.l-header_recruit__inner {
  display: flex;
  align-items: center;
  width: 100%;
}
@media only screen and (max-width: 1299px) {
  .l-header_recruit__inner {
    justify-content: space-between;
  }
}
.l-header_recruit__logo {
  position: relative;
  opacity: 1;
  visibility: visible;
  transition-duration: 0.5s;
  transition-property: opacity, visibility;
}
.l-header_recruit__logo a {
  display: block;
}
.l-header_recruit__logo img {
  transition-duration: 1s;
  max-height: 57px;
}
@media only screen and (max-width: 1599px) {
  .l-header_recruit__logo img {
    max-height: calc(9vw + -86.91px);
  }
}
@media only screen and (max-width: 1299px) {
  .l-header_recruit__logo img {
    max-height: calc(2.2040816327vw + 21.7346938776px);
  }
}
.l-header_recruit__content {
  margin-left: auto;
  display: flex;
}
.l-header_recruit__nav {
  display: flex;
  align-items: center;
  gap: 3em;
  padding: 0 3em;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 500;
  border: 3px solid #d4420a;
  border-right: 0;
  background-color: #fff;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media only screen and (max-width: 1599px) {
  .l-header_recruit__nav {
    font-size: calc(0.5714285714vw + 0.8857142857rem);
    border-width: calc(0.1224489796vw + 1.0408163265px);
  }
}
@media only screen and (max-width: 1023px) {
  .l-header_recruit__nav {
    display: none;
  }
}
.l-header_recruit__nav > li {
  margin-bottom: -0.75em;
}
.l-header_recruit__nav > li a {
  display: inline-block;
  position: relative;
  padding-bottom: 0.2em;
}
.l-header_recruit__nav > li a:after {
  content: "";
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid #d4420a;
  transform: scaleX(0);
  transform-origin: right;
  transition-property: transform;
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .l-header_recruit__nav > li a:hover:after {
    transform: scaleX(1);
    transform-origin: left;
  }
}
.l-header_recruit__buttonarea {
  display: flex;
  position: relative;
  z-index: 10;
}
.l-header_recruit__entry {
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Dem Oblique", sans-serif;
  width: 120px;
  aspect-ratio: 1/1;
  background-color: #fff;
}
@media only screen and (max-width: 1599px) {
  .l-header_recruit__entry {
    width: calc(4.0816326531vw + 54.693877551px);
  }
}
.l-header_recruit__entry a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border: 3px solid #d4420a;
  width: 100%;
  height: 100%;
  gap: 0.5em;
  line-height: 1;
  transition-duration: 0.5s;
}
@media only screen and (max-width: 1599px) {
  .l-header_recruit__entry a {
    border-width: calc(0.1224489796vw + 1.0408163265px);
  }
}
@media (hover: hover) {
  .l-header_recruit__entry a:hover {
    background-color: #d4420a;
    color: #fff;
  }
}
.l-header_recruit__entry a .c-ico {
  font-size: 1.06em;
}

.c-hamburger_recruit {
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Dem Oblique", sans-serif;
  width: 120px;
  aspect-ratio: 1/1;
  cursor: pointer;
  pointer-events: visible;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  visibility: visible;
  color: #fff;
  background-color: #d4420a;
}
@media only screen and (max-width: 1599px) {
  .c-hamburger_recruit {
    width: calc(4.0816326531vw + 54.693877551px);
  }
}
@media (hover: hover) {
  .c-hamburger_recruit:hover .bar:after {
    width: 50%;
  }
  .c-hamburger_recruit:hover .bar span {
    width: 75%;
  }
}
.c-hamburger_recruit.is-act .bar:before {
  transform: rotate(36deg);
  top: 45%;
}
.c-hamburger_recruit.is-act .bar:after {
  transform: rotate(-36deg);
  top: 45%;
  width: 100% !important;
}
.c-hamburger_recruit.is-act .bar span {
  display: none;
}
.c-hamburger_recruit.is-act .text span {
  top: -2em;
}
.c-hamburger_recruit.is-act .text:after {
  bottom: 0;
}
.c-hamburger_recruit .bar {
  width: 40px;
  height: 20px;
  position: relative;
  margin: 0 auto;
}
@media only screen and (max-width: 1599px) {
  .c-hamburger_recruit .bar {
    width: calc(0.8163265306vw + 26.9387755102px);
    height: calc(0.4081632653vw + 13.4693877551px);
  }
}
.c-hamburger_recruit .bar span, .c-hamburger_recruit .bar:before, .c-hamburger_recruit .bar:after {
  content: "";
  height: 1px;
  width: 100%;
  position: absolute;
  background-color: #fff;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.c-hamburger_recruit .bar:before {
  top: 0;
}
.c-hamburger_recruit .bar:after {
  bottom: 0;
}
.c-hamburger_recruit .bar span {
  top: 50%;
  transform: translateY(-50%);
}
.c-hamburger_recruit .text {
  display: block;
  position: relative;
  overflow: hidden;
  line-height: 1;
  margin-top: 0.3em;
}
.c-hamburger_recruit .text span {
  position: relative;
  top: 0;
  transition-duration: 0.5s;
  transition-property: top;
}
.c-hamburger_recruit .text:after {
  content: attr(data-text);
  display: block;
  width: 100%;
  position: absolute;
  bottom: -2em;
  left: 0;
  transition-duration: 0.5s;
  transition-property: bottom;
}

.l-footer {
  width: 100%;
  padding-top: 120px;
  padding-bottom: 20px;
}
@media only screen and (max-width: 1599px) {
  .l-footer {
    padding-top: calc(4.8979591837vw + 41.6326530612px);
  }
}
.l-footer__inner {
  display: flex;
  gap: 80px;
}
@media only screen and (max-width: 1599px) {
  .l-footer__inner {
    gap: calc(2.4489795918vw + 40.8163265306px);
  }
}
@media only screen and (max-width: 1299px) {
  .l-footer__inner {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__inner {
    flex-direction: column-reverse;
  }
}
.l-footer__company {
  flex-shrink: 0;
}
@media only screen and (max-width: 1299px) {
  .l-footer__company {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
.l-footer__nav {
  position: relative;
  width: 100%;
  border-top: 1px solid #525760;
  padding-top: 40px;
  display: flex;
  flex-wrap: wrap;
  gap: 30px 60px;
}
@media only screen and (max-width: 1599px) {
  .l-footer__nav {
    gap: 30px calc(1.6326530612vw + 33.8775510204px);
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__nav {
    border: 0;
    padding-top: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__nav:before {
    content: "";
    border-right: 1px solid #d8dbe0;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
.l-footer__logo {
  margin-bottom: 30px;
}
.l-footer__logo a {
  display: block;
}
.l-footer__logo img {
  width: auto;
  max-height: 77px;
}
@media only screen and (max-width: 1599px) {
  .l-footer__logo img {
    max-height: calc(1.387755102vw + 54.7959183673px);
  }
}
.l-footer__info {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0;
}
.l-footer__copyright {
  text-align: center;
  margin-top: 160px;
}
@media only screen and (max-width: 1599px) {
  .l-footer__copyright {
    margin-top: calc(9.7959183673vw + 3.2653061224px);
  }
}

.l-footer_link + .l-footer_link {
  margin-top: 0.5em;
}
.l-footer_link__head a {
  display: inline-block;
  position: relative;
}
.l-footer_link__head a:after {
  content: "";
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid;
  transform: scaleX(0);
  transform-origin: right;
  transition-property: transform;
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .l-footer_link__head a:hover:after {
    transform: scaleX(1);
    transform-origin: left;
  }
}
.l-footer_link__body {
  font-size: 1.4rem;
  margin-top: 0.4em;
}
@media only screen and (max-width: 1599px) {
  .l-footer_link__body {
    font-size: calc(0.0816326531vw + 1.2693877551rem);
  }
}
.l-footer_link__body ul > li + li {
  margin-top: 0.2em;
}
.l-footer_link__body a {
  display: block;
  color: #7e889a;
  position: relative;
  padding-left: 1.3em;
}
.l-footer_link__body a:before {
  display: block;
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
}
.l-footer_link__body a span {
  display: inline-block;
  position: relative;
}
.l-footer_link__body a span:after {
  content: "";
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid;
  transform: scaleX(0);
  transform-origin: right;
  transition-property: transform;
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .l-footer_link__body a:hover span:after {
    transform: scaleX(1);
    transform-origin: left;
  }
}

.c-text01 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .c-text01 {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
.c-text01.-mt-s {
  margin-top: 1em;
}
.c-text01.-mb-s {
  margin-bottom: 1.2em;
}
.c-text01.-mb-l {
  margin-bottom: 50px;
}
@media only screen and (max-width: 1599px) {
  .c-text01.-mb-l {
    margin-bottom: calc(1.6326530612vw + 23.8775510204px);
  }
}
.c-text02 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 1599px) {
  .c-text02 {
    font-size: calc(0.1632653061vw + 1.1387755102rem);
  }
}
.c-text03 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 1599px) {
  .c-text03 {
    font-size: calc(0.2448979592vw + 1.4081632653rem);
  }
}
.c-text03.-mt-m {
  margin-top: 1em;
}
.c-text03.-mb-s {
  margin-bottom: 0.5em;
}
.c-text04 {
  font-size: 2rem;
}
@media only screen and (max-width: 1599px) {
  .c-text04 {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.c-text04.-mt-m {
  margin-top: 2em;
}
.c-text04.-mb-s {
  margin-bottom: 1em;
}

.c-text_list p + p {
  margin-top: 2em;
}
.c-text_list.js-anim_elm p {
  opacity: 0;
  transform: translateY(1em);
  transition-property: opacity, transform;
  transition-duration: 1s;
}
.c-text_list.js-anim_elm p:nth-child(0) {
  transition-delay: -0.1s;
}
.c-text_list.js-anim_elm p:nth-child(1) {
  transition-delay: 0s;
}
.c-text_list.js-anim_elm p:nth-child(2) {
  transition-delay: 0.1s;
}
.c-text_list.js-anim_elm p:nth-child(3) {
  transition-delay: 0.2s;
}
.c-text_list.js-anim_elm p:nth-child(4) {
  transition-delay: 0.3s;
}
.c-text_list.js-anim_elm p:nth-child(5) {
  transition-delay: 0.4s;
}
.c-text_list.js-anim_elm p:nth-child(6) {
  transition-delay: 0.5s;
}
.c-text_list.js-anim_elm p:nth-child(7) {
  transition-delay: 0.6s;
}
.c-text_list.js-anim_elm p:nth-child(8) {
  transition-delay: 0.7s;
}
.c-text_list.js-anim_elm p:nth-child(9) {
  transition-delay: 0.8s;
}
.c-text_list.js-anim_elm p:nth-child(10) {
  transition-delay: 0.9s;
}
.c-text_list.js-anim_elm.is-act p {
  opacity: 1;
  transform: translateY(0);
}

.c-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  fill: currentColor;
  flex-shrink: 0;
}
.c-ico svg,
.c-ico img {
  width: auto;
  height: 1em;
}

.c-arrow01 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  position: relative;
  z-index: 10;
  color: #fff;
  font-size: 2rem;
  flex-shrink: 0;
}
@media only screen and (max-width: 1599px) {
  .c-arrow01 {
    width: calc(0.8163265306vw + 36.9387755102px);
    height: calc(0.8163265306vw + 36.9387755102px);
    font-size: calc(0.3265306122vw + 1.4775510204rem);
  }
}
.c-arrow01:before, .c-arrow01:after {
  content: "";
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-arrow01:before {
  width: 100%;
  height: 100%;
  background-color: #f4f4f6;
  z-index: -1;
}
.c-arrow01:after {
  content: "";
  width: 6%;
  height: 6%;
  background-color: #d4420a;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  transition-duration: 0.5s;
}
@media (hover: hover) {
  a:hover .c-arrow01:after, button:hover .c-arrow01:after {
    width: 100%;
    height: 100%;
  }
}
@media (hover: none) {
  .c-arrow01:after {
    width: 100%;
    height: 100%;
  }
}
.c-arrow01 .c-ico svg,
.c-arrow01 .c-ico img {
  position: relative;
  z-index: 30;
  opacity: 0;
  transform: scale(0);
  transition-duration: 0.5s;
}
@media (hover: hover) {
  a:hover .c-arrow01 .c-ico svg, button:hover .c-arrow01 .c-ico svg,
a:hover .c-arrow01 .c-ico img,
button:hover .c-arrow01 .c-ico img {
    opacity: 1;
    transform: scale(1);
  }
}
@media (hover: none) {
  .c-arrow01 .c-ico svg,
.c-arrow01 .c-ico img {
    opacity: 1;
    transform: scale(1);
  }
}
.c-arrow01.-white:before {
  background-color: #fff;
}
.c-arrow02 {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 1px solid #d8dbe0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 1599px) {
  .c-arrow02 {
    width: calc(1.6326530612vw + 43.8775510204px);
    height: calc(1.6326530612vw + 43.8775510204px);
  }
}
.c-arrow02 .c-ico {
  height: 20%;
}
.c-arrow02 .c-ico svg,
.c-arrow02 .c-ico img {
  height: 100%;
}
@media (hover: hover) {
  a:hover .c-arrow02 .c-ico svg,
a:hover .c-arrow02 .c-ico img {
    animation: arrow 0.5s;
  }
}

.c-img01 {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-img01.-radius img {
  border-radius: 10px;
}
.c-img01.-full img {
  width: 100%;
  max-width: none;
}
.c-img01.-left {
  justify-content: flex-start;
}
.c-img01.-mt-m {
  margin-top: 100px;
}
@media only screen and (max-width: 1599px) {
  .c-img01.-mt-m {
    margin-top: calc(4.0816326531vw + 34.693877551px);
  }
}

.c-img01_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .c-img01_list {
    gap: calc(1.6326530612vw + 13.8775510204px);
  }
}
.c-img01_list.-col4 {
  grid-template-columns: repeat(4, 1fr);
}
@media only screen and (max-width: 1023px) {
  .c-img01_list.-col4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-img01_list.-mt-m {
  margin-top: 40px;
}
@media only screen and (max-width: 1599px) {
  .c-img01_list.-mt-m {
    margin-top: calc(0.8163265306vw + 26.9387755102px);
  }
}

.c-cat01 {
  display: inline-block;
  font-size: 1.2rem;
  color: #fff;
  background-color: #525760;
  border-radius: 9999px;
  padding: 0.3em 1.5em;
}
@media only screen and (max-width: 1599px) {
  .c-cat01 {
    font-size: calc(0.0816326531vw + 1.0693877551rem);
  }
}
.c-cat01.-link {
  color: #525760;
  background-color: #f4f4f6;
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .c-cat01.-link:hover {
    color: #fff;
    background-color: #525760;
  }
}
.c-cat01.-current {
  color: #fff;
  background-color: #525760;
}
.-archive .c-cat01 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .-archive .c-cat01 {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
.c-cat02 {
  font-size: 1.5rem;
  transition-duration: 0.5s;
}
@media only screen and (max-width: 1599px) {
  .c-cat02 {
    font-size: calc(0.1632653061vw + 1.2387755102rem);
  }
}
@media (hover: hover) {
  .c-cat02:hover {
    color: #006eaf;
  }
}
.c-cat02.-current {
  color: #006eaf;
  font-weight: 600;
}

.c-cat01_list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
@media only screen and (max-width: 1599px) {
  .c-cat01_list {
    gap: calc(0.4081632653vw + 8.4693877551px);
  }
}
.c-cat01_list.-mb-m {
  margin-bottom: 80px;
}
@media only screen and (max-width: 1599px) {
  .c-cat01_list.-mb-m {
    margin-bottom: calc(3.2653061224vw + 27.7551020408px);
  }
}
.c-cat01_list.-mb-s {
  margin-bottom: 30px;
}
@media only screen and (max-width: 1599px) {
  .c-cat01_list.-mb-s {
    margin-bottom: calc(0.8163265306vw + 16.9387755102px);
  }
}

.c-cat02_list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 50px;
}
@media only screen and (max-width: 1599px) {
  .c-cat02_list {
    gap: calc(0.4081632653vw + 8.4693877551px) calc(1.6326530612vw + 23.8775510204px);
  }
}
.c-cat02_list.-mb-m {
  margin-bottom: 80px;
}
@media only screen and (max-width: 1599px) {
  .c-cat02_list.-mb-m {
    margin-bottom: calc(3.2653061224vw + 27.7551020408px);
  }
}
.c-cat02_list.-mb-s {
  margin-bottom: 30px;
}
@media only screen and (max-width: 1599px) {
  .c-cat02_list.-mb-s {
    margin-bottom: calc(0.8163265306vw + 16.9387755102px);
  }
}

.c-post_link01 a {
  display: block;
  padding: 30px 0;
  border-bottom: 1px solid #d2d3d6;
  transition-duration: 0.5s;
  transition-property: background-color, color;
}
@media only screen and (max-width: 1599px) {
  .c-post_link01 a {
    padding: calc(0.8163265306vw + 16.9387755102px) 0;
  }
}
@media (hover: hover) {
  .c-post_link01 a:hover {
    background-color: #f7f7f9;
    color: #d4420a;
  }
}
.c-post_link01__head {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
@media only screen and (max-width: 1599px) {
  .c-post_link01__head {
    margin-bottom: calc(0.8163265306vw + 16.9387755102px);
  }
}
.c-post_link01__head time {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Regular", sans-serif;
  margin-right: 1.5em;
  color: #525760;
}
.c-post_link01__title {
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  display: -webkit-box;
  overflow: hidden;
}
.c-post_link01.-row a {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 1023px) {
  .c-post_link01.-row a {
    display: block;
  }
}
.c-post_link01.-row .c-post_link01__head {
  margin-bottom: 0;
  margin-right: 20px;
  min-width: 260px;
}
@media only screen and (max-width: 1599px) {
  .c-post_link01.-row .c-post_link01__head {
    min-width: calc(4.8979591837vw + 181.6326530612px);
  }
}
@media only screen and (max-width: 1023px) {
  .c-post_link01.-row .c-post_link01__head {
    min-width: auto;
    margin-bottom: calc(0.8163265306vw + 16.9387755102px);
  }
}

.c-post_link01_list {
  display: flex;
  flex-direction: column;
  margin-top: -30px;
}
@media only screen and (max-width: 1599px) {
  .c-post_link01_list {
    margin-top: calc(-0.8163265306vw + -16.9387755102px);
  }
}

.c-card01 a {
  display: block;
}
.c-card01__img {
  border-radius: 10px;
  overflow: hidden;
}
.c-card01__img img {
  width: 100%;
  max-width: none;
}
.c-card01__title {
  font-size: 1.8rem;
  font-weight: 600;
  margin-top: 0.75em;
}
@media only screen and (max-width: 1599px) {
  .c-card01__title {
    font-size: calc(0.2448979592vw + 1.4081632653rem);
  }
}
.c-card02 a {
  display: block;
}
.c-card02__img {
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
}
.c-card02__img img {
  width: 100%;
  max-width: none;
}
.c-card02__title {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 0.8em;
}
@media only screen and (max-width: 1599px) {
  .c-card02__title {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.c-card03__img {
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 10px;
}
.c-card03__img img {
  width: 100%;
  max-width: none;
}
.c-card03__title {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
}
@media only screen and (max-width: 1599px) {
  .c-card03__title {
    font-size: calc(0.2448979592vw + 1.4081632653rem);
  }
}

.c-card01_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .c-card01_list {
    gap: calc(1.6326530612vw + 13.8775510204px);
  }
}
@media only screen and (max-width: 1023px) {
  .c-card01_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .c-card01_list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.c-card01_list.-col4 {
  grid-template-columns: repeat(4, 1fr);
}
@media only screen and (max-width: 1023px) {
  .c-card01_list.-col4 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .c-card01_list.-col4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.c-card02_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .c-card02_list {
    gap: calc(1.6326530612vw + 13.8775510204px);
  }
}
@media only screen and (max-width: 1023px) {
  .c-card02_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .c-card02_list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.c-card03_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .c-card03_list {
    gap: calc(1.6326530612vw + 13.8775510204px);
  }
}
@media only screen and (max-width: 1023px) {
  .c-card03_list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.c-checkbox01 {
  cursor: pointer;
}
.c-checkbox01 label {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.c-checkbox01 input[type=checkbox] {
  display: none;
}
.c-checkbox01 input[type=checkbox] + span {
  position: relative;
  display: flex;
}
.c-checkbox01 input[type=checkbox] + span:before {
  content: "";
  flex-shrink: 0;
  font-size: 1em;
  background-color: #fff;
  border: 1px solid #7e889a;
  border-radius: 3px;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  margin-top: 0.45em;
  cursor: pointer;
  text-align: center;
}
.c-checkbox01 input[type=checkbox]:checked + span:before {
  background-color: #006eaf;
  border-color: #006eaf;
}
.c-checkbox01 input[type=checkbox]:checked + span:after {
  content: "";
  position: absolute;
  display: block;
  width: 0.7em;
  height: 0.35em;
  margin-top: -0.1em;
  top: 0.8em;
  left: 0.15em;
  transform: rotate(-45deg);
  border-bottom: 2px solid;
  border-left: 2px solid;
  border-color: #fff;
}

.c-checkbox01_list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1.75em;
}

.c-search__foot {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 70px;
}
@media only screen and (max-width: 1599px) {
  .c-search__foot {
    margin-top: calc(2.4489795918vw + 30.8163265306px);
  }
}
.c-search__count {
  display: flex;
  align-items: center;
  font-weight: 600;
  margin-right: 2em;
  border-bottom: 1px solid;
}
.c-search__count .num {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  color: #006eaf;
  line-height: 1;
  font-size: 1.625em;
  margin-right: 0.1em;
  margin-top: -0.1em;
}

.c-search_select {
  display: block;
  position: relative;
  width: 100%;
  max-width: 500px;
  z-index: 10;
}
.c-search_select select {
  width: 100%;
  padding: 0.75em 1.5em;
  background-color: #fff;
  border: 2px solid #006eaf;
  border-radius: 10px;
  cursor: pointer;
}
.c-search_select .c-ico {
  font-size: 2rem;
  background-color: #006eaf;
  color: #fff;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  aspect-ratio: 1/1;
  border-radius: 0 10px 10px 0;
}
@media only screen and (max-width: 1599px) {
  .c-search_select .c-ico {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.c-search_select .c-ico svg,
.c-search_select .c-ico img {
  transform: rotate(90deg);
}

.c-search_word {
  position: relative;
}
.c-search_word input {
  font-size: 1em;
  width: 100%;
  padding: 0.75em 1em;
  padding-left: 3.5em;
  border-radius: 10px;
  background-color: #fff;
  border: 1px solid #707070;
}
.c-search_word input::placeholder {
  color: #aaa;
}
.c-search_word .c-ico {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 1em;
  transform: translateY(-50%);
  padding: 0.5em;
}

.c-table01 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 1599px) {
  .c-table01 {
    font-size: calc(0.2448979592vw + 1.4081632653rem);
  }
}
.c-table01 > dl {
  display: flex;
  gap: 2em;
}
@media only screen and (max-width: 767px) {
  .c-table01 > dl {
    flex-direction: column;
    gap: 1em;
  }
}
.c-table01 > dl + dl {
  margin-top: 2em;
}
.c-table01 > dl > dt,
.c-table01 > dl > dd {
  padding-bottom: 2em;
}
@media only screen and (max-width: 767px) {
  .c-table01 > dl > dt,
.c-table01 > dl > dd {
    padding-bottom: 1em;
  }
}
.c-table01 > dl > dt {
  font-weight: 400;
  width: 100%;
  max-width: 8.3em;
  border-bottom: 1px solid #006eaf;
}
@media only screen and (max-width: 767px) {
  .c-table01 > dl > dt {
    max-width: none;
  }
}
.c-table01 > dl > dd {
  width: 100%;
  border-bottom: 1px solid #d8dbe0;
}

.c-table_dl01 {
  display: flex;
}
.c-table_dl01 > dt {
  padding-left: 0.75em;
  margin-right: 0.5em;
  position: relative;
  font-weight: 400;
  flex-shrink: 0;
}
.c-table_dl01 > dt:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.c-link01 {
  color: #006eaf;
  display: flex;
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .c-link01 {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
.c-link01 a {
  display: flex;
  align-items: center;
}
@media (hover: hover) {
  .c-link01 a:hover .en:after {
    transform: scaleX(0);
    transform-origin: right;
  }
}
.c-link01 .en {
  display: inline-block;
  position: relative;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Regular", sans-serif;
  margin-left: 0.2em;
}
.c-link01 .en:after {
  content: "";
  width: 100%;
  position: absolute;
  bottom: 0.5em;
  left: 0;
  border-bottom: 1px solid;
  transform: scaleX(1);
  transform-origin: left;
  transition-property: transform;
  transition-duration: 0.5s;
}

.c-aco01 {
  counter-increment: number;
  background-color: #f4f4f6;
  font-size: 1.8rem;
  border-radius: 10px;
  overflow: hidden;
}
@media only screen and (max-width: 1599px) {
  .c-aco01 {
    font-size: calc(0.3265306122vw + 1.2775510204rem);
  }
}
.c-aco01__head {
  font-weight: 600;
  position: relative;
  display: flex;
  align-items: flex-start;
  padding: 2em 6em 2em 3em;
}
@media only screen and (max-width: 767px) {
  .c-aco01__head {
    padding: 2em;
    padding-right: 4em;
  }
}
.c-aco01__head:before {
  content: counter(number, decimal-leading-zero);
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  line-height: 1;
  color: #006eaf;
  margin-top: 0.5em;
  margin-right: 0.5em;
}
.c-aco01__head:after {
  content: "";
  border-bottom: 1px solid #006eaf;
  position: absolute;
  bottom: 1.5em;
  left: 3em;
  right: 6em;
  opacity: 0;
  transition-duration: 0.5s;
}
@media only screen and (max-width: 767px) {
  .c-aco01__head:after {
    left: 2em;
    right: 2em;
  }
}
.is-open .c-aco01__head:after {
  opacity: 1;
}
@media (hover: hover) {
  .c-aco01__head:hover:after {
    opacity: 1;
  }
}
.c-aco01__body {
  padding: 0 6em 2em 4em;
}
@media only screen and (max-width: 767px) {
  .c-aco01__body {
    padding: 2em;
    padding-top: 0;
  }
}
.c-aco01__toggle {
  position: absolute;
  top: 50%;
  right: 2em;
  transform: translateY(-50%);
  height: 24px;
  aspect-ratio: 1/1;
  transition-duration: 0.5s;
}
@media only screen and (max-width: 1599px) {
  .c-aco01__toggle {
    height: calc(0.9795918367vw + 8.3265306122px);
  }
}
.c-aco01__toggle:before, .c-aco01__toggle:after {
  content: "";
  width: 18px;
  border-top: 4px solid #006eaf;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 1599px) {
  .c-aco01__toggle:before, .c-aco01__toggle:after {
    width: calc(0.7346938776vw + 6.2448979592px);
    border-top-width: calc(0.1632653061vw + 1.387755102px);
  }
}
.c-aco01__toggle:after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.is-open .c-aco01__toggle:after {
  opacity: 0;
}
.c-aco01 + .c-aco01 {
  margin-top: 30px;
}
@media only screen and (max-width: 1599px) {
  .c-aco01 + .c-aco01 {
    margin-top: calc(1.6326530612vw + 3.8775510204px);
  }
}

.c-catalog01__img {
  margin-bottom: 20px;
}
.c-catalog01__img img {
  width: 100%;
  max-width: none;
}
.c-catalog01__title {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 0.6em;
}
@media only screen and (max-width: 1599px) {
  .c-catalog01__title {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}

.c-catalog01_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 140px 40px;
}
@media only screen and (max-width: 1599px) {
  .c-catalog01_list {
    gap: calc(5.7142857143vw + 48.5714285714px) calc(1.6326530612vw + 13.8775510204px);
  }
}
@media only screen and (max-width: 1023px) {
  .c-catalog01_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .c-catalog01_list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.c-embed {
  width: 100%;
  aspect-ratio: 16/9;
}
.c-embed iframe,
.c-embed video {
  width: 100%;
  height: 100%;
}

.c-embed_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .c-embed_list {
    gap: calc(1.6326530612vw + 13.8775510204px);
  }
}
@media only screen and (max-width: 767px) {
  .c-embed_list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.c-dl01__head {
  font-weight: 400;
  padding-left: 1em;
  position: relative;
  font-size: 1.8rem;
}
@media only screen and (max-width: 1599px) {
  .c-dl01__head {
    font-size: calc(0.2448979592vw + 1.4081632653rem);
  }
}
.c-dl01__head:before {
  content: "";
  border-top: 2px solid #006eaf;
  width: 0.7em;
  position: absolute;
  top: 1em;
  left: 0;
}
.c-dl02__head {
  font-weight: 600;
  padding-left: 0.8em;
  position: relative;
  font-size: 1.8rem;
  color: #006eaf;
}
@media only screen and (max-width: 1599px) {
  .c-dl02__head {
    font-size: calc(0.2448979592vw + 1.4081632653rem);
  }
}
.c-dl02__head:before {
  content: "";
  border-left: 2px solid #006eaf;
  height: 1.2em;
  position: absolute;
  top: 0.4em;
  left: 0;
}
.c-dl02__head.-mb-s {
  margin-bottom: 1em;
}
.c-anchor01 {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}
.c-anchor01 > li a {
  display: block;
  font-weight: 600;
  padding-left: 1.2em;
  position: relative;
  transition-duration: 0.5s;
}
.c-anchor01 > li a:before {
  content: "";
  background-color: #d8dbe0;
  width: 0.6em;
  height: 0.6em;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) scale(0.5);
  transition-duration: 0.5s;
}
.c-anchor01 > li a.is-current {
  color: #006eaf;
}
.c-anchor01 > li a.is-current:before {
  background-color: #006eaf;
  opacity: 1;
  transform: translateY(-50%) scale(1);
}
.c-anchor01 > li .en {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  display: block;
  line-height: 1;
  font-size: 1.2rem;
}
@media only screen and (max-width: 1599px) {
  .c-anchor01 > li .en {
    font-size: calc(0.0816326531vw + 1.0693877551rem);
  }
}
.c-anchor01.-l {
  gap: 1em;
}

.c-rich-bnr01 {
  width: 100%;
  height: 320px;
}
@media only screen and (max-width: 1599px) {
  .c-rich-bnr01 {
    height: calc(13.0612244898vw + 111.0204081633px);
  }
}
.c-rich-bnr01 a {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 100px;
  overflow: hidden;
  border-radius: 10px;
}
@media only screen and (max-width: 1599px) {
  .c-rich-bnr01 a {
    padding: 0 calc(6.5306122449vw + -4.4897959184px);
  }
}
.c-rich-bnr01__img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.c-rich-bnr01__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.c-rich-bnr01__title {
  position: relative;
  display: flex;
  flex-direction: column;
  font-size: 4rem;
}
@media only screen and (max-width: 1599px) {
  .c-rich-bnr01__title {
    font-size: calc(1.6326530612vw + 1.387755102rem);
  }
}
.c-rich-bnr01__title .sub {
  font-weight: 600;
  color: #006eaf;
  font-size: 1.6rem;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
}
@media only screen and (max-width: 1599px) {
  .c-rich-bnr01__title .sub {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
.c-rich-bnr01__title .main {
  font-weight: 600;
  margin-top: 0.5em;
  line-height: 1.5;
}

.c-box01 {
  width: 100%;
  background-color: #f4f4f6;
  border-radius: 10px;
  padding: 40px 50px;
}
@media only screen and (max-width: 1599px) {
  .c-box01 {
    padding: calc(1.6326530612vw + 13.8775510204px) calc(2.4489795918vw + 10.8163265306px);
  }
}
.c-box01.-white {
  background-color: #fff;
}
.c-box01.-beige {
  background-color: #f6f4f4;
}
.c-box01.-s {
  padding: 20px 30px;
}
@media only screen and (max-width: 1599px) {
  .c-box01.-s {
    padding: 20px calc(0.8163265306vw + 16.9387755102px);
  }
}
.c-box01.-m {
  padding: 40px 80px;
}
@media only screen and (max-width: 1599px) {
  .c-box01.-m {
    padding: calc(1.6326530612vw + 13.8775510204px) calc(4.8979591837vw + 1.6326530612px);
  }
}
.c-box01.-mt-s {
  margin-top: 40px;
}
@media only screen and (max-width: 1599px) {
  .c-box01.-mt-s {
    margin-top: calc(1.6326530612vw + 13.8775510204px);
  }
}
.c-box01.-mt-m {
  margin-top: 50px;
}
@media only screen and (max-width: 1599px) {
  .c-box01.-mt-m {
    margin-top: calc(1.6326530612vw + 23.8775510204px);
  }
}
.c-box02 {
  position: relative;
  z-index: 0;
  padding-top: 100px;
  padding-bottom: 100px;
}
@media only screen and (max-width: 1599px) {
  .c-box02 {
    padding-top: calc(4.0816326531vw + 34.693877551px);
    padding-bottom: calc(4.0816326531vw + 34.693877551px);
  }
}
.c-box02:before {
  content: "";
  background-color: #f4f4f6;
  position: absolute;
  top: 0;
  left: 50px;
  right: 50px;
  z-index: -1;
  height: 100%;
  border-radius: 10px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media only screen and (max-width: 1599px) {
  .c-box02:before {
    left: calc(2.4489795918vw + 10.8163265306px);
    right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 767px) {
  .c-box02:before {
    left: 0;
    right: 0;
    border-radius: 0;
  }
}
.c-box02.-l {
  padding-top: 150px;
  padding-bottom: 150px;
}
@media only screen and (max-width: 1599px) {
  .c-box02.-l {
    padding-top: calc(8.1632653061vw + 19.387755102px);
    padding-bottom: calc(8.1632653061vw + 19.387755102px);
  }
}

.c-box01_list {
  display: flex;
  flex-direction: column;
}
.c-box01_list > li + li {
  margin-top: 30px;
}
@media only screen and (max-width: 1599px) {
  .c-box01_list > li + li {
    margin-top: calc(0.8163265306vw + 16.9387755102px);
  }
}
.c-box01_list.-mt-m {
  margin-top: 50px;
}
@media only screen and (max-width: 1599px) {
  .c-box01_list.-mt-m {
    margin-top: calc(1.6326530612vw + 23.8775510204px);
  }
}

.c-ul01 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .c-ul01 {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
.c-ul01 > li {
  padding-left: 1.5em;
  position: relative;
}
.c-ul01 > li:before {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0.5em;
  width: 0.35em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #006eaf;
}
.c-ul01.-plain > li:before {
  background-color: currentColor;
  width: 0.25em;
  top: 0.85em;
}
.c-ul02 {
  display: grid;
  grid-template-columns: 1fr 2fr;
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .c-ul02 {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
@media only screen and (max-width: 767px) {
  .c-ul02 {
    grid-template-columns: 1fr;
  }
}
.c-ul02 > li {
  padding-left: 1.5em;
  position: relative;
}
.c-ul02 > li:before {
  content: "";
  position: absolute;
  top: 0.85em;
  left: 0.5em;
  width: 0.25em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #006eaf;
}
.c-ul03 {
  font-size: 1.6rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 0.75em 1em;
}
@media only screen and (max-width: 1599px) {
  .c-ul03 {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
.c-ul03 > li {
  padding-left: 2em;
  position: relative;
}
.c-ul03 > li:before {
  content: "";
  position: absolute;
  top: 0.9em;
  left: 0.5em;
  width: 0.5em;
  border-top: 2px solid #006eaf;
}
.c-ul03.-row {
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (max-width: 767px) {
  .c-ul03.-row {
    grid-template-columns: repeat(1, 1fr);
  }
}
.c-ul04 {
  font-size: 2rem;
}
@media only screen and (max-width: 1599px) {
  .c-ul04 {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.c-ul04 > li {
  padding-left: 1em;
  position: relative;
}
.c-ul04 > li:before {
  content: "";
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 0.35em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #d4420a;
}
.c-ul04.-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 0.5em;
}
@media only screen and (max-width: 1023px) {
  .c-ul04.-row {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .c-ul04.-row {
    grid-template-columns: repeat(1, 1fr);
  }
}
.c-ul04.-col2 {
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (max-width: 767px) {
  .c-ul04.-col2 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.c-ol01 {
  counter-reset: number;
}
.c-ol01 > li {
  counter-increment: number;
  position: relative;
  padding-left: 2em;
}
.c-ol01 > li:before {
  content: counter(number, decimal-leading-zero);
  position: absolute;
  top: -0.1em;
  left: 0;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  color: #006eaf;
  font-size: 1.1em;
}
.c-ol01.-l {
  font-size: 2.4rem;
}
@media only screen and (max-width: 1599px) {
  .c-ol01.-l {
    font-size: calc(0.7346938776vw + 1.2244897959rem);
  }
}
.c-ol01.-l > li {
  padding-left: 1.8em;
}
.c-ol01.-l > li:before {
  font-size: 1em;
  top: 0;
}
.c-ol01.-dotted > li:before {
  content: counter(number, decimal-leading-zero) ".";
}

.c-media01 {
  display: flex;
  align-items: center;
  gap: 90px;
}
@media only screen and (max-width: 1599px) {
  .c-media01 {
    gap: calc(4.8979591837vw + 11.6326530612px);
  }
}
@media only screen and (max-width: 1299px) {
  .c-media01 {
    align-items: stretch;
  }
}
@media only screen and (max-width: 767px) {
  .c-media01 {
    flex-direction: column-reverse;
  }
}
.c-media01__textarea {
  width: 100%;
  flex: 670;
}
.c-media01__img {
  width: 100%;
  flex: 540;
}
.c-media01__img img {
  width: 100%;
  max-width: none;
  border-radius: 10px;
}
.c-media01.-m {
  gap: 50px;
}
@media only screen and (max-width: 1599px) {
  .c-media01.-m {
    gap: calc(1.6326530612vw + 23.8775510204px);
  }
}
.c-media01.-m .c-media01__textarea {
  flex: 570;
}
.c-media01.-m .c-media01__img {
  flex: 480;
}
.c-media01.-reverse {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 767px) {
  .c-media01.-reverse {
    flex-direction: column-reverse;
  }
}

.c-media01_list > li + li {
  margin-top: 180px;
}
@media only screen and (max-width: 1599px) {
  .c-media01_list > li + li {
    margin-top: calc(9.7959183673vw + 23.2653061224px);
  }
}

.c-num01 {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #006eaf;
  font-size: 2rem;
  border-radius: 50%;
  border: 1px solid;
  aspect-ratio: 1/1;
  width: 2.5em;
}
@media only screen and (max-width: 1599px) {
  .c-num01 {
    font-size: calc(0.4897959184vw + 1.2163265306rem);
  }
}
.c-num01 span {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  line-height: 1;
}

.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5000;
  background-color: rgba(82, 87, 96, 0.5);
  width: 100%;
  height: 100vh;
  overflow-y: auto;
}
.c-modal.js-modal_elm {
  display: none;
  opacity: 0;
}
.c-modal__wrapper {
  display: table;
  width: 100%;
  height: 100%;
}
.c-modal__container {
  display: table-cell;
  width: 100%;
  height: 100%;
  vertical-align: middle;
  text-align: center;
  padding-top: 100px;
  padding-bottom: 100px;
}
@media only screen and (max-width: 1599px) {
  .c-modal__container {
    padding-top: calc(4.0816326531vw + 34.693877551px);
    padding-bottom: calc(4.0816326531vw + 34.693877551px);
  }
}
.c-modal__inner {
  text-align: left;
}

.c-container {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 50px;
  padding-right: 50px;
}
@media only screen and (max-width: 1599px) {
  .c-container {
    max-width: calc(67.3469387755vw + 122.4489795918px);
    padding-left: calc(2.4489795918vw + 10.8163265306px);
    padding-right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 567px) {
  .c-container {
    width: 100%;
  }
}
@media only screen and (max-width: 374px) {
  .c-container {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.c-container.-s {
  max-width: 1090px;
}
@media only screen and (max-width: 1599px) {
  .c-container.-s {
    max-width: calc(58.3673469388vw + 156.1224489796px);
    padding-left: calc(2.4489795918vw + 10.8163265306px);
    padding-right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 567px) {
  .c-container.-s {
    width: 100%;
  }
}
.c-container.-l {
  max-width: 1400px;
}
@media only screen and (max-width: 1599px) {
  .c-container.-l {
    max-width: calc(83.6734693878vw + 61.2244897959px);
    padding-left: calc(2.4489795918vw + 10.8163265306px);
    padding-right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 567px) {
  .c-container.-l {
    width: 100%;
  }
}
.c-container.-xl {
  max-width: 1600px;
}
@media only screen and (max-width: 1599px) {
  .c-container.-xl {
    max-width: calc(100vw + 0px);
    padding-left: calc(2.4489795918vw + 10.8163265306px);
    padding-right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 567px) {
  .c-container.-xl {
    width: 100%;
  }
}
.c-container.-full {
  max-width: 1600px;
}
@media only screen and (max-width: 1599px) {
  .c-container.-full {
    width: 100%;
    max-width: calc(108.1632653061vw + -30.612244898px);
    padding-left: calc(2.4489795918vw + 10.8163265306px);
    padding-right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 567px) {
  .c-container.-full {
    width: 100%;
    max-width: none;
  }
}

.c-fluid {
  padding-left: 50px;
  padding-right: 50px;
}
@media only screen and (max-width: 1599px) {
  .c-fluid {
    padding-left: calc(2.4489795918vw + 10.8163265306px);
    padding-right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 374px) {
  .c-fluid {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.c-alert_ie {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 99999;
}
.c-alert_ie__alert {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  width: 50%;
  max-width: 650px;
  padding: calc(2.4489795918vw + 20.8163265306px);
}
.c-alert_ie__alert .c-btn_edge {
  text-align: center;
  margin-top: 20px;
  display: block;
  color: #fff;
  background: #006eaf;
  border: 1px solid #006eaf;
  padding: 10px calc(0.8163265306vw + 6.9387755102px);
  border-radius: 30px;
  transition: all 0.3s ease;
}
.c-alert_ie__alert .c-btn_edge:hover {
  background: #fff;
  color: #006eaf;
}

.c-drawer {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 4000;
  opacity: 0;
  visibility: hidden;
  transition-duration: 0.3s;
  background-color: #fff;
  overflow-y: auto;
}
.c-drawer#js-drawer .c-drawer__nav > li {
  opacity: 0;
  transform: translateY(1em);
  transition-property: opacity, transform;
  transition-duration: 0.5s;
}
.c-drawer#js-drawer .c-button01 {
  font-size: 1.6rem;
  margin-left: 1em;
  transition-duration: 0.5s;
  opacity: 0;
}
@media only screen and (max-width: 1599px) {
  .c-drawer#js-drawer .c-button01 {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
.c-drawer#js-drawer .c-button02 {
  transition-duration: 0.5s;
  opacity: 0;
}
.c-drawer#js-drawer.is-act .c-drawer__nav > li {
  opacity: 1;
  transform: translateY(0);
}
.c-drawer#js-drawer.is-act .c-drawer__nav > li:nth-child(0) {
  transition-delay: 0.2s;
}
.c-drawer#js-drawer.is-act .c-drawer__nav > li:nth-child(1) {
  transition-delay: 0.3s;
}
.c-drawer#js-drawer.is-act .c-drawer__nav > li:nth-child(2) {
  transition-delay: 0.4s;
}
.c-drawer#js-drawer.is-act .c-drawer__nav > li:nth-child(3) {
  transition-delay: 0.5s;
}
.c-drawer#js-drawer.is-act .c-drawer__nav > li:nth-child(4) {
  transition-delay: 0.6s;
}
.c-drawer#js-drawer.is-act .c-drawer__nav > li:nth-child(5) {
  transition-delay: 0.7s;
}
.c-drawer#js-drawer.is-act .c-drawer__nav > li:nth-child(6) {
  transition-delay: 0.8s;
}
.c-drawer#js-drawer.is-act .c-drawer__nav > li:nth-child(7) {
  transition-delay: 0.9s;
}
.c-drawer#js-drawer.is-act .c-drawer__nav > li:nth-child(8) {
  transition-delay: 1s;
}
.c-drawer#js-drawer.is-act .c-drawer__nav > li:nth-child(9) {
  transition-delay: 1.1s;
}
.c-drawer#js-drawer.is-act .c-drawer__nav > li:nth-child(10) {
  transition-delay: 1.2s;
}
.c-drawer#js-drawer.is-act .c-button01 {
  opacity: 1;
  transition-delay: 0.5s;
}
.c-drawer#js-drawer.is-act .c-button02 {
  opacity: 1;
  transition-delay: 0.5s;
}
.c-drawer__wrapper {
  display: table;
  width: 100%;
  height: 100%;
}
.c-drawer__container {
  display: table-cell;
  width: 100%;
  height: 100%;
  text-align: center;
  padding-top: 120px;
  padding-bottom: 120px;
}
@media only screen and (max-width: 1599px) {
  .c-drawer__container {
    padding-top: calc(2.4489795918vw + 80.8163265306px);
    padding-bottom: calc(4.8979591837vw + 41.6326530612px);
  }
}
.c-drawer__inner {
  text-align: left;
}
.c-drawer__nav {
  padding-top: calc(1.6326530612vw + 13.8775510204px);
}
.c-drawer__nav > li {
  border-bottom: 1px solid #d8dbe0;
}
.c-drawer__nav > li > a {
  display: block;
  font-weight: 600;
  padding: 1em;
}
.c-drawer__nav > li a {
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .c-drawer__nav > li a:hover {
    color: #006eaf;
  }
}
.c-drawer__buttonarea {
  display: flex;
  flex-direction: column;
  margin-top: calc(2.4489795918vw + 20.8163265306px);
  gap: calc(0.8163265306vw + 6.9387755102px);
}
.c-drawer__buttonarea .c-button02 {
  justify-content: center;
}
.c-drawer__buttonarea .c-button02 a {
  height: 4.6em;
  width: 100%;
  max-width: 400px;
}
.c-drawer__buttonarea .c-button02.-search a {
  background-color: #525760;
}

.c-drawer_aco__head {
  font-weight: 600;
  padding: 1em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .c-drawer_aco__head:hover {
    color: #006eaf;
  }
}
.c-drawer_aco__head .c-ico {
  font-size: 1.2em;
  color: #006eaf;
  transform: rotate(90deg);
}
.is-open .c-drawer_aco__head .c-ico {
  transform: rotate(-90deg);
}
.c-drawer_aco__body {
  padding: 1em;
  padding-top: 0;
  font-weight: 600;
}
.c-drawer_aco__child > li + li {
  margin-top: 0.75em;
}
.c-drawer_aco__child > li a {
  font-weight: 400;
  display: block;
  position: relative;
  padding-left: 1.3em;
}
.c-drawer_aco__child > li a:before {
  display: block;
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
}

.c-drawer_recruit {
  position: fixed;
  top: 0;
  right: 0;
  max-height: 100%;
  z-index: 4000;
  opacity: 0;
  visibility: hidden;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  color: #fff;
  background-color: #d4420a;
  box-shadow: 0px 3px 30px rgba(0, 10, 29, 0.3);
}
.c-drawer_recruit#js-drawer {
  transform: translateX(10%);
}
.c-drawer_recruit#js-drawer.is-act {
  transform: translateX(0);
}
.c-drawer_recruit__wrapper {
  display: table;
  width: 100%;
}
.c-drawer_recruit__container {
  display: table-cell;
  width: 100%;
  text-align: center;
  padding-top: 200px;
  padding-bottom: 100px;
}
@media only screen and (max-width: 1599px) {
  .c-drawer_recruit__container {
    padding-top: calc(8.1632653061vw + 69.387755102px);
    padding-bottom: calc(4.0816326531vw + 34.693877551px);
  }
}
.c-drawer_recruit__inner {
  text-align: left;
  padding-left: 100px;
  padding-right: 170px;
  transform: translateX(5%);
  opacity: 0;
  transition-duration: 0.5s;
  transition-delay: 0.1s;
}
@media only screen and (max-width: 1599px) {
  .c-drawer_recruit__inner {
    padding-left: calc(4.8979591837vw + 21.6326530612px);
    padding-right: calc(10.612244898vw + 0.2040816327px);
  }
}
.is-act .c-drawer_recruit__inner {
  transform: translateX(0);
  opacity: 1;
}
.c-drawer_recruit__nav {
  font-size: 1.8rem;
}
@media only screen and (max-width: 1599px) {
  .c-drawer_recruit__nav {
    font-size: calc(0.3265306122vw + 1.2775510204rem);
  }
}
.c-drawer_recruit__nav ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5em 2.8em;
}
@media only screen and (max-width: 767px) {
  .c-drawer_recruit__nav ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.c-drawer_recruit__nav ul > li a {
  display: block;
  width: 14em;
  line-height: 1.5;
  padding: 1em 0;
  position: relative;
}
@media (hover: hover) {
  .c-drawer_recruit__nav ul > li a:hover:after {
    transform: scaleX(1);
    transform-origin: left;
  }
}
.c-drawer_recruit__nav ul > li a:before {
  content: "";
  border-bottom: 1px solid #e17b54;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-drawer_recruit__nav ul > li a:after {
  content: "";
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid #fff;
  transform: scaleX(0);
  transform-origin: right;
  transition-property: transform;
  transition-duration: 0.5s;
}

.c-a_list01.js-anim_elm > li,
.c-a_list01.js-anim_elm > dl {
  opacity: 0;
  transform: translateY(1em);
  transition-property: opacity, transform;
  transition-duration: 1s;
}
.c-a_list01.js-anim_elm > li:nth-child(0),
.c-a_list01.js-anim_elm > dl:nth-child(0) {
  transition-delay: -0.1s;
}
.c-a_list01.js-anim_elm > li:nth-child(1),
.c-a_list01.js-anim_elm > dl:nth-child(1) {
  transition-delay: 0s;
}
.c-a_list01.js-anim_elm > li:nth-child(2),
.c-a_list01.js-anim_elm > dl:nth-child(2) {
  transition-delay: 0.1s;
}
.c-a_list01.js-anim_elm > li:nth-child(3),
.c-a_list01.js-anim_elm > dl:nth-child(3) {
  transition-delay: 0.2s;
}
.c-a_list01.js-anim_elm > li:nth-child(4),
.c-a_list01.js-anim_elm > dl:nth-child(4) {
  transition-delay: 0.3s;
}
.c-a_list01.js-anim_elm > li:nth-child(5),
.c-a_list01.js-anim_elm > dl:nth-child(5) {
  transition-delay: 0.4s;
}
.c-a_list01.js-anim_elm > li:nth-child(6),
.c-a_list01.js-anim_elm > dl:nth-child(6) {
  transition-delay: 0.5s;
}
.c-a_list01.js-anim_elm > li:nth-child(7),
.c-a_list01.js-anim_elm > dl:nth-child(7) {
  transition-delay: 0.6s;
}
.c-a_list01.js-anim_elm > li:nth-child(8),
.c-a_list01.js-anim_elm > dl:nth-child(8) {
  transition-delay: 0.7s;
}
.c-a_list01.js-anim_elm > li:nth-child(9),
.c-a_list01.js-anim_elm > dl:nth-child(9) {
  transition-delay: 0.8s;
}
.c-a_list01.js-anim_elm > li:nth-child(10),
.c-a_list01.js-anim_elm > dl:nth-child(10) {
  transition-delay: 0.9s;
}
.c-a_list01.js-anim_elm > li:nth-child(11),
.c-a_list01.js-anim_elm > dl:nth-child(11) {
  transition-delay: 1s;
}
.c-a_list01.js-anim_elm > li:nth-child(12),
.c-a_list01.js-anim_elm > dl:nth-child(12) {
  transition-delay: 1.1s;
}
.c-a_list01.js-anim_elm > li:nth-child(13),
.c-a_list01.js-anim_elm > dl:nth-child(13) {
  transition-delay: 1.2s;
}
.c-a_list01.js-anim_elm > li:nth-child(14),
.c-a_list01.js-anim_elm > dl:nth-child(14) {
  transition-delay: 1.3s;
}
.c-a_list01.js-anim_elm > li:nth-child(15),
.c-a_list01.js-anim_elm > dl:nth-child(15) {
  transition-delay: 1.4s;
}
.c-a_list01.js-anim_elm.is-act > li,
.c-a_list01.js-anim_elm.is-act > dl {
  opacity: 1;
  transform: translateY(0);
}
.c-a_list01.js-anim_elm.-from-left > li,
.c-a_list01.js-anim_elm.-from-left > dl {
  transform: translateX(-1em);
}
.c-a_list01.js-anim_elm.-from-left.is-act > li,
.c-a_list01.js-anim_elm.-from-left.is-act > dl {
  transform: translateX(0);
}

.c-a_fadeIn.js-anim_elm {
  opacity: 0;
  transition-property: opacity;
  transition-duration: 1s;
}
.c-a_fadeIn.js-anim_elm.is-act {
  opacity: 1;
}

.c-a_slideIn.js-anim_elm {
  opacity: 0;
  transform: translateY(1em);
  transition-property: opacity, transform;
  transition-duration: 1s;
}
.c-a_slideIn.js-anim_elm.is-act {
  opacity: 1;
  transform: translateY(0);
}
.c-a_slideIn.-from-left {
  transform: translateX(-1em);
}
.c-a_slideIn.-from-left.is-act {
  transform: translateX(0);
}

.c-a_img01.js-anim_elm {
  overflow: hidden;
}
.c-a_img01.js-anim_elm img {
  transform: translateY(5%);
  opacity: 0;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-a_img01.js-anim_elm.is-act img {
  opacity: 1;
  transform: translateY(0);
}

.c-a_mask.js-anim_elm {
  overflow: hidden;
}
.c-a_mask.js-anim_elm .c-a_mask_elm {
  display: inline-block;
  opacity: 0;
  transform: translateY(1em);
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-a_mask.js-anim_elm.is-act .c-a_mask_elm {
  opacity: 1;
  transform: translateY(0);
}

.c-a_bg01.js-anim_elm {
  position: relative;
  opacity: 0;
  transition-duration: 1s;
}
.c-a_bg01.js-anim_elm:after {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgb(246, 244, 244) 50%);
  transition-duration: 4s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-a_bg01.js-anim_elm.is-act {
  opacity: 1;
}
.c-a_bg01.js-anim_elm.is-act:after {
  left: 100%;
}

.-delay-m {
  transition-delay: 0.4s;
}

.c-crumbs {
  font-size: 1.4rem;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Regular", sans-serif;
  color: #000;
  position: absolute;
  top: 120px;
  right: 50px;
  z-index: 50;
  writing-mode: vertical-rl;
  text-orientation: sideways;
  padding-top: 130px;
}
@media only screen and (max-width: 1599px) {
  .c-crumbs {
    font-size: calc(0.1632653061vw + 1.1387755102rem);
    top: calc(2.4489795918vw + 80.8163265306px);
    right: calc(2.4489795918vw + 10.8163265306px);
    padding-top: calc(8.1632653061vw + -0.612244898px);
  }
}
@media only screen and (max-width: 1023px) {
  .c-crumbs {
    position: static;
    writing-mode: inherit;
    padding-top: 0;
    margin-top: 5em;
  }
}
.c-crumbs .c-container {
  display: contents;
}
@media only screen and (max-width: 1023px) {
  .c-crumbs .c-container {
    display: block;
  }
}
.c-crumbs #breadcrumbs {
  display: block;
  overflow: hidden;
}
.c-crumbs #breadcrumbs .bar {
  color: #d8dbe0;
  margin: 0.5em 0;
}
@media only screen and (max-width: 1023px) {
  .c-crumbs #breadcrumbs .bar {
    margin: 0 0.5em;
  }
}
.c-crumbs #breadcrumbs a {
  color: #d8dbe0;
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .c-crumbs #breadcrumbs a:hover {
    color: #d4420a;
  }
}

.c-crumbs02 {
  font-size: 1.4rem;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Regular", sans-serif;
  color: #000;
  padding-top: calc(0.8163265306vw + 6.9387755102px);
}
@media only screen and (max-width: 1599px) {
  .c-crumbs02 {
    font-size: calc(0.1632653061vw + 1.1387755102rem);
  }
}
.c-crumbs02 .c-container {
  display: contents;
}
@media only screen and (max-width: 1023px) {
  .c-crumbs02 .c-container {
    display: block;
  }
}
.c-crumbs02 #breadcrumbs {
  display: block;
  overflow: hidden;
}
.c-crumbs02 #breadcrumbs .bar {
  color: #d8dbe0;
  margin: 0.5em;
}
.c-crumbs02 #breadcrumbs a {
  color: #d8dbe0;
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .c-crumbs02 #breadcrumbs a:hover {
    color: #d4420a;
  }
}

.c-heading01 {
  font-size: 4.2rem;
  display: flex;
  margin-bottom: 1em;
}
@media only screen and (max-width: 1599px) {
  .c-heading01 {
    font-size: calc(1.4693877551vw + 1.8489795918rem);
  }
}
.c-heading01__text {
  display: flex;
  flex-direction: column;
}
.c-heading01__text .ja {
  font-weight: 600;
}
.c-heading01.-white .c-heading01__text {
  color: #fff;
}
.c-heading01.-white .c-en_title {
  color: #fff;
}
.c-heading01.js-anim_elm .c-heading01__text .c-en_title {
  opacity: 0;
  transform: translateX(-1em);
  transition-property: opacity, transform;
  transition-duration: 1s;
}
.c-heading01.js-anim_elm .c-heading01__text .ja {
  opacity: 0;
  transform: translateX(-0.5em);
  transition-property: opacity, transform;
  transition-duration: 1s;
  transition-delay: 0.2s;
}
.c-heading01.js-anim_elm.is-act .c-heading01__text .c-en_title {
  opacity: 1;
  transform: translateX(0);
}
.c-heading01.js-anim_elm.is-act .c-heading01__text .ja {
  opacity: 1;
  transform: translateX(0);
}
.c-heading02 {
  font-size: 6rem;
  display: flex;
  margin-bottom: 0.75em;
}
@media only screen and (max-width: 1599px) {
  .c-heading02 {
    font-size: calc(2.4489795918vw + 2.0816326531rem);
  }
}
.c-heading02__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.c-heading02__text .ja {
  font-size: 1.4rem;
  font-weight: 600;
  color: #006eaf;
}
@media only screen and (max-width: 1599px) {
  .c-heading02__text .ja {
    font-size: calc(0.1632653061vw + 1.1387755102rem);
  }
}
.c-heading02__text .en {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.c-heading02.js-anim_elm .c-heading02__text .ja {
  opacity: 0;
  transform: translateX(-1em);
  transition-property: opacity, transform;
  transition-duration: 1s;
}
.c-heading02.js-anim_elm .c-heading02__text .en {
  opacity: 0;
  transform: translateX(-0.5em);
  transition-property: opacity, transform;
  transition-duration: 1s;
  transition-delay: 0.2s;
}
.c-heading02.js-anim_elm.is-act .c-heading02__text .ja {
  opacity: 1;
  transform: translateX(0);
}
.c-heading02.js-anim_elm.is-act .c-heading02__text .en {
  opacity: 1;
  transform: translateX(0);
}

.c-title01 {
  font-size: 2.4rem;
  font-weight: 600;
  position: relative;
  line-height: 1.8;
  padding-bottom: 0.5em;
  margin-bottom: 0.75em;
}
@media only screen and (max-width: 1599px) {
  .c-title01 {
    font-size: calc(0.4897959184vw + 1.6163265306rem);
  }
}
.c-title01:after {
  content: "";
  width: 30px;
  border-bottom: 2px solid #006eaf;
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-title01.-bt {
  padding-bottom: 0;
  padding-top: 0.5em;
}
.c-title01.-bt:after {
  border-bottom: 0;
  border-top: 2px solid #006eaf;
  bottom: auto;
  top: 0;
}
.c-title01.-mb-m {
  margin-bottom: 2em;
}
.c-title02 {
  font-size: 2.4rem;
  font-weight: 600;
  position: relative;
  line-height: 1.8;
  padding-left: 20px;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 1599px) {
  .c-title02 {
    font-size: calc(0.6530612245vw + 1.3551020408rem);
  }
}
.c-title02:before {
  content: "";
  width: 10px;
  height: 2px;
  background-color: #006eaf;
  border-radius: 9999px;
  position: absolute;
  top: 0.8em;
  left: 0;
}
.c-title02.-s {
  font-size: 2rem;
}
@media only screen and (max-width: 1599px) {
  .c-title02.-s {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.c-title02.-mb-m {
  margin-bottom: 1em;
}
.c-title02.-mt-m {
  margin-top: 1.5em;
}
.c-title02.-mt-l {
  margin-top: 3em;
}
.c-title03 {
  display: flex;
  flex-direction: column;
  font-size: 4rem;
  margin-bottom: 1.4em;
}
@media only screen and (max-width: 1599px) {
  .c-title03 {
    font-size: calc(1.306122449vw + 1.9102040816rem);
  }
}
.c-title03__sub {
  display: flex;
  font-weight: 600;
  color: #006eaf;
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .c-title03__sub {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
.c-title03__sub.-en {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
}
.c-title03__sub.-m {
  font-size: 2rem;
}
@media only screen and (max-width: 1599px) {
  .c-title03__sub.-m {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.c-title03__sub .num {
  font-size: 1.6em;
  line-height: 1;
  margin-left: 0.2em;
  margin-top: 0.1em;
}
.c-title03__main {
  font-weight: 600;
  margin-top: 0.5em;
  line-height: 1.5;
}
.c-title03.-l {
  font-size: 4.8rem;
}
@media only screen and (max-width: 1599px) {
  .c-title03.-l {
    font-size: calc(1.9591836735vw + 1.6653061224rem);
  }
}
.c-title03.-l .c-title03__main {
  margin-top: 0.25em;
}
.c-title03.-s {
  font-size: 3.6rem;
}
@media only screen and (max-width: 1599px) {
  .c-title03.-s {
    font-size: calc(1.306122449vw + 1.5102040816rem);
  }
}
.c-title03.-s .c-title03__main {
  margin-top: 0.25em;
}
.c-title03.-ss {
  font-size: 3rem;
}
@media only screen and (max-width: 1599px) {
  .c-title03.-ss {
    font-size: calc(0.9795918367vw + 1.4326530612rem);
  }
}
.c-title03.-ss .c-title03__main {
  margin-top: 0;
}
.c-title03.-mt-m {
  margin-top: 70px;
}
@media only screen and (max-width: 1599px) {
  .c-title03.-mt-m {
    margin-top: calc(2.4489795918vw + 30.8163265306px);
  }
}
.c-title03.-mb-s {
  margin-bottom: 1em;
}
.c-title04 {
  font-size: 2.4rem;
  display: flex;
  align-items: center;
  margin-bottom: 1.5em;
}
@media only screen and (max-width: 1599px) {
  .c-title04 {
    font-size: calc(0.4897959184vw + 1.6163265306rem);
  }
}
.c-title04 svg,
.c-title04 img {
  color: #006eaf;
  fill: currentColor;
  width: auto;
  height: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .c-title04 svg,
.c-title04 img {
    height: calc(0.2448979592vw + 12.0816326531px);
  }
}
.c-title04__text {
  line-height: 1.5;
  margin-left: 0.5em;
  font-weight: 600;
}
.c-title05 {
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.5;
  display: flex;
  align-items: center;
  margin-bottom: 1.4em;
}
@media only screen and (max-width: 1599px) {
  .c-title05 {
    font-size: calc(1.4693877551vw + 1.2489795918rem);
  }
}
.c-title05 .c-num01 {
  margin-right: 1em;
}
.c-title06 {
  display: inline-block;
  font-size: 4.2rem;
  font-weight: 600;
  line-height: 1.6;
  padding-bottom: 0.2em;
  margin-bottom: 0.8em;
  border-bottom: 2px solid #006eaf;
}
@media only screen and (max-width: 1599px) {
  .c-title06 {
    font-size: calc(1.7959183673vw + 1.3265306122rem);
    border-bottom-width: calc(0.0816326531vw + 0.693877551px);
  }
}
.c-title07 {
  font-size: 2.4rem;
  font-weight: 600;
  position: relative;
  line-height: 1.5;
  padding-bottom: 1em;
  margin-bottom: 1em;
}
@media only screen and (max-width: 1599px) {
  .c-title07 {
    font-size: calc(0.4897959184vw + 1.6163265306rem);
  }
}
.c-title07:before {
  content: "";
  width: 150px;
  border-bottom: 1px solid #006eaf;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
}
.c-title07:after {
  content: "";
  width: 100%;
  border-bottom: 1px solid #d8dbe0;
  position: absolute;
  bottom: 0;
  left: 0;
}

.c-en_title {
  font-size: 1.6rem;
  color: #006eaf;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 1599px) {
  .c-en_title {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
.c-en_title svg,
.c-en_title img {
  fill: currentColor;
  width: auto;
  height: 1em;
}
.c-en_title .en {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-left: 0.5em;
}
.c-en_title.js-anim_elm {
  opacity: 0;
  transform: translateX(-1em);
  transition-property: opacity, transform;
  transition-duration: 1s;
}
.c-en_title.js-anim_elm.is-act {
  opacity: 1;
  transform: translateX(0);
}

.c-button01 {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .c-button01 {
    font-size: calc(0.1632653061vw + 1.3387755102rem);
  }
}
.c-button01 a,
.c-button01 button {
  position: relative;
  display: flex;
  align-items: center;
  font-weight: 600;
}
.c-button01 p {
  margin-right: 1em;
}
.c-button01.-right {
  justify-content: flex-end;
}
.c-button01.-center {
  justify-content: center;
}
.c-button01.-white {
  color: #fff;
}
.c-button01.-recruit {
  font-size: 1.8rem;
}
@media only screen and (max-width: 1599px) {
  .c-button01.-recruit {
    font-size: calc(0.3265306122vw + 1.2775510204rem);
  }
}
@media (hover: hover) {
  .c-button01.-recruit a:hover .c-arrow01:after {
    background-color: #fff;
  }
  .c-button01.-recruit a:hover .c-ico {
    color: #d4420a;
  }
}
.c-button01.-recruit p {
  margin-right: 1em;
}
.c-button01.-recruit .c-arrow01:after {
  width: 100%;
  height: 100%;
  border: 1px solid #d4420a;
}
.c-button01.-recruit .c-arrow01 .c-ico svg,
.c-button01.-recruit .c-arrow01 .c-ico img {
  opacity: 1;
  transform: scale(1);
}
.c-button01.-mt-m {
  margin-top: 3em;
}
.c-button01.-mt-s {
  margin-top: 1.5em;
}
.c-button02 {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .c-button02 {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
.c-button02 a,
.c-button02 button {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #006eaf;
  color: #fff;
  border-radius: 9999px;
  font-weight: 600;
  padding: 0.5em;
  min-width: 11.25em;
  min-height: 3.125em;
  position: relative;
  overflow: hidden;
}
.c-button02 a:before,
.c-button02 button:before {
  content: "";
  width: 0;
  aspect-ratio: 1/1;
  opacity: 0.3;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: #fff;
}
@media (hover: hover) {
  .c-button02 a:hover:before,
.c-button02 button:hover:before {
    animation: ripple 1s forwards;
  }
}
.c-button02 .c-ico {
  margin-right: 1em;
}
.c-button02.-center {
  justify-content: center;
}
.c-button02.-ico-right .c-ico {
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%);
  margin-right: 0;
}
.c-button02.-arrow .c-ico {
  margin-right: -1em;
  margin-left: 1em;
}
.c-button02.-arrow.-arrow-right .c-ico {
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  margin-right: 0;
  margin-left: 0;
}
.c-button02.-m a,
.c-button02.-m button {
  min-width: 15em;
}
.c-button02.-mt-m {
  margin-top: 2em;
}
.c-button02.-mt-l {
  margin-top: 120px;
}
@media only screen and (max-width: 1599px) {
  .c-button02.-mt-l {
    margin-top: calc(4.8979591837vw + 41.6326530612px);
  }
}
.c-button03 {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
}
@media only screen and (max-width: 1599px) {
  .c-button03 {
    font-size: calc(0.0816326531vw + 1.2693877551rem);
  }
}
.c-button03 a {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 9999px;
  padding: 0.3em 2.5em;
  position: relative;
  border: 1px solid #006eaf;
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .c-button03 a:hover {
    color: #fff;
    background-color: #006eaf;
  }
}
.c-button03 .c-ico {
  margin-left: 1em;
  margin-right: -1em;
}
.c-button03.-right {
  display: flex;
  justify-content: flex-end;
}
.c-button03.-mt-m {
  margin-top: 2em;
}

.c-button01_list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .c-button01_list {
    gap: calc(1.6326530612vw + 13.8775510204px);
  }
}
.c-button01_list.-mt-m {
  margin-top: 70px;
}
@media only screen and (max-width: 1599px) {
  .c-button01_list.-mt-m {
    margin-top: calc(3.2653061224vw + 17.7551020408px);
  }
}
.c-button01_list.-mt-s {
  margin-top: 30px;
}
@media only screen and (max-width: 1599px) {
  .c-button01_list.-mt-s {
    margin-top: calc(0.8163265306vw + 16.9387755102px);
  }
}
.c-button01_list.-wide {
  gap: 40px 60px;
}
@media only screen and (max-width: 1599px) {
  .c-button01_list.-wide {
    gap: calc(1.6326530612vw + 13.8775510204px) calc(2.4489795918vw + 20.8163265306px);
  }
}

.c-cta {
  margin-top: 150px;
}
@media only screen and (max-width: 1599px) {
  .c-cta {
    margin-top: calc(8.9795918367vw + 6.3265306122px);
  }
}
.c-cta__inner {
  display: flex;
}
@media only screen and (max-width: 767px) {
  .c-cta__inner {
    flex-direction: column;
  }
}

.c-cta_block {
  width: 100%;
}
.c-cta_block a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 400px;
  color: #006eaf;
  background-color: #f4f4f6;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 1599px) {
  .c-cta_block a {
    height: calc(16.3265306122vw + 138.7755102041px);
  }
}
.c-cta_block a:before {
  content: "";
  width: 0;
  aspect-ratio: 1/1;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: #fff;
}
@media (hover: hover) {
  .c-cta_block a:hover:before {
    animation: ripple 1.2s forwards;
  }
}
.c-cta_block__main {
  text-align: center;
}
.c-cta_block__head {
  font-size: 6rem;
  margin-bottom: 0.3em;
}
@media only screen and (max-width: 1599px) {
  .c-cta_block__head {
    font-size: calc(2.4489795918vw + 2.0816326531rem);
  }
}
.c-cta_block__ico {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 1em;
}
.c-cta_block__ico svg,
.c-cta_block__ico img {
  max-width: 0.8em;
  height: auto;
}
.c-cta_block__title {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  line-height: 1.1;
  margin-top: 0.2em;
}
.c-cta_block .c-arrow01 {
  width: 90px;
  height: 90px;
  position: absolute;
  bottom: 20px;
  right: 30px;
  color: #d4420a;
}
@media only screen and (max-width: 1599px) {
  .c-cta_block .c-arrow01 {
    width: calc(4.0816326531vw + 24.693877551px);
    height: calc(4.0816326531vw + 24.693877551px);
    bottom: calc(0.8163265306vw + 6.9387755102px);
    right: calc(1.6326530612vw + 3.8775510204px);
  }
}
.c-cta_block .c-arrow01 .c-ico svg,
.c-cta_block .c-arrow01 .c-ico img {
  opacity: 1;
  transform: scale(1);
}
.c-cta_block .c-arrow01:after {
  width: 0 !important;
  height: 0 !important;
}
.c-cta_block.-catalog a {
  background-color: #006eaf;
  color: #fff;
}

.c-common_kv {
  margin-top: 120px;
}
@media only screen and (max-width: 1599px) {
  .c-common_kv {
    margin-top: calc(2.4489795918vw + 80.8163265306px);
  }
}

.c-common_section.-mt-ss {
  margin-top: 70px;
}
@media only screen and (max-width: 1599px) {
  .c-common_section.-mt-ss {
    margin-top: calc(2.4489795918vw + 30.8163265306px);
  }
}
.c-common_section.-mt-s {
  margin-top: 100px;
}
@media only screen and (max-width: 1599px) {
  .c-common_section.-mt-s {
    margin-top: calc(4.0816326531vw + 34.693877551px);
  }
}
.c-common_section.-mt-m {
  margin-top: 150px;
}
@media only screen and (max-width: 1599px) {
  .c-common_section.-mt-m {
    margin-top: calc(7.3469387755vw + 32.4489795918px);
  }
}
.c-common_section.-mt-l {
  margin-top: 200px;
}
@media only screen and (max-width: 1599px) {
  .c-common_section.-mt-l {
    margin-top: calc(9.7959183673vw + 43.2653061224px);
  }
}

.c-common_block.-mt-m {
  margin-top: 100px;
}
@media only screen and (max-width: 1599px) {
  .c-common_block.-mt-m {
    margin-top: calc(4.0816326531vw + 34.693877551px);
  }
}

.js-aco .js-aco_trg {
  cursor: pointer;
}
.js-aco .js-aco_elm {
  height: 0;
  overflow: hidden;
}

.js-tab .js-tab_content {
  display: none;
}
.js-tab .js-tab_content.is-show {
  display: block;
}

.c-img_hover {
  overflow: hidden;
}
.c-img_hover img {
  transition-duration: 0.5s;
  transition-property: transform;
}
@media (hover: hover) {
  a:hover .c-img_hover img {
    transform: scale(1.05);
  }
}
.c-img_hover.-color {
  background-color: #d4420a;
}
.c-img_hover.-color img {
  transition-property: opacity, transform;
}
@media (hover: hover) {
  a:hover .c-img_hover.-color img {
    transform: rotate(1deg) scale(1.05);
  }
}

.c-grid__inner {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
@media only screen and (max-width: 1023px) {
  .c-grid__inner {
    flex-direction: column;
  }
}
.c-grid__side {
  width: 100%;
  flex: 2;
  position: relative;
  z-index: 50;
}
@media only screen and (max-width: 1023px) {
  .c-grid__side {
    display: none;
  }
}
.c-grid__main {
  width: 100%;
  flex: 11;
  min-width: 0;
}
.c-grid.-s .c-grid__inner {
  gap: 100px;
}
@media only screen and (max-width: 1599px) {
  .c-grid.-s .c-grid__inner {
    gap: calc(6.5306122449vw + -4.4897959184px);
  }
}
.c-grid.-s .c-grid__side {
  flex: 280;
}
.c-grid.-s .c-grid__main {
  flex: 960;
}

.c-lower_kv01 {
  padding-top: 130px;
  margin-bottom: 130px;
}
@media only screen and (max-width: 1599px) {
  .c-lower_kv01 {
    padding-top: calc(8.1632653061vw + -0.612244898px);
    margin-bottom: calc(8.1632653061vw + -0.612244898px);
  }
}
.c-lower_kv01__title {
  font-size: 4.8rem;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 0.5em;
}
@media only screen and (max-width: 1599px) {
  .c-lower_kv01__title {
    font-size: calc(1.9591836735vw + 1.6653061224rem);
  }
}
.c-lower_kv01__imgarea {
  margin-top: 120px;
  padding-bottom: 70px;
}
@media only screen and (max-width: 1599px) {
  .c-lower_kv01__imgarea {
    margin-top: calc(4.8979591837vw + 41.6326530612px);
    padding-bottom: calc(2.8571428571vw + 24.2857142857px);
  }
}
.c-lower_kv01__img {
  position: relative;
}
.c-lower_kv01__img:before {
  content: "";
  display: block;
  background-image: url(../../img/common/parts/pattern_wire01.svg);
  background-repeat: repeat;
  background-position: center;
  background-size: 36px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 70px;
  left: 150px;
  z-index: -1;
}
@media only screen and (max-width: 1599px) {
  .c-lower_kv01__img:before {
    background-size: calc(1.4693877551vw + 12.4897959184px);
    top: calc(2.8571428571vw + 24.2857142857px);
    left: calc(6.1224489796vw + 52.0408163265px);
  }
}
.c-lower_kv01__img img {
  width: 100%;
  max-width: none;
  border-radius: 0 20px 20px 0;
}
@media only screen and (max-width: 1599px) {
  .c-lower_kv01__img img {
    border-radius: 0 calc(0.8163265306vw + 6.9387755102px) calc(0.8163265306vw + 6.9387755102px) 0;
  }
}
.c-lower_kv02 {
  position: relative;
  padding-top: 60px;
  margin-bottom: 180px;
}
@media only screen and (max-width: 1599px) {
  .c-lower_kv02 {
    padding-top: calc(2.4489795918vw + 20.8163265306px);
    margin-bottom: calc(11.4285714286vw + -2.8571428571px);
  }
}
.c-lower_kv02:before {
  content: "";
  display: block;
  background-image: url(../../img/common/parts/pattern_wire01.svg);
  background-repeat: repeat;
  background-position: center;
  background-size: 36px;
  width: 100%;
  height: 50px;
  position: absolute;
  bottom: -20px;
  left: 0;
  z-index: -1;
}
@media only screen and (max-width: 1599px) {
  .c-lower_kv02:before {
    background-size: calc(1.4693877551vw + 12.4897959184px);
    height: calc(2.0408163265vw + 17.3469387755px);
  }
}
.c-lower_kv02__inner {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .c-lower_kv02__inner {
    flex-direction: column-reverse;
  }
}
.c-lower_kv02__textarea {
  width: 100%;
  flex: 27;
}
.c-lower_kv02__img {
  width: 100%;
  flex: 38;
  border-radius: 20px;
  overflow: hidden;
}
@media only screen and (max-width: 1599px) {
  .c-lower_kv02__img {
    border-radius: calc(0.8163265306vw + 6.9387755102px);
  }
}
@media only screen and (max-width: 767px) {
  .c-lower_kv02__img {
    margin-bottom: calc(3.2653061224vw + 27.7551020408px);
  }
}
.c-lower_kv02__img img {
  width: 100%;
  max-width: none;
}
.c-lower_kv02__parent {
  font-weight: 600;
  line-height: 1.5;
  color: #006eaf;
}
.c-lower_kv02__title {
  font-weight: 600;
  font-size: 4.2rem;
  line-height: 1.5;
  margin-top: 0.5em;
}
@media only screen and (max-width: 1599px) {
  .c-lower_kv02__title {
    font-size: calc(1.4693877551vw + 1.8489795918rem);
  }
}

.c-lower_menu01 {
  position: relative;
  z-index: 0;
  padding-top: 100px;
  padding-bottom: 70px;
  margin-top: 150px;
}
@media only screen and (max-width: 1599px) {
  .c-lower_menu01 {
    padding-top: calc(4.0816326531vw + 34.693877551px);
    padding-bottom: calc(3.2653061224vw + 17.7551020408px);
    margin-top: calc(7.3469387755vw + 32.4489795918px);
  }
}
.c-lower_menu01:before {
  content: "";
  background-color: #f4f4f6;
  position: absolute;
  top: 0;
  left: 50px;
  right: 50px;
  z-index: -1;
  height: 100%;
  border-radius: 10px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media only screen and (max-width: 1599px) {
  .c-lower_menu01:before {
    left: calc(2.4489795918vw + 10.8163265306px);
    right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 767px) {
  .c-lower_menu01:before {
    left: 0;
    right: 0;
  }
}

.c-post_head {
  position: relative;
  padding-top: 130px;
  margin-bottom: 60px;
}
@media only screen and (max-width: 1599px) {
  .c-post_head {
    padding-top: calc(8.1632653061vw + -0.612244898px);
    margin-bottom: calc(1.6326530612vw + 33.8775510204px);
  }
}
.c-post_head__title {
  font-size: 4.8rem;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 0.8em;
}
@media only screen and (max-width: 1599px) {
  .c-post_head__title {
    font-size: calc(1.9591836735vw + 1.6653061224rem);
  }
}
.c-post_head__meta {
  display: flex;
  align-items: center;
  margin-top: 40px;
}
@media only screen and (max-width: 1599px) {
  .c-post_head__meta {
    margin-top: calc(0.8163265306vw + 26.9387755102px);
  }
}
.c-post_head__meta time {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Regular", sans-serif;
  margin-right: 1.5em;
  color: #525760;
}

.c-post_body {
  padding-top: 100px;
  padding-bottom: 150px;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .c-post_body {
    padding-top: calc(4.0816326531vw + 34.693877551px);
    padding-bottom: calc(8.1632653061vw + 19.387755102px);
  }
}
.c-post_body:before {
  content: "";
  border-top: 1px solid #d8dbe0;
  position: absolute;
  top: 0;
  left: 50px;
  right: 50px;
}
@media only screen and (max-width: 1599px) {
  .c-post_body:before {
    left: calc(2.4489795918vw + 10.8163265306px);
    right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 374px) {
  .c-post_body:before {
    left: 20px;
    right: 20px;
  }
}

.c-post_content p + p {
  margin-top: 1em;
}
.c-post_content h2 {
  font-size: 3.2rem;
  margin-bottom: 1em;
  padding-left: 1em;
}
@media only screen and (max-width: 1599px) {
  .c-post_content h2 {
    font-size: calc(1.1428571429vw + 1.3714285714rem);
  }
}
.c-post_content h2:before {
  content: "";
  height: 1.1em;
  border-left: 3px solid #006eaf;
  position: absolute;
  top: 0.2em;
  left: 0;
}
.c-post_content h3 {
  font-size: 2.2rem;
  margin-bottom: 1em;
  padding: 1em 1.4em;
  background-color: #f4f4f6;
  border-radius: 10px;
}
@media only screen and (max-width: 1599px) {
  .c-post_content h3 {
    font-size: calc(0.4897959184vw + 1.4163265306rem);
  }
}
.c-post_content h4 {
  display: inline-block;
  font-size: 2rem;
  margin-bottom: 1em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid;
}
@media only screen and (max-width: 1599px) {
  .c-post_content h4 {
    font-size: calc(0.4897959184vw + 1.2163265306rem);
  }
}

.c-post_thumb {
  margin-bottom: 70px;
}
@media only screen and (max-width: 1599px) {
  .c-post_thumb {
    margin-bottom: calc(2.4489795918vw + 30.8163265306px);
  }
}
.c-post_thumb img {
  width: 100%;
  max-width: none;
}

.c-post_nav__inner {
  display: flex;
  border-top: 1px solid #d8dbe0;
  padding-top: 50px;
}
@media only screen and (max-width: 1599px) {
  .c-post_nav__inner {
    padding-top: calc(1.6326530612vw + 23.8775510204px);
  }
}

.c-post_nav_menu {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
.c-post_nav_menu a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.c-post_nav_menu a .c-ico {
  margin-bottom: 0.2em;
  transition-duration: 0.5s;
}
.c-post_nav_menu a .c-ico svg,
.c-post_nav_menu a .c-ico img {
  height: 1.8em;
}
@media (hover: hover) {
  .c-post_nav_menu a:hover .c-ico {
    transform: scale(0.9);
  }
}

.c-post_nav_button {
  width: 100%;
  display: flex;
}
.c-post_nav_button a {
  display: flex;
  align-items: center;
  font-weight: 400;
}
@media only screen and (max-width: 767px) {
  .c-post_nav_button a p {
    display: none;
  }
}
.c-post_nav_button.-next {
  justify-content: flex-end;
}
.c-post_nav_button.-next a p {
  margin-right: 1em;
}
.c-post_nav_button.-prev a {
  flex-direction: row-reverse;
}
.c-post_nav_button.-prev a p {
  margin-left: 1em;
}
.c-post_nav_button.-prev .c-arrow02 .c-ico {
  transform: scale(-1, 1);
}
@media (hover: hover) {
  a:hover .c-post_nav_button.-prev .c-arrow02 .c-ico svg,
a:hover .c-post_nav_button.-prev .c-arrow02 .c-ico img {
    animation: arrowReverse 0.5s;
  }
}

.c-pager {
  margin-top: 40px;
}
@media only screen and (max-width: 1599px) {
  .c-pager {
    margin-top: calc(0.8163265306vw + 26.9387755102px);
  }
}
.c-pager .wp-pagenavi {
  display: flex;
  justify-content: center;
}
.c-pager .wp-pagenavi a,
.c-pager .wp-pagenavi span {
  width: 2.5em;
  height: 3em;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Regular", sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-pager .wp-pagenavi a.extend,
.c-pager .wp-pagenavi span.extend {
  margin-top: -0.25em;
}
.c-pager .wp-pagenavi a.current,
.c-pager .wp-pagenavi span.current {
  position: relative;
}
.c-pager .wp-pagenavi a.current:after,
.c-pager .wp-pagenavi span.current:after {
  content: "";
  border-bottom: 2px solid #006eaf;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.c-pager .wp-pagenavi a {
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .c-pager .wp-pagenavi a:hover {
    color: #006eaf;
  }
}

.c-post_grid {
  display: grid;
  grid-template-columns: 47fr 42fr;
  gap: 90px;
}
@media only screen and (max-width: 1599px) {
  .c-post_grid {
    gap: calc(7.8125vw + -34.921875px);
  }
}
@media only screen and (max-width: 767px) {
  .c-post_grid {
    grid-template-columns: 1fr;
    gap: calc(2.4489795918vw + 20.8163265306px);
  }
}
@media only screen and (max-width: 767px) {
  .c-post_grid__textarea {
    order: 2;
  }
}
@media only screen and (max-width: 767px) {
  .c-post_grid__thumb {
    order: 1;
  }
}

.c-recruit_heading01 {
  font-size: 4rem;
  display: flex;
  flex-direction: column;
  margin-bottom: 1.75em;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_heading01 {
    font-size: calc(1.6326530612vw + 1.387755102rem);
  }
}
.c-recruit_heading01__en {
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Dem Oblique", sans-serif;
  font-size: 2.4rem;
  color: #d4420a;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_heading01__en {
    font-size: calc(0.6530612245vw + 1.3551020408rem);
  }
}
.c-recruit_heading01__ja {
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-top: 0.8em;
}
.c-recruit_heading01.-white .c-recruit_heading01__en, .c-recruit_heading01.-white .c-recruit_heading01__ja {
  color: #fff;
}
.c-recruit_heading01.js-anim_elm .c-a_mask_elm {
  display: inline-block;
  opacity: 0;
  transform: translateY(1em);
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-recruit_heading01.js-anim_elm .c-recruit_heading01__en {
  overflow: hidden;
}
.c-recruit_heading01.js-anim_elm .c-recruit_heading01__ja {
  overflow: hidden;
}
.c-recruit_heading01.js-anim_elm.is-act .c-a_mask_elm {
  opacity: 1;
  transform: translateY(0);
}
.c-recruit_heading01.js-anim_elm.is-act .c-recruit_heading01__ja .c-a_mask_elm {
  transition-delay: 0.2s;
}

.c-recruit_title01 {
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Dem Oblique", sans-serif;
  font-size: 2.4rem;
  color: #d4420a;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_title01 {
    font-size: calc(0.6530612245vw + 1.3551020408rem);
  }
}
.c-recruit_title01.-center {
  text-align: center;
}
.c-recruit_title01.-white {
  color: #fff;
}
.c-recruit_title02 {
  font-size: 3.6rem;
  line-height: 1.5;
  font-weight: 600;
  padding-bottom: 0.3em;
  margin-bottom: 0.8em;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #d4420a;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_title02 {
    font-size: calc(1.306122449vw + 1.5102040816rem);
  }
}
.c-recruit_title03 {
  font-size: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5em;
  border-bottom: 2px solid #d4420a;
  padding-bottom: 0.4em;
  margin-bottom: 1.4em;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_title03 {
    font-size: calc(0.6530612245vw + 1.3551020408rem);
  }
}
.c-recruit_title03__ja {
  line-height: 1.5;
  font-weight: 600;
}
.c-recruit_title03__en {
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Dem Oblique", sans-serif;
  color: #d4420a;
}

.c-recruit_button01 {
  display: flex;
  font-size: 1.8rem;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_button01 {
    font-size: calc(0.4081632653vw + 1.1469387755rem);
  }
}
.c-recruit_button01 a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 3.555em;
  background-color: #fff;
  border-radius: 9999px;
  line-height: 1.5;
  font-weight: 600;
  border: 1px solid #7e889a;
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .c-recruit_button01 a:hover {
    background-color: #d4420a;
    color: #fff;
    border-color: #d4420a;
  }
  .c-recruit_button01 a:hover .c-ico {
    background-color: #fff;
    color: #d4420a;
  }
  .c-recruit_button01 a:hover p {
    transform: translateX(0.5em);
  }
}
.c-recruit_button01 .c-ico {
  background-color: #d4420a;
  color: #fff;
  border-radius: 50%;
  width: 2.77em;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  left: 0.388em;
  transform: translateY(-50%);
  transition-duration: 0.1s;
}
.c-recruit_button01 .c-ico.-external svg,
.c-recruit_button01 .c-ico.-external img {
  height: 0.9em;
}
.c-recruit_button01 p {
  transition-duration: 0.5s;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0.1s;
}
.c-recruit_button01.-m a {
  max-width: 19.4em;
}
.c-recruit_button02 {
  display: flex;
  align-items: center;
  font-size: 1.8rem;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_button02 {
    font-size: calc(0.3265306122vw + 1.2775510204rem);
  }
}
.c-recruit_button02 a,
.c-recruit_button02 > span {
  position: relative;
  display: flex;
  align-items: center;
  font-weight: 600;
}
.c-recruit_button02 a .c-arrow01:after,
.c-recruit_button02 > span .c-arrow01:after {
  width: 100%;
  height: 100%;
  border: 1px solid #d4420a;
}
.c-recruit_button02 a .c-arrow01 .c-ico svg,
.c-recruit_button02 a .c-arrow01 .c-ico img,
.c-recruit_button02 > span .c-arrow01 .c-ico svg,
.c-recruit_button02 > span .c-arrow01 .c-ico img {
  opacity: 1;
  transform: scale(1);
}
@media (hover: hover) {
  .c-recruit_button02 a:hover .c-arrow01:after {
    width: 120%;
    height: 120%;
  }
}
@media (hover: hover) {
  a:hover .c-recruit_button02 > span .c-arrow01:after {
    width: 120%;
    height: 120%;
  }
}
.c-recruit_button02 p {
  margin-right: 1em;
}
.c-recruit_button02.-mt-m {
  margin-top: 3em;
}
.c-recruit_button02.-mt-s {
  margin-top: 1.5em;
}

.c-recruit_button01_list {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_button01_list {
    gap: calc(0.8163265306vw + 6.9387755102px);
  }
}
.c-recruit_button01_list > li .c-recruit_button01 a {
  width: 19.4em;
}
.c-recruit_button01_list.-mt-s {
  margin-top: 40px;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_button01_list.-mt-s {
    margin-top: calc(1.6326530612vw + 13.8775510204px);
  }
}

.c-recruit_aco01 {
  font-size: 2rem;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_aco01 {
    font-size: calc(0.4897959184vw + 1.2163265306rem);
  }
}
.c-recruit_aco01 + .c-recruit_aco01 {
  margin-top: 10px;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_aco01 + .c-recruit_aco01 {
    margin-top: calc(0.4081632653vw + 3.4693877551px);
  }
}
.c-recruit_aco01__head {
  font-weight: 500;
  background-color: #f6f4f4;
  padding: 1em 1.5em;
  padding-right: 3.5em;
  position: relative;
  display: flex;
  align-items: flex-start;
  border: 2px solid #f6f4f4;
  border-radius: 5px;
  transition-duration: 0.5s;
  transition-property: border-color;
}
.c-recruit_aco01__head:before {
  content: "Q.";
  color: #d4420a;
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Dem Oblique", sans-serif;
  font-size: 1.6em;
  margin-top: 0.2em;
  margin-right: 0.3em;
}
@media (hover: hover) {
  .c-recruit_aco01__head:hover {
    border-color: #d4420a;
  }
}
.c-recruit_aco01__body {
  display: flex;
  align-items: flex-start;
  margin-left: 70px;
  margin-bottom: 50px;
  padding-top: 50px;
  padding-bottom: 50px;
  border-bottom: 1px solid #d4420a;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_aco01__body {
    margin-left: calc(4.8979591837vw + -8.3673469388px);
    margin-bottom: calc(2.0408163265vw + 17.3469387755px);
    padding-top: calc(2.0408163265vw + 17.3469387755px);
    padding-bottom: calc(2.0408163265vw + 17.3469387755px);
  }
}
.c-recruit_aco01__body:before {
  content: "A.";
  color: #d4420a;
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Dem Oblique", sans-serif;
  font-size: 4.2rem;
  margin-right: 0.2em;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_aco01__body:before {
    font-size: calc(1.7142857143vw + 1.4571428571rem);
  }
}
.c-recruit_aco01__toggle {
  color: #d4420a;
  position: absolute;
  top: 50%;
  right: 2em;
  transform: translateY(-50%);
}
.c-recruit_aco01__toggle svg,
.c-recruit_aco01__toggle img {
  transform: rotate(90deg);
}
.is-open .c-recruit_aco01__toggle svg,
.is-open .c-recruit_aco01__toggle img {
  transform: rotate(-90deg);
}
.c-recruit_media01 {
  display: flex;
  align-items: center;
  gap: 90px;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_media01 {
    gap: calc(4.8979591837vw + 11.6326530612px);
  }
}
@media only screen and (max-width: 1299px) {
  .c-recruit_media01 {
    align-items: stretch;
  }
}
@media only screen and (max-width: 767px) {
  .c-recruit_media01 {
    flex-direction: column-reverse;
  }
}
.c-recruit_media01 + .c-recruit_media01 {
  margin-top: 70px;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_media01 + .c-recruit_media01 {
    margin-top: calc(1.6326530612vw + 43.8775510204px);
  }
}
.c-recruit_media01__textarea {
  width: 100%;
  flex: 580;
}
.c-recruit_media01__img {
  width: 100%;
  flex: 630;
}
.c-recruit_media01.-reverse {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 767px) {
  .c-recruit_media01.-reverse {
    flex-direction: column-reverse;
  }
}
.c-recruit_media01.-coming {
  position: relative;
}
.c-recruit_media01.-coming:after {
  content: "Coming Soon";
  background-color: #333;
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Dem Oblique", sans-serif;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0.7;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 2.4rem;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_media01.-coming:after {
    font-size: calc(0.6530612245vw + 1.3551020408rem);
  }
}
.c-recruit_media01.-coming .c-text01,
.c-recruit_media01.-coming .c-recruit_button02 {
  visibility: hidden;
}
.c-recruit_media02 {
  display: flex;
  align-items: flex-start;
  gap: 50px;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_media02 {
    gap: calc(1.6326530612vw + 23.8775510204px);
  }
}
@media only screen and (max-width: 767px) {
  .c-recruit_media02 {
    flex-direction: column-reverse;
  }
}
.c-recruit_media02__textarea {
  width: 100%;
  flex: 520;
}
.c-recruit_media02__img {
  width: 100%;
  flex: 420;
}

.c-media_slider01 {
  position: relative;
  overflow: hidden;
}
.c-media_slider01 .swiper-pagination {
  position: static;
  display: flex;
  justify-content: flex-end;
  gap: 0.5em;
  margin-top: 0.5em;
}
.c-media_slider01 .swiper-pagination .swiper-pagination-bullet {
  opacity: 1;
  margin: 0;
  width: 0.4375em;
  height: auto;
  aspect-ratio: 1/1;
  background-color: #d8dbe0;
}
.c-media_slider01 .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #d4420a;
}

@media only screen and (max-width: 1023px) {
  .c-recruit_card01 {
    display: flex;
    align-items: center;
    gap: calc(2.4489795918vw + 20.8163265306px);
  }
}
@media only screen and (max-width: 767px) {
  .c-recruit_card01 {
    display: block;
  }
}
.c-recruit_card01 a {
  width: 100%;
}
@media (hover: hover) {
  .c-recruit_card01 a:hover .c-recruit_card01__title .ja {
    color: #d4420a;
  }
}
.c-recruit_card01__head img {
  width: 100%;
  max-width: none;
}
.c-recruit_card01__body {
  margin-top: 40px;
  padding-bottom: 30px;
  border-bottom: 1px solid #d4420a;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_card01__body {
    margin-top: calc(1.6326530612vw + 13.8775510204px);
    padding-bottom: calc(1.2244897959vw + 10.4081632653px);
  }
}
.c-recruit_card01__title {
  font-size: 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5em;
  margin-bottom: 1em;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_card01__title {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.c-recruit_card01__title .ja {
  transition-duration: 0.5s;
  font-weight: 600;
  line-height: 1.5;
}
.c-recruit_card01__copy {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.5;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_card01__copy {
    font-size: calc(1.306122449vw + 1.1102040816rem);
  }
}
.c-recruit_card02 a {
  display: block;
}
@media (hover: hover) {
  .c-recruit_card02 a:hover .c-recruit_card02__name {
    color: #d4420a;
  }
}
.c-recruit_card02__head img {
  width: 100%;
  max-width: none;
}
.c-recruit_card02__copy {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 1em 0;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_card02__copy {
    font-size: calc(0.5714285714vw + 1.2857142857rem);
  }
}
.c-recruit_card02__info {
  display: flex;
  align-items: center;
  gap: 1em;
}
.c-recruit_card02__info .label {
  display: inline-block;
  background-color: #d4420a;
  color: #fff;
  line-height: 1.5;
  padding: 0.3em 0.5em;
  letter-spacing: 0;
}
.c-recruit_card02__info .year {
  letter-spacing: 0;
}
.c-recruit_card02__name {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 600;
  margin-top: 0.5em;
  transition-duration: 0.5s;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_card02__name {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}

.c-recruit_card02_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px 40px;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_card02_list {
    gap: calc(1.6326530612vw + 23.8775510204px) calc(1.6326530612vw + 13.8775510204px);
  }
}
@media only screen and (max-width: 767px) {
  .c-recruit_card02_list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.c-recruit_modal01 {
  background-color: #fff;
  padding: 80px 90px 70px;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_modal01 {
    padding: calc(1.6326530612vw + 53.8775510204px) calc(5.306122449vw + 5.1020408163px) calc(2.8571428571vw + 24.2857142857px);
  }
}
.c-recruit_modal01:before {
  content: "";
  border-top: 3px solid #d4420a;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_modal01:before {
    border-top-width: calc(0.1224489796vw + 1.0408163265px);
  }
}
.c-recruit_modal01__close {
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Dem Oblique", sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  flex-direction: column;
  position: absolute;
  top: 0;
  right: 0;
  width: 6.25em;
  aspect-ratio: 1/1;
  border: 3px solid #d4420a;
  cursor: pointer;
  background-color: #fff;
  transition-duration: 0.5s;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_modal01__close {
    font-size: calc(0.4897959184vw + 0.8163265306rem);
    border-width: calc(0.1224489796vw + 1.0408163265px);
  }
}
@media (hover: hover) {
  .c-recruit_modal01__close:hover {
    background-color: #d4420a;
    color: #fff;
  }
}
.c-recruit_modal01__close .ico {
  width: 1.25em;
  height: 1.25em;
  position: relative;
  margin: 0 auto;
}
.c-recruit_modal01__close .ico:before, .c-recruit_modal01__close .ico:after {
  content: "";
  height: 1px;
  width: 100%;
  position: absolute;
  background-color: currentColor;
}
.c-recruit_modal01__close .ico:before {
  transform: rotate(36deg);
  top: 45%;
}
.c-recruit_modal01__close .ico:after {
  transform: rotate(-36deg);
  top: 45%;
}
.c-recruit_modal01__close .text {
  margin-top: 0.5em;
}

.c-cta_recruit {
  background-color: #d4420a;
  margin: 100px 50px 50px;
  padding: 100px 0;
}
@media only screen and (max-width: 1599px) {
  .c-cta_recruit {
    margin: calc(4.0816326531vw + 34.693877551px) calc(2.0408163265vw + 17.3469387755px) calc(2.0408163265vw + 17.3469387755px);
    padding: calc(4.0816326531vw + 34.693877551px) 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-cta_recruit {
    margin-left: 0;
    margin-right: 0;
  }
}
.c-cta_recruit.-mt-l {
  margin-top: 170px;
}
@media only screen and (max-width: 1599px) {
  .c-cta_recruit.-mt-l {
    margin-top: calc(7.3469387755vw + 52.4489795918px);
  }
}
.c-cta_recruit__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 60px;
}
@media only screen and (max-width: 1599px) {
  .c-cta_recruit__inner {
    gap: calc(2.4489795918vw + 20.8163265306px);
  }
}
.c-cta_recruit__head {
  color: #fff;
  font-size: 12rem;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 1599px) {
  .c-cta_recruit__head {
    font-size: calc(4.8979591837vw + 4.1632653061rem);
  }
}
.c-cta_recruit__head .en {
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Dem Oblique", sans-serif;
  letter-spacing: 0.05em;
}
.c-cta_recruit__head .ja {
  font-weight: 600;
  font-size: 1.8rem;
  margin-top: 0.5em;
}
@media only screen and (max-width: 1599px) {
  .c-cta_recruit__head .ja {
    font-size: calc(0.3265306122vw + 1.2775510204rem);
  }
}
.c-cta_recruit__body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 35px;
}
@media only screen and (max-width: 1599px) {
  .c-cta_recruit__body {
    gap: calc(1.2244897959vw + 15.4081632653px);
  }
}
@media only screen and (max-width: 767px) {
  .c-cta_recruit__body {
    width: 100%;
    grid-template-columns: repeat(1, 1fr);
  }
}
.c-cta_recruit .c-recruit_button01 a {
  width: 19.4em;
  border-color: #fff;
}
@media only screen and (max-width: 767px) {
  .c-cta_recruit .c-recruit_button01 a {
    width: 100%;
  }
}
@media (hover: hover) {
  .c-cta_recruit .c-recruit_button01 a:hover {
    border-color: #fff;
  }
}

.c-recruit_lower01__bg {
  padding-top: calc(9.387755102vw + 49.7959183673px);
  position: relative;
  border-top: 3px solid #d4420a;
}
.c-recruit_lower01__bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  height: 85%;
  width: 100%;
  background-color: #f6f4f4;
  background-image: url("../../img/recruit/lower_bg.png");
  background-repeat: repeat-x;
  background-size: contain;
  border-bottom: 4px solid #f0efef;
}
.c-recruit_lower01__kv {
  overflow: hidden;
}
.c-recruit_lower01__kv .js-anim_elm img {
  opacity: 0;
  transform: scale(1.1);
  transition-duration: 1s;
}
@media only screen and (max-width: 767px) {
  .c-recruit_lower01__kv .js-anim_elm img {
    opacity: 1;
  }
}
.c-recruit_lower01__kv .js-anim_elm .-img02 img {
  transition-delay: 0.2s;
}
.c-recruit_lower01__kv .js-anim_elm.is-act img {
  opacity: 1;
  transform: scale(1);
}
.c-recruit_lower01__title {
  padding-top: calc(2.8571428571vw + 24.2857142857px);
  padding-bottom: calc(2.8571428571vw + 24.2857142857px);
  border-bottom: 2px solid #d4420a;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
}
.c-recruit_lower01__title .title {
  font-weight: 600;
  line-height: 1.5;
  font-size: 4.8rem;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_lower01__title .title {
    font-size: calc(1.9591836735vw + 16.6530612245px);
  }
}
.c-recruit_lower02__bg {
  padding-top: calc(12.2448979592vw + 104.0816326531px);
  padding-bottom: calc(4.8979591837vw + 41.6326530612px);
  position: relative;
  border-top: 3px solid #d4420a;
}
.c-recruit_lower02__bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  height: 100%;
  width: 100%;
  background-color: #f6f4f4;
  background-image: url("../../img/recruit/lower_bg.png");
  background-repeat: repeat-x;
  background-size: contain;
  border-bottom: 4px solid #f0efef;
}
.c-recruit_lower02__title .en {
  display: block;
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Dem Oblique", sans-serif;
  color: #d4420a;
  font-size: 2.4rem;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_lower02__title .en {
    font-size: calc(0.9795918367vw + 8.3265306122px);
  }
}
.c-recruit_lower02__title .jp {
  display: block;
  margin-top: calc(1.6326530612vw + 13.8775510204px);
  font-size: 4.8rem;
  font-weight: 600;
}
@media only screen and (max-width: 1599px) {
  .c-recruit_lower02__title .jp {
    font-size: calc(1.9591836735vw + 16.6530612245px);
  }
}

.c-profile_detail {
  margin-top: 1em;
}
.c-profile_detail__department {
  display: flex;
  align-items: center;
}
.c-profile_detail__department dt {
  color: #ffffff;
  background: #d4420a;
  margin-right: 1em;
  padding: 0 0.5em;
  font-weight: 400;
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .c-profile_detail__department dt {
    font-size: calc(0.1632653061vw + 1.3387755102rem);
  }
}
.c-profile_detail__department dd {
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .c-profile_detail__department dd {
    font-size: calc(0.1632653061vw + 1.3387755102rem);
  }
}
.c-profile_detail__name {
  font-weight: 600;
  font-size: 2rem;
}
@media only screen and (max-width: 1599px) {
  .c-profile_detail__name {
    font-size: calc(0.3265306122vw + 1.4775510204rem);
  }
}

.c-grid-column {
  display: grid;
  row-gap: calc(2.4489795918vw + 10.8163265306px);
  column-gap: calc(2.4489795918vw + 10.8163265306px);
}
.c-grid-column.-thin {
  row-gap: calc(2.0408163265vw + 7.3469387755px);
}
.c-grid-column.-col4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col4.-col4-max {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col4.-col4-md {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col4.-col4-tab {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col4.-col3-max {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col4.-col3-md {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col4.-col3-tab {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col4.-col2-max {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col4.-col2-md {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col4.-col2-tab {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col4.-col1-max {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col4.-col1-md {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col4.-col1-tab {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col4-max {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col4-max.-col4-md {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col4-max.-col4-tab {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4-max.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-max.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col4-max.-col3-md {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col4-max.-col3-tab {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4-max.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-max.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col4-max.-col2-md {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col4-max.-col2-tab {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4-max.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-max.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col4-max.-col1-md {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col4-max.-col1-tab {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4-max.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-max.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col4-md {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col4-md.-col4-tab {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4-md.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-md.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col4-md.-col3-tab {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4-md.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-md.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col4-md.-col2-tab {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4-md.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-md.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col4-md.-col1-tab {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4-md.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-md.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col4-tab {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4-tab.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-tab.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4-tab.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-tab.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4-tab.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-tab.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4-tab.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-tab.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-sp.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-sp.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-sp.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-sp.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.c-grid-column.-col3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col3.-col4-max {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col3.-col4-md {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col3.-col4-tab {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col3.-col3-max {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col3.-col3-md {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col3.-col3-tab {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col3.-col2-max {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col3.-col2-md {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col3.-col2-tab {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col3.-col1-max {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col3.-col1-md {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col3.-col1-tab {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col3-max {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col3-max.-col4-md {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col3-max.-col4-tab {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3-max.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-max.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col3-max.-col3-md {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col3-max.-col3-tab {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3-max.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-max.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col3-max.-col2-md {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col3-max.-col2-tab {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3-max.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-max.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col3-max.-col1-md {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col3-max.-col1-tab {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3-max.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-max.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col3-md {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col3-md.-col4-tab {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3-md.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-md.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col3-md.-col3-tab {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3-md.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-md.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col3-md.-col2-tab {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3-md.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-md.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col3-md.-col1-tab {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3-md.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-md.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col3-tab {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3-tab.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-tab.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3-tab.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-tab.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3-tab.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-tab.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3-tab.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-tab.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-sp.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-sp.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-sp.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-sp.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.c-grid-column.-col2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col2.-col4-max {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col2.-col4-md {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col2.-col4-tab {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col2.-col3-max {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col2.-col3-md {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col2.-col3-tab {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col2.-col2-max {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col2.-col2-md {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col2.-col2-tab {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col2.-col1-max {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col2.-col1-md {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col2.-col1-tab {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col2-max {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col2-max.-col4-md {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col2-max.-col4-tab {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2-max.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-max.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col2-max.-col3-md {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col2-max.-col3-tab {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2-max.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-max.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col2-max.-col2-md {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col2-max.-col2-tab {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2-max.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-max.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col2-max.-col1-md {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col2-max.-col1-tab {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2-max.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-max.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col2-md {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col2-md.-col4-tab {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2-md.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-md.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col2-md.-col3-tab {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2-md.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-md.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col2-md.-col2-tab {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2-md.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-md.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col2-md.-col1-tab {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2-md.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-md.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col2-tab {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2-tab.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-tab.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2-tab.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-tab.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2-tab.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-tab.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2-tab.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-tab.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-sp.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-sp.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-sp.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-sp.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.c-grid-column.-col1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col1.-col4-max {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col1.-col4-md {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col1.-col4-tab {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col1.-col3-max {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col1.-col3-md {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col1.-col3-tab {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col1.-col2-max {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col1.-col2-md {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col1.-col2-tab {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col1.-col1-max {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col1.-col1-md {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col1.-col1-tab {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1599px) {
  .c-grid-column.-col1-max {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col1-max.-col4-md {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col1-max.-col4-tab {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1-max.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-max.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col1-max.-col3-md {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col1-max.-col3-tab {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1-max.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-max.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col1-max.-col2-md {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col1-max.-col2-tab {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1-max.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-max.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col1-max.-col1-md {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col1-max.-col1-tab {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1-max.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-max.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1299px) {
  .c-grid-column.-col1-md {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col1-md.-col4-tab {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1-md.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-md.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col1-md.-col3-tab {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1-md.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-md.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col1-md.-col2-tab {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1-md.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-md.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col1-md.-col1-tab {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1-md.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-md.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 1023px) {
  .c-grid-column.-col1-tab {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1-tab.-col4-sp {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-tab.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1-tab.-col3-sp {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-tab.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1-tab.-col2-sp {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-tab.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1-tab.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-tab.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid-column.-col1-sp {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-sp.-col4-spmin {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-sp.-col3-spmin {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-sp.-col2-spmin {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-sp.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
@media only screen and (max-width: 567px) {
  .c-grid-column.-col1-spmin {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

.u-block_center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.u-left {
  text-align: left;
}

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

.u-right {
  text-align: right;
}

.u-none {
  display: none;
}

.u-ib {
  display: inline-block;
}

.u-relative {
  position: relative;
}

.u-absolute {
  position: absolute;
}

.u-mt0 {
  margin-top: 0px;
}
@media only screen and (max-width: 1599px) {
  .u-mt0 {
    margin-top: calc(0vw + 0px) !important;
  }
}

.u-mb0 {
  margin-bottom: 0px;
}
@media only screen and (max-width: 1599px) {
  .u-mb0 {
    margin-bottom: calc(0vw + 0px) !important;
  }
}

.u-ml0 {
  margin-left: 0px;
}
@media only screen and (max-width: 1599px) {
  .u-ml0 {
    margin-left: calc(0vw + 0px) !important;
  }
}

.u-mr0 {
  margin-right: 0px;
}
@media only screen and (max-width: 1599px) {
  .u-mr0 {
    margin-right: calc(0vw + 0px) !important;
  }
}

.u-pt0 {
  padding-top: 0px;
}
@media only screen and (max-width: 1599px) {
  .u-pt0 {
    padding-top: calc(0vw + 0px) !important;
  }
}

.u-pb0 {
  padding-bottom: 0px;
}
@media only screen and (max-width: 1599px) {
  .u-pb0 {
    padding-bottom: calc(0vw + 0px) !important;
  }
}

.u-pl0 {
  padding-left: 0px;
}
@media only screen and (max-width: 1599px) {
  .u-pl0 {
    padding-left: calc(0vw + 0px) !important;
  }
}

.u-pr0 {
  padding-right: 0px;
}
@media only screen and (max-width: 1599px) {
  .u-pr0 {
    padding-right: calc(0vw + 0px) !important;
  }
}

.u-mt5 {
  margin-top: 10px;
}
@media only screen and (max-width: 1599px) {
  .u-mt5 {
    margin-top: calc(0.4081632653vw + 3.4693877551px) !important;
  }
}

.u-mb5 {
  margin-bottom: 10px;
}
@media only screen and (max-width: 1599px) {
  .u-mb5 {
    margin-bottom: calc(0.4081632653vw + 3.4693877551px) !important;
  }
}

.u-ml5 {
  margin-left: 10px;
}
@media only screen and (max-width: 1599px) {
  .u-ml5 {
    margin-left: calc(0.4081632653vw + 3.4693877551px) !important;
  }
}

.u-mr5 {
  margin-right: 10px;
}
@media only screen and (max-width: 1599px) {
  .u-mr5 {
    margin-right: calc(0.4081632653vw + 3.4693877551px) !important;
  }
}

.u-pt5 {
  padding-top: 10px;
}
@media only screen and (max-width: 1599px) {
  .u-pt5 {
    padding-top: calc(0.4081632653vw + 3.4693877551px) !important;
  }
}

.u-pb5 {
  padding-bottom: 10px;
}
@media only screen and (max-width: 1599px) {
  .u-pb5 {
    padding-bottom: calc(0.4081632653vw + 3.4693877551px) !important;
  }
}

.u-pl5 {
  padding-left: 10px;
}
@media only screen and (max-width: 1599px) {
  .u-pl5 {
    padding-left: calc(0.4081632653vw + 3.4693877551px) !important;
  }
}

.u-pr5 {
  padding-right: 10px;
}
@media only screen and (max-width: 1599px) {
  .u-pr5 {
    padding-right: calc(0.4081632653vw + 3.4693877551px) !important;
  }
}

.u-mt10 {
  margin-top: 20px;
}
@media only screen and (max-width: 1599px) {
  .u-mt10 {
    margin-top: calc(0.8163265306vw + 6.9387755102px) !important;
  }
}

.u-mb10 {
  margin-bottom: 20px;
}
@media only screen and (max-width: 1599px) {
  .u-mb10 {
    margin-bottom: calc(0.8163265306vw + 6.9387755102px) !important;
  }
}

.u-ml10 {
  margin-left: 20px;
}
@media only screen and (max-width: 1599px) {
  .u-ml10 {
    margin-left: calc(0.8163265306vw + 6.9387755102px) !important;
  }
}

.u-mr10 {
  margin-right: 20px;
}
@media only screen and (max-width: 1599px) {
  .u-mr10 {
    margin-right: calc(0.8163265306vw + 6.9387755102px) !important;
  }
}

.u-pt10 {
  padding-top: 20px;
}
@media only screen and (max-width: 1599px) {
  .u-pt10 {
    padding-top: calc(0.8163265306vw + 6.9387755102px) !important;
  }
}

.u-pb10 {
  padding-bottom: 20px;
}
@media only screen and (max-width: 1599px) {
  .u-pb10 {
    padding-bottom: calc(0.8163265306vw + 6.9387755102px) !important;
  }
}

.u-pl10 {
  padding-left: 20px;
}
@media only screen and (max-width: 1599px) {
  .u-pl10 {
    padding-left: calc(0.8163265306vw + 6.9387755102px) !important;
  }
}

.u-pr10 {
  padding-right: 20px;
}
@media only screen and (max-width: 1599px) {
  .u-pr10 {
    padding-right: calc(0.8163265306vw + 6.9387755102px) !important;
  }
}

.u-mt15 {
  margin-top: 30px;
}
@media only screen and (max-width: 1599px) {
  .u-mt15 {
    margin-top: calc(1.2244897959vw + 10.4081632653px) !important;
  }
}

.u-mb15 {
  margin-bottom: 30px;
}
@media only screen and (max-width: 1599px) {
  .u-mb15 {
    margin-bottom: calc(1.2244897959vw + 10.4081632653px) !important;
  }
}

.u-ml15 {
  margin-left: 30px;
}
@media only screen and (max-width: 1599px) {
  .u-ml15 {
    margin-left: calc(1.2244897959vw + 10.4081632653px) !important;
  }
}

.u-mr15 {
  margin-right: 30px;
}
@media only screen and (max-width: 1599px) {
  .u-mr15 {
    margin-right: calc(1.2244897959vw + 10.4081632653px) !important;
  }
}

.u-pt15 {
  padding-top: 30px;
}
@media only screen and (max-width: 1599px) {
  .u-pt15 {
    padding-top: calc(1.2244897959vw + 10.4081632653px) !important;
  }
}

.u-pb15 {
  padding-bottom: 30px;
}
@media only screen and (max-width: 1599px) {
  .u-pb15 {
    padding-bottom: calc(1.2244897959vw + 10.4081632653px) !important;
  }
}

.u-pl15 {
  padding-left: 30px;
}
@media only screen and (max-width: 1599px) {
  .u-pl15 {
    padding-left: calc(1.2244897959vw + 10.4081632653px) !important;
  }
}

.u-pr15 {
  padding-right: 30px;
}
@media only screen and (max-width: 1599px) {
  .u-pr15 {
    padding-right: calc(1.2244897959vw + 10.4081632653px) !important;
  }
}

.u-mt20 {
  margin-top: 40px;
}
@media only screen and (max-width: 1599px) {
  .u-mt20 {
    margin-top: calc(1.6326530612vw + 13.8775510204px) !important;
  }
}

.u-mb20 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 1599px) {
  .u-mb20 {
    margin-bottom: calc(1.6326530612vw + 13.8775510204px) !important;
  }
}

.u-ml20 {
  margin-left: 40px;
}
@media only screen and (max-width: 1599px) {
  .u-ml20 {
    margin-left: calc(1.6326530612vw + 13.8775510204px) !important;
  }
}

.u-mr20 {
  margin-right: 40px;
}
@media only screen and (max-width: 1599px) {
  .u-mr20 {
    margin-right: calc(1.6326530612vw + 13.8775510204px) !important;
  }
}

.u-pt20 {
  padding-top: 40px;
}
@media only screen and (max-width: 1599px) {
  .u-pt20 {
    padding-top: calc(1.6326530612vw + 13.8775510204px) !important;
  }
}

.u-pb20 {
  padding-bottom: 40px;
}
@media only screen and (max-width: 1599px) {
  .u-pb20 {
    padding-bottom: calc(1.6326530612vw + 13.8775510204px) !important;
  }
}

.u-pl20 {
  padding-left: 40px;
}
@media only screen and (max-width: 1599px) {
  .u-pl20 {
    padding-left: calc(1.6326530612vw + 13.8775510204px) !important;
  }
}

.u-pr20 {
  padding-right: 40px;
}
@media only screen and (max-width: 1599px) {
  .u-pr20 {
    padding-right: calc(1.6326530612vw + 13.8775510204px) !important;
  }
}

.u-mt25 {
  margin-top: 50px;
}
@media only screen and (max-width: 1599px) {
  .u-mt25 {
    margin-top: calc(2.0408163265vw + 17.3469387755px) !important;
  }
}

.u-mb25 {
  margin-bottom: 50px;
}
@media only screen and (max-width: 1599px) {
  .u-mb25 {
    margin-bottom: calc(2.0408163265vw + 17.3469387755px) !important;
  }
}

.u-ml25 {
  margin-left: 50px;
}
@media only screen and (max-width: 1599px) {
  .u-ml25 {
    margin-left: calc(2.0408163265vw + 17.3469387755px) !important;
  }
}

.u-mr25 {
  margin-right: 50px;
}
@media only screen and (max-width: 1599px) {
  .u-mr25 {
    margin-right: calc(2.0408163265vw + 17.3469387755px) !important;
  }
}

.u-pt25 {
  padding-top: 50px;
}
@media only screen and (max-width: 1599px) {
  .u-pt25 {
    padding-top: calc(2.0408163265vw + 17.3469387755px) !important;
  }
}

.u-pb25 {
  padding-bottom: 50px;
}
@media only screen and (max-width: 1599px) {
  .u-pb25 {
    padding-bottom: calc(2.0408163265vw + 17.3469387755px) !important;
  }
}

.u-pl25 {
  padding-left: 50px;
}
@media only screen and (max-width: 1599px) {
  .u-pl25 {
    padding-left: calc(2.0408163265vw + 17.3469387755px) !important;
  }
}

.u-pr25 {
  padding-right: 50px;
}
@media only screen and (max-width: 1599px) {
  .u-pr25 {
    padding-right: calc(2.0408163265vw + 17.3469387755px) !important;
  }
}

.u-mt30 {
  margin-top: 60px;
}
@media only screen and (max-width: 1599px) {
  .u-mt30 {
    margin-top: calc(2.4489795918vw + 20.8163265306px) !important;
  }
}

.u-mb30 {
  margin-bottom: 60px;
}
@media only screen and (max-width: 1599px) {
  .u-mb30 {
    margin-bottom: calc(2.4489795918vw + 20.8163265306px) !important;
  }
}

.u-ml30 {
  margin-left: 60px;
}
@media only screen and (max-width: 1599px) {
  .u-ml30 {
    margin-left: calc(2.4489795918vw + 20.8163265306px) !important;
  }
}

.u-mr30 {
  margin-right: 60px;
}
@media only screen and (max-width: 1599px) {
  .u-mr30 {
    margin-right: calc(2.4489795918vw + 20.8163265306px) !important;
  }
}

.u-pt30 {
  padding-top: 60px;
}
@media only screen and (max-width: 1599px) {
  .u-pt30 {
    padding-top: calc(2.4489795918vw + 20.8163265306px) !important;
  }
}

.u-pb30 {
  padding-bottom: 60px;
}
@media only screen and (max-width: 1599px) {
  .u-pb30 {
    padding-bottom: calc(2.4489795918vw + 20.8163265306px) !important;
  }
}

.u-pl30 {
  padding-left: 60px;
}
@media only screen and (max-width: 1599px) {
  .u-pl30 {
    padding-left: calc(2.4489795918vw + 20.8163265306px) !important;
  }
}

.u-pr30 {
  padding-right: 60px;
}
@media only screen and (max-width: 1599px) {
  .u-pr30 {
    padding-right: calc(2.4489795918vw + 20.8163265306px) !important;
  }
}

.u-mt35 {
  margin-top: 70px;
}
@media only screen and (max-width: 1599px) {
  .u-mt35 {
    margin-top: calc(2.8571428571vw + 24.2857142857px) !important;
  }
}

.u-mb35 {
  margin-bottom: 70px;
}
@media only screen and (max-width: 1599px) {
  .u-mb35 {
    margin-bottom: calc(2.8571428571vw + 24.2857142857px) !important;
  }
}

.u-ml35 {
  margin-left: 70px;
}
@media only screen and (max-width: 1599px) {
  .u-ml35 {
    margin-left: calc(2.8571428571vw + 24.2857142857px) !important;
  }
}

.u-mr35 {
  margin-right: 70px;
}
@media only screen and (max-width: 1599px) {
  .u-mr35 {
    margin-right: calc(2.8571428571vw + 24.2857142857px) !important;
  }
}

.u-pt35 {
  padding-top: 70px;
}
@media only screen and (max-width: 1599px) {
  .u-pt35 {
    padding-top: calc(2.8571428571vw + 24.2857142857px) !important;
  }
}

.u-pb35 {
  padding-bottom: 70px;
}
@media only screen and (max-width: 1599px) {
  .u-pb35 {
    padding-bottom: calc(2.8571428571vw + 24.2857142857px) !important;
  }
}

.u-pl35 {
  padding-left: 70px;
}
@media only screen and (max-width: 1599px) {
  .u-pl35 {
    padding-left: calc(2.8571428571vw + 24.2857142857px) !important;
  }
}

.u-pr35 {
  padding-right: 70px;
}
@media only screen and (max-width: 1599px) {
  .u-pr35 {
    padding-right: calc(2.8571428571vw + 24.2857142857px) !important;
  }
}

.u-mt40 {
  margin-top: 80px;
}
@media only screen and (max-width: 1599px) {
  .u-mt40 {
    margin-top: calc(3.2653061224vw + 27.7551020408px) !important;
  }
}

.u-mb40 {
  margin-bottom: 80px;
}
@media only screen and (max-width: 1599px) {
  .u-mb40 {
    margin-bottom: calc(3.2653061224vw + 27.7551020408px) !important;
  }
}

.u-ml40 {
  margin-left: 80px;
}
@media only screen and (max-width: 1599px) {
  .u-ml40 {
    margin-left: calc(3.2653061224vw + 27.7551020408px) !important;
  }
}

.u-mr40 {
  margin-right: 80px;
}
@media only screen and (max-width: 1599px) {
  .u-mr40 {
    margin-right: calc(3.2653061224vw + 27.7551020408px) !important;
  }
}

.u-pt40 {
  padding-top: 80px;
}
@media only screen and (max-width: 1599px) {
  .u-pt40 {
    padding-top: calc(3.2653061224vw + 27.7551020408px) !important;
  }
}

.u-pb40 {
  padding-bottom: 80px;
}
@media only screen and (max-width: 1599px) {
  .u-pb40 {
    padding-bottom: calc(3.2653061224vw + 27.7551020408px) !important;
  }
}

.u-pl40 {
  padding-left: 80px;
}
@media only screen and (max-width: 1599px) {
  .u-pl40 {
    padding-left: calc(3.2653061224vw + 27.7551020408px) !important;
  }
}

.u-pr40 {
  padding-right: 80px;
}
@media only screen and (max-width: 1599px) {
  .u-pr40 {
    padding-right: calc(3.2653061224vw + 27.7551020408px) !important;
  }
}

.u-mt45 {
  margin-top: 90px;
}
@media only screen and (max-width: 1599px) {
  .u-mt45 {
    margin-top: calc(3.6734693878vw + 31.2244897959px) !important;
  }
}

.u-mb45 {
  margin-bottom: 90px;
}
@media only screen and (max-width: 1599px) {
  .u-mb45 {
    margin-bottom: calc(3.6734693878vw + 31.2244897959px) !important;
  }
}

.u-ml45 {
  margin-left: 90px;
}
@media only screen and (max-width: 1599px) {
  .u-ml45 {
    margin-left: calc(3.6734693878vw + 31.2244897959px) !important;
  }
}

.u-mr45 {
  margin-right: 90px;
}
@media only screen and (max-width: 1599px) {
  .u-mr45 {
    margin-right: calc(3.6734693878vw + 31.2244897959px) !important;
  }
}

.u-pt45 {
  padding-top: 90px;
}
@media only screen and (max-width: 1599px) {
  .u-pt45 {
    padding-top: calc(3.6734693878vw + 31.2244897959px) !important;
  }
}

.u-pb45 {
  padding-bottom: 90px;
}
@media only screen and (max-width: 1599px) {
  .u-pb45 {
    padding-bottom: calc(3.6734693878vw + 31.2244897959px) !important;
  }
}

.u-pl45 {
  padding-left: 90px;
}
@media only screen and (max-width: 1599px) {
  .u-pl45 {
    padding-left: calc(3.6734693878vw + 31.2244897959px) !important;
  }
}

.u-pr45 {
  padding-right: 90px;
}
@media only screen and (max-width: 1599px) {
  .u-pr45 {
    padding-right: calc(3.6734693878vw + 31.2244897959px) !important;
  }
}

.u-mt50 {
  margin-top: 100px;
}
@media only screen and (max-width: 1599px) {
  .u-mt50 {
    margin-top: calc(4.0816326531vw + 34.693877551px) !important;
  }
}

.u-mb50 {
  margin-bottom: 100px;
}
@media only screen and (max-width: 1599px) {
  .u-mb50 {
    margin-bottom: calc(4.0816326531vw + 34.693877551px) !important;
  }
}

.u-ml50 {
  margin-left: 100px;
}
@media only screen and (max-width: 1599px) {
  .u-ml50 {
    margin-left: calc(4.0816326531vw + 34.693877551px) !important;
  }
}

.u-mr50 {
  margin-right: 100px;
}
@media only screen and (max-width: 1599px) {
  .u-mr50 {
    margin-right: calc(4.0816326531vw + 34.693877551px) !important;
  }
}

.u-pt50 {
  padding-top: 100px;
}
@media only screen and (max-width: 1599px) {
  .u-pt50 {
    padding-top: calc(4.0816326531vw + 34.693877551px) !important;
  }
}

.u-pb50 {
  padding-bottom: 100px;
}
@media only screen and (max-width: 1599px) {
  .u-pb50 {
    padding-bottom: calc(4.0816326531vw + 34.693877551px) !important;
  }
}

.u-pl50 {
  padding-left: 100px;
}
@media only screen and (max-width: 1599px) {
  .u-pl50 {
    padding-left: calc(4.0816326531vw + 34.693877551px) !important;
  }
}

.u-pr50 {
  padding-right: 100px;
}
@media only screen and (max-width: 1599px) {
  .u-pr50 {
    padding-right: calc(4.0816326531vw + 34.693877551px) !important;
  }
}

.u-mt55 {
  margin-top: 110px;
}
@media only screen and (max-width: 1599px) {
  .u-mt55 {
    margin-top: calc(4.4897959184vw + 38.1632653061px) !important;
  }
}

.u-mb55 {
  margin-bottom: 110px;
}
@media only screen and (max-width: 1599px) {
  .u-mb55 {
    margin-bottom: calc(4.4897959184vw + 38.1632653061px) !important;
  }
}

.u-ml55 {
  margin-left: 110px;
}
@media only screen and (max-width: 1599px) {
  .u-ml55 {
    margin-left: calc(4.4897959184vw + 38.1632653061px) !important;
  }
}

.u-mr55 {
  margin-right: 110px;
}
@media only screen and (max-width: 1599px) {
  .u-mr55 {
    margin-right: calc(4.4897959184vw + 38.1632653061px) !important;
  }
}

.u-pt55 {
  padding-top: 110px;
}
@media only screen and (max-width: 1599px) {
  .u-pt55 {
    padding-top: calc(4.4897959184vw + 38.1632653061px) !important;
  }
}

.u-pb55 {
  padding-bottom: 110px;
}
@media only screen and (max-width: 1599px) {
  .u-pb55 {
    padding-bottom: calc(4.4897959184vw + 38.1632653061px) !important;
  }
}

.u-pl55 {
  padding-left: 110px;
}
@media only screen and (max-width: 1599px) {
  .u-pl55 {
    padding-left: calc(4.4897959184vw + 38.1632653061px) !important;
  }
}

.u-pr55 {
  padding-right: 110px;
}
@media only screen and (max-width: 1599px) {
  .u-pr55 {
    padding-right: calc(4.4897959184vw + 38.1632653061px) !important;
  }
}

.u-mt60 {
  margin-top: 120px;
}
@media only screen and (max-width: 1599px) {
  .u-mt60 {
    margin-top: calc(4.8979591837vw + 41.6326530612px) !important;
  }
}

.u-mb60 {
  margin-bottom: 120px;
}
@media only screen and (max-width: 1599px) {
  .u-mb60 {
    margin-bottom: calc(4.8979591837vw + 41.6326530612px) !important;
  }
}

.u-ml60 {
  margin-left: 120px;
}
@media only screen and (max-width: 1599px) {
  .u-ml60 {
    margin-left: calc(4.8979591837vw + 41.6326530612px) !important;
  }
}

.u-mr60 {
  margin-right: 120px;
}
@media only screen and (max-width: 1599px) {
  .u-mr60 {
    margin-right: calc(4.8979591837vw + 41.6326530612px) !important;
  }
}

.u-pt60 {
  padding-top: 120px;
}
@media only screen and (max-width: 1599px) {
  .u-pt60 {
    padding-top: calc(4.8979591837vw + 41.6326530612px) !important;
  }
}

.u-pb60 {
  padding-bottom: 120px;
}
@media only screen and (max-width: 1599px) {
  .u-pb60 {
    padding-bottom: calc(4.8979591837vw + 41.6326530612px) !important;
  }
}

.u-pl60 {
  padding-left: 120px;
}
@media only screen and (max-width: 1599px) {
  .u-pl60 {
    padding-left: calc(4.8979591837vw + 41.6326530612px) !important;
  }
}

.u-pr60 {
  padding-right: 120px;
}
@media only screen and (max-width: 1599px) {
  .u-pr60 {
    padding-right: calc(4.8979591837vw + 41.6326530612px) !important;
  }
}

.u-mt65 {
  margin-top: 130px;
}
@media only screen and (max-width: 1599px) {
  .u-mt65 {
    margin-top: calc(5.306122449vw + 45.1020408163px) !important;
  }
}

.u-mb65 {
  margin-bottom: 130px;
}
@media only screen and (max-width: 1599px) {
  .u-mb65 {
    margin-bottom: calc(5.306122449vw + 45.1020408163px) !important;
  }
}

.u-ml65 {
  margin-left: 130px;
}
@media only screen and (max-width: 1599px) {
  .u-ml65 {
    margin-left: calc(5.306122449vw + 45.1020408163px) !important;
  }
}

.u-mr65 {
  margin-right: 130px;
}
@media only screen and (max-width: 1599px) {
  .u-mr65 {
    margin-right: calc(5.306122449vw + 45.1020408163px) !important;
  }
}

.u-pt65 {
  padding-top: 130px;
}
@media only screen and (max-width: 1599px) {
  .u-pt65 {
    padding-top: calc(5.306122449vw + 45.1020408163px) !important;
  }
}

.u-pb65 {
  padding-bottom: 130px;
}
@media only screen and (max-width: 1599px) {
  .u-pb65 {
    padding-bottom: calc(5.306122449vw + 45.1020408163px) !important;
  }
}

.u-pl65 {
  padding-left: 130px;
}
@media only screen and (max-width: 1599px) {
  .u-pl65 {
    padding-left: calc(5.306122449vw + 45.1020408163px) !important;
  }
}

.u-pr65 {
  padding-right: 130px;
}
@media only screen and (max-width: 1599px) {
  .u-pr65 {
    padding-right: calc(5.306122449vw + 45.1020408163px) !important;
  }
}

.u-mt70 {
  margin-top: 140px;
}
@media only screen and (max-width: 1599px) {
  .u-mt70 {
    margin-top: calc(5.7142857143vw + 48.5714285714px) !important;
  }
}

.u-mb70 {
  margin-bottom: 140px;
}
@media only screen and (max-width: 1599px) {
  .u-mb70 {
    margin-bottom: calc(5.7142857143vw + 48.5714285714px) !important;
  }
}

.u-ml70 {
  margin-left: 140px;
}
@media only screen and (max-width: 1599px) {
  .u-ml70 {
    margin-left: calc(5.7142857143vw + 48.5714285714px) !important;
  }
}

.u-mr70 {
  margin-right: 140px;
}
@media only screen and (max-width: 1599px) {
  .u-mr70 {
    margin-right: calc(5.7142857143vw + 48.5714285714px) !important;
  }
}

.u-pt70 {
  padding-top: 140px;
}
@media only screen and (max-width: 1599px) {
  .u-pt70 {
    padding-top: calc(5.7142857143vw + 48.5714285714px) !important;
  }
}

.u-pb70 {
  padding-bottom: 140px;
}
@media only screen and (max-width: 1599px) {
  .u-pb70 {
    padding-bottom: calc(5.7142857143vw + 48.5714285714px) !important;
  }
}

.u-pl70 {
  padding-left: 140px;
}
@media only screen and (max-width: 1599px) {
  .u-pl70 {
    padding-left: calc(5.7142857143vw + 48.5714285714px) !important;
  }
}

.u-pr70 {
  padding-right: 140px;
}
@media only screen and (max-width: 1599px) {
  .u-pr70 {
    padding-right: calc(5.7142857143vw + 48.5714285714px) !important;
  }
}

.u-mt75 {
  margin-top: 150px;
}
@media only screen and (max-width: 1599px) {
  .u-mt75 {
    margin-top: calc(6.1224489796vw + 52.0408163265px) !important;
  }
}

.u-mb75 {
  margin-bottom: 150px;
}
@media only screen and (max-width: 1599px) {
  .u-mb75 {
    margin-bottom: calc(6.1224489796vw + 52.0408163265px) !important;
  }
}

.u-ml75 {
  margin-left: 150px;
}
@media only screen and (max-width: 1599px) {
  .u-ml75 {
    margin-left: calc(6.1224489796vw + 52.0408163265px) !important;
  }
}

.u-mr75 {
  margin-right: 150px;
}
@media only screen and (max-width: 1599px) {
  .u-mr75 {
    margin-right: calc(6.1224489796vw + 52.0408163265px) !important;
  }
}

.u-pt75 {
  padding-top: 150px;
}
@media only screen and (max-width: 1599px) {
  .u-pt75 {
    padding-top: calc(6.1224489796vw + 52.0408163265px) !important;
  }
}

.u-pb75 {
  padding-bottom: 150px;
}
@media only screen and (max-width: 1599px) {
  .u-pb75 {
    padding-bottom: calc(6.1224489796vw + 52.0408163265px) !important;
  }
}

.u-pl75 {
  padding-left: 150px;
}
@media only screen and (max-width: 1599px) {
  .u-pl75 {
    padding-left: calc(6.1224489796vw + 52.0408163265px) !important;
  }
}

.u-pr75 {
  padding-right: 150px;
}
@media only screen and (max-width: 1599px) {
  .u-pr75 {
    padding-right: calc(6.1224489796vw + 52.0408163265px) !important;
  }
}

.u-mt80 {
  margin-top: 160px;
}
@media only screen and (max-width: 1599px) {
  .u-mt80 {
    margin-top: calc(6.5306122449vw + 55.5102040816px) !important;
  }
}

.u-mb80 {
  margin-bottom: 160px;
}
@media only screen and (max-width: 1599px) {
  .u-mb80 {
    margin-bottom: calc(6.5306122449vw + 55.5102040816px) !important;
  }
}

.u-ml80 {
  margin-left: 160px;
}
@media only screen and (max-width: 1599px) {
  .u-ml80 {
    margin-left: calc(6.5306122449vw + 55.5102040816px) !important;
  }
}

.u-mr80 {
  margin-right: 160px;
}
@media only screen and (max-width: 1599px) {
  .u-mr80 {
    margin-right: calc(6.5306122449vw + 55.5102040816px) !important;
  }
}

.u-pt80 {
  padding-top: 160px;
}
@media only screen and (max-width: 1599px) {
  .u-pt80 {
    padding-top: calc(6.5306122449vw + 55.5102040816px) !important;
  }
}

.u-pb80 {
  padding-bottom: 160px;
}
@media only screen and (max-width: 1599px) {
  .u-pb80 {
    padding-bottom: calc(6.5306122449vw + 55.5102040816px) !important;
  }
}

.u-pl80 {
  padding-left: 160px;
}
@media only screen and (max-width: 1599px) {
  .u-pl80 {
    padding-left: calc(6.5306122449vw + 55.5102040816px) !important;
  }
}

.u-pr80 {
  padding-right: 160px;
}
@media only screen and (max-width: 1599px) {
  .u-pr80 {
    padding-right: calc(6.5306122449vw + 55.5102040816px) !important;
  }
}

.u-mt85 {
  margin-top: 170px;
}
@media only screen and (max-width: 1599px) {
  .u-mt85 {
    margin-top: calc(6.9387755102vw + 58.9795918367px) !important;
  }
}

.u-mb85 {
  margin-bottom: 170px;
}
@media only screen and (max-width: 1599px) {
  .u-mb85 {
    margin-bottom: calc(6.9387755102vw + 58.9795918367px) !important;
  }
}

.u-ml85 {
  margin-left: 170px;
}
@media only screen and (max-width: 1599px) {
  .u-ml85 {
    margin-left: calc(6.9387755102vw + 58.9795918367px) !important;
  }
}

.u-mr85 {
  margin-right: 170px;
}
@media only screen and (max-width: 1599px) {
  .u-mr85 {
    margin-right: calc(6.9387755102vw + 58.9795918367px) !important;
  }
}

.u-pt85 {
  padding-top: 170px;
}
@media only screen and (max-width: 1599px) {
  .u-pt85 {
    padding-top: calc(6.9387755102vw + 58.9795918367px) !important;
  }
}

.u-pb85 {
  padding-bottom: 170px;
}
@media only screen and (max-width: 1599px) {
  .u-pb85 {
    padding-bottom: calc(6.9387755102vw + 58.9795918367px) !important;
  }
}

.u-pl85 {
  padding-left: 170px;
}
@media only screen and (max-width: 1599px) {
  .u-pl85 {
    padding-left: calc(6.9387755102vw + 58.9795918367px) !important;
  }
}

.u-pr85 {
  padding-right: 170px;
}
@media only screen and (max-width: 1599px) {
  .u-pr85 {
    padding-right: calc(6.9387755102vw + 58.9795918367px) !important;
  }
}

.u-mt90 {
  margin-top: 180px;
}
@media only screen and (max-width: 1599px) {
  .u-mt90 {
    margin-top: calc(7.3469387755vw + 62.4489795918px) !important;
  }
}

.u-mb90 {
  margin-bottom: 180px;
}
@media only screen and (max-width: 1599px) {
  .u-mb90 {
    margin-bottom: calc(7.3469387755vw + 62.4489795918px) !important;
  }
}

.u-ml90 {
  margin-left: 180px;
}
@media only screen and (max-width: 1599px) {
  .u-ml90 {
    margin-left: calc(7.3469387755vw + 62.4489795918px) !important;
  }
}

.u-mr90 {
  margin-right: 180px;
}
@media only screen and (max-width: 1599px) {
  .u-mr90 {
    margin-right: calc(7.3469387755vw + 62.4489795918px) !important;
  }
}

.u-pt90 {
  padding-top: 180px;
}
@media only screen and (max-width: 1599px) {
  .u-pt90 {
    padding-top: calc(7.3469387755vw + 62.4489795918px) !important;
  }
}

.u-pb90 {
  padding-bottom: 180px;
}
@media only screen and (max-width: 1599px) {
  .u-pb90 {
    padding-bottom: calc(7.3469387755vw + 62.4489795918px) !important;
  }
}

.u-pl90 {
  padding-left: 180px;
}
@media only screen and (max-width: 1599px) {
  .u-pl90 {
    padding-left: calc(7.3469387755vw + 62.4489795918px) !important;
  }
}

.u-pr90 {
  padding-right: 180px;
}
@media only screen and (max-width: 1599px) {
  .u-pr90 {
    padding-right: calc(7.3469387755vw + 62.4489795918px) !important;
  }
}

.u-mt95 {
  margin-top: 190px;
}
@media only screen and (max-width: 1599px) {
  .u-mt95 {
    margin-top: calc(7.7551020408vw + 65.9183673469px) !important;
  }
}

.u-mb95 {
  margin-bottom: 190px;
}
@media only screen and (max-width: 1599px) {
  .u-mb95 {
    margin-bottom: calc(7.7551020408vw + 65.9183673469px) !important;
  }
}

.u-ml95 {
  margin-left: 190px;
}
@media only screen and (max-width: 1599px) {
  .u-ml95 {
    margin-left: calc(7.7551020408vw + 65.9183673469px) !important;
  }
}

.u-mr95 {
  margin-right: 190px;
}
@media only screen and (max-width: 1599px) {
  .u-mr95 {
    margin-right: calc(7.7551020408vw + 65.9183673469px) !important;
  }
}

.u-pt95 {
  padding-top: 190px;
}
@media only screen and (max-width: 1599px) {
  .u-pt95 {
    padding-top: calc(7.7551020408vw + 65.9183673469px) !important;
  }
}

.u-pb95 {
  padding-bottom: 190px;
}
@media only screen and (max-width: 1599px) {
  .u-pb95 {
    padding-bottom: calc(7.7551020408vw + 65.9183673469px) !important;
  }
}

.u-pl95 {
  padding-left: 190px;
}
@media only screen and (max-width: 1599px) {
  .u-pl95 {
    padding-left: calc(7.7551020408vw + 65.9183673469px) !important;
  }
}

.u-pr95 {
  padding-right: 190px;
}
@media only screen and (max-width: 1599px) {
  .u-pr95 {
    padding-right: calc(7.7551020408vw + 65.9183673469px) !important;
  }
}

.u-mt100 {
  margin-top: 200px;
}
@media only screen and (max-width: 1599px) {
  .u-mt100 {
    margin-top: calc(8.1632653061vw + 69.387755102px) !important;
  }
}

.u-mb100 {
  margin-bottom: 200px;
}
@media only screen and (max-width: 1599px) {
  .u-mb100 {
    margin-bottom: calc(8.1632653061vw + 69.387755102px) !important;
  }
}

.u-ml100 {
  margin-left: 200px;
}
@media only screen and (max-width: 1599px) {
  .u-ml100 {
    margin-left: calc(8.1632653061vw + 69.387755102px) !important;
  }
}

.u-mr100 {
  margin-right: 200px;
}
@media only screen and (max-width: 1599px) {
  .u-mr100 {
    margin-right: calc(8.1632653061vw + 69.387755102px) !important;
  }
}

.u-pt100 {
  padding-top: 200px;
}
@media only screen and (max-width: 1599px) {
  .u-pt100 {
    padding-top: calc(8.1632653061vw + 69.387755102px) !important;
  }
}

.u-pb100 {
  padding-bottom: 200px;
}
@media only screen and (max-width: 1599px) {
  .u-pb100 {
    padding-bottom: calc(8.1632653061vw + 69.387755102px) !important;
  }
}

.u-pl100 {
  padding-left: 200px;
}
@media only screen and (max-width: 1599px) {
  .u-pl100 {
    padding-left: calc(8.1632653061vw + 69.387755102px) !important;
  }
}

.u-pr100 {
  padding-right: 200px;
}
@media only screen and (max-width: 1599px) {
  .u-pr100 {
    padding-right: calc(8.1632653061vw + 69.387755102px) !important;
  }
}

.u-visible {
  display: block;
}
@media only screen and (max-width: 1599px) {
  .u-visible-max {
    display: none !important;
  }
}
@media only screen and (max-width: 1299px) {
  .u-visible-md {
    display: none !important;
  }
}
@media only screen and (max-width: 1023px) {
  .u-visible-tab {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .u-visible-sp {
    display: none !important;
  }
}
@media only screen and (max-width: 567px) {
  .u-visible-spmin {
    display: none !important;
  }
}
@media only screen and (max-width: 374px) {
  .u-visible-min {
    display: none !important;
  }
}

.u-hidden {
  display: none;
}
.u-hidden-max {
  display: none !important;
}
@media only screen and (max-width: 1599px) {
  .u-hidden-max {
    display: block !important;
  }
  .u-hidden-max.-f {
    display: flex !important;
  }
  .u-hidden-max.-i {
    display: inline !important;
  }
  .u-hidden-max.-ib {
    display: inline-block !important;
  }
}
.u-hidden-md {
  display: none !important;
}
@media only screen and (max-width: 1299px) {
  .u-hidden-md {
    display: block !important;
  }
  .u-hidden-md.-f {
    display: flex !important;
  }
  .u-hidden-md.-i {
    display: inline !important;
  }
  .u-hidden-md.-ib {
    display: inline-block !important;
  }
}
.u-hidden-tab {
  display: none !important;
}
@media only screen and (max-width: 1023px) {
  .u-hidden-tab {
    display: block !important;
  }
  .u-hidden-tab.-f {
    display: flex !important;
  }
  .u-hidden-tab.-i {
    display: inline !important;
  }
  .u-hidden-tab.-ib {
    display: inline-block !important;
  }
}
.u-hidden-sp {
  display: none !important;
}
@media only screen and (max-width: 767px) {
  .u-hidden-sp {
    display: block !important;
  }
  .u-hidden-sp.-f {
    display: flex !important;
  }
  .u-hidden-sp.-i {
    display: inline !important;
  }
  .u-hidden-sp.-ib {
    display: inline-block !important;
  }
}
.u-hidden-spmin {
  display: none !important;
}
@media only screen and (max-width: 567px) {
  .u-hidden-spmin {
    display: block !important;
  }
  .u-hidden-spmin.-f {
    display: flex !important;
  }
  .u-hidden-spmin.-i {
    display: inline !important;
  }
  .u-hidden-spmin.-ib {
    display: inline-block !important;
  }
}
.u-hidden-min {
  display: none !important;
}
@media only screen and (max-width: 374px) {
  .u-hidden-min {
    display: block !important;
  }
  .u-hidden-min.-f {
    display: flex !important;
  }
  .u-hidden-min.-i {
    display: inline !important;
  }
  .u-hidden-min.-ib {
    display: inline-block !important;
  }
}

.p-index_kv {
  width: 100%;
  height: calc(100vh + 70px);
  padding-top: 120px;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-index_kv {
    padding-top: calc(2.4489795918vw + 80.8163265306px);
  }
}
@media only screen and (max-width: 767px) {
  .p-index_kv {
    height: calc(100vh + 35px);
    max-height: calc(57.1428571429vw + 485.7142857143px);
  }
}
.p-index_kv#js-index_kv {
  opacity: 0;
  transition-duration: 1s;
  transition-property: opacity;
}
.p-index_kv#js-index_kv.is-load {
  opacity: 1;
}
.p-index_kv__container {
  width: 100%;
  height: 100%;
}
.p-index_kv__inner {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 10;
  background-color: #fff;
  border-radius: 20px;
  overflow: hidden;
}
.p-index_kv__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  filter: brightness(0.85);
  background-color: #fff;
}
.p-index_kv__video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-index_kv__textarea {
  position: absolute;
  bottom: 16%;
  left: 100px;
  z-index: 50;
  color: #fff;
}
@media only screen and (max-width: 1599px) {
  .p-index_kv__textarea {
    left: calc(6.5306122449vw + -4.4897959184px);
  }
}
@media only screen and (max-width: 767px) {
  .p-index_kv__textarea {
    bottom: calc(4.8979591837vw + 41.6326530612px);
  }
}
.p-index_kv__en {
  display: block;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Regular", sans-serif;
  font-size: 2rem;
  margin-bottom: 1em;
}
@media only screen and (max-width: 1599px) {
  .p-index_kv__en {
    font-size: calc(0.4897959184vw + 1.2163265306rem);
  }
}
.p-index_kv__copy {
  font-size: 7.5rem;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "YuMincho", "HG明朝E", "MS P明朝", "MS 明朝", serif;
  line-height: 1.1;
  letter-spacing: 0.13em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 0.6em;
}
@media only screen and (max-width: 1599px) {
  .p-index_kv__copy {
    font-size: calc(3.5102040816vw + 1.8836734694rem);
  }
}
.p-index_kv__copy span {
  position: relative;
}
.p-index_kv__copy span:after {
  content: "";
  border-bottom: 1px solid;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media only screen and (max-width: 1599px) {
  .p-index_kv__copy span:after {
    border-bottom-width: calc(0.0408163265vw + 0.3469387755px);
  }
}
.p-index_kv__copy span + span {
  margin-top: 0.2em;
}
.p-index_kv__copy.js-kv_copy span {
  opacity: 0;
  transform: translateX(-0.5em);
  transition-property: opacity, transform;
  transition-duration: 1s;
}
.p-index_kv__copy.js-kv_copy span:nth-child(2) {
  transition-delay: 0.2s;
}
.p-index_kv__copy.js-kv_copy span:after {
  width: 0;
  transition-duration: 1s;
  transition-delay: 0.8s;
}
.p-index_kv__copy.js-kv_copy.is-act span {
  opacity: 1;
  transform: translateX(0);
}
.p-index_kv__copy.js-kv_copy.is-act span:after {
  width: 100%;
}
.p-index_kv__lead {
  font-size: 1.8rem;
  font-weight: 600;
}
@media only screen and (max-width: 1599px) {
  .p-index_kv__lead {
    font-size: calc(0.4897959184vw + 1.0163265306rem);
  }
}

.p-index_policy {
  overflow: hidden;
  padding-top: 150px;
}
@media only screen and (max-width: 1599px) {
  .p-index_policy {
    padding-top: calc(8.1632653061vw + 19.387755102px);
  }
}
.p-index_policy__container {
  width: 100%;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}
.p-index_policy__inner {
  display: flex;
  align-items: flex-start;
  padding-left: 200px;
  padding-bottom: 160px;
  gap: 90px;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-index_policy__inner {
    padding-left: calc(17.3611111111vw + -77.6041666667px);
    padding-bottom: calc(6.5306122449vw + 55.5102040816px);
    gap: calc(5.2083333333vw + 6.71875px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_policy__inner {
    padding-left: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 767px) {
  .p-index_policy__inner {
    padding-left: 0;
    flex-direction: column-reverse;
    gap: 0;
  }
}
.p-index_policy__inner:before {
  content: "";
  display: block;
  background-image: url(../../img/common/parts/pattern_wire01.svg);
  background-repeat: repeat;
  background-position: right top;
  background-size: 36px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 190px;
  right: 95%;
  z-index: -1;
}
@media only screen and (max-width: 1599px) {
  .p-index_policy__inner:before {
    top: calc(7.7551020408vw + 65.9183673469px);
    background-size: calc(1.4693877551vw + 12.4897959184px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_policy__inner:before {
    top: 0;
    right: auto;
    left: 90%;
  }
}
.p-index_policy__textarea {
  width: 100%;
  flex: 8;
  margin-top: 80px;
}
@media only screen and (max-width: 1599px) {
  .p-index_policy__textarea {
    margin-top: calc(3.2653061224vw + 27.7551020408px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_policy__textarea {
    flex: 5;
  }
}
.p-index_policy__imgarea {
  width: 100%;
  flex: 13;
  position: relative;
  max-width: 780px;
  aspect-ratio: 39/44;
  margin-right: -50px;
}
@media only screen and (max-width: 1599px) {
  .p-index_policy__imgarea {
    max-width: calc(27.7551020408vw + 335.9183673469px);
    margin-right: calc(-2.4489795918vw + -10.8163265306px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_policy__imgarea {
    flex: 7;
  }
}
@media only screen and (max-width: 767px) {
  .p-index_policy__imgarea {
    max-width: none;
    margin-right: 0;
    right: calc(-2.4489795918vw + -10.8163265306px);
    aspect-ratio: 23/15;
  }
}
.p-index_policy__imgarea.js-anim_elm img {
  opacity: 0;
  transform: scale(1.1);
  transition-duration: 1s;
}
.p-index_policy__imgarea.js-anim_elm .-img02 img {
  transition-delay: 0.2s;
}
.p-index_policy__imgarea.js-anim_elm.is-act img {
  opacity: 1;
  transform: scale(1);
}
.p-index_policy__copy {
  font-size: 5.2rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-top: 1em;
  margin-bottom: 1.5em;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 1599px) {
  .p-index_policy__copy {
    font-size: calc(2.612244898vw + 1.0204081633rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-index_policy__copy {
    font-size: calc(1.7142857143vw + 2.4571428571rem);
  }
}
.p-index_policy__copy strong {
  color: #006eaf;
  font-weight: inherit;
}
.p-index_policy__copy.js-anim_elm span {
  opacity: 0;
  transform: translateX(-0.5em);
  transition-property: opacity, transform;
  transition-duration: 1s;
}
.p-index_policy__copy.js-anim_elm span:nth-child(0) {
  transition-delay: -0.1s;
}
.p-index_policy__copy.js-anim_elm span:nth-child(1) {
  transition-delay: 0s;
}
.p-index_policy__copy.js-anim_elm span:nth-child(2) {
  transition-delay: 0.1s;
}
.p-index_policy__copy.js-anim_elm strong {
  color: #000;
  transition-duration: 1s;
  transition-delay: 0.4s;
}
.p-index_policy__copy.js-anim_elm.is-act span {
  opacity: 1;
  transform: translateX(0);
}
.p-index_policy__copy.js-anim_elm.is-act strong {
  color: #006eaf;
}
.p-index_policy__img {
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  z-index: 10;
}
.p-index_policy__img img {
  width: 100%;
  max-width: none;
}
.p-index_policy__img.-img01 {
  position: absolute;
  top: 0;
  right: 0;
  width: 80%;
  border-radius: 10px 0 0 10px;
}
@media only screen and (min-width: 1700px) {
  .p-index_policy__img.-img01 {
    border-radius: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .p-index_policy__img.-img01 {
    width: 85%;
  }
}
.p-index_policy__img.-img02 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30.1%;
}
@media only screen and (max-width: 767px) {
  .p-index_policy__img.-img02 {
    width: 50%;
  }
}

.p-index_strengths {
  padding: 120px 0 80px;
  position: relative;
  background-color: #006eaf;
  overflow: hidden;
}
@media only screen and (max-width: 1599px) {
  .p-index_strengths {
    padding: calc(5.7142857143vw + 28.5714285714px) 0 calc(2.4489795918vw + 40.8163265306px);
  }
}
.p-index_strengths__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 90;
  padding-bottom: 40px;
  margin-bottom: 70px;
}
@media only screen and (max-width: 1599px) {
  .p-index_strengths__head {
    padding-bottom: calc(1.6326530612vw + 13.8775510204px);
    margin-bottom: calc(2.4489795918vw + 30.8163265306px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_strengths__head {
    margin-bottom: 0;
  }
}
.p-index_strengths__head:after {
  content: "";
  border-bottom: 1px solid #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.p-index_strengths__head.js-anim_elm:after {
  width: 0;
  transition-duration: 1s;
}
.p-index_strengths__head.js-anim_elm.is-act:after {
  width: 100vw;
}
.p-index_strengths__body {
  position: relative;
  z-index: 50;
}
.p-index_strengths__body.js-anim_elm {
  opacity: 0;
  transform: translateX(10%);
  transition-duration: 1s;
  transition-property: opacity, transform;
}
@media only screen and (max-width: 1023px) {
  .p-index_strengths__body.js-anim_elm {
    transition-property: opacity;
  }
}
.p-index_strengths__body.js-anim_elm.is-act {
  opacity: 1;
  transform: translateX(0);
}
.p-index_strengths__list-wrapper {
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 1023px) {
  .p-index_strengths__list-wrapper {
    height: auto !important;
  }
}
.p-index_strengths__list {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  gap: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-index_strengths__list {
    gap: calc(4.0816326531vw + 34.693877551px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_strengths__list {
    flex-direction: column;
    position: static;
    gap: 0;
  }
}
.p-index_strengths__list > li {
  width: 1300px;
}
@media only screen and (max-width: 1599px) {
  .p-index_strengths__list > li {
    width: calc(81.6326530612vw + -6.1224489796px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_strengths__list > li {
    width: 100%;
  }
}
.p-index_strengths__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
@media only screen and (max-width: 1023px) {
  .p-index_strengths__bg {
    display: none;
  }
}
.p-index_strengths__bg .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.21;
}
.p-index_strengths .c-button01 {
  position: relative;
  z-index: 50;
}

.p-index_strengths_media {
  display: flex;
  align-items: center;
  gap: 90px;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-index_strengths_media {
    gap: calc(4.8979591837vw + 11.6326530612px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_strengths_media {
    padding: calc(2.4489795918vw + 20.8163265306px) 0;
    border-bottom: 1px solid #fff;
    gap: calc(2.4489795918vw + 20.8163265306px);
  }
}
@media only screen and (max-width: 767px) {
  .p-index_strengths_media {
    flex-direction: column;
  }
}
.p-index_strengths_media__img {
  width: 100%;
  aspect-ratio: 7/5;
  flex: 63;
  overflow: hidden;
  border-radius: 10px;
}
@media only screen and (max-width: 1023px) {
  .p-index_strengths_media__img {
    flex: 50;
  }
}
.p-index_strengths_media__img img {
  width: 100%;
  max-width: none;
}
.p-index_strengths_media__textarea {
  width: 100%;
  flex: 58;
  color: #fff;
}
.p-index_strengths_media__num {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  font-size: 4.2rem;
  display: flex;
  align-items: flex-end;
  line-height: 1;
  margin-bottom: 0.4em;
}
@media only screen and (max-width: 1599px) {
  .p-index_strengths_media__num {
    font-size: calc(1.1428571429vw + 2.3714285714rem);
  }
}
.p-index_strengths_media__num:before {
  content: "#";
  font-size: 0.6em;
  position: relative;
  top: -0.3em;
  margin-right: 0.1em;
}
.p-index_strengths_media__title {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 0.75em;
}
@media only screen and (max-width: 1599px) {
  .p-index_strengths_media__title {
    font-size: calc(0.7346938776vw + 1.8244897959rem);
  }
}
.p-index_strengths_media__bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  z-index: -1;
  opacity: 0.21;
  display: none;
}
@media only screen and (max-width: 1023px) {
  .p-index_strengths_media__bg {
    display: block;
  }
}
.p-index_strengths_media__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.-slide01 .p-index_strengths_media__bg {
  top: calc(-13.0612244898vw + -111.0204081633px);
}
.-slide04 .p-index_strengths_media__bg {
  bottom: calc(-13.0612244898vw + -111.0204081633px);
}

.p-index_products {
  padding-top: 120px;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-index_products {
    padding-top: calc(4.8979591837vw + 41.6326530612px);
  }
}
.p-index_products:before {
  content: "";
  background-color: #f5f8fb;
  width: 100%;
  height: 295px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (max-width: 1599px) {
  .p-index_products:before {
    height: calc(12.0408163265vw + 102.3469387755px);
  }
}
.p-index_products__inner {
  padding-top: 120px;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-index_products__inner {
    padding-top: calc(4.8979591837vw + 41.6326530612px);
  }
}
.p-index_products__inner:before {
  content: "";
  background-color: #fff;
  height: 100%;
  position: absolute;
  top: 0;
  left: 100px;
  right: -100vw;
  z-index: -1;
}
@media only screen and (max-width: 1599px) {
  .p-index_products__inner:before {
    left: calc(12.2448979592vw + -95.9183673469px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_products__inner:before {
    left: -100vw;
  }
}
@media (hover: none) {
  .p-index_products__inner:before {
    left: -100vw;
  }
}
.p-index_products__inner.-mouse {
  display: flex;
  align-items: flex-start;
  gap: 120px;
  padding-right: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-index_products__inner.-mouse {
    gap: calc(10.4166666667vw + -46.5625px);
    padding-right: calc(4.0816326531vw + 34.693877551px);
  }
}
@media only screen and (max-width: 1299px) {
  .p-index_products__inner.-mouse {
    padding-right: 0;
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_products__inner.-mouse {
    flex-direction: column-reverse;
    gap: calc(2.4489795918vw + 20.8163265306px);
  }
}
@media (hover: none) {
  .p-index_products__inner.-mouse {
    display: none;
  }
}
.p-index_products__inner.-touch {
  display: none;
}
@media (hover: none) {
  .p-index_products__inner.-touch {
    display: block;
  }
}
.p-index_products__img {
  width: 100%;
  aspect-ratio: 1/1;
  flex: 70 1;
  min-width: 0;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 1023px) and (hover: hover) {
  .p-index_products__img {
    transform: none !important;
  }
}
.p-index_products__img:before {
  content: "";
  display: block;
  background-image: url(../../img/common/parts/pattern_wire01.svg);
  background-repeat: repeat;
  background-size: 36px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50px;
  right: 50px;
  z-index: -1;
}
@media only screen and (max-width: 1599px) {
  .p-index_products__img:before {
    top: calc(2.4489795918vw + 10.8163265306px);
    right: calc(2.4489795918vw + 10.8163265306px);
    background-size: calc(1.4693877551vw + 12.4897959184px);
  }
}
.p-index_products__img .slider {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 10px;
}
.p-index_products__img .slider .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.1);
  transition-duration: 1.5s;
}
.p-index_products__img .slider .swiper-slide.swiper-slide-active img {
  transform: scale(1);
}
.p-index_products__textarea {
  width: 100%;
  flex: 57 1;
  min-width: 0;
  margin-top: 30px;
}
@media only screen and (max-width: 1599px) {
  .p-index_products__textarea {
    margin-top: calc(1.2244897959vw + 10.4081632653px);
  }
}
@media only screen and (max-width: 1299px) {
  .p-index_products__textarea {
    margin-top: 0;
    flex: 70;
  }
}
.p-index_products__textarea .slider .swiper-wrapper {
  width: auto;
  height: auto;
  display: flex;
  flex-direction: column;
  transform: none !important;
}
.p-index_products__textarea .slider .swiper-slide {
  cursor: pointer;
  flex-shrink: 1;
  width: auto;
  height: auto;
}
.p-index_products__textarea .slider .swiper-slide:last-child {
  border-bottom: 1px solid #d8dbe0;
}
@media (hover: hover) {
  .p-index_products__textarea .slider:hover .swiper-slide:not(:hover) {
    opacity: 0.5;
  }
}
.p-index_products__foot {
  display: flex;
  justify-content: center;
  margin-top: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-index_products__foot {
    margin-top: calc(4.0816326531vw + 34.693877551px);
  }
}

.p-index_products_link a {
  border-top: 1px solid #d8dbe0;
  display: block;
  position: relative;
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .p-index_products_link a:hover {
    border-color: #d4420a;
  }
}
.p-index_products_link__head {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding: 40px 0;
  padding-left: 20px;
}
@media only screen and (max-width: 1599px) {
  .p-index_products_link__head {
    padding: calc(1.6326530612vw + 13.8775510204px) 0;
    padding-left: calc(0.8163265306vw + 6.9387755102px);
  }
}
.p-index_products_link__body {
  padding-bottom: 40px;
  padding-left: 30px;
}
@media only screen and (max-width: 1599px) {
  .p-index_products_link__body {
    padding-bottom: calc(1.6326530612vw + 13.8775510204px);
    padding-left: calc(0.8163265306vw + 16.9387755102px);
  }
}
.js-aco_elm .p-index_products_link__body {
  opacity: 0;
  transform: translateY(1em);
  transition-duration: 0.5s;
}
.is-open .js-aco_elm .p-index_products_link__body {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.p-index_products_link__num, .p-index_products_media__num {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  color: #006eaf;
  margin-right: 0.5em;
  transition-duration: 1s;
}
@media (hover: hover) {
  a:hover .p-index_products_link__num, a:hover .p-index_products_media__num {
    color: #d4420a;
  }
}
.p-index_products_link__title, .p-index_products_media__title {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.6;
}
@media only screen and (max-width: 1599px) {
  .p-index_products_link__title, .p-index_products_media__title {
    font-size: calc(0.4897959184vw + 1.6163265306rem);
  }
}
.p-index_products_link .c-arrow01 {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.p-index_products_media {
  padding: calc(2.4489795918vw + 20.8163265306px) 0;
  border-top: 1px solid #d8dbe0;
}
.p-index_products_media__inner {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.p-index_products_media__textarea {
  flex: 8 1;
}
.p-index_products_media__img {
  flex: 5 1;
  aspect-ratio: 5/6;
  border-radius: 10px;
  overflow: hidden;
}
.p-index_products_media__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-index_products_media__head {
  display: flex;
  align-items: flex-start;
  margin-bottom: calc(0.8163265306vw + 6.9387755102px);
}
.p-index_products_search {
  width: 100%;
  max-width: 1200px;
  border: 1px solid #525760;
}
.p-index_products_search__head {
  padding: 40px 50px;
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-index_products_search__head {
    font-size: calc(0.3265306122vw + 1.2775510204rem);
    padding: calc(1.6326530612vw + 13.8775510204px) calc(2.4489795918vw + 10.8163265306px);
  }
}
.p-index_products_search__head .c-ico {
  margin-right: 1em;
}
@media (hover: hover) {
  .p-index_products_search__head:hover .p-index_products_search__toggle {
    background-color: #30353d;
  }
}
.p-index_products_search__body {
  padding: 50px;
  padding-top: 20px;
}
@media only screen and (max-width: 1599px) {
  .p-index_products_search__body {
    padding: calc(2.4489795918vw + 10.8163265306px);
    padding-top: 20px;
    padding-bottom: calc(1.6326530612vw + 23.8775510204px);
  }
}
.p-index_products_search__toggle {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #525760;
  height: 100%;
  aspect-ratio: 1/1;
  transition-duration: 0.5s;
}
.p-index_products_search__toggle:before, .p-index_products_search__toggle:after {
  content: "";
  width: 18px;
  border-top: 4px solid #fff;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 1599px) {
  .p-index_products_search__toggle:before, .p-index_products_search__toggle:after {
    width: calc(0.7346938776vw + 6.2448979592px);
    border-top-width: calc(0.1632653061vw + 1.387755102px);
  }
}
.p-index_products_search__toggle:after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.is-open .p-index_products_search__toggle:after {
  opacity: 0;
}

.p-index_company {
  background-color: #f5f8fb;
  padding-top: 100px;
  margin-top: 110px;
}
@media only screen and (max-width: 1599px) {
  .p-index_company {
    padding-top: calc(4.0816326531vw + 34.693877551px);
    margin-top: calc(4.4897959184vw + 38.1632653061px);
  }
}
.p-index_company__inner {
  background-color: #fff;
  padding-top: 100px;
  padding-bottom: 150px;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-index_company__inner {
    padding-top: calc(4.0816326531vw + 34.693877551px);
    padding-bottom: calc(6.1224489796vw + 52.0408163265px);
  }
}
.p-index_company__inner:before {
  content: "";
  background-color: #fff;
  width: 80px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 100%;
  border-radius: 10px 0 0 0;
}
.p-index_company__inner:after {
  content: "";
  background-color: #fff;
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 100%;
}

.p-index_company_history {
  display: flex;
  align-items: flex-end;
  margin-bottom: 80px;
}
@media only screen and (max-width: 1599px) {
  .p-index_company_history {
    margin-bottom: calc(3.2653061224vw + 27.7551020408px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_company_history {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
}
.p-index_company_history__textarea {
  width: 100%;
  flex: 29;
  margin-right: -140px;
  background-color: #fff;
  border-radius: 10px 10px 0 0;
  padding-top: 70px;
  padding-bottom: 60px;
  padding-left: 50px;
  padding-right: 90px;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 1599px) {
  .p-index_company_history__textarea {
    margin-right: calc(-5.7142857143vw + -48.5714285714px);
    padding-top: calc(2.4489795918vw + 30.8163265306px);
    padding-bottom: calc(2.4489795918vw + 20.8163265306px);
    padding-left: calc(1.6326530612vw + 23.8775510204px);
    padding-right: calc(3.2653061224vw + 37.7551020408px);
  }
}
@media only screen and (max-width: 1299px) {
  .p-index_company_history__textarea {
    padding-left: 0;
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_company_history__textarea {
    padding: 0;
    margin-right: 0;
    border-radius: 0;
    margin-top: calc(1.6326530612vw + 13.8775510204px);
  }
}
.p-index_company_history__img {
  width: 100%;
  flex: 57;
  height: 450px;
  border-radius: 10px;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .p-index_company_history__img {
    height: auto;
  }
}
.p-index_company_history__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 1023px) {
  .p-index_company_history__img img {
    height: auto;
    object-fit: inherit;
  }
}
.p-index_company_history.js-anim_elm .p-index_company_history__img {
  opacity: 0;
  transform: translateY(1em);
  transition-property: opacity, transform;
  transition-duration: 1s;
}
.p-index_company_history.js-anim_elm .p-index_company_history__textarea {
  opacity: 0;
  transform: translateY(1em);
  transition-property: opacity, transform;
  transition-duration: 1s;
  transition-delay: 0.2s;
}
.p-index_company_history.js-anim_elm.is-act .p-index_company_history__img {
  opacity: 1;
  transform: translateY(0);
}
.p-index_company_history.js-anim_elm.is-act .p-index_company_history__textarea {
  opacity: 1;
  transform: translateY(0);
}

.p-index_sustainability {
  padding-top: 150px;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 1599px) {
  .p-index_sustainability {
    padding-top: calc(6.1224489796vw + 52.0408163265px);
  }
}
.p-index_sustainability:before {
  content: "";
  width: 100%;
  height: 700px;
  background: url(../../img/index/sustainability_bg.jpg) no-repeat center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (max-width: 3840px) and (min-width: 320px) and (min-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 1.5), (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5) {
  .p-index_sustainability:before {
    background: url(../../img/index/sustainability_bg@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (max-width: 1599px) {
  .p-index_sustainability:before {
    height: calc(28.5714285714vw + 242.8571428571px);
  }
}
@media only screen and (max-width: 767px) {
  .p-index_sustainability:before {
    height: calc(44.8979591837vw + 381.6326530612px);
  }
}
.p-index_sustainability__inner {
  display: flex;
  align-items: flex-start;
  gap: 90px;
}
@media only screen and (max-width: 1599px) {
  .p-index_sustainability__inner {
    gap: calc(3.6734693878vw + 31.2244897959px);
  }
}
@media only screen and (max-width: 767px) {
  .p-index_sustainability__inner {
    flex-direction: column;
    align-items: stretch;
  }
}
.p-index_sustainability__textarea {
  width: 100%;
  flex: 58;
}
.p-index_sustainability__imgarea {
  width: 100%;
  flex: 63;
  position: relative;
  max-width: 630px;
  aspect-ratio: 63/65;
}
@media only screen and (max-width: 1599px) {
  .p-index_sustainability__imgarea {
    max-width: calc(25.7142857143vw + 218.5714285714px);
  }
}
@media only screen and (max-width: 767px) {
  .p-index_sustainability__imgarea {
    max-width: none;
  }
}
.p-index_sustainability__imgarea.js-anim_elm img {
  opacity: 0;
  transform: scale(1.1);
  transition-duration: 1s;
}
.p-index_sustainability__imgarea.js-anim_elm .-img02 img {
  transition-delay: 0.2s;
}
.p-index_sustainability__imgarea.js-anim_elm.is-act img {
  opacity: 1;
  transform: scale(1);
}
.p-index_sustainability__copy {
  font-size: 4.2rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-top: 1em;
  margin-bottom: 1em;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 1599px) {
  .p-index_sustainability__copy {
    font-size: calc(2.6442307692vw + -0.028125rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-index_sustainability__copy {
    font-size: calc(1.4693877551vw + 1.8489795918rem);
  }
}
.p-index_sustainability__copy strong {
  color: #006eaf;
  font-weight: inherit;
}
.p-index_sustainability__copy.js-anim_elm span {
  opacity: 0;
  transform: translateX(-0.5em);
  transition-property: opacity, transform;
  transition-duration: 1s;
}
.p-index_sustainability__copy.js-anim_elm span:nth-child(0) {
  transition-delay: -0.1s;
}
.p-index_sustainability__copy.js-anim_elm span:nth-child(1) {
  transition-delay: 0s;
}
.p-index_sustainability__copy.js-anim_elm span:nth-child(2) {
  transition-delay: 0.1s;
}
.p-index_sustainability__copy.js-anim_elm strong {
  color: #000;
  transition-duration: 1s;
  transition-delay: 0.4s;
}
.p-index_sustainability__copy.js-anim_elm.is-act span {
  opacity: 1;
  transform: translateX(0);
}
.p-index_sustainability__copy.js-anim_elm.is-act strong {
  color: #006eaf;
}
.p-index_sustainability__img {
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  z-index: 10;
}
.p-index_sustainability__img img {
  width: 100%;
  max-width: none;
}
.p-index_sustainability__img.-img01 {
  position: absolute;
  top: 0;
  right: 0;
  width: 76.2%;
}
@media only screen and (max-width: 767px) {
  .p-index_sustainability__img.-img01 {
    width: 68%;
  }
}
.p-index_sustainability__img.-img02 {
  position: absolute;
  bottom: 3%;
  left: 0;
  width: 40%;
}
@media only screen and (max-width: 767px) {
  .p-index_sustainability__img.-img02 {
    width: 50%;
    bottom: 0;
  }
}

.p-index_news {
  background-color: #f4f4f6;
  margin-top: 120px;
  padding-top: 120px;
  padding-bottom: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-index_news {
    margin-top: calc(4.8979591837vw + 41.6326530612px);
    padding-top: calc(4.8979591837vw + 41.6326530612px);
    padding-bottom: calc(4.0816326531vw + 34.693877551px);
  }
}
.p-index_news__inner {
  display: flex;
  gap: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-index_news__inner {
    gap: calc(4.0816326531vw + 34.693877551px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_news__inner {
    flex-direction: column;
    gap: calc(2.4489795918vw + 20.8163265306px);
  }
}

.p-index_news_block {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.p-index_news_block .c-post_link01_list {
  margin-bottom: auto;
}

.p-index_recruit {
  position: relative;
  z-index: 10;
  overflow: hidden;
}
.p-index_recruit__inner {
  display: flex;
  position: relative;
  padding-top: 160px;
  padding-bottom: 210px;
}
@media only screen and (max-width: 1599px) {
  .p-index_recruit__inner {
    padding-top: calc(7.3469387755vw + 42.4489795918px);
    padding-bottom: calc(10.612244898vw + 40.2040816327px);
  }
}
.p-index_recruit__textarea {
  width: 50%;
  text-align: center;
  padding-right: 60px;
}
@media only screen and (max-width: 1599px) {
  .p-index_recruit__textarea {
    padding-right: calc(4.8979591837vw + -18.3673469388px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_recruit__textarea {
    padding-right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-index_recruit__textarea {
    width: 100%;
  }
}
.p-index_recruit__title {
  font-weight: 600;
  color: #d4420a;
  margin-bottom: 50px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 1599px) {
  .p-index_recruit__title {
    font-size: calc(0.1632653061vw + 1.3387755102rem);
    margin-bottom: calc(1.6326530612vw + 23.8775510204px);
  }
}
.p-index_recruit__en {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
  margin-bottom: 2em;
}
@media only screen and (max-width: 1599px) {
  .p-index_recruit__en {
    font-size: calc(0.2448979592vw + 1.0081632653rem);
  }
}
.p-index_recruit__en img {
  width: auto;
  height: 1em;
}
.p-index_recruit__copy {
  font-size: 5rem;
  font-weight: 500;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "YuMincho", "HG明朝E", "MS P明朝", "MS 明朝", serif;
  color: #d4420a;
  line-height: 1.5;
  letter-spacing: 0.15em;
  position: relative;
  padding-bottom: 0.6em;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 1599px) {
  .p-index_recruit__copy {
    font-size: calc(2.0408163265vw + 1.7346938776rem);
  }
}
.p-index_recruit__copy:after {
  content: "";
  background: url(../../img/index/recruit_obj01.svg) no-repeat center;
  background-size: cover;
  height: 0.3em;
  aspect-ratio: 14/3;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-index_recruit__copy span {
  display: block;
}
.p-index_recruit__img {
  position: absolute;
  z-index: -1;
}
.p-index_recruit__img img {
  width: 100%;
  max-width: none;
}
.p-index_recruit__img.-img01 {
  top: 16px;
  right: -44%;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .p-index_recruit__img.-img01 {
    top: auto;
    top: 30%;
    right: -50%;
  }
}
.p-index_recruit__img.-img02 {
  top: 18px;
  left: -60%;
  width: 64.5%;
}
@media only screen and (max-width: 767px) {
  .p-index_recruit__img.-img02 {
    top: 25%;
    left: -45%;
  }
}
.p-index_recruit.js-anim_elm .p-index_recruit__title {
  opacity: 0;
  transform: translateY(1em);
  transition-property: opacity, transform;
  transition-duration: 1s;
}
.p-index_recruit.js-anim_elm .p-index_recruit__en {
  opacity: 0;
  transform: translateY(1em);
  transition-property: opacity, transform;
  transition-duration: 1s;
  transition-delay: 0.2s;
}
.p-index_recruit.js-anim_elm .p-index_recruit__copy span {
  opacity: 0;
  transform: translateY(0.5em);
  transition-property: opacity, transform;
  transition-duration: 1s;
  transition-delay: 0.4s;
}
.p-index_recruit.js-anim_elm .p-index_recruit__copy span:nth-child(2) {
  transition-delay: 0.6s;
}
.p-index_recruit.js-anim_elm .p-index_recruit__copy:after {
  opacity: 0;
  transform: translateX(-60%);
  transition-duration: 1s;
  transition-property: opacity, transform;
  transition-delay: 0.8s;
}
.p-index_recruit.js-anim_elm .c-text01 {
  opacity: 0;
  transform: translateY(1em);
  transition-property: opacity, transform;
  transition-duration: 1s;
  transition-delay: 0.6s;
}
.p-index_recruit.js-anim_elm .c-button01 {
  opacity: 0;
  transform: translateY(1em);
  transition-property: opacity, transform;
  transition-duration: 1s;
  transition-delay: 0.8s;
}
.p-index_recruit.js-anim_elm.is-act .p-index_recruit__title {
  opacity: 1;
  transform: translateY(0);
}
.p-index_recruit.js-anim_elm.is-act .p-index_recruit__en {
  opacity: 1;
  transform: translateY(0);
}
.p-index_recruit.js-anim_elm.is-act .p-index_recruit__copy span {
  opacity: 1;
  transform: translateY(0);
}
.p-index_recruit.js-anim_elm.is-act .p-index_recruit__copy:after {
  opacity: 1;
  transform: translateX(-50%);
}
.p-index_recruit.js-anim_elm.is-act .c-text01 {
  opacity: 1;
  transform: translateY(0);
}
.p-index_recruit.js-anim_elm.is-act .c-button01 {
  opacity: 1;
  transform: translateY(0);
}

.p-index_icons {
  padding: 50px 0;
}
@media only screen and (max-width: 1599px) {
  .p-index_icons {
    padding: calc(2.0408163265vw + 17.3469387755px) 0;
  }
}
.p-index_icons__list {
  display: flex;
  flex-wrap: wrap;
}
.p-index_icons__item {
  text-align: center;
  width: 100%;
  max-width: 10%;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-index_icons__item {
    max-width: 12.5%;
  }
}
@media only screen and (max-width: 1299px) {
  .p-index_icons__item {
    max-width: 14.285%;
  }
}
@media only screen and (max-width: 1023px) {
  .p-index_icons__item {
    max-width: 16.667%;
  }
}
@media only screen and (max-width: 767px) {
  .p-index_icons__item {
    max-width: 20%;
  }
}
@media only screen and (max-width: 567px) {
  .p-index_icons__item {
    max-width: 33.3333%;
  }
}
.p-index_icons__item::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.p-index_icons__item__container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 1em;
  padding-right: 1em;
}
.p-index_icons__item .js-svg {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 2em;
  height: 2em;
}
.p-index_icons__item .text {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  min-height: 3em;
  margin-top: 1em;
}
@media only screen and (max-width: 1599px) {
  .p-index_icons__item .text {
    font-size: calc(0.2448979592vw + 1.0081632653rem);
  }
}

.p-news_archive {
  padding-top: 100px;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-news_archive {
    padding-top: calc(4.0816326531vw + 34.693877551px);
  }
}
.p-news_archive:before {
  content: "";
  border-top: 1px solid #d8dbe0;
  position: absolute;
  top: 0;
  left: 50px;
  right: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-news_archive:before {
    left: calc(2.4489795918vw + 10.8163265306px);
    right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 374px) {
  .p-news_archive:before {
    left: 20px;
    right: 20px;
  }
}

.p-products_media {
  counter-increment: number;
  display: flex;
  align-items: center;
  gap: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-products_media {
    gap: calc(5.7142857143vw + 8.5714285714px);
  }
}
@media only screen and (max-width: 767px) {
  .p-products_media {
    flex-direction: column-reverse;
  }
}
.p-products_media__textarea {
  width: 100%;
  flex: 21;
}
.p-products_media__img {
  width: 100%;
  flex: 19;
}
.p-products_media__img img {
  width: 100%;
  max-width: none;
  border-radius: 20px;
}
@media only screen and (max-width: 1599px) {
  .p-products_media__img img {
    border-radius: calc(0.8163265306vw + 6.9387755102px);
  }
}
.p-products_media__title {
  display: flex;
  align-items: flex-start;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 1em;
}
@media only screen and (max-width: 1599px) {
  .p-products_media__title {
    font-size: calc(1.306122449vw + 1.5102040816rem);
  }
}
.p-products_media__title:before {
  content: counter(number, decimal-leading-zero);
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  color: #006eaf;
  font-size: 0.6em;
  line-height: 1;
  margin-top: 0.5em;
  margin-right: 0.5em;
}
.p-products_media + .p-products_media {
  margin-top: 150px;
}
@media only screen and (max-width: 1599px) {
  .p-products_media + .p-products_media {
    margin-top: calc(7.3469387755vw + 32.4489795918px);
  }
}

.p-products_category_kv {
  padding-top: 60px;
  margin-bottom: 170px;
}
@media only screen and (max-width: 1599px) {
  .p-products_category_kv {
    padding-top: calc(2.4489795918vw + 20.8163265306px);
    margin-bottom: calc(8.9795918367vw + 26.3265306122px);
  }
}
.p-products_category_kv__inner {
  display: flex;
  gap: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-products_category_kv__inner {
    gap: calc(5.7142857143vw + 8.5714285714px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-products_category_kv__inner {
    flex-direction: column;
  }
}
.p-products_category_kv__textarea {
  width: 100%;
  flex: 2;
  margin-top: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-products_category_kv__textarea {
    margin-top: calc(4.0816326531vw + 34.693877551px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-products_category_kv__textarea {
    margin-top: 0;
  }
}
.p-products_category_kv__img {
  width: 100%;
  flex: 3;
}
.p-products_category_kv__img img {
  width: 100%;
  max-width: none;
  border-radius: 20px;
}
@media only screen and (max-width: 1599px) {
  .p-products_category_kv__img img {
    border-radius: calc(0.8163265306vw + 6.9387755102px);
  }
}
.p-products_category_kv .c-title03 {
  margin-bottom: 1em;
}

.p-products_category_example__inner {
  display: flex;
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .p-products_category_example__inner {
    gap: calc(1.6326530612vw + 13.8775510204px);
  }
}
@media only screen and (max-width: 767px) {
  .p-products_category_example__inner {
    flex-direction: column;
    gap: 0;
  }
}
.p-products_category_example__head {
  width: 100%;
  flex: 22;
}
.p-products_category_example__body {
  width: 100%;
  flex: 41;
}

.p-products_category_example_box {
  display: flex;
  border-radius: 10px;
  background-color: #f4f4f6;
  font-size: 1.8rem;
  padding: 1.2em 1.6em;
  font-weight: 600;
}
@media only screen and (max-width: 1599px) {
  .p-products_category_example_box {
    font-size: calc(0.3265306122vw + 1.2775510204rem);
  }
}
.p-products_category_example_box:before {
  content: counter(number, decimal-leading-zero);
  color: #006eaf;
  font-size: 1.6em;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  line-height: 1;
  margin-top: 0.15em;
  margin-right: 0.5em;
}

.p-products_category_example_box_list {
  counter-reset: number;
}
.p-products_category_example_box_list > li {
  counter-increment: number;
}
.p-products_category_example_box_list > li + li {
  margin-top: 10px;
}

.p-products_category_line__inner {
  padding-top: 120px;
  padding-bottom: 100px;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 1599px) {
  .p-products_category_line__inner {
    padding-top: calc(6.5306122449vw + 15.5102040816px);
    padding-bottom: calc(4.8979591837vw + 21.6326530612px);
  }
}
.p-products_category_line__inner:before {
  content: "";
  background-color: #f4f4f6;
  position: absolute;
  top: 0;
  left: 50px;
  right: 50px;
  z-index: -1;
  height: 100%;
  border-radius: 10px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media only screen and (max-width: 1599px) {
  .p-products_category_line__inner:before {
    left: calc(2.4489795918vw + 10.8163265306px);
    right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 767px) {
  .p-products_category_line__inner:before {
    left: 0;
    right: 0;
  }
}

.p-products_category_line_search {
  padding-bottom: 70px;
  margin-bottom: 70px;
  border-bottom: 1px solid #d8dbe0;
}
@media only screen and (max-width: 1599px) {
  .p-products_category_line_search {
    padding-bottom: calc(3.2653061224vw + 17.7551020408px);
    margin-bottom: calc(3.2653061224vw + 17.7551020408px);
  }
}

.p-products_category_catalog__inner {
  display: flex;
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .p-products_category_catalog__inner {
    gap: calc(0.8163265306vw + 26.9387755102px);
  }
}
@media only screen and (max-width: 767px) {
  .p-products_category_catalog__inner {
    flex-direction: column;
    gap: 0;
  }
}
.p-products_category_catalog__head {
  width: 100%;
  flex: 22;
  position: relative;
  z-index: 50;
}
.p-products_category_catalog__body {
  width: 100%;
  flex: 41;
  min-width: 0;
  position: relative;
  z-index: 10;
}
.p-products_category_catalog__body:before {
  content: "";
  background-color: #fff;
  position: absolute;
  top: 0;
  right: 100%;
  z-index: 10;
  width: 100vw;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .p-products_category_catalog__body:before {
    display: none;
  }
}

.p-products_single_section + .p-products_single_section {
  margin-top: 70px;
}

.p-products_single_kv {
  display: flex;
  align-items: center;
  gap: 40px;
  padding-top: 50px;
  margin-bottom: 70px;
}
@media only screen and (max-width: 1599px) {
  .p-products_single_kv {
    padding-top: calc(1.6326530612vw + 23.8775510204px);
    margin-bottom: calc(3.2653061224vw + 17.7551020408px);
    gap: calc(0.8163265306vw + 26.9387755102px);
  }
}
@media only screen and (max-width: 1299px) {
  .p-products_single_kv {
    flex-direction: column;
  }
}
.p-products_single_kv__textarea {
  width: 100%;
  flex: 1;
}
.p-products_single_kv__img {
  width: 100%;
  flex: 1;
}
.p-products_single_kv__img img {
  width: 100%;
  max-width: none;
  border-radius: 20px;
}
@media only screen and (max-width: 1599px) {
  .p-products_single_kv__img img {
    border-radius: calc(0.8163265306vw + 6.9387755102px);
  }
}
.p-products_single_kv .c-title03 {
  margin-bottom: 0;
}

.p-products_single_feature {
  counter-reset: number;
}

.p-products_single_feature_block {
  counter-increment: number;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  padding-bottom: 30px;
  border-bottom: 1px solid #d8dbe0;
  font-size: 2rem;
}
@media only screen and (max-width: 1599px) {
  .p-products_single_feature_block {
    font-size: calc(0.3265306122vw + 1.4775510204rem);
    padding-bottom: calc(0.8163265306vw + 16.9387755102px);
  }
}
.p-products_single_feature_block__head {
  position: relative;
  width: 100%;
  flex: 13;
  line-height: 1.5;
  font-weight: 600;
  padding-left: 1.2em;
}
.p-products_single_feature_block__head:before {
  content: counter(number, decimal-leading-zero);
  font-size: 0.7em;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  color: #006eaf;
  line-height: 1;
  position: absolute;
  top: 0.4em;
  left: 0;
}
.p-products_single_feature_block__body {
  width: 100%;
  flex: 38;
  padding-left: 1.2em;
}
.p-products_single_feature_block + .p-products_single_feature_block {
  margin-top: 30px;
}
@media only screen and (max-width: 1599px) {
  .p-products_single_feature_block + .p-products_single_feature_block {
    margin-top: calc(0.8163265306vw + 16.9387755102px);
  }
}

.p-products_single_purpose__head {
  margin-bottom: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-products_single_purpose__head {
    margin-bottom: calc(1.6326530612vw + 23.8775510204px);
  }
}
.p-products_single_purpose .c-title03 {
  margin-bottom: 0.5em;
}

.p-products_single_spec__detail {
  margin-top: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-products_single_spec__detail {
    margin-top: calc(1.6326530612vw + 23.8775510204px);
  }
}

.p-products_single_related__slider {
  position: relative;
  z-index: 10;
}
.p-products_single_related__slider:before {
  content: "";
  background-color: #fff;
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  right: 100%;
  z-index: 10;
}

.c-spec_table {
  overflow-x: auto;
}
.c-spec_table table {
  min-width: 100%;
  width: auto;
  white-space: nowrap;
  table-layout: auto !important;
}
.c-spec_table table th,
.c-spec_table table td {
  border: 1px solid #d8dbe0;
  padding: 0.5em;
  text-align: center;
  vertical-align: middle;
}
.c-spec_table table th {
  font-weight: 400;
}
.c-spec_table table thead {
  text-align: center;
}
.c-spec_table table thead th {
  background-color: #f4f4f6;
}
.c-spec_table table tbody th {
  padding: 0.5em 1em;
  text-align: left;
  vertical-align: top;
}
.c-spec_table table tbody td {
  width: 4em;
}
.c-spec_table table .name {
  min-width: 12em;
}
.c-spec_table table .grade {
  min-width: 8em;
}
.c-spec_table table .type {
  min-width: 11em;
}

.p-products-search_form {
  padding-top: 100px;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-products-search_form {
    padding-top: calc(4.0816326531vw + 34.693877551px);
  }
}
.p-products-search_form:before {
  content: "";
  border-top: 1px solid #d8dbe0;
  position: absolute;
  top: 0;
  left: 50px;
  right: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-products-search_form:before {
    left: calc(2.4489795918vw + 10.8163265306px);
    right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 374px) {
  .p-products-search_form:before {
    left: 20px;
    right: 20px;
  }
}

.p-products-search_archive {
  margin-top: 80px;
}
@media only screen and (max-width: 1599px) {
  .p-products-search_archive {
    margin-top: calc(3.2653061224vw + 27.7551020408px);
  }
}
.p-products-search_archive__title {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0 30px;
  margin-bottom: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-products-search_archive__title {
    gap: 0 calc(1.2244897959vw + 10.4081632653px);
    margin-bottom: calc(1.6326530612vw + 23.8775510204px);
  }
}
.p-products-search_archive__count {
  display: flex;
  align-items: center;
  font-size: 2rem;
  font-weight: 600;
  margin-top: 0.8em;
}
@media only screen and (max-width: 1599px) {
  .p-products-search_archive__count {
    font-size: calc(0.3265306122vw + 1.4775510204rem);
  }
}
.p-products-search_archive__count .num {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  color: #006eaf;
  line-height: 1;
  font-size: 2.1em;
  margin-right: 0.1em;
  margin-top: -0.2em;
}

.p-ir_news__inner {
  display: flex;
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .p-ir_news__inner {
    gap: calc(0.8163265306vw + 26.9387755102px);
  }
}
@media only screen and (max-width: 1299px) {
  .p-ir_news__inner {
    flex-direction: column;
  }
}
.p-ir_news__head {
  width: 100%;
  flex: 340;
}
.p-ir_news__body {
  width: 100%;
  flex: 920;
  margin-top: 40px;
}
@media only screen and (max-width: 1599px) {
  .p-ir_news__body {
    margin-top: calc(1.6326530612vw + 13.8775510204px);
  }
}
@media only screen and (max-width: 1299px) {
  .p-ir_news__body {
    margin-top: 0;
  }
}

.p-ir_library__inner {
  position: relative;
  z-index: 0;
  padding-top: 100px;
  padding-bottom: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-ir_library__inner {
    padding-top: calc(4.0816326531vw + 34.693877551px);
    padding-bottom: calc(4.0816326531vw + 34.693877551px);
  }
}
.p-ir_library__inner:before {
  content: "";
  background-color: #f4f4f6;
  position: absolute;
  top: 0;
  left: 50px;
  right: 50px;
  z-index: -1;
  height: 100%;
  border-radius: 10px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media only screen and (max-width: 1599px) {
  .p-ir_library__inner:before {
    left: calc(2.4489795918vw + 10.8163265306px);
    right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 767px) {
  .p-ir_library__inner:before {
    left: 0;
    right: 0;
    border-radius: 0;
  }
}
.p-ir_library__list {
  counter-reset: number;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 40px;
}
@media only screen and (max-width: 1599px) {
  .p-ir_library__list {
    gap: calc(1.2244897959vw + 10.4081632653px) calc(1.6326530612vw + 13.8775510204px);
  }
}
@media only screen and (max-width: 767px) {
  .p-ir_library__list {
    grid-template-columns: 1fr;
  }
}
.p-ir_library__list > li {
  counter-increment: number;
}

.p-ir_library_block a {
  display: flex;
  align-items: center;
  border-radius: 10px;
  background-color: #fff;
  font-size: 2rem;
  padding: 1.2em 1.6em;
  font-weight: 600;
}
@media only screen and (max-width: 1599px) {
  .p-ir_library_block a {
    font-size: calc(0.4897959184vw + 1.2163265306rem);
  }
}
.p-ir_library_block__title {
  display: flex;
}
.p-ir_library_block__title:before {
  content: counter(number, decimal-leading-zero);
  color: #006eaf;
  font-size: 0.7em;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  line-height: 1;
  margin-top: 0.75em;
  margin-right: 0.3em;
}
.p-ir_library_block .c-arrow01 {
  margin-left: auto;
}

.p-highlights {
  padding-top: calc(2.8571428571vw + 24.2857142857px);
  position: relative;
}
.p-highlights::before {
  content: "";
  border-top: 1px solid #d8dbe0;
  content: "";
  left: 50px;
  position: absolute;
  right: 50px;
  top: 0;
}
.p-highlights_card__item {
  margin-top: calc(1.2244897959vw + 10.4081632653px);
}
.p-highlights_card__img img {
  width: 100%;
}
.p-highlights_card__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.p-highlights_card__head .c-text01 {
  margin-bottom: 0.75em;
}
.p-highlights__table table {
  width: 100%;
  table-layout: fixed;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Regular", sans-serif;
  border-collapse: collapse;
}
.p-highlights__table table tr {
  text-align: center;
  font-size: 1.2rem;
}
@media only screen and (max-width: 1599px) {
  .p-highlights__table table tr {
    font-size: calc(0.1632653061vw + 0.9387755102rem);
  }
}
.p-highlights__table table th {
  text-align: center;
  padding: 0.5em;
  font-weight: 400;
  background: #F4F4F6;
}
.p-highlights__table table td {
  text-align: right;
  padding: 0.5em;
}

.p-sustainability_sdgs__list {
  margin-top: 120px;
}
@media only screen and (max-width: 1599px) {
  .p-sustainability_sdgs__list {
    margin-top: calc(4.8979591837vw + 41.6326530612px);
  }
}
.p-sustainability_sdgs__list > li + li {
  margin-top: 120px;
}
@media only screen and (max-width: 1599px) {
  .p-sustainability_sdgs__list > li + li {
    margin-top: calc(4.8979591837vw + 41.6326530612px);
  }
}

.p-sustainability_sdgs_block {
  display: flex;
  align-items: center;
  gap: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-sustainability_sdgs_block {
    gap: calc(5.7142857143vw + 8.5714285714px);
  }
}
@media only screen and (max-width: 1299px) {
  .p-sustainability_sdgs_block {
    align-items: stretch;
  }
}
@media only screen and (max-width: 767px) {
  .p-sustainability_sdgs_block {
    flex-direction: column;
  }
}
.p-sustainability_sdgs_block__textarea {
  width: 100%;
  flex: 670;
}
.p-sustainability_sdgs_block__img {
  width: 100%;
  flex: 530;
}
.p-sustainability_sdgs_block__img img {
  width: 100%;
  max-width: none;
  border-radius: 10px;
}
.p-sustainability_sdgs_block__logo img {
  width: auto;
  height: 54px;
}
@media only screen and (max-width: 1599px) {
  .p-sustainability_sdgs_block__logo img {
    height: calc(1.1428571429vw + 35.7142857143px);
  }
}
.p-sustainability_sdgs_block__title {
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 1em 0;
}
@media only screen and (max-width: 1599px) {
  .p-sustainability_sdgs_block__title {
    font-size: calc(1.4693877551vw + 1.2489795918rem);
  }
}
.p-sustainability_sdgs_block.-reverse {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 767px) {
  .p-sustainability_sdgs_block.-reverse {
    flex-direction: column;
  }
}

.p-about_intro {
  padding-top: 130px;
}
@media only screen and (max-width: 1599px) {
  .p-about_intro {
    padding-top: calc(8.1632653061vw + -0.612244898px);
  }
}
.p-about_intro__inner {
  display: flex;
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .p-about_intro__inner {
    gap: calc(0.8163265306vw + 26.9387755102px);
  }
}
@media only screen and (max-width: 767px) {
  .p-about_intro__inner {
    flex-direction: column;
  }
}
.p-about_intro__textarea {
  width: 100%;
  flex: 780;
}
.p-about_intro__img {
  width: 100%;
  flex: 480;
}
.p-about_intro__img img {
  width: 100%;
  max-width: none;
  border-radius: 10px;
}
.p-about_intro__copy {
  font-size: 5rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-top: 1em;
  margin-bottom: 1.2em;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 1599px) {
  .p-about_intro__copy {
    font-size: calc(2.4489795918vw + 1.0816326531rem);
  }
}
.p-about_intro__copy strong {
  color: #006eaf;
  font-weight: inherit;
}
.p-about_intro__text {
  max-width: 580px;
}
@media only screen and (max-width: 1599px) {
  .p-about_intro__text {
    max-width: calc(14.693877551vw + 344.8979591837px);
  }
}
@media only screen and (max-width: 767px) {
  .p-about_intro__text {
    max-width: none;
  }
}

.p-about_message__inner {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .p-about_message__inner {
    gap: calc(0.8163265306vw + 26.9387755102px);
  }
}
@media only screen and (max-width: 767px) {
  .p-about_message__inner {
    flex-direction: column;
  }
}
.p-about_message__textarea {
  width: 100%;
  flex: 680;
}
.p-about_message__img {
  width: 100%;
  flex: 580;
}
.p-about_message__img img {
  width: 100%;
  max-width: none;
  border-radius: 10px;
}
.p-about_message__copy {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.5;
}
@media only screen and (max-width: 1599px) {
  .p-about_message__copy {
    font-size: calc(0.9795918367vw + 1.6326530612rem);
  }
}

.p-message_intro__copy {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 1.5em;
}
@media only screen and (max-width: 1599px) {
  .p-message_intro__copy {
    font-size: calc(1.1428571429vw + 1.3714285714rem);
  }
}
.p-message_intro__bottom {
  margin-top: 40px;
  text-align: right;
}
@media only screen and (max-width: 1599px) {
  .p-message_intro__bottom {
    margin-top: calc(1.6326530612vw + 13.8775510204px);
  }
}
.p-message_intro__bottom .name {
  font-size: 2.4rem;
  line-height: 1.5;
}
@media only screen and (max-width: 1599px) {
  .p-message_intro__bottom .name {
    font-size: calc(0.3265306122vw + 1.8775510204rem);
  }
}

.p-message_policy_dl {
  position: relative;
  display: flex;
  font-size: 3.6rem;
  padding-bottom: 1em;
}
@media only screen and (max-width: 1599px) {
  .p-message_policy_dl {
    font-size: calc(1.4693877551vw + 1.2489795918rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-message_policy_dl {
    flex-direction: column;
  }
}
.p-message_policy_dl:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid #d8dbe0;
  width: 100%;
}
.p-message_policy_dl + .p-message_policy_dl {
  margin-top: 1em;
}
.p-message_policy_dl__head {
  font-weight: 600;
  line-height: 1.5;
  min-width: 9.4em;
  text-align: center;
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .p-message_policy_dl__head {
    padding-bottom: 1em;
    margin-bottom: 1em;
  }
}
.p-message_policy_dl__head:after {
  content: "";
  position: absolute;
  bottom: -1em;
  left: 0;
  border-bottom: 1px solid #006eaf;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .p-message_policy_dl__head:after {
    bottom: 0;
  }
}
.p-message_policy_dl__body {
  display: flex;
  align-items: center;
  margin-left: 1em;
}
@media only screen and (max-width: 767px) {
  .p-message_policy_dl__body {
    margin-left: 0;
  }
}

.p-message_philosophy__text {
  font-size: 2.8rem;
  font-weight: 600;
}
@media only screen and (max-width: 1599px) {
  .p-message_philosophy__text {
    font-size: calc(1.0612244898vw + 1.1020408163rem);
  }
}

.p-history_intro__inner {
  padding-bottom: 50px;
  margin-bottom: 100px;
  border-bottom: 1px solid #d8dbe0;
}
@media only screen and (max-width: 1599px) {
  .p-history_intro__inner {
    padding-bottom: calc(1.6326530612vw + 23.8775510204px);
    margin-bottom: calc(4.0816326531vw + 34.693877551px);
  }
}

.p-history_flow__body {
  position: relative;
  z-index: 0;
  padding: 120px 0;
}
@media only screen and (max-width: 1599px) {
  .p-history_flow__body {
    padding: calc(4.8979591837vw + 41.6326530612px) 0;
  }
}
.p-history_flow__body:before {
  content: "";
  background-color: #f4f4f6;
  border-radius: 10px;
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: -100px;
  z-index: -1;
}
@media only screen and (max-width: 1599px) {
  .p-history_flow__body:before {
    left: calc(-10.4166666667vw + 66.5625px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-history_flow__body:before {
    border-radius: 0;
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}

.p-history_flow_block {
  display: flex;
  font-size: 6rem;
}
@media only screen and (max-width: 1599px) {
  .p-history_flow_block {
    font-size: calc(2.4489795918vw + 2.0816326531rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-history_flow_block {
    flex-direction: column;
    padding-left: calc(1.6326530612vw + 13.8775510204px);
  }
}
.p-history_flow_block__head {
  position: relative;
  display: flex;
  align-items: flex-start;
  white-space: nowrap;
  flex-shrink: 0;
  color: #006eaf;
  padding-right: 2.4em;
}
.p-history_flow_block__head:before {
  content: "";
  border-top: 1px solid #006eaf;
  width: 1.2em;
  position: absolute;
  top: 0.46em;
  right: 0.6em;
}
@media only screen and (max-width: 767px) {
  .p-history_flow_block__head:before {
    display: none;
  }
}
.p-history_flow_block__head:after {
  content: "";
  background-color: #006eaf;
  width: 0.08em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
  top: 0.43em;
  right: 1.15em;
}
@media only screen and (max-width: 767px) {
  .p-history_flow_block__head:after {
    right: auto;
    left: -0.78em;
    width: 0.2em;
  }
}
.p-history_flow_block__head span {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1;
}
.p-history_flow_block__body {
  position: relative;
  width: 100%;
  margin-top: 0.2em;
  padding-bottom: 100px;
  font-weight: 600;
}
@media only screen and (max-width: 1599px) {
  .p-history_flow_block__body {
    padding-bottom: calc(4.0816326531vw + 34.693877551px);
  }
}
@media only screen and (max-width: 767px) {
  .p-history_flow_block__body {
    padding-top: calc(0.8163265306vw + 6.9387755102px);
  }
}
.p-history_flow_block__body:before {
  content: "";
  border-left: 1px solid #006eaf;
  position: absolute;
  top: 0.25em;
  bottom: 0;
  left: -1.2em;
}
@media only screen and (max-width: 767px) {
  .p-history_flow_block__body:before {
    top: -0.7em;
    left: -0.7em;
  }
}
.p-history_flow_block__body .c-img01_list + .c-ul01 {
  margin-top: 2em;
}
.p-history_flow_block + .p-history_flow_block .p-history_flow_block__body:before {
  top: -0.25em;
}
@media only screen and (max-width: 767px) {
  .p-history_flow_block + .p-history_flow_block .p-history_flow_block__body:before {
    top: -2em;
  }
}

.p-location_japan_media {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .p-location_japan_media {
    gap: calc(0.8163265306vw + 26.9387755102px);
  }
}
@media only screen and (max-width: 1299px) {
  .p-location_japan_media {
    align-items: stretch;
  }
}
@media only screen and (max-width: 767px) {
  .p-location_japan_media {
    flex-direction: column-reverse;
  }
}
.p-location_japan_media__textarea {
  width: 100%;
  flex: 1;
}
.p-location_japan_media__img {
  width: 100%;
  flex: 1;
}
.p-location_japan_media__img img {
  width: 100%;
  max-width: none;
  border-radius: 10px;
}
.p-location_japan_media__title {
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 0.8em;
}
.p-location_japan_media__info {
  margin-bottom: 30px;
}
@media only screen and (max-width: 1599px) {
  .p-location_japan_media__info {
    margin-bottom: calc(0.8163265306vw + 16.9387755102px);
  }
}
.p-location_japan_media.-reverse {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 767px) {
  .p-location_japan_media.-reverse {
    flex-direction: column-reverse;
  }
}

.p-location_japan_media_list > li + li {
  margin-top: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-location_japan_media_list > li + li {
    margin-top: calc(4.0816326531vw + 34.693877551px);
  }
}

@media only screen and (max-width: 1023px) {
  .p-location_map .c-container {
    padding: 0;
  }
}

.p-location_map_tab {
  background-color: #f4f4f6;
  padding-bottom: 150px;
  border-radius: 10px;
}
@media only screen and (max-width: 1599px) {
  .p-location_map_tab {
    padding-bottom: calc(7.3469387755vw + 32.4489795918px);
  }
}
.p-location_map_tab__menu {
  display: flex;
  margin-bottom: 120px;
  background-color: #fff;
}
@media only screen and (max-width: 1599px) {
  .p-location_map_tab__menu {
    margin-bottom: calc(4.8979591837vw + 41.6326530612px);
  }
}
.p-location_map_tab__menu li {
  flex: 1;
}
.p-location_map_tab__menu a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 2.4rem;
  height: 4.2em;
  font-weight: 600;
  background-color: #fff;
  border-radius: 10px 10px 0 0;
}
@media only screen and (max-width: 1599px) {
  .p-location_map_tab__menu a {
    font-size: calc(0.8979591837vw + 0.9632653061rem);
  }
}
.p-location_map_tab__menu a.is-act {
  background-color: #f4f4f6;
}
.p-location_map_tab__body {
  width: 100%;
  padding: 0 200px;
}
@media only screen and (max-width: 1599px) {
  .p-location_map_tab__body {
    padding: 0 calc(26.0416666667vw + -216.40625px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-location_map_tab__body {
    max-width: calc(67.3469387755vw + 122.4489795918px);
    margin-left: auto;
    margin-right: auto;
    padding-left: calc(2.4489795918vw + 10.8163265306px);
    padding-right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 374px) {
  .p-location_map_tab__body {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.p-location_map_img {
  position: relative;
  margin-bottom: 160px;
}
@media only screen and (max-width: 1599px) {
  .p-location_map_img {
    margin-bottom: calc(6.5306122449vw + 55.5102040816px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-location_map_img {
    display: none;
  }
}
.p-location_map_img > img {
  width: 100%;
  max-width: none;
  border: 1px solid #d8dbe0;
  border-radius: 10px;
}

.p-location_map_pin {
  font-size: 1.6rem;
  letter-spacing: 0.01em;
}
@media only screen and (max-width: 1599px) {
  .p-location_map_pin {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
.p-location_map_pin a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition-duration: 0.5s;
}
.p-location_map_pin__text {
  text-align: right;
  position: absolute;
  bottom: 1.6em;
  right: 1.2em;
  white-space: nowrap;
  font-weight: 600;
  line-height: 1.5;
  transition-duration: 0.2s;
  transition-property: opacity;
  opacity: 0;
  pointer-events: none;
}
@media (hover: hover) {
  a:hover .p-location_map_pin__text {
    opacity: 1;
  }
}
.p-location_map_pin__text:before {
  content: "";
  border-bottom: 1px solid #006eaf;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.p-location_map_pin__text:after {
  content: "";
  border-bottom: 1px solid #006eaf;
  position: absolute;
  bottom: -0.24em;
  right: -0.5em;
  width: 0.6em;
  transform: rotate(45deg);
}
.p-location_map_pin__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@media (hover: hover) {
  a:hover .p-location_map_pin__ico img:nth-child(1) {
    display: none;
  }
  a:hover .p-location_map_pin__ico img:nth-child(2) {
    display: block;
  }
}
.p-location_map_pin__ico img {
  width: auto;
  height: 1.25em;
}
.p-location_map_pin__ico img:nth-child(1) {
  display: block;
}
.p-location_map_pin__ico img:nth-child(2) {
  display: none;
}

.p-location_map_pin_list {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (hover: hover) {
  .p-location_map_pin_list:hover .p-location_map_pin a:not(:hover) {
    opacity: 0.5;
  }
}
.p-location_map_pin_list > li {
  position: absolute;
}
.p-location_map_pin_list > li.-tab01_pin01 {
  bottom: 21%;
  left: 44%;
}
.p-location_map_pin_list > li.-tab01_pin02 {
  display: none;
}
.p-location_map_pin_list > li.-tab01_pin03 {
  bottom: 36%;
  right: 42.5%;
}
.p-location_map_pin_list > li.-tab01_pin04 {
  bottom: 29.7%;
  right: 44.4%;
}
.p-location_map_pin_list > li.-tab01_pin05 {
  top: 25%;
  right: 41%;
}
.p-location_map_pin_list > li.-tab01_pin06 {
  bottom: 44%;
  right: 42.4%;
}
.p-location_map_pin_list > li.-tab01_pin07 {
  bottom: 26%;
  left: 47.7%;
}
.p-location_map_pin_list > li.-tab01_pin08 {
  bottom: 21.7%;
  left: 37.8%;
}
.p-location_map_pin_list > li.-tab01_pin09 {
  bottom: 16%;
  left: 33%;
}
.p-location_map_pin_list > li.-tab01_pin10 {
  bottom: 41%;
  right: 46%;
}
.p-location_map_pin_list > li.-tab02_jp_pin01 {
  bottom: 32%;
  right: 14%;
}
.p-location_map_pin_list > li.-tab02_jp_pin02 {
  top: 58%;
  right: 10%;
}
.p-location_map_pin_list > li.-tab02_jp_pin03 {
  bottom: 35%;
  right: 12.7%;
}
.p-location_map_pin_list > li.-tab02_jp_pin04 {
  bottom: 37.5%;
  right: 14%;
}
.p-location_map_pin_list > li.-tab02_world_pin01 {
  bottom: 13%;
  left: 9.5%;
}
.p-location_map_pin_list > li.-tab02_world_pin02 {
  top: 8%;
  left: 37%;
}

.p-location_map_table01 {
  font-size: 2rem;
  letter-spacing: 0.01em;
}
@media only screen and (max-width: 1599px) {
  .p-location_map_table01 {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.p-location_map_table01 > dl {
  position: relative;
  display: flex;
}
@media only screen and (max-width: 767px) {
  .p-location_map_table01 > dl {
    flex-direction: column;
    gap: 1em;
  }
}
.p-location_map_table01 > dl:after {
  content: "";
  border-bottom: 1px solid #d8dbe0;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.p-location_map_table01 > dl + dl {
  margin-top: 2em;
}
.p-location_map_table01 > dl > dt,
.p-location_map_table01 > dl > dd {
  padding-bottom: 2em;
}
@media only screen and (max-width: 767px) {
  .p-location_map_table01 > dl > dt,
.p-location_map_table01 > dl > dd {
    padding-bottom: 1em;
  }
}
.p-location_map_table01 > dl > dt {
  position: relative;
  font-weight: 600;
  width: 100%;
  max-width: 7.5em;
}
@media only screen and (max-width: 767px) {
  .p-location_map_table01 > dl > dt {
    max-width: none;
  }
}
.p-location_map_table01 > dl > dt:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 7.5em;
  border-bottom: 1px solid #006eaf;
}
@media only screen and (max-width: 767px) {
  .p-location_map_table01 > dl > dt:after {
    width: 100%;
  }
}
.p-location_map_table01 > dl > dd {
  width: 100%;
  padding-left: 100px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1em;
}
@media only screen and (max-width: 1599px) {
  .p-location_map_table01 > dl > dd {
    padding-left: calc(6.5306122449vw + -4.4897959184px);
  }
}
@media only screen and (max-width: 767px) {
  .p-location_map_table01 > dl > dd {
    padding-left: 0;
  }
}
.p-location_map_table01 > dl > dd .c-link01 {
  margin-left: auto;
}
.p-location_map_table02 {
  font-size: 2rem;
  letter-spacing: 0.01em;
}
@media only screen and (max-width: 1599px) {
  .p-location_map_table02 {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.p-location_map_table02 > dl {
  position: relative;
  display: flex;
}
@media only screen and (max-width: 767px) {
  .p-location_map_table02 > dl {
    flex-direction: column;
    gap: 1em;
  }
}
.p-location_map_table02 > dl:after {
  content: "";
  border-bottom: 1px solid #d8dbe0;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.p-location_map_table02 > dl + dl {
  margin-top: 2em;
}
.p-location_map_table02 > dl > dt,
.p-location_map_table02 > dl > dd {
  padding-bottom: 2em;
}
@media only screen and (max-width: 767px) {
  .p-location_map_table02 > dl > dt,
.p-location_map_table02 > dl > dd {
    padding-bottom: 1em;
  }
}
.p-location_map_table02 > dl > dt {
  position: relative;
  font-weight: 600;
  width: 100%;
  max-width: 20em;
  padding-right: 3em;
}
@media only screen and (max-width: 767px) {
  .p-location_map_table02 > dl > dt {
    max-width: none;
    padding-right: 0;
  }
}
.p-location_map_table02 > dl > dt:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 7.5em;
  border-bottom: 1px solid #006eaf;
}
@media only screen and (max-width: 767px) {
  .p-location_map_table02 > dl > dt:after {
    width: 100%;
  }
}
.p-location_map_table02 > dl > dt img {
  border-radius: 10px;
  width: 100%;
  max-width: none;
}
.p-location_map_table02 > dl > dd {
  width: 100%;
}
.p-location_map_table02 > dl > dd .c-link01 {
  margin-left: auto;
}

.p-strengths_intro__inner {
  display: flex;
  gap: 100px;
  padding-bottom: 150px;
  border-bottom: 1px solid #d8dbe0;
}
@media only screen and (max-width: 1599px) {
  .p-strengths_intro__inner {
    gap: calc(5.7142857143vw + 8.5714285714px);
    padding-bottom: calc(7.3469387755vw + 32.4489795918px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-strengths_intro__inner {
    flex-direction: column;
  }
}
.p-strengths_intro__head {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  font-size: 5.2rem;
}
@media only screen and (max-width: 1599px) {
  .p-strengths_intro__head {
    font-size: calc(1.9591836735vw + 2.0653061224rem);
  }
}
.p-strengths_intro__copy {
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-top: -0.4em;
  margin-left: 1.5em;
  display: flex;
  flex-direction: column;
}
.p-strengths_intro__copy strong {
  color: #006eaf;
  font-weight: inherit;
}
.p-strengths_intro__en {
  font-size: 1.6rem;
  color: #006eaf;
  display: flex;
  align-items: center;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  line-height: 1.5;
  letter-spacing: 0.02em;
  writing-mode: vertical-lr;
}
@media only screen and (max-width: 1599px) {
  .p-strengths_intro__en {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}

.p-strengths_main {
  counter-reset: number;
}

.p-strengths_main_media01 {
  counter-increment: number;
  display: flex;
  gap: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-strengths_main_media01 {
    gap: calc(5.7142857143vw + 8.5714285714px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-strengths_main_media01 {
    flex-direction: column;
  }
}
.p-strengths_main_media01__img {
  width: 100%;
  flex: 630;
}
.p-strengths_main_media01__img img {
  border-radius: 10px;
  width: 100%;
  max-width: none;
}
.p-strengths_main_media01__textarea {
  width: 100%;
  flex: 570;
}
.p-strengths_main_media01__en {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  font-size: 2.4rem;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #7e889a;
}
@media only screen and (max-width: 1599px) {
  .p-strengths_main_media01__en {
    font-size: calc(0.6530612245vw + 1.3551020408rem);
  }
}
.p-strengths_main_media01__en .num {
  position: relative;
  color: #006eaf;
  margin-left: 0.5em;
}
.p-strengths_main_media01__en .num:after {
  font-size: 1.75em;
  content: counter(number, decimal-leading-zero);
}
.p-strengths_main_media01__title {
  font-size: 3.6rem;
  line-height: 1.5;
  font-weight: 600;
  margin-top: 0.8em;
  margin-bottom: 1em;
}
@media only screen and (max-width: 1599px) {
  .p-strengths_main_media01__title {
    font-size: calc(1.306122449vw + 1.5102040816rem);
  }
}
.p-strengths_main_media01 + .p-strengths_main_media01 {
  margin-top: 150px;
}
@media only screen and (max-width: 1599px) {
  .p-strengths_main_media01 + .p-strengths_main_media01 {
    margin-top: calc(7.3469387755vw + 32.4489795918px);
  }
}
.p-strengths_main_media01.-reverse {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 1023px) {
  .p-strengths_main_media01.-reverse {
    flex-direction: column;
  }
}

.p-quality_management_dl {
  background-color: #fff;
  border-radius: 10px;
  padding: 50px;
  margin-top: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-quality_management_dl {
    padding: calc(1.6326530612vw + 23.8775510204px) calc(2.4489795918vw + 10.8163265306px);
    margin-top: calc(1.6326530612vw + 23.8775510204px);
  }
}
.p-quality_management_dl__head {
  color: #006eaf;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.5;
  margin-bottom: 0.8em;
}
@media only screen and (max-width: 1599px) {
  .p-quality_management_dl__head {
    font-size: calc(0.2448979592vw + 1.4081632653rem);
  }
}
.p-quality_management_dl__body {
  position: relative;
}
.p-quality_management_dl__body .c-button01 {
  position: absolute;
  bottom: 0;
  right: 0;
}
@media only screen and (max-width: 1299px) {
  .p-quality_management_dl__body .c-button01 {
    position: static;
  }
}

.p-quality_media {
  margin-top: 120px;
}
@media only screen and (max-width: 1599px) {
  .p-quality_media {
    margin-top: calc(4.8979591837vw + 41.6326530612px);
  }
}

.p-plating_rot-proof__img_list {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 50px;
  gap: 30px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_rot-proof__img_list {
    margin-top: calc(1.6326530612vw + 23.8775510204px);
    gap: calc(0.8163265306vw + 16.9387755102px);
  }
}
@media only screen and (max-width: 1299px) {
  .p-plating_rot-proof__img_list {
    flex-wrap: wrap;
  }
}

.p-plating_type_block {
  display: flex;
  gap: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_block {
    gap: calc(1.6326530612vw + 23.8775510204px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-plating_type_block {
    flex-direction: column-reverse;
  }
}
.p-plating_type_block__textarea {
  width: 100%;
  flex: 480;
  margin-top: 30px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_block__textarea {
    margin-top: calc(2.4489795918vw + -9.1836734694px);
  }
}
.p-plating_type_block__img {
  width: 100%;
  flex: 570;
}
.p-plating_type_block__img img {
  border-radius: 10px;
  width: 100%;
  max-width: none;
}
.p-plating_type_block__title {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0 0.8em;
  font-size: 2.4rem;
  line-height: 1.5;
  padding-bottom: 0.1em;
  margin-bottom: 0.8em;
  border-bottom: 2px solid #006eaf;
}
.p-plating_type_block__title .ja {
  font-weight: 600;
}
.p-plating_type_block__title .en {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  color: #006eaf;
}
.p-plating_type_block .c-box01 {
  margin-top: 30px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_block .c-box01 {
    margin-top: calc(0.8163265306vw + 16.9387755102px);
  }
}
.p-plating_type_block + .p-plating_type_block {
  margin-top: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_block + .p-plating_type_block {
    margin-top: calc(4.0816326531vw + 34.693877551px);
  }
}

.p-plating_type_modal {
  background-color: #fff;
  border-radius: 20px;
  padding: 100px 100px 60px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_modal {
    padding: calc(4.0816326531vw + 34.693877551px) calc(6.5306122449vw + -4.4897959184px) calc(2.4489795918vw + 20.8163265306px);
  }
}
.p-plating_type_modal__block + .p-plating_type_modal__block {
  margin-top: 120px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_modal__block + .p-plating_type_modal__block {
    margin-top: calc(4.8979591837vw + 41.6326530612px);
  }
}
.p-plating_type_modal .c-button02 {
  margin-top: 70px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_modal .c-button02 {
    margin-top: calc(2.4489795918vw + 30.8163265306px);
  }
}

.p-plating_type_modal_layout01 {
  display: flex;
  gap: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_modal_layout01 {
    gap: calc(1.6326530612vw + 23.8775510204px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-plating_type_modal_layout01 {
    flex-direction: column;
  }
}
.p-plating_type_modal_layout01__textarea {
  width: 100%;
  flex: 470;
}
.p-plating_type_modal_layout01__img {
  width: 100%;
  flex: 570;
}
.p-plating_type_modal_layout01__img img {
  border-radius: 10px;
  width: 100%;
  max-width: none;
}
.p-plating_type_modal_layout02 {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 70px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_modal_layout02 {
    gap: 30px calc(3.2653061224vw + 17.7551020408px);
  }
}
.p-plating_type_modal_layout02 dl > dt {
  position: relative;
  font-weight: 600;
  padding-left: 1em;
  margin-bottom: 0.5em;
  letter-spacing: 0.01em;
}
.p-plating_type_modal_layout02 dl > dt:before {
  content: "";
  position: absolute;
  top: 0.85em;
  left: 0.1em;
  width: 0.25em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #006eaf;
}
.p-plating_type_modal_layout02 dl > dd ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.p-plating_type_modal_title01 {
  display: flex;
  align-items: flex-start;
  font-size: 2.8rem;
  margin-bottom: 1.5em;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_modal_title01 {
    font-size: calc(0.9795918367vw + 1.2326530612rem);
  }
}
.p-plating_type_modal_title01 .en {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  position: relative;
  font-size: 1.07em;
  color: #006eaf;
  line-height: 1;
  margin-top: 0.25em;
  margin-right: 1.6em;
  white-space: nowrap;
}
.p-plating_type_modal_title01 .en:after {
  content: "";
  border-bottom: 2px solid;
  position: absolute;
  bottom: 0.1em;
  left: 0;
  width: 100%;
}
.p-plating_type_modal_title01 .ja {
  font-weight: 600;
  line-height: 1.5;
}
.p-plating_type_modal_title02 {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  padding-left: 0.5em;
  line-height: 1.5;
  margin-bottom: 1em;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_modal_title02 {
    font-size: calc(0.3265306122vw + 1.4775510204rem);
  }
}
.p-plating_type_modal_title02:before {
  content: "";
  border-left: 2px solid #006eaf;
  height: 1em;
  position: absolute;
  top: 0.2em;
  left: 0;
}
.p-plating_type_modal_title02.-mt-m {
  margin-top: 70px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_modal_title02.-mt-m {
    margin-top: calc(3.2653061224vw + 17.7551020408px);
  }
}

.p-plating_type_modal_note {
  font-size: 1rem;
  font-weight: 300;
  margin-left: 0.5em;
}

.p-plating_type_modal_note_list {
  counter-reset: number;
  margin-top: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_modal_note_list {
    margin-top: calc(1.6326530612vw + 23.8775510204px);
  }
}
.p-plating_type_modal_note_list dl {
  display: flex;
  font-size: 1.5rem;
  font-weight: 300;
}
@media only screen and (max-width: 1599px) {
  .p-plating_type_modal_note_list dl {
    font-size: calc(0.2448979592vw + 1.1081632653rem);
  }
}
.p-plating_type_modal_note_list dl dt {
  counter-increment: number;
  margin-right: 0.5em;
  font-weight: 300;
}
.p-plating_type_modal_note_list dl dt:after {
  content: counter(number);
}
.p-plating_faq_aco {
  font-size: 2rem;
}
@media only screen and (max-width: 1599px) {
  .p-plating_faq_aco {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.p-plating_faq_aco__head {
  position: relative;
  background-color: #f4f4f6;
  border-radius: 10px;
  font-weight: 600;
  line-height: 1.5;
  padding: 1.2em 2.2em;
}
.p-plating_faq_aco__body {
  padding: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_faq_aco__body {
    padding: calc(2.4489795918vw + 10.8163265306px);
  }
}
.p-plating_faq_aco__toggle {
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%);
  height: 24px;
  aspect-ratio: 1/1;
  transition-duration: 0.5s;
}
@media only screen and (max-width: 1599px) {
  .p-plating_faq_aco__toggle {
    height: calc(0.9795918367vw + 8.3265306122px);
  }
}
.p-plating_faq_aco__toggle:before, .p-plating_faq_aco__toggle:after {
  content: "";
  width: 18px;
  border-top: 4px solid #006eaf;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 1599px) {
  .p-plating_faq_aco__toggle:before, .p-plating_faq_aco__toggle:after {
    width: calc(0.7346938776vw + 6.2448979592px);
    border-top-width: calc(0.1632653061vw + 1.387755102px);
  }
}
.p-plating_faq_aco__toggle:after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.is-open .p-plating_faq_aco__toggle:after {
  opacity: 0;
}
.p-plating_faq_aco + .p-plating_faq_aco {
  margin-top: 20px;
}

.p-plating_faq_block {
  font-size: 1.8rem;
}
@media only screen and (max-width: 1599px) {
  .p-plating_faq_block {
    font-size: calc(0.3265306122vw + 1.2775510204rem);
  }
}
.p-plating_faq_block__head {
  position: relative;
  display: flex;
  border-bottom: 1px solid #006eaf;
  padding-bottom: 0.6em;
  margin-bottom: 1em;
}
.p-plating_faq_block__head:before {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  content: "Q.";
  color: #006eaf;
  font-size: 1.3em;
  line-height: 1;
  margin-top: 0.1em;
  margin-right: 0.5em;
}
.p-plating_faq_block__body {
  position: relative;
  display: flex;
  padding-left: 2em;
}
@media only screen and (max-width: 767px) {
  .p-plating_faq_block__body {
    padding-left: 0;
  }
}
.p-plating_faq_block__body:before {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  content: "A.";
  color: #006eaf;
  font-size: 1.3em;
  line-height: 1;
  margin-top: 0.2em;
  margin-right: 0.5em;
}
.p-plating_faq_block__title {
  font-weight: 600;
  line-height: 1.6;
}
.p-plating_faq_block + .p-plating_faq_block {
  margin-top: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-plating_faq_block + .p-plating_faq_block {
    margin-top: calc(1.6326530612vw + 23.8775510204px);
  }
}

.p-process_block + .p-process_block {
  padding-top: 100px;
  margin-top: 100px;
  border-top: 1px solid #d8dbe0;
}
@media only screen and (max-width: 1599px) {
  .p-process_block + .p-process_block {
    padding-top: calc(4.0816326531vw + 34.693877551px);
    margin-top: calc(4.0816326531vw + 34.693877551px);
  }
}

.p-process_anchor01 {
  font-size: 2.4rem;
  display: flex;
  align-items: center;
  margin-bottom: 120px;
}
@media only screen and (max-width: 1599px) {
  .p-process_anchor01 {
    margin-bottom: calc(4.8979591837vw + 41.6326530612px);
    font-size: calc(1.4423076923vw + 0.09375rem);
  }
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor01 {
    font-size: calc(0.6530612245vw + 1.3551020408rem);
    flex-direction: column;
  }
}
.p-process_anchor01__list.-list01 {
  position: relative;
  z-index: 0;
  width: 100%;
  flex: 690;
  display: flex;
  gap: 1.66em;
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor01__list.-list01 {
    flex-direction: column;
    gap: 1.56em;
  }
}
.p-process_anchor01__list.-list01:before {
  content: "";
  background-color: #006eaf;
  width: 100%;
  height: 5px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  transform: translateY(-50%);
}
@media only screen and (max-width: 1599px) {
  .p-process_anchor01__list.-list01:before {
    height: calc(0.2040816327vw + 1.7346938776px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor01__list.-list01:before {
    width: calc(0.8163265306vw + 6.9387755102px);
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
.p-process_anchor01__list.-list01 > li {
  flex: 1;
}
.p-process_anchor01__list.-list02 {
  width: 100%;
  flex: 370;
  display: flex;
  flex-direction: column;
  gap: 2.08em;
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor01__list.-list02 {
    flex-direction: row;
    gap: 1.56em;
  }
}
.p-process_anchor01__list.-list02 > li {
  flex: 1;
}
.p-process_anchor01__arrow {
  position: relative;
  z-index: 10;
  width: 1.66em;
  height: 8.56em;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor01__arrow {
    width: 57%;
    height: 2em;
    flex-direction: row;
  }
}
.p-process_anchor01__arrow:before {
  content: "";
  background-color: #006eaf;
  width: 5px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (max-width: 1599px) {
  .p-process_anchor01__arrow:before {
    width: calc(0.2040816327vw + 1.7346938776px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor01__arrow:before {
    width: 100%;
    height: calc(0.8163265306vw + 6.9387755102px);
  }
}
.p-process_anchor01__arrow li {
  position: relative;
  background-color: #006eaf;
  width: 100%;
  height: 5px;
}
@media only screen and (max-width: 1599px) {
  .p-process_anchor01__arrow li {
    height: calc(0.2040816327vw + 1.7346938776px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor01__arrow li {
    width: calc(0.8163265306vw + 6.9387755102px);
    height: 100%;
  }
}
.p-process_anchor01__arrow li:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0.7em 0.83em 0.7em;
  border-color: transparent transparent #006eaf transparent;
  position: absolute;
  top: 50%;
  right: -0.6em;
  transform: translateY(-50%) rotate(90deg);
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor01__arrow li:before {
    top: auto;
    bottom: -0.5em;
    right: auto;
    left: 50%;
    transform: translateX(-50%) rotate(180deg);
    border-width: 0 0.84em 0.996em 0.84em;
  }
}

.p-process_anchor01_box a {
  position: relative;
  background-color: #f4f4f6;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border: 2px solid #f4f4f6;
  transition-duration: 0.5s;
}
@media (hover: hover) {
  .p-process_anchor01_box a:hover {
    border-color: #006eaf;
  }
}
.p-process_anchor01_box__num {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #006eaf;
  font-size: 0.8em;
  border-radius: 50%;
  border: 1px solid;
  aspect-ratio: 1/1;
  width: 2.5em;
  margin-bottom: 0.5em;
  margin-top: -1em;
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor01_box__num {
    position: absolute;
    top: 50%;
    left: 1.56em;
    transform: translateY(-50%);
    margin-top: 0;
  }
}
.p-process_anchor01_box__num span {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  line-height: 1;
}
.p-process_anchor01_box__title {
  position: relative;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
.p-process_anchor01_box .c-ico {
  position: absolute;
  bottom: 0.5em;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
  color: #006eaf;
}
.p-process_anchor01_box.-box01 a {
  height: 9.16em;
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor01_box.-box01 a {
    height: 3.75em;
  }
}
.p-process_anchor01_box.-box01 a .c-ico {
  bottom: 1em;
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor01_box.-box01 a .c-ico {
    top: 50%;
    bottom: auto;
    left: auto;
    right: 1.56em;
    transform: translateY(-50%) rotate(90deg);
  }
}
.p-process_anchor01_box.-box02 a {
  height: 6.25em;
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor01_box.-box02 a {
    height: 5.62em;
  }
}

.p-process_anchor02 {
  position: relative;
  margin-bottom: 100px;
  padding-bottom: 70px;
}
@media only screen and (max-width: 1599px) {
  .p-process_anchor02 {
    margin-bottom: calc(4.0816326531vw + 34.693877551px);
    padding-bottom: calc(3.2653061224vw + 17.7551020408px);
  }
}
.p-process_anchor02:before {
  content: "";
  border-bottom: 1px solid #d8dbe0;
  position: absolute;
  bottom: 0;
  left: 50px;
  right: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-process_anchor02:before {
    left: calc(2.4489795918vw + 10.8163265306px);
    right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 374px) {
  .p-process_anchor02:before {
    left: 20px;
    right: 20px;
  }
}
.p-process_anchor02__list {
  display: flex;
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor02__list {
    flex-direction: column;
    gap: calc(1.6326530612vw + 13.8775510204px);
  }
}
.p-process_anchor02__list > li {
  flex: 1;
  position: relative;
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor02__list > li + li {
    padding-top: calc(1.6326530612vw + 13.8775510204px);
  }
}
.p-process_anchor02__list > li + li:before {
  content: "";
  border-left: 1px solid #d8dbe0;
  position: absolute;
  top: 50%;
  left: 0;
  height: 70px;
  transform: translateY(-50%);
}
@media only screen and (max-width: 1599px) {
  .p-process_anchor02__list > li + li:before {
    height: calc(2.8571428571vw + 24.2857142857px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor02__list > li + li:before {
    border: 0;
    border-top: 1px solid #d8dbe0;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: auto;
    width: 100%;
  }
}

.p-process_anchor02_block {
  text-align: center;
}
.p-process_anchor02_block a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor02_block a {
    align-items: flex-start;
  }
}
@media (hover: hover) {
  .p-process_anchor02_block a:hover .c-ico {
    transform: translateY(0.3em);
  }
}
.p-process_anchor02_block__textarea {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor02_block__textarea {
    align-items: flex-start;
  }
}
.p-process_anchor02_block__en {
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
  display: flex;
  font-weight: 600;
  color: #006eaf;
  font-size: 2rem;
}
@media only screen and (max-width: 1599px) {
  .p-process_anchor02_block__en {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.p-process_anchor02_block__en .num {
  font-size: 1.6em;
  line-height: 1;
  margin-left: 0.2em;
  margin-top: 0.1em;
}
.p-process_anchor02_block__title {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 0.2em;
}
@media only screen and (max-width: 1599px) {
  .p-process_anchor02_block__title {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.p-process_anchor02_block .c-ico {
  margin-top: 20px;
  font-size: 2.4rem;
  color: #006eaf;
  transition-duration: 0.5s;
}
@media only screen and (max-width: 1599px) {
  .p-process_anchor02_block .c-ico {
    font-size: calc(0.6530612245vw + 1.3551020408rem);
    margin-top: calc(0.8163265306vw + 6.9387755102px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-process_anchor02_block .c-ico {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-top: 0;
  }
}
.p-process_anchor02_block .c-ico svg,
.p-process_anchor02_block .c-ico img {
  transform: rotate(90deg);
}

.p-process_media01 {
  display: flex;
  gap: 60px;
}
@media only screen and (max-width: 1599px) {
  .p-process_media01 {
    gap: calc(2.4489795918vw + 20.8163265306px);
  }
}
@media only screen and (max-width: 767px) {
  .p-process_media01 {
    flex-direction: column;
  }
}
.p-process_media01__textarea {
  width: 100%;
  flex: 660;
}
.p-process_media01__img {
  width: 100%;
  flex: 380;
}
.p-process_media01__img img {
  width: 100%;
  max-width: none;
  border-radius: 10px;
}
.p-process_media01__img img + img {
  margin-top: 30px;
}
.p-process_media01.-mt-m {
  margin-top: 70px;
}
@media only screen and (max-width: 1599px) {
  .p-process_media01.-mt-m {
    margin-top: calc(2.4489795918vw + 30.8163265306px);
  }
}

.p-process_products {
  margin-top: 70px;
  background-color: #f4f4f6;
  border-radius: 10px;
  padding: 60px;
}
@media only screen and (max-width: 1599px) {
  .p-process_products {
    margin-top: calc(2.4489795918vw + 30.8163265306px);
    padding: calc(3.2653061224vw + 7.7551020408px);
  }
}
.p-process_products__title {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 600;
  color: #006eaf;
  margin-bottom: 1em;
}
@media only screen and (max-width: 1599px) {
  .p-process_products__title {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.c-box02 .p-process_products {
  background-color: #fff;
}

.p-process_products_card__img {
  border-radius: 10px;
  overflow: hidden;
}
.p-process_products_card__img img {
  width: 100%;
  max-width: none;
}
.p-process_products_card__textarea {
  margin-top: 1em;
  font-size: 2rem;
  display: flex;
  padding-right: 1em;
}
@media only screen and (max-width: 1599px) {
  .p-process_products_card__textarea {
    font-size: calc(0.5714285714vw + 1.1857142857rem);
  }
}
.p-process_products_card__title {
  line-height: 1.5;
  font-weight: 600;
}
.p-process_products_card .c-ico {
  color: #d4420a;
  font-size: 1.2em;
  margin-left: auto;
}

.p-process_products_card_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px;
}
@media only screen and (max-width: 1599px) {
  .p-process_products_card_list {
    gap: calc(3.2653061224vw + 7.7551020408px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-process_products_card_list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-development_history .c-ul03 a {
  text-decoration: underline;
}
@media (hover: hover) {
  .p-development_history .c-ul03 a:hover {
    text-decoration: none;
  }
}

.p-development_heading01 {
  position: relative;
  z-index: 0;
  font-size: 3.6rem;
  padding-bottom: 2.22em;
  margin-bottom: 2em;
  border-bottom: 1px solid #7e889a;
}
@media only screen and (max-width: 1599px) {
  .p-development_heading01 {
    font-size: calc(1.306122449vw + 1.5102040816rem);
  }
}
.p-development_heading01__en {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: absolute;
  top: 0.3em;
  left: 0;
  z-index: -1;
  width: 100%;
}
.p-development_heading01__en svg,
.p-development_heading01__en img {
  width: auto;
  height: 3em;
}
.p-development_heading01__sub {
  font-size: 0.66em;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 0.3em;
  color: #006eaf;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-development_heading01__sub .year {
  font-size: 1.25em;
  letter-spacing: 0;
  transform: translateY(0.125em);
  font-weight: initial;
  font-family: "Din Demi", sans-serif;
}
.p-development_heading01__sub .year small {
  font-size: 0.6em;
  margin-left: 0.2em;
}
.p-development_heading01__sub .text {
  display: flex;
}
.p-development_heading01__sub .text + .text {
  display: flex;
  align-items: center;
}
.p-development_heading01__sub .text + .text:before {
  content: "";
  border-top: 2px solid;
  width: 1.25em;
  display: block;
  margin: 0 0.75em;
}
.p-development_heading01__main {
  font-weight: 600;
  line-height: 1.5;
  display: block;
  text-align: center;
}

.p-development_card01__img {
  margin-bottom: 30px;
}
@media only screen and (max-width: 1599px) {
  .p-development_card01__img {
    margin-bottom: calc(0.8163265306vw + 16.9387755102px);
  }
}
.p-development_card01__title {
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 600;
  position: relative;
  line-height: 1.8;
  padding-bottom: 0.2em;
  margin-bottom: 1em;
}
@media only screen and (max-width: 1599px) {
  .p-development_card01__title {
    font-size: calc(0.4897959184vw + 1.6163265306rem);
  }
}
.p-development_card01__title.-mb-s {
  margin-bottom: 0.4em;
}
.p-development_card01__title:after {
  content: "";
  width: 100%;
  border-bottom: 2px solid #006eaf;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-development_card01 .c-button01 + .c-button01 {
  margin-top: 1em;
}

.p-development_card01_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .p-development_card01_list {
    gap: calc(1.6326530612vw + 13.8775510204px);
  }
}
@media only screen and (max-width: 767px) {
  .p-development_card01_list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-form {
  padding-top: 100px;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-form {
    padding-top: calc(4.0816326531vw + 34.693877551px);
  }
}
.p-form:before {
  content: "";
  border-top: 1px solid #d8dbe0;
  position: absolute;
  top: 0;
  left: 50px;
  right: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-form:before {
    left: calc(2.4489795918vw + 10.8163265306px);
    right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 374px) {
  .p-form:before {
    left: 20px;
    right: 20px;
  }
}
.p-form input,
.p-form textarea {
  display: block;
  border: 1px solid #d8dbe0;
  background-color: #fff;
  width: 100%;
}
.p-form input {
  max-width: 23.75em;
  height: 2.75em;
}

.p-form_agreement {
  margin-top: 80px;
}
@media only screen and (max-width: 1599px) {
  .p-form_agreement {
    margin-top: calc(3.2653061224vw + 27.7551020408px);
  }
}
.p-form_agreement__check {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.p-form_agreement .c-text02 {
  color: #444;
}
.p-form_agreement .c-text02 a {
  color: #006eaf;
}
@media (hover: hover) {
  .p-form_agreement .c-text02 a:hover {
    text-decoration: underline;
  }
}
.p-form_agreement .c-text02.-orange a {
  color: #d4420a;
}

.p-form_buttonarea {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-form_buttonarea {
    gap: calc(1.6326530612vw + 13.8775510204px);
    margin-top: calc(1.6326530612vw + 23.8775510204px);
  }
}
.p-form_buttonarea button {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  background-color: #006eaf;
  color: #fff;
  border-radius: 9999px;
  font-weight: 600;
  padding: 0.5em;
  min-width: 15em;
  min-height: 3.125em;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 1599px) {
  .p-form_buttonarea button {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
.p-form_buttonarea button:before {
  content: "";
  width: 0;
  aspect-ratio: 1/1;
  opacity: 0.3;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: #fff;
}
@media (hover: hover) {
  .p-form_buttonarea button:hover:before {
    animation: ripple 1s forwards;
  }
}
.p-form_buttonarea.-orange button {
  background-color: #d4420a;
}

.p-form_catalog {
  padding-top: 100px;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-form_catalog {
    padding-top: calc(4.0816326531vw + 34.693877551px);
  }
}
.p-form_catalog:before {
  content: "";
  border-top: 1px solid #d8dbe0;
  position: absolute;
  top: 0;
  left: 50px;
  right: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-form_catalog:before {
    left: calc(2.4489795918vw + 10.8163265306px);
    right: calc(2.4489795918vw + 10.8163265306px);
  }
}
@media only screen and (max-width: 374px) {
  .p-form_catalog:before {
    left: 20px;
    right: 20px;
  }
}
.p-form_catalog form input {
  display: none;
}
.p-form_catalog .c-ul01 > li:before {
  width: 0.25em;
  top: 0.85em;
}
.p-form_catalog .c-ul01 > li + li {
  margin-top: 0.25em;
}

.p-form_table01 > dl {
  display: flex;
  border-top: 1px solid #d8dbe0;
}
@media only screen and (max-width: 767px) {
  .p-form_table01 > dl {
    flex-direction: column;
  }
}
.p-form_table01 > dl:last-child {
  border-bottom: 1px solid #d8dbe0;
}
.p-form_table01 > dl > dt,
.p-form_table01 > dl > dd {
  width: 100%;
  padding: 2.5em;
}
@media only screen and (max-width: 767px) {
  .p-form_table01 > dl > dt,
.p-form_table01 > dl > dd {
    padding: 1em;
  }
}
.p-form_table01 > dl > dt {
  background-color: #f4f4f6;
  font-weight: 600;
  max-width: 17.5em;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .p-form_table01 > dl > dt {
    max-width: none;
  }
}
.p-form_table01 > dl > dt .title {
  display: flex;
  align-items: center;
  gap: 0.5em;
  margin-top: 0.4em;
}
.p-form_table01 > dl > dt.-required .title {
  position: relative;
}
.p-form_table01 > dl > dt.-required .title:after {
  content: "必須";
  color: #e60012;
  border: 1px solid;
  border-radius: 2px;
  font-size: 0.75em;
  line-height: 1;
  padding: 0.2em 0.1em 0.1em 0.2em;
}
.p-form_table01 > dl > dd {
  padding-left: 3.5em;
  padding-right: 0;
}
@media only screen and (max-width: 767px) {
  .p-form_table01 > dl > dd {
    padding-left: 1em;
    padding-right: 1em;
  }
}
.p-form_table02 dl {
  display: flex;
}
@media only screen and (max-width: 767px) {
  .p-form_table02 dl {
    display: block;
  }
}
.p-form_table02 dl > dt,
.p-form_table02 dl > dd {
  width: 100%;
  padding: 1em 0;
}
@media only screen and (max-width: 767px) {
  .p-form_table02 dl > dt,
.p-form_table02 dl > dd {
    padding: 1em 0;
  }
}
.p-form_table02 dl > dt {
  background-color: #f4f4f6;
  font-weight: 600;
  max-width: 22em;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .p-form_table02 dl > dt {
    max-width: none;
  }
}
.p-form_table02 dl > dt .title {
  display: flex;
  align-items: center;
  gap: 0.5em;
  margin-top: 0.4em;
}
.p-form_table02 dl > dt.-required .title {
  position: relative;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .p-form_table02 dl > dt.-required .title {
    justify-content: flex-start;
  }
}
.p-form_table02 dl > dt.-required .title:after {
  content: "必須";
  color: #ffffff;
  background: #d4420a;
  border: 1px solid;
  display: inline-block;
  padding: 0.5em 0.5em;
  border-radius: 2px;
  font-size: 0.75em;
  line-height: 1;
  font-size: 1.5rem;
  font-weight: 400;
  border-radius: calc(0.2448979592vw + 2.0816326531px);
}
@media only screen and (max-width: 1599px) {
  .p-form_table02 dl > dt.-required .title:after {
    font-size: calc(0.2448979592vw + 1.1081632653rem);
  }
}
.p-form_table02 dl > dd {
  padding-left: 3.5em;
  padding-right: 0;
}
@media only screen and (max-width: 767px) {
  .p-form_table02 dl > dd {
    padding-left: 0;
  }
}
.p-form_table02 dl > dd input[type=text],
.p-form_table02 dl > dd input[type=email],
.p-form_table02 dl > dd textarea {
  border: none;
  width: 100%;
  max-width: 53.75em;
}
.p-form_table02 dl > dd input[type=text]::placeholder,
.p-form_table02 dl > dd input[type=email]::placeholder,
.p-form_table02 dl > dd textarea::placeholder {
  color: #cccccc;
}
.p-form_table02 dl > dd.-m input[type=text],
.p-form_table02 dl > dd.-m input[type=email],
.p-form_table02 dl > dd.-m textarea {
  max-width: 27.7em;
}
.p-form_table02 dl > dd.-s input[type=text],
.p-form_table02 dl > dd.-s input[type=email],
.p-form_table02 dl > dd.-s textarea {
  max-width: 15.625em;
}
.p-form_table02 dl > dd .checklist {
  display: flex;
  flex-wrap: wrap;
}
.p-form_table02 dl > dd .checklist label {
  margin-right: 1em;
}
.p-form_table02 dl > dd .input {
  display: flex;
  align-items: center;
}
.p-form_table02 dl > dd .input .submit {
  background-color: #746059;
  border: none;
  color: #ffffff;
  display: inline-block;
  margin-bottom: 1em;
  padding: 0.5em 1em;
  margin-left: 0.5em;
}
.p-form_table02 dl > dd .file label {
  line-height: 1;
  padding: calc(0.8163265306vw + 6.9387755102px) calc(1.6326530612vw + 13.8775510204px);
  color: #ffffff;
  background-color: #746059;
  cursor: pointer;
  position: relative;
  display: inline-block;
}
.p-form_table02 dl > dd .file label .ico {
  margin-right: 1em;
}
.p-form_table02 dl > dd .file label .ico path {
  fill: #ffffff;
}
.p-form_table02 dl > dd .file label input[type=file] {
  cursor: pointer;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
}

.mwform-zip-field {
  display: flex;
  align-items: center;
  margin-bottom: 1em;
}
.mwform-zip-field input {
  margin: 0 0.5em;
  height: 2.25em;
}
.mwform-zip-field input:nth-child(1) {
  max-width: 4em !important;
}
.mwform-zip-field input:nth-child(2) {
  max-width: 5.625em !important;
}

.mwform-checkbox-field {
  margin-left: 0 !important;
}
.mwform-checkbox-field label {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.mwform-checkbox-field input[type=checkbox] {
  display: none;
}
.mwform-checkbox-field input[type=checkbox] + span {
  position: relative;
  display: flex;
}
.mwform-checkbox-field input[type=checkbox] + span:before {
  content: "";
  flex-shrink: 0;
  font-size: 1em;
  background-color: #fff;
  border: 1px solid #7e889a;
  border-radius: 3px;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  margin-top: 0.45em;
  cursor: pointer;
  text-align: center;
}
.mwform-checkbox-field input[type=checkbox]:checked + span:before {
  background-color: #006eaf;
  border-color: #006eaf;
}
.mwform-checkbox-field input[type=checkbox]:checked + span:after {
  content: "";
  position: absolute;
  display: block;
  width: 0.7em;
  height: 0.35em;
  margin-top: -0.1em;
  top: 0.8em;
  left: 0.15em;
  transform: rotate(-45deg);
  border-bottom: 2px solid;
  border-left: 2px solid;
  border-color: #fff;
}
.mwform-checkbox-field.-recruit.-circle input[type=checkbox] + span:before {
  border-radius: 9999px;
}

.c-checkbox_list {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
.c-checkbox_list.-recruit input[type=checkbox] {
  display: none;
}
.c-checkbox_list.-recruit input[type=checkbox] + span {
  position: relative;
  display: flex;
}
.c-checkbox_list.-recruit input[type=checkbox] + span:before {
  content: "";
  flex-shrink: 0;
  font-size: 1em;
  background-color: #fff;
  border: 1px solid #ccc;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  margin-top: 0.45em;
  cursor: pointer;
  text-align: center;
}
.c-checkbox_list.-recruit input[type=checkbox]:checked + span:before {
  background-color: #d4420a;
  border-color: #d4420a;
}
.c-checkbox_list.-recruit input[type=checkbox]:checked + span:after {
  content: "";
  position: absolute;
  display: block;
  width: 0.7em;
  height: 0.35em;
  margin-top: -0.1em;
  top: 0.8em;
  left: 0.15em;
  transform: rotate(-45deg);
  border-bottom: 2px solid;
  border-left: 2px solid;
  border-color: #fff;
}

.p-recruit_kv {
  position: relative;
  width: 100%;
  aspect-ratio: 1600/900;
  background-color: #f6f4f4;
}
@media only screen and (max-width: 767px) {
  .p-recruit_kv {
    aspect-ratio: 375/665;
  }
}
.p-recruit_kv__frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.p-recruit_kv__frame > li {
  background-color: #d4420a;
  position: absolute;
  z-index: 10;
}
.p-recruit_kv__frame > li:nth-child(1) {
  top: 0;
  left: 0;
  width: 100%;
  height: 10px;
  z-index: 5000;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_kv__frame > li:nth-child(1) {
    height: calc(0.4081632653vw + 3.4693877551px);
  }
}
.p-recruit_kv__frame > li:nth-child(2) {
  top: 0;
  right: 0;
  width: 10px;
  height: 100%;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_kv__frame > li:nth-child(2) {
    width: calc(0.4081632653vw + 3.4693877551px);
  }
}
.p-recruit_kv__frame > li:nth-child(3) {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_kv__frame > li:nth-child(3) {
    height: calc(0.4081632653vw + 3.4693877551px);
  }
}
.p-recruit_kv__frame > li:nth-child(4) {
  top: 0;
  left: 0;
  width: 10px;
  height: 100%;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_kv__frame > li:nth-child(4) {
    width: calc(0.4081632653vw + 3.4693877551px);
  }
}
.p-recruit_kv__img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}
.p-recruit_kv__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 17% center;
}
@media only screen and (max-width: 767px) {
  .p-recruit_kv__img img {
    object-position: 8% center;
  }
}
.p-recruit_kv__textarea {
  font-size: 3.875vw;
  position: absolute;
  top: 50%;
  left: 17%;
  transform: translateY(-50%);
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .p-recruit_kv__textarea {
    font-size: 8.53vw;
    top: 24%;
    left: 8%;
    transform: none;
  }
}
.p-recruit_kv__en {
  font-size: 0.29em;
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Medium Oblique", sans-serif;
  margin-bottom: 1em;
}
.p-recruit_kv__copy {
  font-weight: 500;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "YuMincho", "HG明朝E", "MS P明朝", "MS 明朝", serif;
  line-height: 1.5;
  letter-spacing: 0.2em;
  position: relative;
  padding-bottom: 0.6em;
  margin-bottom: 0.5em;
}
.p-recruit_kv__copy:after {
  content: "";
  background: url(../../img/index/recruit_obj01.svg) no-repeat center;
  background-size: cover;
  height: 0.3em;
  aspect-ratio: 14/3;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-recruit_kv__copy > span {
  display: block;
}
.p-recruit_kv__copy > span span {
  display: inline-block;
}
.p-recruit_kv__text {
  font-size: 0.29em;
  letter-spacing: 0.15em;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__frame > li {
  transition-duration: 1s;
  transition-property: width, height;
  transition-delay: 2.4s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__frame > li:nth-child(1) {
  width: 0;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__frame > li:nth-child(2) {
  height: 0;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__frame > li:nth-child(3) {
  width: 0;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__frame > li:nth-child(4) {
  height: 0;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__img {
  opacity: 0;
  overflow: hidden;
  transition-property: opacity, filter;
  transition-duration: 1s;
  transition-delay: 2s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__img:after {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgb(246, 244, 244) 50%);
  transition-duration: 5s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 2s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__en, .p-recruit_kv#js-recruit_kv .p-recruit_kv__text {
  opacity: 0;
  transition-duration: 1s;
  transition-property: opacity;
  transition-delay: 2s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy:after {
  opacity: 0;
  transition-duration: 1s;
  transition-delay: 2s;
  transition-property: opacity;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(1) span:nth-child(0) {
  transition-delay: -0.1s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(1) span:nth-child(1) {
  transition-delay: 0s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(1) span:nth-child(2) {
  transition-delay: 0.1s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(1) span:nth-child(3) {
  transition-delay: 0.2s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(1) span:nth-child(4) {
  transition-delay: 0.3s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(1) span:nth-child(5) {
  transition-delay: 0.4s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(1) span:nth-child(6) {
  transition-delay: 0.5s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(2) span:nth-child(0) {
  transition-delay: 0.5s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(2) span:nth-child(1) {
  transition-delay: 0.6s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(2) span:nth-child(2) {
  transition-delay: 0.7s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(2) span:nth-child(3) {
  transition-delay: 0.8s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(2) span:nth-child(4) {
  transition-delay: 0.9s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(2) span:nth-child(5) {
  transition-delay: 1s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span:nth-child(2) span:nth-child(6) {
  transition-delay: 1.1s;
}
.p-recruit_kv#js-recruit_kv .p-recruit_kv__copy > span span {
  opacity: 0;
  filter: blur(5px);
  transform: translateY(0.3em);
  transition-duration: 1.5s;
  transition-property: opacity, filter, transform;
}
.p-recruit_kv#js-recruit_kv.is-load .p-recruit_kv__frame > li:nth-child(1) {
  width: 100%;
}
.p-recruit_kv#js-recruit_kv.is-load .p-recruit_kv__frame > li:nth-child(2) {
  height: 100%;
}
.p-recruit_kv#js-recruit_kv.is-load .p-recruit_kv__frame > li:nth-child(3) {
  width: 100%;
}
.p-recruit_kv#js-recruit_kv.is-load .p-recruit_kv__frame > li:nth-child(4) {
  height: 100%;
}
.p-recruit_kv#js-recruit_kv.is-load .p-recruit_kv__img {
  opacity: 1;
}
.p-recruit_kv#js-recruit_kv.is-load .p-recruit_kv__img:after {
  left: 100%;
}
.p-recruit_kv#js-recruit_kv.is-load .p-recruit_kv__en, .p-recruit_kv#js-recruit_kv.is-load .p-recruit_kv__text {
  opacity: 1;
}
.p-recruit_kv#js-recruit_kv.is-load .p-recruit_kv__copy:after {
  opacity: 1;
}
.p-recruit_kv#js-recruit_kv.is-load .p-recruit_kv__copy > span span {
  filter: blur(0);
  opacity: 1;
  transform: translateY(0);
}

.p-recruit_message {
  background-color: #f6f4f4;
  padding: 280px 0 200px;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_message {
    padding: calc(11.4285714286vw + 97.1428571429px) 0 calc(8.1632653061vw + 69.387755102px);
  }
}
.p-recruit_message__copy {
  font-size: 4.8rem;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "YuMincho", "HG明朝E", "MS P明朝", "MS 明朝", serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-top: 1em;
  margin-bottom: 1.5em;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_message__copy {
    font-size: calc(1.9591836735vw + 1.6653061224rem);
  }
}
.p-recruit_message__body {
  display: flex;
  gap: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_message__body {
    gap: calc(4.0816326531vw + 34.693877551px);
  }
}
@media only screen and (max-width: 767px) {
  .p-recruit_message__body {
    flex-direction: column;
    align-items: flex-end;
  }
}
.p-recruit_message__textarea {
  width: 100%;
  flex: 760;
  line-height: 2.4;
}
.p-recruit_message__textarea p + p {
  margin-top: 1.5em;
}
.p-recruit_message__profile {
  width: 100%;
  flex: 440;
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .p-recruit_message__profile {
    max-width: calc(16.3265306122vw + 138.7755102041px);
  }
}
.p-recruit_message__profile .portrait img {
  width: 100%;
  max-width: none;
}
.p-recruit_message__profile .role {
  font-size: 1.8rem;
  line-height: 1.8;
  margin-top: 1em;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_message__profile .role {
    font-size: calc(0.3265306122vw + 1.2775510204rem);
  }
}
.p-recruit_message__profile .name {
  font-size: 2.4rem;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_message__profile .name {
    font-size: calc(0.6530612245vw + 1.3551020408rem);
  }
}

.p-recruit_found {
  color: #fff;
  padding: 240px 0;
  position: relative;
  z-index: 50;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_found {
    padding: calc(9.7959183673vw + 83.2653061224px) 0;
  }
}
.p-recruit_found:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10;
  background-color: #525760;
  opacity: 0.8;
}
.p-recruit_found .c-container {
  position: relative;
  z-index: 10;
}
.p-recruit_found__copy {
  font-size: 4rem;
  line-height: 1.6;
  letter-spacing: 0.07em;
  font-weight: 600;
  margin-top: 1em;
  margin-bottom: 1.5em;
  text-align: center;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_found__copy {
    font-size: calc(1.6326530612vw + 1.387755102rem);
  }
}
.p-recruit_found__bg {
  clip-path: inset(0);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
}
.p-recruit_found__bg img {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.p-recruit_found.js-anim_elm:before {
  opacity: 1;
  transition-duration: 1s;
}
.p-recruit_found.js-anim_elm .p-recruit_found__bg img {
  filter: blur(5px);
  transition-duration: 1s;
}
.p-recruit_found.js-anim_elm.is-act:before {
  opacity: 0.8;
}
.p-recruit_found.js-anim_elm.is-act .p-recruit_found__bg img {
  filter: blur(0);
}

.p-recruit_chart {
  padding-top: 250px;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_chart {
    padding-top: calc(12.2448979592vw + 54.0816326531px);
  }
}
.p-recruit_chart:before {
  content: "";
  background: url(../../img/recruit/chart_obj01@2x.png) no-repeat center bottom;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_chart:before {
    height: calc(4.8979591837vw + 41.6326530612px);
  }
}
.p-recruit_chart__head {
  margin-bottom: 70px;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_chart__head {
    margin-bottom: calc(2.4489795918vw + 30.8163265306px);
  }
}
.p-recruit_chart__body {
  padding: 70px 0;
  position: relative;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_chart__body {
    padding: calc(2.8571428571vw + 24.2857142857px) 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-recruit_chart__body {
    padding-left: calc(1.6326530612vw + 13.8775510204px);
    padding-right: calc(1.6326530612vw + 13.8775510204px);
  }
}
.p-recruit_chart__body:before {
  content: "";
  background-color: #f6f4f4;
  height: 100%;
  position: absolute;
  top: 0;
  left: -98px;
  right: -98px;
  z-index: -1;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_chart__body:before {
    left: calc(-7.5918367347vw + 23.4693877551px);
    right: calc(-7.5918367347vw + 23.4693877551px);
  }
}
.p-recruit_chart__main {
  position: relative;
}
.p-recruit_chart__img {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-recruit_chart__img svg,
.p-recruit_chart__img img {
  width: 100%;
  height: auto;
}
.p-recruit_chart.js-anim_elm:before {
  transform: translateY(-50%);
  opacity: 0;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.p-recruit_chart.js-anim_elm.is-act:before {
  opacity: 1;
  transform: translateY(0);
}

.p-recruit_chart_block {
  position: absolute;
  width: 26.6%;
  aspect-ratio: 350/300;
}
@media only screen and (max-width: 767px) {
  .p-recruit_chart_block {
    width: 40%;
    aspect-ratio: 250/300;
  }
}
@media (hover: hover) {
  .p-recruit_chart_block:hover:before {
    opacity: 0.3;
  }
}
.p-recruit_chart_block:before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #d4420a;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition-duration: 0.5s;
  transition-property: opacity;
  pointer-events: none;
}
.p-recruit_chart_block__head {
  background-color: #d4420a;
  position: relative;
  margin: 0 -90px 70px;
  height: 6.25em;
  font-size: 1.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_chart_block__head {
    margin: 0 calc(-5.306122449vw + -5.1020408163px) calc(2.8571428571vw + 24.2857142857px);
    font-size: calc(0.4897959184vw + 0.8163265306rem);
  }
}
.p-recruit_chart_block__title {
  width: 100%;
  color: #fff;
  font-size: 3.6rem;
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_chart_block__title {
    font-size: calc(1.4693877551vw + 1.2489795918rem);
  }
}
.p-recruit_chart_block .c-recruit_modal01 {
  padding-top: 0;
}
.p-recruit_chart_block .c-recruit_media02 .c-text01 + .c-text04 {
  margin-top: 0.5em;
}
.p-recruit_chart_block.-block01 {
  top: 5.1%;
  left: 4.5%;
}
@media only screen and (max-width: 767px) {
  .p-recruit_chart_block.-block01 {
    top: 3.8%;
    left: 8.5%;
  }
}
.p-recruit_chart_block.-block02 {
  top: 5.1%;
  left: 41.4%;
}
@media only screen and (max-width: 767px) {
  .p-recruit_chart_block.-block02 {
    top: 3.8%;
    left: 60%;
  }
}
.p-recruit_chart_block.-block03 {
  top: 38.3%;
  left: 73.3%;
}
@media only screen and (max-width: 767px) {
  .p-recruit_chart_block.-block03 {
    top: 54.7%;
    left: 8.5%;
  }
}
.p-recruit_chart_block.-block04 {
  top: 66.4%;
  left: 4.5%;
}
@media only screen and (max-width: 767px) {
  .p-recruit_chart_block.-block04 {
    top: 54.7%;
    left: 60%;
  }
}
.p-recruit_chart_block.-block05 {
  top: 66.4%;
  left: 36.8%;
}
@media only screen and (max-width: 767px) {
  .p-recruit_chart_block.-block05 {
    top: 76%;
    left: 8.5%;
  }
}
.p-recruit_chart_block.-block06 {
  top: 66.4%;
  left: 73.3%;
}
@media only screen and (max-width: 767px) {
  .p-recruit_chart_block.-block06 {
    top: 76%;
    left: 60%;
  }
}
.p-recruit_chart_block > a {
  display: block;
  width: 100%;
  height: 100%;
}

.p-recruit_interview {
  background-color: #d4420a;
  margin-top: 150px;
  padding-top: 150px;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_interview {
    margin-top: calc(6.1224489796vw + 52.0408163265px);
    padding-top: calc(6.1224489796vw + 52.0408163265px);
  }
}
.p-recruit_interview__head {
  position: relative;
  z-index: 0;
}
.p-recruit_interview__head:before {
  content: "";
  background: url(../../img/recruit/interview_obj01@2x.png) no-repeat;
  background-position: top left;
  background-size: cover;
  width: 61vw;
  aspect-ratio: 970/447;
  position: absolute;
  top: 0;
  left: 30vw;
  z-index: -1;
}
@media only screen and (max-width: 1023px) {
  .p-recruit_interview__head:before {
    width: 100vw;
    left: 50vw;
  }
}
.p-recruit_interview__body {
  padding: 120px 0;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_interview__body {
    padding: calc(4.8979591837vw + 41.6326530612px) 0;
  }
}
@media only screen and (max-width: 1023px) {
  .p-recruit_interview__body {
    padding-left: calc(1.6326530612vw + 13.8775510204px);
  }
}
.p-recruit_interview__body:before {
  content: "";
  background-color: #fff;
  position: absolute;
  top: 0;
  left: -100px;
  bottom: 0;
  z-index: -1;
  width: 100vw;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_interview__body:before {
    left: calc(-7.7551020408vw + 24.0816326531px);
  }
}
.p-recruit_interview__inner {
  display: flex;
  gap: 50px;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_interview__inner {
    gap: calc(2.0408163265vw + 17.3469387755px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-recruit_interview__inner {
    flex-direction: column;
    gap: calc(4.0816326531vw + 34.693877551px);
  }
}
.p-recruit_interview__block {
  width: 100%;
}
.p-recruit_interview__block.-talk {
  flex: 580;
}
.p-recruit_interview__block.-interview {
  flex: 670;
}
.p-recruit_interview__scroll-area {
  overflow-y: auto;
  max-height: 820px;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_interview__scroll-area {
    max-height: calc(33.4693877551vw + 284.4897959184px);
  }
}
@media only screen and (max-width: 1023px) {
  .p-recruit_interview__scroll-area {
    max-height: none;
  }
}
.p-recruit_interview__scroll-area::-webkit-scrollbar {
  display: none;
}
.p-recruit_interview.js-anim_elm .p-recruit_interview__head:before {
  opacity: 0;
  transform: translateY(10%);
  transition-duration: 1s;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.p-recruit_interview.js-anim_elm.is-act .p-recruit_interview__head:before {
  opacity: 1;
  transform: translateY(0);
}

.p-recruit_number {
  margin-top: 100px;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_number {
    margin-top: calc(4.0816326531vw + 34.693877551px);
  }
}
.p-recruit_number__body {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 40px;
  grid-template-areas: "i01 i01 i01 i02 i02 i02 i03 i03 i03 i03 i03 i03" "i04 i04 i04 i04 i04 i04 i05 i05 i05 i05 i05 i05" "i06 i06 i06 i06 i06 i06 i08 i08 i08 i08 i08 i08" "i07 i07 i07 i07 i07 i07 i08 i08 i08 i08 i08 i08" "i09 i09 i09 i09 i09 i09 i10 i10 i10 i11 i11 i11" "i12 i12 i12 i12 i13 i13 i13 i13 i14 i14 i14 i14";
}
@media only screen and (max-width: 1599px) {
  .p-recruit_number__body {
    gap: calc(1.6326530612vw + 13.8775510204px);
  }
}
@media only screen and (max-width: 767px) {
  .p-recruit_number__body {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-auto-rows: auto;
    grid-template-areas: "i01 i02" "i03 i03" "i04 i04" "i05 i05" "i06 i06" "i07 i07" "i08 i08" "i09 i09" "i10 i11" "i12 i13" "i14 i14";
  }
}
.p-recruit_number__body .i01 {
  grid-area: i01;
}
.p-recruit_number__body .i02 {
  grid-area: i02;
}
.p-recruit_number__body .i03 {
  grid-area: i03;
}
.p-recruit_number__body .i04 {
  grid-area: i04;
}
.p-recruit_number__body .i05 {
  grid-area: i05;
}
.p-recruit_number__body .i06 {
  grid-area: i06;
}
.p-recruit_number__body .i07 {
  grid-area: i07;
}
.p-recruit_number__body .i08 {
  grid-area: i08;
}
.p-recruit_number__body .i09 {
  grid-area: i09;
}
.p-recruit_number__body .i10 {
  grid-area: i10;
}
.p-recruit_number__body .i11 {
  grid-area: i11;
}
.p-recruit_number__body .i12 {
  grid-area: i12;
}
.p-recruit_number__body .i13 {
  grid-area: i13;
}
.p-recruit_number__body .i14 {
  grid-area: i14;
}

.p-recruit_number_block {
  font-size: 1.6rem;
  border: 2px solid #d4420a;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_number_block {
    font-size: calc(0.2448979592vw + 1.2081632653rem);
  }
}
.p-recruit_number_block__head {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 600;
  color: #fff;
  background-color: #d4420a;
  text-align: center;
  height: 2.5em;
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_number_block__head {
    font-size: calc(0.8979591837vw + 0.9632653061rem);
  }
}
.p-recruit_number_block__head:before {
  content: "";
  display: block;
  background-image: url(../../img/common/parts/pattern_wire01.svg);
  background-repeat: repeat;
  background-position: center;
  background-size: 20px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  opacity: 0.2;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_number_block__head:before {
    background-size: calc(0.8163265306vw + 6.9387755102px);
  }
}
.p-recruit_number_block__body {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 2em 1em;
}
.p-recruit_environment {
  padding: 120px 0 90px;
  margin-top: 150px;
  background-color: #f6f4f4;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_environment {
    padding: calc(4.8979591837vw + 41.6326530612px) 0 calc(3.6734693878vw + 31.2244897959px);
    margin-top: calc(6.1224489796vw + 52.0408163265px);
  }
}

.p-recruit_faq {
  margin-top: 120px;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_faq {
    margin-top: calc(4.8979591837vw + 41.6326530612px);
  }
}

.p-recruit_talk__member {
  padding-top: calc(4.0816326531vw + 34.693877551px);
  padding-bottom: calc(4.0816326531vw + 34.693877551px);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
.p-recruit_talk__member__item {
  width: 20%;
  margin-right: 6.6%;
  margin-bottom: calc(1.6326530612vw + 13.8775510204px);
}
@media only screen and (max-width: 767px) {
  .p-recruit_talk__member__item {
    width: 45%;
  }
  .p-recruit_talk__member__item:nth-child(2n) {
    margin-right: 0;
  }
}
.p-recruit_talk__member__item:last-child {
  margin-right: 0;
}
.p-recruit_talk__member__item .name {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 600;
  margin-top: 0.5em;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_talk__member__item .name {
    font-size: calc(0.9795918367vw + 8.3265306122px);
  }
}
.p-recruit_talk__member__item .profile {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.7;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_talk__member__item .profile {
    font-size: calc(0.3265306122vw + 10.7755102041px);
  }
}
.p-recruit_talk__block {
  padding: calc(4.0816326531vw + 34.693877551px) 0;
}
.p-recruit_talk__block.-pt0 {
  padding-top: 0;
}
.p-recruit_talk__block.-gray {
  background: #F6F4F4;
}
.p-recruit_talk__block__title {
  font-size: 3.6rem;
  font-weight: 600;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_talk__block__title {
    font-size: calc(1.4693877551vw + 12.4897959184px);
  }
}
.p-recruit_talk__block__subtitle {
  margin-top: calc(3.2653061224vw + 27.7551020408px);
  font-size: 2.4rem;
  font-weight: 600;
  position: relative;
  padding-left: calc(4.0816326531vw + 34.693877551px);
}
.p-recruit_talk__block__subtitle::before {
  content: "";
  position: absolute;
  left: 0;
  width: calc(4.8979591837vw + 1.6326530612px);
  height: 1px;
  background: #d4420a;
  top: 1em;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_talk__block__subtitle {
    font-size: calc(0.9795918367vw + 8.3265306122px);
  }
}
.p-recruit_talk__block__img {
  margin-top: calc(0.8163265306vw + 6.9387755102px);
}
.p-recruit_talk__block__img img {
  width: 100%;
}
.p-recruit_talk__block__talk {
  margin-top: calc(2.0408163265vw + 17.3469387755px);
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .p-recruit_talk__block__talk {
    align-items: flex-start;
  }
}
.p-recruit_talk__block__talk .profile {
  width: calc(4.0816326531vw + 34.693877551px);
  text-align: center;
  margin-right: calc(2.0408163265vw + 22.3469387755px);
}
.p-recruit_talk__block__talk .profile__name {
  margin-top: 0.5em;
  font-size: 1.6rem;
  font-weight: 600;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_talk__block__talk .profile__name {
    font-size: calc(0.3265306122vw + 1.0775510204rem);
  }
}
.p-recruit_talk__block__talk .talk {
  width: calc(100% - (6.1224489796vw + 57.0408163265px));
}

.p-recruit_interview-article__block {
  padding-top: calc(6.1224489796vw + 52.0408163265px);
}
.p-recruit_interview-article__block__title {
  font-weight: 600;
  font-size: calc(1.4693877551vw + 1.2489795918rem);
  text-align: center;
  position: relative;
  line-height: 1.7;
  padding-bottom: calc(3.2653061224vw + 22.7551020408px);
}
.p-recruit_interview-article__block__title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../../img/recruit/title_obj.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: calc(6.5306122449vw + 55.5102040816px);
  height: calc(1.2244897959vw + 15.4081632653px);
}
.p-recruit_interview-article__block__text {
  margin-top: calc(1.6326530612vw + 13.8775510204px);
  font-size: calc(0.3265306122vw + 1.2775510204rem);
}
.p-recruit_interview-article__block__img {
  margin-top: calc(2.8571428571vw + 24.2857142857px);
}

.p-recruit_interview-other {
  margin-top: calc(6.1224489796vw + 52.0408163265px);
  padding-top: calc(4.4897959184vw + 38.1632653061px);
  padding-bottom: calc(4.4897959184vw + 38.1632653061px);
  background: #F6F4F4;
}
.p-recruit_interview-other__inner {
  display: flex;
  gap: 40px;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_interview-other__inner {
    gap: calc(0.8163265306vw + 26.9387755102px);
  }
}
@media only screen and (max-width: 767px) {
  .p-recruit_interview-other__inner {
    flex-direction: column;
    gap: 0;
  }
}
.p-recruit_interview-other__head {
  width: 100%;
  flex: 22;
  position: relative;
  z-index: 50;
}
.p-recruit_interview-other__head .swiper-button {
  width: calc(5.7142857143vw + 68.5714285714px);
  position: relative;
  margin-top: calc(2.4489795918vw + 20.8163265306px);
}
@media only screen and (max-width: 767px) {
  .p-recruit_interview-other__head .swiper-button {
    position: absolute;
    right: 0;
    bottom: 25%;
  }
}
.p-recruit_interview-other__head .swiper-button-prev {
  transform: rotate(-180deg);
  left: 0;
}
.p-recruit_interview-other__head .swiper-button-next, .p-recruit_interview-other__head .swiper-button-prev {
  width: calc(2.8571428571vw + 24.2857142857px);
  height: calc(2.8571428571vw + 24.2857142857px);
  background: #ffffff;
  border-radius: 9999px;
  border: 2px solid #d4420a;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-recruit_interview-other__head .swiper-button-next .ico, .p-recruit_interview-other__head .swiper-button-prev .ico {
  display: flex;
  align-items: center;
  line-height: 1;
  color: #d4420a;
}
.p-recruit_interview-other__head .swiper-button-next::after, .p-recruit_interview-other__head .swiper-button-prev::after {
  content: none;
}
.p-recruit_interview-other__lead {
  width: 40%;
  padding: 0 6% 0 9%;
}
@media only screen and (max-width: 1023px) {
  .p-recruit_interview-other__lead {
    width: 100%;
  }
}
.p-recruit_interview-other__lead__title {
  padding-bottom: calc(1.6326530612vw + 13.8775510204px);
  border-bottom: 2px solid;
}
.p-recruit_interview-other__lead__title .en {
  display: block;
  color: #d4420a;
  font-size: 8rem;
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Dem Oblique", sans-serif;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_interview-other__lead__title .en {
    font-size: calc(3.2653061224vw + 2.7755102041rem);
  }
}
.p-recruit_interview-other__lead__title .jp {
  display: inline-block;
  margin-top: calc(1.6326530612vw + 13.8775510204px);
  line-height: 1.4;
  font-size: 2rem;
  font-weight: 600;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_interview-other__lead__title .jp {
    font-size: calc(0.4081632653vw + 13.4693877551px);
  }
}
.p-recruit_interview-other__body {
  width: 100%;
  flex: 41;
  min-width: 0;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 767px) {
  .p-recruit_interview-other__body {
    margin-top: calc(1.6326530612vw + 13.8775510204px);
  }
}
.p-recruit_interview-other__body:before {
  content: "";
  background-color: #F6F4F4;
  position: absolute;
  top: 0;
  right: 100%;
  z-index: 10;
  width: 100vw;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .p-recruit_interview-other__body:before {
    display: none;
  }
}

.p-recruit_recruitment {
  margin-top: calc(3.2653061224vw + 27.7551020408px);
  font-size: 2rem;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_recruitment {
    font-size: calc(0.4081632653vw + 1.3469387755rem);
  }
}
.p-recruit_recruitment__head {
  position: relative;
  background-color: #f4f4f6;
  border-radius: 10px;
  line-height: 1.5;
  padding: calc(1.7959183673vw + 15.2653061224px) 2.2em;
}
.p-recruit_recruitment__head .en {
  color: #d4420a;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: initial;
  font-family: "Futura Dem Oblique", sans-serif;
  font-weight: 700;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_recruitment__head .en {
    font-size: calc(0.3265306122vw + 0.8775510204rem);
  }
}
.p-recruit_recruitment__head .jp {
  font-weight: 600;
  font-size: 2.4rem;
  display: block;
  line-height: 1;
  margin-top: calc(0.8163265306vw + 6.9387755102px);
}
@media only screen and (max-width: 1599px) {
  .p-recruit_recruitment__head .jp {
    font-size: calc(0.9795918367vw + 0.8326530612rem);
  }
}
.p-recruit_recruitment__body {
  padding: 50px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  border-bottom: 2px solid #d4420a;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_recruitment__body {
    padding: calc(2.4489795918vw + 10.8163265306px);
  }
}
.p-recruit_recruitment__toggle {
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%);
  width: calc(2.0408163265vw + 17.3469387755px);
  height: calc(2.0408163265vw + 17.3469387755px);
  background: #d4420a;
  aspect-ratio: 1/1;
  transition-duration: 0.5s;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-recruit_recruitment__toggle .c-ico {
  transform: rotate(90deg);
  transition: 0.4s ease;
  color: #ffffff;
}
.is-open .p-recruit_recruitment__toggle .c-ico {
  transform: rotate(-90deg);
}
.p-recruit_recruitment__toggle:before {
  content: "";
}
.p-recruit_recruitment__toggle:after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.is-open .p-recruit_recruitment__toggle:after {
  opacity: 0;
}
.p-recruit_recruitment + .p-recruit_recruitment {
  margin-top: 20px;
}
.p-recruit_recruitment__button {
  margin-top: calc(2.0408163265vw + 17.3469387755px);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: calc(2.0408163265vw + 17.3469387755px);
}
.p-recruit_recruitment__button a {
  border-radius: 9999px;
  border: 1px solid #7E889A;
  display: flex;
  align-items: center;
  width: calc(8.9795918367vw + 206.3265306122px);
  padding: 7px;
  transition: 0.4s;
}
.p-recruit_recruitment__button a .c-ico {
  width: calc(2.0408163265vw + 17.3469387755px);
  height: calc(2.0408163265vw + 17.3469387755px);
  color: #ffffff;
  border-radius: 9999px;
  background: #d4420a;
}
.p-recruit_recruitment__button a .text {
  margin-left: calc(1.6326530612vw + 13.8775510204px);
  margin-right: calc(1.6326530612vw + 13.8775510204px);
  font-weight: 600;
  font-size: 1.8rem;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_recruitment__button a .text {
    font-size: calc(0.4897959184vw + 1.0163265306rem);
  }
}
@media (hover: hover) {
  .p-recruit_recruitment__button a:hover {
    background: #d4420a;
    color: #ffffff;
  }
}

.p-recruit_recruitment_block {
  display: flex;
  height: 100%;
  width: 100%;
}
.p-recruit_recruitment_block__head {
  position: relative;
  display: flex;
  border-bottom: 1px solid #d4420a;
  padding: 2em 1em;
  font-size: 1.8rem;
  line-height: 1.4;
  width: 20%;
}
@media only screen and (max-width: 1599px) {
  .p-recruit_recruitment_block__head {
    font-size: calc(0.3265306122vw + 1.2775510204rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-recruit_recruitment_block__head {
    width: 40%;
  }
}
.p-recruit_recruitment_block__body {
  width: 80%;
  position: relative;
  padding: 2em calc(2.0408163265vw + 22.3469387755px) 2em calc(4.8979591837vw + 41.6326530612px);
  border-bottom: 1px solid #D8DBE0;
}
@media only screen and (max-width: 767px) {
  .p-recruit_recruitment_block__body {
    padding: 2em 1em;
    width: 60%;
  }
}
.p-recruit_recruitment_block__body .list {
  display: block;
  font-weight: 500;
  padding-left: 1em;
  position: relative;
}
.p-recruit_recruitment_block__body .list::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  color: #d4420a;
}
.p-recruit_recruitment_block__title {
  font-weight: 600;
}

.p-recruit_entry {
  margin: calc(2.8571428571vw + 24.2857142857px) calc(2.0408163265vw + 17.3469387755px);
  background: #F6F4F4;
  padding: calc(4.0816326531vw + 34.693877551px) 0;
}
.p-recruit_entry__text {
  margin-bottom: calc(2.8571428571vw + 24.2857142857px);
}
