@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@300;500;600&display=swap");
/*
  * Reset CSS
*/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* list Remove default style */
ul,
ol {
  padding: 0;
  list-style: none;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  text-rendering: optimizespeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  -webkit-text-decoration-skip: ink;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* フォームリセット */
input,
button,
textarea,
select {
  font: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
}

/* stylelint-disable */
textarea {
  resize: vertical;
}

/* stylelint-enable */
input[type=radio] {
  visibility: hidden;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

/* =====================
 * Baseスタイル
===================== */
:root,
:root[theme=Default] {
  --pc-max-width:1200px;
  --pc-max-width2:1400px;
  --f-family-main: "Noto Sans JP", sans-serif;
  --f-family-en: "Oswald", sans-serif;
  --f-font-size: 18px;
  --f-font2-size: 20px;
  --f-font3-size: 34px;
  --f-font4-size: 28px;
  --f-font-sub-size: 18px;
  --f-font6-size: 16px;
  --f-font7-size: 18px;
  --f-line-height: 1.8;
  --f-line-height2: 2.0;
  --f-h2-marginbottom: 80px;
  --c-white: #fff;
  --c-white2: #FDFCFA;
  --c-black: #181818;
  --c-gray:#484848;
  --c-green:#06c755;
  --c-blue:#255785;
  --c-blue2:#014F8C;
  --c-blue-grade:linear-gradient(40deg,#014f8c 0%, #122245 100%);
  --c-blue-grade2:linear-gradient(to right,#014f8c 0%, #122245 100%);
  --c-light-blue-grade:linear-gradient(#e4f5ff 0%, #deeeff 45.69%, #9eccef 100%);
  --c-light-blue-grade2:linear-gradient(to right,#e4f5ff 0%, #deeeff 45.69%, #9eccef 100%);
  --fixed-left:12vw;
  --fixed-left-font:50%;
  --box-shadow1:10px 10px 36px rgba(0, 0, 0, 0.06);
}
@media (max-width: 768px) {
  :root,
  :root[theme=Default] {
    --fixed-left:0;
    --f-font-size: 15px;
    --f-font2-size: 15px;
    --f-font3-size: 24px;
    --f-font4-size: 16px;
    --f-font5-size: 32px;
    --f-font6-size: 12px;
    --f-font7-size: 16px;
    --f-font8-size: 22px;
    --f-font9-size: 62px;
    --f-font10-size: 36px;
    --f-font11-size: 28px;
    --f-font12-size: 14px;
    --f-font-sub-size: 15px;
    --f-h2-marginbottom: 24px;
  }
}

html {
  /* ----------------------------
  * リキッドレイアウト rootのfont-sizeを可変にして、単位をremで指定することでレイアウトを可変にする
    // 計算式参考サイト：https://lpeg.info/html/css_calc_font.html
    // font-size: calc([最小値px] + ([最大値] - [最小値]) * ((100vw - [最小画面幅px]) / ([最大画面幅] - [最小画面幅])));
    // clampと併用して上限下限を設定すること。しないと無限に変化し続ける
  * ---------------------------- */
  font-size: 22px;
  color: var(--c-black);
}
@media (max-width: 1140px) {
  html {
    font-size: clamp(12px, 12px + 4 * (100vw - 768px) / 372, 16px);
  }
}
@media (max-width: 768px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 375px) {
  html {
    font-size: clamp(12px, 4.2666666667vw, 16px);
  }
}

body {
  font-family: var(--f-family-main);
  font-size: var(--f-font-size);
  line-height: var(--f-line-height);
  background-color: var(--c-3);
  overflow-wrap: break-word;
  word-break: break-all;
  background-color: var(--c-white);
}

a {
  display: inline-block;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: 0.3s;
}

button {
  transition: 0.3s;
}
button:hover, button:focus {
  opacity: 0.7;
}

p {
  line-height: var(--f-line-height);
}

ul {
  list-style: none;
}
ul li {
  list-style: none;
}

a {
  text-decoration: none;
}

section {
  text-align: center;
  position: relative;
  margin-left: var(--fixed-left);
}
section h2.h2-notice {
  position: relative;
  display: inline-block;
  font-size: var(--f-font3-size);
  text-align: center;
  margin: auto;
  text-align: center;
  margin-bottom: var(--f-h2-marginbottom);
}
section h2.h2-notice:before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 4px;
  background: #007BBD;
  position: absolute;
  top: 78px;
}
@media (max-width: 768px) {
  section h2.h2-notice:before {
    top: 46px;
  }
}
section h2.h2-notice span {
  display: block;
  text-transform: uppercase;
  color: var(--c-blue);
  text-align: center;
  padding-top: 1.75rem;
  font-size: var(--f-font-sub-size);
}
@media (max-width: 768px) {
  section h2.h2-notice span {
    padding-top: 0.875rem;
  }
}

.pa-nomal {
  padding: 6.25rem 1.25rem;
}
@media (max-width: 768px) {
  .pa-nomal {
    padding: 3.125rem 0.9375rem;
  }
}

.deatail-link a {
  margin: 0 auto;
  box-shadow: var(--box-shadow1);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  max-width: 26.25rem;
  width: 85%;
  background: var(--c-blue-grade);
  color: var(--c-white);
  text-align: center;
  font-weight: 500;
  position: relative;
  transition: all 0.2s;
}
.deatail-link a svg {
  height: 75%;
  position: absolute;
  right: 5%;
  top: 0;
  bottom: 0;
  margin: auto;
}
.deatail-link a:hover {
  transition: all 0.2s;
  background: var(--c-light-blue-grade2);
  color: var(--c-blue);
  box-shadow: none;
}
.deatail-link.reason-deatail-link {
  margin-top: 5rem;
}
@media (max-width: 768px) {
  .deatail-link.reason-deatail-link {
    margin-top: 2.5rem;
  }
}

.cta .cta__container .deatail-link {
  margin-bottom: 0;
}
.cta .cta__container .deatail-link a {
  background: linear-gradient(80deg, #014f8c 0%, #fff 0%, #e4f3fe 100%);
  color: #014F8C;
  font-weight: bold;
}
.cta .cta__container .deatail-link a:hover {
  transition: all 0.2s;
  background: var(--c-blue-grade);
  color: var(--c-white);
  box-shadow: none;
}

.pcnav {
  padding: 0;
  margin: 0;
  height: 100%;
}
.pcnav ul {
  display: flex;
  padding: 0;
  margin: auto 0;
  height: 100%;
}
.pcnav ul li {
  padding: 0;
  margin: 0;
}
.pcnav ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  margin-left: 2.5rem;
  color: var(--c-black);
  font-weight: bold;
  transition: all 0.2s;
}
.pcnav ul li a:hover {
  opacity: 0.8;
  transition: all 0.2s;
}
.pcnav ul li.nav-cta a {
  background: var(--c-blue-grade);
  color: var(--c-white);
  padding: 0 1.75rem;
  line-height: 1.6;
}
.pcnav ul li.nav-cta a:hover {
  transition: all 0.2s;
  background: var(--c-light-blue-grade2);
  color: var(--c-blue);
  box-shadow: none;
}
.pcnav ul li.nav-cta a span {
  font-size: 80%;
}

.box {
  display: flex;
  align-items: center;
  max-width: var(--pc-max-width);
  background: var(--c-white);
  padding: 2rem;
  margin: 0 auto;
  margin-bottom: 2.5rem;
  border: 1px solid var(--c-gray);
}
@media (max-width: 768px) {
  .box {
    flex-direction: column;
    padding: 1.5rem 1rem;
  }
}
.box:last-of-type {
  margin-bottom: 0;
}
.box h3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 8.75rem;
  min-width: 8.75rem;
  height: 8.75rem;
  text-align: center;
  color: var(--c-white);
  background-color: var(--c-blue);
  line-height: 1;
}
@media (max-width: 768px) {
  .box h3 {
    flex-direction: column;
    margin-bottom: 1.5rem;
    width: 6.25rem;
    min-width: 6.25rem;
    height: 6.25rem;
  }
}
.box h3 span {
  font-size: 160%;
  line-height: 1.5;
  font-family: var(--f-family-en);
}
.box table {
  margin-left: 1.5rem;
}
@media (max-width: 768px) {
  .box table {
    margin-left: 0;
  }
}
.box table tr:last-of-type th, .box table tr:last-of-type td {
  border-bottom: none;
  font-size: var(--f-font7-size);
}
.box table th, .box table td {
  text-align: left;
  vertical-align: middle;
  padding: 0.625rem;
  font-size: var(--f-font7-size);
  border-bottom: 1px solid var(--c-gray);
}
.box table th {
  width: 6em;
  color: var(--c-blue2);
}
.box .box-parts {
  margin-left: 1.5rem;
}
@media (max-width: 768px) {
  .box .box-parts {
    margin-left: 0;
  }
}
.box .box-parts h4 {
  text-align: left;
  color: var(--c-blue2);
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .box .box-parts h4 {
    text-align: center;
  }
}
.box .box-parts p {
  text-align: left;
}

.h2-form {
  margin-left: 0;
  margin-bottom: 2.5rem;
  margin-top: 2.5rem;
  font-size: var(--f-font2-size);
}
.h2-form span {
  display: block;
  text-transform: uppercase;
  color: var(--c-blue);
  padding-top: 0;
  font-size: var(--f-font-sub-size);
}

#ft {
  margin-left: var(--fixed-left);
}

.l-footer {
  padding: 1.5rem 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .l-footer {
    flex-wrap: wrap;
  }
}
.l-footer .footernav {
  display: flex;
  justify-content: space-around;
  margin: 0 0 0 auto;
  max-width: var(--pc-max-width2);
}
@media (max-width: 768px) {
  .l-footer .footernav {
    flex-wrap: wrap;
    margin: 1.25rem auto 0;
  }
}
.l-footer .footernav li {
  padding: 0;
}
.l-footer .footernav li a {
  padding: 0.5rem 0.25rem;
  margin-left: 1.5rem;
  font-size: var(--f-font7-size);
}
@media (max-width: 768px) {
  .l-footer .footernav li a {
    margin-left: 0;
  }
}
.l-footer .footernav li.nav-cta {
  width: 10.625rem;
}
@media (max-width: 768px) {
  .l-footer .footernav li.nav-cta {
    width: calc(50% - 0.625rem);
    margin: 0;
    margin-top: 1.25rem;
  }
}
.l-footer .footernav li.nav-cta a {
  padding: 0.75rem 0;
}
.l-footer .l-footer__logo {
  display: flex;
  align-self: center;
}
.l-footer .l-footer__logo img {
  width: 3.375rem;
}
@media (max-width: 768px) {
  .l-footer .l-footer__logo img {
    width: 4rem;
    height: auto;
    margin: auto;
  }
}

#ft_copy {
  background: var(--c-blue-grade2);
  color: var(--c-white);
  padding: 0.375rem;
  text-align: center;
  font-size: 14px;
}

.l-header {
  margin: 0;
  position: relative;
  z-index: 100;
  transition: 0.3s;
  height: 5rem;
  background-color: var(--c-base-white);
  box-shadow: var(--c-base-shadow);
  padding: 0 0 0 1.25rem;
}
@media (max-width: 768px) {
  .l-header {
    position: static;
  }
}
@media (max-width: 768px) {
  .l-header .pcnav {
    width: 100%;
    height: 100vh;
    background-color: var(--c-white);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    opacity: 0;
    top: -100vh;
  }
}
@media (max-width: 768px) {
  .l-header .pcnav ul {
    width: 100%;
    height: 100vw;
    display: flex;
    flex-direction: column;
  }
}
.l-header .pcnav ul li {
  font-size: var(--f-font7-size);
}
@media (max-width: 768px) {
  .l-header .pcnav ul li {
    height: 20vw;
  }
}
@media (max-width: 768px) {
  .l-header .pcnav ul li {
    width: 100%;
    background-color: var(--c-white);
    border-bottom: 1px solid var(--c-blue);
  }
}
@media (max-width: 768px) {
  .l-header .pcnav ul li a {
    width: 100%;
    padding: 0.625rem;
    margin-left: 0;
  }
}
.l-header .hamburger {
  display: none;
  transition: all 0.2s;
}
@media (max-width: 768px) {
  .l-header .hamburger {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 3000;
    right: 0;
    top: 0;
    width: 5rem;
    height: 5rem;
    background: var(--c-blue-grade);
  }
}
.l-header .hamburger span {
  transition: all 0.2s;
  display: block;
  height: 0.125rem;
  width: 1.875rem;
  margin-top: 0.1875rem;
  margin-bottom: 0.1875rem;
  background-color: var(--c-white);
}

.nav-open .pcnav {
  transition: all 0.2s;
  opacity: 1;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 500;
}
.nav-open .hamburger {
  transition: all 0.2s;
  padding-top: 8px;
}
.nav-open .hamburger span {
  transition: all 0.2s;
}
.nav-open .hamburger span:first-of-type {
  transform: rotate(34deg);
}
.nav-open .hamburger span:last-of-type {
  position: relative;
  top: -8px;
  transform: rotate(-34deg);
}

.l-header__container {
  height: 100%;
  display: flex;
  justify-content: space-between;
  z-index: 20;
  padding: 0;
  margin: 0;
}
.l-header__container .l-header__logo {
  display: flex;
  align-self: center;
  height: 100%;
  width: 4.375rem;
  position: relative;
  z-index: 950;
  margin-top: 1.25rem;
  margin-left: 0.9375rem;
}
@media (max-width: 768px) {
  .l-header__container .l-header__logo {
    width: auto;
    height: 3.125rem;
    margin: auto auto auto 0.625rem;
  }
}
.l-header__container .l-header__logo img {
  width: 100%;
}
@media (max-width: 768px) {
  .l-header__container .l-header__logo img {
    width: auto;
    height: 3.125rem;
  }
}

#hd_fix-left {
  position: fixed;
  height: 100%;
  width: var(--fixed-left);
  background-color: var(--c-white);
  top: 0;
  left: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  padding-top: 12vw;
  border-left: 8px solid var(--c-blue);
}
@media (max-width: 768px) {
  #hd_fix-left {
    position: absolute;
    top: 7.5rem;
    left: -2.5rem;
    align-items: flex-start;
    border: none;
    width: auto;
    background-color: transparent;
  }
}
@media (max-width: 768px) {
  #hd_fix-left.no2-hd_fix-left {
    display: none;
  }
}
#hd_fix-left h3 {
  color: var(--c-blue);
  writing-mode: vertical-rl;
  padding-left: calc(var(--fixed-left-font) - 1.125rem);
  vertical-align: bottom;
  letter-spacing: 1.1em;
  font-size: var(--f-font2-size);
}
@media (max-width: 768px) {
  #hd_fix-left h3 {
    color: var(--c-white);
    writing-mode: horizontal-tb;
    padding-left: 19vw;
  }
}

.cta {
  background: url(../images/bg-cta.png) center center no-repeat;
  background-size: cover;
  margin-left: var(--fixed-left);
}
.cta .cta__container {
  margin: 0 auto;
  max-width: var(--pc-max-width2);
}
.cta .cta__container h2, .cta .cta__container h3 {
  color: var(--c-white);
  text-align: center;
  margin-bottom: 0.5rem;
}
.cta .cta__container h2 {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .cta .cta__container h2 {
    font-size: var(--f-font4-size);
  }
}
.cta .cta__container p {
  color: var(--c-white);
  margin: 2rem auto 2.5rem;
  max-width: 45rem;
}

.c-flex {
  display: flex;
}

p.c-txt-chatch {
  max-width: var(--pc-max-width);
  margin: 3.75rem auto 1.875rem;
  text-align: left !important;
  font-size: var(--f-font2-size);
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width: 768px) {
  p.c-txt-chatch {
    margin: 1.875rem auto 1.25rem;
    font-size: 17px;
    line-height: 2;
  }
}
p.c-txt-chatch span {
  color: var(--c-base-blue);
}

h2.c-notice {
  position: relative;
  width: 100%;
}
h2.c-notice:before {
  content: "FAQ";
  position: absolute;
  left: 0;
  bottom: 0;
  font-size: 12.5rem;
  font-family: var(--f-family-en);
  width: 100%;
  text-align: center;
  color: var(--c-base-light-blue2);
  z-index: -1;
}
@media (max-width: 768px) {
  h2.c-notice:before {
    font-size: 6.25rem;
  }
}
h2.c-notice.p-h2-contact:before {
  content: "CONTACT";
}

.c-attention {
  font-size: var(--f-font7-size) !important;
}

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

.ctanav > ul {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.ctanav > ul li {
  margin-right: 1.25rem;
}
@media (max-width: 768px) {
  .ctanav > ul li {
    margin-right: 0.625rem;
  }
}
.ctanav > ul li:last-of-type {
  margin-right: 0;
}
.ctanav > ul li:last-of-type a {
  background-color: var(--c-base-green);
}
.ctanav > ul li a {
  color: var(--c-base-white);
  font-size: var(--f-font3-size);
  width: 12.5rem;
  height: 2.875rem;
  background-color: var(--c-base-orange);
  display: flex;
  align-items: center;
  line-height: 1;
  justify-content: center;
  border-radius: 1.4375rem;
}
@media (max-width: 768px) {
  .ctanav > ul li a {
    width: 44vw;
    height: 2.5rem;
    font-size: 15px;
    font-weight: bold;
  }
}
.ctanav > ul li a img {
  height: 1.0625rem;
  width: auto;
  margin: 0 0.625rem 0 0;
}
@media (max-width: 768px) {
  .ctanav > ul li a img {
    height: 0.875rem;
    margin: 0 0.375rem 0 0;
  }
}

@media (max-width: 768px) {
  .l-header .ctanav {
    display: none;
  }
}

.c-cta {
  width: 30rem;
  background: var(--c-base-white);
  margin-top: 1.5vw;
  margin-bottom: 1.5vw;
  padding: 1.875rem 1.875rem;
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.2);
}
@media (max-width: 768px) {
  .c-cta {
    width: 95%;
    padding: 1.25rem;
    margin: 0 auto;
  }
}
.c-cta p {
  font-size: var(--f-font12-size);
  font-weight: bold;
  color: var(--c-base-blue);
  text-align: center;
  margin-bottom: 1.25rem;
  width: 100%;
}
@media (max-width: 768px) {
  .c-cta p {
    margin-bottom: 0.9375rem;
    font-size: 14px;
  }
}
.c-cta p span {
  background: var(--c-base-blue);
  color: var(--c-base-white);
  padding: 0.25rem 0.625rem;
  margin-right: 0.3125rem;
}
.c-cta p span strong {
  font-size: 150%;
  padding: 0.25rem;
}
.c-cta.c-bottom-cta {
  width: 100%;
  padding: 0.625rem;
  box-shadow: none;
  position: fixed;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.7);
  margin-bottom: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  visibility: hidden;
  transition: var(--t-all1);
  opacity: 0;
}
@media (max-width: 768px) {
  .c-cta.c-bottom-cta {
    flex-direction: column;
  }
}
.c-cta.c-bottom-cta p {
  transform: scale(0.8);
  margin-bottom: 0;
  width: auto;
}
@media (max-width: 768px) {
  .c-cta.c-bottom-cta p {
    display: none;
  }
}
.c-cta.c-bottom-cta .ctanav {
  transform: scale(0.8);
  width: auto;
}
@media (max-width: 768px) {
  .c-cta.c-bottom-cta .ctanav {
    transform: scale(1);
  }
}
.c-cta.c-bottom-cta.is-scroll {
  visibility: visible;
  transition: var(--t-all1);
  opacity: 1;
}

#fv {
  overflow: hidden;
  height: 32vw;
  position: relative;
}
@media (max-width: 768px) {
  #fv {
    height: 60vh;
    background-color: rgb(37, 41, 58);
  }
}
#fv h2 {
  position: absolute;
  top: 0;
  left: 2.5rem;
  bottom: 0;
  margin: auto 0;
  z-index: 60;
  color: var(--c-white);
  text-align: left;
  display: flex;
  align-items: center;
  line-height: 1.5;
  letter-spacing: 0.5em;
  font-size: var(--f-font4-size);
}
@media (max-width: 768px) {
  #fv h2 {
    font-size: 20px;
    letter-spacing: 0.5em;
    top: unset;
    padding-bottom: 10vw;
    left: 11vw;
  }
}
#fv img {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 10;
  left: 0;
  opacity: 0;
  -webkit-animation: anime 24s 0s infinite;
  animation: anime 24s 0s infinite;
}
@media (max-width: 768px) {
  #fv img {
    object-fit: cover;
  }
}
#fv img:nth-of-type(3), #fv img:nth-of-type(4) {
  -webkit-animation-delay: 8s;
  animation-delay: 8s;
}
#fv img:nth-of-type(5), #fv img:nth-of-type(6) {
  -webkit-animation-delay: 16s;
  animation-delay: 16s;
}
#fv.no2-fv {
  height: 28vw;
}
@media (max-width: 768px) {
  #fv.no2-fv {
    height: 44vw;
  }
}
#fv.no2-fv img {
  -webkit-animation: none;
  animation: none;
  opacity: 1;
}
#fv.no2-fv h2 {
  text-transform: uppercase;
  padding-bottom: 0;
  bottom: 0;
  top: 0;
}

@keyframes anime {
  0% {
    opacity: 0;
  }
  8% {
    opacity: 1;
  }
  35% {
    opacity: 1;
  }
  55% {
    opacity: 0;
    transform: scale(1.2);
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}
#client {
  text-align: center;
  padding-bottom: 0;
  padding-top: 5rem;
}
@media (max-width: 768px) {
  #client {
    padding-top: 2.5rem;
  }
}
#client ul {
  display: flex;
  justify-content: space-around;
  max-width: var(--pc-max-width2);
  margin: 0 auto;
}
@media (max-width: 768px) {
  #client ul {
    flex-wrap: wrap;
    gap: 1.25rem;
    align-items: center;
    justify-content: center;
  }
}
@media (max-width: 768px) {
  #client ul li {
    width: 24%;
    margin-bottom: 1.5rem;
  }
}
#client h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  color: var(--c-blue);
  text-align: center;
  font-size: var(--f-font-size);
  margin-bottom: 3.375rem;
  position: relative;
}
#client h2:before, #client h2:after {
  content: "";
  display: block;
  height: 2px;
  width: 40%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
  background-color: #007BBD;
}
@media (max-width: 768px) {
  #client h2:before, #client h2:after {
    width: 28%;
  }
}
#client h2:after {
  left: unset;
  right: 0;
}

#reason {
  background: var(--c-light-blue-grade);
}
#reason table {
  background-color: var(--c-white);
  max-width: var(--pc-max-width);
  border-spacing: 0;
  display: table;
  margin-left: auto;
  margin-right: auto;
  box-shadow: var(--box-shadow1);
}
#reason table tr td {
  background-color: var(--c-white);
  width: 30%;
  padding: 1.125rem 1rem;
  border-right: 1px solid var(--c-gray);
  border-bottom: 1px solid var(--c-gray);
}
#reason table tr td:nth-of-type(1) {
  font-weight: bold;
  color: var(--c-blue);
}
@media (max-width: 768px) {
  #reason table tr td:nth-of-type(1) {
    font-size: var(--f-font7-size);
  }
}
#reason table tr td:nth-of-type(2) {
  background-color: #E7F4FF;
  font-weight: bold;
  font-size: var(--f-font7-size);
}
#reason table tr td:last-of-type {
  border-right: none;
  font-size: var(--f-font7-size);
}
#reason table tr td img {
  width: 2.5rem;
  margin: auto;
  margin-bottom: 1rem;
}
#reason table tr:last-of-type td {
  border-bottom: none;
}
#reason table tr:nth-of-type(1) td {
  font-weight: bold;
}

#advantage {
  position: relative;
  padding: 6.25rem 0;
}
@media (max-width: 768px) {
  #advantage {
    padding: 3.125rem 0;
  }
}
#advantage h3 {
  text-align: center;
  margin: 0 auto;
  width: 94%;
}
#advantage .advantage-box {
  margin: 2.5rem auto 0;
}
#advantage .advantage-box p {
  margin: auto;
  margin-top: 5rem;
  margin-bottom: 2.5rem;
}
#advantage .advantage-box p.p-txt {
  margin: 0 auto;
  width: 94%;
  max-width: var(--pc-max-width);
}
#advantage .advantage-box p.p-img {
  width: calc(50% - 2.5rem);
}
@media (max-width: 768px) {
  #advantage .advantage-box p.p-img {
    width: 80%;
  }
}
#advantage .advantage-box p.p-img.first-img {
  margin-left: auto;
  margin-right: 0;
}
@media (max-width: 768px) {
  #advantage .advantage-box p.p-img.first-img {
    margin-top: 2.5rem;
  }
}
#advantage .advantage-box p.p-img.first-img img {
  margin-right: 0;
  margin-left: auto;
}
#advantage .advantage-box p.p-img.last-img {
  margin-left: 0;
  margin-top: -10.625rem;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  #advantage .advantage-box p.p-img.last-img {
    margin-top: 2.5rem;
  }
}

#case {
  background: url(../images/bg-case.png) center bottom no-repeat;
  background-size: cover;
}
#case h2 {
  color: var(--c-white) !important;
}
#case h2 span {
  color: var(--c-white) !important;
}
#case h2:before {
  background-color: var(--c-white) !important;
}
#case .box {
  border: none;
}

#flow .box {
  position: relative;
  margin-bottom: 4.375rem;
}
@media (max-width: 768px) {
  #flow .box {
    margin-bottom: 3.375rem;
  }
}
#flow .box:last-of-type {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  #flow .box:last-of-type {
    margin-bottom: 0;
  }
}
#flow .box:after {
  content: "";
  background: url(../images/icon-arrow.svg) center center no-repeat;
  display: block;
  width: 6.25rem;
  height: 3.125rem;
  margin: 1.25rem auto;
  position: absolute;
  bottom: -5rem;
  left: 0;
  right: 0;
  z-index: 20;
}
@media (max-width: 768px) {
  #flow .box:after {
    width: 3.125rem;
    height: 2.1875rem;
    bottom: -3.75rem;
  }
}
#flow .box:last-of-type:after {
  content: none;
  margin-bottom: 0;
}

.p-no2 {
  position: relative;
  padding: 6.25rem 0;
}
@media (max-width: 768px) {
  .p-no2 {
    padding: 3.125rem 0;
  }
}
.p-no2 h4, .p-no2 p, .p-no2 table {
  max-width: var(--pc-max-width);
  margin-left: auto;
  margin-right: auto;
  width: 94%;
}
.p-no2 table {
  max-width: 40rem;
}
.p-no2 td, .p-no2 th {
  padding: 0.5rem 1.25rem;
  text-align: left;
  font-size: var(--f-font-sub-size);
}
.p-no2 th {
  width: 32%;
}
.p-no2 h4, .p-no2 h3 {
  font-size: var(--f-font4-size);
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .p-no2 h4, .p-no2 h3 {
    margin-bottom: 1.25rem;
  }
}
.p-no2 p {
  text-align: left;
}
.p-no2 p.p-img-doble {
  display: flex;
  margin: 2.5rem auto 0;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .p-no2 p.p-img-doble {
    gap: 2.5rem;
    display: grid;
    width: 100%;
    place-content: center;
  }
}
.p-no2 p.p-img-doble img {
  width: calc(50% - 1.25rem);
}
@media (max-width: 768px) {
  .p-no2 p.p-img-doble img {
    width: 100%;
  }
}

.p-no2-grade {
  position: relative;
  padding: 6.25rem 0;
  background: var(--c-light-blue-grade);
}
@media (max-width: 768px) {
  .p-no2-grade {
    padding: 3.125rem 0;
  }
}
.p-no2-grade h4, .p-no2-grade p {
  max-width: var(--pc-max-width);
  margin-left: auto;
  margin-right: auto;
  width: 96%;
}
.p-no2-grade h4, .p-no2-grade h3 {
  font-size: var(--f-font4-size);
  margin-bottom: 1.375rem;
}
@media (max-width: 768px) {
  .p-no2-grade h4, .p-no2-grade h3 {
    margin-bottom: 1.25rem;
  }
}
.p-no2-grade .profile-name {
  margin-top: 2.5rem;
  text-align: left;
}
.p-no2-grade .profile-name:first-of-type {
  margin-top: -1.25rem;
}
.p-no2-grade .profile-name span {
  color: var(--c-blue2);
  display: inline-block;
  margin-right: 1rem;
  font-weight: bold;
  font-size: var(--f-font6-size);
}
.p-no2-grade p {
  text-align: left;
}

#privacy {
  text-align: left;
}

#contact, #privacy {
  padding: 2.5rem 0 6.25rem;
}
@media (max-width: 768px) {
  #contact, #privacy {
    padding: 3.125rem 0;
    width: 96%;
    margin-left: auto;
    margin-right: auto;
  }
}

.u-pc-hidden {
  display: none !important;
}
@media (max-width: 768px) {
  .u-pc-hidden {
    display: block !important;
  }
}

.u-sm-hidden {
  display: none;
}
@media (max-width: 450px) {
  .u-sm-hidden {
    display: initial;
  }
}

.u-xl-hidden {
  display: none;
}
@media (max-width: 1200px) {
  .u-xl-hidden {
    display: initial;
  }
}

.u-sp-hidden {
  display: initial;
}
@media (max-width: 768px) {
  .u-sp-hidden {
    display: none !important;
  }
}

.u-space-contact {
  margin-top: 7.5rem;
}
@media (max-width: 768px) {
  .u-space-contact {
    margin-top: 10rem;
  }
}/*# sourceMappingURL=style.css.map */