@charset "UTF-8";
/*
Theme Name: KITAGAWA_THEME
Theme URI: https://www.kitagawa-gumi.co.jp
Description: 北川組コーポレートサイト.
Author: ECCOM Creation Co.,Ltd.
Author URI: 
Version: 1.2.0
.
北川組コーポレートサイト
.

2022.05.31 Ver1.0 -	公開

*/
/* 変数
------------------------------------*/
/* 外部CSS
------------------------------------*/
/*!
 * ress.css • v2.0.4
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

svg:not([fill]) {
  fill: currentColor;
}

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

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

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

/* 共通パーツ
------------------------------------*/
html {
  font-size: 62.5%;
  min-height: 100%;
  width: 100%;
}

/* safari css hack */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (max-width: 1px) {
  html {
    overflow-x: auto;
    overflow-y: hidden;
  }
}
body {
  background: #fff;
  color: #000000;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: “palt” 1;
  -webkit-font-smoothing: antialiased;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 300;
  height: 100%;
  letter-spacing: 0.18em;
  line-height: 1.9285714286;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  overflow-wrap: break-word;
  padding: 0;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  body {
    min-width: 320px;
    overflow-x: hidden;
  }
}
@media screen and (max-width: 365px) {
  body {
    min-width: 320px;
    overflow-x: hidden;
  }
}
body.is-noscroll {
  position: fixed;
  overflow-y: hidden;
}

*,
::before,
::after {
  box-sizing: border-box;
}

img {
  border: 0;
  height: auto;
  max-width: 100%;
}

p {
  margin: 0;
  padding: 0;
}

input {
  border-radius: 0;
}

ul, ol {
  margin: 0;
  padding: 0 0 0 1.3em;
}

a {
  color: #000000;
  text-decoration: none;
}
a:hover {
  color: #000000;
  opacity: 0.7;
  text-decoration: none;
}

a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 650px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

.c-btn-menu span,
.c-footer-backToTop,
button,
input[type=submit],
a {
  transition: opacity 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
button,
input[type=button] {
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
button::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus,
button::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

.c-preload * {
  transition: none !important;
}

.c-header {
  background: #fff;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.03);
  font-family: "Noto Sans JP", sans-serif;
  height: 90px;
  position: fixed;
  transform: translate3d(0, 0, 0);
  transition: transform 0.3s ease;
  width: 100%;
  z-index: 200;
}
@media screen and (max-width: 650px) {
  .c-header {
    height: 75px;
  }
}
.c-header.is-toppage {
  background: transparent;
  box-shadow: none;
}
.c-header.is-toppage .c-header__inner .c-header__main .c-header__menu .c-header__menu-items .c-header__menu-link {
  color: #fff;
}
.c-header.is-toppage .c-header__inner .c-header__main .c-header__menu .c-header__menu-items .c-header__menu-link::after {
  background: #fff;
}
.c-header.is-active {
  box-shadow: none;
}
.c-header.is-active .c-header__logo .c-header__logo-link svg g {
  fill: #000;
}
.c-header.is-hide {
  transform: translate3d(0, -105%, 0);
}
.c-header.is-kv {
  transform: translate3d(0, 0, 0);
}
.c-header.is-serif {
  font-family: "Noto Serif", serif;
}
.c-header .c-header__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 22px auto 0;
  max-width: 980px;
  width: 100%;
  z-index: 500;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-header .c-header__inner {
    padding: 0 20px;
  }
}
.c-header .c-header__inner .c-header__hamburger {
  display: none;
  height: 45px;
  outline: none;
  position: relative;
  width: 45px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-header .c-header__inner .c-header__hamburger {
    display: block;
  }
}
.c-header .c-header__inner .c-header__hamburger.is-toppage span {
  background: #fff;
}
.c-header .c-header__inner .c-header__hamburger span {
  background: #000;
  height: 2px;
  opacity: 1;
  position: absolute;
  left: 5px;
  transform: rotate(0);
  transition: opacity 0.3s ease 0.1s, transform 0.5s ease;
  width: 36px;
}
.c-header .c-header__inner .c-header__hamburger span:nth-child(1) {
  top: 14px;
}
.c-header .c-header__inner .c-header__hamburger span:nth-child(2) {
  top: 22px;
}
.c-header .c-header__inner .c-header__hamburger span:nth-child(3) {
  bottom: 13px;
}
.c-header .c-header__inner .c-header__hamburger.is-active span {
  background: #000;
}
.c-header .c-header__inner .c-header__hamburger.is-active span:nth-child(1) {
  left: 2px;
  top: 21px;
  transform: rotate(45deg);
  transform-origin: center 5px;
}
.c-header .c-header__inner .c-header__hamburger.is-active span:nth-child(2) {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.c-header .c-header__inner .c-header__hamburger.is-active span:nth-child(3) {
  left: 5px;
  bottom: 21px;
  transform: rotate(-45deg);
  transform-origin: center center;
}
.c-header .c-header__logo {
  padding: 0 40px 0 0;
}
.c-header .c-header__logo .c-header__logo-link {
  display: block;
  line-height: 0;
}
@media screen and (max-width: 650px) {
  .c-header .c-header__logo .c-header__logo-link {
    width: 65px;
  }
}
.c-header .c-header__logo .c-header__logo-link svg {
  width: 100%;
}
.c-header .c-header__main {
  align-items: center;
  display: flex;
  justify-content: space-between;
  width: calc(100% - 100px);
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-header .c-header__main {
    display: none;
  }
}
.c-header .c-header__main .c-header__menu {
  align-items: center;
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  width: calc(100% - 64px);
}
.c-header .c-header__main .c-header__menu .c-header__menu-items {
  position: relative;
}
.c-header .c-header__main .c-header__menu .c-header__menu-items.is-active .c-header__menu-link .c-header__menu-link-en {
  color: #E13B40;
}
.c-header .c-header__main .c-header__menu .c-header__menu-items .c-header__menu-link {
  display: block;
  padding: 10px;
  pointer-events: visible;
  position: relative;
  text-align: center;
  white-space: nowrap;
}
.c-header .c-header__main .c-header__menu .c-header__menu-items .c-header__menu-link::after {
  background: #000;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scale(0, 0);
  transform-origin: center center;
  transition: transform 0.3s ease;
  width: 100%;
}
.c-header .c-header__main .c-header__menu .c-header__menu-items .c-header__menu-link:hover {
  opacity: 1;
}
.c-header .c-header__main .c-header__menu .c-header__menu-items .c-header__menu-link:hover::after {
  transform: scale(1, 1);
}
.c-header .c-header__main .c-header__menu .c-header__menu-items .c-header__menu-link:hover .c-header__menu-link-en {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.c-header .c-header__main .c-header__menu .c-header__menu-items .c-header__menu-link:hover .c-header__menu-link-ja {
  opacity: 1;
  transition: opacity 0.3s ease 0.1s;
}
.c-header .c-header__main .c-header__menu .c-header__menu-items .c-header__menu-link-en {
  display: block;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  opacity: 1;
  transition: opacity 0.3s ease 0.1s;
}
.c-header .c-header__main .c-header__menu .c-header__menu-items .c-header__menu-link-ja {
  display: block;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  opacity: 0;
  position: absolute;
  left: 50%;
  top: 10px;
  transform: translate3d(-50%, 0, 0);
}
.c-header .c-header__main .c-header__menu .c-header__menu-contact {
  width: 112px;
}
.c-header .c-header__main .c-header__sns {
  display: flex;
  list-style: none;
  padding: 0;
}
.c-header .c-header__main .c-header__sns.is-toppage .c-header__sns-items .c-header__sns-link svg path {
  fill: #fff;
}
.c-header .c-header__main .c-header__sns .c-header__sns-items .c-header__sns-link {
  display: block;
  line-height: 0;
  padding: 6px;
}
.c-header .c-header__main .c-header__sns .c-header__sns-items .c-header__sns-link:hover {
  opacity: 0.6;
}
.c-header .c-header__main .c-header__sns .c-header__sns-items .c-header__sns-link svg path {
  fill: #000;
}

.c-footer {
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 auto;
  max-width: 980px;
  padding: 128px 0 60px;
  position: relative;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-footer {
    padding: 67px 0 55px;
  }
}
.c-footer .c-footer__navi {
  width: 100%;
}
.c-footer .c-footer__navi .c-footer__menu {
  align-items: center;
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-footer .c-footer__navi .c-footer__menu {
    flex-direction: column;
  }
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-footer .c-footer__navi .c-footer__menu .c-footer__menu-items {
    padding: 0 0 24px;
  }
}
.c-footer .c-footer__navi .c-footer__menu .c-footer__menu-items .c-footer__menu-link {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  min-width: 100px;
  padding: 10px;
  text-align: center;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-footer .c-footer__navi .c-footer__menu .c-footer__menu-items .c-footer__menu-link {
    font-size: 1.8rem;
  }
}
.c-footer .c-footer__navi .c-footer__menu .c-footer__menu-contact {
  height: 27px;
  width: 112px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-footer .c-footer__navi .c-footer__menu .c-footer__menu-contact {
    font-size: 1.8rem;
    height: 53px;
    margin: 10px 0 0;
    width: 218px;
  }
}
.c-footer .c-footer__illust {
  display: block;
  line-height: 0;
  padding: 0 0 26px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .c-footer .c-footer__illust {
    padding: 0 20px 26px;
  }
}
.c-footer .c-footer__bottom {
  text-align: center;
}
.c-footer .c-footer__bottom .c-footer__logo {
  display: inline-block;
  padding: 0 0 30px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-footer .c-footer__bottom .c-footer__logo {
    padding: 0 0 20px;
  }
}
.c-footer .c-footer__bottom .c-footer__text {
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 0.9333333333;
  padding: 0 0 10px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-footer .c-footer__bottom .c-footer__text {
    font-size: 1.2rem;
    line-height: 1.1666666667;
    padding: 0 0 17px;
  }
}
.c-footer .c-footer__bottom .c-footer__small {
  font-size: 1rem;
  font-weight: 200;
  letter-spacing: 0.1em;
  line-height: 1.4;
  padding: 0 0 20px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-footer .c-footer__bottom .c-footer__small {
    font-size: 1.2rem;
    line-height: 1.5;
  }
}
.c-footer .c-footer__bottom .c-footer__sns {
  align-items: center;
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 32px 0 50px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-footer .c-footer__bottom .c-footer__sns {
    padding: 30px 0 30px;
  }
}
.c-footer .c-footer__bottom .c-footer__sns li a {
  display: block;
  line-height: 0;
  padding: 10px;
}
.c-footer .c-footer__bottom .c-footer__certified {
  align-items: center;
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0 0 17px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-footer .c-footer__bottom .c-footer__certified {
    padding: 0 40px 32px;
  }
}
.c-footer .c-footer__bottom .c-footer__certified li {
  padding: 0 20px 0 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-footer .c-footer__bottom .c-footer__certified li {
    padding: 0;
  }
}
.c-footer .c-footer__bottom .c-footer__certified li:last-child {
  padding: 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-footer .c-footer__bottom .c-footer__certified li img {
    width: 79%;
  }
}
.c-footer .c-footer__bottom .c-footer__copyright {
  display: block;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.25;
}

.c-scrolltop {
  align-items: center;
  background: #000;
  display: flex;
  justify-content: center;
  height: 121px;
  position: absolute;
  right: 0;
  top: -60px;
  width: 22px;
}
@media screen and (max-width: 650px) {
  .c-scrolltop {
    right: 20px;
    top: 10px;
  }
}

.c-drawer {
  background: #fff;
  display: none;
  font-family: "Noto Sans JP", sans-serif;
  height: 100%;
  opacity: 0;
  overflow-y: scroll;
  padding: 140px 40px 0;
  pointer-events: none;
  position: fixed;
  left: 0;
  top: 0;
  transition: opacity 0.6s ease-in-out;
  width: 100%;
  z-index: 100;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-drawer {
    display: block;
  }
}
.c-drawer.is-active {
  opacity: 1;
  pointer-events: auto;
}
.c-drawer .c-sp-menu__list {
  list-style: none;
  margin: 0 auto;
  padding: 0 0 105px;
}
.c-drawer .c-sp-menu__list .c-sp-menu__items {
  position: relative;
}
.c-drawer .c-sp-menu__list .c-sp-menu__items a {
  display: block;
  font-size: 1.8rem;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1;
  outline: none;
  padding: 22px 0;
  text-align: center;
  width: 100%;
}
.c-drawer .c-sp-menu__list .c-sp-menu__items-contact {
  margin: 23px auto 0;
  width: 188px;
}
.c-drawer .c-sp-menu__footer {
  padding: 0 0 45px;
  text-align: center;
}
.c-drawer .c-sp-menu__footer .c-sp-menu__footer-text {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.1666666667;
  padding: 0 0 16px;
}
.c-drawer .c-sp-menu__sns {
  align-items: center;
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
}
.c-drawer .c-sp-menu__sns li {
  padding: 0 10px;
}

.c-headline__page {
  align-items: center;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  height: 220px;
  margin: 0 auto;
  max-width: 817px;
  position: relative;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-headline__page {
    max-width: none;
    padding: 0 20px;
  }
}
@media screen and (max-width: 650px) {
  .c-headline__page {
    height: 150px;
    line-height: 0;
  }
}
.c-headline__page.is-news .c-headline__page-illust {
  margin: -100px 0 0;
}
@media screen and (max-width: 650px) {
  .c-headline__page.is-news .c-headline__page-illust {
    margin: -40px 0 0;
    width: 180px;
  }
}
.c-headline__page.is-consultation .c-headline__page-illust {
  bottom: 30px;
  right: -80px;
}
@media screen and (max-width: 650px) {
  .c-headline__page.is-consultation .c-headline__page-illust {
    bottom: 0;
    right: 0;
    width: 42.6865671642%;
  }
}
.c-headline__page.is-recruit .c-headline__page-illust {
  bottom: 72px;
  right: -80px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-headline__page.is-recruit .c-headline__page-illust {
    right: -5px;
  }
}
@media screen and (max-width: 650px) {
  .c-headline__page.is-recruit .c-headline__page-illust {
    bottom: 20px;
    right: -5px;
  }
}
.c-headline__page.is-service .c-headline__page-illust {
  bottom: 40px;
}
@media screen and (max-width: 650px) {
  .c-headline__page.is-service .c-headline__page-illust {
    bottom: 17px;
    right: 7px;
    width: 180px;
  }
}
@media screen and (max-width: 650px) {
  .c-headline__page.is-contact .c-headline__page-illust {
    bottom: -41px;
    width: 174px;
  }
}
.c-headline__page.is-works {
  color: #fff;
  height: 480px;
  margin-top: -96px;
}
.c-headline__page .c-headline__page-title .c-headline__page-en {
  display: block;
  font-size: 6.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 0.8088235294;
}
@media screen and (max-width: 650px) {
  .c-headline__page .c-headline__page-title .c-headline__page-en {
    font-size: 3.5rem;
    line-height: 1.5714285714;
  }
}
.c-headline__page .c-headline__page-title .c-headline__page-ja {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  line-height: 1;
}
@media screen and (max-width: 650px) {
  .c-headline__page .c-headline__page-title .c-headline__page-ja {
    font-size: 1.2rem;
  }
}
.c-headline__page .c-headline__page-illust {
  display: block;
  line-height: 0;
  margin: auto;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 650px) {
  .c-headline__page .c-headline__page-illust {
    right: 20px;
    width: 197px;
  }
}
.c-headline__page .c-headline__page-background {
  height: 100%;
  margin: 0 calc(50% - 50vw);
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  z-index: -1;
}

.c-headline__section {
  font-size: 2.8rem;
  font-weight: 300;
  line-height: 3.8rem;
  margin: 80px auto 26px;
  max-width: 814px;
  position: relative;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-headline__section {
    font-size: 2.5rem;
    margin-bottom: 40px;
    padding: 0 0 0 50px;
  }
}
@media screen and (max-width: 365px) {
  .c-headline__section {
    font-size: 2rem;
  }
}
.c-headline__section::before {
  background: #F2F0F0;
  content: "";
  display: block;
  height: 38px;
  position: absolute;
  left: -233px;
  top: 0;
  width: 217px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-headline__section::before {
    left: -20px;
    width: 60px;
  }
}

.c-wrap {
  -ms-overflow-style: none;
  overflow: hidden;
  overflow-x: hidden;
  position: relative;
}
.c-wrap::-webkit-scrollbar {
  background-color: transparent;
  display: none;
  width: 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-wrap {
    padding: 0 20px;
  }
}

.c-contents {
  margin: 0 auto;
  max-width: 980px;
}

.c-breadcrumb {
  font-family: "Noto Sans JP", sans-serif;
  padding: 158px 79px 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-breadcrumb {
    padding: 158px 20px 0;
  }
}
@media screen and (max-width: 650px) {
  .c-breadcrumb {
    padding: 98px 0 0;
  }
}
.c-breadcrumb.is-white .c-breadcrumb__path {
  color: #fff;
}
.c-breadcrumb.is-white .c-breadcrumb__path::after {
  border-color: #fff;
}
.c-breadcrumb.is-none {
  display: none;
}
.c-breadcrumb .c-breadcrumb__path {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
.c-breadcrumb .c-breadcrumb__path::after {
  border-right: solid 1px #000;
  border-top: solid 1px #000;
  content: "";
  display: inline-block;
  height: 6px;
  margin: 0 10px 1px;
  transform: rotate(45deg);
  width: 6px;
}
.c-breadcrumb .c-breadcrumb__path:last-child::after {
  display: none;
}

.c-loader {
  align-items: center;
  background-color: #fff;
  display: flex;
  height: 100%;
  justify-content: center;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}
.c-loader.is-show {
  background-color: #090e13;
  transition: background-color 0.75s ease-in;
}
.c-loader.is-hide {
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, 100vh, 0);
  transition: opacity 0.3s ease 0.9s, transform 0.9s cubic-bezier(0.68, 0, 0.98, 0.56);
}
.c-loader.is-hide .c-loader__150 {
  transform: translate3d(0, -90vh, 0);
}
.c-loader.is-hide .c-loader__skip {
  opacity: 0;
}
.c-loader .c-loader__150 {
  display: block;
  height: 100%;
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 1;
  text-align: center;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.9s ease 0.4s, transform 0.9s cubic-bezier(0.68, 0, 0.98, 0.56);
  width: 100%;
}
.c-loader .c-loader__skip {
  background-color: transparent;
  border: none;
  color: #fff;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 12px;
  font-weight: 700;
  opacity: 0.75;
  padding: 15px 25px;
  position: absolute;
  right: 0;
  bottom: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 1001;
}
.c-loader .c-loader__skip:hover {
  opacity: 0.5;
}

.c-hero {
  display: block;
  height: 25.78125vw;
  margin: 0 calc(50% - 50vw);
  position: relative;
  width: 100vw;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-hero {
    height: 330px;
  }
}
@media screen and (max-width: 650px) {
  .c-hero {
    height: 260px;
  }
}
.c-hero::before {
  background: rgba(0, 0, 0, 0.35);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transition: background-color 0.3s ease;
  width: 100%;
  z-index: 1;
}
.c-hero:hover {
  opacity: 1;
}
.c-hero:hover:before {
  background: rgba(0, 0, 0, 0.7);
}
.c-hero .c-hero__parallax {
  display: block;
  height: 100%;
  line-height: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.c-hero .c-hero__parallax .c-hero__parallax-photo {
  height: 150%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  position: absolute;
  left: 50%;
  top: 0;
  width: 100%;
}
.c-hero .c-hero__headline {
  color: #fff;
  padding: 30px 0 0;
  position: absolute;
  left: 50%;
  top: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 650px) {
  .c-hero .c-hero__headline {
    padding: 20px 0 0;
    top: 40%;
    width: 100%;
  }
}
.c-hero .c-hero__headline.is-notosans .c-hero__headline-en {
  font-family: "Noto Sans JP", sans-serif !important;
}
.c-hero .c-hero__headline.is-notosans .c-hero__headline-ja {
  font-family: "Noto Sans JP", sans-serif !important;
}
.c-hero .c-hero__headline .c-hero__headline-en {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 5.2rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  width: 100%;
}
@media screen and (max-width: 650px) {
  .c-hero .c-hero__headline .c-hero__headline-en {
    font-size: 2.8rem;
    padding: 0 0 4px;
    white-space: nowrap;
  }
}
.c-hero .c-hero__headline .c-hero__headline-ja {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.42em;
  line-height: 1;
}
@media screen and (max-width: 650px) {
  .c-hero .c-hero__headline .c-hero__headline-ja {
    font-size: 1.8rem;
  }
}
.c-hero .c-hero__more {
  color: #fff;
  display: none;
  font-size: 1.9rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1;
  position: absolute;
  bottom: 45px;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
  z-index: 1;
}
@media screen and (max-width: 650px) {
  .c-hero .c-hero__more {
    display: block;
    bottom: 98px;
  }
}
.c-hero .c-hero__more::after {
  border-right: solid 1px #fff;
  border-top: solid 1px #fff;
  display: none;
  content: "";
  height: 8px;
  margin: 0 6px 1px;
  transform: rotate(45deg);
  width: 8px;
}
@media screen and (max-width: 650px) {
  .c-hero .c-hero__more::after {
    display: inline-block;
  }
}
.c-hero .c-hero__decoration-left, .c-hero .c-hero__decoration-right {
  position: absolute;
  transform: translate(-50%, 0);
  z-index: 2;
}
.c-hero.is-nolink:hover::before {
  background: rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 650px) {
  .c-hero.is-noenglish .c-hero__headline {
    padding: 0;
    top: 50%;
  }
}
.c-hero.is-noenglish .c-hero__headline .c-hero__headline-en {
  font-size: 4.6rem;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 650px) {
  .c-hero.is-noenglish .c-hero__headline .c-hero__headline-en {
    font-size: 2.4rem;
  }
}
.c-hero.is-thin {
  height: 22.578125vw;
}
@media screen and (max-width: 650px) {
  .c-hero.is-thin {
    height: 140px;
  }
}
@media screen and (max-width: 650px) {
  .c-hero.is-thin .c-hero__parallax .c-hero__parallax-photo {
    max-width: 600px;
  }
}
.c-hero.is-light::before {
  background: rgba(0, 0, 0, 0.25);
}
.c-hero.is-half {
  height: 25.78125vw;
  margin: 0;
  width: 50%;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-hero.is-half {
    height: 330px;
    width: 100vw;
  }
}
@media screen and (max-width: 650px) {
  .c-hero.is-half {
    height: 260px;
  }
}
.c-hero.is-half .c-hero__headline {
  padding: 0;
}
.c-hero.is-half .c-hero__headline .c-hero__headline-en {
  font-size: 4vw;
}
@media screen and (min-width: 1280px) {
  .c-hero.is-half .c-hero__headline .c-hero__headline-en {
    font-size: 5.2rem;
  }
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-hero.is-half .c-hero__headline .c-hero__headline-en {
    font-size: 5.2rem;
  }
}
@media screen and (max-width: 650px) {
  .c-hero.is-half .c-hero__headline .c-hero__headline-en {
    font-size: 2.8rem;
  }
}
.c-hero.is-works .c-hero__decoration-left, .c-hero.is-works .c-hero__decoration-right {
  left: calc(25% - 8.59375vw);
  top: 9.765625vw;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-hero.is-works .c-hero__decoration-left, .c-hero.is-works .c-hero__decoration-right {
    left: calc(50% - 270px);
    top: 120px;
  }
}
@media screen and (max-width: 650px) {
  .c-hero.is-works .c-hero__decoration-left, .c-hero.is-works .c-hero__decoration-right {
    bottom: 10px;
    left: calc(50% - 150px);
    top: auto;
    width: 47px;
  }
}
.c-hero.is-works .c-hero__decoration-right {
  left: calc(25% + 32.8125vw);
  top: 9.765625vw;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-hero.is-works .c-hero__decoration-right {
    left: calc(50% + 270px);
    top: 115px;
  }
}
@media screen and (max-width: 650px) {
  .c-hero.is-works .c-hero__decoration-right {
    bottom: 10px;
    left: calc(50% + 140px);
    top: auto;
    width: 30px;
  }
}
.c-hero.is-about::after {
  background: url("images/bg-wall@2x.png") no-repeat center center/cover;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 0;
}
.c-hero.is-about .c-hero__decoration-left, .c-hero.is-about .c-hero__decoration-right {
  left: calc(75% - 29.6875vw);
  top: 9.375vw;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-hero.is-about .c-hero__decoration-left, .c-hero.is-about .c-hero__decoration-right {
    left: calc(50% - 230px);
    top: 130px;
  }
}
@media screen and (max-width: 650px) {
  .c-hero.is-about .c-hero__decoration-left, .c-hero.is-about .c-hero__decoration-right {
    bottom: -13px;
    left: calc(50% - 150px);
    top: auto;
    width: 87px;
  }
}
.c-hero.is-about .c-hero__decoration-right {
  left: calc(75% + 5.46875vw);
  top: 9.375vw;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-hero.is-about .c-hero__decoration-right {
    left: calc(50% + 230px);
    top: 120px;
  }
}
@media screen and (max-width: 650px) {
  .c-hero.is-about .c-hero__decoration-right {
    bottom: -10px;
    left: calc(50% + 120px);
    top: auto;
  }
}
.c-hero.is-top-service::before {
  background: rgba(0, 0, 0, 0.45);
}
.c-hero.is-top-service::after {
  background: url("images/bg-wall-double@2x.png") no-repeat center center/cover;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 0;
}
.c-hero.is-service {
  height: 200px;
}
@media screen and (max-width: 650px) {
  .c-hero.is-service {
    height: 37.3333333333vw;
  }
}
.c-hero.is-service::before {
  background: rgba(0, 0, 0, 0.25);
}
.c-hero.is-service::after {
  background: url("images/bg-wall@2x.png") no-repeat center center/cover;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 0;
}
.c-hero.is-service .c-hero__headline {
  padding: 0;
  position: absolute;
  z-index: 10;
}
@media screen and (max-width: 650px) {
  .c-hero.is-service .c-hero__headline {
    top: 50%;
  }
}
.c-hero.is-service .c-hero__headline .c-hero__headline-en {
  font-family: "Noto Serif JP", sans-serif;
  font-size: 6.8rem;
  letter-spacing: 0.05em;
  padding: 0 0 10px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-hero.is-service .c-hero__headline .c-hero__headline-en {
    font-size: 4.8rem;
  }
}
@media screen and (max-width: 650px) {
  .c-hero.is-service .c-hero__headline .c-hero__headline-en {
    font-size: 2.8rem;
  }
}
.c-hero.is-service .c-hero__headline .c-hero__headline-ja {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  line-height: 1;
}

.c-pager {
  align-items: center;
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0 auto;
  max-width: 980px;
  padding: 0 0 50px;
  text-align: center;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-pager {
    padding: 0;
  }
}
.c-pager .page-numbers {
  border: solid 3px #000;
  color: #000000;
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.2rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  margin: 0 9px;
  min-width: 38px;
  padding: 3px 0 7px;
}
@media screen and (max-width: 650px) {
  .c-pager .page-numbers {
    font-size: 1.6rem;
    margin: 0 6px;
    min-width: 30px;
    padding: 3px 0 5px;
  }
}
.c-pager .page-numbers:hover {
  background: #000000;
  color: #fff;
  opacity: 1;
}
.c-pager .page-numbers.current {
  background: #000000;
  color: #fff;
}
.c-pager .page-numbers.prev, .c-pager .page-numbers.next {
  background: url("images/icon-arrow-triangle-black.svg") no-repeat center center/contain;
  border: none;
  height: 15px;
  margin: 0;
  width: 15px;
}
.c-pager .page-numbers.prev:hover, .c-pager .page-numbers.next:hover {
  background: none;
  color: #000000;
}
.c-pager .page-numbers.prev {
  transform: rotate(180deg);
}
.c-pager .page-numbers.dots {
  width: auto;
}
.c-pager .page-numbers.dots:hover {
  background: none;
  color: #000000;
}

.c-parallax {
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
  padding: 46px 0;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .c-parallax {
    padding: 37px 40px 30px;
  }
}
.c-parallax.is-info {
  padding: 5.9375vw 0;
}
@media screen and (max-width: 650px) {
  .c-parallax.is-info {
    padding: 24px 0 56px;
  }
}
.c-parallax.is-info .c-parallax__headline {
  padding: 0 0 3.75vw;
}
@media screen and (max-width: 650px) {
  .c-parallax.is-info .c-parallax__headline {
    padding: 0 0 36px;
  }
}
.c-parallax.is-info .c-parallax__image {
  margin: 0 auto;
  width: 117px;
}
@media screen and (max-width: 650px) {
  .c-parallax.is-info .c-parallax__image {
    width: 130px;
  }
}
@media screen and (max-width: 650px) {
  .c-parallax.is-info .c-parallax__bg-left {
    bottom: 14.6666666667vw;
    left: calc(50% - 77.3333333333vw);
  }
}
@media screen and (max-width: 650px) {
  .c-parallax.is-info .c-parallax__bg-right {
    left: calc(50% + 14.6666666667vw);
    top: -42.6666666667vw;
  }
}
.c-parallax .c-parallax__headline {
  align-items: center;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4.6rem;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.12em;
  line-height: 1;
  padding: 0 0 23px;
}
@media screen and (max-width: 650px) {
  .c-parallax .c-parallax__headline {
    font-size: 2.4rem;
  }
}
.c-parallax .c-parallax__text {
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin: 0 auto 34px;
  max-width: 659px;
}
@media screen and (max-width: 650px) {
  .c-parallax .c-parallax__text {
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    line-height: 1.8333333333;
    margin-bottom: 30px;
    text-align: left;
  }
}
.c-parallax .c-parallax__image {
  display: block;
  line-height: 0;
}
@media screen and (max-width: 650px) {
  .c-parallax .c-parallax__image {
    margin: 0 auto;
    width: 130px;
  }
}
.c-parallax .c-parallax__bg-left {
  position: absolute;
  left: calc(50% - 62.8125vw);
  top: -16.015625vw;
  width: 36.015625vw;
  z-index: -1;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-parallax .c-parallax__bg-left {
    left: calc(50% - 89.84375vw);
    top: -27.734375vw;
    width: 58vw;
  }
}
@media screen and (max-width: 650px) {
  .c-parallax .c-parallax__bg-left {
    bottom: -17.3333333333vw;
    left: calc(50% - 76vw);
    top: auto;
    width: 49.8666666667vw;
  }
}
.c-parallax .c-parallax__bg-right {
  position: absolute;
  left: calc(50% + 22.1875vw);
  top: -17.03125vw;
  width: 45.546875vw;
  z-index: -1;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-parallax .c-parallax__bg-right {
    left: calc(50% + 23.75vw);
    width: 69vw;
  }
}
@media screen and (max-width: 650px) {
  .c-parallax .c-parallax__bg-right {
    left: calc(50% + 14.6666666667vw);
    top: 10.6666666667vw;
    width: 68.2666666667vw;
  }
}

/* ヘッダー・フッターコンタクトボタン */
.c-button__contact {
  align-items: center;
  color: #000;
  display: flex;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0;
  padding: 0 0 0 10px;
  position: relative;
  transition: color 0.3s ease;
}
.c-button__contact.is-top {
  color: #fff;
}
.c-button__contact.is-yellow .c-button__contact-bg path {
  fill: transparent;
}
.c-button__contact.is-yellow:hover {
  color: #000;
  opacity: 1;
}
.c-button__contact.is-yellow:hover .c-button__contact-bg path {
  fill: #FFE423;
}
.c-button__contact.is-yellow.is-active .c-button__contact-bg path {
  fill: #FFE423;
}
.c-button__contact.is-sp {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  padding: 9px 35px;
  text-align: center;
}
.c-button__contact.is-sp .c-button__contact-icon {
  height: auto;
  margin: 0 10px 0 0;
  transform: translate3d(0, 2px, 0);
  width: 28px;
}
.c-button__contact.is-footer {
  align-items: center;
  color: #000;
  display: flex;
  font-size: 1.4rem;
  font-weight: 400;
  height: 100%;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  padding: 0;
}
.c-button__contact.is-footer:hover .c-button__contact-bg path {
  fill: #FFE423;
}
.c-button__contact .c-button__contact-bg {
  height: auto;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: -1;
}
.c-button__contact .c-button__contact-bg path {
  fill: transparent;
  transition: fill 0.3s ease;
}
.c-button__contact .c-button__contact-icon {
  margin: 0 7px 0 0;
}
.c-button__contact:hover {
  color: #000;
  opacity: 1;
}
.c-button__contact:hover .c-button__contact-bg path {
  fill: #fff;
}

.c-button__more {
  background: #000;
  color: #fff;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.4em;
  line-height: 1;
  padding: 22px 0 21px;
  position: relative;
  text-align: center;
  transition: color 0.1s ease, background-color 0.1s ease;
  width: 100%;
}
.c-button__more::before {
  background: url("images/icon-arrow-triangle.svg") no-repeat center center/contain;
  content: "";
  display: block;
  height: 16px;
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  width: 16px;
}
.c-button__more:hover {
  background: #F2F0F0;
  color: #000;
  opacity: 1;
}
.c-button__more:hover::before {
  background-image: url("images/icon-arrow-triangle-black.svg");
}

.c-button__download {
  background-color: #000000;
  color: #fff;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4166666667;
  padding: 12px 17px 10px;
}
.c-button__download:hover {
  color: #fff;
}
.c-button__download::after {
  background: url("images/icon-download-white.svg") no-repeat center center/contain;
  content: "";
  display: inline-block;
  height: 16px;
  margin: 0 0 -2px 5px;
  width: 19px;
}

/* ユーティリティー
------------------------------------*/
/*
    .u-mb-0{
        margin-bottom:0 !important;
    }

    .u-mr-5{
        margin-right:5rem !important;
    }

    .u-mt-15{
        margin-right:15rem !important;
    }
*/
.u-mt-0 {
  margin-top: 0rem !important;
}

.u-mt-1 {
  margin-top: 1rem !important;
}

.u-mt-2 {
  margin-top: 2rem !important;
}

.u-mt-3 {
  margin-top: 3rem !important;
}

.u-mt-4 {
  margin-top: 4rem !important;
}

.u-mt-5 {
  margin-top: 5rem !important;
}

.u-mt-6 {
  margin-top: 6rem !important;
}

.u-mt-7 {
  margin-top: 7rem !important;
}

.u-mt-8 {
  margin-top: 8rem !important;
}

.u-mt-9 {
  margin-top: 9rem !important;
}

.u-mt-10 {
  margin-top: 10rem !important;
}

.u-mt-11 {
  margin-top: 11rem !important;
}

.u-mt-12 {
  margin-top: 12rem !important;
}

.u-mt-13 {
  margin-top: 13rem !important;
}

.u-mt-14 {
  margin-top: 14rem !important;
}

.u-mt-15 {
  margin-top: 15rem !important;
}

.u-mt-16 {
  margin-top: 16rem !important;
}

.u-mt-17 {
  margin-top: 17rem !important;
}

.u-mt-18 {
  margin-top: 18rem !important;
}

.u-mt-19 {
  margin-top: 19rem !important;
}

.u-mt-20 {
  margin-top: 20rem !important;
}

.u-mt-21 {
  margin-top: 21rem !important;
}

.u-mt-22 {
  margin-top: 22rem !important;
}

.u-mt-23 {
  margin-top: 23rem !important;
}

.u-mt-24 {
  margin-top: 24rem !important;
}

.u-mt-25 {
  margin-top: 25rem !important;
}

.u-mt-26 {
  margin-top: 26rem !important;
}

.u-mt-27 {
  margin-top: 27rem !important;
}

.u-mt-28 {
  margin-top: 28rem !important;
}

.u-mt-29 {
  margin-top: 29rem !important;
}

.u-mt-30 {
  margin-top: 30rem !important;
}

.u-mt-31 {
  margin-top: 31rem !important;
}

.u-mt-32 {
  margin-top: 32rem !important;
}

.u-mt-33 {
  margin-top: 33rem !important;
}

.u-mt-34 {
  margin-top: 34rem !important;
}

.u-mt-35 {
  margin-top: 35rem !important;
}

.u-mt-36 {
  margin-top: 36rem !important;
}

.u-mt-37 {
  margin-top: 37rem !important;
}

.u-mt-38 {
  margin-top: 38rem !important;
}

.u-mt-39 {
  margin-top: 39rem !important;
}

.u-mt-40 {
  margin-top: 40rem !important;
}

@media screen and (min-width: 1px) and (max-width: 980px) {
  .u-tab-mt-0 {
    margin-top: 0rem !important;
  }
  .u-tab-mt-1 {
    margin-top: 1rem !important;
  }
  .u-tab-mt-2 {
    margin-top: 2rem !important;
  }
  .u-tab-mt-3 {
    margin-top: 3rem !important;
  }
  .u-tab-mt-4 {
    margin-top: 4rem !important;
  }
  .u-tab-mt-5 {
    margin-top: 5rem !important;
  }
  .u-tab-mt-6 {
    margin-top: 6rem !important;
  }
  .u-tab-mt-7 {
    margin-top: 7rem !important;
  }
  .u-tab-mt-8 {
    margin-top: 8rem !important;
  }
  .u-tab-mt-9 {
    margin-top: 9rem !important;
  }
  .u-tab-mt-10 {
    margin-top: 10rem !important;
  }
  .u-tab-mt-11 {
    margin-top: 11rem !important;
  }
  .u-tab-mt-12 {
    margin-top: 12rem !important;
  }
  .u-tab-mt-13 {
    margin-top: 13rem !important;
  }
  .u-tab-mt-14 {
    margin-top: 14rem !important;
  }
  .u-tab-mt-15 {
    margin-top: 15rem !important;
  }
  .u-tab-mt-16 {
    margin-top: 16rem !important;
  }
  .u-tab-mt-17 {
    margin-top: 17rem !important;
  }
  .u-tab-mt-18 {
    margin-top: 18rem !important;
  }
  .u-tab-mt-19 {
    margin-top: 19rem !important;
  }
  .u-tab-mt-20 {
    margin-top: 20rem !important;
  }
  .u-tab-mt-21 {
    margin-top: 21rem !important;
  }
  .u-tab-mt-22 {
    margin-top: 22rem !important;
  }
  .u-tab-mt-23 {
    margin-top: 23rem !important;
  }
  .u-tab-mt-24 {
    margin-top: 24rem !important;
  }
  .u-tab-mt-25 {
    margin-top: 25rem !important;
  }
  .u-tab-mt-26 {
    margin-top: 26rem !important;
  }
  .u-tab-mt-27 {
    margin-top: 27rem !important;
  }
  .u-tab-mt-28 {
    margin-top: 28rem !important;
  }
  .u-tab-mt-29 {
    margin-top: 29rem !important;
  }
  .u-tab-mt-30 {
    margin-top: 30rem !important;
  }
  .u-tab-mt-31 {
    margin-top: 31rem !important;
  }
  .u-tab-mt-32 {
    margin-top: 32rem !important;
  }
  .u-tab-mt-33 {
    margin-top: 33rem !important;
  }
  .u-tab-mt-34 {
    margin-top: 34rem !important;
  }
  .u-tab-mt-35 {
    margin-top: 35rem !important;
  }
  .u-tab-mt-36 {
    margin-top: 36rem !important;
  }
  .u-tab-mt-37 {
    margin-top: 37rem !important;
  }
  .u-tab-mt-38 {
    margin-top: 38rem !important;
  }
  .u-tab-mt-39 {
    margin-top: 39rem !important;
  }
  .u-tab-mt-40 {
    margin-top: 40rem !important;
  }
}
@media screen and (max-width: 650px) {
  .u-sp-mt-0 {
    margin-top: 0rem !important;
  }
  .u-sp-mt-1 {
    margin-top: 1rem !important;
  }
  .u-sp-mt-2 {
    margin-top: 2rem !important;
  }
  .u-sp-mt-3 {
    margin-top: 3rem !important;
  }
  .u-sp-mt-4 {
    margin-top: 4rem !important;
  }
  .u-sp-mt-5 {
    margin-top: 5rem !important;
  }
  .u-sp-mt-6 {
    margin-top: 6rem !important;
  }
  .u-sp-mt-7 {
    margin-top: 7rem !important;
  }
  .u-sp-mt-8 {
    margin-top: 8rem !important;
  }
  .u-sp-mt-9 {
    margin-top: 9rem !important;
  }
  .u-sp-mt-10 {
    margin-top: 10rem !important;
  }
  .u-sp-mt-11 {
    margin-top: 11rem !important;
  }
  .u-sp-mt-12 {
    margin-top: 12rem !important;
  }
  .u-sp-mt-13 {
    margin-top: 13rem !important;
  }
  .u-sp-mt-14 {
    margin-top: 14rem !important;
  }
  .u-sp-mt-15 {
    margin-top: 15rem !important;
  }
  .u-sp-mt-16 {
    margin-top: 16rem !important;
  }
  .u-sp-mt-17 {
    margin-top: 17rem !important;
  }
  .u-sp-mt-18 {
    margin-top: 18rem !important;
  }
  .u-sp-mt-19 {
    margin-top: 19rem !important;
  }
  .u-sp-mt-20 {
    margin-top: 20rem !important;
  }
  .u-sp-mt-21 {
    margin-top: 21rem !important;
  }
  .u-sp-mt-22 {
    margin-top: 22rem !important;
  }
  .u-sp-mt-23 {
    margin-top: 23rem !important;
  }
  .u-sp-mt-24 {
    margin-top: 24rem !important;
  }
  .u-sp-mt-25 {
    margin-top: 25rem !important;
  }
  .u-sp-mt-26 {
    margin-top: 26rem !important;
  }
  .u-sp-mt-27 {
    margin-top: 27rem !important;
  }
  .u-sp-mt-28 {
    margin-top: 28rem !important;
  }
  .u-sp-mt-29 {
    margin-top: 29rem !important;
  }
  .u-sp-mt-30 {
    margin-top: 30rem !important;
  }
  .u-sp-mt-31 {
    margin-top: 31rem !important;
  }
  .u-sp-mt-32 {
    margin-top: 32rem !important;
  }
  .u-sp-mt-33 {
    margin-top: 33rem !important;
  }
  .u-sp-mt-34 {
    margin-top: 34rem !important;
  }
  .u-sp-mt-35 {
    margin-top: 35rem !important;
  }
  .u-sp-mt-36 {
    margin-top: 36rem !important;
  }
  .u-sp-mt-37 {
    margin-top: 37rem !important;
  }
  .u-sp-mt-38 {
    margin-top: 38rem !important;
  }
  .u-sp-mt-39 {
    margin-top: 39rem !important;
  }
  .u-sp-mt-40 {
    margin-top: 40rem !important;
  }
}
.u-mr-0 {
  margin-right: 0rem !important;
}

.u-mr-1 {
  margin-right: 1rem !important;
}

.u-mr-2 {
  margin-right: 2rem !important;
}

.u-mr-3 {
  margin-right: 3rem !important;
}

.u-mr-4 {
  margin-right: 4rem !important;
}

.u-mr-5 {
  margin-right: 5rem !important;
}

.u-mr-6 {
  margin-right: 6rem !important;
}

.u-mr-7 {
  margin-right: 7rem !important;
}

.u-mr-8 {
  margin-right: 8rem !important;
}

.u-mr-9 {
  margin-right: 9rem !important;
}

.u-mr-10 {
  margin-right: 10rem !important;
}

.u-mr-11 {
  margin-right: 11rem !important;
}

.u-mr-12 {
  margin-right: 12rem !important;
}

.u-mr-13 {
  margin-right: 13rem !important;
}

.u-mr-14 {
  margin-right: 14rem !important;
}

.u-mr-15 {
  margin-right: 15rem !important;
}

.u-mr-16 {
  margin-right: 16rem !important;
}

.u-mr-17 {
  margin-right: 17rem !important;
}

.u-mr-18 {
  margin-right: 18rem !important;
}

.u-mr-19 {
  margin-right: 19rem !important;
}

.u-mr-20 {
  margin-right: 20rem !important;
}

.u-mr-21 {
  margin-right: 21rem !important;
}

.u-mr-22 {
  margin-right: 22rem !important;
}

.u-mr-23 {
  margin-right: 23rem !important;
}

.u-mr-24 {
  margin-right: 24rem !important;
}

.u-mr-25 {
  margin-right: 25rem !important;
}

.u-mr-26 {
  margin-right: 26rem !important;
}

.u-mr-27 {
  margin-right: 27rem !important;
}

.u-mr-28 {
  margin-right: 28rem !important;
}

.u-mr-29 {
  margin-right: 29rem !important;
}

.u-mr-30 {
  margin-right: 30rem !important;
}

.u-mr-31 {
  margin-right: 31rem !important;
}

.u-mr-32 {
  margin-right: 32rem !important;
}

.u-mr-33 {
  margin-right: 33rem !important;
}

.u-mr-34 {
  margin-right: 34rem !important;
}

.u-mr-35 {
  margin-right: 35rem !important;
}

.u-mr-36 {
  margin-right: 36rem !important;
}

.u-mr-37 {
  margin-right: 37rem !important;
}

.u-mr-38 {
  margin-right: 38rem !important;
}

.u-mr-39 {
  margin-right: 39rem !important;
}

.u-mr-40 {
  margin-right: 40rem !important;
}

@media screen and (min-width: 1px) and (max-width: 980px) {
  .u-tab-mr-0 {
    margin-right: 0rem !important;
  }
  .u-tab-mr-1 {
    margin-right: 1rem !important;
  }
  .u-tab-mr-2 {
    margin-right: 2rem !important;
  }
  .u-tab-mr-3 {
    margin-right: 3rem !important;
  }
  .u-tab-mr-4 {
    margin-right: 4rem !important;
  }
  .u-tab-mr-5 {
    margin-right: 5rem !important;
  }
  .u-tab-mr-6 {
    margin-right: 6rem !important;
  }
  .u-tab-mr-7 {
    margin-right: 7rem !important;
  }
  .u-tab-mr-8 {
    margin-right: 8rem !important;
  }
  .u-tab-mr-9 {
    margin-right: 9rem !important;
  }
  .u-tab-mr-10 {
    margin-right: 10rem !important;
  }
  .u-tab-mr-11 {
    margin-right: 11rem !important;
  }
  .u-tab-mr-12 {
    margin-right: 12rem !important;
  }
  .u-tab-mr-13 {
    margin-right: 13rem !important;
  }
  .u-tab-mr-14 {
    margin-right: 14rem !important;
  }
  .u-tab-mr-15 {
    margin-right: 15rem !important;
  }
  .u-tab-mr-16 {
    margin-right: 16rem !important;
  }
  .u-tab-mr-17 {
    margin-right: 17rem !important;
  }
  .u-tab-mr-18 {
    margin-right: 18rem !important;
  }
  .u-tab-mr-19 {
    margin-right: 19rem !important;
  }
  .u-tab-mr-20 {
    margin-right: 20rem !important;
  }
  .u-tab-mr-21 {
    margin-right: 21rem !important;
  }
  .u-tab-mr-22 {
    margin-right: 22rem !important;
  }
  .u-tab-mr-23 {
    margin-right: 23rem !important;
  }
  .u-tab-mr-24 {
    margin-right: 24rem !important;
  }
  .u-tab-mr-25 {
    margin-right: 25rem !important;
  }
  .u-tab-mr-26 {
    margin-right: 26rem !important;
  }
  .u-tab-mr-27 {
    margin-right: 27rem !important;
  }
  .u-tab-mr-28 {
    margin-right: 28rem !important;
  }
  .u-tab-mr-29 {
    margin-right: 29rem !important;
  }
  .u-tab-mr-30 {
    margin-right: 30rem !important;
  }
  .u-tab-mr-31 {
    margin-right: 31rem !important;
  }
  .u-tab-mr-32 {
    margin-right: 32rem !important;
  }
  .u-tab-mr-33 {
    margin-right: 33rem !important;
  }
  .u-tab-mr-34 {
    margin-right: 34rem !important;
  }
  .u-tab-mr-35 {
    margin-right: 35rem !important;
  }
  .u-tab-mr-36 {
    margin-right: 36rem !important;
  }
  .u-tab-mr-37 {
    margin-right: 37rem !important;
  }
  .u-tab-mr-38 {
    margin-right: 38rem !important;
  }
  .u-tab-mr-39 {
    margin-right: 39rem !important;
  }
  .u-tab-mr-40 {
    margin-right: 40rem !important;
  }
}
@media screen and (max-width: 650px) {
  .u-sp-mr-0 {
    margin-right: 0rem !important;
  }
  .u-sp-mr-1 {
    margin-right: 1rem !important;
  }
  .u-sp-mr-2 {
    margin-right: 2rem !important;
  }
  .u-sp-mr-3 {
    margin-right: 3rem !important;
  }
  .u-sp-mr-4 {
    margin-right: 4rem !important;
  }
  .u-sp-mr-5 {
    margin-right: 5rem !important;
  }
  .u-sp-mr-6 {
    margin-right: 6rem !important;
  }
  .u-sp-mr-7 {
    margin-right: 7rem !important;
  }
  .u-sp-mr-8 {
    margin-right: 8rem !important;
  }
  .u-sp-mr-9 {
    margin-right: 9rem !important;
  }
  .u-sp-mr-10 {
    margin-right: 10rem !important;
  }
  .u-sp-mr-11 {
    margin-right: 11rem !important;
  }
  .u-sp-mr-12 {
    margin-right: 12rem !important;
  }
  .u-sp-mr-13 {
    margin-right: 13rem !important;
  }
  .u-sp-mr-14 {
    margin-right: 14rem !important;
  }
  .u-sp-mr-15 {
    margin-right: 15rem !important;
  }
  .u-sp-mr-16 {
    margin-right: 16rem !important;
  }
  .u-sp-mr-17 {
    margin-right: 17rem !important;
  }
  .u-sp-mr-18 {
    margin-right: 18rem !important;
  }
  .u-sp-mr-19 {
    margin-right: 19rem !important;
  }
  .u-sp-mr-20 {
    margin-right: 20rem !important;
  }
  .u-sp-mr-21 {
    margin-right: 21rem !important;
  }
  .u-sp-mr-22 {
    margin-right: 22rem !important;
  }
  .u-sp-mr-23 {
    margin-right: 23rem !important;
  }
  .u-sp-mr-24 {
    margin-right: 24rem !important;
  }
  .u-sp-mr-25 {
    margin-right: 25rem !important;
  }
  .u-sp-mr-26 {
    margin-right: 26rem !important;
  }
  .u-sp-mr-27 {
    margin-right: 27rem !important;
  }
  .u-sp-mr-28 {
    margin-right: 28rem !important;
  }
  .u-sp-mr-29 {
    margin-right: 29rem !important;
  }
  .u-sp-mr-30 {
    margin-right: 30rem !important;
  }
  .u-sp-mr-31 {
    margin-right: 31rem !important;
  }
  .u-sp-mr-32 {
    margin-right: 32rem !important;
  }
  .u-sp-mr-33 {
    margin-right: 33rem !important;
  }
  .u-sp-mr-34 {
    margin-right: 34rem !important;
  }
  .u-sp-mr-35 {
    margin-right: 35rem !important;
  }
  .u-sp-mr-36 {
    margin-right: 36rem !important;
  }
  .u-sp-mr-37 {
    margin-right: 37rem !important;
  }
  .u-sp-mr-38 {
    margin-right: 38rem !important;
  }
  .u-sp-mr-39 {
    margin-right: 39rem !important;
  }
  .u-sp-mr-40 {
    margin-right: 40rem !important;
  }
}
.u-mb-0 {
  margin-bottom: 0rem !important;
}

.u-mb-1 {
  margin-bottom: 1rem !important;
}

.u-mb-2 {
  margin-bottom: 2rem !important;
}

.u-mb-3 {
  margin-bottom: 3rem !important;
}

.u-mb-4 {
  margin-bottom: 4rem !important;
}

.u-mb-5 {
  margin-bottom: 5rem !important;
}

.u-mb-6 {
  margin-bottom: 6rem !important;
}

.u-mb-7 {
  margin-bottom: 7rem !important;
}

.u-mb-8 {
  margin-bottom: 8rem !important;
}

.u-mb-9 {
  margin-bottom: 9rem !important;
}

.u-mb-10 {
  margin-bottom: 10rem !important;
}

.u-mb-11 {
  margin-bottom: 11rem !important;
}

.u-mb-12 {
  margin-bottom: 12rem !important;
}

.u-mb-13 {
  margin-bottom: 13rem !important;
}

.u-mb-14 {
  margin-bottom: 14rem !important;
}

.u-mb-15 {
  margin-bottom: 15rem !important;
}

.u-mb-16 {
  margin-bottom: 16rem !important;
}

.u-mb-17 {
  margin-bottom: 17rem !important;
}

.u-mb-18 {
  margin-bottom: 18rem !important;
}

.u-mb-19 {
  margin-bottom: 19rem !important;
}

.u-mb-20 {
  margin-bottom: 20rem !important;
}

.u-mb-21 {
  margin-bottom: 21rem !important;
}

.u-mb-22 {
  margin-bottom: 22rem !important;
}

.u-mb-23 {
  margin-bottom: 23rem !important;
}

.u-mb-24 {
  margin-bottom: 24rem !important;
}

.u-mb-25 {
  margin-bottom: 25rem !important;
}

.u-mb-26 {
  margin-bottom: 26rem !important;
}

.u-mb-27 {
  margin-bottom: 27rem !important;
}

.u-mb-28 {
  margin-bottom: 28rem !important;
}

.u-mb-29 {
  margin-bottom: 29rem !important;
}

.u-mb-30 {
  margin-bottom: 30rem !important;
}

.u-mb-31 {
  margin-bottom: 31rem !important;
}

.u-mb-32 {
  margin-bottom: 32rem !important;
}

.u-mb-33 {
  margin-bottom: 33rem !important;
}

.u-mb-34 {
  margin-bottom: 34rem !important;
}

.u-mb-35 {
  margin-bottom: 35rem !important;
}

.u-mb-36 {
  margin-bottom: 36rem !important;
}

.u-mb-37 {
  margin-bottom: 37rem !important;
}

.u-mb-38 {
  margin-bottom: 38rem !important;
}

.u-mb-39 {
  margin-bottom: 39rem !important;
}

.u-mb-40 {
  margin-bottom: 40rem !important;
}

@media screen and (min-width: 1px) and (max-width: 980px) {
  .u-tab-mb-0 {
    margin-bottom: 0rem !important;
  }
  .u-tab-mb-1 {
    margin-bottom: 1rem !important;
  }
  .u-tab-mb-2 {
    margin-bottom: 2rem !important;
  }
  .u-tab-mb-3 {
    margin-bottom: 3rem !important;
  }
  .u-tab-mb-4 {
    margin-bottom: 4rem !important;
  }
  .u-tab-mb-5 {
    margin-bottom: 5rem !important;
  }
  .u-tab-mb-6 {
    margin-bottom: 6rem !important;
  }
  .u-tab-mb-7 {
    margin-bottom: 7rem !important;
  }
  .u-tab-mb-8 {
    margin-bottom: 8rem !important;
  }
  .u-tab-mb-9 {
    margin-bottom: 9rem !important;
  }
  .u-tab-mb-10 {
    margin-bottom: 10rem !important;
  }
  .u-tab-mb-11 {
    margin-bottom: 11rem !important;
  }
  .u-tab-mb-12 {
    margin-bottom: 12rem !important;
  }
  .u-tab-mb-13 {
    margin-bottom: 13rem !important;
  }
  .u-tab-mb-14 {
    margin-bottom: 14rem !important;
  }
  .u-tab-mb-15 {
    margin-bottom: 15rem !important;
  }
  .u-tab-mb-16 {
    margin-bottom: 16rem !important;
  }
  .u-tab-mb-17 {
    margin-bottom: 17rem !important;
  }
  .u-tab-mb-18 {
    margin-bottom: 18rem !important;
  }
  .u-tab-mb-19 {
    margin-bottom: 19rem !important;
  }
  .u-tab-mb-20 {
    margin-bottom: 20rem !important;
  }
  .u-tab-mb-21 {
    margin-bottom: 21rem !important;
  }
  .u-tab-mb-22 {
    margin-bottom: 22rem !important;
  }
  .u-tab-mb-23 {
    margin-bottom: 23rem !important;
  }
  .u-tab-mb-24 {
    margin-bottom: 24rem !important;
  }
  .u-tab-mb-25 {
    margin-bottom: 25rem !important;
  }
  .u-tab-mb-26 {
    margin-bottom: 26rem !important;
  }
  .u-tab-mb-27 {
    margin-bottom: 27rem !important;
  }
  .u-tab-mb-28 {
    margin-bottom: 28rem !important;
  }
  .u-tab-mb-29 {
    margin-bottom: 29rem !important;
  }
  .u-tab-mb-30 {
    margin-bottom: 30rem !important;
  }
  .u-tab-mb-31 {
    margin-bottom: 31rem !important;
  }
  .u-tab-mb-32 {
    margin-bottom: 32rem !important;
  }
  .u-tab-mb-33 {
    margin-bottom: 33rem !important;
  }
  .u-tab-mb-34 {
    margin-bottom: 34rem !important;
  }
  .u-tab-mb-35 {
    margin-bottom: 35rem !important;
  }
  .u-tab-mb-36 {
    margin-bottom: 36rem !important;
  }
  .u-tab-mb-37 {
    margin-bottom: 37rem !important;
  }
  .u-tab-mb-38 {
    margin-bottom: 38rem !important;
  }
  .u-tab-mb-39 {
    margin-bottom: 39rem !important;
  }
  .u-tab-mb-40 {
    margin-bottom: 40rem !important;
  }
}
@media screen and (max-width: 650px) {
  .u-sp-mb-0 {
    margin-bottom: 0rem !important;
  }
  .u-sp-mb-1 {
    margin-bottom: 1rem !important;
  }
  .u-sp-mb-2 {
    margin-bottom: 2rem !important;
  }
  .u-sp-mb-3 {
    margin-bottom: 3rem !important;
  }
  .u-sp-mb-4 {
    margin-bottom: 4rem !important;
  }
  .u-sp-mb-5 {
    margin-bottom: 5rem !important;
  }
  .u-sp-mb-6 {
    margin-bottom: 6rem !important;
  }
  .u-sp-mb-7 {
    margin-bottom: 7rem !important;
  }
  .u-sp-mb-8 {
    margin-bottom: 8rem !important;
  }
  .u-sp-mb-9 {
    margin-bottom: 9rem !important;
  }
  .u-sp-mb-10 {
    margin-bottom: 10rem !important;
  }
  .u-sp-mb-11 {
    margin-bottom: 11rem !important;
  }
  .u-sp-mb-12 {
    margin-bottom: 12rem !important;
  }
  .u-sp-mb-13 {
    margin-bottom: 13rem !important;
  }
  .u-sp-mb-14 {
    margin-bottom: 14rem !important;
  }
  .u-sp-mb-15 {
    margin-bottom: 15rem !important;
  }
  .u-sp-mb-16 {
    margin-bottom: 16rem !important;
  }
  .u-sp-mb-17 {
    margin-bottom: 17rem !important;
  }
  .u-sp-mb-18 {
    margin-bottom: 18rem !important;
  }
  .u-sp-mb-19 {
    margin-bottom: 19rem !important;
  }
  .u-sp-mb-20 {
    margin-bottom: 20rem !important;
  }
  .u-sp-mb-21 {
    margin-bottom: 21rem !important;
  }
  .u-sp-mb-22 {
    margin-bottom: 22rem !important;
  }
  .u-sp-mb-23 {
    margin-bottom: 23rem !important;
  }
  .u-sp-mb-24 {
    margin-bottom: 24rem !important;
  }
  .u-sp-mb-25 {
    margin-bottom: 25rem !important;
  }
  .u-sp-mb-26 {
    margin-bottom: 26rem !important;
  }
  .u-sp-mb-27 {
    margin-bottom: 27rem !important;
  }
  .u-sp-mb-28 {
    margin-bottom: 28rem !important;
  }
  .u-sp-mb-29 {
    margin-bottom: 29rem !important;
  }
  .u-sp-mb-30 {
    margin-bottom: 30rem !important;
  }
  .u-sp-mb-31 {
    margin-bottom: 31rem !important;
  }
  .u-sp-mb-32 {
    margin-bottom: 32rem !important;
  }
  .u-sp-mb-33 {
    margin-bottom: 33rem !important;
  }
  .u-sp-mb-34 {
    margin-bottom: 34rem !important;
  }
  .u-sp-mb-35 {
    margin-bottom: 35rem !important;
  }
  .u-sp-mb-36 {
    margin-bottom: 36rem !important;
  }
  .u-sp-mb-37 {
    margin-bottom: 37rem !important;
  }
  .u-sp-mb-38 {
    margin-bottom: 38rem !important;
  }
  .u-sp-mb-39 {
    margin-bottom: 39rem !important;
  }
  .u-sp-mb-40 {
    margin-bottom: 40rem !important;
  }
}
.u-ml-0 {
  margin-left: 0rem !important;
}

.u-ml-1 {
  margin-left: 1rem !important;
}

.u-ml-2 {
  margin-left: 2rem !important;
}

.u-ml-3 {
  margin-left: 3rem !important;
}

.u-ml-4 {
  margin-left: 4rem !important;
}

.u-ml-5 {
  margin-left: 5rem !important;
}

.u-ml-6 {
  margin-left: 6rem !important;
}

.u-ml-7 {
  margin-left: 7rem !important;
}

.u-ml-8 {
  margin-left: 8rem !important;
}

.u-ml-9 {
  margin-left: 9rem !important;
}

.u-ml-10 {
  margin-left: 10rem !important;
}

.u-ml-11 {
  margin-left: 11rem !important;
}

.u-ml-12 {
  margin-left: 12rem !important;
}

.u-ml-13 {
  margin-left: 13rem !important;
}

.u-ml-14 {
  margin-left: 14rem !important;
}

.u-ml-15 {
  margin-left: 15rem !important;
}

.u-ml-16 {
  margin-left: 16rem !important;
}

.u-ml-17 {
  margin-left: 17rem !important;
}

.u-ml-18 {
  margin-left: 18rem !important;
}

.u-ml-19 {
  margin-left: 19rem !important;
}

.u-ml-20 {
  margin-left: 20rem !important;
}

.u-ml-21 {
  margin-left: 21rem !important;
}

.u-ml-22 {
  margin-left: 22rem !important;
}

.u-ml-23 {
  margin-left: 23rem !important;
}

.u-ml-24 {
  margin-left: 24rem !important;
}

.u-ml-25 {
  margin-left: 25rem !important;
}

.u-ml-26 {
  margin-left: 26rem !important;
}

.u-ml-27 {
  margin-left: 27rem !important;
}

.u-ml-28 {
  margin-left: 28rem !important;
}

.u-ml-29 {
  margin-left: 29rem !important;
}

.u-ml-30 {
  margin-left: 30rem !important;
}

.u-ml-31 {
  margin-left: 31rem !important;
}

.u-ml-32 {
  margin-left: 32rem !important;
}

.u-ml-33 {
  margin-left: 33rem !important;
}

.u-ml-34 {
  margin-left: 34rem !important;
}

.u-ml-35 {
  margin-left: 35rem !important;
}

.u-ml-36 {
  margin-left: 36rem !important;
}

.u-ml-37 {
  margin-left: 37rem !important;
}

.u-ml-38 {
  margin-left: 38rem !important;
}

.u-ml-39 {
  margin-left: 39rem !important;
}

.u-ml-40 {
  margin-left: 40rem !important;
}

@media screen and (min-width: 1px) and (max-width: 980px) {
  .u-tab-ml-0 {
    margin-left: 0rem !important;
  }
  .u-tab-ml-1 {
    margin-left: 1rem !important;
  }
  .u-tab-ml-2 {
    margin-left: 2rem !important;
  }
  .u-tab-ml-3 {
    margin-left: 3rem !important;
  }
  .u-tab-ml-4 {
    margin-left: 4rem !important;
  }
  .u-tab-ml-5 {
    margin-left: 5rem !important;
  }
  .u-tab-ml-6 {
    margin-left: 6rem !important;
  }
  .u-tab-ml-7 {
    margin-left: 7rem !important;
  }
  .u-tab-ml-8 {
    margin-left: 8rem !important;
  }
  .u-tab-ml-9 {
    margin-left: 9rem !important;
  }
  .u-tab-ml-10 {
    margin-left: 10rem !important;
  }
  .u-tab-ml-11 {
    margin-left: 11rem !important;
  }
  .u-tab-ml-12 {
    margin-left: 12rem !important;
  }
  .u-tab-ml-13 {
    margin-left: 13rem !important;
  }
  .u-tab-ml-14 {
    margin-left: 14rem !important;
  }
  .u-tab-ml-15 {
    margin-left: 15rem !important;
  }
  .u-tab-ml-16 {
    margin-left: 16rem !important;
  }
  .u-tab-ml-17 {
    margin-left: 17rem !important;
  }
  .u-tab-ml-18 {
    margin-left: 18rem !important;
  }
  .u-tab-ml-19 {
    margin-left: 19rem !important;
  }
  .u-tab-ml-20 {
    margin-left: 20rem !important;
  }
  .u-tab-ml-21 {
    margin-left: 21rem !important;
  }
  .u-tab-ml-22 {
    margin-left: 22rem !important;
  }
  .u-tab-ml-23 {
    margin-left: 23rem !important;
  }
  .u-tab-ml-24 {
    margin-left: 24rem !important;
  }
  .u-tab-ml-25 {
    margin-left: 25rem !important;
  }
  .u-tab-ml-26 {
    margin-left: 26rem !important;
  }
  .u-tab-ml-27 {
    margin-left: 27rem !important;
  }
  .u-tab-ml-28 {
    margin-left: 28rem !important;
  }
  .u-tab-ml-29 {
    margin-left: 29rem !important;
  }
  .u-tab-ml-30 {
    margin-left: 30rem !important;
  }
  .u-tab-ml-31 {
    margin-left: 31rem !important;
  }
  .u-tab-ml-32 {
    margin-left: 32rem !important;
  }
  .u-tab-ml-33 {
    margin-left: 33rem !important;
  }
  .u-tab-ml-34 {
    margin-left: 34rem !important;
  }
  .u-tab-ml-35 {
    margin-left: 35rem !important;
  }
  .u-tab-ml-36 {
    margin-left: 36rem !important;
  }
  .u-tab-ml-37 {
    margin-left: 37rem !important;
  }
  .u-tab-ml-38 {
    margin-left: 38rem !important;
  }
  .u-tab-ml-39 {
    margin-left: 39rem !important;
  }
  .u-tab-ml-40 {
    margin-left: 40rem !important;
  }
}
@media screen and (max-width: 650px) {
  .u-sp-ml-0 {
    margin-left: 0rem !important;
  }
  .u-sp-ml-1 {
    margin-left: 1rem !important;
  }
  .u-sp-ml-2 {
    margin-left: 2rem !important;
  }
  .u-sp-ml-3 {
    margin-left: 3rem !important;
  }
  .u-sp-ml-4 {
    margin-left: 4rem !important;
  }
  .u-sp-ml-5 {
    margin-left: 5rem !important;
  }
  .u-sp-ml-6 {
    margin-left: 6rem !important;
  }
  .u-sp-ml-7 {
    margin-left: 7rem !important;
  }
  .u-sp-ml-8 {
    margin-left: 8rem !important;
  }
  .u-sp-ml-9 {
    margin-left: 9rem !important;
  }
  .u-sp-ml-10 {
    margin-left: 10rem !important;
  }
  .u-sp-ml-11 {
    margin-left: 11rem !important;
  }
  .u-sp-ml-12 {
    margin-left: 12rem !important;
  }
  .u-sp-ml-13 {
    margin-left: 13rem !important;
  }
  .u-sp-ml-14 {
    margin-left: 14rem !important;
  }
  .u-sp-ml-15 {
    margin-left: 15rem !important;
  }
  .u-sp-ml-16 {
    margin-left: 16rem !important;
  }
  .u-sp-ml-17 {
    margin-left: 17rem !important;
  }
  .u-sp-ml-18 {
    margin-left: 18rem !important;
  }
  .u-sp-ml-19 {
    margin-left: 19rem !important;
  }
  .u-sp-ml-20 {
    margin-left: 20rem !important;
  }
  .u-sp-ml-21 {
    margin-left: 21rem !important;
  }
  .u-sp-ml-22 {
    margin-left: 22rem !important;
  }
  .u-sp-ml-23 {
    margin-left: 23rem !important;
  }
  .u-sp-ml-24 {
    margin-left: 24rem !important;
  }
  .u-sp-ml-25 {
    margin-left: 25rem !important;
  }
  .u-sp-ml-26 {
    margin-left: 26rem !important;
  }
  .u-sp-ml-27 {
    margin-left: 27rem !important;
  }
  .u-sp-ml-28 {
    margin-left: 28rem !important;
  }
  .u-sp-ml-29 {
    margin-left: 29rem !important;
  }
  .u-sp-ml-30 {
    margin-left: 30rem !important;
  }
  .u-sp-ml-31 {
    margin-left: 31rem !important;
  }
  .u-sp-ml-32 {
    margin-left: 32rem !important;
  }
  .u-sp-ml-33 {
    margin-left: 33rem !important;
  }
  .u-sp-ml-34 {
    margin-left: 34rem !important;
  }
  .u-sp-ml-35 {
    margin-left: 35rem !important;
  }
  .u-sp-ml-36 {
    margin-left: 36rem !important;
  }
  .u-sp-ml-37 {
    margin-left: 37rem !important;
  }
  .u-sp-ml-38 {
    margin-left: 38rem !important;
  }
  .u-sp-ml-39 {
    margin-left: 39rem !important;
  }
  .u-sp-ml-40 {
    margin-left: 40rem !important;
  }
}
/* 文字を操作する系ユーティリティ */
.u-minchou {
  font-family: serif;
}

.u-gothic {
  font-family: fot-udkakugo-large-pr6n, sans-serif;
}

.u-fontS {
  font-size: 1.1rem;
}

.u-fontM {
  font-size: 2.2rem;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .u-fontM {
    font-size: 1.5rem;
  }
}

.u-fontL {
  font-size: 3rem;
}
@media screen and (max-width: 365px) {
  .u-fontL {
    font-size: 2.6rem;
  }
}

.u-fontN {
  font-size: 1.6rem;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .u-fontN {
    font-size: 1.4rem;
  }
}

.u-fontWhite {
  color: #fff;
}

.u-fontRed {
  color: #000000;
}

.u-normal {
  font-weight: 300;
}

.u-bold {
  font-weight: 700;
}

.u-ls__thin {
  letter-spacing: -0.05em;
}

.u-ls__wide {
  letter-spacing: 0.1em;
}

.u-lh1 {
  line-height: 1 !important;
}

.u-lh2 {
  line-height: 2 !important;
}

.u-lh3 {
  line-height: 3 !important;
}

.u-lh4 {
  line-height: 4 !important;
}

.u-textleft, .textleft, .alignleft {
  text-align: left !important;
}

.u-textcenter, .textcenter, .aligncenter {
  text-align: center !important;
}

.u-textright, .textright, .alignright {
  text-align: right !important;
}

.u-textjustify, .textjustify, .alignjustify {
  text-align: justify !important;
}

@media screen and (min-width: 1px) and (max-width: 980px) {
  .u-textcenter-sp {
    text-align: center !important;
  }
}

@media screen and (min-width: 1px) and (max-width: 980px) {
  .u-textleft-sp {
    text-align: left !important;
  }
}

@media screen and (min-width: 1px) and (max-width: 980px) {
  .u-textright-sp {
    text-align: right !important;
  }
}

.u-textline {
  text-decoration: underline;
}

.u-font10 {
  font-size: 10px !important;
}

.u-font11 {
  font-size: 11px !important;
}

.u-font12 {
  font-size: 12px !important;
}

.u-font13 {
  font-size: 13px !important;
}

.u-font14 {
  font-size: 14px !important;
}

.u-font15 {
  font-size: 15px !important;
}

.u-font16 {
  font-size: 16px !important;
}

.u-font17 {
  font-size: 17px !important;
}

.u-font18 {
  font-size: 18px !important;
}

.u-font19 {
  font-size: 19px !important;
}

.u-font20 {
  font-size: 20px !important;
}

.u-font21 {
  font-size: 21px !important;
}

.u-font22 {
  font-size: 22px !important;
}

.u-font23 {
  font-size: 23px !important;
}

.u-font24 {
  font-size: 24px !important;
}

.u-font25 {
  font-size: 25px !important;
}

.u-font26 {
  font-size: 26px !important;
}

.u-font27 {
  font-size: 27px !important;
}

.u-font28 {
  font-size: 28px !important;
}

.u-font29 {
  font-size: 29px !important;
}

.u-font30 {
  font-size: 30px !important;
}

.u-font31 {
  font-size: 31px !important;
}

.u-font32 {
  font-size: 32px !important;
}

.u-font33 {
  font-size: 33px !important;
}

.u-font34 {
  font-size: 34px !important;
}

.u-font35 {
  font-size: 35px !important;
}

.u-font36 {
  font-size: 36px !important;
}

.u-font37 {
  font-size: 37px !important;
}

.u-font38 {
  font-size: 38px !important;
}

.u-font39 {
  font-size: 39px !important;
}

.u-font40 {
  font-size: 40px !important;
}

.u-font41 {
  font-size: 41px !important;
}

.u-font42 {
  font-size: 42px !important;
}

.u-font43 {
  font-size: 43px !important;
}

.u-font44 {
  font-size: 44px !important;
}

.u-font45 {
  font-size: 45px !important;
}

.u-font46 {
  font-size: 46px !important;
}

.u-font47 {
  font-size: 47px !important;
}

.u-font48 {
  font-size: 48px !important;
}

.u-font49 {
  font-size: 49px !important;
}

.u-font50 {
  font-size: 50px !important;
}

.u-font51 {
  font-size: 51px !important;
}

.u-font52 {
  font-size: 52px !important;
}

.u-font53 {
  font-size: 53px !important;
}

.u-font54 {
  font-size: 54px !important;
}

.u-font55 {
  font-size: 55px !important;
}

.u-font56 {
  font-size: 56px !important;
}

.u-font57 {
  font-size: 57px !important;
}

.u-font58 {
  font-size: 58px !important;
}

.u-font59 {
  font-size: 59px !important;
}

.u-font60 {
  font-size: 60px !important;
}

@media screen and (min-width: 1px) and (max-width: 980px) {
  .u-tab-font0 {
    font-size: 0px !important;
  }
  .u-tab-font1 {
    font-size: 1px !important;
  }
  .u-tab-font2 {
    font-size: 2px !important;
  }
  .u-tab-font3 {
    font-size: 3px !important;
  }
  .u-tab-font4 {
    font-size: 4px !important;
  }
  .u-tab-font5 {
    font-size: 5px !important;
  }
  .u-tab-font6 {
    font-size: 6px !important;
  }
  .u-tab-font7 {
    font-size: 7px !important;
  }
  .u-tab-font8 {
    font-size: 8px !important;
  }
  .u-tab-font9 {
    font-size: 9px !important;
  }
  .u-tab-font10 {
    font-size: 10px !important;
  }
  .u-tab-font11 {
    font-size: 11px !important;
  }
  .u-tab-font12 {
    font-size: 12px !important;
  }
  .u-tab-font13 {
    font-size: 13px !important;
  }
  .u-tab-font14 {
    font-size: 14px !important;
  }
  .u-tab-font15 {
    font-size: 15px !important;
  }
  .u-tab-font16 {
    font-size: 16px !important;
  }
  .u-tab-font17 {
    font-size: 17px !important;
  }
  .u-tab-font18 {
    font-size: 18px !important;
  }
  .u-tab-font19 {
    font-size: 19px !important;
  }
  .u-tab-font20 {
    font-size: 20px !important;
  }
  .u-tab-font21 {
    font-size: 21px !important;
  }
  .u-tab-font22 {
    font-size: 22px !important;
  }
  .u-tab-font23 {
    font-size: 23px !important;
  }
  .u-tab-font24 {
    font-size: 24px !important;
  }
  .u-tab-font25 {
    font-size: 25px !important;
  }
  .u-tab-font26 {
    font-size: 26px !important;
  }
  .u-tab-font27 {
    font-size: 27px !important;
  }
  .u-tab-font28 {
    font-size: 28px !important;
  }
  .u-tab-font29 {
    font-size: 29px !important;
  }
  .u-tab-font30 {
    font-size: 30px !important;
  }
  .u-tab-font31 {
    font-size: 31px !important;
  }
  .u-tab-font32 {
    font-size: 32px !important;
  }
  .u-tab-font33 {
    font-size: 33px !important;
  }
  .u-tab-font34 {
    font-size: 34px !important;
  }
  .u-tab-font35 {
    font-size: 35px !important;
  }
  .u-tab-font36 {
    font-size: 36px !important;
  }
  .u-tab-font37 {
    font-size: 37px !important;
  }
  .u-tab-font38 {
    font-size: 38px !important;
  }
  .u-tab-font39 {
    font-size: 39px !important;
  }
  .u-tab-font40 {
    font-size: 40px !important;
  }
  .u-tab-font41 {
    font-size: 41px !important;
  }
  .u-tab-font42 {
    font-size: 42px !important;
  }
  .u-tab-font43 {
    font-size: 43px !important;
  }
  .u-tab-font44 {
    font-size: 44px !important;
  }
  .u-tab-font45 {
    font-size: 45px !important;
  }
  .u-tab-font46 {
    font-size: 46px !important;
  }
  .u-tab-font47 {
    font-size: 47px !important;
  }
  .u-tab-font48 {
    font-size: 48px !important;
  }
  .u-tab-font49 {
    font-size: 49px !important;
  }
  .u-tab-font50 {
    font-size: 50px !important;
  }
  .u-tab-font51 {
    font-size: 51px !important;
  }
  .u-tab-font52 {
    font-size: 52px !important;
  }
  .u-tab-font53 {
    font-size: 53px !important;
  }
  .u-tab-font54 {
    font-size: 54px !important;
  }
  .u-tab-font55 {
    font-size: 55px !important;
  }
  .u-tab-font56 {
    font-size: 56px !important;
  }
  .u-tab-font57 {
    font-size: 57px !important;
  }
  .u-tab-font58 {
    font-size: 58px !important;
  }
  .u-tab-font59 {
    font-size: 59px !important;
  }
  .u-tab-font60 {
    font-size: 60px !important;
  }
}
@media screen and (max-width: 650px) {
  .u-sp-font0 {
    font-size: 0px !important;
  }
  .u-sp-font1 {
    font-size: 1px !important;
  }
  .u-sp-font2 {
    font-size: 2px !important;
  }
  .u-sp-font3 {
    font-size: 3px !important;
  }
  .u-sp-font4 {
    font-size: 4px !important;
  }
  .u-sp-font5 {
    font-size: 5px !important;
  }
  .u-sp-font6 {
    font-size: 6px !important;
  }
  .u-sp-font7 {
    font-size: 7px !important;
  }
  .u-sp-font8 {
    font-size: 8px !important;
  }
  .u-sp-font9 {
    font-size: 9px !important;
  }
  .u-sp-font10 {
    font-size: 10px !important;
  }
  .u-sp-font11 {
    font-size: 11px !important;
  }
  .u-sp-font12 {
    font-size: 12px !important;
  }
  .u-sp-font13 {
    font-size: 13px !important;
  }
  .u-sp-font14 {
    font-size: 14px !important;
  }
  .u-sp-font15 {
    font-size: 15px !important;
  }
  .u-sp-font16 {
    font-size: 16px !important;
  }
  .u-sp-font17 {
    font-size: 17px !important;
  }
  .u-sp-font18 {
    font-size: 18px !important;
  }
  .u-sp-font19 {
    font-size: 19px !important;
  }
  .u-sp-font20 {
    font-size: 20px !important;
  }
  .u-sp-font21 {
    font-size: 21px !important;
  }
  .u-sp-font22 {
    font-size: 22px !important;
  }
  .u-sp-font23 {
    font-size: 23px !important;
  }
  .u-sp-font24 {
    font-size: 24px !important;
  }
  .u-sp-font25 {
    font-size: 25px !important;
  }
  .u-sp-font26 {
    font-size: 26px !important;
  }
  .u-sp-font27 {
    font-size: 27px !important;
  }
  .u-sp-font28 {
    font-size: 28px !important;
  }
  .u-sp-font29 {
    font-size: 29px !important;
  }
  .u-sp-font30 {
    font-size: 30px !important;
  }
  .u-sp-font31 {
    font-size: 31px !important;
  }
  .u-sp-font32 {
    font-size: 32px !important;
  }
  .u-sp-font33 {
    font-size: 33px !important;
  }
  .u-sp-font34 {
    font-size: 34px !important;
  }
  .u-sp-font35 {
    font-size: 35px !important;
  }
  .u-sp-font36 {
    font-size: 36px !important;
  }
  .u-sp-font37 {
    font-size: 37px !important;
  }
  .u-sp-font38 {
    font-size: 38px !important;
  }
  .u-sp-font39 {
    font-size: 39px !important;
  }
  .u-sp-font40 {
    font-size: 40px !important;
  }
}
/* 表示&非表示を操作する系ユーティリティ */
.u-hide {
  display: none;
}

@media screen and (max-width: 650px) {
  .u-pc {
    display: none !important;
  }
}

.u-tab {
  display: none;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .u-tab {
    display: block !important;
  }
}

.u-sp {
  display: none !important;
}
@media screen and (max-width: 650px) {
  .u-sp {
    display: inline-block !important;
  }
}

.u-small {
  display: none;
}
@media screen and (max-width: 365px) {
  .u-small {
    display: inline-block;
  }
}

.u-pc-none {
  display: none !important;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .u-pc-none {
    display: inline-block !important;
  }
}

@media screen and (min-width: 1px) and (max-width: 980px) {
  .u-tab-none {
    display: none !important;
  }
}

@media screen and (max-width: 650px) {
  .u-sp-none {
    display: none !important;
  }
}

/* 居場所がなかったのでここに */
.u-inlineblock {
  display: inline-block;
}

/* サブページ
------------------------------------*/
.top-kv {
  margin: 0 calc(50% - 50vw);
  overflow: scroll;
  overflow-x: hidden;
  -ms-overflow-style: none;
  position: relative;
  scrollbar-width: none;
  width: 100vw;
  transform: translate3d(0, 0, 0);
}
.top-kv::-webkit-scrollbar {
  background-color: transparent;
  display: none;
  width: 0;
}
.top-kv .top-kv__skip {
  background-color: transparent;
  border: none;
  color: #999;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 12px;
  font-weight: 700;
  padding: 15px 25px;
  position: absolute;
  right: 0;
  bottom: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 1001;
}
.top-kv .top-kv__skip:hover {
  opacity: 0.5;
}
.top-kv .top-kv01,
.top-kv .top-kv02,
.top-kv .top-kv03,
.top-kv .top-kv04,
.top-kv .top-kv05 {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100vh;
  width: 100%;
}
.top-kv .top-kv01,
.top-kv .top-kv02,
.top-kv .top-kv03,
.top-kv .top-kv04,
.top-kv .top-kv05 {
  position: absolute;
  left: 0;
  top: 0;
}
.top-kv .top-kv01 {
  position: relative;
  z-index: 3;
}
.top-kv .top-kv01 .top-kv01__photo {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  width: 100%;
  z-index: -1;
}
.top-kv .top-kv01 .top-kv01__catchcopy.is-animated .top-kv01__catchcopy-main {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.6s ease-out 1.2s, transform 0.6s ease-out 1.2s;
}
.top-kv .top-kv01 .top-kv01__catchcopy.is-animated .top-kv01__catchcopy-sub {
  font-family: "リュウミン R-KL", serif;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.6s ease-out 1.25s, transform 0.6s ease-out 1.25s;
}
.top-kv .top-kv01 .top-kv01__catchcopy .top-kv01__catchcopy-main {
  opacity: 0;
  padding: 0 0 11px;
  transform: translate3d(0, 40px, 0);
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .top-kv .top-kv01 .top-kv01__catchcopy .top-kv01__catchcopy-main {
    margin: 0 auto;
    padding: 0 0 30px;
    width: 70.9333333333%;
  }
}
.top-kv .top-kv01 .top-kv01__catchcopy .top-kv01__catchcopy-sub {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 2.125;
  margin: 0 auto;
  max-width: 704px;
  opacity: 0;
  transform: translate3d(0, 40px, 0);
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .top-kv .top-kv01 .top-kv01__catchcopy .top-kv01__catchcopy-sub {
    font-size: 1.2rem;
    max-width: none;
    width: 78.6666666667%;
  }
}
.top-kv .top-kv02 {
  opacity: 0;
}
@media screen and (max-width: 650px) {
  .top-kv .top-kv02 {
    padding: 0 20px;
  }
}
.top-kv .top-kv03 {
  overflow: hidden;
  position: absolute;
}
.top-kv .top-kv03 .top-kv03__photo {
  align-items: center;
  display: flex;
  justify-content: center;
  line-height: 0;
  margin: auto;
  opacity: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
}
.top-kv .top-kv03 .top-kv03__photo:nth-child(1) {
  height: 70vh;
  width: 55vw;
}
.top-kv .top-kv03 .top-kv03__photo:nth-child(2) {
  height: 80vh;
  width: 70vw;
}
.top-kv .top-kv03 .top-kv03__photo:nth-child(3) {
  height: 90vh;
  width: 85vw;
}
.top-kv .top-kv03 .top-kv03__photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.top-kv .top-kv04 {
  opacity: 0;
  z-index: -1;
}
.top-kv .top-kv05 {
  height: 100vh;
  overflow: hidden;
  position: relative;
  width: 100vw;
}
.top-kv .top-kv05 .top-kv05__photo {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  width: 100%;
  z-index: -1;
}
.top-kv .top-kv05 .top-kv05__text {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
}
@media screen and (max-width: 650px) {
  .top-kv .top-kv05 .top-kv05__text {
    width: 42.6666666667%;
  }
}

.top-kv2 {
  height: 100vh;
  margin: 0 calc(50% - 50vw);
}
.top-kv2 .top-kv05 {
  position: relative;
  left: 0;
  top: 0;
}
.top-kv2 .top-kv05 .top-kv05__photo {
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.top-kv2 .top-kv05 .top-kv05__text {
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
}

.top-counter {
  padding: 116px 0 129px;
}
@media screen and (max-width: 650px) {
  .top-counter {
    padding: 60px 0 90px;
  }
}
.top-counter .top-counter__headline {
  font-size: 2.1rem;
  font-weight: 400;
  letter-spacing: 0.3em;
  line-height: 1;
  padding: 0 0 10px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .top-counter .top-counter__headline {
    font-size: 1.4rem;
    padding: 0 0 24px;
  }
}
.top-counter .top-counter__body {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0 0 42px;
  text-align: center;
}
.top-counter .top-counter__body .top-counter__number {
  font-size: 7.8rem;
  font-weight: 400;
  letter-spacing: 0.25em;
  line-height: 0.8;
  padding: 0 0 24px;
}
@media screen and (max-width: 650px) {
  .top-counter .top-counter__body .top-counter__number {
    font-size: 5.8rem;
    padding: 0 0 17px;
  }
}
.top-counter .top-counter__body .top-counter__number .odometer-digit {
  text-align: center;
  width: 77px;
}
.top-counter .top-counter__body .top-counter__number .odometer-value.odometer-last-value {
  width: 100% !important;
}
.top-counter .top-counter__body .top-counter__unit {
  font-size: 4.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 20px;
}
@media screen and (max-width: 650px) {
  .top-counter .top-counter__body .top-counter__unit {
    font-size: 2.4rem;
    padding: 0 0 13px;
  }
}
.top-counter .top-counter__body .top-counter__date {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  width: 100%;
}
@media screen and (max-width: 650px) {
  .top-counter .top-counter__body .top-counter__date {
    font-size: 1.4rem;
  }
}
.top-counter .top-counter__text {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.2em;
  line-height: 2;
  margin: 0 auto;
  max-width: 716px;
}
@media screen and (max-width: 650px) {
  .top-counter .top-counter__text {
    font-size: 1.2rem;
    line-height: 1.8333333333;
    padding: 0 20px;
  }
}

.top-galleries {
  display: grid;
  grid-template-columns: 50% 25% 25%;
  grid-template-rows: 20.625vw 14.765625vw 5.546875vw 20.859375vw;
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
}
@media screen and (max-width: 650px) {
  .top-galleries {
    grid-template-columns: 50% 50%;
    grid-template-rows: 20vw 20vw 20vw 40vw;
  }
}
.top-galleries .top-galleries__photo {
  position: relative;
  width: 100%;
}
.top-galleries .top-galleries__photo::after {
  background: url("images/bg-wall-galleries@2x.png") no-repeat center left/cover;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.top-galleries .top-galleries__photo:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}
.top-galleries .top-galleries__photo:nth-child(2) {
  grid-column: 2/4;
  grid-row: 1;
}
@media screen and (max-width: 650px) {
  .top-galleries .top-galleries__photo:nth-child(2) {
    grid-column: 2;
    grid-row: 2;
  }
}
.top-galleries .top-galleries__photo:nth-child(3) {
  grid-column: 1;
  grid-row: 2;
}
@media screen and (max-width: 650px) {
  .top-galleries .top-galleries__photo:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
  }
}
.top-galleries .top-galleries__photo:nth-child(4) {
  grid-column: 2/4;
  grid-row: 2/4;
}
@media screen and (max-width: 650px) {
  .top-galleries .top-galleries__photo:nth-child(4) {
    grid-column: 1;
    grid-row: 3;
  }
}
.top-galleries .top-galleries__photo:nth-child(5) {
  grid-column: 1;
  grid-row: 3/5;
}
@media screen and (max-width: 650px) {
  .top-galleries .top-galleries__photo:nth-child(5) {
    grid-column: 1;
    grid-row: 2;
  }
}
.top-galleries .top-galleries__photo:nth-child(6) {
  grid-column: 2;
  grid-row: 4;
}
@media screen and (max-width: 650px) {
  .top-galleries .top-galleries__photo:nth-child(6) {
    grid-column: 2;
    grid-row: 3;
  }
}
.top-galleries .top-galleries__photo:nth-child(7) {
  grid-column: 3;
  grid-row: 4;
}
@media screen and (max-width: 650px) {
  .top-galleries .top-galleries__photo:nth-child(7) {
    grid-column: 1/3;
    grid-row: 4;
  }
}
.top-galleries .top-galleries__photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.top-works {
  display: flex;
  justify-content: space-between;
  margin: 0 calc(50% - 50vw) 10px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .top-works {
    flex-direction: column;
  }
}

.top-about .top-about__title {
  margin: 0 0 28px;
  text-align: center;
}
.top-about .top-about__text {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.75;
  margin: 0 auto;
  max-width: 922px;
}
@media screen and (max-width: 650px) {
  .top-about .top-about__text {
    font-size: 1.2rem;
    line-height: 1.8333333333;
    max-width: 290px;
    margin: 0 auto;
  }
}

.top-service .top-service__list {
  display: flex;
  margin: 0 calc(50% - 50vw);
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .top-service .top-service__list {
    flex-direction: column;
  }
}
.top-service .top-service__list .top-service__items {
  height: 29.6875vw;
  margin: 0 0 40px;
  position: relative;
  transition: height 0.3s ease, margin 0.3s ease;
  width: 25%;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .top-service .top-service__list .top-service__items {
    height: 325px;
    margin: 0;
    width: 100%;
  }
}
.top-service .top-service__list .top-service__items:hover {
  height: 32.8125vw;
  opacity: 1;
  margin: 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .top-service .top-service__list .top-service__items:hover {
    height: 325px;
  }
}
.top-service .top-service__list .top-service__items:hover .top-service__items-photo::after {
  background: rgba(0, 0, 0, 0.7);
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .top-service .top-service__list .top-service__items:nth-child(even) .top-service__items-photo img {
    -o-object-position: center top;
       object-position: center top;
  }
}
.top-service .top-service__list .top-service__items .top-service__items-photo {
  display: block;
  height: 100%;
  line-height: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: -1;
}
.top-service .top-service__list .top-service__items .top-service__items-photo::after {
  background-color: rgba(0, 0, 0, 0.3);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transition: background-color 0.3s ease;
  width: 100%;
}
.top-service .top-service__list .top-service__items .top-service__items-photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.top-service .top-service__list .top-service__items .top-service__items-body {
  color: #fff;
  height: 100%;
  line-height: 0;
  padding: 7.421875vw 10px 0;
  text-align: center;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .top-service .top-service__list .top-service__items .top-service__items-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0;
  }
}
.top-service .top-service__list .top-service__items .top-service__items-headline {
  align-items: flex-end;
  display: flex;
  height: 75px;
  letter-spacing: 0;
  line-height: 1;
  margin: 0 auto;
  max-width: 235px;
  padding: 0 0 19px;
  text-align: left;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .top-service .top-service__list .top-service__items .top-service__items-headline {
    max-width: none;
  }
}
.top-service .top-service__list .top-service__items .top-service__items-headline .top-service__items-headline-en {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4vw;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.935483871;
}
@media screen and (min-width: 1281px) {
  .top-service .top-service__list .top-service__items .top-service__items-headline .top-service__items-headline-en {
    font-size: 3.1rem;
  }
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .top-service .top-service__list .top-service__items .top-service__items-headline .top-service__items-headline-en {
    font-size: 2.4rem;
    line-height: 1;
    padding: 0 0 5px;
  }
}
@media screen and (max-width: 650px) {
  .top-service .top-service__list .top-service__items .top-service__items-headline .top-service__items-headline-en {
    font-size: 2.2rem;
  }
}
.top-service .top-service__list .top-service__items .top-service__items-headline .top-service__items-headline-en img {
  width: 100%;
}
.top-service .top-service__list .top-service__items .top-service__items-text {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.7142857143;
  margin: 0 auto;
  max-width: 235px;
  text-align: left;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .top-service .top-service__list .top-service__items .top-service__items-text {
    font-size: 1.2rem;
    line-height: 1.5;
    max-width: 350px;
  }
}
@media screen and (max-width: 650px) {
  .top-service .top-service__list .top-service__items .top-service__items-text {
    font-size: 1.4rem;
    line-height: 1.7142857143;
    padding: 0 0 23px;
    width: 235px;
  }
}
.top-service .top-service__list .top-service__items .top-service__items-more {
  color: #fff;
  display: none;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1;
  z-index: 1;
}
@media screen and (max-width: 650px) {
  .top-service .top-service__list .top-service__items .top-service__items-more {
    display: block;
    font-size: 1.9rem;
  }
}
.top-service .top-service__list .top-service__items .top-service__items-more::after {
  border-right: solid 1px #fff;
  border-top: solid 1px #fff;
  display: none;
  content: "";
  height: 8px;
  margin: 0 6px 1px;
  transform: rotate(45deg);
  width: 8px;
}
@media screen and (max-width: 650px) {
  .top-service .top-service__list .top-service__items .top-service__items-more::after {
    display: inline-block;
  }
}

.top-news .top-news__headline {
  font-family: "Noto sans JP", sans-serif;
  font-size: 4.1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0 0 48px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .top-news .top-news__headline {
    font-size: 2.8rem;
    padding: 0 0 40px;
  }
}
.top-news .top-news__list {
  align-items: center;
  display: flex;
  margin: 0 calc(50% - 50vw);
}
@media screen and (max-width: 650px) {
  .top-news .top-news__list {
    flex-direction: column;
  }
}
.top-news .top-news__list .top-news__items {
  align-items: center;
  color: #fff;
  display: flex;
  height: 22.34375vw;
  justify-content: center;
  flex-direction: column;
  padding: 0 10px;
  position: relative;
  width: 33.3333333333%;
}
@media screen and (max-width: 650px) {
  .top-news .top-news__list .top-news__items {
    height: 251px;
    width: 100%;
  }
}
.top-news .top-news__list .top-news__items:hover {
  opacity: 1;
}
.top-news .top-news__list .top-news__items:hover .top-news__items-photo::before {
  opacity: 0.7;
}
.top-news .top-news__list .top-news__items .top-news__items-photo {
  display: block;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: -1;
}
.top-news .top-news__list .top-news__items .top-news__items-photo::before {
  background: #000;
  content: "";
  display: block;
  height: 100%;
  opacity: 0.4;
  position: absolute;
  left: 0;
  top: 0;
  transition: opacity 0.3s ease;
  width: 100%;
}
.top-news .top-news__list .top-news__items .top-news__items-photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.top-news .top-news__list .top-news__items .top-news__items-date {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0 0 20px;
}
.top-news .top-news__list .top-news__items .top-news__items-headline {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5;
  max-width: 232px;
  text-align: center;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .top-news .top-news__list .top-news__items .top-news__items-headline {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 650px) {
  .top-news .top-news__list .top-news__items .top-news__items-headline {
    font-size: 1.8rem;
  }
}

.top-contents .top-contents__headline {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4.1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0 0 46px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .top-contents .top-contents__headline {
    font-size: 2.8rem;
    padding: 0 0 40px;
  }
}
.top-contents .top-contents__list {
  display: grid;
  grid-template-columns: 50% 50%;
  grid-template-rows: 19.53125vw 19.6875vw;
  margin: 0 calc(50% - 50vw);
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .top-contents .top-contents__list {
    grid-template-rows: 250px 252px;
  }
}
@media screen and (max-width: 650px) {
  .top-contents .top-contents__list {
    display: block;
  }
}
.top-contents .top-contents__list .top-contents__items {
  align-items: center;
  display: flex;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 650px) {
  .top-contents .top-contents__list .top-contents__items {
    height: 160px;
  }
}
.top-contents .top-contents__list .top-contents__items.is-info .top-contents__items-photo::before {
  display: none;
}
.top-contents .top-contents__list .top-contents__items.is-info .top-contents__items-headline {
  align-items: center;
  color: #000;
  display: flex;
  justify-content: space-between;
  width: 262px;
}
.top-contents .top-contents__list .top-contents__items.is-info .top-contents__items-headline .top-contents__headline-en::before {
  display: none;
}
.top-contents .top-contents__list .top-contents__items.is-info .top-contents__items-headline .top-contents__headline-en .top-contents__headline-en-icon {
  margin: 0 15px 0 0;
}
.top-contents .top-contents__list .top-contents__items.is-info .top-contents__items-headline .top-contents__headline-en .top-contents__headline-en-icon path {
  transition: fill 0.3s ease;
}
.top-contents .top-contents__list .top-contents__items:hover {
  opacity: 1;
}
.top-contents .top-contents__list .top-contents__items:hover .top-contents__items-photo::after {
  transform: translate3d(0, 0, 0);
}
.top-contents .top-contents__list .top-contents__items:hover.is-info .top-contents__items-headline .top-contents__items-headline-logo g {
  fill: #fff;
}
.top-contents .top-contents__list .top-contents__items:hover.is-info .top-contents__items-headline .top-contents__headline-en {
  color: #fff;
}
.top-contents .top-contents__list .top-contents__items:hover.is-info .top-contents__items-headline .top-contents__headline-en .top-contents__headline-en-icon path {
  fill: #fff;
}
.top-contents .top-contents__list .top-contents__items:first-child {
  grid-column: 1;
  grid-row: 1;
}
.top-contents .top-contents__list .top-contents__items:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
}
.top-contents .top-contents__list .top-contents__items:last-child {
  grid-column: 1/3;
  grid-row: 2;
}
.top-contents .top-contents__list .top-contents__items .top-contents__items-photo {
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}
.top-contents .top-contents__list .top-contents__items .top-contents__items-photo::before {
  background: #000;
  content: "";
  display: block;
  height: 100%;
  opacity: 0.3;
  position: absolute;
  left: 0;
  top: 0;
  transition: opacity 0.3s ease;
  width: 100%;
}
.top-contents .top-contents__list .top-contents__items .top-contents__items-photo::after {
  background: #000;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: translate3d(-101%, 0, 0);
  transition: transform 0.3s linear;
  width: 100%;
  z-index: 1;
}
.top-contents .top-contents__list .top-contents__items .top-contents__items-photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.top-contents .top-contents__list .top-contents__items .top-contents__items-headline {
  color: #fff;
  text-align: center;
}
.top-contents .top-contents__list .top-contents__items .top-contents__items-headline .top-contents__items-headline-logo g {
  transition: fill 0.3s ease, background-image 3s ease;
}
.top-contents .top-contents__list .top-contents__items .top-contents__items-headline .top-contents__headline-en {
  transition: color 0.3s ease;
}
.top-contents .top-contents__list .top-contents__items .top-contents__items-headline .top-contents__headline-en {
  align-items: center;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.042em;
  line-height: 1;
}
@media screen and (max-width: 650px) {
  .top-contents .top-contents__list .top-contents__items .top-contents__items-headline .top-contents__headline-en {
    font-size: 2.2rem;
  }
}
.top-contents .top-contents__list .top-contents__items .top-contents__items-headline .top-contents__headline-en::before {
  background: url("images/icon-arrow-triangle.svg") no-repeat center center/contain;
  content: "";
  display: inline-block;
  height: 12px;
  margin: 0 15px 0 0;
  width: 15px;
}
@media screen and (max-width: 650px) {
  .top-contents .top-contents__list .top-contents__items .top-contents__items-headline .top-contents__headline-en::before {
    margin: 0 5px 0 0;
  }
}
.top-contents .top-contents__list .top-contents__items .top-contents__items-headline .top-contents__headline-ja {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  line-height: 1;
}
@media screen and (max-width: 650px) {
  .top-contents .top-contents__list .top-contents__items .top-contents__items-headline .top-contents__headline-ja {
    font-size: 1.4rem;
  }
}

.odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-up .odometer-ribbon-inner {
  transition: transform 3.5s !important;
}

.info-policy {
  padding: 90px 0 42px;
  position: relative;
}
@media screen and (max-width: 650px) {
  .info-policy {
    padding: 54px 0 56px;
  }
}
.info-policy::before {
  background: url("images/bg-baige@2x.jpg") no-repeat center center/cover;
  content: "";
  display: block;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  z-index: -2;
}
.info-policy::after {
  background: url("images/bg-info-policy@2x.png") no-repeat center center/100%;
  content: "";
  display: block;
  height: 716px;
  position: absolute;
  left: 50%;
  top: 59%;
  transform: translate3d(-50%, -50%, 0);
  width: 988px;
  z-index: -1;
}
@media screen and (max-width: 650px) {
  .info-policy::after {
    top: 341px;
    width: 610px;
  }
}
.info-policy .info-policy__items {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 0 0 70px;
}
@media screen and (max-width: 650px) {
  .info-policy .info-policy__items {
    padding: 0 20px 43px;
  }
}
.info-policy .info-policy__items:last-child {
  padding-bottom: 0;
}
.info-policy .info-policy__items .info-policy__items-headline {
  align-items: center;
  display: flex;
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  margin: 0 0 26px;
}
.info-policy .info-policy__items .info-policy__items-headline::before {
  background: #000;
  content: "";
  display: block;
  height: 1px;
  margin: 0 16px;
  width: 49px;
}
.info-policy .info-policy__items .info-policy__items-headline::after {
  background: #000;
  content: "";
  display: block;
  height: 1px;
  margin: 0 16px;
  width: 49px;
}
.info-policy .info-policy__items .info-policy__items-text {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .info-policy .info-policy__items .info-policy__items-text {
    font-size: 1.6rem;
  }
}
.info-policy .info-policy__items .info-policy__items-small {
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1;
}

.info-message {
  position: relative;
}
.info-message .info-message__header {
  height: 32.65625vw;
  min-height: 418px;
  padding: 113px 0 0;
  position: relative;
}
@media screen and (max-width: 650px) {
  .info-message .info-message__header {
    min-height: auto;
    height: 394px;
    padding: 205px 0 0;
  }
}
.info-message .info-message__header .info-message__header-background {
  display: block;
  height: 100%;
  line-height: 0;
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  z-index: -1;
}
@media screen and (max-width: 650px) {
  .info-message .info-message__header .info-message__header-background {
    height: 394px;
  }
}
.info-message .info-message__header .info-message__header-background img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  width: 100%;
}
.info-message .info-message__header .info-message__header-headline {
  line-height: 0;
  padding: 0 0 23px;
}
@media screen and (max-width: 650px) {
  .info-message .info-message__header .info-message__header-headline {
    padding: 0 0 14px;
  }
}
.info-message .info-message__header .info-message__header-headline .info-message__header-headline-en {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0 0 16px;
}
@media screen and (max-width: 650px) {
  .info-message .info-message__header .info-message__header-headline .info-message__header-headline-en {
    font-size: 3.3rem;
    padding: 0 0 8px;
  }
}
.info-message .info-message__header .info-message__header-headline .info-message__header-headline-ja {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 650px) {
  .info-message .info-message__header .info-message__header-headline .info-message__header-headline-ja {
    font-size: 1.8rem;
  }
}
.info-message .info-message__header .info-message__header-text {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0 0 42px;
}
@media screen and (max-width: 650px) {
  .info-message .info-message__header .info-message__header-text {
    font-size: 1.4rem;
    padding: 0 0 14px;
  }
}
.info-message .info-message__header .info-message__header-introduction {
  padding: 4px 0 11px;
  width: 304px;
}
.info-message .info-message__header .info-message__header-introduction .info-message__header-introduction-position {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 2.1428571429;
  padding: 0 0 2px;
}
.info-message .info-message__header .info-message__header-introduction .info-message__header-introduction-name {
  font-size: 2.1rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
.info-message .info-message__body {
  padding: 62px 0 125px;
  position: relative;
}
@media screen and (max-width: 650px) {
  .info-message .info-message__body {
    padding: 80px 20px 72px;
  }
}
.info-message .info-message__body .info-message__items {
  padding: 0 0 80px;
  text-align: center;
}
.info-message .info-message__body .info-message__items:last-child {
  padding: 0;
}
.info-message .info-message__body .info-message__items .info-message__items-headline {
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 45px;
}
.info-message .info-message__body .info-message__items .info-message__items-text {
  font-size: 1.7rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.3529411765;
  max-width: 760px;
  margin: 0 auto;
  text-align: left;
}
.info-message .info-message__link {
  background: url("images/bg-baige@2x.jpg") no-repeat center center/100%;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  display: block;
  height: 78px;
  padding: 15px 20px;
  position: absolute;
  right: -126px;
  top: 0px;
  transform: translate3d(0, -50%, 0);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  width: 293px;
  z-index: 5;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .info-message .info-message__link {
    right: 0;
  }
}
@media screen and (max-width: 650px) {
  .info-message .info-message__link {
    margin: 0 auto 22px;
    position: static;
  }
}
.info-message .info-message__link:hover {
  box-shadow: none;
  opacity: 1;
  transform: translate3d(3px, calc(-50% + 3px), 0);
}
.info-message .info-message__link .info-message__link-title-ja {
  border-bottom: solid 1px #000;
  font-family: "Sawarabi Mincho", serif;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.5em;
  line-height: 1;
  margin: 0 0 5px;
  padding: 0 0 3px;
  width: 130px;
}
.info-message .info-message__link .info-message__link-title-en {
  display: block;
  line-height: 0;
  padding: 0 0 3px;
}
.info-message .info-message__link .info-message__link-click {
  display: block;
  line-height: 0;
}
.info-message .info-message__link .info-message__link-image {
  position: absolute;
  left: 104px;
  top: -62px;
}

.info-overview {
  padding: 0 0 115px;
}
.info-overview .info-overview__list {
  list-style: none;
  padding: 50px 0 0;
}
@media screen and (max-width: 650px) {
  .info-overview .info-overview__list {
    padding: 44px 0 0;
  }
}
.info-overview .info-overview__list .info-overview__items {
  display: flex;
  justify-content: space-between;
  padding: 20px 0 9px;
}
@media screen and (max-width: 650px) {
  .info-overview .info-overview__list .info-overview__items {
    flex-direction: column;
    text-align: center;
    padding: 22px 0 18px;
  }
}
.info-overview .info-overview__list .info-overview__items.is-flex .info-overview__items-body {
  display: flex;
}
@media screen and (max-width: 650px) {
  .info-overview .info-overview__list .info-overview__items.is-flex .info-overview__items-body {
    flex-direction: column;
  }
}
.info-overview .info-overview__list .info-overview__items.is-flex .info-overview__items-body .info-overview__items-text {
  margin: 0 30px 0 0;
  max-width: 182px;
}
@media screen and (max-width: 650px) {
  .info-overview .info-overview__list .info-overview__items.is-flex .info-overview__items-body .info-overview__items-text {
    margin: 0;
    max-width: none;
  }
}
.info-overview .info-overview__list .info-overview__items.is-flex .info-overview__items-body .info-overview__items-text:last-child {
  margin: 0;
}
.info-overview .info-overview__list .info-overview__items.is-history {
  display: flex;
}
.info-overview .info-overview__list .info-overview__items.is-history .info-overview__items-body {
  display: flex;
  padding: 0 0 17px;
  width: 732px;
}
@media screen and (max-width: 650px) {
  .info-overview .info-overview__list .info-overview__items.is-history .info-overview__items-body {
    flex-direction: column;
    padding: 0 0 28px;
    width: auto;
  }
}
@media screen and (max-width: 650px) {
  .info-overview .info-overview__list .info-overview__items.is-history .info-overview__items-body:last-child {
    padding: 0;
  }
}
.info-overview .info-overview__list .info-overview__items.is-history .info-overview__items-body .info-overview__items-text:first-child {
  margin: 0 40px 0 0;
  width: 150px;
}
@media screen and (max-width: 650px) {
  .info-overview .info-overview__list .info-overview__items.is-history .info-overview__items-body .info-overview__items-text:first-child {
    margin: 0;
    padding: 0 0 6px;
    width: auto;
  }
}
.info-overview .info-overview__list .info-overview__items .info-overview__items-headline {
  font-size: 1.6rem;
  font-weight: 100;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 650px) {
  .info-overview .info-overview__list .info-overview__items .info-overview__items-headline {
    padding: 0 0 22px;
  }
}
.info-overview .info-overview__list .info-overview__items .info-overview__items-body {
  width: 541px;
}
@media screen and (max-width: 650px) {
  .info-overview .info-overview__list .info-overview__items .info-overview__items-body {
    width: auto;
  }
}
.info-overview .info-overview__list .info-overview__items .info-overview__items-body .info-overview__items-text {
  font-size: 1.6rem;
  font-weight: 100;
  letter-spacing: 0.05em;
  line-height: 1.6875;
}

.info-office .info-office__headline {
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  padding: 0 0 60px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .info-office .info-office__headline {
    font-size: 2.4rem;
  }
}
.info-office .info-office__body {
  padding: 82px 0 33px;
  position: relative;
}
@media screen and (max-width: 650px) {
  .info-office .info-office__body {
    padding: 63px 0 20px;
  }
}
.info-office .info-office__body::before {
  background: #F7F7F7;
  content: "";
  display: block;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  z-index: -1;
}
.info-office .info-office__body .info-office__items {
  padding: 0 0 40px;
  text-align: center;
}
.info-office .info-office__body .info-office__items .info-office__items-headline {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 19px;
}
.info-office .info-office__body .info-office__items .info-office__items-text {
  font-size: 1.6rem;
  font-weight: 100;
  letter-spacing: 0.05em;
  line-height: 1.875;
  padding: 0 0 15px;
}
.info-office .info-office__body .info-office__items .info-office__items-link {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1;
  text-decoration: underline;
}
.info-office .info-office__body .info-office__items .info-office__items-link::after {
  background: url("images/icon-link.svg") no-repeat center center/100%;
  content: "";
  display: inline-block;
  height: 11px;
  margin: 0 5px;
  width: 11px;
}
.info-office .info-office__body .info-office__items .info-office__items-link:hover {
  opacity: 1;
  text-decoration: none;
}

.about-policy {
  padding: 15.234375vw 0 38px;
  position: relative;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-policy {
    padding: 200px 0 38px;
  }
}
@media screen and (max-width: 650px) {
  .about-policy {
    padding: 18px 0 0;
  }
}
.about-policy::before {
  background: url("images/bg-about-policy@2x.jpg") no-repeat center top/cover;
  content: "";
  display: block;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  opacity: 0.9;
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  z-index: -1;
}
@media screen and (max-width: 650px) {
  .about-policy::before {
    background-image: url("images/bg-about-policy-sp@2x.jpg");
    opacity: 0.6;
  }
}
.about-policy .about-policy__headline {
  font-size: 4.6rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.015625;
  padding: 0 0 28px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .about-policy .about-policy__headline {
    padding: 0 0 8px;
  }
}
.about-policy .about-policy__text {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin: 0 auto;
  max-width: 814px;
  padding: 0 0 32px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .about-policy .about-policy__text {
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    line-height: 1.8333333333;
    padding: 0 20px 35px;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.71);
  }
}

.about-attraction {
  padding: 90px 0 0;
}
@media screen and (max-width: 650px) {
  .about-attraction {
    padding: 55px 0 0;
  }
}
.about-attraction .about-attraction__header {
  padding: 0 0 80px;
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__header {
    padding: 0 0 57px;
  }
}
.about-attraction .about-attraction__header .about-attraction__header-headline {
  font-size: 4.6rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 47px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__header .about-attraction__header-headline {
    margin: 0 auto;
    padding: 0 0 34px;
    width: 234px;
  }
}
.about-attraction .about-attraction__header .about-attraction__header-title {
  font-size: 2.1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4285714286;
  padding: 0 0 20px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__header .about-attraction__header-title {
    padding: 0 20px 34px;
  }
}
.about-attraction .about-attraction__header .about-attraction__header-text {
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin: 0 auto;
  max-width: 828px;
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__header .about-attraction__header-text {
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    line-height: 1.8333333333;
    padding: 0 20px;
  }
}
.about-attraction .about-attraction__list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 calc(50% - 50vw);
  padding: 0;
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__list {
    flex-direction: column;
  }
}
.about-attraction .about-attraction__list .about-attraction__items {
  background: #F7F7F7;
  position: relative;
  width: 50%;
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__list .about-attraction__items {
    width: 100%;
  }
}
.about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-photo {
  display: block;
  line-height: 0;
}
.about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-photo img {
  width: 100%;
}
.about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-headline {
  align-items: center;
  background: #000;
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 10.15625vw;
  justify-content: center;
  padding: 0 10px;
  position: absolute;
  left: 0;
  top: 0;
  width: 16.09375vw;
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-headline {
    height: 66px;
    position: static;
    width: 100%;
  }
}
.about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-headline .about-attraction__items-headline-en {
  display: block;
  font-family: "cochin", serif;
  font-size: 1.02vw;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.2;
  padding: 0 0 10px;
}
@media screen and (min-width: 1281px) {
  .about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-headline .about-attraction__items-headline-en {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-headline .about-attraction__items-headline-en {
    font-size: 1.3rem;
  }
}
.about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-headline .about-attraction__items-headline-ja {
  display: block;
  font-size: 1.02vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
@media screen and (min-width: 1281px) {
  .about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-headline .about-attraction__items-headline-ja {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-headline .about-attraction__items-headline-ja {
    font-size: 1.3rem;
  }
}
.about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body {
  padding: 55px;
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body {
    padding: 30px 40px;
  }
}
.about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body .about-attraction__items-title {
  font-size: 1.8rem;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1.5;
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body .about-attraction__items-title {
    font-size: 1.4rem;
    line-height: 1.4285714286;
  }
}
.about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body .about-attraction__items-title.is-border {
  margin: 0 0 30px;
  position: relative;
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body .about-attraction__items-title.is-border {
    font-size: 1.8rem;
  }
}
.about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body .about-attraction__items-title.is-border::after {
  background-image: linear-gradient(to right, #000, #000 6px, transparent 5px);
  background-repeat: repeat;
  background-size: 11px 2px;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  left: 0;
  top: 39px;
  width: 270px;
}
.about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body .about-attraction__items-list {
  font-size: 1.8rem;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1.5;
  list-style: none;
  padding: 0 0 10px 1em;
  text-indent: -0.5em;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body .about-attraction__items-list {
    min-height: 116px;
  }
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body .about-attraction__items-list {
    font-size: 1.4rem;
    line-height: 1.4285714286;
    min-height: auto;
    padding-bottom: 12px;
  }
}
.about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body .about-attraction__items-list li::before {
  content: "・";
  display: inline-block;
}
.about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body .about-attraction__items-text {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
  padding: 0 0 26px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body .about-attraction__items-text {
    min-height: 294px;
  }
}
@media screen and (max-width: 650px) {
  .about-attraction .about-attraction__list .about-attraction__items .about-attraction__items-body .about-attraction__items-text {
    min-height: auto;
  }
}

.about-achievements {
  padding: 0 0 140px;
}
@media screen and (max-width: 650px) {
  .about-achievements {
    padding: 0 0 73px;
  }
}
.about-achievements .about-achievements__header {
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
  padding: 46px 0;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .about-achievements .about-achievements__header {
    padding: 37px 40px 30px;
  }
}
.about-achievements .about-achievements__header .about-achievements__header-headline {
  align-items: center;
  display: flex;
  font-size: 4.6rem;
  font-weight: 400;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  padding: 0 0 23px;
}
.about-achievements .about-achievements__header .about-achievements__header-text {
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin: 0 auto 34px;
  max-width: 659px;
}
@media screen and (max-width: 650px) {
  .about-achievements .about-achievements__header .about-achievements__header-text {
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    line-height: 1.8333333333;
    margin-bottom: 30px;
    text-align: left;
  }
}
.about-achievements .about-achievements__header .about-achievements__header-image {
  display: block;
  line-height: 0;
}
@media screen and (max-width: 650px) {
  .about-achievements .about-achievements__header .about-achievements__header-image {
    margin: 0 auto;
    width: 130px;
  }
}
.about-achievements .about-achievements__header .about-achievements__header-bg-left {
  position: absolute;
  left: calc(50% - 62.8125vw);
  top: -16.015625vw;
  width: 36.015625vw;
  z-index: -1;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-achievements .about-achievements__header .about-achievements__header-bg-left {
    left: calc(50% - 89.84375vw);
    top: -27.734375vw;
    width: 58vw;
  }
}
@media screen and (max-width: 650px) {
  .about-achievements .about-achievements__header .about-achievements__header-bg-left {
    bottom: -17.3333333333vw;
    left: calc(50% - 76vw);
    top: auto;
    width: 49.8666666667vw;
  }
}
.about-achievements .about-achievements__header .about-achievements__header-bg-right {
  position: absolute;
  left: calc(50% + 22.1875vw);
  top: -17.03125vw;
  width: 45.546875vw;
  z-index: -1;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-achievements .about-achievements__header .about-achievements__header-bg-right {
    left: calc(50% + 23.75vw);
    width: 69vw;
  }
}
@media screen and (max-width: 650px) {
  .about-achievements .about-achievements__header .about-achievements__header-bg-right {
    left: calc(50% + 14.6666666667vw);
    top: 10.6666666667vw;
    width: 68.2666666667vw;
  }
}
.about-achievements .about-achievements__body {
  display: flex;
  margin: 0 calc(50% - 50vw);
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-achievements .about-achievements__body {
    flex-direction: column;
    padding: 0 20px;
  }
}
.about-achievements .about-achievements__body .about-achievements__body-inner {
  padding: 30px;
  width: 50%;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-achievements .about-achievements__body .about-achievements__body-inner {
    padding: 0 20px;
    width: 100%;
  }
}
.about-achievements .about-achievements__body .about-achievements__body-photo {
  display: block;
  line-height: 0;
  width: 50%;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-achievements .about-achievements__body .about-achievements__body-photo {
    margin: 0 -20px 45px;
    width: 100vw;
  }
}
.about-achievements .about-achievements__body .about-achievements__body-photo img {
  width: 100%;
}
.about-achievements .about-achievements__body .about-achievements__body-headline {
  font-size: 1.8rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1;
  position: relative;
  margin: 0 0 35px;
}
.about-achievements .about-achievements__body .about-achievements__body-headline::after {
  background-image: linear-gradient(to right, #000, #000 6px, transparent 5px);
  background-repeat: repeat;
  background-size: 11px 2px;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  left: 0;
  top: 30px;
  width: 285px;
}
.about-achievements .about-achievements__body .about-achievements__body-text {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
}
@media screen and (max-width: 650px) {
  .about-achievements .about-achievements__body .about-achievements__body-text {
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    line-height: 1.8333333333;
  }
}

.about-flow {
  margin: 0 calc(50% - 50vw) 27px;
}
.about-flow .about-flow__headline {
  line-height: 0;
  padding: 0 0 101px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .about-flow .about-flow__headline {
    padding: 0 20px 28px;
  }
}
.about-flow .about-flow__headline .about-flow__headline-en {
  font-family: "cochin", serif;
  display: block;
  font-size: 5.2rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 650px) {
  .about-flow .about-flow__headline .about-flow__headline-en {
    font-size: 3.2rem;
    padding: 0 0 6px;
    width: 100%;
  }
}
.about-flow .about-flow__headline .about-flow__headline-ja {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
}
@media screen and (max-width: 650px) {
  .about-flow .about-flow__headline .about-flow__headline-ja {
    font-size: 1.2rem;
  }
}
.about-flow .about-flow__list {
  counter-reset: num 0;
  list-style: none;
  margin: 0 auto;
  max-width: 1026px;
  padding: 0;
  position: relative;
  width: 100%;
}
.about-flow .about-flow__list::before {
  background: url("images/bg-triangle@2x.png") no-repeat top left/cover;
  content: "";
  display: block;
  height: 101%;
  position: absolute;
  left: -2px;
  top: 0;
  width: 145px;
  z-index: 1;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list::before {
    background-position: top left;
    width: 100%;
    z-index: -1;
  }
}
.about-flow .about-flow__list::after {
  background: #F8F5F5;
  content: "";
  display: none;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: -2;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list::after {
    display: block;
  }
}
.about-flow .about-flow__list .about-flow__items {
  border-top: solid 1px #777777;
  display: flex;
  width: 100%;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list .about-flow__items {
    flex-direction: column;
  }
}
.about-flow .about-flow__list .about-flow__items:last-child {
  border-bottom: solid 1px #777777;
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-step {
  background: #F8F5F5;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 23px;
  position: relative;
  text-align: right;
  width: 316px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list .about-flow__items .about-flow__items-step {
    background: none;
    padding: 34px 40px 26px;
    text-align: left;
    width: 100%;
  }
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-step::after {
  background: #000;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 3px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list .about-flow__items .about-flow__items-step::after {
    display: none;
  }
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-step .about-flow__items-step-counter {
  font-size: 2.8rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 18px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list .about-flow__items .about-flow__items-step .about-flow__items-step-counter {
    font-size: 2.4rem;
    padding: 0 0 10px;
  }
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-step .about-flow__items-step-counter::after {
  content: counter(num, decimal-leading-zero);
  counter-increment: num;
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-step .about-flow__items-step-text {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.3571428571;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list .about-flow__items .about-flow__items-step .about-flow__items-step-text {
    font-size: 1.2rem;
  }
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-body {
  padding: 40px 20px;
  position: relative;
  width: calc(100% - 316px);
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list .about-flow__items .about-flow__items-body {
    display: block;
    padding: 0 40px 37px;
    width: 100%;
  }
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-headline {
  font-size: 2.4rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.25;
  padding: 0 0 10px;
  white-space: nowrap;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-headline {
    padding: 0 0 10px;
    white-space: unset;
  }
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-text {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
  max-width: 421px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-text {
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    line-height: 1.8333333333;
    max-width: none;
    padding: 0 0 30px;
  }
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-illust {
  position: absolute;
  left: calc(50% + 170px);
  top: 50%;
  transform: translate3d(0, -50%, 0);
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-illust {
    text-align: center;
    position: static;
    transform: translate3d(0, 0, 0);
  }
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-illust img {
    max-width: 200px;
    min-width: 120px;
    width: 40.6779661017%;
  }
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-illust.is-link {
  left: calc(50% + 150px);
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-illust.is-link a {
  align-items: center;
  background: transparent;
  color: #000;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  height: 54px;
  justify-content: center;
  letter-spacing: 0.4em;
  line-height: 1;
  transition: background-color 0.3s ease, color 0.3s ease;
  width: 158px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-illust.is-link a {
    margin: 0 auto;
  }
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-illust.is-link a::before {
  background: url("images/icon-arrow-triangle-black.svg") no-repeat center left/contain;
  content: "";
  display: inline-block;
  height: 14px;
  margin: 0 13px 0 0;
  width: 16px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-illust.is-link a::before {
    height: 18px;
    width: 21px;
  }
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-illust.is-link a:hover {
  background: #3333FF;
  color: #fff;
  opacity: 1;
}
.about-flow .about-flow__list .about-flow__items .about-flow__items-body .about-flow__items-illust.is-link a:hover::before {
  background: url("images/icon-arrow-triangle.svg") no-repeat center left/contain;
}

.works-index__wrapper {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 650px) {
  .works-index__wrapper {
    flex-direction: column;
  }
}

@media screen and (max-width: 650px) {
  .works-index__download {
    margin: 0 0 40px;
    width: 100%;
  }
}

.works-index .works-index__button {
  align-items: center;
  display: flex;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  line-height: 1.6666666667;
  padding: 0 0 15px;
}
.works-index .works-index__button::after {
  content: "";
  display: block;
  border-bottom: solid 1px #707070;
  border-right: solid 1px #707070;
  height: 8px;
  margin: 0 0 0 20px;
  transform: rotate(45deg);
  width: 8px;
}
.works-index .works-index__button.is-open::after {
  margin-top: 6px;
  transform: rotate(-135deg);
}
.works-index .works-index__list {
  list-style: none;
  padding: 0;
  display: none;
}
.works-index .works-index__list .works-index__items .works-index__items-link {
  display: block;
  padding: 15px 0;
}
.works-index .works-index__list .works-index__items .works-index__items-link::after {
  background: url("images/icon-arrow-triangle-black.svg") no-repeat center center/contain;
  content: "";
  display: inline-block;
  height: 7px;
  margin: 0 0 0 10px;
  transform: rotate(90deg);
  width: 8px;
}
.works-index .works-index__list .works-index__items .works-index__items-main {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
.works-index .works-index__list .works-index__items .works-index__items-sub {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  padding: 0 0 0 5px;
}

.works-list {
  list-style: none;
  padding: 0;
}
@media screen and (max-width: 650px) {
  .works-list {
    padding: 0 0 70px;
  }
}
.works-list.is-recommend .works-list__items .works-list__items-photo {
  height: 253px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .works-list.is-recommend .works-list__items .works-list__items-photo {
    height: 19.765625vw;
  }
}
@media screen and (max-width: 650px) {
  .works-list.is-recommend .works-list__items .works-list__items-photo {
    height: 64vw;
  }
}
.works-list .works-list__items {
  border-top: solid 1px #707070;
  padding: 0 0 80px;
}
@media screen and (max-width: 650px) {
  .works-list .works-list__items {
    padding: 0 0 44px;
  }
}
.works-list .works-list__items:last-child {
  padding: 0;
}
@media screen and (max-width: 650px) {
  .works-list .works-list__items {
    margin: 0 calc(50% - 50vw);
  }
}
.works-list .works-list__items .works-list__items-link {
  display: block;
}
@media screen and (max-width: 650px) {
  .works-list .works-list__items .works-list__items-link {
    margin: 22px calc(50% - 50vw) 0;
  }
}
.works-list .works-list__items .works-list__items-headline {
  font-family: "Noto Serif JP", serif;
  padding: 7px 0 12px;
}
@media screen and (max-width: 650px) {
  .works-list .works-list__items .works-list__items-headline {
    padding: 0 40px 22px;
  }
}
.works-list .works-list__items .works-list__items-headline .works-list__items-headline-main {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 14px 0 0;
}
@media screen and (max-width: 650px) {
  .works-list .works-list__items .works-list__items-headline .works-list__items-headline-main {
    display: block;
    font-size: 1.6rem;
    padding: 0 0 10px;
  }
}
.works-list .works-list__items .works-list__items-headline .works-list__items-headline-sub {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 650px) {
  .works-list .works-list__items .works-list__items-headline .works-list__items-headline-sub {
    display: block;
  }
}
.works-list .works-list__items .works-list__items-photo {
  display: block;
  height: 520px;
  line-height: 0;
  margin: 0 0 17px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .works-list .works-list__items .works-list__items-photo {
    height: 40.625vw;
  }
}
@media screen and (max-width: 650px) {
  .works-list .works-list__items .works-list__items-photo {
    height: 64vw;
  }
}
.works-list .works-list__items .works-list__items-photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.works-list .works-list__items .works-list__items-text {
  font-size: 1.4rem;
  font-weight: 200;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
  max-width: 489px;
}
@media screen and (max-width: 650px) {
  .works-list .works-list__items .works-list__items-text {
    padding: 0 40px;
  }
}

.works-header {
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 650px) {
  .works-header {
    padding: 0 20px;
  }
}
.works-header .works-header__photo {
  display: block;
  height: auto;
  line-height: 0;
  overflow: hidden;
  margin: 0 calc(50% - 50vw) 90px;
}
@media screen and (max-width: 650px) {
  .works-header .works-header__photo {
    height: 80vw;
  }
}
.works-header .works-header__photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.works-header .works-header__headline {
  font-size: 2.8rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 30px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .works-header .works-header__headline {
    font-size: 2.2rem;
    padding: 0 0 20px;
  }
}

.works-body .works-body__text {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.375;
  margin: 0 auto 120px;
  max-width: 600px;
}
@media screen and (max-width: 650px) {
  .works-body .works-body__text {
    font-size: 1.2rem;
    letter-spacing: 0.12em;
    line-height: 1.8333333333;
    margin: 0 auto 60px;
  }
}
.works-body .works-body__text a {
  color: #0062A0;
  text-decoration: underline;
}
.works-body .works-body__text a:hover {
  opacity: 1;
  text-decoration: none;
}
.works-body .works-body__photos {
  display: grid;
  gap: 3px;
  grid-template-columns: 33.333% 33.333% 33.333%;
  grid-template-rows: 481px 222px;
  flex-wrap: wrap;
  line-height: 0;
  margin: 0 calc(50% - 50vw);
}
@media screen and (max-width: 650px) {
  .works-body .works-body__photos {
    grid-template-columns: 100%;
    grid-template-rows: 300px 196px 196px 196px;
  }
}
.works-body .works-body__photos img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.works-body .works-body__photos img:nth-child(1) {
  grid-column: 1/4;
  grid-row: 1;
}
.works-body .works-body__photos img:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}
.works-body .works-body__photos img:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}
@media screen and (max-width: 650px) {
  .works-body .works-body__photos img:nth-child(3) {
    grid-column: 1;
    grid-row: 3;
  }
}
.works-body .works-body__photos img:nth-child(4) {
  grid-column: 3;
  grid-row: 2;
}
@media screen and (max-width: 650px) {
  .works-body .works-body__photos img:nth-child(4) {
    grid-column: 1;
    grid-row: 4;
  }
}
.works-body .works-body__info {
  border-bottom: solid 1px #000;
  border-top: solid 1px #000;
  display: flex;
  font-family: "Noto Serif JP", serif;
  justify-content: center;
  margin: 0 0 80px;
  padding: 21px 0 23px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .works-body .works-body__info {
    align-items: center;
    flex-direction: column;
    margin: 0 20px 80px;
  }
}
@media screen and (max-width: 650px) {
  .works-body .works-body__info {
    margin-bottom: 60px;
  }
}
.works-body .works-body__info .works-body__info-items {
  align-items: center;
  display: flex;
  padding: 0 60px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .works-body .works-body__info .works-body__info-items {
    padding: 0 0 27px;
  }
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .works-body .works-body__info .works-body__info-items:last-child {
    padding: 0;
  }
}
.works-body .works-body__info .works-body__info-items .works-body__info-items-headline {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  margin: 0;
  padding: 0 20px 0 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .works-body .works-body__info .works-body__info-items .works-body__info-items-headline {
    font-size: 1.4rem;
  }
}
.works-body .works-body__info .works-body__info-items .works-body__info-items-text {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  margin: 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .works-body .works-body__info .works-body__info-items .works-body__info-items-text {
    font-size: 1.4rem;
  }
}
.works-body .wp-block-columns {
  display: block;
  margin: 0 0 90px;
}
.works-body .wp-block-columns::after {
  content: "";
  display: block;
  clear: both;
}
.works-body .wp-block-columns:nth-of-type(even) .wp-block-column .wp-block-image {
  float: right;
  margin: 0 0 0 4.0816326531%;
}
@media screen and (max-width: 650px) {
  .works-body .wp-block-columns:nth-of-type(even) .wp-block-column .wp-block-image {
    margin: 0 0 20px;
  }
}
.works-body .wp-block-columns .wp-block-column {
  margin: 0 !important;
}
.works-body .wp-block-columns .wp-block-column .wp-block-image {
  float: left;
  margin: 0 4.0816326531% 0 0;
  width: 69.387755102%;
}
@media screen and (max-width: 650px) {
  .works-body .wp-block-columns .wp-block-column .wp-block-image {
    margin: 0 0 20px;
    width: 100%;
  }
}
.works-body .wp-block-columns .wp-block-column .wp-block-image img {
  width: 100%;
}
.works-body .wp-block-columns .wp-block-column p {
  margin: 0;
}
.works-body h2,
.works-body h3,
.works-body h4 {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding: 0 0 20px;
}
.works-body p {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
  margin: 0 0 30px;
}
.works-body .works-body__contents {
  display: flex;
  justify-content: space-between;
  padding: 0 0 90px;
}
@media screen and (max-width: 650px) {
  .works-body .works-body__contents {
    flex-direction: column;
  }
}
.works-body .works-body__contents:nth-of-type(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 650px) {
  .works-body .works-body__contents:nth-of-type(even) {
    flex-direction: column;
  }
}
.works-body .works-body__contents .works-body__contents-photo {
  display: block;
  line-height: 0;
  width: 69.387755102%;
}
@media screen and (max-width: 650px) {
  .works-body .works-body__contents .works-body__contents-photo {
    margin: 0 0 20px;
    width: 100%;
  }
}
.works-body .works-body__contents .works-body__contents-photo img {
  width: 100%;
}
.works-body .works-body__contents .works-body__contents-body {
  width: 25.9183673469%;
}
@media screen and (max-width: 650px) {
  .works-body .works-body__contents .works-body__contents-body {
    width: 100%;
  }
}
.works-body .works-body__contents .works-body__contents-body .works-body__contents-body-headline {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding: 0 0 20px;
}
.works-body .works-body__contents .works-body__contents-body .works-body__contents-body-text {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
}
.works-body .works-body__bottom {
  padding: 0 0 90px;
}
.works-body .works-body__bottom .works-body__bottom-photo {
  display: block;
  height: 357px;
  line-height: 0;
  margin: 0 0 47px;
}
.works-body .works-body__bottom .works-body__bottom-photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.works-body .works-body__bottom .works-body__bottom-headline {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding: 0 0 20px;
}
.works-body .works-body__bottom .works-body__bottom-text {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
}
.works-body .works-body__galleries {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 650px) {
  .works-body .works-body__galleries {
    gap: 6px;
  }
}
.works-body .vr-photo {
  height: auto;
  min-height: 490px;
  width: 100%;
}
@media screen and (max-width: 650px) {
  .works-body .vr-photo {
    min-height: 180px;
  }
}

.works-recommend {
  padding: 80px 0 120px;
  position: relative;
}
.works-recommend::before {
  background: #F7F7F7;
  content: "";
  display: block;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  z-index: -1;
}
.works-recommend .works-recommend__headline {
  font-size: 2.8rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 80px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .works-recommend .works-recommend__headline {
    font-size: 1.8rem;
  }
}

.works-category {
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 650px) {
  .works-category {
    padding: 0 20px;
  }
}
.works-category.is-small {
  margin: 0 auto;
  max-width: 817px;
}
.works-category.is-small .works-category__list li a {
  font-size: 1.4rem;
}
.works-category.is-small .works-category__list li a::after {
  margin-top: 6px;
}
.works-category .works-category__button {
  align-items: center;
  display: flex;
  font-size: 2.4rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1;
  margin: 0 auto;
  padding: 0 0 60px;
}
@media screen and (max-width: 650px) {
  .works-category .works-category__button {
    font-size: 1.8rem;
  }
}
.works-category .works-category__list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}
.works-category .works-category__list li {
  padding: 0 0 16px;
  width: 33.3333333333%;
}
@media screen and (max-width: 650px) {
  .works-category .works-category__list li {
    width: 100%;
  }
}
.works-category .works-category__list li a {
  display: flex;
  font-size: 1.8rem;
  letter-spacing: 0;
  line-height: 1.1111111111;
  padding: 10px;
}
@media screen and (max-width: 650px) {
  .works-category .works-category__list li a {
    font-size: 1.4rem;
  }
}
.works-category .works-category__list li a::after {
  background: url("images/icon-arrow-triangle-black.svg") no-repeat center center/contain;
  content: "";
  display: block;
  height: 7px;
  margin: 8px 0 0 15px;
  transform: translate3d(0, 0, 0);
  transition: transform 0.3s ease;
  width: 8px;
}
@media screen and (max-width: 650px) {
  .works-category .works-category__list li a::after {
    margin: 4px 0 0 auto;
  }
}
.works-category .works-category__list li a:hover {
  opacity: 1;
}
.works-category .works-category__list li a:hover::after {
  transform: translate3d(5px, 0, 0);
}

.news-list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin: 0 calc(50% - 50vw);
}
@media screen and (max-width: 650px) {
  .news-list {
    flex-direction: column;
  }
}
.news-list .news-list__items {
  align-items: center;
  color: #fff;
  display: flex;
  height: 22.34375vw;
  justify-content: center;
  flex-direction: column;
  padding: 0 10px;
  position: relative;
  width: 33.3333333333%;
}
@media screen and (max-width: 650px) {
  .news-list .news-list__items {
    height: 197px;
    margin: 0 0 1px;
    width: 100%;
  }
}
.news-list .news-list__items:hover {
  opacity: 1;
}
.news-list .news-list__items:hover .news-list__items-photo::before {
  opacity: 0.7;
}
.news-list .news-list__items .news-list__items-photo {
  display: block;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: -1;
}
.news-list .news-list__items .news-list__items-photo::before {
  background: #000;
  content: "";
  display: block;
  height: 100%;
  opacity: 0.4;
  position: absolute;
  left: 0;
  top: 0;
  transition: opacity 0.3s ease;
  width: 100%;
}
.news-list .news-list__items .news-list__items-photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.news-list .news-list__items .news-list__items-date {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0 0 20px;
}
.news-list .news-list__items .news-list__items-headline {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  -webkit-line-clamp: 3;
  line-height: 1.5;
  max-width: 232px;
  overflow: hidden;
  text-align: center;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .news-list .news-list__items .news-list__items-headline {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 650px) {
  .news-list .news-list__items .news-list__items-headline {
    font-size: 1.8rem;
  }
}
.news-list .news-list__items.is-dammy {
  height: 0;
  min-height: 0;
  padding: 0;
}
.news-list .news-list__items.is-dammy::after {
  display: none;
}

.news-list-footer {
  padding: 0;
}
@media screen and (max-width: 650px) {
  .news-list-footer {
    padding: 0 20px;
  }
}

.news-list__index {
  align-items: center;
  display: flex;
  margin: 0 80px;
}
@media screen and (max-width: 650px) {
  .news-list__index {
    align-items: flex-start;
    flex-direction: column;
    margin: 0 20px;
  }
}
.news-list__index .news-list__index-title {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  min-width: 116px;
}
.news-list__index .news-list__index-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}
@media screen and (max-width: 650px) {
  .news-list__index .news-list__index-list {
    margin: 0 -10px;
  }
}
.news-list__index .news-list__index-list li {
  padding: 0 3px;
}
@media screen and (max-width: 650px) {
  .news-list__index .news-list__index-list li {
    padding: 0 5px;
  }
}
.news-list__index .news-list__index-list li a {
  color: #777777;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 10px;
  position: relative;
}
@media screen and (max-width: 650px) {
  .news-list__index .news-list__index-list li a {
    font-size: 1.4rem;
  }
}
.news-list__index .news-list__index-list li a::after {
  border-bottom: solid 1px #000000;
  content: "";
  display: none;
  height: 0;
  position: absolute;
  left: 10px;
  bottom: 0;
  width: calc(100% - 20px);
}
.news-list__index .news-list__index-list li a:hover::after {
  display: block;
}

.news-detail__photo {
  display: block;
  height: 346px;
  line-height: 0;
  margin: 0 calc(50% - 50vw) 45px;
  overflow: hidden;
}
@media screen and (max-width: 650px) {
  .news-detail__photo {
    height: 26.9333333333vw;
  }
}
.news-detail__photo img {
  width: 100%;
}

.news-body::after {
  clear: both;
  content: "";
  display: block;
}
.news-body .news-body__thumnail {
  display: block;
  float: right;
  line-height: 0;
  margin: 10px 0 0 4.0816326531%;
  width: 48.9795918367%;
}
@media screen and (max-width: 650px) {
  .news-body .news-body__thumnail {
    margin: 0 0 20px;
    width: 100%;
  }
}
.news-body .news-body__thumnail img {
  width: 100%;
}
.news-body .news-body__headline {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.3333333333;
  padding: 0 0 20px;
}
@media screen and (max-width: 650px) {
  .news-body .news-body__headline {
    line-height: 1.3333333333;
    padding: 0 0 29px;
  }
}
.news-body .news-body__info {
  padding: 0 0 20px;
}
.news-body .news-body__info .news-body__info-date {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0 20px 0 0;
}
.news-body .news-body__info .news-body__info-category {
  font-family: "Noto Sans JP", sans-serif;
  color: #0062A0;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
}
.news-body p {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin: 0 0 60px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .news-body p {
    font-size: 1.4rem;
  }
}
.news-body p:first-child::after {
  content: "";
  display: block;
  clear: both;
}
.news-body a {
  color: #0062A0;
  text-decoration: underline;
}
.news-body a:hover {
  text-decoration: none;
}
.news-body h2,
.news-body h3,
.news-body h4 {
  margin: 0 0 30px;
}
.news-body ul,
.news-body ol {
  margin: 0 0 30px;
}
.news-body .wp-block-image {
  display: block;
  line-height: 0;
  margin: 0 auto 30px;
}
.news-body iframe {
  width: 100%;
}
.news-body .wp-block-columns {
  display: block;
  margin: 0 0 60px;
}
.news-body .wp-block-columns:nth-of-type(even) .wp-block-column .wp-block-image {
  float: right;
  margin: 0 0 0 4.0816326531%;
}
@media screen and (max-width: 650px) {
  .news-body .wp-block-columns:nth-of-type(even) .wp-block-column .wp-block-image {
    margin: 0 0 20px;
  }
}
.news-body .wp-block-columns .wp-block-column {
  margin: 0 !important;
}
.news-body .wp-block-columns .wp-block-column .wp-block-image {
  float: left;
  margin: 0 4.0816326531% 0 0;
  width: 56.1224489796%;
}
@media screen and (max-width: 650px) {
  .news-body .wp-block-columns .wp-block-column .wp-block-image {
    margin: 0 0 20px;
    width: 100%;
  }
}
.news-body .wp-block-columns .wp-block-column .wp-block-image img {
  width: 100%;
}
.news-body .wp-block-columns .wp-block-column p {
  margin: 0;
}
.news-body .news-body__items:nth-of-type(even) .news-body__items-photo {
  float: right;
  margin: 0 0 0 4.0816326531%;
}
@media screen and (max-width: 650px) {
  .news-body .news-body__items:nth-of-type(even) .news-body__items-photo {
    margin: 0 0 20px;
  }
}
.news-body .news-body__items::after {
  content: "";
  display: block;
  clear: both;
}
.news-body .news-body__items .news-body__items-photo {
  display: block;
  float: left;
  line-height: 0;
  margin: 0 4.0816326531% 0 0;
  width: 56.1224489796%;
}
@media screen and (max-width: 650px) {
  .news-body .news-body__items .news-body__items-photo {
    margin: 0 0 20px;
    width: 100%;
  }
}
.news-body .news-body__items .news-body__items-photo img {
  width: 100%;
}
.news-body .news-body__items .news-body__items-text {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.875;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .news-body .news-body__items .news-body__items-text {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 650px) {
  .news-body .news-body__items .news-body__items-text {
    width: 100%;
  }
}
.news-body .news-body__items .news-body__items-text a {
  color: #0062A0;
  text-decoration: underline;
}
.news-body .news-body__items .news-body__items-text a:hover {
  text-decoration: none;
}

.news-footer {
  margin: 0 auto;
  max-width: 534px;
}
@media screen and (max-width: 650px) {
  .news-footer {
    padding: 0 20px;
  }
}
.news-footer .news-footer__nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
  padding: 0;
}
@media screen and (max-width: 650px) {
  .news-footer .news-footer__nav li:nth-child(1) {
    order: 2;
  }
}
@media screen and (max-width: 650px) {
  .news-footer .news-footer__nav li:nth-child(2) {
    display: flex;
    justify-content: center;
    order: 1;
    padding: 0 0 7px;
    text-align: center;
    width: 100%;
  }
}
@media screen and (max-width: 650px) {
  .news-footer .news-footer__nav li:nth-child(3) {
    order: 3;
  }
}
.news-footer .news-footer__nav li.is-hide {
  opacity: 0;
  pointer-events: none;
}
.news-footer .news-footer__nav li .news-footer__nav-link {
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 10px;
}
@media screen and (max-width: 650px) {
  .news-footer .news-footer__nav li .news-footer__nav-link {
    font-size: 1.4rem;
  }
}
.news-footer .news-footer__nav li .news-footer__nav-link img {
  height: 15px;
  margin: 3px 15px 0;
  width: 15px;
}
@media screen and (max-width: 650px) {
  .news-footer .news-footer__nav li .news-footer__nav-link img {
    margin: 1px 5px 0;
  }
}
.news-footer .news-footer__nav li .news-footer__nav-link.is-prev img {
  transform: rotate(180deg);
}
.news-footer .news-footer__nav li .news-footer__nav-link.is-list {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1;
}

.contact-header {
  text-align: center;
}
@media screen and (max-width: 650px) {
  .contact-header {
    padding: 0 20px;
  }
}
.contact-header .contact-header__text {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.875;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .contact-header .contact-header__text {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.7142857143;
  }
}

.contact-footer {
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
}
.contact-footer .contact-footer__illust {
  margin: 0 0 3px;
}
.contact-footer .contact-footer__title {
  font-size: 2.3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 25px;
}
.contact-footer .contact-footer__tel {
  display: block;
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  margin: 0 0 32px;
}
@media screen and (max-width: 650px) {
  .contact-footer .contact-footer__tel {
    font-size: 2.6rem;
  }
}
.contact-footer .contact-footer__text {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0 0 10px;
}
@media screen and (max-width: 650px) {
  .contact-footer .contact-footer__text {
    line-height: 1.3333333333;
    padding: 0 0 20px;
  }
}

.c-contents .contact-form {
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 auto;
  max-width: 662px;
}
@media screen and (max-width: 650px) {
  .c-contents .contact-form {
    padding: 0 20px;
  }
}
.c-contents .contact-form .p-country-name {
  display: none;
}
.c-contents .wpforms-container {
  padding: 0;
}
@media screen and (max-width: 650px) {
  .c-contents .wpforms-container {
    padding-bottom: 24px;
  }
}
.c-contents .wpforms-container .wpforms-form .wpforms-field {
  padding: 19px 0;
  /* selectbox */
}
.c-contents .wpforms-container .wpforms-form .wpforms-field.agree-checkbox {
  padding: 8px 0 26px;
}
@media screen and (max-width: 650px) {
  .c-contents .wpforms-container .wpforms-form .wpforms-field.agree-checkbox {
    padding: 26px 0;
  }
}
.c-contents .wpforms-container .wpforms-form .wpforms-field.agree-checkbox .wpforms-label-hide {
  height: 0;
  margin: 0;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field.agree-checkbox .wpforms-required-label {
  display: none;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field.agree-checkbox ul li a {
  text-decoration: underline;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field.agree-checkbox ul li a:hover {
  text-decoration: none;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field.agree-checkbox .wpforms-error {
  text-align: center;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field.wpforms-field-html {
  padding: 0;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field .wpforms-field-label {
  display: flex;
  flex-direction: row-reverse;
  font-size: 1.5rem;
  font-weight: 300;
  justify-content: flex-end;
  line-height: 1.3333333333;
  letter-spacing: 0.06em;
  margin: 0 0 13px 55px;
  position: relative;
}
@media screen and (max-width: 650px) {
  .c-contents .wpforms-container .wpforms-form .wpforms-field .wpforms-field-label {
    font-size: 1.2rem;
  }
}
.c-contents .wpforms-container .wpforms-form .wpforms-field .wpforms-field-label::before {
  background: #DEDEDE;
  color: #4E4E4E;
  content: "任意";
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1;
  padding: 3px 8px 4px;
  position: absolute;
  left: -55px;
  top: 2px;
  z-index: -1;
}
@media screen and (max-width: 650px) {
  .c-contents .wpforms-container .wpforms-form .wpforms-field .wpforms-field-label::before {
    top: -1px;
  }
}
.c-contents .wpforms-container .wpforms-form .wpforms-field .wpforms-field-label .wpforms-required-label {
  background: #000;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1;
  margin: 0 10px 0 0;
  padding: 3px 8px 4px;
  position: absolute;
  left: -55px;
  top: 2px;
}
@media screen and (max-width: 650px) {
  .c-contents .wpforms-container .wpforms-form .wpforms-field .wpforms-field-label .wpforms-required-label {
    top: -1px;
  }
}
.c-contents .wpforms-container .wpforms-form .wpforms-field textarea,
.c-contents .wpforms-container .wpforms-form .wpforms-field input {
  -webkit-appearance: none;
  border: solid 1px #B9B9B9;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.8;
  height: auto;
  padding: 16px 20px 17px;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field textarea::-moz-placeholder, .c-contents .wpforms-container .wpforms-form .wpforms-field input::-moz-placeholder {
  color: #B7B5B5;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field textarea::placeholder,
.c-contents .wpforms-container .wpforms-form .wpforms-field input::placeholder {
  color: #B7B5B5;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field textarea.wpforms-field-medium,
.c-contents .wpforms-container .wpforms-form .wpforms-field input.wpforms-field-medium {
  max-width: none;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field textarea.wpforms-field-small,
.c-contents .wpforms-container .wpforms-form .wpforms-field input.wpforms-field-small {
  max-width: 205px;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field textarea {
  min-height: 226px;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field input[type=checkbox],
.c-contents .wpforms-container .wpforms-form .wpforms-field input[type=radio] {
  display: none !important;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field input[type=checkbox] + label,
.c-contents .wpforms-container .wpforms-form .wpforms-field input[type=radio] + label {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  line-height: 1;
  padding: 0 0 0 30px;
  position: relative;
}
@media screen and (max-width: 365px) {
  .c-contents .wpforms-container .wpforms-form .wpforms-field input[type=checkbox] + label,
  .c-contents .wpforms-container .wpforms-form .wpforms-field input[type=radio] + label {
    font-size: 1.4rem;
    line-height: 1.3;
  }
}
.c-contents .wpforms-container .wpforms-form .wpforms-field input[type=checkbox] + label::before,
.c-contents .wpforms-container .wpforms-form .wpforms-field input[type=radio] + label::before {
  border: solid 1px #B2B2B2;
  border-radius: 50%;
  content: "";
  display: block;
  height: 16px;
  left: 0;
  position: absolute;
  top: calc(50% - 7px);
  width: 16px;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field input[type=checkbox] + label::after,
.c-contents .wpforms-container .wpforms-form .wpforms-field input[type=radio] + label::after {
  background: #B9B9B9;
  border-radius: 50%;
  content: "";
  display: block;
  height: 8px;
  opacity: 0;
  position: absolute;
  top: calc(50% - 3px);
  left: 4px;
  transition: opacity 0.1s ease-in-out;
  width: 8px;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field input[type=checkbox]:checked + label::after,
.c-contents .wpforms-container .wpforms-form .wpforms-field input[type=radio]:checked + label::after {
  opacity: 1;
}
@media screen and (max-width: 650px) {
  .c-contents .wpforms-container .wpforms-form .wpforms-field input[type=checkbox] + label {
    font-size: 1.4rem;
  }
}
.c-contents .wpforms-container .wpforms-form .wpforms-field input[type=checkbox] + label::before {
  height: 23px;
  top: calc(50% - 10px);
  width: 23px;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field input[type=checkbox] + label::after {
  height: 13px;
  top: calc(50% - 5px);
  left: 5px;
  width: 13px;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field .selectbox {
  background-color: #fff;
  background-image: url("../images/platform/icon-select-arrow.svg");
  background-position: calc(100% - 26px) center;
  background-repeat: no-repeat;
  background-size: 14px 8px;
  border: solid 2px #F2F0F0;
  border-radius: 5px;
  box-sizing: border-box;
  display: inline-block;
  height: 66px;
  margin: 15px auto 0;
  max-width: 565px;
  outline: none;
  width: 100%;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-contents .wpforms-container .wpforms-form .wpforms-field .selectbox {
    background-position: calc(100% - 18px) center;
    background-size: 11px 7px;
    height: 50px;
  }
}
.c-contents .wpforms-container .wpforms-form .wpforms-field .selectbox select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  color: #000;
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
  height: 64px;
  line-height: 1.3;
  margin: 0 0 10px;
  outline: none;
  padding: 0 25px;
  width: 95%;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .c-contents .wpforms-container .wpforms-form .wpforms-field .selectbox select {
    font-size: 1.4rem;
    height: 48px;
    padding: 7px 14px;
  }
}
.c-contents .wpforms-container .wpforms-form .wpforms-field .wpforms-field-description {
  margin: 5px auto 0;
  text-align: left;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field-radio ul {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 650px) {
  .c-contents .wpforms-container .wpforms-form .wpforms-field-radio ul {
    flex-direction: column;
  }
}
.c-contents .wpforms-container .wpforms-form .wpforms-field-radio ul li {
  align-items: center;
  display: flex;
  margin-bottom: 0 !important;
  padding: 0 30px 14px 0 !important;
}
.c-contents .wpforms-container .wpforms-form .wpforms-field-radio ul li label {
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.06em;
  line-height: 1.3333333333;
}
.c-contents .wpforms-container .wpforms-form .wpforms-submit-container {
  padding: 0;
}
.c-contents .wpforms-container .wpforms-form .wpforms-submit-container .wpforms-submit {
  background-color: #000;
  border: none;
  color: #fff;
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.4em;
  line-height: 1;
  margin: 0 auto;
  padding: 25px 0 25px 12px;
  position: relative;
  text-align: center;
  transition: background-color 0.3s ease, background-image 0.3s ease;
  width: 100%;
}
@media screen and (max-width: 365px) {
  .c-contents .wpforms-container .wpforms-form .wpforms-submit-container .wpforms-submit {
    letter-spacing: 0.06em;
  }
}
.c-contents .wpforms-container .wpforms-form .wpforms-submit-container .wpforms-submit::before {
  background: url("images/icon-arrow-triangle.svg") no-repeat center left/100%;
  content: "";
  display: block;
  height: 16px;
  position: absolute;
  left: calc(50% - 120px);
  top: 26px;
  width: 13px;
}
.c-contents .wpforms-container .wpforms-form .wpforms-submit-container .wpforms-submit:hover {
  background-color: #F2F0F0;
  color: #000;
}
.c-contents .wpforms-container .wpforms-form .wpforms-submit-container .wpforms-submit:hover::before {
  background-image: url("images/icon-arrow-triangle-black.svg");
}
.c-contents .wpforms-container .wpforms-form .wpforms-recaptcha-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 30px 0 50px;
}
.c-contents .wpforms-confirmation-container-full {
  background: transparent;
  border: solid 1px #0062A0;
  font-family: "Noto Sans JP", sans-serif;
}

.consultation-header {
  text-align: center;
}
@media screen and (max-width: 650px) {
  .consultation-header {
    padding: 50px 0 0;
  }
}
.consultation-header .consultation-header__headline {
  margin: 0 0 18px;
}
.consultation-header .consultation-header__text {
  padding: 0 0 38px;
}
@media screen and (max-width: 650px) {
  .consultation-header .consultation-header__text {
    padding: 0 0 49px;
  }
}
.consultation-header .consultation-header__photo {
  display: block;
  line-height: 0;
  margin: 0 calc(50% - 50vw);
  position: relative;
}
@media screen and (max-width: 650px) {
  .consultation-header .consultation-header__photo {
    height: 37.3333333333vw;
  }
}
.consultation-header .consultation-header__photo::before {
  background: url("images/bg-wall-dark.png") no-repeat center left/cover;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.consultation-header .consultation-header__photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.consultation-list {
  display: flex;
  list-style: none;
  margin: 0 calc(50% - 50vw);
  padding: 70px 0 100px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .consultation-list {
    border: none;
    flex-direction: column;
    padding: 0 40px 100px;
  }
}
.consultation-list .consultation-list__items {
  position: relative;
  text-align: center;
  width: 14.2857142857%;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .consultation-list .consultation-list__items {
    padding: 24px 0 20px;
    width: 100%;
  }
}
.consultation-list .consultation-list__items::before {
  background: #000;
  content: "";
  display: block;
  height: 1px;
  margin: 0 calc(50% - 50vw);
  opacity: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .consultation-list .consultation-list__items::before {
    opacity: 1;
  }
}
.consultation-list .consultation-list__items .consultation-list__items-headline {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  padding: 0 0 18px;
}
.consultation-list .consultation-list__items .consultation-list__items-illust {
  margin: 0 0 5px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .consultation-list .consultation-list__items .consultation-list__items-illust {
    margin: 0 0 4px;
  }
}
.consultation-list .consultation-list__items .consultation-list__items-text {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
  margin: 0 auto;
  text-align: left;
  width: 123px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .consultation-list .consultation-list__items .consultation-list__items-text {
    width: 100%;
  }
}

.consultation-button {
  margin: 0 auto;
  max-width: 316px;
}

.consultation-illust {
  padding: 50px 0 0;
  position: relative;
  text-align: center;
}
.consultation-illust::before {
  background: #777777;
  content: "";
  display: block;
  height: 1px;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .consultation-illust::before {
    display: none;
  }
}

.recruit-kv {
  height: 559px;
  margin: 0 calc(50% - 50vw);
  position: relative;
}
@media screen and (max-width: 650px) {
  .recruit-kv {
    height: 401px;
    margin-top: 40px;
  }
}
.recruit-kv .recruit-kv__background {
  display: block;
  height: 100%;
  line-height: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: -1;
}
.recruit-kv .recruit-kv__background::before {
  background: #000;
  content: "";
  display: block;
  height: 100%;
  opacity: 0.35;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 0;
}
.recruit-kv .recruit-kv__background img:first-child {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.recruit-kv .recruit-kv__background img:last-child {
  display: block;
  line-height: 0;
  position: absolute;
  left: 50%;
  top: -52px;
  transform: translate3d(-50%, 0, 0);
  z-index: 1;
}
@media screen and (max-width: 650px) {
  .recruit-kv .recruit-kv__background img:last-child {
    top: 0px;
    width: 215px;
  }
}
.recruit-kv .recruit-kv__title {
  padding: 295px 0 13px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .recruit-kv .recruit-kv__title {
    padding: 150px 0 10px;
  }
}
.recruit-kv .recruit-kv__text {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2.2222222222;
  margin: 0 auto;
  max-width: 569px;
}
@media screen and (max-width: 650px) {
  .recruit-kv .recruit-kv__text {
    font-size: 1.4rem;
    line-height: 1.5714285714;
    max-width: 291px;
  }
}

.recruit-works {
  padding: 120px 0 0;
}
@media screen and (max-width: 650px) {
  .recruit-works {
    padding: 60px 0 0;
  }
}
.recruit-works .recruit-works__header {
  padding: 0 0 120px;
}
@media screen and (max-width: 650px) {
  .recruit-works .recruit-works__header {
    padding: 0 0 36px;
  }
}
.recruit-works .recruit-works__header .recruit-works__header-headline {
  display: block;
  line-height: 0;
  padding: 0 0 25px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .recruit-works .recruit-works__header .recruit-works__header-headline {
    padding: 0 0 21px;
  }
}
.recruit-works .recruit-works__header .recruit-works__header-text {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2.1111111111;
  margin: 0 auto;
  max-width: 730px;
}
@media screen and (max-width: 650px) {
  .recruit-works .recruit-works__header .recruit-works__header-text {
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    line-height: 1.8333333333;
    padding: 0 20px;
  }
}
.recruit-works .recruit-works__top .recruit-works__top-headline {
  display: block;
  justify-content: center;
  line-height: 0;
  margin: 0 auto 60px;
  text-align: center;
}
.recruit-works .recruit-works__top .recruit-works__top-headline img {
  width: 66.1224489796%;
}
@media screen and (max-width: 650px) {
  .recruit-works .recruit-works__top .recruit-works__top-headline img {
    width: 280px;
  }
}
.recruit-works .recruit-works__top .recruit-works__top-text {
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin: 0 auto;
  max-width: 648px;
}
@media screen and (max-width: 650px) {
  .recruit-works .recruit-works__top .recruit-works__top-text {
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    line-height: 1.8333333333;
    padding: 0 20px;
  }
}
.recruit-works .recruit-works__bottom {
  display: flex;
  margin: 0 calc(50% - 50vw);
}
@media screen and (max-width: 650px) {
  .recruit-works .recruit-works__bottom {
    flex-wrap: wrap;
  }
}
.recruit-works .recruit-works__bottom img {
  width: 50%;
}

.recruit-feature {
  background: url("images/recruit-feature-background@2x.png") no-repeat center left/cover;
  margin: 0 calc(50% - 50vw);
  padding: 80px 0 90px;
}
@media screen and (max-width: 650px) {
  .recruit-feature {
    padding: 30px 0 60px;
  }
}
.recruit-feature .recruit-feature__header {
  padding: 0 0 78px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__header {
    padding: 0 20px 70px;
  }
}
@media screen and (max-width: 650px) {
  .recruit-feature .recruit-feature__header {
    padding: 0 40px 70px;
  }
}
.recruit-feature .recruit-feature__header .recruit-feature__header-headline {
  display: block;
  line-height: 0;
  padding: 0 0 25px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .recruit-feature .recruit-feature__header .recruit-feature__header-headline {
    padding: 0 0 15px;
  }
}
.recruit-feature .recruit-feature__header .recruit-feature__header-text {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2.1111111111;
  margin: 0 auto;
  max-width: 730px;
}
@media screen and (max-width: 650px) {
  .recruit-feature .recruit-feature__header .recruit-feature__header-text {
    font-size: 1.4rem;
    line-height: 1.7142857143;
  }
}
.recruit-feature .recruit-feature__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
  padding: 0 40px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list {
    flex-direction: column;
    padding: 0 20px;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__list-left,
.recruit-feature .recruit-feature__list .recruit-feature__list-right {
  width: calc(50% - 20px);
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__list-left,
  .recruit-feature .recruit-feature__list .recruit-feature__list-right {
    width: 100%;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items {
  margin: 0 0 40px;
  padding: 45px 35px 43px;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items {
    padding: 50px 30px;
  }
}
@media screen and (max-width: 650px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items {
    margin: 0 0 30px;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items::before {
  background: #fff;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: -1;
}
.recruit-feature .recruit-feature__list .recruit-feature__items.is-01 .recruit-feature__items-illust {
  bottom: 45px;
  right: -20px;
  max-width: 190px;
  width: 14.84375vw;
  z-index: -1;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items.is-01 .recruit-feature__items-illust {
    bottom: 133px;
    right: 35px;
    width: 25.3333333333vw;
    z-index: 0;
  }
}
@media screen and (max-width: 650px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items.is-01 .recruit-feature__items-illust {
    bottom: 188px;
    right: 35px;
    width: 95px;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items.is-02 .recruit-feature__items-illust {
  max-width: 204px;
  bottom: 20px;
  right: 20px;
  width: 15.9375vw;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items.is-02 .recruit-feature__items-illust {
    display: block;
    margin: 30px 40px 0 auto;
    position: static;
    width: 38.1333333333vw;
  }
}
@media screen and (max-width: 650px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items.is-02 .recruit-feature__items-illust {
    width: 143px;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items.is-03 {
  height: calc(100% - 40px);
  padding-bottom: 7px;
}
.recruit-feature .recruit-feature__list .recruit-feature__items.is-03 .recruit-feature__items-illust {
  max-width: 289px;
  bottom: 45px;
  right: 40px;
  width: 22.578125vw;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items.is-03 .recruit-feature__items-illust {
    display: block;
    margin: 40px 0 0 auto;
    position: static;
    width: 68.8vw;
  }
}
@media screen and (max-width: 650px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items.is-03 .recruit-feature__items-illust {
    width: 258px;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items.is-04 .recruit-feature__items-answer::before {
  max-width: 649px;
  width: 50.703125vw;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items.is-04 .recruit-feature__items-answer::before {
    max-width: none;
    width: 100%;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items.is-04 .recruit-feature__items-illust {
  max-width: 92px;
  right: 120px;
  top: 50px;
  width: 7.1875vw;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items.is-04 .recruit-feature__items-illust {
    right: 20px;
    top: 115px;
    width: 58px;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-category {
  background: #000;
  color: #fff;
  font-size: 2.1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  padding: 7px 21px 7px 80px;
  position: absolute;
  right: 0;
  top: 0;
  text-align: right;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-category {
    font-size: 1.6rem;
    padding: 9px 10px 9px 40px;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-number {
  font-size: 2.1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2;
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-headline {
  font-size: 2.1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4761904762;
  padding: 0 0 18px;
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-01 {
  display: flex;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-01 {
    flex-direction: column;
    padding: 0 0 20px;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-01 .recruit-feature__items-body {
  padding: 0 34px 6px 0;
}
@media screen and (max-width: 650px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-01 .recruit-feature__items-body {
    padding-bottom: 0;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-01 .recruit-feature__items-body:last-child {
  padding: 0;
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-01 .recruit-feature__items-body p {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.1428571429;
  max-width: 240px;
  padding: 0 0 19px;
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-answer {
  padding: 32px 0 0;
  position: relative;
}
@media screen and (max-width: 650px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-answer {
    padding: 19px 0 0;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-answer::before {
  background: url("images/recruit-feature-items-line.svg") repeat-x center left;
  content: "";
  display: block;
  height: 4px;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-answer .recruit-feature__items-answer-number {
  font-size: 2.1rem;
  font-weight: 200;
  letter-spacing: 0.1em;
  line-height: 2;
}
@media screen and (max-width: 650px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-answer .recruit-feature__items-answer-number {
    font-size: 1.9rem;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-answer .recruit-feature__items-answer-text {
  font-size: 1.8rem;
  font-weight: 200;
  letter-spacing: 0.05em;
  line-height: 1.8888888889;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-answer .recruit-feature__items-answer-text {
    font-size: 1.4rem;
    line-height: 1.7142857143;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-illust {
  position: absolute;
  z-index: 1;
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-02 {
  align-items: center;
  background: #0062A0;
  border-radius: 50%;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-weight: 700;
  font-size: 1.3rem;
  height: 10.46875vw;
  justify-content: center;
  letter-spacing: 0.05em;
  line-height: 1;
  max-height: 134px;
  max-width: 134px;
  position: absolute;
  right: 15.234375vw;
  bottom: 30px;
  width: 10.46875vw;
  z-index: 0;
}
@media screen and (min-width: 1281px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-02 {
    right: 195px;
  }
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-02 {
    font-size: 10px;
    height: 100px;
    bottom: 72px;
    right: 253px;
    width: 100px;
    z-index: -1;
  }
}
@media screen and (max-width: 650px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-02 {
    height: 100px;
    bottom: 52px;
    right: 198px;
    width: 100px;
    z-index: -1;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-02 .recruit-feature__items-02-large {
  font-size: 4vw;
}
@media screen and (min-width: 1281px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-02 .recruit-feature__items-02-large {
    font-size: 5.2rem;
  }
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-02 .recruit-feature__items-02-large {
    font-size: 3.8rem;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 0 10px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 {
    padding: 0;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items {
  padding: 0 0 30px;
  width: 33.3333333333%;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items {
    align-items: center;
    display: flex;
    flex-direction: column;
    width: 50%;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items .recruit-feature__items-03-category {
  align-items: center;
  display: flex;
  font-size: 1.5rem;
  font-weight: 200;
  letter-spacing: 0.05em;
  line-height: 1.4666666667;
  padding: 0 0 10px;
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items .recruit-feature__items-03-category img {
  margin: 0 10px 0 0;
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items .recruit-feature__items-03-circle {
  background: #0873B7;
  border-radius: 50%;
  height: 9.375vw;
  max-height: 120px;
  max-width: 120px;
  padding: 2.34375vw 0 0;
  position: relative;
  text-align: center;
  width: 9.375vw;
  z-index: 0;
}
@media screen and (min-width: 1281px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items .recruit-feature__items-03-circle {
    padding: 30px 0 0;
  }
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items .recruit-feature__items-03-circle {
    height: 100px;
    padding: 30px 0 0;
    width: 100px;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items .recruit-feature__items-03-circle.is-50 {
  background: conic-gradient(#0873B7 0% 50%, #D8D8D8 50% 100%);
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items .recruit-feature__items-03-circle.is-60 {
  background: conic-gradient(#0873B7 0% 60%, #D8D8D8 60% 100%);
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items .recruit-feature__items-03-circle::after {
  background: #fff;
  border-radius: 50%;
  content: "";
  display: block;
  height: 7.03125vw;
  max-height: 90px;
  max-width: 90px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
  width: 7.03125vw;
  z-index: 1;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items .recruit-feature__items-03-circle::after {
    height: 70px;
    width: 70px;
  }
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items .recruit-feature__items-03-circle .recruit-feature__items-03-title {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  position: relative;
  z-index: 2;
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items .recruit-feature__items-03-circle .recruit-feature__items-03-number {
  color: #0873B7;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 8px 0 0 8px;
  position: relative;
  z-index: 2;
}
.recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items .recruit-feature__items-03-circle .recruit-feature__items-03-number .recruit-feature__items-03-number-large {
  font-size: 2.7vw;
  letter-spacing: 0;
}
@media screen and (min-width: 1281px) {
  .recruit-feature .recruit-feature__list .recruit-feature__items .recruit-feature__items-03 .recruit-feature__items-03-items .recruit-feature__items-03-circle .recruit-feature__items-03-number .recruit-feature__items-03-number-large {
    font-size: 3.4rem;
  }
}
.recruit-feature .recruit-feature__button {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  width: 316px;
}

.recruit-history {
  background: url("images/bg-baige-large@2x.png") no-repeat center center/cover;
  display: block;
  height: 193px;
  margin: 0 auto;
  max-width: 730px;
  padding: 36px 44px;
  position: relative;
  transition: opacity 0.3s ease;
  z-index: 5;
}
@media screen and (max-width: 650px) {
  .recruit-history {
    height: auto;
    margin: 0 auto;
    max-width: 290px;
    padding: 61px 0 22px;
  }
}
.recruit-history:hover {
  opacity: 0.7;
}
.recruit-history.is-nolink:hover {
  opacity: 1;
}
@media screen and (max-width: 650px) {
  .recruit-history .recruit-history__inner {
    margin: 0 auto;
    width: 238px;
  }
}
.recruit-history .recruit-history__title-ja {
  border-bottom: solid 1px #000;
  font-family: "Sawarabi Mincho", serif;
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: 0.5em;
  line-height: 1;
  margin: 0 0 8px;
  padding: 0 0 8px;
  width: 324px;
}
@media screen and (max-width: 650px) {
  .recruit-history .recruit-history__title-ja {
    font-size: 2.1rem;
    margin: 0;
    padding: 0 0 14px;
    width: 100%;
  }
}
.recruit-history .recruit-history__title-en {
  display: block;
  line-height: 0;
  padding: 0 0 14px;
}
@media screen and (max-width: 650px) {
  .recruit-history .recruit-history__title-en svg {
    width: 185px;
  }
}
.recruit-history .recruit-history__click {
  display: block;
  line-height: 0;
}
.recruit-history .recruit-history__image {
  position: absolute;
  left: 264px;
  top: -154px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-history .recruit-history__image {
    left: 40%;
    top: -63%;
    width: 500px;
  }
}
@media screen and (max-width: 650px) {
  .recruit-history .recruit-history__image {
    left: 53%;
    top: -109px;
    transform: translate3d(-50%, 0, 0);
    width: 272px;
  }
}

.recruit-voice .recruit-voice__header {
  padding: 0 0 62px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__header {
    padding: 0 20px 216px;
  }
}
.recruit-voice .recruit-voice__header .recruit-voice__header-headline {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.2631578947;
  padding: 0 0 15px;
  text-align: center;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__header .recruit-voice__header-headline {
    font-size: 1.8rem;
    line-height: 1.5;
  }
}
.recruit-voice .recruit-voice__header .recruit-voice__header-text {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.5625;
  margin: 0 auto;
  max-width: 700px;
  padding: 0 0 60px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__header .recruit-voice__header-text {
    font-size: 1.4rem;
    font-weight: 200;
    letter-spacing: 0.05em;
    line-height: 1.7142857143;
    padding: 0 0 40px;
  }
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list {
  display: flex;
  list-style: none;
  margin: 0 calc(50% - 50vw - 1px);
  overflow: hidden;
  padding: 0;
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__header .recruit-voice__header-list {
    flex-direction: column;
  }
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items {
  padding: 0 1px;
  width: 33.3333333333%;
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items {
    padding: 0 0 3px;
    width: 100%;
  }
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-link {
  color: #fff;
  display: block;
  height: 28.28125vw;
  min-height: 272px;
  overflow: hidden;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-link {
    height: 40vw;
  }
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-link::before {
  background: #000;
  content: "";
  display: block;
  height: 100%;
  opacity: 0.4;
  position: absolute;
  left: 0;
  top: 0;
  transition: opacity 0.3s ease;
  width: 100%;
  z-index: -1;
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-link:hover::before {
  opacity: 0.2;
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-link:hover .recruit-voice__header-items-photo {
  transform: scale(1.1);
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-link:hover .recruit-voice__header-items-name::after {
  border-width: 2px;
  transform: rotate(45deg) scale(1.5) translate3d(calc(-50% + 3px), 3px, 0);
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-items-photo {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  transform: scale(1);
  transition: transform 0.3s ease;
  width: 100%;
  z-index: -2;
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-items-body {
  padding: max(8.59375vw, 100px) 0 0;
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-items-body {
    padding: 0;
    position: absolute;
    left: 55%;
    top: 43%;
    transform: translate3d(0, -50%, 0);
    min-width: 125px;
  }
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-items-department {
  font-size: 2.3rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.2173913043;
  padding: 0 0 15px;
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-items-department {
    font-size: 4.9vw;
    line-height: 1.5555555556;
    padding: 0 0 8px;
  }
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-items-name {
  position: relative;
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-items-name::after {
  border-bottom: solid 3px #fff;
  border-right: solid 3px #fff;
  content: "";
  display: block;
  height: 15px;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: rotate(45deg) translate3d(-50%, 0, 0);
  transition: transform 0.3s ease;
  width: 15px;
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-items-name::after {
    height: 12px;
    bottom: -30px;
    width: 12px;
  }
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-items-name .recruit-voice__header-items-name-ja {
  display: block;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 0.8571428571;
  padding: 0 0 5px;
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-items-name .recruit-voice__header-items-name-ja {
    font-size: 6vw;
    line-height: 0.7727272727;
  }
}
.recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-items-name .recruit-voice__header-items-name-en {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__header .recruit-voice__header-list .recruit-voice__header-items .recruit-voice__header-items-name .recruit-voice__header-items-name-en {
    font-size: 3.1vw;
    line-height: 1.4166666667;
  }
}
.recruit-voice .recruit-voice__list {
  list-style: none;
  padding: 0;
}
.recruit-voice .recruit-voice__list .recruit-voice__items {
  display: block;
  line-height: 0;
  padding: 0 0 150px;
  position: relative;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items {
    padding: 0 0 210px;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items:last-child {
  padding: 0;
}
.recruit-voice .recruit-voice__list .recruit-voice__items:nth-child(even) .recruit-voice__voice {
  left: calc(50% - 50vw);
  right: auto;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items:nth-child(even) .recruit-voice__voice .recruit-voice__voice-text {
    text-align: left;
  }
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items:nth-child(even) .recruit-voice__profile {
    margin: 0;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__photo {
  display: block;
  line-height: 0;
  margin: 0 calc(50% - 50vw) 45px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__photo {
    height: 300px;
  }
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__photo {
    height: auto;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top {
  display: flex;
  padding: 0 0 52px;
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top {
    flex-direction: column;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__profile {
  width: 47.9591836735%;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__profile {
    padding: 0 20px 35px;
  }
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__profile {
    width: 100%;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__profile .recruit-voice__profile-name {
  padding: 0 0 17px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__profile .recruit-voice__profile-name {
    padding: 0 0 24px;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__profile .recruit-voice__profile-name .recruit-voice__profile-name-ja {
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__profile .recruit-voice__profile-name .recruit-voice__profile-name-ja {
    display: block;
    padding: 0 0 10px;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__profile .recruit-voice__profile-name .recruit-voice__profile-name-en {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__profile .recruit-voice__profile-details {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5555555556;
  max-width: 360px;
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__profile .recruit-voice__profile-details {
    font-size: 1.2rem;
    line-height: 1.3333333333;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__goal {
  width: 52.0408163265%;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__goal {
    flex-direction: column;
    padding: 0 20px;
  }
}
@media screen and (max-width: 650px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__goal {
    width: 100%;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__goal .recruit-voice__goal-title {
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  padding: 0 0 10px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__goal .recruit-voice__goal-title {
    font-size: 2rem;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__top .recruit-voice__goal .recruit-voice__goal-text {
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.7272727273;
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq {
  align-items: center;
  display: flex;
  margin: 0 -150px 0 auto;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq {
    flex-direction: column;
    margin: 0;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq.is-reverse {
  flex-direction: row-reverse;
  margin: 0 -150px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq.is-reverse {
    flex-direction: column;
    margin: 0;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq.is-reverse .recruit-voice__faq-list {
  margin: 0 auto 0 80px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq.is-reverse .recruit-voice__faq-list {
    margin: 0;
    padding: 0 20px;
  }
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq.is-reverse .recruit-voice__faq-photo {
    margin: 0 auto 0 calc(50% - 50vw);
    width: 88.0597014925%;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice__faq-list {
  margin: 0 66px 0 0;
  width: 405px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice__faq-list {
    margin: 0;
    padding: 0 20px;
    width: 100%;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice__faq-list .recruit-voice__faq-title {
  align-items: flex-start;
  display: flex;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6666666667;
  padding: 0 0 9px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice__faq-list .recruit-voice__faq-title {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice__faq-list .recruit-voice__faq-title::before {
  background: #777777;
  border-radius: 50%;
  color: #fff;
  content: "Q";
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  height: 28px;
  letter-spacing: 0;
  line-height: 1;
  margin: 2px 18px 0 0;
  padding: 4px 0 0 7px;
  width: 28px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice__faq-list .recruit-voice__faq-title::before {
    margin-right: 12px;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice__faq-list .recruit-voice__faq-description {
  align-items: flex-start;
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.875;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice__faq-list .recruit-voice__faq-description {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice__faq-list .recruit-voice__faq-description::before {
  background: #126CD8;
  border-radius: 50%;
  color: #fff;
  content: "A";
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  height: 28px;
  letter-spacing: 0;
  line-height: 1;
  margin: 2px 18px 0 0;
  padding: 4px 0 0 9px;
  width: 28px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice__faq-list .recruit-voice__faq-description::before {
    margin-right: 12px;
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice__faq-list .recruit-voice__faq-text {
  width: calc(100% - 46px);
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice__faq-list .recruit-voice__faq-text {
    width: calc(100% - 28px);
  }
}
.recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice_faq-photo {
  display: block;
  line-height: 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-voice .recruit-voice__list .recruit-voice__items .recruit-voice__faq .recruit-voice_faq-photo {
    margin: 0 calc(50% - 50vw) 0 auto;
    text-align: right;
    width: 88.0597014925%;
  }
}
.recruit-voice .recruit-voice__button {
  margin: 0 auto;
  max-width: 316px;
}

.recruit-message {
  padding: 128px 0 118px;
  position: relative;
}
.recruit-message::before {
  background: url("images/bg-wall.png") no-repeat center center/cover;
  content: "";
  display: block;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  z-index: -1;
}
.recruit-message::after {
  background: #F7F7F7;
  content: "";
  display: block;
  height: calc(100% - 52px);
  margin: 0 calc(50% - 50vw);
  position: absolute;
  left: 0;
  top: 26px;
  width: 100vw;
  z-index: -1;
}
.recruit-message .recruit-message__header-headline {
  padding: 0 0 35px;
  text-align: center;
}
.recruit-message .recruit-message__header-headline .recruit-message__header-headline-en {
  display: block;
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0 0 8px;
}
.recruit-message .recruit-message__header-headline .recruit-message__header-headline-ja {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
.recruit-message .recruit-message__header-top {
  padding: 0 0 50px;
  text-align: center;
}
.recruit-message .recruit-message__header-top .recruit-message__header-top-sub {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 8px;
}
.recruit-message .recruit-message__header-top .recruit-message__header-top-main {
  font-size: 2.1rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
.recruit-message .recruit-message__body {
  margin: 0 auto;
  max-width: 844px;
}
.recruit-message .recruit-message__body .recruit-message__body-headline {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.75;
  padding: 0 0 20px;
  text-align: center;
}
.recruit-message .recruit-message__body .recruit-message__body-text {
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.875;
}

.recruit-process .recruit-process__headline {
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 52px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .recruit-process .recruit-process__headline {
    font-size: 2.2rem;
    padding: 0 0 13px;
  }
}
.recruit-process .recruit-process__list {
  counter-reset: item 0;
  list-style: none;
  padding: 0;
  position: relative;
}
.recruit-process .recruit-process__list::after {
  background: #777777;
  content: "";
  display: block;
  height: 1px;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
}
@media screen and (max-width: 650px) {
  .recruit-process .recruit-process__list::after {
    margin: 0;
    width: 100%;
  }
}
.recruit-process .recruit-process__list .recruit-process__items {
  align-items: center;
  display: flex;
  padding: 20px 0;
  position: relative;
}
@media screen and (max-width: 650px) {
  .recruit-process .recruit-process__list .recruit-process__items {
    margin: 0 20px;
    padding: 18px 0 17px;
  }
}
.recruit-process .recruit-process__list .recruit-process__items::before {
  content: counter(item);
  counter-increment: item;
  font-size: 3.8rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 25px 0 0;
}
@media screen and (max-width: 650px) {
  .recruit-process .recruit-process__list .recruit-process__items::before {
    font-size: 2.8rem;
    padding: 0 20px 0 0;
  }
}
.recruit-process .recruit-process__list .recruit-process__items::after {
  background: #777777;
  content: "";
  display: block;
  height: 1px;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
}
@media screen and (max-width: 650px) {
  .recruit-process .recruit-process__list .recruit-process__items::after {
    margin: 0;
    width: 100%;
  }
}
@media screen and (max-width: 650px) {
  .recruit-process .recruit-process__list .recruit-process__items.is-button {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.recruit-process .recruit-process__list .recruit-process__items.is-button .recruit-process__items-body {
  width: calc(100% - 51px);
}
@media screen and (max-width: 650px) {
  .recruit-process .recruit-process__list .recruit-process__items.is-button .recruit-process__items-body {
    align-items: unset;
    flex-direction: column;
    padding: 0;
    width: calc(100% - 39px);
  }
}
.recruit-process .recruit-process__list .recruit-process__items.is-button .recruit-process__items-body .recruit-process__items-details .recruit-process__items-text {
  width: auto;
}
.recruit-process .recruit-process__list .recruit-process__items.is-button .recruit-process__items-button {
  display: none;
  margin: 20px auto 0;
  width: 294px;
}
@media screen and (max-width: 650px) {
  .recruit-process .recruit-process__list .recruit-process__items.is-button .recruit-process__items-button {
    display: block;
  }
}
.recruit-process .recruit-process__list .recruit-process__items .recruit-process__items-body {
  align-items: center;
  border-left: solid 3px #000;
  display: flex;
  height: 117px;
  justify-content: space-between;
  padding: 0 0 0 22px;
  width: calc(100% - 51px - 78px);
}
@media screen and (max-width: 650px) {
  .recruit-process .recruit-process__list .recruit-process__items .recruit-process__items-body {
    border: none;
    height: auto;
    justify-content: space-between;
    padding: 0;
    width: calc(100% - 39px);
  }
}
.recruit-process .recruit-process__list .recruit-process__items .recruit-process__items-body .recruit-process__items-details {
  padding: 0 20px 0 0;
}
@media screen and (max-width: 650px) {
  .recruit-process .recruit-process__list .recruit-process__items .recruit-process__items-body .recruit-process__items-details {
    border-left: solid 3px #000;
    padding: 0 0 0 22px;
  }
}
.recruit-process .recruit-process__list .recruit-process__items .recruit-process__items-body .recruit-process__items-details .recruit-process__items-headline {
  font-size: 2.8rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.0714285714;
  padding: 0 0 9px;
}
@media screen and (max-width: 650px) {
  .recruit-process .recruit-process__list .recruit-process__items .recruit-process__items-body .recruit-process__items-details .recruit-process__items-headline {
    font-size: 1.8rem;
    line-height: 1.6666666667;
    padding: 0 0 5px;
  }
}
.recruit-process .recruit-process__list .recruit-process__items .recruit-process__items-body .recruit-process__items-details .recruit-process__items-text {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
}
@media screen and (max-width: 650px) {
  .recruit-process .recruit-process__list .recruit-process__items .recruit-process__items-body .recruit-process__items-details .recruit-process__items-text {
    width: 163px;
  }
}
@media screen and (max-width: 365px) {
  .recruit-process .recruit-process__list .recruit-process__items .recruit-process__items-body .recruit-process__items-details .recruit-process__items-text {
    width: 100px;
  }
}
.recruit-process .recruit-process__list .recruit-process__items .recruit-process__items-body .recruit-process__items-details .recruit-process__items-text a {
  color: #0062A0;
  font-weight: 700;
  text-decoration: underline;
}
.recruit-process .recruit-process__list .recruit-process__items .recruit-process__items-body .recruit-process__items-details .recruit-process__items-text a:hover {
  opacity: 1;
  text-decoration: none;
}
.recruit-process .recruit-process__list .recruit-process__items .recruit-process__items-body .recruit-process__items-body-button {
  width: 316px;
}
@media screen and (max-width: 650px) {
  .recruit-process .recruit-process__list .recruit-process__items .recruit-process__items-body .recruit-process__items-illust {
    width: 77px;
  }
}

.recruit-description .recruit-description__headline {
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  padding: 0 0 47px;
}
@media screen and (max-width: 650px) {
  .recruit-description .recruit-description__headline {
    font-size: 2.2rem;
    padding: 0 0 19px;
  }
}
.recruit-description .recruit-description__list {
  list-style: none;
  margin: 0 auto;
  max-width: 954px;
  padding: 0;
}
@media screen and (max-width: 650px) {
  .recruit-description .recruit-description__list {
    padding: 0 20px;
  }
}
.recruit-description .recruit-description__list .recruit-description__items {
  display: flex;
  padding: 30px 0 30px 154px;
  position: relative;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .recruit-description .recruit-description__list .recruit-description__items {
    padding: 30px 0 30px 50px;
  }
}
@media screen and (max-width: 650px) {
  .recruit-description .recruit-description__list .recruit-description__items {
    flex-direction: column;
    padding: 30px 0;
  }
}
.recruit-description .recruit-description__list .recruit-description__items::before {
  background: #777777;
  content: "";
  display: block;
  height: 1px;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
}
@media screen and (max-width: 650px) {
  .recruit-description .recruit-description__list .recruit-description__items::before {
    margin: 0;
    width: 100%;
  }
}
.recruit-description .recruit-description__list .recruit-description__items:last-child::after {
  background: #777777;
  content: "";
  display: block;
  height: 1px;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
}
@media screen and (max-width: 650px) {
  .recruit-description .recruit-description__list .recruit-description__items:last-child::after {
    margin: 0;
    width: 100%;
  }
}
.recruit-description .recruit-description__list .recruit-description__items .recruit-description__items-headline {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.875;
  width: 151px;
}
@media screen and (max-width: 650px) {
  .recruit-description .recruit-description__list .recruit-description__items .recruit-description__items-headline {
    padding: 0 0 10px;
  }
}
.recruit-description .recruit-description__list .recruit-description__items .recruit-description__items-body {
  width: calc(100% - 151px);
}
.recruit-description .recruit-description__list .recruit-description__items .recruit-description__items-text {
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.875;
  padding: 0 0 12px;
}
@media screen and (max-width: 650px) {
  .recruit-description .recruit-description__list .recruit-description__items .recruit-description__items-text {
    padding: 0 0 15px;
  }
}
.recruit-description .recruit-description__list .recruit-description__items .recruit-description__items-text:last-child {
  padding: 0;
}
.recruit-description .recruit-description__button {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  max-width: 316px;
}
@media screen and (max-width: 650px) {
  .recruit-description .recruit-description__button {
    align-items: center;
    flex-direction: column;
  }
}
.recruit-description .recruit-description__button .recruit-description__button-link {
  align-items: center;
  display: flex;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.4em;
  line-height: 1;
  margin: 0 0 0 73px;
  padding: 10px;
}
@media screen and (max-width: 650px) {
  .recruit-description .recruit-description__button .recruit-description__button-link {
    margin: 20px 0 0;
  }
}
.recruit-description .recruit-description__button .recruit-description__button-link::before {
  background: url("images/icon-arrow-triangle-black.svg") no-repeat center left/contain;
  content: "";
  display: block;
  height: 16px;
  margin: 0 16px 0 0;
  width: 13px;
}

.service-kv .service-kv__text {
  padding: 0 0 52px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .service-kv .service-kv__text {
    padding: 0 20px 52px;
  }
}
.service-kv .service-kv__list {
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  justify-content: center;
  list-style: none;
  padding: 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-kv .service-kv__list {
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (max-width: 650px) {
  .service-kv .service-kv__list {
    flex-direction: column;
    padding: 0 20px;
  }
}
.service-kv .service-kv__list .service-kv__items {
  margin: 0 21px 0 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-kv .service-kv__list .service-kv__items {
    margin: 0 0 20px;
    width: calc(50% - 20px);
  }
}
@media screen and (max-width: 650px) {
  .service-kv .service-kv__list .service-kv__items {
    margin: 0 auto 20px;
    max-width: 295px;
    width: 100%;
  }
}
.service-kv .service-kv__list .service-kv__items:last-child {
  margin: 0;
}
@media screen and (max-width: 650px) {
  .service-kv .service-kv__list .service-kv__items:last-child {
    margin: 0 auto 20px;
  }
}
.service-kv .service-kv__list .service-kv__items .service-kv__items-link {
  background: #000;
  color: #fff;
  display: block;
  padding: 6px 10px 7px;
  position: relative;
  transition: background-color 0.3s ease, color 0.3s ease;
  width: 148px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-kv .service-kv__list .service-kv__items .service-kv__items-link {
    width: 100%;
  }
}
.service-kv .service-kv__list .service-kv__items .service-kv__items-link::before {
  background: url("images/icon-arrow-triangle.svg") no-repeat center left/contain;
  content: "";
  display: block;
  height: 10px;
  position: absolute;
  right: 10px;
  top: 20px;
  transform: rotate(90deg);
  transition: background-image 0.3s ease;
  width: 10px;
}
.service-kv .service-kv__list .service-kv__items .service-kv__items-link:hover {
  background: #F2F0F0;
  color: #000;
  opacity: 1;
}
.service-kv .service-kv__list .service-kv__items .service-kv__items-link:hover::before {
  background-image: url("images/icon-arrow-triangle-black.svg");
}
.service-kv .service-kv__list .service-kv__items .service-kv__items-link .service-kv__items-en {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  padding: 0 0 6px;
}
.service-kv .service-kv__list .service-kv__items .service-kv__items-link .service-kv__items-ja {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.service-thinking {
  position: relative;
  text-align: center;
}
.service-thinking::before {
  background: #000;
  content: "";
  height: 10px;
  display: block;
  position: absolute;
  left: 50%;
  top: 103px;
  transform: translate3d(-50%, 0, 0);
  width: 72px;
}
@media screen and (max-width: 650px) {
  .service-thinking::before {
    top: 75px;
  }
}
.service-thinking .service-thinking__headline {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  padding: 0 0 73px;
}
@media screen and (max-width: 650px) {
  .service-thinking .service-thinking__headline {
    font-size: 2rem;
    padding: 0 0 66px;
  }
}
.service-thinking .service-thinking__list {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0 0 42px;
  position: relative;
  padding: 72px 0;
}
@media screen and (max-width: 650px) {
  .service-thinking .service-thinking__list {
    align-items: center;
    flex-direction: column;
    margin: 0 0 36px;
    padding: 73px 0 73px;
  }
}
.service-thinking .service-thinking__list::before {
  background: url("images/bg-service-thinking@2x.jpg") no-repeat center bottom/cover;
  content: "";
  display: block;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  z-index: -2;
}
.service-thinking .service-thinking__list::after {
  background: #000000;
  content: "";
  display: block;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  opacity: 0.33;
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  z-index: -1;
}
.service-thinking .service-thinking__list .service-thinking__items {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 292px;
  justify-content: center;
  margin: 0 34px 0 0;
  width: 292px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-thinking .service-thinking__list .service-thinking__items {
    height: 180px;
    width: 180px;
  }
}
@media screen and (max-width: 650px) {
  .service-thinking .service-thinking__list .service-thinking__items {
    height: 224px;
    margin: 0 0 26px;
    width: 224px;
  }
}
.service-thinking .service-thinking__list .service-thinking__items:last-child {
  margin: 0;
}
.service-thinking .service-thinking__list .service-thinking__items .service-thinking__items-image {
  display: block;
  margin: 0 0 16px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-thinking .service-thinking__list .service-thinking__items .service-thinking__items-image {
    width: 105px;
  }
}
.service-thinking .service-thinking__list .service-thinking__items .service-thinking__items-headline {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 0 17px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-thinking .service-thinking__list .service-thinking__items .service-thinking__items-headline {
    width: 150px;
  }
}
@media screen and (max-width: 650px) {
  .service-thinking .service-thinking__list .service-thinking__items .service-thinking__items-headline {
    width: 184px;
  }
}
.service-thinking .service-thinking__list .service-thinking__items .service-thinking__items-headline .service-thinking__items-headline-en {
  display: block;
  line-height: 1;
  padding: 0 0 5px;
}
.service-thinking .service-thinking__list .service-thinking__items .service-thinking__items-headline .service-thinking__items-headline-ja {
  color: #fff;
  display: block;
  font-size: 2.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-thinking .service-thinking__list .service-thinking__items .service-thinking__items-headline .service-thinking__items-headline-ja {
    font-size: 1.9rem;
  }
}
.service-thinking .service-thinking__details .service-thinking__details-copy {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2.0833333333;
  padding: 0 0 81px;
}
@media screen and (max-width: 650px) {
  .service-thinking .service-thinking__details .service-thinking__details-copy {
    line-height: 1.5833333333;
    padding: 0 0 30px;
  }
}
@media screen and (max-width: 365px) {
  .service-thinking .service-thinking__details .service-thinking__details-copy {
    font-size: 2.1rem;
  }
}
.service-thinking .service-thinking__details .service-thinking__details-title {
  background: #000;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  margin: 0 auto 36px;
  padding: 8px 13px;
  width: 405px;
}
@media screen and (max-width: 650px) {
  .service-thinking .service-thinking__details .service-thinking__details-title {
    font-size: 1.7rem;
    line-height: 1.7647058824;
    margin-bottom: 22px;
    max-width: 260px;
    padding: 8px 10px;
  }
}
.service-thinking .service-thinking__details .service-thinking__details-text {
  font-size: 1.6rem;
  font-weight: 200;
  letter-spacing: 0.1em;
  line-height: 2.625;
  margin: 0 auto 42px;
  text-align: left;
  width: 305px;
}
@media screen and (max-width: 650px) {
  .service-thinking .service-thinking__details .service-thinking__details-text {
    line-height: 2.625;
    margin-bottom: 20px;
  }
}
.service-thinking .service-thinking__details .service-thinking__details-small {
  font-size: 1.4rem;
  font-weight: 200;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
  padding: 0 0 55px;
}
@media screen and (max-width: 650px) {
  .service-thinking .service-thinking__details .service-thinking__details-small {
    padding: 0 20px 60px;
  }
}
.service-thinking .service-thinking__details .service-thinking__details-link {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  text-decoration: underline;
}
.service-thinking .service-thinking__details .service-thinking__details-link:hover {
  text-decoration: none;
}

.service-plan {
  padding: 104px 0 0;
  position: relative;
}
@media screen and (max-width: 650px) {
  .service-plan {
    padding: 13.8666666667vw 0 0;
  }
}
.service-plan .service-plan__decoration {
  position: absolute;
  right: 0;
  top: 2px;
  z-index: 2;
}
@media screen and (max-width: 650px) {
  .service-plan .service-plan__decoration {
    width: 37.3134328358%;
  }
}
.service-plan .service-plan__list {
  counter-reset: item 0;
  list-style: none;
  padding: 17px 0 0;
  position: relative;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__list {
    padding: 10px 20px 0;
  }
}
.service-plan .service-plan__list::after {
  background: #777777;
  content: "";
  display: block;
  height: 1px;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__list::after {
    margin: 0;
    width: 100%;
  }
}
.service-plan .service-plan__list .service-plan__items {
  display: flex;
  min-height: 154px;
  padding: 24px 0;
  position: relative;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__list .service-plan__items {
    align-items: center;
    padding: 28px 0 25px;
  }
}
.service-plan .service-plan__list .service-plan__items::before {
  background: #777777;
  content: "";
  display: block;
  height: 1px;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
}
@media screen and (max-width: 650px) {
  .service-plan .service-plan__list .service-plan__items::before {
    margin: 0;
    width: 100%;
  }
}
.service-plan .service-plan__list .service-plan__items:first-child::before {
  display: none;
}
.service-plan .service-plan__list .service-plan__items:last-child {
  min-height: auto;
}
.service-plan .service-plan__list .service-plan__items:last-child .service-plan__items-number {
  height: auto;
}
.service-plan .service-plan__list .service-plan__items:last-child .service-plan__items-number::before {
  display: none;
}
.service-plan .service-plan__list .service-plan__items.is-notext {
  align-items: center;
}
.service-plan .service-plan__list .service-plan__items.is-notext .service-plan__items-body .service-plan__items-headline {
  padding: 0;
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-number {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 1.8rem;
  font-weight: 500;
  height: 114px;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 65px 0 0;
  position: relative;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__list .service-plan__items .service-plan__items-number {
    font-size: 1.3rem;
    padding: 0 30px 0 0;
  }
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-number::before {
  background: url("images/icon-arrow-triangle-black.svg") no-repeat center left/contain;
  content: "";
  display: block;
  height: 19px;
  position: absolute;
  left: 12px;
  top: 95px;
  transform: rotate(90deg);
  width: 22px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__list .service-plan__items .service-plan__items-number::before {
    height: 12px;
    left: 10px;
    top: 70px;
    width: 13px;
  }
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-number::after {
  content: counter(item);
  counter-increment: item;
  display: block;
  font-size: 6.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__list .service-plan__items .service-plan__items-number::after {
    font-size: 4.2rem;
  }
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-headline {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.2;
  padding: 0 0 12px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-headline {
    font-size: 1.8rem;
    line-height: 1.6666666667;
    padding: 0 0 12px;
  }
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-headline .service-plan__items-headline-small {
  font-size: 1.8rem;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-headline .service-plan__items-headline-small {
    display: block;
    font-size: 1rem;
  }
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-text {
  font-size: 1.4rem;
  font-weight: 200;
  letter-spacing: 0.2em;
  line-height: 1.7142857143;
  max-width: 503px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-text {
    letter-spacing: 0.05em;
  }
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  max-width: 480px;
  padding: 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-list {
    flex-direction: column;
    padding: 20px 0 0;
  }
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-list li {
  font-size: 1.4rem;
  font-weight: 200;
  letter-spacing: 0.2em;
  line-height: 1.7142857143;
  width: 50%;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-list li {
    letter-spacing: 0.05em;
    width: 100%;
  }
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-list li:before {
  content: "・";
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-links {
  display: flex;
  padding: 18px 0 15px;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-links {
    flex-direction: column;
  }
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-links .service-plan__items-link {
  align-items: center;
  display: flex;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.4em;
  line-height: 1;
  padding: 0 68px 0 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-links .service-plan__items-link {
    padding: 0 0 30px;
  }
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-links .service-plan__items-link:last-child {
  padding: 0;
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-links .service-plan__items-link:hover {
  opacity: 0.6;
}
.service-plan .service-plan__list .service-plan__items .service-plan__items-body .service-plan__items-links .service-plan__items-link::before {
  background: url("images/icon-arrow-triangle-black.svg") no-repeat center left/contain;
  content: "";
  display: block;
  height: 16px;
  margin: 0 16px 0 0;
  width: 14px;
}
.service-plan .service-plan__consulting {
  padding: 65px 0 142px;
  position: relative;
}
@media screen and (max-width: 650px) {
  .service-plan .service-plan__consulting {
    padding: 87px 0 50px;
  }
}
.service-plan .service-plan__consulting::before {
  background: #F7F7F7;
  content: "";
  display: block;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  z-index: -1;
}
.service-plan .service-plan__consulting .service-plan__consulting-title {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .service-plan .service-plan__consulting .service-plan__consulting-title {
    font-size: 2.2rem;
  }
}
.service-plan .service-plan__consulting .service-plan__consulting-text {
  font-size: 1.6rem;
  font-weight: 200;
  letter-spacing: 0.05em;
  line-height: 1.875;
  padding: 0 0 64px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .service-plan .service-plan__consulting .service-plan__consulting-text {
    font-size: 1.4rem;
    line-height: 1.7142857143;
    padding: 0 20px 84px;
  }
}
.service-plan .service-plan__consulting .service-plan__consulting-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
  padding: 0;
}
@media screen and (min-width: 1px) and (max-width: 980px) {
  .service-plan .service-plan__consulting .service-plan__consulting-list {
    margin: 0 auto;
    width: 647px;
  }
}
@media screen and (max-width: 650px) {
  .service-plan .service-plan__consulting .service-plan__consulting-list {
    padding: 0 20px;
    width: auto;
  }
}
.service-plan .service-plan__consulting .service-plan__consulting-list li {
  align-items: center;
  background: #fff;
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
  height: 80px;
  justify-content: center;
  letter-spacing: 0.1em;
  line-height: 1.5625;
  margin: 0 0 17px;
  text-align: center;
  width: 315px;
}
@media screen and (max-width: 650px) {
  .service-plan .service-plan__consulting .service-plan__consulting-list li {
    width: 100%;
  }
}
.service-plan .service-plan__consulting .service-plan__consulting-list li.is-dammy {
  background: transparent;
  height: 0;
}

.service-execution {
  padding: 115px 0 0;
  position: relative;
}
@media screen and (max-width: 650px) {
  .service-execution {
    padding: 7.4666666667vw 0 0;
  }
}
.service-execution::before {
  background: #F7F7F7;
  content: "";
  display: block;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
}
.service-execution .service-execution__decoration {
  position: absolute;
  right: -80px;
  top: 2px;
  z-index: 2;
}
@media screen and (max-width: 650px) {
  .service-execution .service-execution__decoration {
    right: 0;
    width: 45.3731343284%;
  }
}
.service-execution .service-execution__photos {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  margin: 0 calc(50% - 50vw);
}
@media screen and (max-width: 650px) {
  .service-execution .service-execution__photos {
    flex-direction: column;
    gap: 0;
  }
}
.service-execution .service-execution__photos img {
  width: calc(33.3333333333% - 2px);
}
@media screen and (max-width: 650px) {
  .service-execution .service-execution__photos img {
    width: 100%;
  }
}

.service-reform {
  padding: 61px 0 0;
  position: relative;
}
@media screen and (max-width: 650px) {
  .service-reform {
    padding: 10.6666666667vw 0 0;
  }
}
.service-reform .service-reform__decoration {
  position: absolute;
  right: -80px;
  top: 2px;
  z-index: 2;
}
@media screen and (max-width: 650px) {
  .service-reform .service-reform__decoration {
    right: -5px;
    width: 43.8805970149%;
  }
}
.service-reform .service-reform__items {
  position: relative;
}
.service-reform .service-reform__items.is-bg-gray {
  padding: 40px 0;
}
.service-reform .service-reform__items.is-bg-gray::before {
  background: #F7F7F7;
  content: "";
  display: block;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  z-index: -1;
}
.service-reform .service-reform__items .service-reform__items-headline {
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 26px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .service-reform .service-reform__items .service-reform__items-headline {
    font-size: 2.2rem;
  }
}
.service-reform .service-reform__items .service-reform__items-text {
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin: 0 auto;
  max-width: 616px;
  padding: 0 0 48px;
}
@media screen and (max-width: 650px) {
  .service-reform .service-reform__items .service-reform__items-text {
    font-size: 1.4rem;
    line-height: 1.7142857143;
    padding: 0 20px 40px;
  }
}
.service-reform .service-reform__items .service-reform__items-title {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 68px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .service-reform .service-reform__items .service-reform__items-title {
    font-size: 2.2rem;
    line-height: 1.5454545455;
    padding: 0 0 30px;
  }
}
.service-reform .service-reform__items .service-reform__items-photos {
  display: flex;
  height: 424px;
  line-height: 0;
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
}
@media screen and (max-width: 650px) {
  .service-reform .service-reform__items .service-reform__items-photos {
    height: 268px;
    overflow: hidden;
  }
}
.service-reform .service-reform__items .service-reform__items-photos .service-reform__items-photo {
  display: block;
  position: relative;
  width: 50%;
}
.service-reform .service-reform__items .service-reform__items-photos .service-reform__items-photo::before {
  background: #000;
  color: #fff;
  content: "BEFORE";
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.7rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  padding: 8px 0 10px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .service-reform .service-reform__items .service-reform__items-photos .service-reform__items-photo::before {
    font-size: 2.4rem;
    padding: 10px 0;
  }
}
.service-reform .service-reform__items .service-reform__items-photos .service-reform__items-photo:last-child::before {
  background: #0062A0;
  content: "AFTER";
}
.service-reform .service-reform__items .service-reform__items-photos .service-reform__items-photo img {
  height: calc(100% - 35px);
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 650px) {
  .service-reform .service-reform__items .service-reform__items-photos .service-reform__items-photo img {
    height: calc(100% - 44px);
  }
}
.service-reform .service-reform__links {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 470px;
}
@media screen and (max-width: 650px) {
  .service-reform .service-reform__links {
    flex-direction: column;
  }
}
.service-reform .service-reform__links .service-reform__link {
  align-items: center;
  display: flex;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.4em;
  line-height: 1;
  padding: 10px;
}
@media screen and (max-width: 650px) {
  .service-reform .service-reform__links .service-reform__link {
    margin: 0 0 25px;
  }
}
.service-reform .service-reform__links .service-reform__link::before {
  background: url("images/icon-arrow-triangle-black.svg") no-repeat center left/contain;
  content: "";
  display: block;
  height: 14px;
  margin: 0 17px 0 0;
  width: 16px;
}

.service-maintenance {
  padding: 79px 0 0;
  position: relative;
}
@media screen and (max-width: 650px) {
  .service-maintenance {
    padding: 18.1333333333vw 0 0;
  }
}
.service-maintenance .service-maintenance__decoration {
  position: absolute;
  right: -80px;
  top: 2px;
  z-index: 2;
}
@media screen and (max-width: 650px) {
  .service-maintenance .service-maintenance__decoration {
    right: 20px;
    width: 28.6567164179%;
  }
}
.service-maintenance .service-maintenance__details {
  padding: 0 0 87px;
}
@media screen and (max-width: 650px) {
  .service-maintenance .service-maintenance__details {
    padding: 0 0 26px;
  }
}
.service-maintenance .service-maintenance__details .service-maintenance__details-title {
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 24px;
  text-align: center;
}
@media screen and (max-width: 650px) {
  .service-maintenance .service-maintenance__details .service-maintenance__details-title {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 365px) {
  .service-maintenance .service-maintenance__details .service-maintenance__details-title {
    font-size: 2.1rem;
  }
}
.service-maintenance .service-maintenance__details .service-maintenance__details-text {
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin: 0 auto;
  max-width: 616px;
}
@media screen and (max-width: 650px) {
  .service-maintenance .service-maintenance__details .service-maintenance__details-text {
    font-size: 1.4rem;
    line-height: 1.7142857143;
    padding: 0 20px;
  }
}
.service-maintenance .service-maintenance__photos {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  line-height: 0;
  margin: 0 calc(50% - 50vw);
}
.service-maintenance .service-maintenance__photos img {
  width: calc(33.3333333333% - 2px);
}
@media screen and (max-width: 650px) {
  .service-maintenance .service-maintenance__photos img {
    width: calc(50% - 1.5px);
  }
}

.privacy h2 {
  font-size: 2.4rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.8;
  margin: 0 0 20px;
}
.privacy h3 {
  font-size: 1.9rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.8;
  margin: 0 0 10px;
}
.privacy h4 {
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.8;
  margin: 0 0 10px;
}
.privacy p {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.8;
  margin: 0 0 20px;
}/*# sourceMappingURL=style.css.map */