@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.3.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
========================================================================== */
html {
  font-family: sans-serif;
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

/* Sections
========================================================================== */
body {
  margin: 0; }

article, aside, footer, header, nav, section {
  display: block; }

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

/* Grouping content
========================================================================== */
figcaption, figure {
  display: block; }

figure {
  margin: 1em 40px; }

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible; }

main {
  display: block; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Links
========================================================================== */
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects; }

a:active, a:hover {
  outline-width: 0; }

/* Text-level semantics
========================================================================== */
abbr[title] {
  border-bottom: none;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; }

b, strong {
  font-weight: inherit; }

b, strong {
  font-weight: bolder; }

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em; }

dfn {
  font-style: italic; }

mark {
  background-color: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

ul, li, ol, dt, dd {
  list-style: none; }

/* Embedded content
========================================================================== */
audio, video {
  display: inline-block; }

audio:not([controls]) {
  display: none;
  height: 0; }

img {
  border-style: none; }

svg:not(:root) {
  overflow: hidden; }

/* Forms
========================================================================== */
button, input, optgroup, select, textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button {
  overflow: visible; }

button, select {
  text-transform: none; }

button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

input {
  overflow: visible; }

[type="checkbox"], [type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: table;
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal; }

progress {
  display: inline-block;
  vertical-align: baseline; }

textarea {
  overflow: auto; }

/* Interactive
========================================================================== */
details {
  display: block; }

summary {
  display: list-item; }

menu {
  display: block; }

/* Scripting
========================================================================== */
canvas {
  display: inline-block; }

template {
  display: none; }

/* Hidden
========================================================================== */
[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%; }

*, *::before, *::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img, .map_canvas embed, .map_canvas object, .mqa-display img, .mqa-display embed, .mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1; }

[data-whatinput='mouse'] button {
  outline: 0; }

pre {
  overflow: auto; }

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* clearfix */
.mv .swiper-fade .swiper-slide {
  height: auto;
  -webkit-transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, transform !important;
  transition-property: opacity, transform, -webkit-transform !important;
  pointer-events: none; }
  @media screen and (max-width: 768px) {
    .mv .swiper-fade .swiper-slide {
      height: calc(100vh - 14.5rem); } }
  .mv .swiper-fade .swiper-slide .slide-media {
    height: calc(100vh - 7rem);
    position: relative;
    overflow: hidden; }
    .mv .swiper-fade .swiper-slide .slide-media img {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      margin: auto;
      -o-object-fit: cover;
      object-fit: cover;
      -webkit-transition-timing-function: linear;
      transition-timing-function: linear; }
    @media screen and (max-width: 768px) {
      .mv .swiper-fade .swiper-slide .slide-media {
        height: calc(100vh - 14.5rem); } }
  .mv .swiper-fade .swiper-slide .slide-content {
    color: #fff;
    position: absolute;
    bottom: 5rem;
    left: 2.5rem; }
    @media screen and (max-width: 1024px) {
      .mv .swiper-fade .swiper-slide .slide-content {
        bottom: 5%;
        left: 2.5%; } }
    .mv .swiper-fade .swiper-slide .slide-content .slide-title {
      color: var(--mC);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      .mv .swiper-fade .swiper-slide .slide-content .slide-title .st {
        display: inline-block;
        line-height: 1; }
        .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--main {
          margin: 0 0 1.5rem 0;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: baseline;
              -ms-flex-align: baseline;
                  align-items: baseline;
          position: relative;
          z-index: 2; }
          .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--main:last-child {
            margin: 0; }
          .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--main::after {
            content: "";
            width: 100%;
            height: 98%;
            background: #fff;
            position: absolute;
            bottom: 0;
            left: 0;
            z-index: -1; }
          @media screen and (max-width: 768px) {
            .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--main {
              margin: 0 0 1rem 0; } }
          @media screen and (max-width: 400px) {
            .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--main {
              font-size: 8vw; } }
        .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--mid {
          font-size: 2.8rem;
          font-weight: 800;
          letter-spacing: 0.05em;
          position: relative;
          top: 0;
          z-index: 2; }
          .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--mid::after {
            content: "";
            width: 100%;
            height: 100%;
            background: #fff;
            position: absolute;
            bottom: 0;
            left: 0;
            z-index: -1; }
          @media screen and (max-width: 1024px) {
            .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--mid {
              font-size: 1.8rem; } }
          @media screen and (max-width: 768px) {
            .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--mid {
              font-size: 1.5rem; } }
          @media screen and (max-width: 400px) {
            .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--mid {
              font-size: 3.75vw; } }
        .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--sub {
          font-size: 3.8rem;
          font-weight: 800;
          letter-spacing: 0;
          position: relative;
          z-index: 2; }
          .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--sub::after {
            content: "";
            width: 100%;
            height: 98%;
            background: #fff;
            position: absolute;
            bottom: 0;
            left: 0;
            z-index: -1; }
          @media screen and (max-width: 1024px) {
            .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--sub {
              font-size: 2.8rem; } }
          @media screen and (max-width: 768px) {
            .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--sub {
              font-size: 2rem; } }
          @media screen and (max-width: 400px) {
            .mv .swiper-fade .swiper-slide .slide-content .slide-title .st--sub {
              font-size: 5vw; } }
    .mv .swiper-fade .swiper-slide .slide-content .slide-fraction {
      display: none; }
.mv .swiper-fade .swiper-slide-active {
  pointer-events: auto; }
.mv .progressbar {
  width: 100%;
  height: 0.5rem;
  background-color: #fff;
  position: relative;
  top: -0.5rem;
  z-index: 2; }
  .mv .progressbar .progressbar-fill {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    background-color: var(--mC); }

.swiper-slide[class*=-active] .slide-fraction .circle-02 {
  -webkit-animation: mv-circle linear both;
  animation: mv-circle linear both; }

.results {
  height: 7rem;
  margin: -0.5rem 0 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .results ul {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .results ul li {
      width: calc(50% - 2.5px);
      height: 7rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background: var(--mC);
      position: relative; }
      .results ul li::before {
        content: "";
        width: calc(100% - 10px);
        height: calc(100% - 10px);
        margin: auto;
        border: solid 1px #fff;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0; }
      .results ul li p {
        font-family: var(--jpmin);
        font-weight: 700;
        font-size: 2.4rem;
        letter-spacing: 0.015em;
        line-height: 1;
        color: #fff; }
        .results ul li p span {
          font-weight: normal;
          color: #e4be18; }
          .results ul li p span.r--num {
            font-size: 160%; }
          .results ul li p span.r--set {
            font-size: 180%; }
      .results ul li:nth-of-type(2) {
        background: var(--bk); }
        .results ul li:nth-of-type(2) p span {
          color: #b2a295; }
  @media screen and (max-width: 1200px) {
    .results ul li p {
      font-size: clamp(1.8rem, 2vw, 2.4rem); } }
  @media screen and (max-width: 900px) {
    .results ul li p {
      font-size: clamp(1.4rem, 2vw, 1.8rem); } }
  @media screen and (max-width: 768px) {
    .results {
      height: 14rem; }
      .results ul {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; }
        .results ul li {
          width: 100%; }
          .results ul li:nth-of-type(2) {
            margin: 0.5rem 0 0 0; } }

.service {
  margin: 0 0 15rem 0;
  text-align: center; }
  .service .list {
    width: 100%; }
    .service .list ul {
      max-width: 100vw;
      height: calc(33.3333333333333333vw + 4px);
      margin: 0 auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      position: relative; }
      @media screen and (max-width: 1024px) {
        .service .list ul {
          height: auto; } }
      .service .list ul li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: relative; }
        .service .list ul li ul.srv--fst {
          width: calc(33.3333333333333333vw + ((100vw - (100vw / 3)) * 0.4)); }
        .service .list ul li ul li.service01 {
          width: calc(100vw / 3);
          aspect-ratio: 1 / 1;
          background: url(/asset/images/top/service01.webp) no-repeat;
          background-size: cover;
          background-position: center; }
        .service .list ul li ul li ul::after {
          content: "";
          display: none; }
        .service .list ul li ul li ul li.service02 {
          width: calc((100vw - (100vw / 3)) * 0.4);
          aspect-ratio: 8 / 5;
          background: url(/asset/images/top/service02.webp) no-repeat;
          background-size: cover;
          background-position: center; }
        .service .list ul li ul li ul li.service03 {
          width: calc((100vw - (100vw / 3)) * 0.4);
          aspect-ratio: 8 / 5;
          background: url(/asset/images/top/service03.webp) no-repeat;
          background-size: cover;
          background-position: center; }
        @media screen and (max-width: 1024px) {
          .service .list ul li ul {
            width: 100%;
            height: 55vw; }
            .service .list ul li ul.srv--fst {
              width: 100vw; }
            .service .list ul li ul li.service01 {
              width: 55vw; }
            .service .list ul li ul li ul {
              height: auto;
              margin: 0; }
              .service .list ul li ul li ul li.service--list0203 {
                width: 45vw; }
                .service .list ul li ul li ul li.service--list0203 ul {
                  width: 100%; }
              .service .list ul li ul li ul li.service02 {
                width: 45vw;
                height: calc((100vw * 0.55) / 2); }
              .service .list ul li ul li ul li.service03 {
                width: 45vw;
                height: calc((100vw * 0.55) / 2); } }
        .service .list ul li.srv--col {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
          @media screen and (max-width: 1024px) {
            .service .list ul li.srv--col {
              -webkit-box-orient: horizontal;
              -webkit-box-direction: normal;
                  -ms-flex-direction: row;
                      flex-direction: row; } }
          .service .list ul li.srv--col ul {
            height: 100%; }
            @media screen and (max-width: 1024px) {
              .service .list ul li.srv--col ul {
                -webkit-box-orient: horizontal;
                -webkit-box-direction: normal;
                    -ms-flex-direction: row;
                        flex-direction: row; } }
            @media screen and (max-width: 768px) {
              .service .list ul li.srv--col ul {
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column; } }
            @media screen and (max-width: 1024px) {
              .service .list ul li.srv--col ul li {
                width: 50%;
                height: calc(100vw / 6); } }
            @media screen and (max-width: 768px) {
              .service .list ul li.srv--col ul li {
                width: 100%;
                height: calc(100vw / 3); } }
            .service .list ul li.srv--col ul li.srv--row--fis ul {
              width: calc((100vw - (100vw / 3)) * 0.6);
              height: calc((100vw - (100vw / 3)) * 0.2);
              margin: 0;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-orient: horizontal;
              -webkit-box-direction: normal;
                  -ms-flex-direction: row;
                      flex-direction: row;
              -webkit-box-pack: start;
                  -ms-flex-pack: start;
                      justify-content: flex-start;
              -ms-flex-wrap: wrap;
                  flex-wrap: wrap; }
              @media screen and (max-width: 1024px) {
                .service .list ul li.srv--col ul li.srv--row--fis ul {
                  width: 100vw;
                  height: calc(100vw / 6); } }
              @media screen and (max-width: 768px) {
                .service .list ul li.srv--col ul li.srv--row--fis ul {
                  height: calc(100vw / 3); } }
              .service .list ul li.srv--col ul li.srv--row--fis ul li {
                width: calc((100vw - (100vw / 3)) * 0.2);
                height: calc((100vw - (100vw / 3)) * 0.2); }
                @media screen and (max-width: 1024px) {
                  .service .list ul li.srv--col ul li.srv--row--fis ul li {
                    width: calc(100vw / 6);
                    height: calc(100vw / 6); } }
                @media screen and (max-width: 768px) {
                  .service .list ul li.srv--col ul li.srv--row--fis ul li {
                    width: calc(100vw / 3);
                    height: calc(100vw / 3); } }
                .service .list ul li.srv--col ul li.srv--row--fis ul li.service {
                  aspect-ratio: 1 / 1; }
                  .service .list ul li.srv--col ul li.srv--row--fis ul li.service04 {
                    background: url(/asset/images/top/service04.webp) no-repeat;
                    background-size: cover;
                    background-position: center; }
                  .service .list ul li.srv--col ul li.srv--row--fis ul li.service05 {
                    background: url(/asset/images/top/service05.webp) no-repeat;
                    background-size: cover;
                    background-position: center; }
                  .service .list ul li.srv--col ul li.srv--row--fis ul li.service06 {
                    background: url(/asset/images/top/service06.webp) no-repeat;
                    background-size: cover;
                    background-position: center; }
            .service .list ul li.srv--col ul li.srv--row--sec ul {
              width: calc((100vw - (100vw / 3)) * 0.6);
              height: calc((100vw - (100vw / 3)) * 0.2);
              margin: 0;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-orient: horizontal;
              -webkit-box-direction: normal;
                  -ms-flex-direction: row;
                      flex-direction: row;
              -webkit-box-pack: start;
                  -ms-flex-pack: start;
                      justify-content: flex-start;
              -ms-flex-wrap: wrap;
                  flex-wrap: wrap; }
              @media screen and (max-width: 1024px) {
                .service .list ul li.srv--col ul li.srv--row--sec ul {
                  width: 100vw;
                  height: calc(100vw / 6); } }
              @media screen and (max-width: 768px) {
                .service .list ul li.srv--col ul li.srv--row--sec ul {
                  height: calc(100vw / 3); } }
              .service .list ul li.srv--col ul li.srv--row--sec ul li {
                width: calc((100vw - (100vw / 3)) * 0.2);
                height: calc((100vw - (100vw / 3)) * 0.2); }
                @media screen and (max-width: 1024px) {
                  .service .list ul li.srv--col ul li.srv--row--sec ul li {
                    width: calc(100vw / 6);
                    height: calc(100vw / 6); } }
                @media screen and (max-width: 768px) {
                  .service .list ul li.srv--col ul li.srv--row--sec ul li {
                    width: calc(100vw / 3);
                    height: calc(100vw / 3); } }
                .service .list ul li.srv--col ul li.srv--row--sec ul li.service {
                  aspect-ratio: 1 / 1; }
                  .service .list ul li.srv--col ul li.srv--row--sec ul li.service07 {
                    background: url(/asset/images/top/service07.webp) no-repeat;
                    background-size: cover;
                    background-position: center; }
                  .service .list ul li.srv--col ul li.srv--row--sec ul li.service08 {
                    background: url(/asset/images/top/service08.webp) no-repeat;
                    background-size: cover;
                    background-position: center; }
                  .service .list ul li.srv--col ul li.srv--row--sec ul li.service09 {
                    background: url(/asset/images/top/service09.webp) no-repeat;
                    background-size: cover;
                    background-position: center; }
        .service .list ul li::after {
          content: "";
          width: 100%;
          height: 100%;
          margin: auto;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          border-width: 1px;
          border-style: solid;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          border-color: #fff; }
      .service .list ul a {
        width: 100%;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: #fff;
        position: relative;
        -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
        transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
        z-index: 2; }
        .service .list ul a::after {
          content: "";
          width: calc(100% - 2px);
          height: calc(100% - 2px);
          margin: auto;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          background: var(--mC);
          opacity: 0.6;
          -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
          transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
          z-index: -1; }
        .service .list ul a.off {
          pointer-events: none; }
          .service .list ul a.off::after {
            content: "COMING SOON";
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            font-family: var(--en);
            font-weight: bold;
            font-size: 2.4rem;
            line-height: 1;
            color: #fff;
            z-index: 11;
            opacity: 1;
            background: none; }
          .service .list ul a.off::before {
            content: "";
            width: calc(100% - 2px);
            height: calc(100% - 2px);
            margin: auto;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            background: rgba(34, 34, 34, 0.7);
            z-index: 11;
            opacity: 1;
            -webkit-transition: none;
            transition: none; }
          @media screen and (max-width: 600px) {
            .service .list ul a.off::after {
              font-size: clamp(1.8rem, 4vw, 2.4rem); } }
        .service .list ul a:hover::after {
          opacity: 0; }
        .service .list ul a span {
          font-weight: bold;
          z-index: 2; }
          .service .list ul a span.num {
            font-size: clamp(1.2rem, 1.06vw, 1.6rem); }
          .service .list ul a span.srv--ttl {
            margin: 1rem 0 0 0;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            font-size: clamp(1.5rem, 1.33vw, 2rem); }
            .service .list ul a span.srv--ttl img {
              height: 1.3rem;
              margin: 0 0 0 1rem;
              display: inline-block; }
      .service .list ul .service10 {
        width: calc((100vw - (100vw / 3)) * 0.6);
        aspect-ratio: 6 / 1;
        background: var(--mC);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: absolute;
        bottom: 4px;
        right: 0;
        -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
        transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
        .service .list ul .service10 span.srv--ttl {
          margin: 0; }
          .service .list ul .service10 span.srv--ttl svg {
            fill: var(--wh);
            stroke: var(--wh);
            margin: 0 0 0 1rem; }
        .service .list ul .service10:hover {
          background: #fff; }
          .service .list ul .service10:hover span.srv--ttl {
            color: var(--mC); }
            .service .list ul .service10:hover span.srv--ttl svg {
              fill: var(--mC);
              stroke: var(--mC); }
        @media screen and (max-width: 1024px) {
          .service .list ul .service10 {
            width: 100%;
            position: relative;
            bottom: 0; } }

.element {
  margin: 0 auto 15rem; }
  .element .elm {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 10rem 3.333333vw 15rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    background: var(--mC);
    color: #fff;
    border-radius: 5rem 5rem 0 0; }
    .element .elm--02 {
      margin: -5rem 0 0 0;
      background: #fff;
      color: var(--bk); }
    .element .elm--03 {
      margin: -5rem 0 0 0;
      padding: 10rem 3.333333vw; }
    .element .elm .elmCont {
      padding: 0 3.333333vw 0 0; }
      .element .elm .elmCont p {
        line-height: 2; }
      .element .elm .elmCont .btn {
        margin: 5rem 0 0 0; }
    .element .elm img {
      width: 45.6%;
      border-radius: 5rem; }
    @media screen and (max-width: 1024px) {
      .element .elm {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .element .elm .elmCont {
          padding: 0; }
        .element .elm img {
          width: 100%;
          margin: 5rem 0 0 0; } }
    @media screen and (max-width: 767px) {
      .element .elm {
        border-radius: clamp(2.5rem, 6.51vw, 5rem) clamp(2.5rem, 6.51vw, 5rem) 0 0;
        padding: clamp(5rem, 13.02vw, 10rem) 3.333333vw 10rem; }
        .element .elm .elmCont .btn {
          margin: clamp(3rem, 6.51vw, 5rem) 0 0 0; }
        .element .elm img {
          margin: clamp(3rem, 6.51vw, 5rem) 0 0 0;
          border-radius: clamp(2.5rem, 6.51vw, 5rem); } }

.news {
  width: 100%;
  max-width: 100rem;
  margin: 0 auto 15rem; }
  @media screen and (max-width: 1024px) {
    .news {
      padding: 0 3.333333vw; } }
  .news h3 {
    text-align: center; }
  .news .list {
    margin: 0 auto 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media screen and (max-width: 768px) {
      .news .list {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
    .news .list .sns {
      width: 50rem; }
      .news .list .sns .fb-page {
        width: 100%; }
        .news .list .sns .fb-page span {
          width: 100% !important; }
          .news .list .sns .fb-page span iframe {
            width: 100% !important; }
      @media screen and (max-width: 1024px) {
        .news .list .sns {
          width: 50%; }
          .news .list .sns .fb-page {
            width: 100%; } }
      @media screen and (max-width: 768px) {
        .news .list .sns {
          width: 100%;
          padding: 0 calc((100% - 50rem) / 2); } }
    .news .list ul {
      width: 50%;
      padding: 0 0 0 3rem; }
      @media screen and (max-width: 768px) {
        .news .list ul {
          width: 100%;
          margin: 3rem 0 0 0;
          padding: 0; } }
      .news .list ul li {
        padding: 1.5rem 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        border-bottom: solid 1px rgba(35, 24, 21, 0.2); }
        @media screen and (max-width: 1024px) {
          .news .list ul li {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column; } }
        @media screen and (max-width: 768px) {
          .news .list ul li {
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row; } }
        @media screen and (max-width: 380px) {
          .news .list ul li {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column; } }
        .news .list ul li .ads--ttl {
          min-width: 25%;
          font-weight: bold; }
          @media screen and (max-width: 1024px) {
            .news .list ul li .ads--ttl {
              width: 100%;
              margin: 0 0 0.7rem 0; } }
          @media screen and (max-width: 768px) {
            .news .list ul li .ads--ttl {
              width: 25%;
              margin: 0; } }
          @media screen and (max-width: 380px) {
            .news .list ul li .ads--ttl {
              width: 100%;
              margin: 0 0 0.7rem 0; } }
        .news .list ul li .ads--dtl .workLink {
          margin: 0.8rem 0 0 0;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: baseline;
              -ms-flex-align: baseline;
                  align-items: baseline;
          font-weight: bold;
          color: var(--mC); }
          .news .list ul li .ads--dtl .workLink svg {
            width: 0.6rem;
            height: auto;
            display: inline-block;
            margin: 0 0 0 0.5rem;
            fill: var(--mC);
            stroke: var(--mC); }

.map iframe {
  max-width: 100rem; }
  @media screen and (max-width: 1024px) {
    .map iframe {
      width: 100%; } }
  @media screen and (max-width: 768px) {
    .map iframe {
      height: calc((100vw - 3.33333vw) * 0.47); } }
  @media screen and (max-width: 380px) {
    .map iframe {
      height: 100vw; } }
@media screen and (max-width: 1024px) {
  .map {
    width: 100%; } }

:root {
  --jp: YakuHanJP, "Noto Sans JP", sans-serif;
  --jpmin: "Shippori Mincho", serif;
  --en: YakuHanJP, "Barlow", sans-serif;
  --mC: #00257B;
  --aC: #1670AB;
  --bk: #231815;
  --wh: #fff; }

body::-webkit-scrollbar {
  display: none;
  -ms-overflow-style: none;
  scrollbar-width: none; }

html, body {
  overflow-x: hidden;
  position: relative;
  font-size: 62.5% !important;
  font-family: YakuHanJP, "Barlow", "Noto Sans JP", sans-serif;
  color: var(--bk); }

.only1024 {
  display: none; }
  @media screen and (max-width: 1150px) {
    .only1024 {
      display: inline-block; } }

.only768 {
  display: none; }
  @media screen and (max-width: 768px) {
    .only768 {
      display: inline-block; } }

.only500 {
  display: none; }
  @media screen and (max-width: 500px) {
    .only500 {
      display: inline-block; } }

p {
  font-family: var(--jp);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.75; }
  @media screen and (max-width: 1250px) {
    p {
      font-size: 1.4rem; } }
  p.cap {
    margin: 2rem 0 0 0;
    font-size: 1.2rem; }
    @media screen and (max-width: 1250px) {
      p.cap {
        margin: 1rem 0 0 0;
        font-size: 1rem; } }

sup {
  font-size: 75%; }

h1, h2, h3 {
  font-weight: bold; }

h2 {
  font-size: 6rem; }
  @media screen and (max-width: 1150px) {
    h2 {
      font-size: 5rem; } }
  @media screen and (max-width: 768px) {
    h2 {
      font-size: 3.2rem; } }

h3 {
  font-size: 4.8rem; }
  @media screen and (max-width: 1150px) {
    h3 {
      font-size: 3.8rem; } }
  @media screen and (max-width: 600px) {
    h3 {
      font-size: 2.8rem; } }

h4 {
  margin: 0 0 3rem 0;
  padding: 0 0 0 1.8rem;
  font-size: 3.6rem;
  line-height: 1.33;
  font-weight: bold;
  position: relative; }
  h4::before {
    content: "";
    width: 0.8rem;
    height: auto;
    display: block;
    background: var(--mC);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0; }
  h4.tac {
    margin: 0 0 5rem 0;
    padding: 0;
    text-align: center; }
    h4.tac::before {
      content: "";
      display: none; }
  @media screen and (max-width: 1150px) {
    h4 {
      margin: 0 0 clamp(2rem, 2.92vw, 3rem) 0;
      padding: 0 0 0 clamp(1.2rem, 1.75vw, 1.8rem);
      font-size: clamp(2.8rem, 3.51vw, 3.6rem); }
      h4::before {
        width: clamp(0.5rem, 0.78vw, 0.8rem); }
      h4.tac {
        margin: 0 0 clamp(3rem, 4.88vw, 5rem) 0; } }
  @media screen and (max-width: 600px) {
    h4 {
      margin: 0 0 clamp(1.5rem, 3.33vw, 2rem) 0;
      padding: 0 0 0 clamp(1rem, 0.2vw, 1.2rem);
      font-size: clamp(2.2rem, 4.66vw, 2.8rem); }
      h4::before {
        width: clamp(0.5rem, 0.78vw, 0.8rem); }
      h4.tac {
        margin: 0 0 clamp(2rem, 5vw, 3rem) 0; } }

.titleEn {
  width: 100%;
  margin: 2rem 0 5rem 0;
  display: block;
  font-family: var(--en);
  font-size: 1.2rem;
  font-weight: bold; }
  .titleEn.mc {
    color: var(--mC); }
  @media screen and (max-width: 767px) {
    .titleEn {
      margin: 2rem 0 clamp(3rem, 6.51vw, 5rem) 0; } }

.secTxt {
  font-family: var(--jp);
  font-weight: 400;
  line-height: 2; }
  @media screen and (max-width: 767px) {
    .secTxt {
      line-height: 1.75; } }

.ttl_anime {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-transition: -webkit-clip-path 0.4s linear;
  transition: -webkit-clip-path 0.4s linear;
  transition: clip-path 0.4s linear;
  transition: clip-path 0.4s linear, -webkit-clip-path 0.4s linear; }
  .ttl_anime_sub {
    width: 100%;
    margin: 0;
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
    -webkit-transition: -webkit-clip-path 1s linear;
    transition: -webkit-clip-path 1s linear;
    transition: clip-path 1s linear;
    transition: clip-path 1s linear, -webkit-clip-path 1s linear; }
    .ttl_anime_sub.slid__open {
      -webkit-clip-path: inset(0);
              clip-path: inset(0); }
  .ttl_anime.slid__open {
    -webkit-clip-path: inset(0);
            clip-path: inset(0); }

p > span,
span > span,
a > span,
h1 > span,
h2 > span,
h3 > span,
h4 > span,
h5 > span,
div > span {
  display: inline-block; }

a {
  text-decoration: none;
  color: var(--bk); }

button {
  color: var(--bk); }

.btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 11rem;
  height: 5rem;
  padding: 0 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  border: solid 2px #fff;
  border-radius: 2.5rem;
  -webkit-transition: background 0.5s cubic-bezier(0.36, 0.14, 0, 1), color 0.5s cubic-bezier(0.36, 0.14, 0, 1), fill 0.5s cubic-bezier(0.36, 0.14, 0, 1), stroke 0.5s cubic-bezier(0.36, 0.14, 0, 1);
  transition: background 0.5s cubic-bezier(0.36, 0.14, 0, 1), color 0.5s cubic-bezier(0.36, 0.14, 0, 1), fill 0.5s cubic-bezier(0.36, 0.14, 0, 1), stroke 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
  .btn.bk {
    color: var(--mC);
    border-color: var(--mC);
    -webkit-transition: background 0.5s cubic-bezier(0.36, 0.14, 0, 1), color 0.5s cubic-bezier(0.36, 0.14, 0, 1), fill 0.5s cubic-bezier(0.36, 0.14, 0, 1), stroke 0.5s cubic-bezier(0.36, 0.14, 0, 1);
    transition: background 0.5s cubic-bezier(0.36, 0.14, 0, 1), color 0.5s cubic-bezier(0.36, 0.14, 0, 1), fill 0.5s cubic-bezier(0.36, 0.14, 0, 1), stroke 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    .btn.bk svg {
      fill: var(--mC);
      stroke: var(--mC); }
    .btn.bk:hover {
      background: var(--mC);
      color: #fff;
      border: solid 2px var(--mC); }
      .btn.bk:hover svg {
        fill: #fff;
        stroke: #fff; }
  .btn svg {
    width: 0.6rem;
    height: auto;
    display: inline-block;
    margin: 0 0 0 1rem;
    fill: #fff;
    stroke: #fff; }
  .btn:hover {
    background: #fff;
    color: var(--mC); }
    .btn:hover svg {
      fill: var(--mC);
      stroke: var(--mC); }
  @media screen and (max-width: 767px) {
    .btn {
      font-size: 1.4rem; } }

header {
  width: 100%;
  height: 8.1rem;
  padding: 0 2.5rem;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10; }
  @media screen and (max-width: 1150px) {
    header {
      width: 100%;
      height: 7rem;
      margin: 0 auto;
      padding: 0 2.5%;
      grid-template-columns: unset;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  header .logo {
    width: 13.5rem;
    grid-area: 1 / 1 / 2 / 4; }
    @media screen and (max-width: 1250px) {
      header .logo {
        grid-area: 1 / 1 / 2 / 3; } }
    @media screen and (max-width: 1150px) {
      header .logo {
        grid-area: unset; } }
    @media screen and (max-width: 600px) {
      header .logo {
        width: clamp(10rem, 22.5vw, 13.5rem); } }
  header nav {
    height: 100%;
    grid-area: 1 / 4 / 2 / 10; }
    header nav ul {
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      header nav ul li {
        width: auto;
        height: 100%;
        display: inline-block;
        margin: 0 2rem 0 0; }
        header nav ul li a {
          width: 100%;
          height: 100%;
          padding: 0 0 0.3rem 0;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          background: -webkit-gradient(linear, left bottom, left top, from(#00257B), to(#00257B));
          background: linear-gradient(360deg, #00257B 0%, #00257B 100%);
          background-repeat: no-repeat;
          background-position-y: 65%;
          background-position-x: center;
          background-size: 0 2px;
          -webkit-transition: background-size 0.3s;
          transition: background-size 0.3s;
          font-weight: 500;
          font-size: clamp(1.45rem, 1.07vw, 1.6rem);
          color: var(--bk); }
          header nav ul li a.current {
            background-position-y: 65%;
            background-position-x: center;
            background-size: 100% 2px; }
          header nav ul li a:hover {
            background-position-y: 65%;
            background-position-x: center;
            background-size: 100% 2px; }
          header nav ul li a span.mark {
            display: inline-block;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            width: 10px;
            height: 10px;
            border-style: solid;
            border-width: 1px 1px 0 0;
            border-color: var(--bk);
            -webkit-transform: rotate(135deg);
                    transform: rotate(135deg);
            -webkit-transform-origin: 50% 25%;
                    transform-origin: 50% 25%;
            margin: 0 0 0 1rem; }
          @media screen and (max-width: 1150px) {
            header nav ul li a {
              background-position-y: bottom;
              background-size: 100% 2px; }
              header nav ul li a.current {
                background-position-y: bottom; }
              header nav ul li a:hover {
                background-position-y: bottom; } }
        header nav ul li:last-child {
          margin: 0; }
        header nav ul li ul.nav__ho {
          width: 65rem;
          height: auto;
          margin: auto;
          padding: 1.9rem;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          opacity: 0;
          visibility: hidden;
          -webkit-box-pack: justify;
              -ms-flex-pack: justify;
                  justify-content: space-between;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
          border-radius: 0 0 1.5rem 1.5rem;
          background: #fff;
          position: absolute;
          top: 8.1rem;
          right: 0;
          left: 0;
          -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
          transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
          header nav ul li ul.nav__ho li {
            width: calc((100% / 3) - 1rem);
            height: auto;
            margin: 0;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            line-height: 1.8;
            border-radius: 1rem;
            background-size: cover;
            position: relative; }
            header nav ul li ul.nav__ho li a {
              padding: 0 0 0 2rem;
              -webkit-box-orient: vertical;
              -webkit-box-direction: normal;
                  -ms-flex-direction: column;
                      flex-direction: column;
              -webkit-box-pack: start;
                  -ms-flex-pack: start;
                      justify-content: flex-start;
              -webkit-box-align: start;
                  -ms-flex-align: start;
                      align-items: flex-start;
              position: relative;
              -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
              transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
              header nav ul li ul.nav__ho li a .navTxt {
                color: var(--mC); }
              header nav ul li ul.nav__ho li a .navImg {
                width: 100%;
                height: auto; }
              header nav ul li ul.nav__ho li a::before {
                content: "";
                width: 1.5rem;
                height: 0.3rem;
                margin: auto;
                display: inline-block;
                background: var(--mC);
                position: absolute;
                top: calc(1em - 3px);
                left: 0; }
              header nav ul li ul.nav__ho li a:hover {
                background-position-y: 0;
                background-size: 0;
                opacity: 0.6; }
            header nav ul li ul.nav__ho li:nth-child(3) {
              pointer-events: none;
              opacity: 0.6; }
              header nav ul li ul.nav__ho li:nth-child(3) a .navTxt {
                color: var(--bk); }
              header nav ul li ul.nav__ho li:nth-child(3) a::before {
                background: var(--bk);
                opacity: 0.6; }
        header nav ul li:nth-child(2):hover .nav__ho {
          opacity: 1;
          visibility: visible; }
    @media screen and (max-width: 1250px) {
      header nav {
        grid-area: 1 / 3 / 2 / 11; } }
    @media screen and (max-width: 1150px) {
      header nav {
        grid-area: unset;
        width: 100%;
        height: calc(100vh - 7rem);
        padding: 0 8vw;
        background: #fff;
        border-top: solid 1px rgba(34, 34, 34, 0.3);
        position: absolute;
        top: 7rem;
        right: 0;
        -webkit-transform: translateX(100%);
                transform: translateX(100%);
        overflow-y: scroll;
        -webkit-transition: all 0.15s ease;
        transition: all 0.15s ease; }
        header nav.active {
          -webkit-transform: translateX(0);
                  transform: translateX(0); }
        header nav ul {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start;
          -webkit-box-align: start;
              -ms-flex-align: start;
                  align-items: flex-start; }
          header nav ul li {
            width: 100%;
            height: auto;
            margin: 0;
            text-align: center; }
            header nav ul li:not(.nav__ho) {
              height: auto; }
            header nav ul li:nth-child(2) a {
              background: unset; }
            header nav ul li a {
              width: 100%;
              height: 5rem;
              font-size: 2rem; }
              header nav ul li a i.mark {
                display: none; }
            header nav ul li ul.nav__ho {
              width: 100%;
              height: auto;
              padding: 0 0 2.5rem 0;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-orient: horizontal;
              -webkit-box-direction: normal;
                  -ms-flex-direction: row;
                      flex-direction: row;
              background: -webkit-gradient(linear, left bottom, left top, from(#00257B), to(#00257B));
              background: linear-gradient(360deg, #00257B 0%, #00257B 100%);
              background-repeat: no-repeat;
              background-position-y: bottom;
              background-position-x: center;
              background-position-x: center;
              background-size: 100% 2px;
              border-radius: 0;
              opacity: 1;
              visibility: visible;
              position: relative;
              top: 0; }
              header nav ul li ul.nav__ho:nth-child(2):hover .nav__ho {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                opacity: 1;
                visibility: visible; }
              header nav ul li ul.nav__ho li {
                width: calc((100% / 3) - 1rem);
                height: auto; }
                header nav ul li ul.nav__ho li a {
                  height: auto;
                  padding: 0;
                  border-bottom: unset;
                  background-size: 0; }
                  header nav ul li ul.nav__ho li a .navImg {
                    width: 100%;
                    height: 10rem; }
                  header nav ul li ul.nav__ho li a::before {
                    content: "";
                    display: none; }
                header nav ul li ul.nav__ho li.off {
                  pointer-events: none; }
                header nav ul li ul.nav__ho li a {
                  font-size: 1.6rem; }
                header nav ul li ul.nav__ho li:nth-of-type(1) a .navImg {
                  background: url(/asset/images/top/list/service01.webp) no-repeat;
                  background-position: center;
                  background-size: cover; }
                header nav ul li ul.nav__ho li:nth-of-type(2) a .navImg {
                  background: url(/asset/images/top/list/service02.webp) no-repeat;
                  background-position: center;
                  background-size: cover; }
                header nav ul li ul.nav__ho li:nth-of-type(3) a .navImg {
                  background: url(/asset/images/top/list/service03.webp) no-repeat;
                  background-position: center;
                  background-size: cover; }
                header nav ul li ul.nav__ho li:nth-of-type(4) a .navImg {
                  background: url(/asset/images/top/list/service04.webp) no-repeat;
                  background-position: center;
                  background-size: cover; }
                header nav ul li ul.nav__ho li:nth-of-type(5) a .navImg {
                  background: url(/asset/images/top/list/service05.webp) no-repeat;
                  background-position: center;
                  background-size: cover; }
                header nav ul li ul.nav__ho li:nth-of-type(6) a .navImg {
                  background: url(/asset/images/top/list/service06.webp) no-repeat;
                  background-position: center;
                  background-size: cover; }
                header nav ul li ul.nav__ho li:nth-of-type(7) a .navImg {
                  background: url(/asset/images/top/list/service07.webp) no-repeat;
                  background-position: center;
                  background-size: cover; }
                header nav ul li ul.nav__ho li:nth-of-type(8) a .navImg {
                  background: url(/asset/images/top/list/service08.webp) no-repeat;
                  background-position: center;
                  background-size: cover; }
                header nav ul li ul.nav__ho li:nth-of-type(9) a .navImg {
                  background: url(/asset/images/top/list/service09.webp) no-repeat;
                  background-position: center;
                  background-size: cover; } }
    @media screen and (max-width: 480px) {
      header nav {
        height: calc(100vh - 13rem);
        top: 13rem;
        padding: 0 4vw; }
        header nav ul li:last-child {
          padding: 0 0 4vw 0; }
        header nav ul li a {
          font-size: 1.8rem; }
        header nav ul li ul.nav__ho li {
          width: 49%; }
          header nav ul li ul.nav__ho li:nth-child(3n + 2) {
            border-right: unset;
            border-left: unset; }
          header nav ul li ul.nav__ho li:nth-child(n + 4) {
            border-top: unset; }
          header nav ul li ul.nav__ho li:nth-child(2n + 1) {
            border-right: solid 1px #fff;
            border-left: unset; }
          header nav ul li ul.nav__ho li:nth-child(n + 3) {
            border-top: solid 1px #fff; }
          header nav ul li ul.nav__ho li:last-child {
            padding: 0 0 0 0; }
          header nav ul li ul.nav__ho li a {
            font-size: 1.45rem; }
            header nav ul li ul.nav__ho li a .navImg {
              height: 8rem; } }
  header .contactCont {
    grid-area: 1 / 10 / 2 / 13; }
    header .contactCont ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      @media screen and (max-width: 1150px) {
        header .contactCont ul {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      header .contactCont ul li {
        width: 12rem; }
        @media screen and (max-width: 480px) {
          header .contactCont ul li {
            width: 50%; } }
        header .contactCont ul li:first-child {
          margin: 0 0.1rem 0 0; }
          @media screen and (max-width: 1250px) {
            header .contactCont ul li:first-child {
              margin: 0 0 0.1rem 0; } }
          @media screen and (max-width: 1150px) {
            header .contactCont ul li:first-child {
              margin: 0 0.1rem 0 0; } }
          @media screen and (max-width: 480px) {
            header .contactCont ul li:first-child {
              margin: 0; } }
        header .contactCont ul li a {
          width: 12rem;
          padding: 0.7rem 0;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          font-family: var(--jp);
          font-weight: bold;
          font-size: 1.4rem;
          border: solid 1px var(--mC);
          -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
          transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
          @media screen and (max-width: 480px) {
            header .contactCont ul li a {
              width: 100%; } }
        header .contactCont ul li:first-child {
          background: #fff; }
          header .contactCont ul li:first-child a {
            color: var(--mC); }
          header .contactCont ul li:first-child:hover {
            background: var(--mC); }
            header .contactCont ul li:first-child:hover a {
              color: #fff; }
        header .contactCont ul li:last-child {
          color: #fff;
          background: var(--mC); }
          header .contactCont ul li:last-child a {
            color: #fff; }
          header .contactCont ul li:last-child:hover {
            background: #fff; }
            header .contactCont ul li:last-child:hover a {
              color: var(--mC); }
    header .contactCont .accessInfo {
      margin: 0.5rem 0 0 0;
      text-align: right;
      font-size: 1rem;
      font-weight: bold; }
    @media screen and (max-width: 1250px) {
      header .contactCont {
        grid-area: 1 / 11 / 2 / 13; }
        header .contactCont ul li a {
          padding: 0.4rem 0; } }
    @media screen and (max-width: 1150px) {
      header .contactCont {
        margin: 0 6rem 0 0;
        grid-area: unset; } }
    @media screen and (max-width: 480px) {
      header .contactCont {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
        border-top: solid 1px rgba(34, 34, 34, 0.3);
        background: #fff;
        position: fixed;
        left: 0;
        top: 7rem;
        z-index: 10; }
        header .contactCont ul li a {
          padding: 1.2rem 0; }
        header .contactCont .accessInfo {
          margin: 0.4rem 0 0.5rem;
          padding: 0 2.5%; } }
  header .humM {
    display: none;
    position: relative; }
    header .humM span {
      width: 3rem;
      height: 0.2rem;
      margin: auto;
      background: var(--mC);
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
      transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
      header .humM span:first-child {
        top: -1.2rem; }
      header .humM span:last-child {
        bottom: -1.2rem; }
    @media screen and (max-width: 1150px) {
      header .humM {
        grid-area: unset;
        width: 5rem;
        height: 5rem;
        margin: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        border: solid 2px var(--mC);
        position: absolute;
        top: 0;
        bottom: 0;
        right: 2.5%;
        margin: auto; }
        header .humM.open span:first-child {
          top: 0;
          -webkit-transform: rotate(35deg);
                  transform: rotate(35deg); }
        header .humM.open span:nth-of-type(2) {
          display: none; }
        header .humM.open span:last-child {
          bottom: 0;
          -webkit-transform: rotate(-35deg);
                  transform: rotate(-35deg); } }

footer .contactWrap {
  width: 100%;
  height: auto;
  padding: 10rem 5rem;
  background: url(/asset/images/common/contact.webp) no-repeat;
  background-size: cover;
  background-position: center top;
  position: relative; }
  footer .contactWrap::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(35, 24, 21, 0.4);
    position: absolute;
    top: 0;
    right: 0; }
  @media screen and (max-width: 600px) {
    footer .contactWrap {
      padding: clamp(5rem, 8.33vw, 10rem) clamp(1.5rem, 2.5vw, 5rem); } }
  footer .contactWrap .cont {
    color: #fff;
    position: relative;
    z-index: 2; }
    footer .contactWrap .cont .contactList {
      margin: 3rem 0 0 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      footer .contactWrap .cont .contactList p {
        color: #fff; }
        footer .contactWrap .cont .contactList p.tel span {
          margin: 0 2rem 0 0; }
          footer .contactWrap .cont .contactList p.tel span img {
            width: 1.8em;
            vertical-align: sub; }
          footer .contactWrap .cont .contactList p.tel span span {
            margin: 0 0 0 0.5rem;
            font-family: var(--jp);
            font-weight: 400;
            font-size: 200%;
            line-height: 1; }
      @media screen and (max-width: 1150px) {
        footer .contactWrap .cont .contactList p.tel span {
          margin: 0 1rem 0 0; }
          footer .contactWrap .cont .contactList p.tel span span {
            font-size: clamp(160%, 3.12vw, 200%); } }
      @media screen and (max-width: 767px) {
        footer .contactWrap .cont .contactList {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          -webkit-box-align: start;
              -ms-flex-align: start;
                  align-items: flex-start; }
          footer .contactWrap .cont .contactList p.tel {
            margin: 0 0 2rem 0; } }
      @media screen and (max-width: 480px) {
        footer .contactWrap .cont .contactList p.tel {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          -webkit-box-align: start;
              -ms-flex-align: start;
                  align-items: flex-start; }
          footer .contactWrap .cont .contactList p.tel span {
            margin: 0; } }
footer .fWrap {
  width: 100%;
  padding: 5rem 0;
  background: var(--mC); }
  @media screen and (max-width: 767px) {
    footer .fWrap {
      padding: 3rem 0; } }
  footer .fWrap .fArea {
    width: 100%;
    border-bottom: solid 1px rgba(255, 255, 255, 0.3); }
    footer .fWrap .fArea .cont {
      max-width: 100rem;
      margin: 0 auto;
      padding: 0 0 3rem 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      footer .fWrap .fArea .cont .logo {
        width: 15rem; }
      footer .fWrap .fArea .cont .info p {
        color: #fff; }
        footer .fWrap .fArea .cont .info p.address {
          margin: 0;
          font-size: 1.4rem; }
        footer .fWrap .fArea .cont .info p.tel > span {
          margin: 0 2rem 0 0; }
          footer .fWrap .fArea .cont .info p.tel > span img {
            width: 1.8em;
            vertical-align: sub; }
          footer .fWrap .fArea .cont .info p.tel > span:last-child {
            margin: 0; }
          footer .fWrap .fArea .cont .info p.tel > span span {
            margin: 0 0 0 0.5rem;
            font-family: var(--jp);
            font-weight: 400;
            font-size: 200%;
            line-height: 1; }
      @media screen and (max-width: 1150px) {
        footer .fWrap .fArea .cont {
          max-width: 95%; }
          footer .fWrap .fArea .cont .info p.tel span {
            margin: 0 1rem 0 0; }
            footer .fWrap .fArea .cont .info p.tel span span {
              font-size: clamp(160%, 3.12vw, 200%); } }
      @media screen and (max-width: 767px) {
        footer .fWrap .fArea .cont .logo {
          width: clamp(12rem, 19.56vw, 15rem); } }
      @media screen and (max-width: 600px) {
        footer .fWrap .fArea .cont .info {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; }
          footer .fWrap .fArea .cont .info p.address {
            margin: 0 0 0.65rem 0;
            font-size: clamp(1.2rem, 1.56vw, 1.4rem); }
          footer .fWrap .fArea .cont .info p.tel {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column; }
            footer .fWrap .fArea .cont .info p.tel span {
              margin: 0 0 0.5rem 0; } }
      @media screen and (max-width: 380px) {
        footer .fWrap .fArea .cont {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; }
          footer .fWrap .fArea .cont .logo {
            width: clamp(10rem, 20vw, 12rem); }
          footer .fWrap .fArea .cont .info {
            margin: 2rem 0 0 0; }
            footer .fWrap .fArea .cont .info p.address {
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-orient: vertical;
              -webkit-box-direction: normal;
                  -ms-flex-direction: column;
                      flex-direction: column;
              line-height: 1.35; } }
  footer .fWrap .contF {
    max-width: 100rem;
    margin: 3rem auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (max-width: 1150px) {
      footer .fWrap .contF {
        max-width: 95%; } }
    @media screen and (max-width: 600px) {
      footer .fWrap .contF {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    footer .fWrap .contF .fNav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      footer .fWrap .contF .fNav ul li {
        margin: 1rem 0; }
        footer .fWrap .contF .fNav ul li:last-child {
          margin: 1rem 0 0 0; }
        footer .fWrap .contF .fNav ul li > a {
          font-size: 1.6rem;
          color: #fff; }
      footer .fWrap .contF .fNav ul.service {
        margin: 0 0 0 3rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; }
        footer .fWrap .contF .fNav ul.service li:not(.serviceTitle) {
          margin: 0.5rem 0; }
          footer .fWrap .contF .fNav ul.service li:not(.serviceTitle) a {
            padding: 0 0 0 1rem;
            text-align: left;
            font-size: 1.4rem;
            opacity: 0.8;
            position: relative; }
            footer .fWrap .contF .fNav ul.service li:not(.serviceTitle) a::before {
              content: "-";
              margin: auto;
              line-height: 1;
              font-size: 1.4rem;
              color: #fff;
              opacity: 0.8;
              position: absolute;
              top: 0;
              bottom: 0;
              left: 0; }
        footer .fWrap .contF .fNav ul.service li:nth-child(4) a {
          opacity: 0.4; }
          footer .fWrap .contF .fNav ul.service li:nth-child(4) a::before {
            opacity: 0.4; }
    footer .fWrap .contF .fBnr {
      max-width: 49rem; }
      @media screen and (max-width: 1150px) {
        footer .fWrap .contF .fBnr {
          width: clamp(40rem, 47.86vw, 49rem); } }
      @media screen and (max-width: 767px) {
        footer .fWrap .contF .fBnr {
          width: 40vw; } }
      @media screen and (max-width: 600px) {
        footer .fWrap .contF .fBnr {
          width: 100%;
          max-width: 100%; } }
      footer .fWrap .contF .fBnr ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        footer .fWrap .contF .fBnr ul li {
          width: calc((100% / 3) - 1rem);
          margin: 0 0 1rem 0; }
        @media screen and (max-width: 767px) {
          footer .fWrap .contF .fBnr ul li {
            width: calc((100% / 2) - 0.5rem); } }
        @media screen and (max-width: 600px) {
          footer .fWrap .contF .fBnr ul {
            margin: 3rem 0 0 0; }
            footer .fWrap .contF .fBnr ul li {
              width: calc((100% / 4) - 0.5rem); } }
        @media screen and (max-width: 480px) {
          footer .fWrap .contF .fBnr ul li {
            width: calc((100% / 3) - 0.5rem); } }
  footer .fWrap .fu {
    max-width: 100rem;
    margin: 2rem auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
    @media screen and (max-width: 1150px) {
      footer .fWrap .fu {
        max-width: 95%; } }
    @media screen and (max-width: 600px) {
      footer .fWrap .fu {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    footer .fWrap .fu .sns ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      footer .fWrap .fu .sns ul li {
        width: 4rem;
        height: 4rem;
        margin: 0 1rem 0 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        background: #fff;
        border-radius: 50%; }
        footer .fWrap .fu .sns ul li:last-child {
          margin: 0; }
        footer .fWrap .fu .sns ul li:nth-of-type(1) img, footer .fWrap .fu .sns ul li:nth-of-type(3) img {
          width: 2.4rem; }
        footer .fWrap .fu .sns ul li:nth-of-type(2) img {
          width: 1.8rem; }
        footer .fWrap .fu .sns ul li:nth-of-type(4) img {
          width: 2.5rem; }
    @media screen and (max-width: 600px) {
      footer .fWrap .fu .sns {
        margin: 0 auto 2rem 0; } }
    footer .fWrap .fu small {
      font-size: 1.2rem;
      color: #fff;
      opacity: 0.6; }

.topImg {
  width: 100%;
  height: 100vh;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .topImg h1 {
    margin: 8.1rem auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .topImg h1 span {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: 0 auto;
      padding: 0.5rem;
      display: inline-block;
      text-align: center;
      font-size: 3.6rem;
      color: var(--mC);
      position: relative;
      z-index: 2; }
      .topImg h1 span.subEn {
        margin: 1rem auto 0;
        padding: 0.5rem;
        display: inline-block;
        font-size: 2.4rem;
        position: relative;
        z-index: 2; }
      .topImg h1 span::after {
        content: "";
        width: 100%;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1; }
  @media screen and (max-width: 768px) {
    .topImg {
      height: calc((100vh * (9 / 16)) + 7rem);
      aspect-ratio: 16 / 9; }
      .topImg h1 span {
        font-size: clamp(3rem, 4.68vw, 3.6rem); }
        .topImg h1 span.subEn {
          margin: 0.5rem auto 0;
          font-size: clamp(1.8rem, 3.125vw, 2.4rem); } }
  @media screen and (max-width: 480px) {
    .topImg {
      height: calc((100vh * (9 / 16)) + 13.75rem); }
      .topImg h1 span {
        font-size: clamp(2.4rem, 6.25vw, 3rem); }
        .topImg h1 span.subEn {
          font-size: clamp(1.4rem, 3.75vw, 1.8rem); } }

#service {
  background: url(/asset/images/service/top.webp) no-repeat;
  background-size: cover;
  background-position: center; }

#faq {
  background: url(/asset/images/faq/top.webp) no-repeat;
  background-size: cover;
  background-position: center; }

#recruit {
  background: url(/asset/images/recruit/top.webp) no-repeat;
  background-size: cover;
  background-position: center; }

#shop {
  background: url(/asset/images/shop/top.webp) no-repeat;
  background-size: cover;
  background-position: center; }

#contact {
  background: url(/asset/images/contact/top.webp) no-repeat;
  background-size: cover;
  background-position: center; }

.fst--wrap {
  max-width: 100%;
  margin: 15rem auto 8rem;
  border-bottom: solid 1px rgba(35, 24, 21, 0.2); }
  .fst--wrap_ttl {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto; }
  .fst--wrap_txt {
    max-width: 100rem;
    margin: 0 auto 8rem;
    font-weight: bold;
    font-size: 1.8rem;
    letter-spacing: 0.025em;
    line-height: 2; }
  .fst--wrap_list {
    max-width: 100rem;
    margin: 0 auto 8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .fst--wrap_list li {
      width: calc((100% / 2) - 1rem);
      height: 6rem;
      background: var(--aC);
      border-radius: 0.5rem;
      -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
      transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
      .fst--wrap_list li:nth-child(n + 3) {
        margin-top: 2rem; }
      .fst--wrap_list li:nth-child(2n) {
        margin-left: 2rem; }
      .fst--wrap_list li a {
        width: 100%;
        height: 100%;
        padding: 0 1rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-size: 2rem;
        font-weight: bold;
        color: #fff; }
        .fst--wrap_list li a svg {
          margin: 0 1rem 0 0;
          fill: #fff;
          stroke: #fff;
          -webkit-transform: rotate(90deg);
                  transform: rotate(90deg); }
      .fst--wrap_list li:hover {
        background: #fff;
        border: solid 1px var(--aC); }
        .fst--wrap_list li:hover a {
          color: var(--aC); }
          .fst--wrap_list li:hover a svg {
            fill: var(--aC);
            stroke: var(--aC); }
  .fst--wrap_dtl {
    margin: 15rem auto 5rem;
    border-bottom: unset; }
    .fst--wrap_dtl .fst--wrap_txt {
      margin: 0 auto 5rem; }
  @media screen and (max-width: 1024px) {
    .fst--wrap {
      margin: clamp(7.5rem, 14.64vw, 15rem) auto clamp(4rem, 7.81vw, 8rem); }
      .fst--wrap_ttl {
        max-width: 90%; }
      .fst--wrap_txt {
        max-width: 90%;
        margin: 0 auto clamp(4rem, 7.81vw, 8rem);
        font-size: clamp(1.6rem, 1.76vw, 1.8rem); }
      .fst--wrap_list {
        max-width: 90%;
        margin: 0 auto clamp(4rem, 7.81vw, 8rem); }
        .fst--wrap_list li {
          width: calc((100% / 2) - 0.5rem);
          height: clamp(5rem, 5.85vw, 6rem); }
          .fst--wrap_list li a {
            font-size: clamp(1.6rem, 1.95vw, 2rem); }
          .fst--wrap_list li:nth-child(n + 3) {
            margin-top: 1rem; }
          .fst--wrap_list li:nth-child(2n) {
            margin-left: 1rem; }
      .fst--wrap_dtl {
        margin: clamp(7.5rem, 14.64vw, 15rem) auto clamp(4rem, 7.81vw, 8rem); }
        .fst--wrap_dtl .fst--wrap_txt {
          margin: 0 auto clamp(3rem, 2.38vw, 5rem); } }
  @media screen and (max-width: 480px) {
    .fst--wrap_list li {
      width: 100%;
      height: clamp(4rem, 10.41vw, 5rem); }
      .fst--wrap_list li:nth-child(n + 2) {
        margin: 1rem 0 0 0; } }

.sec {
  max-width: 100rem;
  margin: 15rem auto; }
  @media screen and (max-width: 1024px) {
    .sec {
      margin: clamp(7.5rem, 14.64vw, 15rem) auto; } }

@media screen and (max-width: 1024px) {
  .sec.faq {
    width: 90%; } }

.q--wrap {
  margin: 0 0 8rem 0;
  text-align: left; }
  .q--wrap:nth-of-type(2) {
    margin: 0; }
  .q--wrap li {
    min-height: 5rem;
    border-top: solid 1px rgba(35, 24, 21, 0.4); }
    .q--wrap li:last-child {
      border-bottom: solid 1px rgba(35, 24, 21, 0.4); }
    .q--wrap li button {
      cursor: pointer; }
    .q--wrap li .q--question {
      width: 100%;
      height: 100%;
      padding: 0.5rem 4rem 0.5rem 0;
      position: relative; }
      @media screen and (max-width: 768px) {
        .q--wrap li .q--question {
          padding: 1.35rem 3rem 1.35rem 0; } }
      .q--wrap li .q--question.isOpen .open::before {
        -webkit-transform: rotate(0);
                transform: rotate(0); }
      .q--wrap li .q--question.isOpen .open::after {
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      .q--wrap li .q--question p {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        text-align: left; }
        .q--wrap li .q--question p .iconQ {
          padding: 0 0.8em 0.2rem 0.375em;
          font-family: var(--en);
          font-weight: bold;
          font-size: 3.6rem;
          line-height: 1;
          color: var(--mC); }
        @media screen and (max-width: 768px) {
          .q--wrap li .q--question p {
            line-height: 1.25; }
            .q--wrap li .q--question p .iconQ {
              padding: 0 0.4em 0.2rem 0.375em;
              font-size: 2.8rem; } }
      .q--wrap li .q--question .open {
        margin: auto 2rem auto 0;
        position: absolute;
        top: 0;
        right: 1.5rem;
        bottom: 0; }
        .q--wrap li .q--question .open::before, .q--wrap li .q--question .open::after {
          content: "";
          width: 2rem;
          height: 2px;
          background: var(--mC);
          position: absolute;
          top: 0;
          bottom: 0;
          margin: auto;
          -webkit-transform-origin: center;
                  transform-origin: center; }
        .q--wrap li .q--question .open::before {
          -webkit-transform: rotate(90deg);
                  transform: rotate(90deg); }
        .q--wrap li .q--question .open::after {
          -webkit-transform: rotate(180deg);
                  transform: rotate(180deg); }
        @media screen and (max-width: 768px) {
          .q--wrap li .q--question .open {
            right: 0.5rem; }
            .q--wrap li .q--question .open::before, .q--wrap li .q--question .open::after {
              content: "";
              width: 1.5rem;
              height: 2px; } }
      .q--wrap li .q--question_ans {
        width: auto;
        padding: 0 4rem 0 0;
        line-height: 0;
        opacity: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .q--wrap li .q--question_ans.isOpen {
          margin: 0.5rem 0;
          line-height: 1.75;
          opacity: 1; }
          .q--wrap li .q--question_ans.isOpen .iconA {
            padding: 0 0.8em 0.2rem 0.375em;
            font-family: var(--en);
            font-weight: bold;
            font-size: 3.6rem;
            line-height: 1;
            color: #94252A; }
        @media screen and (max-width: 768px) {
          .q--wrap li .q--question_ans {
            -webkit-box-align: start;
                -ms-flex-align: start;
                    align-items: flex-start; }
            .q--wrap li .q--question_ans.isOpen .iconA {
              padding: 0 0.4em 0.2rem 0.375em;
              font-size: 2.8rem; } }

.sec.recruit {
  margin: 8rem auto 15rem; }
  @media screen and (max-width: 1024px) {
    .sec.recruit {
      width: 90%;
      margin: clamp(4rem, 7.81vw, 8rem) auto clamp(7.5rem, 14.64vw, 15rem); } }

.r--wrap {
  margin: 0 0 10rem 0; }
  .r--wrap.com li {
    width: calc((100% / 2) - 1rem); }
    .r--wrap.com li:nth-child(2) {
      margin: 0; }
    .r--wrap.com li:nth-child(n + 3) {
      margin: 3rem 0 0 0; }
    @media screen and (max-width: 600px) {
      .r--wrap.com li {
        width: 100%; }
        .r--wrap.com li:nth-child(2) {
          margin: clamp(2rem, 5vw, 3rem) 0 0 0; } }
  @media screen and (max-width: 1024px) {
    .r--wrap {
      margin: 0 0 clamp(5rem, 9.76vw, 10rem) 0; } }
  .r--wrap ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .r--wrap ul li {
      width: 100%; }
      .r--wrap ul li:nth-child(n + 2) {
        margin: 3rem 0 0 0; }
      .r--wrap ul li p:nth-of-type(1) {
        min-height: 4rem;
        margin: 0 0 1.5rem 0;
        padding: 0.5rem 1rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-size: 2rem;
        line-height: 1;
        background: var(--aC);
        border-radius: 0.5rem;
        color: #fff; }
      .r--wrap ul li p:nth-of-type(2) {
        line-height: 1.5; }
    @media screen and (max-width: 1024px) {
      .r--wrap ul li p:nth-of-type(1) {
        min-height: clamp(3rem, 3.9vw, 4rem);
        margin: 0 0 clamp(1rem, 1.46vw, 1.5rem) 0;
        font-size: clamp(1.6rem, 1.95vw, 2rem); } }
    @media screen and (max-width: 600px) {
      .r--wrap ul li:nth-child(n + 2) {
        margin: clamp(2rem, 5vw, 3rem) 0 0 0; } }
  .r--wrap_cm ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    .r--wrap_cm ul li {
      width: 100%;
      padding: 1.5rem 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      border-bottom: solid 1px rgba(35, 24, 21, 0.4); }
      .r--wrap_cm ul li p {
        font-weight: bold; }
        .r--wrap_cm ul li p:nth-of-type(1) {
          width: 38%;
          font-size: 2rem;
          line-height: 1.5; }
        .r--wrap_cm ul li p:nth-of-type(2) {
          width: 62%;
          line-height: 1.75; }
          .r--wrap_cm ul li p:nth-of-type(2) .cm--flx {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
            .r--wrap_cm ul li p:nth-of-type(2) .cm--flx > span {
              margin: 0 1.5rem 0 0; }
              .r--wrap_cm ul li p:nth-of-type(2) .cm--flx > span:last-child {
                margin: 0; }
    @media screen and (max-width: 1024px) {
      .r--wrap_cm ul li p:nth-of-type(1) {
        padding: 0 0 0 clamp(1rem, 2.92vw, 3rem);
        font-size: 1.8rem; } }
    @media screen and (max-width: 600px) {
      .r--wrap_cm ul li {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .r--wrap_cm ul li p:nth-of-type(1) {
          width: 100%; }
        .r--wrap_cm ul li p:nth-of-type(2) {
          width: 100%;
          padding: 0.75rem 0 0 clamp(1rem, 2.92vw, 3rem); } }
.r-flow {
  width: 100%; }
  .r-flow li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    .r-flow li:last-child .r-flow__exp::before {
      display: none; }
    @media screen and (max-width: 450px) {
      .r-flow li {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .r-flow__ttl, .r-flow__exp {
    font-size: 1.6rem;
    line-height: 1.5; }
    @media screen and (max-width: 1250px) {
      .r-flow__ttl, .r-flow__exp {
        font-size: 1.4rem; } }
  .r-flow__ttl {
    width: 28%;
    padding: 1.5rem 0.5rem 1.5rem 0;
    font-weight: bold;
    color: var(--mC);
    position: relative; }
    .r-flow__ttl::after {
      content: "";
      display: block;
      width: 1rem;
      height: 1rem;
      border-radius: 50%;
      background: var(--mC);
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      margin: auto; }
    @media screen and (max-width: 450px) {
      .r-flow__ttl {
        width: 100%;
        padding: 0 0 1rem 2rem; }
        .r-flow__ttl::after {
          top: -1rem;
          right: unset;
          left: 0; } }
  .r-flow__exp {
    width: 72%;
    padding: 1.5rem 0 1.5rem 5%;
    position: relative; }
    .r-flow__exp::before {
      content: "";
      width: 2px;
      height: 100%;
      background: var(--mC);
      position: absolute;
      top: 1.5em;
      left: -0.6rem;
      margin: auto;
      display: block; }
    @media screen and (max-width: 450px) {
      .r-flow__exp {
        width: 100%;
        padding: 0 0 1.5rem 2rem; }
        .r-flow__exp::before {
          height: calc(100% + 2.5rem);
          top: -1.5rem;
          left: 0.4rem; } }
  .r-flow__cap {
    margin: 2rem 0 0 0;
    display: inline-block;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1; }

.sec.service {
  max-width: 100%; }
  .sec.service_dtl {
    margin: 0 auto 15rem; }
    @media screen and (max-width: 1024px) {
      .sec.service_dtl {
        width: 90%;
        margin: 0 auto clamp(7.5rem, 14.64vw, 15rem); } }

.sl--wrap_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .sl--wrap_list li {
    width: calc(100% / 3);
    padding: 0;
    aspect-ratio: 25 / 12;
    position: relative; }
    @media screen and (max-width: 768px) {
      .sl--wrap_list li {
        width: calc(100% / 2); } }
    @media screen and (max-width: 480px) {
      .sl--wrap_list li {
        width: 100%; } }
    .sl--wrap_list li.service01 {
      background: url(/asset/images/top/service01.webp) no-repeat;
      background-size: cover;
      background-position: center; }
    .sl--wrap_list li.service02 {
      background: url(/asset/images/top/list/service02.webp) no-repeat;
      background-size: cover;
      background-position: center; }
    .sl--wrap_list li.service03 {
      background: url(/asset/images/top/list/service03.webp) no-repeat;
      background-size: cover;
      background-position: center; }
    .sl--wrap_list li.service04 {
      background: url(/asset/images/top/list/service04.webp) no-repeat;
      background-size: cover;
      background-position: center; }
    .sl--wrap_list li.service05 {
      background: url(/asset/images/top/list/service05.webp) no-repeat;
      background-size: cover;
      background-position: center; }
    .sl--wrap_list li.service06 {
      background: url(/asset/images/top/list/service06.webp) no-repeat;
      background-size: cover;
      background-position: center; }
    .sl--wrap_list li.service07 {
      background: url(/asset/images/top/list/service07.webp) no-repeat;
      background-size: cover;
      background-position: center; }
    .sl--wrap_list li.service08 {
      background: url(/asset/images/top/list/service08.webp) no-repeat;
      background-size: cover;
      background-position: center; }
    .sl--wrap_list li.service09 {
      background: url(/asset/images/top/list/service09.webp) no-repeat;
      background-size: cover;
      background-position: center; }
    .sl--wrap_list li a {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      color: #fff;
      position: relative;
      z-index: 2; }
      .sl--wrap_list li a::after {
        content: "";
        width: calc(100% - 2px);
        height: calc(100% - 2px);
        margin: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: var(--mC);
        opacity: 0.6;
        -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
        transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
        z-index: -1; }
      .sl--wrap_list li a:hover::after {
        opacity: 0; }
      .sl--wrap_list li a.off {
        pointer-events: none; }
        .sl--wrap_list li a.off::after {
          content: "COMING SOON";
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          font-family: var(--en);
          font-weight: bold;
          font-size: 2.4rem;
          line-height: 1;
          color: #fff;
          z-index: 11;
          opacity: 1;
          background: none; }
        .sl--wrap_list li a.off::before {
          content: "";
          width: calc(100% - 2px);
          height: calc(100% - 2px);
          margin: auto;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          background: rgba(34, 34, 34, 0.7);
          z-index: 11;
          opacity: 1;
          -webkit-transition: none;
          transition: none; }
        @media screen and (max-width: 600px) {
          .sl--wrap_list li a.off::after {
            font-size: clamp(1.8rem, 4vw, 2.4rem); } }
      .sl--wrap_list li a span {
        font-weight: bold;
        z-index: 2; }
        .sl--wrap_list li a span.num {
          font-size: clamp(1.2rem, 1.06vw, 1.6rem); }
        .sl--wrap_list li a span.srv--ttl {
          margin: 1rem 0 0 0;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          font-size: clamp(1.5rem, 1.33vw, 2rem); }
          .sl--wrap_list li a span.srv--ttl img {
            height: 1.3rem;
            margin: 0 0 0 1rem;
            display: inline-block; }
    .sl--wrap_list li::after {
      content: "";
      width: 100%;
      height: 100%;
      margin: auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      border-width: 1px;
      border-style: solid;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      border-color: #fff; }

.sec.store {
  margin: 15rem auto; }
  @media screen and (max-width: 1024px) {
    .sec.store {
      width: 90%;
      margin: clamp(7.5rem, 14.64vw, 15rem) auto; } }

.si--wrap_list li {
  padding: 1.5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  border-bottom: solid 1px rgba(35, 24, 21, 0.4); }
  @media screen and (max-width: 600px) {
    .si--wrap_list li {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .si--wrap_list li p.si--ttl {
    width: 38%;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.35; }
    .si--wrap_list li p.si--ttl + p {
      width: 62%;
      font-weight: 500;
      line-height: 1.75; }
  .si--wrap_list li p a {
    color: var(--mC); }
    .si--wrap_list li p a svg {
      fill: var(--mC);
      stroke: var(--mC); }
  @media screen and (max-width: 1024px) {
    .si--wrap_list li p.si--ttl {
      padding: 0 0 0 clamp(1rem, 2.92vw, 3rem);
      font-size: 1.8rem; } }
  @media screen and (max-width: 600px) {
    .si--wrap_list li p.si--ttl {
      width: 100%; }
      .si--wrap_list li p.si--ttl + p {
        width: 100%;
        padding: 0.75rem 0 0 clamp(1rem, 2.92vw, 3rem); } }
  .si--wrap_list li:first-child {
    padding: 0 0 1.5rem 0; }
  .si--wrap_list li:last-child {
    margin: 0 0 8rem 0; }
    @media screen and (max-width: 600px) {
      .si--wrap_list li:last-child {
        margin: 0 0 5rem 0; } }

.sec.contact {
  margin: 8rem auto 15rem; }
  @media screen and (max-width: 1024px) {
    .sec.contact {
      max-width: 90%;
      margin: clamp(4rem, 7.81vw, 8rem) auto clamp(7.5rem, 14.64vw, 15rem); } }

.wpcf7-list-item {
  margin: 0 1em 0 0 !important; }

.wpcf7-list-item-label {
  padding: 0 0 0 0.5rem; }

.wpcf7-form-control-wrap {
  width: 100%; }

.wpcf7-response-output {
  display: none; }

.wpcf7-not-valid-tip {
  margin: 0.5rem 0 0 0;
  font-weight: bold !important;
  font-size: 1.2rem !important;
  line-height: 1 !important;
  color: #94252A !important; }

.c--wrap {
  margin: 8rem 0 0 0; }
  @media screen and (max-width: 1024px) {
    .c--wrap {
      margin: clamp(6rem, 7.81vw, 8rem) 0 0 0; } }
  .c--wrap_list dl {
    margin: 0 0 5rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      .c--wrap_list dl {
        margin: 0 0 clamp(3rem, 6.51vw, 5rem) 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .c--wrap_list dl dt {
      width: 38%;
      padding: 0 8% 0 0; }
      .c--wrap_list dl dt p {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        font-size: 2rem;
        line-height: 1.35; }
        .c--wrap_list dl dt p .required {
          padding: 0 1rem;
          font-size: 1.6rem;
          line-height: 1;
          font-weight: bold;
          color: #fff;
          background: #94252A;
          height: 2.7rem;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; }
        @media screen and (max-width: 1024px) {
          .c--wrap_list dl dt p {
            font-size: clamp(1.6rem, 1.95vw, 2rem); }
            .c--wrap_list dl dt p .required {
              padding: 0 1rem;
              font-size: clamp(1.4rem, 1.56vw, 1.6rem);
              height: clamp(2.4rem, 2.63vw, 2.7rem); } }
      @media screen and (max-width: 768px) {
        .c--wrap_list dl dt {
          width: 100%;
          margin: 0 0 1rem 0;
          padding: 0;
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start; }
          .c--wrap_list dl dt .required {
            margin: 0 0 0 1rem; } }
    .c--wrap_list dl dd {
      width: 62%;
      font-size: 1.6rem; }
      @media screen and (max-width: 768px) {
        .c--wrap_list dl dd {
          width: 100%; } }
      .c--wrap_list dl dd ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .c--wrap_list dl dd ul li {
          margin: 0 2rem 0 0; }
          .c--wrap_list dl dd ul li.serviceDel {
            margin: 0 2rem 0.5rem 0; }
          .c--wrap_list dl dd ul li p {
            font-size: 1.6rem !important; }
          .c--wrap_list dl dd ul li label {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center; }
            .c--wrap_list dl dd ul li label input[type="checkbox"] {
              width: 1.5rem;
              height: 1.5rem;
              border: solid 1px rgba(35, 24, 21, 0.6);
              border-radius: 0;
              position: relative;
              appearance: none;
              -webkit-appearance: none;
              -moz-appearance: none; }
              .c--wrap_list dl dd ul li label input[type="checkbox"]:checked::before {
                content: "";
                width: 1.1rem;
                height: 1.1rem;
                margin: auto;
                background: var(--mC);
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0; }
          @media screen and (max-width: 768px) {
            .c--wrap_list dl dd ul li label input[type="checkbox"] {
              width: 1.8rem;
              height: 1.8rem; }
              .c--wrap_list dl dd ul li label input[type="checkbox"]:checked::before {
                content: "";
                width: 1.4rem;
                height: 1.4rem; } }
      .c--wrap_list dl dd input.txt {
        min-width: 30rem;
        padding: 0.3rem 1rem;
        border: solid 1px rgba(35, 24, 21, 0.6);
        border-radius: 0; }
        .c--wrap_list dl dd input.txt::-webkit-input-placeholder {
          font-size: 1.6rem;
          line-height: 1;
          color: rgba(35, 24, 21, 0.2); }
        .c--wrap_list dl dd input.txt:-ms-input-placeholder {
          font-size: 1.6rem;
          line-height: 1;
          color: rgba(35, 24, 21, 0.2); }
        .c--wrap_list dl dd input.txt::-ms-input-placeholder {
          font-size: 1.6rem;
          line-height: 1;
          color: rgba(35, 24, 21, 0.2); }
        .c--wrap_list dl dd input.txt::placeholder {
          font-size: 1.6rem;
          line-height: 1;
          color: rgba(35, 24, 21, 0.2); }
        .c--wrap_list dl dd input.txt_l {
          min-width: 100%;
          padding: 0.3rem 1rem;
          border: solid 1px rgba(35, 24, 21, 0.6);
          border-radius: 0; }
        .c--wrap_list dl dd input.txt_ad {
          min-width: 12rem;
          margin: 0 2rem 0 1rem;
          padding: 0.3rem 1rem;
          border: solid 1px rgba(35, 24, 21, 0.6);
          border-radius: 0; }
        @media screen and (max-width: 768px) {
          .c--wrap_list dl dd input.txt {
            width: 100%;
            min-width: unset;
            padding: 1rem; }
            .c--wrap_list dl dd input.txt_l {
              width: 100%;
              min-width: unset;
              padding: 1rem; }
            .c--wrap_list dl dd input.txt_ad {
              margin: 0 0.5rem; } }
      .c--wrap_list dl dd select {
        max-width: 17rem; }
        @media screen and (max-width: 768px) {
          .c--wrap_list dl dd select {
            padding: 0.7rem; } }
      .c--wrap_list dl dd textarea {
        width: 100%;
        min-width: unset;
        padding: 0.3rem 1rem; }
.c--form {
  border-bottom: solid 1px rgba(35, 24, 21, 0.4); }
  .c--form dl {
    margin: 0 0 5rem 0; }
  .c--form_address {
    margin: 5rem 0 0 0;
    border-bottom: solid 1px rgba(35, 24, 21, 0.4); }
    .c--form_address dl {
      margin: 0 0 2rem 0; }
      .c--form_address dl:last-child {
        margin: 0 0 5rem 0; }
  .c--form_end {
    margin: 5rem 0 0 0; }
.c--sitepolicy {
  width: 100%;
  height: 19rem;
  margin: 0 auto 8rem;
  padding: 2rem 5rem 2rem 2rem;
  border: solid 1px rgba(35, 24, 21, 0.6);
  overflow-y: scroll;
  scrollbar-color: #4F68A4 #fff;
  scrollbar-width: thin; }
  .c--sitepolicy p {
    font-weight: bold;
    line-height: 1.35;
    margin: 0 0 1em 0; }
    .c--sitepolicy p:last-child {
      margin: 0; }
  @media screen and (max-width: 768px) {
    .c--sitepolicy {
      margin: 0 auto clamp(5rem, 10.426vw, 8rem);
      padding: 2rem; } }
  @media screen and (max-width: 480px) {
    .c--sitepolicy {
      padding: 1rem; } }
.c--btn {
  width: 18rem;
  height: 5rem;
  margin: 0 auto 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.6rem;
  font-weight: bold;
  background: #fff;
  color: var(--mC);
  border: solid 2px var(--mC);
  border-radius: 2.5rem;
  cursor: pointer;
  -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
  transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
  .c--btn:hover {
    background: var(--mC);
    color: #fff;
    border: solid 2px var(--mC); }
.c--line a {
  width: 14.5rem;
  margin: 0 auto 2rem;
  display: block; }
.c--line p {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.8; }
@media screen and (max-width: 768px) {
  .c--line p {
    font-size: clamp(1.6rem, 2.6vw, 2rem); } }

input[type="text"]::-webkit-input-placeholder,
input[type="tel"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder {
  opacity: 0.7 !important;
  color: var(--bk) !important; }

input[type="text"]:-ms-input-placeholder,
input[type="tel"]:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder {
  opacity: 0.7 !important;
  color: var(--bk) !important; }

input[type="text"]::-ms-input-placeholder,
input[type="tel"]::-ms-input-placeholder,
input[type="email"]::-ms-input-placeholder {
  opacity: 0.7 !important;
  color: var(--bk) !important; }

input[type="text"]::placeholder,
input[type="tel"]::placeholder,
input[type="email"]::placeholder {
  opacity: 0.7 !important;
  color: var(--bk) !important; }

.address--cont p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .address--cont p .wpcf7-form-control-wrap {
    width: auto; }

.postal-search {
  min-width: 16rem;
  padding: 0.5rem 2.5rem 0.65rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: self-end;
      -ms-flex-align: self-end;
          align-items: self-end;
  border: solid 1px rgba(35, 24, 21, 0.6);
  border-radius: 1.5rem;
  cursor: pointer; }
  .postal-search span {
    padding: 0 0.2rem 0 0;
    line-height: 1; }
  .postal-search svg {
    fill: rgba(35, 24, 21, 0.6);
    stroke: rgba(35, 24, 21, 0.6);
    margin: 0 0 0 0.5rem;
    display: inline-block;
    vertical-align: bottom; }
  @media screen and (max-width: 768px) {
    .postal-search {
      min-width: unset;
      padding: 0.5rem 1.5rem; }
      .postal-search svg {
        -webkit-transform: scale(0.9);
                transform: scale(0.9); } }

#service01 {
  background: url(/asset/images/service/service01_top.webp) no-repeat;
  background-size: cover;
  background-position: center; }
#service02 {
  background: url(/asset/images/service/service02_top.webp) no-repeat;
  background-size: cover;
  background-position: center; }
#service03 {
  background: url(/asset/images/service/service03_top.webp) no-repeat;
  background-size: cover;
  background-position: center; }
#service04 {
  background: url(/asset/images/service/service04_top.webp) no-repeat;
  background-size: cover;
  background-position: center; }
#service05 {
  background: url(/asset/images/service/service05_top.webp) no-repeat;
  background-size: cover;
  background-position: center; }
#service06 {
  background: url(/asset/images/service/service06_top.webp) no-repeat;
  background-size: cover;
  background-position: center; }
#service07 {
  background: url(/asset/images/service/service07_top.webp) no-repeat;
  background-size: cover;
  background-position: center; }
#service08 {
  background: url(/asset/images/service/service08_top.webp) no-repeat;
  background-size: cover;
  background-position: center; }
#service09 {
  background: url(/asset/images/service/service09_top.webp) no-repeat;
  background-size: cover;
  background-position: center; }

.sec.service01,
.sec.service09 {
  max-width: 100%;
  margin: 8rem auto 0; }
  @media screen and (max-width: 1024px) {
    .sec.service01,
    .sec.service09 {
      margin: clamp(4rem, 7.81vw, 8rem) auto 0; } }

.sec.service04,
.sec.service06 {
  margin: 8rem auto 15rem; }
  @media screen and (max-width: 1024px) {
    .sec.service04,
    .sec.service06 {
      margin: clamp(4rem, 7.81vw, 8rem) auto clamp(7.5rem, 14.64vw, 15rem); } }

.col--ttl {
  padding: 0;
  text-align: center; }
  .col--ttl::before {
    content: "";
    display: none; }
.col--txt {
  margin: 0 auto 5rem;
  text-align: center;
  line-height: 1.75; }
@media screen and (max-width: 1024px) {
  .col--txt {
    max-width: 90%;
    margin: 0 auto clamp(3rem, 4.88vw, 5rem); } }

.service01 .srv--txt_box {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.flow--wrap {
  max-width: 100rem;
  margin: 0 auto; }
.flow--list_item {
  margin: 0 0 3rem 0;
  padding: 3rem;
  color: #fff; }
  .flow--list_item .num {
    margin: 0 0 1.5rem 0;
    font-size: 2.4rem;
    font-weight: bold; }
    .flow--list_item .num span {
      margin: 0 1.5rem 0 0;
      padding: 1rem;
      font-family: var(--en);
      border: solid 2px #fff; }
  .flow--list_item:last-child {
    margin: 0; }
  .flow--list_item:nth-of-type(1) {
    background: rgba(0, 37, 123, 0.45); }
  .flow--list_item:nth-of-type(2) {
    background: rgba(0, 37, 123, 0.55); }
  .flow--list_item:nth-of-type(3) {
    background: rgba(0, 37, 123, 0.65); }
  .flow--list_item:nth-of-type(4) {
    background: rgba(0, 37, 123, 0.75); }
  .flow--list_item:nth-of-type(5) {
    background: rgba(0, 37, 123, 0.85); }
.flow--list_copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
  .flow--list_copy img {
    width: 42.5%; }
  .flow--list_copy p {
    width: 57.5%;
    padding: 0 0 0 3rem;
    font-weight: bold;
    line-height: 1.75; }
@media screen and (max-width: 1024px) {
  .flow--wrap {
    max-width: 90%; } }
@media screen and (max-width: 768px) {
  .flow--list_item {
    margin: 0 0 clamp(1.5rem, 3.9vw, 3rem) 0;
    padding: clamp(1.5rem, 3.9vw, 3rem); }
    .flow--list_item .num {
      font-size: clamp(1.8rem, 3.125vw, 2.4rem); }
      .flow--list_item .num span {
        margin: 0 clamp(1rem, 1.95vw, 1.5rem) 0 0; }
  .flow--list_copy {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .flow--list_copy img {
      width: 100%; }
    .flow--list_copy p {
      width: 100%;
      padding: 1.5rem 0 0 0; } }

.price--wrap {
  max-width: 100rem;
  margin: 8rem auto 0; }
  @media screen and (max-width: 1024px) {
    .price--wrap {
      max-width: 90%; } }
  .price--wrap .srv--txt_area {
    margin: 4rem 0; }
.price--cap {
  margin: 2rem 0 15rem 0; }
  @media screen and (max-width: 1024px) {
    .price--cap {
      margin: 2rem 0 clamp(7.5rem, 14.64vw, 15rem) 0; } }
  .price--cap_list {
    margin: 1rem 0 0 0; }
    .price--cap_list span {
      padding: 0 0 0 1em;
      font-size: 1.4rem;
      line-height: 1.71;
      position: relative; }
      .price--cap_list span::before {
        content: "・";
        position: absolute;
        left: 0; }
      .price--cap_list span.noList {
        padding: 0; }

.srv--cont_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }
  .srv--cont_list li {
    width: calc((100% / 3) - 1.5rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0; }
    .srv--cont_list li:nth-of-type(n + 4) {
      margin: 3rem 0 0 0; }
    .srv--cont_list li a {
      -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
      transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
      .srv--cont_list li a:hover {
        opacity: 0.6; }
.srv--cont_name {
  margin: 0 0 2rem 0;
  padding: 0 0 0 2rem;
  display: inline-block;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.33;
  color: var(--mC);
  position: relative; }
  .srv--cont_name::before {
    content: "";
    width: 1.5rem;
    height: 0.3rem;
    margin: auto;
    display: inline-block;
    background: var(--mC);
    position: absolute;
    top: calc((1.33em / 2) - 3px);
    left: 0; }
@media screen and (max-width: 1024px) {
  .srv--cont_list {
    max-width: 90%;
    margin: 0 auto; }
    .srv--cont_list li {
      width: calc((100% / 2) - 1.5rem); }
      .srv--cont_list li:nth-of-type(n + 3) {
        margin: 3rem 0 0 0; } }
@media screen and (max-width: 768px) {
  .srv--cont_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .srv--cont_list li {
      width: 100%; }
      .srv--cont_list li:nth-of-type(n + 2) {
        margin: 3rem 0 0 0; }
  .srv--cont_name {
    font-size: clamp(1.5rem, 2.34vw, 1.8rem); } }
.srv--txt {
  max-width: 100rem;
  margin: 0 auto; }
  @media screen and (max-width: 1024px) {
    .srv--txt {
      max-width: 90%; } }
  .srv--txt_area {
    width: 100%;
    margin: 0 0 8rem 0; }
  .srv--txt_ttl {
    padding: 0 0 2rem 2rem;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.33;
    color: var(--mC);
    position: relative; }
    .srv--txt_ttl::before {
      content: "";
      width: 1.5rem;
      height: 0.3rem;
      margin: auto;
      display: inline-block;
      background: var(--mC);
      position: absolute;
      top: calc((1.75em / 2) - 1.25px);
      left: 0; }
  .srv--txt_img {
    margin: 2rem 0 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    .srv--txt_img img {
      width: calc((100% / 2) - 0.5rem); }
    .srv--txt_img.once {
      margin: 0 0 2rem 0; }
      .srv--txt_img.once img {
        width: 100%; }
  @media screen and (max-width: 1024px) {
    .srv--txt_area {
      margin: 0 0 clamp(6rem, 7.81vw, 8rem) 0; }
      .srv--txt_area:last-child {
        margin: 0 0 8rem 0; }
    .srv--txt_ttl {
      padding: 0 0 clamp(1rem, 1.95vw, 2rem) 2rem;
      font-size: clamp(1.8rem, 3.125vw, 2.4rem); } }
  @media screen and (max-width: 768px) {
    .srv--txt_img img {
      width: 100%;
      margin: 0 0 1rem 0; }
      .srv--txt_img img:last-child {
        margin: 0; } }
.srv--stg_cont {
  max-width: 83rem;
  margin: 0 auto 15rem; }
.srv--stg_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
  .srv--stg_list li {
    width: calc((100% / 4) - 0.75rem);
    height: 20rem;
    min-height: 20rem; }
    .srv--stg_list li a {
      height: 100%;
      padding: 1.5rem 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background: var(--mC);
      border-radius: 1rem;
      -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
      transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
      .srv--stg_list li a p {
        text-align: center;
        font-size: 1.4rem;
        color: #fff; }
      .srv--stg_list li a svg.arrow {
        height: 2rem;
        -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
        fill: #fff;
        stroke: #fff; }
      .srv--stg_list li a:hover {
        background: #fff;
        border: solid 1px var(--mC); }
        .srv--stg_list li a:hover p {
          color: var(--mC); }
        .srv--stg_list li a:hover svg {
          fill: var(--mC);
          stroke: var(--mC); }
@media screen and (max-width: 1024px) {
  .srv--stg_cont {
    max-width: 90%;
    margin: 0 auto clamp(7.5rem, 14.64vw, 15rem); } }
@media screen and (max-width: 800px) {
  .srv--stg_list li {
    width: calc((100% / 2) - 0.75rem); }
    .srv--stg_list li:nth-child(n + 3) {
      margin: 1.5rem 0 0 0; } }
@media screen and (max-width: 480px) {
  .srv--stg_list li {
    width: calc((100% / 2) - 0.5rem); }
    .srv--stg_list li:nth-child(n + 3) {
      margin: 1rem 0 0 0; } }
.srv--dtl_img {
  max-width: 80%;
  margin: 0 auto;
  display: block; }
.srv--dtl_ttl {
  margin: 3rem 0 1.5rem;
  padding: 0.3rem 2rem;
  display: inline-block;
  font-weight: bold;
  background: var(--mC);
  color: #fff; }
.srv--dtl_list {
  margin: 0 auto 15rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .srv--dtl_list li {
    padding: 1.5rem 0 0 0;
    border-bottom: solid 1px rgba(35, 24, 21, 0.4); }
    .srv--dtl_list li p {
      margin: 0 0 1.5rem 0; }
@media screen and (max-width: 1024px) {
  .srv--dtl_img {
    max-width: 100%; }
  .srv--dtl_list {
    margin: 0 auto clamp(10rem, 14.64vw, 15rem); } }

.service01 .srv--txt_box,
.service06 .srv--txt_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
.service01 .srv--txt_img,
.service06 .srv--txt_img {
  width: 48%;
  margin: 0; }
  .service01 .srv--txt_img img,
  .service06 .srv--txt_img img {
    width: 100%; }
.service01 .srv--txt_copy,
.service06 .srv--txt_copy {
  width: 52%;
  padding: 0 0 0 5rem; }
@media screen and (max-width: 1024px) {
  .service01 .srv--txt_copy,
  .service06 .srv--txt_copy {
    padding: 0 0 0 clamp(3rem, 4.88vw, 5rem); } }
@media screen and (max-width: 768px) {
  .service01 .srv--txt_box,
  .service06 .srv--txt_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .service01 .srv--txt_img,
  .service06 .srv--txt_img {
    width: 100%; }
  .service01 .srv--txt_copy,
  .service06 .srv--txt_copy {
    width: 100%;
    padding: clamp(1rem, 1.95vw, 2rem) 0 0 0; } }

.dtl--wrap {
  margin: 0 auto 15rem; }
  .dtl--wrap_txt {
    margin: 0 0 5rem 0;
    line-height: 1.75; }
  .dtl--wrap_img {
    max-width: 80rem;
    margin: 0 auto; }
.dtl--work_ttl {
  margin: 5rem 0 0 0;
  padding: 0.5rem 2rem 0.6rem;
  display: inline-block;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  background: var(--mC); }
.dtl--work_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%; }
  .dtl--work_list li {
    padding: 1.5rem 0 1.5rem 2rem;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.75;
    color: var(--mC);
    border-bottom: solid 1px rgba(35, 24, 21, 0.4);
    position: relative; }
    .dtl--work_list li::before {
      content: "";
      width: 1.5rem;
      height: 0.3rem;
      margin: auto;
      display: inline-block;
      background: var(--mC);
      position: absolute;
      top: calc(((1.75em / 2) - 3px) + 1.5rem);
      left: 0; }

.insurance {
  max-width: 100%;
  padding: 8rem 0 15rem 0;
  border-top: solid 1px rgba(35, 24, 21, 0.2); }
  .insurance ul {
    max-width: 100rem;
    margin: 5rem auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .insurance ul li {
      width: calc((100% / 3) - 1.5rem);
      height: 10rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      border: solid 1px rgba(35, 24, 21, 0.2); }
  @media screen and (max-width: 1024px) {
    .insurance {
      padding: 8rem 0 clamp(7.5rem, 14.64vw, 15rem) 0; }
      .insurance ul {
        max-width: 90%;
        margin: clamp(3rem, 4.88vw, 5rem) auto 0; }
        .insurance ul li {
          width: calc((100% / 3) - 0.75rem);
          height: clamp(6rem, 9.76vw, 10rem);
          padding: 1rem; } }
  @media screen and (max-width: 480px) {
    .insurance ul {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      .insurance ul li {
        width: 100%;
        height: 8rem;
        margin: 1rem auto 0; }
        .insurance ul li:first-child {
          margin: 0; } }

.prev {
  width: 100%;
  padding: 3.5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.8rem;
  font-weight: bold;
  background: var(--bk);
  color: #fff;
  -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
  transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
  .prev svg {
    margin: 0 0 0 0.5rem;
    fill: var(--wh);
    stroke: var(--wh);
    -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1);
    transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
  .prev:hover {
    background: var(--wh);
    color: var(--bk); }
    .prev:hover svg {
      fill: var(--bk);
      stroke: var(--bk); }
  @media screen and (max-width: 480px) {
    .prev {
      padding: 2.5rem 0;
      font-size: 1.6rem; } }

.topImg#nfound {
  height: 50vh;
  background: var(--mC); }
  @media screen and (max-width: 768px) {
    .topImg#nfound {
      height: calc(50vh + 7rem);
      aspect-ratio: 1 / 1; } }
  @media screen and (max-width: 480px) {
    .topImg#nfound {
      height: calc(50vh + 13.75rem); } }

.nfound--wrap {
  max-width: 100rem;
  margin: 8rem auto;
  border-bottom: unset; }
  .nfound--wrap_ttl {
    max-width: 100rem;
    margin-right: auto;
    margin-left: auto; }
  .nfound--wrap_txt {
    max-width: 100rem;
    margin: 0 auto 5rem;
    font-weight: bold;
    line-height: 2; }
@media screen and (max-width: 1024px) {
  .nfound--wrap {
    width: 90%;
    margin: clamp(4rem, 7.81vw, 8rem) auto; }
    .nfound--wrap_ttl {
      max-width: 100%; }
    .nfound--wrap_txt {
      max-width: 100%; } }

@media print {
  * html body {
    zoom: .7; } }

/*# sourceMappingURL=style.css.map */