@charset "UTF-8";
/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

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

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
 * 1. Add the correct sizing in Firefox.
 * 2. Show the overflow in Edge 18- and IE.
 */
hr {
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */
main {
  display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
 * 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: 1em; /* 2 */
}

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

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
 * 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: 1em; /* 2 */
}

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

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

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

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
  border-style: none;
}

/**
 * Remove the border on images within links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
table {
  border-collapse: collapse;
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

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

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  padding: 0;
}

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

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
  display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

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

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
      in all browsers (opinionated).
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation; /* 1 */
  touch-action: manipulation; /* 2 */
}

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

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy=true] {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

@-webkit-keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
html {
  font-size: 62.5%;
}

body {
  font: 1.6em "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
  scroll-padding-top: 95px;
  scroll-behavior: smooth;
}

#header *,
#footer *,
.main-title *,
.main-title-business * {
  margin: 0;
  padding: 0;
  list-style: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1em;
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.h-type01 {
  color: #000;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1em;
  border-left: 7px solid #0066cc;
  margin: 0;
  padding: 0 0 0 18px;
}
@media (max-width: 428px) {
  .h-type01 {
    font-size: 7.0093457944vw;
    border-left: 1.6355140187vw solid #0066cc;
    padding: 0 0 0 4.2056074766vw;
  }
}

.h-type02 {
  color: #0933cc;
  font-size: 2.4rem;
  line-height: 1.3333em;
  margin: 0;
  padding: 0;
}
@media (max-width: 767px) {
  .h-type02 {
    font-size: 2.2rem;
    line-height: 1.454545em;
  }
}
@media (max-width: 428px) {
  .h-type02 {
    font-size: 5.1401869159vw;
  }
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.table-type01 {
  border-collapse: collapse;
  border-bottom: solid 1px #BDBDBD;
  width: 100%;
}
.table-type01 th {
  color: #000;
  font-size: 1.6rem;
  font-weight: bold;
  vertical-align: center;
  text-align: center;
  background: #E4F8FD;
  border-top: solid 1px #BDBDBD;
  padding: 12px 15px 12px;
  width: 24%;
}
@media (max-width: 767px) {
  .table-type01 th {
    text-align: left;
  }
}
.table-type01 td {
  color: #000;
  border-top: solid 1px #BDBDBD;
  padding: 15px 35px 12px;
}
@media (max-width: 767px) {
  .table-type01.type-sp01 th {
    padding: 10px 10px;
    width: 30%;
  }
  .table-type01.type-sp01 td {
    padding: 10px 15px;
  }
}
@media (max-width: 767px) {
  .table-type01.type-sp02 {
    border-top: 1px solid #7594C0;
    border-bottom: 1px solid #7594C0;
  }
  .table-type01.type-sp02 tr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .table-type01.type-sp02 tr th {
    color: #0045ca;
    font-size: 1.6rem;
    line-height: 1em;
    text-align: left;
    background-color: #ececec;
    border: none;
    padding: 15px 13px 14px 13px;
    width: 100%;
  }
  .table-type01.type-sp02 tr td {
    font-size: 1.6rem;
    text-align: left;
    border: none;
    padding: 7px 13px 17px;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .table-type01.type-sp03 tr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .table-type01.type-sp03 tr th {
    color: #000;
    font-size: 1.6rem;
    line-height: 1em;
    text-align: left;
    background-color: #FFF;
    border: none;
    padding: 25px 15px 3px 15px;
    width: 100%;
    border-top: 1px solid rgba(127, 127, 127, 0.5);
  }
  .table-type01.type-sp03 tr td {
    font-size: 1.6rem;
    text-align: left;
    border: none;
    padding: 5px 15px 15px 15px;
    width: 100%;
  }
  .table-type01.type-sp03 tr:nth-child(odd) th {
    background-color: #e3f0f5;
  }
  .table-type01.type-sp03 tr:nth-child(odd) td {
    background-color: #e3f0f5;
  }
}

@media (max-width: 767px) {
  .scroll {
    overflow: auto;
    white-space: nowrap;
  }
  .scroll:-webkit-scrollbar {
    height: 5px;
  }
  .scroll:-webkit-scrollbar-track {
    background: #F1F1F1;
  }
  .scroll:-webkit-scrollbar-thumb {
    background: #BCBCBC;
  }
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
a {
  text-decoration: none;
}
a:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.link-type01 a {
  color: #FFF;
  font-size: 1.6rem;
  background: #44cff2;
  display: inline-block;
  padding: 7px 14px 6px 22px;
}
.link-type01 a:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='108px' height='83px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M68.270,2.228 C65.923,-0.103 62.117,-0.103 59.770,2.228 C57.422,4.560 57.422,8.340 59.770,10.672 L85.488,36.220 L5.510,36.220 C2.467,36.220 0.001,38.671 0.001,41.693 C0.001,44.716 2.467,47.166 5.510,47.166 L85.488,47.166 L59.770,72.715 C57.422,75.046 57.422,78.826 59.770,81.158 C60.943,82.324 62.481,82.907 64.020,82.907 C65.558,82.907 67.096,82.324 68.270,81.158 L107.997,41.693 L68.270,2.228 Z'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  width: 12px;
  height: 11px;
  display: inline-block;
  margin-left: 10px;
}
@media (max-width: 428px) {
  .link-type01 a {
    font-size: 3.738317757vw;
    padding: 1.6355140187vw 3.2710280374vw 1.4018691589vw 5.1401869159vw;
  }
  .link-type01 a:after {
    width: 2.8037383178vw;
    height: 2.5700934579vw;
    margin-left: 2.3364485981vw;
  }
}

.btn-type02 a {
  color: #000;
  font-size: 1.9rem;
  font-weight: bold;
  line-height: 1em;
}
.btn-type02 a:after {
  content: "";
  background-color: #00d2ff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='108px' height='83px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M68.270,2.228 C65.923,-0.103 62.117,-0.103 59.770,2.228 C57.422,4.560 57.422,8.340 59.770,10.672 L85.488,36.220 L5.510,36.220 C2.467,36.220 0.001,38.671 0.001,41.693 C0.001,44.716 2.467,47.166 5.510,47.166 L85.488,47.166 L59.770,72.715 C57.422,75.046 57.422,78.826 59.770,81.158 C60.943,82.324 62.481,82.907 64.020,82.907 C65.558,82.907 67.096,82.324 68.270,81.158 L107.997,41.693 L68.270,2.228 Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 12px;
  width: 45px;
  height: 23px;
  display: inline-block;
  margin-left: 10px;
  vertical-align: text-top;
}
@media (max-width: 767px) {
  .btn-type02 a {
    text-align: center;
  }
  .btn-type02 a:after {
    display: block;
    margin: 5px auto 0;
  }
}
@media (max-width: 428px) {
  .btn-type02 a {
    font-size: 4.4392523364vw;
  }
  .btn-type02 a:after {
    background-size: 3.738317757vw 2.8037383178vw;
    width: 10.5140186916vw;
    height: 5.3738317757vw;
    margin: 1.1682242991vw auto 0;
  }
}

.btn-type03 {
  text-align: center;
}
.btn-type03 a {
  color: #FFF;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1em;
  background: #acacad;
  display: inline-block;
  max-width: 320px;
  padding: 12px 10px 10px;
  position: relative;
  width: 100%;
}
.btn-type03 a:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='108px' height='83px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M68.270,2.228 C65.923,-0.103 62.117,-0.103 59.770,2.228 C57.422,4.560 57.422,8.340 59.770,10.672 L85.488,36.220 L5.510,36.220 C2.467,36.220 0.001,38.671 0.001,41.693 C0.001,44.716 2.467,47.166 5.510,47.166 L85.488,47.166 L59.770,72.715 C57.422,75.046 57.422,78.826 59.770,81.158 C60.943,82.324 62.481,82.907 64.020,82.907 C65.558,82.907 67.096,82.324 68.270,81.158 L107.997,41.693 L68.270,2.228 Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 14px;
  width: 18px;
  height: 14px;
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
@media (max-width: 767px) {
  .btn-type03 a {
    max-width: 320px;
    padding: 27px 20px 24px;
  }
}

.btn-type04 a {
  color: #FFF;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1em;
  background: #00d2ff;
  display: inline-block;
  min-width: 150px;
  min-height: 31px;
  padding: 7px 46px 7px 17px;
  position: relative;
}
.btn-type04 a:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='108px' height='83px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M68.270,2.228 C65.923,-0.103 62.117,-0.103 59.770,2.228 C57.422,4.560 57.422,8.340 59.770,10.672 L85.488,36.220 L5.510,36.220 C2.467,36.220 0.001,38.671 0.001,41.693 C0.001,44.716 2.467,47.166 5.510,47.166 L85.488,47.166 L59.770,72.715 C57.422,75.046 57.422,78.826 59.770,81.158 C60.943,82.324 62.481,82.907 64.020,82.907 C65.558,82.907 67.096,82.324 68.270,81.158 L107.997,41.693 L68.270,2.228 Z'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  width: 19px;
  height: 15px;
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 14px;
  margin: auto 0;
}

.btn-type05 a {
  color: #FFF;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1em;
  text-align: left;
  background: #0045ca;
  display: inline-block;
  min-width: 150px;
  min-height: 31px;
  padding: 7px 46px 7px 17px;
  position: relative;
}
.btn-type05 a:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='108px' height='83px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M68.270,2.228 C65.923,-0.103 62.117,-0.103 59.770,2.228 C57.422,4.560 57.422,8.340 59.770,10.672 L85.488,36.220 L5.510,36.220 C2.467,36.220 0.001,38.671 0.001,41.693 C0.001,44.716 2.467,47.166 5.510,47.166 L85.488,47.166 L59.770,72.715 C57.422,75.046 57.422,78.826 59.770,81.158 C60.943,82.324 62.481,82.907 64.020,82.907 C65.558,82.907 67.096,82.324 68.270,81.158 L107.997,41.693 L68.270,2.228 Z'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  width: 19px;
  height: 15px;
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 14px;
  margin: auto 0;
}

.btn-type06 a {
  color: #FFF;
  font-size: 1.9rem;
  font-weight: bold;
  letter-spacing: 0.003em;
  text-align: center;
  background: #02a4f8;
  padding: 10px 38px 10px 15px;
  position: relative;
  max-width: 300px;
  width: 100%;
  min-height: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btn-type06 a:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='108px' height='83px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M68.270,2.228 C65.923,-0.103 62.117,-0.103 59.770,2.228 C57.422,4.560 57.422,8.340 59.770,10.672 L85.488,36.220 L5.510,36.220 C2.467,36.220 0.001,38.671 0.001,41.693 C0.001,44.716 2.467,47.166 5.510,47.166 L85.488,47.166 L59.770,72.715 C57.422,75.046 57.422,78.826 59.770,81.158 C60.943,82.324 62.481,82.907 64.020,82.907 C65.558,82.907 67.096,82.324 68.270,81.158 L107.997,41.693 L68.270,2.228 Z'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  width: 15px;
  height: 12px;
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto 0;
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.wrapper-750px {
  max-width: 750px;
  width: calc(100% - 40px);
  margin: 0 auto;
}
@media (max-width: 428px) {
  .wrapper-750px {
    width: calc(100% - 9.3457943925vw);
  }
}

.wrapper-900px {
  max-width: 900px;
  width: calc(100% - 40px);
  margin: 0 auto;
}
@media (max-width: 428px) {
  .wrapper-900px {
    width: calc(100% - 9.3457943925vw);
  }
}

.wrapper-920px {
  max-width: 920px;
  width: calc(100% - 40px);
  margin: 0 auto;
}
@media (max-width: 428px) {
  .wrapper-920px {
    width: calc(100% - 9.3457943925vw);
  }
}

.wrapper-1000px {
  max-width: 1000px;
  width: calc(100% - 40px);
  margin: 0 auto;
}
@media (max-width: 428px) {
  .wrapper-1000px {
    width: calc(100% - 9.3457943925vw);
  }
}

.wrapper-1126px {
  max-width: 1126px;
  width: calc(100% - 40px);
  margin: 0 auto;
}
@media (max-width: 428px) {
  .wrapper-1126px {
    width: calc(100% - 9.3457943925vw);
  }
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.inline {
  display: inline;
}

.block {
  display: block;
}

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

@media (max-width: 767px) {
  .inline-xs {
    display: inline;
  }
  .block-xs {
    display: block !important;
  }
  .inline-block-xs {
    display: inline-block;
  }
}
@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.bold {
  font-weight: bold;
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.space00b-p {
  padding-bottom: 0 !important;
}

.space00-p {
  padding: 0 !important;
}

.space00all {
  margin: 0 !important;
}

.space20l-p {
  padding-left: 20px !important;
}

.space00b {
  margin-bottom: 0 !important;
}

.space05b {
  margin-bottom: 5px !important;
}

.space10b {
  margin-bottom: 10px !important;
}

.space15b {
  margin-bottom: 15px !important;
}

.space20b {
  margin-bottom: 20px !important;
}

.space25b {
  margin-bottom: 25px !important;
}

.space30b {
  margin-bottom: 30px !important;
}

.space35b {
  margin-bottom: 35px !important;
}

.space40b {
  margin-bottom: 40px !important;
}

.space45b {
  margin-bottom: 45px !important;
}

.space50b {
  margin-bottom: 50px !important;
}

.space55b {
  margin-bottom: 55px !important;
}

.space60b {
  margin-bottom: 60px !important;
}

.space65b {
  margin-bottom: 65px !important;
}

.space70b {
  margin-bottom: 70px !important;
}

.space75b {
  margin-bottom: 75px !important;
}

.space80b {
  margin-bottom: 80px !important;
}

.space90b {
  margin-bottom: 90px !important;
}

.space10l {
  margin-left: 10px;
}

.space15l {
  margin-left: 15px;
}

.space20l {
  margin-left: 20px;
}

.space30l {
  margin-left: 30px;
}

.space40l {
  margin-left: 40px;
}

.space50l {
  margin-left: 50px;
}

.space05r {
  margin-right: 5px;
}

.space10r {
  margin-right: 10px;
}

.space15r {
  margin-right: 15px;
}

.space30r {
  margin-right: 30px;
}

.space40r {
  margin-right: 40px;
}

.space50r {
  margin-right: 50px;
}

.space05t {
  margin-top: 5px;
}

.space10t {
  margin-top: 10px;
}

.space15t {
  margin-top: 15px !important;
}

@media (max-width: 767px) {
  .space10b-p {
    padding-bottom: 10px !important;
  }
  .space00t-xs {
    margin-top: 0 !important;
  }
  .space15t-xs {
    margin-top: 15px !important;
  }
  .space30t-xs {
    margin-top: 30px !important;
  }
  .space50t-xs {
    margin-top: 50px !important;
  }
  .space00b-xs {
    margin-bottom: 0 !important;
  }
  .space05b-xs {
    margin-bottom: 5px !important;
  }
  .space10b-xs {
    margin-bottom: 10px !important;
  }
  .space15b-xs {
    margin-bottom: 15px !important;
  }
  .space20b-xs {
    margin-bottom: 20px !important;
  }
  .space25b-xs {
    margin-bottom: 25px !important;
  }
  .space30b-xs {
    margin-bottom: 30px !important;
  }
  .space40b-xs {
    margin-bottom: 40px !important;
  }
  .space50b-xs {
    margin-bottom: 50px !important;
  }
  .space60b-xs {
    margin-bottom: 60px !important;
  }
  .space00l-xs {
    margin-left: 0 !important;
  }
  .space05l-xs {
    margin-left: 5px !important;
  }
  .space10l-xs {
    margin-left: 10px !important;
  }
  .space15l-xs {
    margin-left: 15px !important;
  }
  .space20l-xs {
    margin-left: 20px !important;
  }
  .space2em-xs {
    margin-left: 2em !important;
  }
  .space00r-xs {
    margin-right: 0 !important;
  }
  .space05r-xs {
    margin-right: 5px !important;
  }
  .space10r-xs {
    margin-right: 10px !important;
  }
  .space15r-xs {
    margin-right: 15px !important;
  }
  .space20r-xs {
    margin-right: 20px !important;
  }
}
@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@media (min-width: 1200px) {
  .hidden-md {
    display: none;
  }
  .visible-sm {
    display: none;
  }
  .visible-xs {
    display: none;
  }
  .visible-xss {
    display: none;
  }
}
@media (min-width: 993px) and (max-width: 1199px) {
  .hidden-md {
    display: none;
  }
  .visible-sm {
    display: block;
  }
  .visible-xs {
    display: none;
  }
  .visible-xss {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 992px) {
  .hidden-sm {
    display: none;
  }
  .visible-sm {
    display: block;
  }
  .visible-xs {
    display: none;
  }
  .visible-xss {
    display: none;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none;
  }
  .visible-sm {
    display: none;
  }
  .visible-xs {
    display: block;
  }
  .visible-xs.inline {
    display: inline !important;
  }
  .visible-xss {
    display: none;
  }
}
@media (max-width: 428px) {
  .hidden-xss {
    display: none;
  }
  .visible-xss {
    display: block;
  }
  .visible-xss.inline {
    display: inline;
  }
}
@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.box-message-full {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1;
}
.box-message-full .contents-frame {
  color: #FFF;
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
header,
main,
footer {
  opacity: 1;
}

body.is-loading header,
body.is-loading main,
body.is-loading footer {
  opacity: 0;
}

body.is-loaded header,
body.is-loaded main,
body.is-loaded footer {
  -webkit-animation: fadein 0.5s ease forwards;
          animation: fadein 0.5s ease forwards;
}

@-webkit-keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.loading-box {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
.loading-box .spinner {
  color: #0933cc;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  -webkit-animation: spinner 1.2s infinite linear;
          animation: spinner 1.2s infinite linear;
}
.loading-box .spinner span {
  display: none;
}
@-webkit-keyframes spinner {
  0% {
    opacity: 0.2;
    -webkit-box-shadow: 0;
            box-shadow: 0;
    -webkit-transform: rotate(0) scale(0.5);
            transform: rotate(0) scale(0.5);
  }
  50% {
    opacity: 1;
    -webkit-box-shadow: 21px 21px, -21px -21px, 21px -21px, -21px 21px;
            box-shadow: 21px 21px, -21px -21px, 21px -21px, -21px 21px;
    -webkit-transform: rotate(180deg) scale(1);
            transform: rotate(180deg) scale(1);
  }
  100% {
    opacity: 0.2;
    -webkit-box-shadow: 0;
            box-shadow: 0;
    -webkit-transform: rotate(360deg) scale(0.5);
            transform: rotate(360deg) scale(0.5);
  }
}
@keyframes spinner {
  0% {
    opacity: 0.2;
    -webkit-box-shadow: 0;
            box-shadow: 0;
    -webkit-transform: rotate(0) scale(0.5);
            transform: rotate(0) scale(0.5);
  }
  50% {
    opacity: 1;
    -webkit-box-shadow: 21px 21px, -21px -21px, 21px -21px, -21px 21px;
            box-shadow: 21px 21px, -21px -21px, 21px -21px, -21px 21px;
    -webkit-transform: rotate(180deg) scale(1);
            transform: rotate(180deg) scale(1);
  }
  100% {
    opacity: 0.2;
    -webkit-box-shadow: 0;
            box-shadow: 0;
    -webkit-transform: rotate(360deg) scale(0.5);
            transform: rotate(360deg) scale(0.5);
  }
}
.loading-box.is-loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.loading-box.is-loaded .spinner {
  -webkit-animation: none;
          animation: none;
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
#header {
  padding: 0 55px;
  position: fixed;
  z-index: 9999;
  width: 100%;
}
#header:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: transparent;
  -webkit-transition: background-color 1s ease;
  transition: background-color 1s ease;
}
#header.scrolled:after {
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  pointer-events: none;
}
#header .header--wrapper {
  height: 95px;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 50px;
}
#header .h-title h1,
#header .h-title .header--logo {
  margin: -6px 0 0;
}
#header .h-title h1 a,
#header .h-title .header--logo a {
  font-size: 0;
  text-decoration: none;
  background: url(../img/logo.png) no-repeat center;
  background-size: cover;
  display: block;
  width: 232px;
  height: 55px;
  -webkit-transition: none;
  transition: none;
}
#header .h-title h1 a:hover,
#header .h-title .header--logo a:hover {
  opacity: 1;
}
#header #nav > ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 42px;
}
#header #nav > ul > li {
  font-size: 1.6rem;
}
#header #nav > ul > li > a {
  color: #001419;
}
#header #nav > ul > li > a > span {
  display: none;
}
#header #nav > ul > li.top, #header #nav > ul > li.partner, #header #nav > ul > li.news {
  display: none;
}
#header #nav > ul > li.recruit {
  margin: -4px 0 0;
  padding: 0 0 0 3px;
}
#header #nav > ul > li.recruit a {
  color: #FFF;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1em;
  background: #0084e0;
  border-radius: 100vmax;
  min-height: 48px;
  min-width: 160px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 15px 30px;
  width: 100%;
}
#header #nav > ul > li .nav-sub {
  display: none;
}
#header #nav .btn-close {
  display: none;
}
@media (min-width: 768px) {
  #header #nav > ul > li .nav-sub {
    display: block;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
    -webkit-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 0 0 -1.5em;
    padding: 20px 0 0;
    position: absolute;
    width: 200px;
  }
  #header #nav > ul > li .nav-sub li {
    font-size: 1.5rem;
    line-height: 1.5em;
    background: rgba(255, 255, 255, 0.9);
    border-left: 1px solid #f9f9f9;
    border-right: 1px solid #f9f9f9;
    padding: 15px 25px 0;
    width: 100%;
  }
  #header #nav > ul > li .nav-sub li:first-child {
    border-top: 1px solid #f9f9f9;
    padding-top: 20px;
  }
  #header #nav > ul > li .nav-sub li:last-child {
    border-bottom: 1px solid #f9f9f9;
    padding-bottom: 20px;
  }
  #header #nav > ul > li .nav-sub li a {
    color: #000;
  }
  #header #nav > ul > li:hover .nav-sub {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
#header .header--hamburger {
  display: none;
}
@media (max-width: 992px) {
  #header {
    padding: 0 20px;
  }
  #header .header--wrapper {
    gap: 30px;
  }
  #header .header--wrapper #nav ul {
    gap: 20px;
  }
  #header .header--wrapper #nav ul li.recruit a {
    padding: 15px 30px;
  }
}
@media (max-width: 767px) {
  #header {
    overflow: hidden;
    padding: 0 10px;
  }
  #header .header--wrapper {
    border: none;
    height: 80px;
  }
  #header .h-title h1,
  #header .h-title .header--logo {
    margin: -2px 0 0;
  }
  #header #nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10000;
    width: 100%;
    height: 100dvh;
    background-color: #0933CC;
    background-image: -webkit-linear-gradient(0deg, rgb(9, 51, 204) 23%, rgb(2, 204, 254) 100%);
    background-image: -ms-linear-gradient(0deg, rgb(9, 51, 204) 23%, rgb(2, 204, 254) 100%);
    padding: 56px 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  #header #nav .btn-close {
    display: block;
    width: 32px;
    height: 20px;
    position: absolute;
    top: 30px;
    right: 15px;
  }
  #header #nav .btn-close button {
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31.59 20.04'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23fff; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M18.43.29c-.66-.49-1.6-.35-2.1.31-.49.67-.35,1.61.31,2.1l7.86,5.82H1.5c-.83,0-1.5.67-1.5,1.5s.67,1.5,1.5,1.5h23.01l-7.86,5.82c-.67.49-.81,1.43-.31,2.1.29.4.75.61,1.21.61.31,0,.62-.1.89-.29l13.15-9.73L18.43.29Z'/%3E%3C/svg%3E");
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: cover;
    border: none;
    cursor: pointer;
    display: block;
    width: 100%;
    height: 100%;
  }
  #header #nav > ul {
    display: block;
    padding: 30px;
  }
  #header #nav > ul > li {
    color: #FFF;
    font-size: 2.1rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
  }
  #header #nav > ul > li:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }
  #header #nav > ul > li > a {
    color: #FFF;
    display: block;
    padding: 26px 9px 25px;
  }
  #header #nav > ul > li > a span {
    color: rgba(255, 255, 255, 0.29);
    font-family: "Arial", sans-serif;
    font-weight: normal;
    letter-spacing: 0.13em;
    font-size: 1.4rem;
    display: inline-block;
    margin-left: 12px;
    vertical-align: middle;
  }
  #header #nav > ul > li:has(.nav-sub) > a {
    padding: 23px 9px 25px;
  }
  #header #nav > ul > li.top, #header #nav > ul > li.partner, #header #nav > ul > li.news {
    display: block;
  }
  #header #nav > ul > li.top {
    letter-spacing: 0;
  }
  #header #nav > ul > li.top a {
    padding: 20px 9px 19px;
  }
  #header #nav > ul > li.recruit {
    margin: 0;
    padding: 0;
  }
  #header #nav > ul > li.recruit a {
    font-size: 2.1rem;
    line-height: 1em;
    background: none;
    min-height: none;
    min-width: none;
    display: block;
    padding: 26px 9px 25px !important;
  }
  #header #nav > ul > li .nav-sub {
    display: block;
    padding: 4px 0 30px 45px;
  }
  #header #nav > ul > li .nav-sub li {
    color: #FFF;
    font-size: 1.6rem;
    font-weight: normal;
    margin-bottom: 19px;
  }
  #header #nav > ul > li .nav-sub li:last-child {
    margin-bottom: 0;
  }
  #header #nav > ul > li .nav-sub li a {
    color: #FFF;
  }
  #header .header--hamburger {
    display: block;
    margin: -2px 0 0;
  }
  #header .header--hamburger button {
    background: #0084e0;
    border: none;
    border-radius: 100vmax;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 7px;
    cursor: pointer;
    height: 48px;
    width: 80px;
    padding: 12px 28px;
  }
  #header .header--hamburger button span {
    aspect-ratio: 1/1;
    background: #FFF;
    border-radius: 100vmax;
    display: inline-block;
    width: 7px;
    height: 7px;
  }
}
#header:has(+ main .main-title) .h-title h1 a,
#header:has(+ main .main-title) .h-title .header--logo a, #header:has(+ main .main-title-business) .h-title h1 a,
#header:has(+ main .main-title-business) .h-title .header--logo a {
  -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(33deg) brightness(107%) contrast(107%);
          filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(33deg) brightness(107%) contrast(107%);
}
#header:has(+ main .main-title).scrolled .h-title h1 a,
#header:has(+ main .main-title).scrolled .h-title .header--logo a, #header:has(+ main .main-title-business).scrolled .h-title h1 a,
#header:has(+ main .main-title-business).scrolled .h-title .header--logo a {
  -webkit-filter: brightness(1) saturate(1) invert(0);
          filter: brightness(1) saturate(1) invert(0);
}
@media (min-width: 768px) {
  #header:has(+ main .main-title) .header--wrapper, #header:has(+ main .main-title-business) .header--wrapper {
    border-bottom: 1px solid rgba(255, 255, 255, 0.49);
  }
  #header:has(+ main .main-title) #nav > ul > li > a, #header:has(+ main .main-title-business) #nav > ul > li > a {
    color: #FFF;
  }
  #header:has(+ main .main-title) #nav > ul > li.recruit a, #header:has(+ main .main-title-business) #nav > ul > li.recruit a {
    color: #0084e0;
    background: #FFF;
  }
  #header:has(+ main .main-title).scrolled .header--wrapper, #header:has(+ main .main-title-business).scrolled .header--wrapper {
    border: none;
  }
  #header:has(+ main .main-title).scrolled #nav > ul > li > a, #header:has(+ main .main-title-business).scrolled #nav > ul > li > a {
    color: #001419;
  }
  #header:has(+ main .main-title).scrolled #nav > ul > li.recruit a, #header:has(+ main .main-title-business).scrolled #nav > ul > li.recruit a {
    color: #FFF;
    background: #0084e0;
  }
}
@media (max-width: 767px) {
  #header:has(+ main .main-title) .header--hamburger button, #header:has(+ main .main-title-business) .header--hamburger button {
    background: #FFF;
  }
  #header:has(+ main .main-title) .header--hamburger button span, #header:has(+ main .main-title-business) .header--hamburger button span {
    background: #0084e0;
  }
  #header:has(+ main .main-title).scrolled .header--hamburger button, #header:has(+ main .main-title-business).scrolled .header--hamburger button {
    background: #0084e0;
  }
  #header:has(+ main .main-title).scrolled .header--hamburger button span, #header:has(+ main .main-title-business).scrolled .header--hamburger button span {
    background: #FFF;
  }
}

@media (max-width: 767px) {
  #header #nav {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
  body.is-open {
    overflow: hidden;
  }
  body.is-open #header #nav {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
main .main-title {
  padding: 95px 0 30px;
  overflow: hidden;
}
main .main-title:before {
  content: "";
  background: #0084e0 url(../img/main-title--bg.png) top right no-repeat;
  background-size: cover;
  width: 100%;
  height: 460px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
main .main-title:after {
  content: "";
  background: url(../img/main-title--txt.png) repeat-x top left;
  background-size: 2972px auto;
  width: 100%;
  height: 84px;
  margin-right: 30px;
  margin-top: -52px;
  position: absolute;
  left: 0;
  -webkit-animation: infinitescroll 50s linear infinite;
          animation: infinitescroll 50s linear infinite;
}
@-webkit-keyframes infinitescroll {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -2972px 0;
  }
}
@keyframes infinitescroll {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -2972px 0;
  }
}
main .main-title .main-title--wrapper {
  max-width: 1366px;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
main .main-title .main-title--title {
  width: 553px;
  height: 363px;
  padding: 0 40px 0 122px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
main .main-title .main-title--title .title {
  color: #FFF;
  font-size: 4.2rem;
  font-weight: bold;
  letter-spacing: 0.025em;
  line-height: 1.3em;
  margin-bottom: 35px;
}
main .main-title .main-title--img {
  height: 480px;
  padding: 40px 0 0;
  position: relative;
  width: calc(100% - 553px);
}
main .main-title .main-title--img img {
  border-top-left-radius: 15px;
  border-bottom-left-radius: 15px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top left;
     object-position: top left;
  width: 60vw;
  height: 440px;
  position: absolute;
  top: 40px;
  left: 0;
}
@media (min-width: 993px) and (max-width: 1199px) {
  main .main-title:before {
    background-size: cover;
    height: calc(95px + 26.7203513909vw);
  }
  main .main-title:after {
    background-size: 217.5695461201vw auto;
    height: 6.149341142vw;
    margin-right: 2.196193265vw;
    margin-top: -3.8067349927vw;
    -webkit-animation: infinitescroll2 50s linear infinite;
            animation: infinitescroll2 50s linear infinite;
  }
  @-webkit-keyframes infinitescroll2 {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: -217.5695461201vw 0;
    }
  }
  @keyframes infinitescroll2 {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: -217.5695461201vw 0;
    }
  }
  main .main-title .main-title--title {
    width: 480px;
    height: 26.5739385066vw;
    padding: 0 2.9282576867vw 0 8.0527086384vw;
  }
  main .main-title .main-title--title .title {
    font-size: 3.8rem;
    margin-bottom: 35px;
  }
  main .main-title .main-title--img {
    height: 35.1390922401vw;
    padding: 2.9282576867vw 0 0;
    width: calc(100% - 480px);
  }
  main .main-title .main-title--img img {
    height: 31.4787701318vw;
  }
}
@media (min-width: 768px) and (max-width: 992px) {
  main .main-title:before {
    background-size: cover;
    height: calc(95px + 26.7203513909vw);
  }
  main .main-title:after {
    background-size: 217.5695461201vw auto;
    height: 6.149341142vw;
    margin-right: 2.196193265vw;
    margin-top: -3.8067349927vw;
    -webkit-animation: infinitescroll2 50s linear infinite;
            animation: infinitescroll2 50s linear infinite;
  }
  @-webkit-keyframes infinitescroll2 {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: -217.5695461201vw 0;
    }
  }
  @keyframes infinitescroll2 {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: -217.5695461201vw 0;
    }
  }
  main .main-title .main-title--title {
    width: 50%;
    height: 26.5739385066vw;
    padding: 0 2.9282576867vw;
  }
  main .main-title .main-title--title .title {
    font-size: 4.2338709677vw;
    margin-bottom: 3.0241935484vw;
  }
  main .main-title .main-title--img {
    height: 35.1390922401vw;
    padding: 2.9282576867vw 0 0;
    width: 50%;
  }
  main .main-title .main-title--img img {
    height: 30.0146412884vw;
  }
}
@media (max-width: 767px) {
  main .main-title {
    padding: 67px 0 0;
  }
  main .main-title:before {
    background-size: cover;
    height: 490px;
  }
  main .main-title:has(.main-title--title):has(br):not(:has(.hidden-xs)):before {
    height: 530px;
  }
  main .main-title:after {
    display: none;
  }
  main .main-title .main-title--wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  main .main-title .main-title--title {
    text-align: center;
    display: block;
    height: auto;
    width: 100%;
    padding: 44px 30px 32px;
  }
  main .main-title .main-title--title .title {
    font-size: 3.2rem;
    letter-spacing: 0.065em;
    margin-bottom: 11px;
  }
  main .main-title .main-title--img {
    height: auto;
    padding: 0 0 0 30px;
    position: relative;
    width: 100%;
  }
  main .main-title .main-title--img img {
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
    width: 100%;
    height: 350px;
    position: relative;
    top: auto;
  }
}
main .main-title.type2 {
  padding: 95px 0 0;
}
main .main-title.type2:before {
  background-position: top right -80px;
  background-size: contain;
}
main .main-title.type2:after {
  background: none;
  display: none;
  width: auto;
  height: auto;
  margin: 0;
  position: relative;
  -webkit-animation: none;
          animation: none;
}
@media (max-width: 767px) {
  main .main-title.type2 {
    padding: 67px 0 0;
  }
  main .main-title.type2:before {
    background-position: top right -120px;
    background-size: cover;
    height: 230px;
  }
  main .main-title.type2 .main-title--title {
    width: 100%;
    height: 163px;
  }
}
main .contents-link {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  max-width: 900px;
  padding: 0 20px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  main .contents-link {
    grid-template-columns: 1fr;
    gap: 20px;
    max-width: 500px;
  }
}
@media (max-width: 428px) {
  main .contents-link {
    max-width: 340px;
  }
}
main .contents-link img {
  display: block;
  max-width: 100%;
}
main .contents-link li {
  text-align: center;
  font-weight: 600;
  line-height: 1.3;
}
main .contents-link li a {
  color: #060000;
}
@media (max-width: 767px) {
  main .contents-link li a {
    display: block;
    padding: 15px 0;
    border-radius: 30px;
    background-color: #b8b8b8;
    font-size: 18px;
    color: #fff;
  }
}
main .contents-link li .contents-link--thumb {
  position: relative;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  main .contents-link li .contents-link--thumb {
    display: none;
  }
}
main .contents-link li .contents-link--thumb img {
  border-radius: 10px;
}
main .contents-link li .contents-link--caption {
  margin: 7px auto 0;
}
@media (max-width: 767px) {
  main .contents-link li .contents-link--caption {
    display: none;
  }
}
main .contents-link li.current a {
  color: #0084e0;
}
@media (max-width: 767px) {
  main .contents-link li.current a {
    background-color: #0084e0;
    color: #fff;
  }
}
main .contents-link li.current .contents-link--thumb::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 132, 224, 0.6);
  border-radius: 10px;
}
main .contents-link li.current .contents-link--caption {
  -webkit-filter: brightness(0) saturate(100%) invert(33%) sepia(65%) saturate(1951%) hue-rotate(183deg) brightness(97%) contrast(101%);
          filter: brightness(0) saturate(100%) invert(33%) sepia(65%) saturate(1951%) hue-rotate(183deg) brightness(97%) contrast(101%);
}
main .block-title {
  margin: 0;
  text-align: center;
  font-size: 38px;
  line-height: 1.1;
}
@media (max-width: 428px) {
  main .block-title {
    text-align: left;
    font-size: 30px;
  }
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
#footer {
  color: #001419;
}
#footer * {
  color: #001419;
}
#footer .footer--nav {
  padding: 60px 30px 25px;
}
#footer .footer--nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 7px;
}
#footer .footer--nav ul li {
  font-size: 1.5rem;
}
#footer .footer--nav ul li:before {
  content: "|";
  padding-right: 7px;
}
#footer .footer--nav ul li:first-child::before {
  content: "";
  padding-right: 0;
}
#footer .footer--contents {
  background: #f2f4f5;
  padding: 106px 55px 90px;
}
#footer .footer--contents .footer--contents--wrapper {
  max-width: 1176px;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 55px;
}
#footer .footer--contents .footer--contents--info .footer--logo {
  font-size: 0;
  background: url(../img/logo.png) center;
  background-size: cover;
  margin: 0 0 46px;
  height: 55px;
  width: 232px;
}
#footer .footer--contents .footer--contents--info address {
  font-style: normal;
  font-size: 1.4rem;
  line-height: 1.8em;
  margin-bottom: 29px;
  padding-left: 5px;
}
#footer .footer--contents .footer--contents--info .copy {
  font-size: 1.3rem;
  line-height: 1.5em;
  padding-left: 5px;
}
#footer .footer--contents .footer--contents--info .copy br {
  display: none;
}
#footer .footer--contents .footer--contents--nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  padding-top: 30px;
}
#footer .footer--contents .footer--contents--nav dl {
  width: 210px;
}
#footer .footer--contents .footer--contents--nav dl dt {
  font-weight: bold;
  font-size: 1.5rem;
  margin-bottom: 27px;
}
#footer .footer--contents .footer--contents--nav dl dd {
  font-size: 1.3rem;
  line-height: 1.5em;
  margin-bottom: 20px;
}
#footer .footer--contents .footer--contents--nav dl dd a {
  text-decoration: underline;
}
#footer .footer--contents .footer--contents--nav dl dd:last-child {
  margin: 0;
}
#footer .footer--contents .footer--contents--nav ul {
  width: 210px;
}
#footer .footer--contents .footer--contents--nav ul li {
  font-size: 1.3rem;
  margin: 0 0 26px;
  padding: 0 0 0 10px;
}
#footer .footer--contents .footer--contents--nav ul li a {
  text-decoration: underline;
}
#footer .footer--contents .footer--contents--nav ul li:last-child {
  margin: 0;
}
#footer .footer--contents .footer--contents--nav ul li.recruit {
  margin-bottom: 33px;
  padding-left: 0;
  margin-top: -5px;
}
#footer .footer--contents .footer--contents--nav ul li.recruit a {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  color: #FFF;
  text-decoration: none;
  background: #0084e0;
  border-radius: 100vmax;
  display: inline-block;
  padding: 10px;
  min-width: 140px;
  min-height: 36px;
}
@media (min-width: 993px) and (max-width: 1199px) {
  #footer .footer--contents {
    padding: 7.7598828697vw 4.0263543192vw 6.588579795vw;
  }
  #footer .footer--contents .footer--contents--wrapper {
    gap: 4.0263543192vw;
  }
  #footer .footer--contents .footer--contents--nav {
    gap: 2.196193265vw;
  }
  #footer .footer--contents .footer--contents--nav dl {
    width: 15.3733528551vw;
  }
  #footer .footer--contents .footer--contents--nav ul {
    width: 15.3733528551vw;
  }
}
@media (min-width: 768px) and (max-width: 992px) {
  #footer .footer--contents {
    padding: 7.7598828697vw 20px 6.588579795vw;
  }
  #footer .footer--contents .footer--contents--wrapper {
    gap: 20px;
  }
  #footer .footer--contents .footer--contents--info .copy br {
    display: block;
  }
  #footer .footer--contents .footer--contents--nav {
    gap: 30px;
  }
  #footer .footer--contents .footer--contents--nav dl {
    width: 15.3733528551vw;
  }
  #footer .footer--contents .footer--contents--nav ul {
    width: auto;
  }
}
@media (max-width: 767px) {
  #footer .footer--nav {
    padding: 70px 0 0;
  }
  #footer .footer--nav ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    text-align: center;
  }
  #footer .footer--nav ul li {
    border-top: 1px solid #d2d2d2;
    font-size: 1.6rem;
  }
  #footer .footer--nav ul li:before {
    content: "";
    padding-right: 0;
  }
  #footer .footer--nav ul li a {
    display: block;
    padding: 35px;
  }
  #footer .footer--contents {
    padding: 75px 30px;
  }
  #footer .footer--contents .footer--contents--wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #footer .footer--contents .footer--contents--info .footer--logo {
    margin: 0 auto 35px;
    height: 61px;
    width: 258px;
  }
  #footer .footer--contents .footer--contents--info address {
    font-size: 1.6rem;
    line-height: 1.5em;
    text-align: center;
    margin-bottom: 50px;
  }
  #footer .footer--contents .footer--contents--info .copy {
    font-size: 1.4rem;
    text-align: center;
  }
  #footer .footer--contents .footer--contents--info .copy br {
    display: block;
  }
  #footer .footer--contents .footer--contents--nav {
    display: none;
  }
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
#index.index #main *,
#index.index #banner * {
  margin: 0;
  padding: 0;
  line-height: 1em;
  list-style: none;
}
#index.index .move {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 1s;
  transition: all 1s;
  -webkit-transform: translateY(150px);
          transform: translateY(150px);
}
#index.index .move.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-transform: translateY(0) !important;
          transform: translateY(0) !important;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
#index.index .fade-in {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 1s;
  transition: all 1s;
  -webkit-transform: translateY(150px);
          transform: translateY(150px);
}
#index.index .fade-in.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-transform: translateY(0) !important;
          transform: translateY(0) !important;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
#index.index .stagger-item {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 1s;
  transition: all 1s;
  -webkit-transform: translateY(150px);
          transform: translateY(150px);
}
#index.index .stagger-item.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-transform: translateY(0) !important;
          transform: translateY(0) !important;
}
#index.index .stagger-item:nth-child(1) {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
#index.index .stagger-item:nth-child(2) {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
#index.index .stagger-item:nth-child(3) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
#index.index .stagger-item:nth-child(4) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
#index.index #mv {
  width: 100%;
  height: 900px;
  position: relative;
}
#index.index #mv #mv--swiper {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
#index.index #mv #mv--swiper img {
  width: 100%;
  height: 900px;
  -o-object-fit: cover;
     object-fit: cover;
}
#index.index #mv .catch {
  position: absolute;
  z-index: 1;
  right: 53px;
  bottom: 54px;
  text-align: right;
  font-size: 0;
}
#index.index #mv .catch img {
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transform: translateY(40px) scale(0.94);
          transform: translateY(40px) scale(0.94);
  will-change: opacity, transform, filter;
}
#index.index #mv .catch.is-active img {
  -webkit-animation: catchFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
          animation: catchFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
#index.index #mv .catch .catch-01 {
  margin-bottom: 25px;
}
#index.index #mv .catch .catch-01 img:nth-child(1) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
#index.index #mv .catch .catch-01 img:nth-child(2) {
  -webkit-animation-delay: 0.65s;
          animation-delay: 0.65s;
}
#index.index #mv .catch .catch-01 img:nth-child(3) {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
#index.index #mv .catch .catch-01 img:nth-child(4) {
  -webkit-animation-delay: 0.75s;
          animation-delay: 0.75s;
}
#index.index #mv .catch .catch-02 img:nth-child(1) {
  -webkit-animation-delay: 1.1s;
          animation-delay: 1.1s;
}
#index.index #mv .catch .catch-02 img:nth-child(2) {
  -webkit-animation-delay: 1.15s;
          animation-delay: 1.15s;
}
#index.index #mv .catch .catch-02 img:nth-child(3) {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
#index.index #mv .catch .catch-02 img:nth-child(4) {
  -webkit-animation-delay: 1.25s;
          animation-delay: 1.25s;
}
#index.index #mv .catch .catch-02 img:nth-child(5) {
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
#index.index #mv .catch .catch-02 img:nth-child(6) {
  -webkit-animation-delay: 1.35s;
          animation-delay: 1.35s;
}
@-webkit-keyframes catchFadeUp {
  0% {
    opacity: 0;
    -webkit-filter: blur(10px);
            filter: blur(10px);
    -webkit-transform: translateY(40px) scale(0.94);
            transform: translateY(40px) scale(0.94);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}
@keyframes catchFadeUp {
  0% {
    opacity: 0;
    -webkit-filter: blur(10px);
            filter: blur(10px);
    -webkit-transform: translateY(40px) scale(0.94);
            transform: translateY(40px) scale(0.94);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}
@media (max-width: 767px) {
  #index.index #mv {
    height: 740px;
  }
  #index.index #mv #mv--swiper img {
    height: 740px;
    -o-object-position: center top;
       object-position: center top;
  }
  #index.index #mv .catch {
    text-align: center;
    left: 0;
    right: 0;
    bottom: 32px;
    margin: 0 auto;
  }
  #index.index #mv .catch img {
    max-height: 67px;
    width: auto;
  }
  #index.index #mv .catch .catch-01 {
    margin-bottom: 10px;
  }
}
#index.index #company {
  text-align: center;
  background: -webkit-gradient(linear, left bottom, left top, from(#fff), to(transparent)) no-repeat center bottom, url(../img/bg.png) no-repeat top right;
  background: -webkit-linear-gradient(bottom, #fff, transparent) no-repeat center bottom, url(../img/bg.png) no-repeat top right;
  background: linear-gradient(0deg, #fff, transparent) no-repeat center bottom, url(../img/bg.png) no-repeat top right;
  background-size: 100% 150px, cover;
  padding: 150px 0 300px;
}
#index.index #company .company--intro {
  margin: 0 30px 144px;
}
#index.index #company .company--intro .company--title {
  color: #221815;
  font-size: 4rem;
  font-weight: bold;
  margin: 0 0 52px;
}
#index.index #company .company--intro .company--txt {
  padding: 0 0 50px;
}
#index.index #company .company--intro .company--txt p {
  color: #221815;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 2em;
}
#index.index #company .company--intro .company--btn a {
  color: #001419;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.5em;
  background: #ffe012;
  border-radius: 100vmax;
  display: inline-block;
  padding: 20px 50px;
  min-width: 300px;
  min-height: 70px;
}
#index.index #company .company--img {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 0 0 55px;
  position: relative;
}
#index.index #company .company--img > div:nth-of-type(1) img {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  margin-left: auto;
}
#index.index #company .company--img > div:nth-of-type(2) img {
  margin-top: -595px;
}
#index.index #company .company--img > div:nth-of-type(3) img {
  margin-top: -45px;
  margin-left: 138px;
}
#index.index #company .company--img img {
  border-radius: 10px;
  display: block;
  position: relative;
  will-change: transform;
  -webkit-transition: -webkit-transform 0.1s linear;
  transition: -webkit-transform 0.1s linear;
  transition: transform 0.1s linear;
  transition: transform 0.1s linear, -webkit-transform 0.1s linear;
}
@media (min-width: 1367px) {
  #index.index #company .company--img > div:nth-of-type(1) img {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
  }
}
@media (min-width: 768px) and (max-width: 1366px) {
  #index.index #company .company--img > div:nth-of-type(1) img {
    width: 50vw;
    height: 57.1010248902vw;
  }
  #index.index #company .company--img > div:nth-of-type(2) img {
    margin-top: -43.5578330893vw;
    width: 30.7467057101vw;
    height: 38.0673499268vw;
  }
  #index.index #company .company--img > div:nth-of-type(3) img {
    margin-top: -3.2942898975vw;
    margin-left: 10.102489019vw;
    width: 30.7467057101vw;
    height: 33.6749633968vw;
  }
}
@media (max-width: 767px) {
  #index.index #company {
    background: -webkit-gradient(linear, left bottom, left top, from(#fff), to(transparent)) no-repeat center bottom, url(../img/bg-sp.png) no-repeat top right;
    background: -webkit-linear-gradient(bottom, #fff, transparent) no-repeat center bottom, url(../img/bg-sp.png) no-repeat top right;
    background: linear-gradient(0deg, #fff, transparent) no-repeat center bottom, url(../img/bg-sp.png) no-repeat top right;
    background-size: 100% 110px, contain;
    padding: 205px 0 220px;
  }
  #index.index #company .company--intro {
    margin: 0 43px 100px;
  }
  #index.index #company .company--intro .company--title {
    font-size: 3.6rem;
    line-height: 1.38em;
    margin: 0 0 33px;
  }
  #index.index #company .company--intro .company--txt {
    padding: 0 0 40px;
    text-align: left;
  }
  #index.index #company .company--intro .company--txt p {
    font-size: 2rem;
    line-height: 1.9em;
  }
  #index.index #company .company--img {
    padding: 0 0 0 4.6728971963vw;
  }
  #index.index #company .company--img > div:nth-of-type(1) img {
    width: 85.9813084112vw;
    height: 109.3457943925vw;
  }
  #index.index #company .company--img > div:nth-of-type(2) img {
    margin-top: 16.3551401869vw;
    width: 64.953271028vw;
    height: 80.6074766355vw;
  }
  #index.index #company .company--img > div:nth-of-type(3) img {
    margin-top: -15.4205607477vw;
    margin-left: 21.261682243vw;
    width: 64.953271028vw;
    height: 71.261682243vw;
  }
  #index.index #company .company--img img {
    -o-object-fit: cover;
       object-fit: cover;
  }
}
#index.index .parallax {
  will-change: transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
#index.index #business {
  padding: 0 0 150px;
}
#index.index #business .business--intro {
  text-align: center;
  margin: 0 0 70px;
}
#index.index #business .business--intro hgroup {
  margin: 0 0 37px;
}
#index.index #business .business--intro hgroup p {
  margin-bottom: 25px;
}
#index.index #business .business--intro hgroup .business--intro-title {
  color: #001419;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}
#index.index #business .business--intro > p {
  color: #221815;
  font-size: 2rem;
  line-height: 2em;
}
#index.index #business #business--swiper {
  margin: 0 0 60px;
}
#index.index #business #business--swiper .swiper-wrapper {
  margin: 0 0 25px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#index.index #business #business--swiper .swiper-slide {
  width: 510px;
  padding: 0 15px;
}
#index.index #business #business--swiper .swiper-slide:first-child {
  width: 550px;
  padding: 0 15px 0 55px;
}
#index.index #business #business--swiper .swiper-slide:last-child {
  width: 550px;
  padding: 0 55px 0 15px;
}
#index.index #business #business--swiper .swiper-scrollbar {
  background: none;
}
#index.index #business #business--swiper .swiper-scrollbar .swiper-scrollbar-drag {
  background: #BABABA;
}
#index.index #business .business--box {
  border-radius: 10px;
  overflow: hidden;
  height: 100%;
}
#index.index #business .business--box a {
  color: #666;
  display: block;
  width: 100%;
  height: 100%;
}
#index.index #business .business--box a figure img {
  -o-object-fit: cover;
     object-fit: cover;
}
#index.index #business .business--box a .business--box-txtbox {
  border: 1px solid #d9d9d9 !important;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  padding: 29px 30px 33px;
}
#index.index #business .business--box a .business--box-txtbox .business--box-title {
  color: #0b3190;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  margin: 0 0 24px;
}
#index.index #business .business--box a .business--box-txtbox .business--box-txt {
  margin: 0 0 23px;
}
#index.index #business .business--box a .business--box-txtbox .business--box-txt p {
  color: #001419;
  font-size: 1.6rem;
  line-height: 1.75em;
}
#index.index #business .business--box a .business--box-txtbox .business--box-btn {
  background: #ffe012;
  border-radius: 100vmax;
  display: inline-block;
  padding: 6px 28px;
  margin: 0 0 0 -2px;
}
#index.index #business .business--btn {
  text-align: center;
}
#index.index #business .business--btn a {
  color: #FFF;
  font-size: 1.6rem;
  letter-spacing: 0.005em;
  text-decoration: none;
  background: #bababa;
  border-radius: 100vmax;
  display: inline-block;
  padding: 17px 25px 16px;
}
@media (min-width: 1199px) and (max-width: 1610px) {
  #index.index #business #business--swiper {
    margin: 0 0 60px;
  }
  #index.index #business #business--swiper .swiper-wrapper {
    margin: 0 0 25px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #index.index #business #business--swiper .swiper-slide {
    width: 31.6770186335vw;
    padding: 0 0.9316770186vw;
  }
  #index.index #business #business--swiper .swiper-slide:first-child {
    width: 34.1614906832vw;
    padding: 0 0.9316770186vw 0 3.4161490683vw;
  }
  #index.index #business #business--swiper .swiper-slide:last-child {
    width: 34.1614906832vw;
    padding: 0 3.4161490683vw 0 0.9316770186vw;
  }
  #index.index #business #business--swiper .swiper-scrollbar {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 1198px) {
  #index.index #business #business--swiper .swiper-wrapper {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media (max-width: 767px) {
  #index.index #business {
    padding: 0 40px 100px;
  }
  #index.index #business .business--intro {
    margin: 0 0 38px;
  }
  #index.index #business .business--intro hgroup {
    margin: 0 0 40px;
  }
  #index.index #business .business--intro hgroup p {
    font-size: 1.8rem;
    margin-bottom: 28px;
  }
  #index.index #business .business--intro > p {
    font-size: 1.8rem;
    text-align: left;
  }
  #index.index #business #business--swiper {
    max-width: 348px;
    margin: 0 auto;
  }
  #index.index #business #business--swiper .swiper-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    -webkit-transform: none !important;
            transform: none !important;
    margin: 0;
  }
  #index.index #business #business--swiper .swiper-slide {
    width: 100%;
    padding: 0;
    margin: 0;
  }
  #index.index #business #business--swiper .swiper-slide:first-child, #index.index #business #business--swiper .swiper-slide:last-child {
    width: 100%;
    padding: 0;
  }
  #index.index #business .business--box a figure img {
    width: 100%;
    height: 240px;
  }
  #index.index #business .business--box a .business--box-txtbox {
    padding: 30px 20px 33px;
  }
  #index.index #business .business--box a .business--box-txtbox .business--box-title {
    margin: 0 0 25px;
  }
  #index.index #business .business--box a .business--box-txtbox .business--box-txt {
    margin: 0 0 22px;
  }
  #index.index #business .business--box a .business--box-txtbox .business--box-txt p {
    line-height: 1.8em;
  }
  #index.index #business .business--box a .business--box-txtbox .business--box-btn {
    margin: 0 0 0 -4px;
    padding: 5px 28px 6px;
  }
  #index.index #business .business--btn {
    margin-top: 48px;
  }
  #index.index #business .business--btn a {
    letter-spacing: 0.02em;
  }
}
#index.index #recruit {
  color: #FFF;
  background: url(../img/index/recruit--bg.webp) no-repeat top center;
  background-size: cover;
  padding: 130px 40px 80px;
}
#index.index #recruit .recruit--wrapper {
  max-width: 1090px;
  margin: 0 auto;
}
#index.index #recruit .recruit--intro {
  max-width: 1036px;
  margin: 0 auto 88px;
}
#index.index #recruit .recruit--intro .recruit--title {
  margin: 0 0 31px;
}
#index.index #recruit .recruit--intro .recruit--txt {
  margin: 0 0 37px;
}
#index.index #recruit .recruit--intro .recruit--txt p {
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 2em;
}
#index.index #recruit .recruit--intro .recruit--btn {
  margin: 0 0 0 -1px;
}
#index.index #recruit .recruit--intro .recruit--btn a {
  color: #131313;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  background: #ffe012;
  border-radius: 100vmax;
  display: inline-block;
  padding: 25px;
  min-width: 300px;
}
#index.index #recruit .recruit--list ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  margin: 0 auto;
}
#index.index #recruit .recruit--list li {
  text-align: center;
  aspect-ratio: 250/320;
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
}
#index.index #recruit .recruit--list li.interview01 a {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.7019607843)), to(rgba(255, 255, 255, 0.7019607843))), url(../img/index/recruit--img01.webp);
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.7019607843), rgba(255, 255, 255, 0.7019607843)), url(../img/index/recruit--img01.webp);
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.7019607843), rgba(255, 255, 255, 0.7019607843)), url(../img/index/recruit--img01.webp);
}
#index.index #recruit .recruit--list li.interview02 a {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.7019607843)), to(rgba(255, 255, 255, 0.7019607843))), url(../img/index/recruit--img02.webp);
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.7019607843), rgba(255, 255, 255, 0.7019607843)), url(../img/index/recruit--img02.webp);
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.7019607843), rgba(255, 255, 255, 0.7019607843)), url(../img/index/recruit--img02.webp);
}
#index.index #recruit .recruit--list li.interview03 a {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.7019607843)), to(rgba(255, 255, 255, 0.7019607843))), url(../img/index/recruit--img03.webp);
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.7019607843), rgba(255, 255, 255, 0.7019607843)), url(../img/index/recruit--img03.webp);
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.7019607843), rgba(255, 255, 255, 0.7019607843)), url(../img/index/recruit--img03.webp);
}
#index.index #recruit .recruit--list li.interview04 a {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.7019607843)), to(rgba(255, 255, 255, 0.7019607843))), url(../img/index/recruit--img04.webp);
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.7019607843), rgba(255, 255, 255, 0.7019607843)), url(../img/index/recruit--img04.webp);
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.7019607843), rgba(255, 255, 255, 0.7019607843)), url(../img/index/recruit--img04.webp);
}
#index.index #recruit .recruit--list li a {
  color: #FFF;
  background-repeat: no-repeat, no-repeat;
  background-position: bottom center, top center;
  background-size: 100% 140px, cover;
  background-blend-mode: multiply, normal;
  display: block;
  width: 100%;
  height: 100%;
  padding: 15px;
  position: relative;
}
#index.index #recruit .recruit--list li .recruit--list-box {
  position: absolute;
  left: 0;
  bottom: 15px;
  width: 100%;
}
#index.index #recruit .recruit--list li .recruit--cate {
  color: #062066;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  background: #fff;
  border-radius: 100vmax;
  display: inline-block;
  margin: 0 0 13px;
  min-width: 130px;
  padding: 4px 15px 3px;
}
#index.index #recruit .recruit--list li .recruit--occupation {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0 0 10px;
}
#index.index #recruit .recruit--list li .recruit--data {
  font-size: 1.2rem;
}
@media (min-width: 768px) and (max-width: 992px) {
  #index.index #recruit {
    background-position: top right -300px;
  }
  #index.index #recruit .recruit--list ul {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    max-width: 530px;
  }
  #index.index #recruit .recruit--list ul li {
    max-width: 250px;
  }
}
@media (max-width: 767px) {
  #index.index #recruit {
    background-position: top right 30%;
    background-size: 1220px auto;
    padding: 100px 40px 103px;
  }
  #index.index #recruit .recruit--wrapper {
    max-width: 348px;
  }
  #index.index #recruit .recruit--intro {
    max-width: none;
    margin: 0;
  }
  #index.index #recruit .recruit--intro .recruit--title {
    text-align: center;
    margin: 0 0 44px;
  }
  #index.index #recruit .recruit--intro .recruit--txt {
    margin: 0 0 53px;
  }
  #index.index #recruit .recruit--intro .recruit--txt p {
    font-size: 1.9rem;
    font-weight: bold;
    letter-spacing: 0.015em;
    line-height: 1.7em;
  }
  #index.index #recruit .recruit--intro .recruit--btn {
    text-align: center;
    margin: 0 0 0 -1px;
  }
  #index.index #recruit .recruit--intro .recruit--btn a {
    color: #131313;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
    background: #ffe012;
    border-radius: 100vmax;
    display: inline-block;
    padding: 25px;
    min-width: 300px;
  }
  #index.index #recruit .recruit--list {
    display: none;
  }
}
@media (max-width: 428px) {
  #index.index #recruit {
    background: url(../img/index/recruit--bg-sp.webp) no-repeat top center;
    background-size: cover;
  }
}
#index.index #news {
  padding: 140px 40px 152px;
}
#index.index #news .news--wrapper {
  max-width: 1126px;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 50px;
}
#index.index #news .news--title {
  max-width: 256px;
  width: 100%;
}
#index.index #news .news--title hgroup {
  margin: 0 0 38px;
}
#index.index #news .news--title hgroup p {
  margin: 0 0 28px;
  padding: 4px 0 0 3px;
}
#index.index #news .news--title hgroup h2 {
  color: #001419;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}
#index.index #news .news--title .news--btn a {
  color: #FFF;
  font-size: 1.6rem;
  text-align: center;
  background: #bababa;
  border-radius: 100vmax;
  display: inline-block;
  padding: 13px 33px 11px;
}
#index.index #news .news--list {
  max-width: 820px;
  width: 100%;
}
#index.index #news .news--list ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  width: 100%;
}
#index.index #news .news--list ul li {
  background: #f2f4f5;
  border-radius: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px 0;
  padding: 40px 33px;
  width: 100%;
  min-height: 100px;
}
#index.index #news .news--list ul li time {
  color: #001419;
  font-size: 1.6rem;
  margin: 0 25px 0 0;
}
#index.index #news .news--list ul li .news--list-cate {
  color: #001419;
  font-size: 1.2rem;
  text-align: center;
  border-radius: 100vmax;
  margin: 0 32px 0 0;
  width: 77px;
  padding: 3px;
}
#index.index #news .news--list ul li .news--list-cate.news {
  background: #ffe012;
}
#index.index #news .news--list ul li .news--list-title {
  max-width: 540px;
  width: 100%;
  margin: -0.25em 0;
}
#index.index #news .news--list ul li .news--list-title p {
  font-size: 1.6rem;
  line-height: 1.8em;
}
#index.index #news .news--list ul li .news--list-title p a {
  color: #001419;
}
@media (max-width: 767px) {
  #index.index #news {
    padding: 95px 40px 100px;
  }
  #index.index #news .news--wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #index.index #news .news--title {
    display: contents;
    max-width: none;
  }
  #index.index #news .news--title hgroup {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    text-align: center;
    margin: 0;
  }
  #index.index #news .news--title .news--btn {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    text-align: center;
  }
  #index.index #news .news--title .news--btn a {
    font-size: 1.8rem;
    padding: 16px 51px 15px;
  }
  #index.index #news .news--list {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  #index.index #news .news--list ul li {
    padding: 30px 20px;
  }
}
#index.index #banner {
  padding: 0 40px;
}
#index.index #banner .banner--wrapper {
  max-width: 1150px;
  margin: 0 auto;
}
#index.index #banner .banner--wrapper ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}
@media (max-width: 767px) {
  #index.index #banner .banner--wrapper ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
  }
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
#company .link-btn {
  cursor: pointer;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 140px;
  padding: 7px 25px;
  border: none;
  border-radius: 15px;
  background-color: #ffe012;
  text-align: center;
  text-decoration: none;
  font-size: 1.4rem;
  line-height: 1;
  color: #000;
}
#company .link-btn:hover {
  opacity: 0.8;
}
#company .contents-link {
  margin-bottom: 30px;
}

#company.index .main-contents {
  width: 100%;
  max-width: 1060px;
  padding: 0 30px;
  margin: 120px auto 100px;
}
@media (max-width: 767px) {
  #company.index .main-contents {
    margin: 70px auto;
  }
}
#company.index .main-contents p {
  line-height: 2.4;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #company.index .main-contents p {
    line-height: 2.1;
  }
}
#company.index .main-contents h2 {
  margin-bottom: 70px;
  text-align: center;
}
@media (max-width: 767px) {
  #company.index .main-contents h2 {
    margin-bottom: 40px;
  }
}
#company.index .main-contents h2 img {
  max-width: 100%;
}
@media (max-width: 428px) {
  #company.index .main-contents h2 img {
    max-width: 320px;
  }
}
#company.index .main-contents .main-contents--sign {
  text-align: right;
}
#company.index .carousel {
  margin-bottom: 150px;
}
@media (max-width: 767px) {
  #company.index .carousel {
    margin-bottom: 80px;
  }
}
#company.index .carousel .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
#company.index .carousel .swiper-slide {
  width: 380px;
}
#company.index .carousel .swiper-slide img {
  width: 100%;
  height: auto;
  border-radius: 20px;
}
@media (max-width: 428px) {
  #company.index .carousel #carousel-top, #company.index .carousel #carousel-bottom {
    display: none;
  }
}
#company.index .carousel #carousel-top {
  margin-bottom: 20px;
}
#company.index .carousel #carousel-sp {
  display: none;
  padding-left: 30px;
}
@media (max-width: 428px) {
  #company.index .carousel #carousel-sp {
    display: block;
  }
}

#company.philosophy .main-contents {
  width: 100%;
  max-width: 1060px;
  padding: 0 30px;
  margin: 120px auto;
}
@media (max-width: 767px) {
  #company.philosophy .main-contents {
    margin: 80px auto;
  }
}
#company.philosophy .main-contents p, #company.philosophy .main-contents li {
  line-height: 2.4;
}
@media (max-width: 767px) {
  #company.philosophy .main-contents p, #company.philosophy .main-contents li {
    line-height: 2.1;
  }
}
#company.philosophy .main-contents .main-contents--block {
  padding: 80px 0;
  border-bottom: 1px solid #e6e6e6;
}
@media (max-width: 767px) {
  #company.philosophy .main-contents .main-contents--block {
    padding: 60px 0;
  }
}
#company.philosophy .main-contents .main-contents--block:first-of-type {
  padding-top: 0;
}
#company.philosophy .main-contents .main-contents--block .block-title {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  #company.philosophy .main-contents .main-contents--block .block-title {
    margin-bottom: 30px;
  }
}
#company.philosophy .main-contents .main-contents--block#management .management-text {
  text-align: center;
}
#company.philosophy .main-contents .main-contents--block#management .management-text img {
  width: 100%;
  max-width: 100%;
}
@media (max-width: 767px) {
  #company.philosophy .main-contents .main-contents--block#management .management-text img {
    max-width: 500px;
  }
}
#company.philosophy .main-contents .main-contents--block#storategy ol {
  list-style: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  padding: 0;
  margin: 0;
}
#company.philosophy .main-contents .main-contents--block#storategy ol li {
  position: relative;
  text-align: center;
  font-size: 1.8rem;
}
@media (max-width: 428px) {
  #company.philosophy .main-contents .main-contents--block#storategy ol li {
    text-align: left;
    font-size: 1.6rem;
  }
}
#company.philosophy .main-contents .main-contents--block#storategy ol li::before {
  content: "";
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 27px;
  height: 17px;
  margin: 0 auto 20px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media (max-width: 428px) {
  #company.philosophy .main-contents .main-contents--block#storategy ol li::before {
    width: 25px;
    height: 15px;
    margin: 0 auto 10px 0;
  }
}
#company.philosophy .main-contents .main-contents--block#storategy ol li:nth-child(1)::before {
  background-image: url(../img/company/philosophy/philosophy--title-02-1.svg);
}
#company.philosophy .main-contents .main-contents--block#storategy ol li:nth-child(2)::before {
  background-image: url(../img/company/philosophy/philosophy--title-02-2.svg);
}
#company.philosophy .main-contents .main-contents--block#storategy ol li:nth-child(3)::before {
  background-image: url(../img/company/philosophy/philosophy--title-02-3.svg);
}
#company.philosophy .main-contents .main-contents--block#storategy ol li:nth-child(4)::before {
  background-image: url(../img/company/philosophy/philosophy--title-02-4.svg);
}
#company.philosophy .main-contents .main-contents--block#conduct ol {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  padding: 0 25px 0 50px;
  margin-top: 45px;
}
@media (max-width: 767px) {
  #company.philosophy .main-contents .main-contents--block#conduct ol {
    gap: 30px;
    padding: 0 10px 0 30px;
    margin-top: 30px;
  }
}
@media (max-width: 428px) {
  #company.philosophy .main-contents .main-contents--block#conduct ol {
    padding: 0 0 0 20px;
  }
}
#company.philosophy .main-contents .main-contents--block#conduct ol li {
  padding-left: 10px;
}
#company.philosophy .main-contents .main-contents--block#conduct ol li::marker {
  font-weight: 600;
}
@media (max-width: 428px) {
  #company.philosophy .main-contents .main-contents--block#conduct ol li::marker {
    font-weight: 500;
  }
}
#company.philosophy .main-contents .main-contents--block#conduct ol li span {
  color: #0084e0;
}

#company.outline .main-contents {
  margin: 120px 0 140px;
  line-height: 1.9;
}
@media (max-width: 767px) {
  #company.outline .main-contents {
    margin: 70px 0;
  }
}
#company.outline .main-contents .block-title {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  #company.outline .main-contents .block-title {
    margin-bottom: 30px;
  }
}
#company.outline .main-contents .main-contents--wrapper {
  padding: 140px 0;
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--wrapper {
    padding: 80px 0;
  }
}
#company.outline .main-contents .main-contents--wrapper:first-of-type {
  padding-top: 0;
}
#company.outline .main-contents .main-contents--wrapper:last-of-type {
  padding-bottom: 0;
}
#company.outline .main-contents .main-contents--wrapper.bg-blue {
  background-color: #f0f8fa;
}
#company.outline .main-contents .main-contents--block {
  max-width: 1040px;
  padding: 0 20px;
  margin: 0 auto;
}
#company.outline .main-contents .main-contents--block#info dl {
  display: grid;
  grid-template-columns: 25% 70%;
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#info dl {
    grid-template-columns: 1fr;
  }
}
#company.outline .main-contents .main-contents--block#info dl dt, #company.outline .main-contents .main-contents--block#info dl dd {
  padding: 30px 10px;
  margin: 0;
  border-top: 1px solid #e6e6e6;
}
#company.outline .main-contents .main-contents--block#info dl dt:last-of-type, #company.outline .main-contents .main-contents--block#info dl dd:last-of-type {
  border-bottom: 1px solid #e6e6e6;
}
#company.outline .main-contents .main-contents--block#info dl dt {
  font-weight: 600;
  color: #0084e0;
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#info dl dt {
    padding-bottom: 10px;
  }
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#info dl dt:last-of-type {
    border-bottom: none;
  }
}
#company.outline .main-contents .main-contents--block#info dl dd {
  padding-right: 0;
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#info dl dd {
    padding-top: 0;
    border-top: none;
    border-bottom: 1px solid #e6e6e6;
  }
}
#company.outline .main-contents .main-contents--block#info dl ul {
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#info dl b {
    font-weight: 500;
  }
}
#company.outline .main-contents .main-contents--block#info dl .officer-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
#company.outline .main-contents .main-contents--block#info dl .officer-list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 220px;
}
#company.outline .main-contents .main-contents--block#info dl .qualification-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(6, 1fr);
  row-gap: 5px;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#info dl .qualification-list {
    grid-auto-flow: row;
    grid-template-columns: 1fr;
  }
}
#company.outline .main-contents .main-contents--block#info dl .qualification-list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 280px;
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#info dl .qualification-list li {
    max-width: 500px;
  }
}
@media (max-width: 428px) {
  #company.outline .main-contents .main-contents--block#info dl .qualification-list li {
    max-width: 320px;
  }
}
#company.outline .main-contents .main-contents--block#info dl .txt-link {
  text-decoration: underline;
}
#company.outline .main-contents .main-contents--block#info dl .link-btn {
  margin-top: 5px;
}
#company.outline .main-contents .main-contents--block#history {
  max-width: 1060px;
  padding: 0 30px;
}
#company.outline .main-contents .main-contents--block#history dl {
  display: grid;
  grid-template-columns: 23% 77%;
  margin: 0;
}
@media (max-width: 992px) {
  #company.outline .main-contents .main-contents--block#history dl {
    grid-template-columns: 30% 70%;
  }
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#history dl {
    grid-template-columns: 1fr;
    padding-left: 5px;
  }
}
#company.outline .main-contents .main-contents--block#history dl dt, #company.outline .main-contents .main-contents--block#history dl dd {
  padding-bottom: 60px;
  margin: 0;
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#history dl dt, #company.outline .main-contents .main-contents--block#history dl dd {
    padding-bottom: 45px;
  }
}
#company.outline .main-contents .main-contents--block#history dl dt:last-of-type, #company.outline .main-contents .main-contents--block#history dl dd:last-of-type {
  padding-bottom: 0;
}
#company.outline .main-contents .main-contents--block#history dl dt {
  position: relative;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#history dl dt {
    padding-bottom: 10px;
    padding-left: 20px;
  }
}
#company.outline .main-contents .main-contents--block#history dl dt::before {
  content: "";
  position: absolute;
  right: 0;
  width: 100%;
  height: 100%;
  border-right: 2px solid #0084e0;
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#history dl dt::before {
    border-right: none;
    border-left: 2px solid #0084e0;
  }
}
#company.outline .main-contents .main-contents--block#history dl dt:first-of-type::before {
  bottom: 0;
  height: 75%;
}
#company.outline .main-contents .main-contents--block#history dl dt:last-of-type::before {
  top: 0;
  height: 60%;
}
#company.outline .main-contents .main-contents--block#history dl dt::after {
  content: "●";
  position: absolute;
  top: 0%;
  right: -9px;
  font-size: 18px;
  line-height: 30px;
  color: #0084e0;
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#history dl dt::after {
    left: -8px;
  }
}
#company.outline .main-contents .main-contents--block#history dl dt span {
  display: inline-block;
  margin: 0 5px;
  font-size: 3rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#history dl dt span {
    font-size: 2.4rem;
  }
}
#company.outline .main-contents .main-contents--block#history dl dd {
  position: relative;
  margin-left: 50px;
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#history dl dd {
    padding-left: 25px;
    margin-left: 0px;
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#history dl dd::before {
    content: "";
    position: absolute;
    right: 0;
    width: 100%;
    height: 100%;
    border-left: 2px solid #0084e0;
  }
}
@media (max-width: 767px) {
  #company.outline .main-contents .main-contents--block#history dl dd:last-of-type::before {
    display: none;
  }
}
@media (max-width: 428px) {
  #company.outline .main-contents .main-contents--block#history dl dd span {
    font-size: 1.4rem;
  }
}
#company.outline .main-contents .main-contents--block#access {
  max-width: 1170px;
}
@media (max-width: 1200px) {
  #company.outline .main-contents .main-contents--block#access {
    max-width: 900px;
  }
}
@media (max-width: 428px) {
  #company.outline .main-contents .main-contents--block#access {
    max-width: 428px;
  }
}
#company.outline .main-contents .main-contents--block#access p {
  font-size: 1.4rem;
}
@media (max-width: 428px) {
  #company.outline .main-contents .main-contents--block#access p {
    font-size: 1.6rem;
  }
}
#company.outline .main-contents .main-contents--block#access .access-column {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: 50px;
     -moz-column-gap: 50px;
          column-gap: 50px;
  width: 100%;
}
@media (max-width: 1200px) {
  #company.outline .main-contents .main-contents--block#access .access-column {
    grid-template-columns: 1fr;
    row-gap: 70px;
  }
}
#company.outline .main-contents .main-contents--block#access .access-column .access-column--block {
  width: 100%;
}
#company.outline .main-contents .main-contents--block#access .access-column iframe {
  width: 100%;
  height: 380px;
}
@media (max-width: 428px) {
  #company.outline .main-contents .main-contents--block#access .access-column iframe {
    width: calc(100% + 40px);
    height: 300px;
    margin-left: -20px;
  }
}
#company.outline .main-contents .main-contents--block#access .access-column .access-column--title {
  margin: 0;
  padding-bottom: 20px;
  border-bottom: 1px solid #c1dfe7;
  text-align: center;
  font-size: 26px;
  line-height: 1;
}
@media (max-width: 428px) {
  #company.outline .main-contents .main-contents--block#access .access-column .access-column--title {
    text-align: left;
  }
}
#company.outline .main-contents .main-contents--block#access .access-column .access-column--link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
#company.outline #guide-modal {
  scrollbar-width: none;
  position: fixed;
  z-index: 1;
  width: 100%;
  height: 90%;
  max-width: 840px;
  padding: 0 20px;
  margin: auto;
  border: none;
  background-color: transparent;
}
@media (max-width: 428px) {
  #company.outline #guide-modal {
    padding: 0;
  }
}
#company.outline #guide-modal::-webkit-backdrop {
  background-color: rgba(0, 0, 0, 0.85);
}
#company.outline #guide-modal::-ms-backdrop {
  background-color: rgba(0, 0, 0, 0.85);
}
#company.outline #guide-modal::backdrop {
  background-color: rgba(0, 0, 0, 0.85);
}
#company.outline #guide-modal img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
#company.outline #guide-modal .modal-wrapper {
  padding: 50px 0 100px;
  margin: 10px 0;
  background-color: #fff;
}
#company.outline #guide-modal .modal-close-btn {
  cursor: pointer;
  position: relative;
  display: block;
  width: 35px;
  height: 35px;
  padding: 0;
  margin: 0 0 0 auto;
  border: transparent;
  background: none;
}
@media (max-width: 767px) {
  #company.outline #guide-modal .modal-close-btn {
    width: 0;
    margin: 0 20px 0 auto;
  }
}
#company.outline #guide-modal .modal-close-btn::before, #company.outline #guide-modal .modal-close-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  display: block;
  width: 2px;
  height: 35px;
  background: #fff;
}
#company.outline #guide-modal .modal-close-btn::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
#company.outline #guide-modal .modal-close-btn::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
#company.outline #guide-modal .modal-close-btn:hover {
  opacity: 0.8;
}
#company.outline #guide-modal .modal-head {
  width: 100%;
  max-width: 500px;
  padding: 0 20px;
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 767px) {
  #company.outline #guide-modal .modal-head {
    text-align: left;
  }
}
#company.outline #guide-modal .modal-head h2 {
  margin-bottom: 40px;
}
#company.outline #guide-modal .modal-head h2 img {
  display: block;
  padding-right: 40px;
}
@media (max-width: 767px) {
  #company.outline #guide-modal .modal-head h2 img {
    padding-right: 0;
  }
}
#company.outline #guide-modal .modal-head p {
  font-weight: 600;
}
#company.outline #guide-modal .modal-contents {
  width: 100%;
  max-width: 580px;
  padding: 0 20px;
  margin: 50px auto 0;
}
#company.outline #guide-modal .modal-contents p {
  text-align: center;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  #company.outline #guide-modal .modal-contents p {
    text-align: left;
    font-size: 1.6rem;
  }
}
#company.outline #guide-modal .modal-contents img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 10px;
}
#company.outline #guide-modal .modal-contents ul {
  list-style: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
  padding: 0;
  margin-bottom: 50px;
}
#company.outline #guide-modal .modal-contents ul li::before {
  content: "";
  display: block;
  width: 44px;
  height: 44px;
  margin: 0 auto;
  background-repeat: none;
  background-size: contain;
}
@media (max-width: 767px) {
  #company.outline #guide-modal .modal-contents ul li::before {
    margin-left: 0;
  }
}
#company.outline #guide-modal .modal-contents ul li:nth-child(1)::before {
  background-image: url(../img/company/outline/outline--kousei-01.png);
}
#company.outline #guide-modal .modal-contents ul li:nth-child(2)::before {
  background-image: url(../img/company/outline/outline--kousei-02.png);
}
#company.outline #guide-modal .modal-contents ul li:nth-child(3)::before {
  background-image: url(../img/company/outline/outline--kousei-03.png);
}
#company.outline #guide-modal .modal-contents ul li:nth-child(4)::before {
  background-image: url(../img/company/outline/outline--kousei-04.png);
}
#company.outline #guide-modal .modal-contents ul li:nth-child(5)::before {
  background-image: url(../img/company/outline/outline--kousei-05.png);
}
#company.outline #guide-modal .modal-contents ul li:nth-child(6)::before {
  background-image: url(../img/company/outline/outline--kousei-06.png);
}
#company.outline #guide-modal .modal-contents ul li:nth-child(7)::before {
  background-image: url(../img/company/outline/outline--kousei-07.png);
}
#company.outline #guide-modal .modal-contents ul li:nth-child(8)::before {
  background-image: url(../img/company/outline/outline--kousei-08.png);
}
#company.outline #guide-modal .modal-contents ul li:nth-child(9)::before {
  background-image: url(../img/company/outline/outline--kousei-09.png);
}
#company.outline #guide-modal .modal-contents ul li:nth-child(10)::before {
  background-image: url(../img/company/outline/outline--kousei-10.png);
}
#company.outline #guide-modal .modal-contents ul li:nth-child(11)::before {
  background-image: url(../img/company/outline/outline--kousei-11.png);
}
#company.outline #guide-modal .modal-contents ul li:nth-child(12)::before {
  background-image: url(../img/company/outline/outline--kousei-12.png);
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
#business .main-title-business {
  padding: 137px 0 0;
  margin: 0 0 60px;
  overflow: hidden;
  width: 100%;
  position: relative;
}
#business .main-title-business:before {
  content: "";
  background: #0084e0;
  width: 100%;
  height: 620px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#business .main-title-business:after {
  content: "";
  position: absolute;
  top: 510px;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 84px;
  background: url(../img/main-title--txt.png) repeat-x top left;
  -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(225deg) brightness(107%) contrast(101%);
          filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(225deg) brightness(107%) contrast(101%);
  -webkit-animation: infinitescroll 50s linear infinite;
          animation: infinitescroll 50s linear infinite;
}
@keyframes infinitescroll {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -2972px 0;
  }
}
#business .main-title-business .main-title-business--wrapper {
  max-width: 1100px;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
#business .main-title-business .main-title-business--title {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  text-align: center;
}
#business .main-title-business .main-title-business--title .title {
  color: #001419;
  font-size: 3.8rem;
  letter-spacing: 0.05em;
  margin-bottom: 19px;
}
#business .main-title-business .main-title-business--img {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  margin: 0 0 100px;
  text-align: center;
}
#business .main-title-business .main-title-business--img img {
  border-radius: 15px;
  max-width: 100%;
  height: auto;
}
@media (max-width: 1100px) {
  #business .main-title-business:before {
    height: 56.3636363636vw;
  }
  #business .main-title-business:after {
    display: none;
  }
  #business .main-title-business .main-title-business--img img {
    border-radius: 0;
  }
}
@media (max-width: 767px) {
  #business .main-title-business {
    padding: 116px 0 0;
    margin: 0;
  }
  #business .main-title-business:before {
    background: #0084e0 url(../img/main-title--bg.png) top center no-repeat;
    background-size: 150% auto;
  }
  #business .main-title-business:after {
    display: none;
  }
  #business .main-title-business .main-title-business--title {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    margin: 0 0 31px;
  }
  #business .main-title-business .main-title-business--title .title {
    color: #fff;
    font-size: 3.2rem;
    margin-bottom: 17px;
  }
  #business .main-title-business .main-title-business--img {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    margin: 0;
  }
  #business .main-title-business .main-title-business--img img {
    width: 100%;
    height: 350px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
#business .main-contents {
  position: relative;
}
@media (max-width: 767px) {
  #business .main-contents {
    padding: 75px 0 0;
  }
}
#business .main-contents::before {
  content: "";
  position: absolute;
  top: -230px;
  z-index: -1;
  width: 100%;
  height: 1000px;
  background: -webkit-gradient(linear, left bottom, left top, from(#fff), to(transparent)) no-repeat center bottom, url(../img/bg.png) no-repeat top 40px right;
  background: -webkit-linear-gradient(bottom, #fff, transparent) no-repeat center bottom, url(../img/bg.png) no-repeat top 40px right;
  background: linear-gradient(0deg, #fff, transparent) no-repeat center bottom, url(../img/bg.png) no-repeat top 40px right;
  background-size: 100% 150px, 100% auto;
}
@media (max-width: 767px) {
  #business .main-contents::before {
    top: 0;
    background-size: 100% 150px, 150% auto;
  }
}
@media (max-width: 767px) {
  #business .main-contents::before {
    background-size: 215%;
    background-position-x: 80%;
    background-position-y: 30px;
  }
}
#business .main-contents p {
  line-height: 2.4;
}
@media (max-width: 767px) {
  #business .main-contents p {
    line-height: 2.1;
  }
}
#business .main-contents .contents-head {
  width: 100%;
  max-width: 880px;
  padding: 0 30px;
  margin: 0 auto 85px;
}
@media (max-width: 767px) {
  #business .main-contents .contents-head {
    margin-bottom: 50px;
  }
}
#business .main-contents .contents-head h2 {
  margin-bottom: 60px;
  text-align: center;
  font-size: 2.6rem;
  font-weight: 500;
}
@media (max-width: 428px) {
  #business .main-contents .contents-head h2 {
    margin: 0 0 30px;
    text-align: left;
    font-size: 2.2rem;
  }
}
#business .main-contents .contents-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 60px;
  width: 100%;
  max-width: 1366px;
  margin: 0 auto 110px;
}
@media (max-width: 992px) {
  #business .main-contents .contents-block {
    gap: 40px;
  }
}
@media (max-width: 767px) {
  #business .main-contents .contents-block {
    gap: 20px;
    margin-bottom: 70px;
  }
}
#business .main-contents .contents-block .contents-block--txt, #business .main-contents .contents-block .contents-block--img {
  width: 50%;
}
@media (max-width: 767px) {
  #business .main-contents .contents-block .contents-block--txt, #business .main-contents .contents-block .contents-block--img {
    width: 100%;
  }
}
#business .main-contents .contents-block .contents-block--txt {
  max-width: 540px;
  padding-top: 20px;
}
@media (max-width: 767px) {
  #business .main-contents .contents-block .contents-block--txt {
    max-width: 100%;
    padding: 0 30px;
  }
}
#business .main-contents .contents-block .contents-block--txt hgroup p {
  display: block;
  max-width: 140px;
  padding: 12px 0;
  margin-top: 0;
  border-radius: 20px;
  background-color: #ffdf19;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
@media (max-width: 767px) {
  #business .main-contents .contents-block .contents-block--txt hgroup p {
    margin: 0 0 10px;
  }
}
#business .main-contents .contents-block .contents-block--txt hgroup h3 {
  margin: 20px 0;
  font-size: 2.6rem;
  color: #0084e0;
}
@media (max-width: 767px) {
  #business .main-contents .contents-block .contents-block--txt hgroup h3 {
    margin: 0 0 10px;
    font-size: 2.2rem;
  }
}
@media (max-width: 767px) {
  #business .main-contents .contents-block .contents-block--img {
    padding: 0 30px;
  }
}
#business .main-contents .contents-block .contents-block--img img {
  width: 100%;
  height: auto;
  border-radius: 20px;
}
@media (max-width: 767px) {
  #business .main-contents .contents-block:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#business .main-contents .contents-block:nth-child(even) .contents-block--txt {
  padding-left: 30px;
  margin-left: auto;
}
@media (max-width: 767px) {
  #business .main-contents .contents-block:nth-child(even) .contents-block--txt {
    padding-left: 30px;
  }
}
#business .main-contents .contents-block:nth-child(even) .contents-block--img img {
  border-radius: 20px 0 0 20px;
}
@media (min-width: 1367px) {
  #business .main-contents .contents-block:nth-child(even) .contents-block--img img {
    border-radius: 20px;
  }
}
@media (max-width: 767px) {
  #business .main-contents .contents-block:nth-child(even) .contents-block--img img {
    border-radius: 20px;
  }
}
#business .main-contents .contents-block:nth-child(odd) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 767px) {
  #business .main-contents .contents-block:nth-child(odd) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#business .main-contents .contents-block:nth-child(odd) .contents-block--txt {
  padding-right: 30px;
  margin-right: auto;
}
@media (max-width: 767px) {
  #business .main-contents .contents-block:nth-child(odd) .contents-block--txt {
    padding-right: 30px;
  }
}
#business .main-contents .contents-block:nth-child(odd) .contents-block--img img {
  border-radius: 0 20px 20px 0;
}
@media (min-width: 1367px) {
  #business .main-contents .contents-block:nth-child(odd) .contents-block--img img {
    border-radius: 20px;
  }
}
@media (max-width: 767px) {
  #business .main-contents .contents-block:nth-child(odd) .contents-block--img img {
    border-radius: 20px;
  }
}
#business .main-contents .works-list {
  padding: 110px 0;
  margin-top: 150px;
  margin-bottom: 140px;
  background-color: #759cbb;
}
@media (max-width: 767px) {
  #business .main-contents .works-list {
    padding: 55px 0 80px;
    margin-top: 55px;
    margin-bottom: 80px;
  }
}
#business .main-contents .works-list .swiper {
  padding: 0 20px;
  margin-bottom: 70px;
}
@media (max-width: 767px) {
  #business .main-contents .works-list .swiper {
    margin-bottom: 40px;
  }
}
@media (max-width: 767px) {
  #business .main-contents .works-list .swiper .swiper-wrapper {
    margin-left: 0;
  }
}
#business .main-contents .works-list .swiper .swiper-slide {
  width: 330px;
}
#business .main-contents .works-list .swiper .swiper-slide a {
  color: #fff;
}
#business .main-contents .works-list .swiper .swiper-slide figure {
  margin: 0 0 15px;
  padding: 0;
}
#business .main-contents .works-list .swiper .swiper-slide figure img {
  width: 100%;
  height: auto;
  border-radius: 20px;
}
#business .main-contents .works-list .swiper .swiper-slide .label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
#business .main-contents .works-list .swiper .swiper-slide .label .works-category {
  display: inline-block;
  padding: 0 15px;
  border-radius: 20px;
  background-color: #fff;
  font-size: 1.3rem;
  line-height: 1.6;
  color: #759cbb;
}
#business .main-contents .works-list .swiper .swiper-slide .label .works-title {
  display: inline-block;
  margin-left: 5px;
  font-size: 1.5rem;
}
#business .main-contents .works-list .works-head {
  position: relative;
}
#business .main-contents .works-list .works-head h2 {
  margin: 0 auto 40px;
  text-align: center;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 60px;
  color: #fff;
}
@media (max-width: 767px) {
  #business .main-contents .works-list .works-head h2 {
    margin-bottom: 10px;
    font-size: 2.2rem;
  }
}
#business .main-contents .works-list .works-head .swiper-button-prev, #business .main-contents .works-list .works-head .swiper-button-next {
  top: 25px;
  right: 0;
  left: auto;
  width: 59px;
  height: 59px;
}
@media (max-width: 767px) {
  #business .main-contents .works-list .works-head .swiper-button-prev, #business .main-contents .works-list .works-head .swiper-button-next {
    display: none;
  }
}
#business .main-contents .works-list .works-head .swiper-button-prev:hover, #business .main-contents .works-list .works-head .swiper-button-next:hover {
  opacity: 0.5;
}
#business .main-contents .works-list .works-head .swiper-button-prev svg, #business .main-contents .works-list .works-head .swiper-button-next svg {
  display: none;
}
#business .main-contents .works-list .works-head .swiper-button-prev {
  right: 70px;
  background-image: url(../img/business/button_prev.svg);
}
#business .main-contents .works-list .works-head .swiper-button-next {
  background-image: url(../img/business/button_next.svg);
}
#business .main-contents .works-list .works-link {
  display: block;
  width: 100%;
  max-width: 210px;
  padding: 15px 0;
  margin: 0 auto;
  border-radius: 25px;
  background-color: #fff;
  text-align: center;
  line-height: 1;
  color: #759cbb;
}
#business .contents-link {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  #business .contents-link {
    margin-bottom: 10px;
  }
}

#business.index .main-contents {
  margin-top: 130px;
}
@media (max-width: 767px) {
  #business.index .main-contents {
    margin-top: 0;
  }
}
#business.index .main-contents::before {
  content: none;
}
#business.index .main-contents .block-title {
  margin-bottom: 70px;
}
@media (max-width: 767px) {
  #business.index .main-contents .block-title {
    margin-bottom: 40px;
    padding: 0 30px;
  }
}
#business.index .main-contents #intro {
  width: 100%;
  max-width: 1187px;
  padding: 0 30px;
  margin: 0 auto;
}
#business.index .main-contents #intro h3 {
  margin-bottom: 70px;
  text-align: center;
  font-size: 2.6rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  #business.index .main-contents #intro h3 {
    margin-bottom: 40px;
  }
}
@media (max-width: 428px) {
  #business.index .main-contents #intro h3 {
    margin: 0 0 30px;
    text-align: left;
    font-size: 2.2rem;
  }
}
#business.index .main-contents #intro .intro-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 70px;
}
@media (max-width: 992px) {
  #business.index .main-contents #intro .intro-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
  }
}
#business.index .main-contents #intro .intro-column p {
  width: 55%;
  padding-right: 25px;
  line-height: 2.6;
}
@media (max-width: 1200px) {
  #business.index .main-contents #intro .intro-column p {
    width: 50%;
  }
}
@media (max-width: 992px) {
  #business.index .main-contents #intro .intro-column p {
    width: 90%;
    padding: 0;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  #business.index .main-contents #intro .intro-column p {
    width: 100%;
    line-height: 2.4;
  }
}
#business.index .main-contents #intro .intro-column .business-fig {
  position: relative;
  width: 355px;
  height: 355px;
  margin: 60px auto 0;
  background-image: url(../img/business/index/business--fig.webp);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  #business.index .main-contents #intro .intro-column .business-fig {
    width: 270px;
    height: 270px;
  }
}
#business.index .main-contents #intro .intro-column .business-fig .business-fig--circle {
  position: absolute;
  width: 175px;
  height: 175px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  border-radius: 50%;
  background-color: #007ae7;
  text-align: center;
}
@media (max-width: 767px) {
  #business.index .main-contents #intro .intro-column .business-fig .business-fig--circle {
    width: 140px;
    height: 140px;
  }
}
#business.index .main-contents #intro .intro-column .business-fig .business-fig--circle:nth-child(1) {
  top: -80px;
  right: 90px;
}
@media (max-width: 767px) {
  #business.index .main-contents #intro .intro-column .business-fig .business-fig--circle:nth-child(1) {
    top: -80px;
    right: 65px;
  }
}
#business.index .main-contents #intro .intro-column .business-fig .business-fig--circle:nth-child(2) {
  top: 168px;
  left: -67px;
}
@media (max-width: 767px) {
  #business.index .main-contents #intro .intro-column .business-fig .business-fig--circle:nth-child(2) {
    top: 128px;
    left: -63px;
  }
}
#business.index .main-contents #intro .intro-column .business-fig .business-fig--circle:nth-child(3) {
  top: 168px;
  right: -67px;
}
@media (max-width: 767px) {
  #business.index .main-contents #intro .intro-column .business-fig .business-fig--circle:nth-child(3) {
    top: 128px;
    right: -63px;
  }
}
#business.index .main-contents #intro .intro-column .business-fig .business-fig--circle span {
  font-size: 2.6rem;
  font-weight: 600;
  color: #fff;
}
@media (max-width: 767px) {
  #business.index .main-contents #intro .intro-column .business-fig .business-fig--circle span {
    font-size: 1.8rem;
  }
}
#business.index .main-contents #intro .intro-column .business-fig .business-fig--circle a {
  max-width: 75px;
}
@media (max-width: 767px) {
  #business.index .main-contents #intro .intro-column .business-fig .business-fig--circle a {
    max-width: 70px;
  }
}
#business.index .main-contents #intro .intro-column .business-fig .business-fig--circle a img {
  width: 100%;
  height: auto;
}
#business.index .main-contents #map {
  margin-bottom: 65px;
}
@media (max-width: 767px) {
  #business.index .main-contents #map {
    margin-bottom: 60px;
  }
}
#business.index .main-contents #map h3 {
  margin: 55px 0 20px;
  text-align: center;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.4;
  color: #007ae7;
}
@media (max-width: 767px) {
  #business.index .main-contents #map h3 {
    margin-bottom: 30px;
    font-size: 2.2rem;
  }
}
#business.index .main-contents #map .map-wrapper {
  height: 720px;
  padding-bottom: 20px;
  overflow-x: hidden;
}
@media (max-width: 1200px) {
  #business.index .main-contents #map .map-wrapper {
    height: auto;
  }
}
@media (max-width: 767px) {
  #business.index .main-contents #map .map-wrapper {
    height: 600px;
    overflow-x: scroll;
    scrollbar-color: #bababa #fff;
  }
}
#business.index .main-contents #map .map-wrapper img {
  max-width: 2139px;
  margin-left: calc(50% - 1069.5px);
  display: block;
}
@media (max-width: 1200px) {
  #business.index .main-contents #map .map-wrapper img {
    margin: 0;
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  #business.index .main-contents #map .map-wrapper img {
    max-width: 990px;
  }
}
#business.index .main-contents .business-link {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 25px;
     -moz-column-gap: 25px;
          column-gap: 25px;
  width: 100%;
  max-width: 1167px;
  padding: 0 20px;
  margin: 0 auto 100px;
}
@media (max-width: 767px) {
  #business.index .main-contents .business-link {
    grid-template-columns: 1fr;
    max-width: 500px;
    row-gap: 30px;
    padding: 0 40px;
    margin-bottom: 0;
  }
}
#business.index .main-contents .business-link .business-link--block {
  border: 1px solid #e6e6e6;
  border-radius: 20px;
}
@media (max-width: 767px) {
  #business.index .main-contents .business-link .business-link--block {
    border-radius: 20px;
  }
}
#business.index .main-contents .business-link .business-link--block img {
  max-width: 100%;
  height: auto;
}
#business.index .main-contents .business-link .business-link--block a {
  color: #000;
}
#business.index .main-contents .business-link .business-link--block .business-link--thumb img {
  border-radius: 20px 20px 0 0;
}
#business.index .main-contents .business-link .business-link--block .business-link--txt {
  padding: 25px;
}
@media (max-width: 767px) {
  #business.index .main-contents .business-link .business-link--block .business-link--txt {
    padding: 25px 15px;
  }
}
#business.index .main-contents .business-link .business-link--block .business-link--txt h3 {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 600;
  color: #007ae7;
}
#business.index .main-contents .business-link .business-link--block .business-link--txt p {
  margin-bottom: 25px;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media (max-width: 767px) {
  #business.index .main-contents .business-link .business-link--block .business-link--txt p {
    font-size: 1.6rem;
  }
}
#business.index .main-contents .business-link .business-link--block .business-link--txt span {
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 140px;
  padding: 9px 25px;
  margin-bottom: 10px;
  border: none;
  border-radius: 15px;
  background-color: #ffe012;
  text-align: center;
  text-decoration: none;
  font-size: 1.4rem;
  line-height: 1;
  color: #000;
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
#works.index .main-contents, #works.category .main-contents {
  width: 100%;
  max-width: 1127px;
  padding: 0 30px;
  margin: 102px auto 60px auto;
}
#works.index .main-contents .work-btn, #works.category .main-contents .work-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
#works.index .main-contents .work-btn .work-btn-item, #works.category .main-contents .work-btn .work-btn-item {
  color: #ffffff;
  background: #bababa;
  font-size: 1.7rem;
  text-align: center;
  border-radius: 100vmax;
  width: 210px;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#works.index .main-contents .work-btn .all-btn, #works.category .main-contents .work-btn .all-btn {
  background: #0084e0;
  margin-right: 50px;
}
#works.index .main-contents .work-list, #works.category .main-contents .work-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px 35px;
  margin-top: 80px;
}
#works.index .main-contents .work-list .work-item a, #works.category .main-contents .work-list .work-item a {
  display: block;
  color: inherit;
  text-decoration: none;
}
#works.index .main-contents .work-list .work-item a img, #works.category .main-contents .work-list .work-item a img {
  display: block;
  width: 100%;
  max-width: 330px;
  aspect-ratio: 11/8;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
#works.index .main-contents .work-list .work-item .work-txt, #works.category .main-contents .work-list .work-item .work-txt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-left: 5px;
}
#works.index .main-contents .work-list .work-item .work-txt p, #works.category .main-contents .work-list .work-item .work-txt p {
  margin-top: 15px;
  font-size: 1.5rem;
  line-height: 1.6;
}
#works.index .main-contents .work-list .work-item .work-txt p:first-child, #works.category .main-contents .work-list .work-item .work-txt p:first-child {
  background: #060000;
  color: #ffffff;
  font-size: 1.3rem;
  text-align: center;
  border-radius: 100vmax;
  padding: 0 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #works.index .main-contents, #works.category .main-contents {
    padding: 0 30px;
    margin: 75px auto 0px auto;
  }
  #works.index .main-contents .work-btn, #works.category .main-contents .work-btn {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px 10px;
    padding: 0 10px;
  }
  #works.index .main-contents .work-btn .work-btn-item, #works.category .main-contents .work-btn .work-btn-item {
    width: 100%;
    margin-right: 0;
    border-radius: 30px;
  }
  #works.index .main-contents .work-btn .work-btn-item:first-child, #works.category .main-contents .work-btn .work-btn-item:first-child {
    grid-column: 1/-1;
    justify-self: start;
    width: calc((100% - 20px) / 3);
  }
  #works.index .main-contents .work-list, #works.category .main-contents .work-list {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 70px;
    gap: 25px;
  }
  #works.index .main-contents .work-list .work-item, #works.category .main-contents .work-list .work-item {
    margin: 0 auto;
  }
}

#works.category .main-contents .work-btn .all-btn {
  background: #bababa;
}
#works.category .main-contents .work-btn .category-btn {
  background: #0084e0;
}

#works.article .main-contents {
  padding: 102px 0 0;
}
#works.article #works-img {
  margin: 0 0 95px;
}
#works.article #works-img .works-img--title {
  text-align: center;
  max-width: 1000px;
  margin: 0 auto 37px;
  width: calc(100% - 80px);
}
#works.article #works-img .works-img--title .cate {
  color: #FFF;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.3em;
  background: #000;
  border-radius: 100vmax;
  display: inline-block;
  margin: 0 0 15px;
  min-width: 180px;
  min-height: 30px;
  padding: 2px 15px 2px calc(15px + 0.3em);
}
#works.article #works-img .works-img--title .title {
  color: #001419;
  font-size: 3.2rem;
  letter-spacing: 0.05em;
  margin: 0;
  padding: 0;
}
#works.article #works-img .works-img--title .subtitle {
  margin-top: 0;
  font-size: 2rem;
}
#works.article #works-img .works-img--wrapper {
  max-width: 1000px;
  margin: 0 auto;
  width: calc(100% - 80px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
}
#works.article #works-img .works-img--wrapper p.caption {
  margin: 20px 0 0;
  font-size: 2rem;
  text-align: center;
}
#works.article #works-img .works-img--wrapper div.text {
  width: 600px;
  max-width: 100%;
  margin: 30px auto 0;
  text-align: left;
  line-height: 1.6;
}
#works.article #works-img .works-img--wrapper div.text p {
  margin: 0;
  padding: 0 0 10px 0;
}
#works.article #works-img #works-img--slide {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  max-width: 890px;
}
#works.article #works-img #works-img--slide img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}
#works.article #works-img #works-img--slide .swiper-slide {
  background: #FFF;
}
#works.article #works-img #works-img--thumb {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  width: 100px;
  height: auto;
  max-width: 100px;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100px;
      -ms-flex: 0 0 100px;
          flex: 0 0 100px;
  overflow: hidden;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
#works.article #works-img #works-img--thumb .swiper-slide {
  width: 100px;
  height: 110px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  cursor: pointer;
  opacity: 0.5;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
#works.article #works-img #works-img--thumb .swiper-slide img {
  display: block;
  width: 100%;
  max-width: 100px;
  height: 110px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#works.article #works-img #works-img--thumb .swiper-slide-thumb-active {
  opacity: 1;
}
#works.article #works-img #works-img--thumb .swiper-slide-thumb-active img {
  -webkit-box-shadow: 0 2px 10px rgba(0, 20, 25, 0.4);
          box-shadow: 0 2px 10px rgba(0, 20, 25, 0.4);
}
#works.article #works-img #works-img--thumb .swiper-button-prev,
#works.article #works-img #works-img--thumb .swiper-button-next {
  aspect-ratio: 100/26;
  background: #bababa;
  background-size: 17px 9px;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0;
  position: absolute;
  left: 0;
  width: 100%;
  height: auto;
}
#works.article #works-img #works-img--thumb .swiper-button-prev svg,
#works.article #works-img #works-img--thumb .swiper-button-next svg {
  display: none;
}
#works.article #works-img #works-img--thumb .swiper-button-prev.swiper-button-disabled,
#works.article #works-img #works-img--thumb .swiper-button-next.swiper-button-disabled {
  display: none;
}
#works.article #works-img #works-img--thumb .swiper-button-prev {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='17px' height='9px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M8.500,-0.000 L17.000,9.000 L-0.000,9.000 L8.500,-0.000 Z'/%3E%3C/svg%3E");
  position: absolute;
  top: 0;
}
#works.article #works-img #works-img--thumb .swiper-button-next {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='17px' height='9px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M8.500,9.000 L-0.000,-0.000 L16.1000,-0.000 L8.500,9.000 Z'/%3E%3C/svg%3E");
  position: absolute;
  bottom: 0;
}
#works.article #works-img #works-img--thumb:not(.swiper-button-prev.swiper-button-disabled)::before {
  content: "";
  position: absolute;
  inset: 24px 0 auto 0;
  height: 100px;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));
  background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 0), rgb(255, 255, 255));
  background: linear-gradient(to top, rgba(255, 255, 255, 0), rgb(255, 255, 255));
  pointer-events: none;
  z-index: 2;
}
#works.article #works-img #works-img--thumb:not(.swiper-button-prev.swiper-button-disabled):has(.swiper-button-prev.swiper-button-disabled)::before {
  display: none;
}
#works.article #works-img #works-img--thumb:not(.swiper-button-next.swiper-button-disabled)::after {
  content: "";
  position: absolute;
  inset: auto 0 24px 0;
  left: 0;
  right: 0;
  height: 100px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), rgb(255, 255, 255));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgb(255, 255, 255));
  pointer-events: none;
  z-index: 2;
}
#works.article #works-img #works-img--thumb:not(.swiper-button-next.swiper-button-disabled):has(.swiper-button-next.swiper-button-disabled)::after {
  display: none;
}
@media (min-width: 1065px) {
  #works.article #works-img #works-img--thumb:has(.swiper-slide:nth-child(-n+5):last-child)::after {
    display: none;
  }
  #works.article #works-img #works-img--thumb:has(.swiper-slide:nth-child(-n+5):last-child) .swiper-button-next {
    display: none;
  }
}
@media (min-width: 888px) and (max-width: 1064px) {
  #works.article #works-img #works-img--thumb:has(.swiper-slide:nth-child(-n+4):last-child)::after {
    display: none;
  }
  #works.article #works-img #works-img--thumb:has(.swiper-slide:nth-child(-n+4):last-child) .swiper-button-next {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 887px) {
  #works.article #works-img #works-img--thumb:has(.swiper-slide:nth-child(-n+3):last-child)::after {
    display: none;
  }
  #works.article #works-img #works-img--thumb:has(.swiper-slide:nth-child(-n+3):last-child) .swiper-button-next {
    display: none;
  }
}
@media (max-width: 767px) {
  #works.article #works-img {
    margin: 0 0 60px;
  }
  #works.article #works-img .works-img--title {
    margin: 0 auto 30px;
  }
  #works.article #works-img .works-img--wrapper {
    width: calc(100% - 40px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
  #works.article #works-img #works-img--slide {
    width: 100%;
    max-width: none;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  #works.article #works-img #works-img--slide img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
  }
  #works.article #works-img #works-img--thumb {
    width: 100%;
    max-width: none;
    -webkit-box-flex: 0;
    -webkit-flex: none;
        -ms-flex: none;
            flex: none;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  #works.article #works-img #works-img--thumb .swiper-wrapper .swiper-slide {
    width: auto;
    height: auto;
  }
  #works.article #works-img #works-img--thumb .swiper-wrapper .swiper-slide img {
    display: block;
    width: 80px;
    height: 86px;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 5px;
  }
  #works.article #works-img #works-img--thumb .swiper-button-prev,
  #works.article #works-img #works-img--thumb .swiper-button-next {
    aspect-ratio: 26/86;
    background-size: 9px 17px;
    inset: 0 auto auto auto;
    max-width: 26px;
  }
  #works.article #works-img #works-img--thumb .swiper-button-prev {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='9px' height='17px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M-0.000,8.500 L9.000,-0.000 L9.000,17.000 L-0.000,8.500 Z'/%3E%3C/svg%3E");
    position: absolute;
    left: 0;
  }
  #works.article #works-img #works-img--thumb .swiper-button-next {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='9px' height='17px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M9.000,8.500 L-0.000,17.000 L-0.000,-0.000 L9.000,8.500 Z'/%3E%3C/svg%3E");
    position: absolute;
    right: 0;
  }
  #works.article #works-img #works-img--thumb:not(.swiper-button-prev.swiper-button-disabled)::before {
    inset: 0 auto 0 0;
    width: 150px;
    height: auto;
    background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));
    background: -webkit-linear-gradient(right, rgba(255, 255, 255, 0), rgb(255, 255, 255));
    background: linear-gradient(to left, rgba(255, 255, 255, 0), rgb(255, 255, 255));
  }
  #works.article #works-img #works-img--thumb:not(.swiper-button-next.swiper-button-disabled)::after {
    inset: 0 0 0 auto;
    width: 150px;
    height: auto;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0), rgb(255, 255, 255));
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgb(255, 255, 255));
  }
}
#works.article #works-other .works-other--title {
  color: #001419;
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.05em;
  text-align: center;
  max-width: 1000px;
  margin: 0 auto 40px;
  width: calc(100% - 80px);
  padding: 0;
}
#works.article #works-other .works-other--wrapper {
  max-width: 1000px;
  width: calc(100% - 60px);
  margin: 0 auto 40px;
}
#works.article #works-other .works-other--wrapper ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 40px;
}
#works.article #works-other .works-other--wrapper ul li {
  max-width: calc((100% - 40px - 40px) / 3);
}
#works.article #works-other .works-other--wrapper ul li a {
  color: #000;
}
#works.article #works-other .works-other--wrapper ul li figure {
  margin: 0;
  padding: 0;
}
#works.article #works-other .works-other--wrapper ul li figure img {
  aspect-ratio: 330/240;
  border-radius: 15px;
  max-width: 100%;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
#works.article #works-other .works-other--wrapper ul li .works-category {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
  padding: 18px 5px 0;
}
#works.article #works-other .works-other--wrapper ul li .works-category p {
  font-size: 1.5rem;
  line-height: 1.6em;
  margin: -0.1em 0 0;
}
#works.article #works-other .works-other--wrapper ul li .works-category p:first-child {
  color: #ffffff;
  font-size: 1.3rem;
  line-height: 1em;
  text-align: center;
  white-space: nowrap;
  background: #060000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 100vmax;
  margin: 0;
  padding: 3px 15px 4px;
}
#works.article #works-other .works-other--link {
  text-align: center;
}
#works.article #works-other .works-other--link a {
  color: #FFF;
  font-size: 1.5rem;
  line-height: 1.5;
  background: #bababa;
  border-radius: 100vmax;
  display: inline-block;
  min-width: 210px;
  min-height: 50px;
  padding: 13px 30px 7px;
}
@media (min-width: 768px) and (max-width: 992px) {
  #works.article #works-other .works-other--wrapper {
    max-width: 690px;
    margin-bottom: 30px;
  }
  #works.article #works-other .works-other--wrapper ul {
    gap: 30px;
  }
  #works.article #works-other .works-other--wrapper ul li {
    max-width: calc((100% - 30px) / 2);
  }
}
@media (max-width: 767px) {
  #works.article #works-other .works-other--wrapper {
    max-width: 330px;
    margin-bottom: 40px;
  }
  #works.article #works-other .works-other--wrapper ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #works.article #works-other .works-other--wrapper ul li {
    max-width: 100%;
  }
  #works.article #works-other .works-other--wrapper ul li .works-category {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@media (max-width: 767px) {
  #recruit .main-title::before {
    height: 230px;
    background-position: center;
  }
}
#recruit .main-title::after {
  content: none;
}
#recruit .main-title .main-title--title {
  width: 100%;
}
@media (max-width: 428px) {
  #recruit .main-title .main-title--title .title {
    letter-spacing: 0px;
  }
}
#recruit .main-contents {
  width: 100%;
  max-width: 860px;
  padding: 0 20px;
  margin: 50px auto;
}
@media (max-width: 767px) {
  #recruit .main-contents {
    margin: 80px auto;
  }
}
#recruit .main-contents p, #recruit .main-contents ul, #recruit .main-contents li {
  padding: 0;
  margin: 0;
}
#recruit .main-contents p {
  font-size: 1.6rem;
  line-height: 2.4;
}
@media (max-width: 767px) {
  #recruit .main-contents p {
    line-height: 2.1;
  }
}
#recruit .main-contents ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  padding-left: 20px;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media (max-width: 767px) {
  #recruit .main-contents ul {
    font-size: 1.5rem;
    line-height: 2.1;
  }
}
#recruit .recruit-form .form-block {
  display: grid;
  grid-template-columns: 270px auto;
  padding: 25px 0;
  border-bottom: 1px solid #c1c1c1;
  background-color: #f0f0f0;
}
@media (max-width: 767px) {
  #recruit .recruit-form .form-block {
    grid-template-columns: 1fr;
  }
}
#recruit .recruit-form .form-block .form-title {
  padding: 0 20px;
}
#recruit .recruit-form .form-block .form-title.center {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#recruit .recruit-form .form-block .form-title .form-label {
  font-size: 1.8rem;
  font-weight: 600;
}
#recruit .recruit-form .form-block .form-title .form-require {
  display: inline-block;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 2px 5px;
  margin-left: 10px;
  background-color: #f29700;
  font-size: 1.2rem;
  font-weight: 600;
  color: #fff;
}
#recruit .recruit-form .form-block .form-field {
  padding-right: 35px;
}
@media (max-width: 767px) {
  #recruit .recruit-form .form-block .form-field {
    padding: 0 20px;
    margin-top: 20px;
  }
}
#recruit .recruit-form .form-block .form-field .form-caption {
  display: block;
  margin: -10px 0 5px;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  #recruit .recruit-form .form-block .form-field .form-caption {
    margin-bottom: 10px;
  }
}
#recruit .recruit-form .form-block .form-field .form-input {
  width: 100%;
  height: 40px;
  padding: 10px;
  border: none;
  border-radius: 4px;
  font-size: 1.4rem;
}
#recruit .recruit-form .form-block .form-field textarea.form-input {
  height: 125px;
  resize: none;
}
@media (max-width: 767px) {
  #recruit .recruit-form .form-block .form-field textarea.form-input {
    height: 200px;
  }
}
#recruit .recruit-form .form-block .form-field .error-message {
  display: block;
  margin-top: 5px;
  margin-bottom: -10px;
  font-size: 1.4rem;
  color: #db1111;
}
#recruit .recruit-form .form-control {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
#recruit .recruit-form .form-control .form-btn {
  cursor: pointer;
  display: block;
  width: 100%;
  max-width: 300px;
  padding: 20px 0;
  margin-top: 40px;
  border: none;
  border-radius: 30px;
  background-color: #ffe012;
  font-size: 1.8rem;
}
#recruit .recruit-form .form-control .form-btn:hover {
  -webkit-filter: brightness(0.9);
          filter: brightness(0.9);
}
#recruit .recruit-form .form-control .form-btn:active {
  -webkit-filter: brightness(0.5);
          filter: brightness(0.5);
}

@media (max-width: 767px) {
  #recruit.index .main-contents .recruit-txt {
    padding: 0 10px;
  }
}
#recruit.index .main-contents .recruit-info {
  margin-bottom: 35px;
}
@media (max-width: 767px) {
  #recruit.index .main-contents .recruit-info {
    margin-bottom: 25px;
  }
}
#recruit.index .main-contents .recruit-attention {
  display: block;
  margin-bottom: 30px;
  line-height: 1.4;
}
@media (max-width: 767px) {
  #recruit.index .main-contents .recruit-attention {
    margin-bottom: 20px;
  }
}
#recruit.index .main-contents .recruit-notes {
  margin-bottom: 50px;
}
#recruit.index .main-contents .recruit-notes a {
  color: #007ac6;
  text-decoration: underline;
}
#recruit.index .main-contents .recruit-form .form-control #mail_back, #recruit.index .main-contents .recruit-form .form-control #mail_post {
  display: none;
}

#recruit.preview #form-preview .form-confirm {
  margin-bottom: 30px;
}
#recruit.preview #form-preview .form-pre-block {
  display: grid;
  grid-template-columns: 230px auto;
  padding: 25px;
  border-bottom: 1px solid #c1c1c1;
  background-color: #f0f0f0;
}
@media (max-width: 767px) {
  #recruit.preview #form-preview .form-pre-block {
    grid-template-columns: 1fr;
  }
}
#recruit.preview #form-preview .form-pre-block .form-pre-label {
  display: block;
}
#recruit.preview #form-preview .form-pre-block .form-pre-value {
  display: block;
}
#recruit.preview #preview-form .form-body {
  display: none;
}
#recruit.preview #preview-form .form-control #mail_preview {
  display: none;
}

#recruit.error .form-error blockquote {
  margin: 15px 0;
}
#recruit.error .form-error blockquote p {
  line-height: 1.8;
  color: #db1111;
}
#recruit.error .recruit-form .form-control #mail_back, #recruit.error .recruit-form .form-control #mail_post {
  display: none;
}

#recruit.complete .main-contents {
  width: 100%;
  padding: 0 20px;
  margin: 110px auto;
  text-align: center;
}
#recruit.complete .main-contents h2 {
  margin-bottom: 0;
  font-size: 4rem;
  color: #0084e0;
}
#recruit.complete .main-contents h3 {
  margin-top: 20px;
  margin-bottom: 55px;
  font-size: 2.4rem;
  font-weight: 500;
}
#recruit.complete .main-contents p {
  font-size: 1.5rem;
}
#recruit.complete .main-contents .complete-link .complete-link-btn {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 192px;
  padding: 20px 35px;
  margin: 80px auto 0;
  border: none;
  border-radius: 30px;
  background-color: #ffe012;
  text-align: center;
  text-decoration: none;
  font-size: 1.5rem;
  line-height: 1;
  color: #000;
}
@media (max-width: 767px) {
  #recruit.complete .main-contents {
    padding: 0 30px;
    margin: 75px auto 0px auto;
    text-align: left;
  }
  #recruit.complete .main-contents h2 {
    font-size: 2.7rem;
  }
  #recruit.complete .main-contents h3 {
    font-size: 2rem;
    margin-bottom: 30px;
  }
  #recruit.complete .main-contents p {
    font-size: 1.6rem;
  }
  #recruit.complete .main-contents .complete-link .complete-link-btn {
    margin: 60px 0 0;
  }
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
html:has(#partner) {
  overflow-y: scroll;
  scroll-padding: 80px;
  scroll-behavior: smooth;
}

@media (max-width: 767px) {
  #partner .main-title::before {
    height: 230px;
    background-position: center;
  }
}
#partner .main-title::after {
  content: none;
}
#partner .main-title .main-title--title {
  width: 100%;
}
@media (max-width: 428px) {
  #partner .main-title .main-title--title .title {
    letter-spacing: 0px;
  }
}
#partner .main-contents {
  width: 100%;
  padding: 0 20px;
}
#partner .partner-form {
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
}
#partner .partner-form .form-block {
  display: grid;
  grid-template-columns: 270px auto;
  padding: 25px 0;
  border-bottom: 1px solid #c1c1c1;
  background-color: #f0f0f0;
}
@media (max-width: 767px) {
  #partner .partner-form .form-block {
    grid-template-columns: 1fr;
  }
}
#partner .partner-form .form-block .form-title {
  padding: 0 25px 0 20px;
}
#partner .partner-form .form-block .form-title.center {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#partner .partner-form .form-block .form-title .form-label {
  font-size: 1.8rem;
  font-weight: 600;
}
#partner .partner-form .form-block .form-title .form-require {
  display: inline-block;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 2px 5px;
  margin-left: 10px;
  background-color: #f29700;
  font-size: 1.2rem;
  font-weight: 600;
  color: #fff;
}
#partner .partner-form .form-block .form-field {
  padding-right: 35px;
}
@media (max-width: 767px) {
  #partner .partner-form .form-block .form-field {
    padding: 0 20px;
    margin-top: 20px;
  }
}
#partner .partner-form .form-block .form-field .form-caption {
  display: block;
  margin: -10px 0 5px;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  #partner .partner-form .form-block .form-field .form-caption {
    margin-bottom: 10px;
  }
}
#partner .partner-form .form-block .form-field .form-input {
  width: 100%;
  height: 40px;
  padding: 10px;
  border: none;
  border-radius: 4px;
  font-size: 1.4rem;
}
#partner .partner-form .form-block .form-field textarea.form-input {
  height: 125px;
  resize: none;
}
@media (max-width: 767px) {
  #partner .partner-form .form-block .form-field textarea.form-input {
    height: 200px;
  }
}
#partner .partner-form .form-block .form-field .error-message {
  display: block;
  margin-top: 5px;
  margin-bottom: -10px;
  font-size: 1.4rem;
  color: #db1111;
}
#partner .partner-form .form-control {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
#partner .partner-form .form-control .form-btn {
  cursor: pointer;
  display: block;
  width: 100%;
  max-width: 300px;
  padding: 20px 0;
  margin-top: 40px;
  border: none;
  border-radius: 30px;
  background-color: #ffe012;
  font-size: 1.8rem;
}
#partner .partner-form .form-control .form-btn:hover {
  -webkit-filter: brightness(0.9);
          filter: brightness(0.9);
}
#partner .partner-form .form-control .form-btn:active {
  -webkit-filter: brightness(0.5);
          filter: brightness(0.5);
}

#partner.index .main-contents {
  max-width: 940px;
  margin: 50px auto;
}
#partner.index .main-contents h2, #partner.index .main-contents p, #partner.index .main-contents ol, #partner.index .main-contents ul, #partner.index .main-contents li {
  padding: 0;
  margin: 0;
}
#partner.index .main-contents h2 {
  font-size: 2.8rem;
}
@media (max-width: 767px) {
  #partner.index .main-contents h2 {
    font-size: 2.2rem;
  }
}
#partner.index .main-contents p {
  line-height: 2.2;
  margin-bottom: 20px;
}
#partner.index .main-contents p:last-of-type {
  margin-bottom: 0px;
}
@media (max-width: 767px) {
  #partner.index .main-contents p {
    line-height: 2;
    margin-bottom: 10px;
  }
}
#partner.index .main-contents a {
  color: #007ac6;
  text-decoration: underline;
}
#partner.index .main-contents ol, #partner.index .main-contents ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  padding-left: 40px;
}
@media (max-width: 767px) {
  #partner.index .main-contents ol, #partner.index .main-contents ul {
    padding-left: 20px;
  }
}
@media (max-width: 428px) {
  #partner.index .main-contents ol, #partner.index .main-contents ul {
    gap: 5px;
  }
}
#partner.index .main-contents ol li {
  padding-left: 10px;
  line-height: 1.6;
}
@media (max-width: 767px) {
  #partner.index .main-contents ol li {
    padding-left: 5px;
  }
}
@media (max-width: 428px) {
  #partner.index .main-contents ol li {
    line-height: 2.1;
  }
}
#partner.index .main-contents .partner-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
}
@media (max-width: 767px) {
  #partner.index .main-contents .partner-link {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
  }
}
#partner.index .main-contents .partner-link .partner-link-btn {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 240px;
  padding: 20px 35px;
  border: none;
  border-radius: 30px;
  background-color: #ffe012;
  text-align: center;
  text-decoration: none;
  font-size: 1.8rem;
  line-height: 1;
  color: #000;
}
@media (max-width: 767px) {
  #partner.index .main-contents .partner-link .partner-link-btn {
    width: 255px;
    padding: 20px 0;
  }
}
#partner.index .main-contents .partner-block {
  padding: 70px 0px;
  border-bottom: 1px solid #d6d6d6;
}
@media (max-width: 767px) {
  #partner.index .main-contents .partner-block {
    padding: 50px 10px;
  }
}
#partner.index .main-contents .partner-block#entry {
  border-bottom: none;
}
#partner.index .main-contents .partner-block h2 {
  margin-bottom: 35px;
  color: #0084e0;
}
@media (max-width: 767px) {
  #partner.index .main-contents .partner-block h2 {
    margin-bottom: 20px;
  }
}
#partner.index .main-contents #work-type dl {
  display: grid;
  grid-template-columns: 160px auto;
  padding: 0 30px;
  margin: 30px 0 0;
}
@media (max-width: 767px) {
  #partner.index .main-contents #work-type dl {
    grid-template-columns: 1fr;
    padding: 0;
  }
}
#partner.index .main-contents #work-type dt, #partner.index .main-contents #work-type dd {
  padding: 30px 0;
  margin: 0;
  border-top: 1px solid #b7b7b7;
  background-color: #f3f3f3;
}
@media (max-width: 767px) {
  #partner.index .main-contents #work-type dt, #partner.index .main-contents #work-type dd {
    padding: 20px 0;
  }
}
#partner.index .main-contents #work-type dt:last-of-type, #partner.index .main-contents #work-type dd:last-of-type {
  border-bottom: 1px solid #b7b7b7;
}
#partner.index .main-contents #work-type dt {
  padding-left: 30px;
  padding-right: 20px;
  font-weight: 600;
}
@media (max-width: 767px) {
  #partner.index .main-contents #work-type dt {
    padding-bottom: 10px;
    font-size: 1.8rem;
  }
}
@media (max-width: 767px) {
  #partner.index .main-contents #work-type dt:last-of-type {
    border-bottom: none;
  }
}
#partner.index .main-contents #work-type dd {
  padding-left: 30px;
  padding-right: 20px;
}
@media (max-width: 767px) {
  #partner.index .main-contents #work-type dd {
    border-top: none;
    padding-top: 0;
    padding-left: 30px;
  }
}
#partner.index .main-contents #document .document-list {
  margin: 40px 0;
}
@media (max-width: 767px) {
  #partner.index .main-contents #document .document-list {
    margin: 10px 0 30px;
  }
}
#partner.index .main-contents #document .attention {
  list-style: none;
  gap: 5px;
  padding-left: 0;
}
#partner.index .main-contents #document .attention li {
  font-size: 1.4rem;
}
#partner.index .main-contents #download ul {
  list-style: none;
  padding-left: 20px;
  margin-top: 30px;
}
@media (max-width: 767px) {
  #partner.index .main-contents #download ul {
    padding-left: 0;
    margin-top: 15px;
  }
}
#partner.index .main-contents #entry {
  padding-right: 0;
}
#partner.index .main-contents #entry strong {
  display: block;
  margin: 30px 0 25px;
}
@media (max-width: 767px) {
  #partner.index .main-contents #entry strong {
    margin: 20px 0 15px;
  }
}
#partner.index .main-contents #entry ul {
  padding-left: 15px;
  margin-bottom: 50px;
}
#partner.index .main-contents #entry ul li {
  font-size: 1.4rem;
}
#partner.index .main-contents #entry ul li::marker {
  font-size: 1.2rem;
}
@media (max-width: 428px) {
  #partner.index .main-contents #entry ul li {
    font-size: 1.5rem;
    line-height: 2.1;
  }
}
#partner.index .main-contents #entry .partner-form .form-control #mail_back, #partner.index .main-contents #entry .partner-form .form-control #mail_post {
  display: none;
}
#partner.index .main-contents #contact {
  padding: 60px 20px;
  text-align: center;
  background-color: #f0f0f0;
}
@media (max-width: 767px) {
  #partner.index .main-contents #contact {
    padding: 60px 15px 60px 30px;
    margin: 0 -20px;
    text-align: left;
  }
}
#partner.index .main-contents #contact h2 {
  margin-bottom: 30px;
}
#partner.index .main-contents #contact span {
  display: block;
}
#partner.index .main-contents #contact .contact-tel {
  margin: 10px 0;
  font-size: 3.4rem;
  line-height: 1.1;
}
#partner.index .main-contents #contact .contact-time {
  font-size: 1.4rem;
}

#partner.preview .main-contents {
  max-width: 940px;
  margin: 50px auto;
}
#partner.preview .main-contents #form-preview .form-confirm {
  margin-bottom: 30px;
}
#partner.preview .main-contents #form-preview .form-pre-block {
  display: grid;
  grid-template-columns: 230px auto;
  padding: 25px;
  border-bottom: 1px solid #c1c1c1;
  background-color: #f0f0f0;
}
@media (max-width: 767px) {
  #partner.preview .main-contents #form-preview .form-pre-block {
    grid-template-columns: 1fr;
  }
}
#partner.preview .main-contents #form-preview .form-pre-block .form-pre-label {
  display: block;
}
#partner.preview .main-contents #form-preview .form-pre-block .form-pre-value {
  display: block;
}
#partner.preview .main-contents #preview-form .form-body {
  display: none;
}
#partner.preview .main-contents #preview-form .form-control #mail_preview {
  display: none;
}

#partner.error .main-contents {
  max-width: 940px;
  margin: 50px auto;
}
#partner.error .main-contents .form-error blockquote {
  margin: 15px 0;
}
#partner.error .main-contents .form-error blockquote p {
  line-height: 1.8;
  color: #db1111;
}
#partner.error .main-contents .partner-form .form-control #mail_back, #partner.error .main-contents .partner-form .form-control #mail_post {
  display: none;
}

#partner.complete .main-contents {
  margin: 110px auto;
  text-align: center;
}
#partner.complete .main-contents h2 {
  margin-bottom: 0;
  font-size: 4rem;
  color: #0084e0;
}
#partner.complete .main-contents h3 {
  margin-top: 20px;
  margin-bottom: 55px;
  font-size: 2.4rem;
  font-weight: 500;
}
#partner.complete .main-contents p {
  font-size: 1.5rem;
}
#partner.complete .main-contents .complete-link .complete-link-btn {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 192px;
  padding: 20px 35px;
  margin: 80px auto 0;
  border: none;
  border-radius: 30px;
  background-color: #ffe012;
  text-align: center;
  text-decoration: none;
  font-size: 1.5rem;
  line-height: 1;
  color: #000;
}
@media (max-width: 767px) {
  #partner.complete .main-contents {
    padding: 0 30px;
    margin: 75px auto 0px auto;
    text-align: left;
  }
  #partner.complete .main-contents h2 {
    font-size: 2.7rem;
  }
  #partner.complete .main-contents h3 {
    font-size: 2rem;
    margin-bottom: 30px;
  }
  #partner.complete .main-contents p {
    font-size: 1.6rem;
  }
  #partner.complete .main-contents .complete-link .complete-link-btn {
    margin: 60px 0 0;
  }
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
#news.index .main-contents {
  width: 100%;
  max-width: 1000px;
  padding: 0 50px;
  margin: 100px auto 60px auto;
}
#news.index .main-contents .news--list {
  width: 100%;
}
#news.index .main-contents .news--list ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  width: 100%;
  padding: 0;
}
#news.index .main-contents .news--list ul li {
  background: #f2f4f5;
  border-radius: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px 0;
  padding: 20px 33px;
  width: 100%;
  min-height: 100px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#news.index .main-contents .news--list ul li time {
  color: #001419;
  font-size: 1.6rem;
  margin: 0 25px 0 0;
  text-align: center;
}
#news.index .main-contents .news--list ul li .news--list-cate {
  color: #001419;
  font-size: 1.2rem;
  text-align: center;
  border-radius: 100vmax;
  margin: 0 32px 0 0;
  width: 77px;
}
#news.index .main-contents .news--list ul li .news--list-cate.news {
  background: #ffe012;
}
#news.index .main-contents .news--list ul li .news--list-title {
  max-width: 540px;
  width: 100%;
  margin: -0.25em 0;
}
#news.index .main-contents .news--list ul li .news--list-title p {
  font-size: 1.6rem;
  line-height: 1.8em;
}
#news.index .main-contents .news--list ul li .news--list-title p a {
  color: #001419;
}
@media (max-width: 767px) {
  #news.index .main-contents {
    padding: 0 30px;
    margin: 70px auto 0px auto;
  }
  #news.index .main-contents .news--list ul li {
    padding: 30px;
    min-height: auto;
  }
  #news.index .main-contents .news--list ul li .news--list-title p {
    margin: 0;
  }
}

#news.entry .main-contents {
  width: 100%;
  max-width: 1000px;
  padding: 0 50px;
  margin: 105px auto 60px auto;
}
#news.entry .main-contents .news--entry {
  width: 100%;
}
#news.entry .main-contents .news--entry .news--entry-meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
  margin-bottom: 25px;
}
#news.entry .main-contents .news--entry .news--entry-meta time {
  color: #001419;
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: 0.15em;
}
#news.entry .main-contents .news--entry .news--entry-meta .news--list-cate {
  color: #001419;
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
  border-radius: 100vmax;
  width: 120px;
  padding: 3px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#news.entry .main-contents .news--entry .news--entry-meta .news--list-cate.news {
  background: #ffe012;
}
#news.entry .main-contents .news--entry .news--list-title {
  width: 100%;
}
#news.entry .main-contents .news--entry .news--list-title h1 {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.7;
  margin: 0;
}
#news.entry .main-contents .news--entry .news--entry-details {
  width: 100%;
  font-size: 1.6rem;
  line-height: 2;
  padding: 40px 0;
  margin-top: 10px;
  border-top: 1px solid #acacad;
  border-bottom: 1px solid #acacad;
}
#news.entry .main-contents .news--entry .news--entry-details img {
  max-width: 100%;
  height: auto;
}
#news.entry .main-contents .news--entry .news--btn {
  text-align: right;
  margin-top: 30px;
}
#news.entry .main-contents .news--entry .news--btn a {
  color: #060000;
  text-decoration: underline;
}
@media (max-width: 767px) {
  #news.entry .main-contents {
    padding: 0 30px;
    margin: 75px auto 0px auto;
  }
  #news.entry .main-contents .news--entry .news--entry-meta {
    margin-bottom: 15px;
  }
  #news.entry .main-contents .news--entry .news--list-title h1 {
    font-size: 2rem;
    margin-bottom: 20px;
  }
  #news.entry .main-contents .news--entry .news--entry-details {
    padding: 25px 0;
  }
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
#info.security .main-contents {
  width: calc(100% - 40px);
  max-width: 1000px;
  margin: 90px auto 60px auto;
}
#info.security .main-contents p, #info.security .main-contents ul, #info.security .main-contents li {
  padding: 0;
  margin: 0;
}
#info.security .main-contents p {
  font-size: 1.6rem;
  line-height: 2.4;
}
#info.security .main-contents .security-info {
  margin-bottom: 35px;
}
#info.security .main-contents .security-lists {
  margin-top: 80px;
}
#info.security .main-contents .security-lists li {
  list-style: none;
  margin-bottom: 50px;
}
#info.security .main-contents .security-lists li .security-attention {
  display: block;
  margin-bottom: 20px;
  line-height: 1.4;
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  #info.security .main-contents {
    margin: 60px auto;
  }
  #info.security .main-contents p {
    line-height: 2.1;
  }
  #info.security .main-contents .security-txt {
    padding: 0 10px;
  }
  #info.security .main-contents .security-txt .security-info {
    margin-bottom: 10px;
  }
  #info.security .main-contents .security-txt .security-lists {
    margin-top: 40px;
  }
  #info.security .main-contents .security-txt .security-lists li {
    margin-bottom: 40px;
  }
  #info.security .main-contents .security-txt .security-lists li .security-attention {
    margin-bottom: 20px;
  }
}

#info.privacy .main-contents {
  width: calc(100% - 40px);
  max-width: 1000px;
  margin: 90px auto 60px auto;
}
#info.privacy .main-contents .policy-txt p, #info.privacy .main-contents .policy-txt ul, #info.privacy .main-contents .policy-txt li {
  padding: 0;
  margin: 0;
}
#info.privacy .main-contents .policy-txt p {
  font-size: 1.6rem;
  line-height: 2.4;
}
#info.privacy .main-contents .policy-txt .policy-title {
  font-size: 2.6rem;
  color: #0084e0;
  font-weight: 600;
}
#info.privacy .main-contents .policy-txt .policy-lists {
  margin-top: 50px;
}
#info.privacy .main-contents .policy-txt .policy-lists li {
  list-style: none;
  margin-bottom: 50px;
}
#info.privacy .main-contents .policy-txt .policy-lists li .policy-attention {
  display: block;
  margin-bottom: 20px;
  line-height: 1.4;
  font-size: 1.8rem;
}
#info.privacy .main-contents .policy-txt .policy-lists li .policy-attention-list {
  margin-top: 10px;
}
#info.privacy .main-contents .policy-txt .policy-lists li .policy-attention-list li {
  margin: 0 0 15px 50px;
  list-style: decimal;
  line-height: 1.6;
}
#info.privacy .main-contents .policy-txt .policy-content {
  width: 800px;
  background-color: #f2f2f2;
  padding: 25px;
  margin-bottom: 70px;
}
#info.privacy .main-contents .policy-txt .policy-content p {
  margin-top: 15px;
  line-height: 1.6;
}
#info.privacy .main-contents .policy-txt .policy-content span {
  font-size: 1.4rem;
}
#info.privacy .main-contents .policy-txt .policy-content span br {
  display: none;
}
@media (max-width: 767px) {
  #info.privacy .main-contents {
    margin: 60px auto;
  }
  #info.privacy .main-contents .policy-txt {
    padding: 0 10px;
  }
  #info.privacy .main-contents .policy-txt p {
    line-height: 2.1;
  }
  #info.privacy .main-contents .policy-txt .policy-title {
    font-size: 2.2rem;
  }
  #info.privacy .main-contents .policy-txt .policy-info {
    margin-bottom: 10px;
  }
  #info.privacy .main-contents .policy-txt .policy-lists {
    margin-top: 30px;
  }
  #info.privacy .main-contents .policy-txt .policy-lists li {
    margin-bottom: 40px;
  }
  #info.privacy .main-contents .policy-txt .policy-lists li .policy-attention {
    margin-bottom: 20px;
  }
  #info.privacy .main-contents .policy-txt .policy-lists li .policy-attention-list li {
    margin-left: 20px;
  }
  #info.privacy .main-contents .policy-txt .policy-content {
    width: 100%;
  }
  #info.privacy .main-contents .policy-txt .policy-content span br {
    display: block;
  }
}

@keyframes slidein {
  from {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
#blog.index #main, #blog.entry #main, #blog.category #main {
  padding-top: 95px;
}
#blog.index #main .blog-hero, #blog.entry #main .blog-hero, #blog.category #main .blog-hero {
  position: relative;
  width: 100%;
  height: 228px;
  overflow: hidden;
}
#blog.index #main .blog-hero .blog-hero--image, #blog.entry #main .blog-hero .blog-hero--image, #blog.category #main .blog-hero .blog-hero--image {
  position: absolute;
  inset: 0;
}
#blog.index #main .blog-hero .blog-hero--image img, #blog.entry #main .blog-hero .blog-hero--image img, #blog.category #main .blog-hero .blog-hero--image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#blog.index #main .blog-hero .blog-hero--title, #blog.entry #main .blog-hero .blog-hero--title, #blog.category #main .blog-hero .blog-hero--title {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  margin: 0;
  color: #ffffff;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
#blog.index #main .main-contents .blog-container, #blog.entry #main .main-contents .blog-container, #blog.category #main .main-contents .blog-container {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 20px 20px 80px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#blog.index #main .main-contents .blog-container .breadcrumb, #blog.entry #main .main-contents .blog-container .breadcrumb, #blog.category #main .main-contents .blog-container .breadcrumb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  margin-bottom: 25px;
  color: #222222;
  font-size: 1.2rem;
  line-height: 1.5;
}
#blog.index #main .main-contents .blog-container .breadcrumb a, #blog.entry #main .main-contents .blog-container .breadcrumb a, #blog.category #main .main-contents .blog-container .breadcrumb a {
  color: #222222;
  text-decoration: none;
}
#blog.index #main .main-contents .blog-container .breadcrumb a:hover, #blog.entry #main .main-contents .blog-container .breadcrumb a:hover, #blog.category #main .main-contents .blog-container .breadcrumb a:hover {
  text-decoration: underline;
}
#blog.index #main .main-contents .blog-container .blog-layout, #blog.entry #main .main-contents .blog-container .blog-layout, #blog.category #main .main-contents .blog-container .blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 25px;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main, #blog.category #main .main-contents .blog-container .blog-layout .blog-main {
  min-width: 0;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list {
  width: 100%;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item {
  width: 100%;
  margin: 0 0 62px;
  padding: 0;
  background: #ffffff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item:last-child, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item:last-child, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item:last-child {
  margin-bottom: 0;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header {
  width: 100%;
  margin: 0 0 18px;
  padding: 0 0 8px;
  border-bottom: 1px dotted #cccccc;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header h2, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header h2, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header h2 {
  position: relative;
  margin: 0;
  padding: 0 0 0 16px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5;
  color: #060000;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header h2::before, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header h2::before, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 100%;
  background: #2a7dd7;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header h2 a, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header h2 a, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header h2 a {
  color: #060000;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header h2 a:hover, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header h2 a:hover, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--header h2 a:hover {
  opacity: 0.65;
  text-decoration: underline;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--info, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--info, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  margin: 0 0 22px;
  font-size: 1.2rem;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--info .blog-category, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--info .blog-category, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--info .blog-category {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 66px;
  height: 27px;
  padding: 0 12px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #40546e;
  color: #ffffff;
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--info time, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--info time, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--info time {
  color: #222222;
  font-size: 1.4rem;
  white-space: nowrap;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--text, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--text, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--text {
  width: 100%;
  margin: 0 0 20px;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--text p, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--text p, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--text p {
  margin: 0;
  color: #222222;
  font-size: 1.4rem;
  line-height: 1.8;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link {
  margin: 0;
  text-align: right;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link a, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link a, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link a {
  color: #a3010e;
  font-size: 1.4rem;
  text-decoration: none;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link a::after, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link a::after, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link a::after {
  content: "";
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link a:hover, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link a:hover, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link a:hover {
  text-decoration: underline;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .pagination, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .pagination, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .pagination {
  width: 100%;
  margin: 60px 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid #40546e;
  border-radius: 4px;
  overflow: hidden;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li {
  width: 32px;
  height: 34px;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-right: 1px solid #40546e;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li:last-child, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li:last-child, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li:last-child {
  border-right: 0;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li a, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li a, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 0;
  background: #ffffff;
  color: #40546e;
  font-size: 1.3rem;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li a:hover, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li a:hover, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li a:hover {
  background: #40546e;
  color: #ffffff;
  text-decoration: none;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li.current, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li.current, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li.current {
  background: #40546e;
  color: #ffffff;
}
#blog.index #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li.current a, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li.current a, #blog.category #main .main-contents .blog-container .blog-layout .blog-main .pagination .pagination--list li.current a {
  background: #40546e;
  color: #ffffff;
}
#blog.index #main .main-contents .blog-container .blog-sidebar, #blog.entry #main .main-contents .blog-container .blog-sidebar, #blog.category #main .main-contents .blog-container .blog-sidebar {
  width: 100%;
  max-width: 240px;
}
#blog.index #main .main-contents .blog-container .blog-sidebar .side-box, #blog.entry #main .main-contents .blog-container .blog-sidebar .side-box, #blog.category #main .main-contents .blog-container .blog-sidebar .side-box {
  width: 100%;
  margin: 0 0 20px;
  border-top: 4px solid #1164af;
  border-left: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#blog.index #main .main-contents .blog-container .blog-sidebar .side-box .side-box--title, #blog.entry #main .main-contents .blog-container .blog-sidebar .side-box .side-box--title, #blog.category #main .main-contents .blog-container .blog-sidebar .side-box .side-box--title {
  margin: 0;
  padding: 13px 10px;
  border-bottom: 1px solid #cccccc;
  color: #1164af;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
#blog.index #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list, #blog.entry #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list, #blog.category #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list {
  margin: 0;
  padding: 0;
  list-style: none;
}
#blog.index #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li, #blog.entry #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li, #blog.category #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li {
  border-bottom: 1px dotted #cccccc;
}
#blog.index #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li:last-child, #blog.entry #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li:last-child, #blog.category #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li:last-child {
  border-bottom: none;
}
#blog.index #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li a, #blog.entry #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li a, #blog.category #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li a {
  position: relative;
  display: block;
  padding: 15px 15px 15px 33px;
  color: #222222;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
}
#blog.index #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li a::before, #blog.entry #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li a::before, #blog.category #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li a::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 5px solid #1164af;
}
#blog.index #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li a:hover, #blog.entry #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li a:hover, #blog.category #main .main-contents .blog-container .blog-sidebar .side-box .side-box--list li a:hover {
  opacity: 1;
  text-decoration: underline;
}
@media (max-width: 767px) {
  #blog.index #main .main-contents .blog-container .blog-layout, #blog.entry #main .main-contents .blog-container .blog-layout, #blog.category #main .main-contents .blog-container .blog-layout {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
  #blog.index #main .main-contents .blog-container .blog-layout .blog-main, #blog.entry #main .main-contents .blog-container .blog-layout .blog-main, #blog.category #main .main-contents .blog-container .blog-layout .blog-main {
    width: 100%;
  }
  #blog.index #main .main-contents .blog-container .blog-layout .blog-sidebar, #blog.entry #main .main-contents .blog-container .blog-layout .blog-sidebar, #blog.category #main .main-contents .blog-container .blog-layout .blog-sidebar {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }
}

#blog.entry #main .blog-hero .blog-hero--image {
  background: #2a7dd7;
}
#blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--text p {
  margin-bottom: 20px;
}
#blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item > img {
  display: block;
  margin: 0 auto;
}
#blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 60px;
  min-height: 30px;
}
#blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link .prev {
  position: absolute;
  left: 0;
}
#blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link .index {
  margin: 0 auto;
}
#blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link .next {
  position: absolute;
  right: 0;
}
#blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 72px;
  height: 36px;
  padding: 0 14px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #cccccc;
  border-radius: 20px;
  color: #222222;
  font-size: 1.4rem;
  text-decoration: none;
  line-height: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
#blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link a::after {
  content: "";
}
#blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link a:hover {
  opacity: 0.6;
  text-decoration: none;
  background: rgba(204, 204, 204, 0.6);
}
#blog.entry #main .main-contents .blog-container .blog-layout .blog-main .blog-list .blog-item .blog-item--link a:last-child {
  position: absolute;
  right: 0;
}

#blog.category #main .blog-hero .blog-hero--image {
  background: #2a7dd7;
}