@charset "UTF-8";
/*
Theme Name: 
Theme URI: https://
Author: Qubic Inc
Author URI: https://qu-bic.jp
Description: 
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
/*****************************

このファイルは直接変更しないでください。
CSSを変更・修正・追記したい場合は、cssファイルを作成し、そちらに記述お願いします。

こちらのファイルに記述した場合、変更が失われてしまったり、保守が困難になることもあります。
充分にお気をつけください。

*****************************/
/*****************************
フォント変数
*****************************/
/*****************************
ブレイクポイント
*****************************/
/*****************************
カラー変数
*****************************/
body {
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

html {
  color: #333333;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  line-height: 1.8;
  overflow-x: hidden;
  font-size: min(3.846vw, 18px);
}

@media screen and (min-width: 768px) {
  html {
    font-size: min(13px + 3 * (100vw - 768px) / 672, 16px);
  }
}
#wrapper {
  width: 100%;
  margin: 0 auto;
  height: 100%;
}

@media screen and (min-width: 768px) {
  #wrapper {
    height: auto;
  }
}
section,
.section {
  width: 100%;
  height: auto;
  position: relative;
}

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    display: block;
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

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

main {
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
  display: block;
}

input,
input:focus,
textarea:focus {
  outline: 0;
  border-radius: 0;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=number],
input[type=submit],
input[type=button],
input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-clear-button,
textarea {
  -webkit-appearance: none;
  border-radius: 0;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

select {
  outline: none;
  text-indent: 0.01px;
  text-overflow: "";
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
}

select option {
  background-color: #fff;
  color: #333;
}

select::-ms-expand {
  display: none;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

figure {
  margin: 0;
}

img,
picture {
  vertical-align: bottom;
  border: none;
  max-width: 100%;
  height: auto;
}

iframe {
  max-width: 100%;
  vertical-align: bottom;
}

li {
  list-style: none;
}

table {
  border-collapse: collapse;
}

.preload * {
  transition: none;
}

.e-access {
  overflow: hidden;
  margin-top: 3.45rem;
  padding: 0 1rem;
}

@media screen and (min-width: 768px) {
  .e-access {
    padding: 0;
    margin-top: 9.81rem;
  }
}
.e-access-wrap {
  display: flex;
  width: 100%;
  background: #192bce;
  position: relative;
  overflow: hidden;
  flex-direction: column;
  padding: 1.33333rem 1.6rem;
}

@media screen and (min-width: 768px) {
  .e-access-wrap {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 3.75rem 0;
    gap: 3.5rem;
  }
}
.e-access-wrap-txt {
  position: relative;
  z-index: 1;
  flex-direction: column;
  align-items: flex-start;
  display: contents;
}

@media screen and (min-width: 768px) {
  .e-access-wrap-txt {
    display: flex;
    gap: 1.25rem;
  }
}
.e-access-wrap-txt-address {
  order: 1;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .e-access-wrap-txt-address {
    display: contents;
  }
}
.e-access-wrap-txt-title {
  color: var(--sub-font, #f4fff9);
  font-weight: 700;
  line-height: 150%; /* 4.125rem */
  font-size: 1.46667rem;
  letter-spacing: 0.02933rem;
}

@media screen and (min-width: 768px) {
  .e-access-wrap-txt-title {
    text-align: center;
    font-size: 2.75rem;
    letter-spacing: 0.055rem;
  }
}
.e-access-wrap-txt-desc {
  color: var(--sub-font, #f4fff9);
  font-weight: 500;
  line-height: 200%; /* 2.25rem */
  margin-top: 0.6rem;
  font-size: 0.93333rem;
  letter-spacing: 0.01867rem;
}

@media screen and (min-width: 768px) {
  .e-access-wrap-txt-desc {
    margin-top: 0;
    font-size: 1.125rem;
    letter-spacing: 0.0225rem;
  }
}
.e-access-wrap .c-btn {
  order: 3;
  position: relative;
  z-index: 1;
  width: 16.66667rem;
  margin-inline: auto;
  margin-top: 1.47rem;
  height: 4rem;
}

@media screen and (min-width: 768px) {
  .e-access-wrap .c-btn {
    margin-top: 0;
    margin-inline: initial;
    width: 21.375rem;
    height: 4rem;
  }
}
.e-access-wrap-map {
  order: 2;
  position: relative;
  z-index: 1;
  margin-top: 1.47rem;
}

@media screen and (min-width: 768px) {
  .e-access-wrap-map {
    margin-top: 0;
    width: 33.25rem;
    height: 20.6875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .e-access-wrap-map {
    width: 23.25rem;
    height: 18.6875rem;
  }
}
.e-access-wrap-map iframe {
  width: 100%;
  height: 100%;
}

.e-access-wrap-logoTxt {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 1.06rem;
  top: 4%;
  left: -7%;
}

@media screen and (min-width: 768px) {
  .e-access-wrap-logoTxt {
    top: 40%;
    left: -4%;
    transform: translateY(-50%);
    gap: 0.94rem;
  }
}
.e-access-wrap-logoTxt svg {
  width: 9.0886rem;
  height: 3.65933rem;
}

@media screen and (min-width: 768px) {
  .e-access-wrap-logoTxt svg {
    width: 29.95113rem;
    height: 13.25831rem;
  }
}
.e-footer.error404 {
  margin-top: 0;
  padding: 4rem 0 2.25rem;
}

@media screen and (min-width: 768px) {
  .e-footer.error404 {
    padding-top: 4.06rem;
    margin-top: 0;
  }
}
.e-footer {
  background: var(--gray, #f3f4f5);
  padding: 12.33rem 0 2.25rem;
  margin-top: -8.29rem;
}

@media screen and (min-width: 768px) {
  .e-footer {
    padding-top: 18.06rem;
    margin-top: -12.62rem;
  }
}
.e-footer-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  align-self: stretch;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .e-footer-wrap {
    flex-direction: row;
  }
}
.e-footer-wrap-info-logo {
  width: 8rem;
  height: 3.88367rem;
}

@media screen and (min-width: 768px) {
  .e-footer-wrap-info-logo {
    width: 9.375rem;
    height: 4.55119rem;
  }
}
.e-footer-wrap-info-logo + span {
  margin-top: 2.13rem;
}

@media screen and (min-width: 768px) {
  .e-footer-wrap-info-logo + span {
    margin-top: 2rem;
  }
}
.e-footer-wrap-info span {
  display: block;
  color: var(--main-font, #000);
  font-weight: 500;
  line-height: 200%; /* 2.25rem */
  font-size: 0.93333rem;
  letter-spacing: 0.01867rem;
}

@media screen and (min-width: 768px) {
  .e-footer-wrap-info span {
    font-size: 1.125rem;
    letter-spacing: 0.0225rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .e-footer-wrap-info span {
    font-size: 1rem;
  }
}
.e-footer-wrap-nav-items {
  display: flex;
  align-items: center;
  gap: 1.33333rem 1.6rem;
  margin-top: 2.4rem;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .e-footer-wrap-nav-items {
    margin-top: 0;
    flex-wrap: nowrap;
    gap: 0.875rem;
  }
}
.e-footer-wrap-nav-item a {
  color: var(--main-font, #000);
  font-weight: 500;
  line-height: 200%; /* 2.25rem */
  font-size: 1rem;
  letter-spacing: 0.02rem;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .e-footer-wrap-nav-item a {
    font-size: 1.125rem;
    letter-spacing: 0.0225rem;
  }
  .e-footer-wrap-nav-item a:hover {
    color: #192bce;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .e-footer-wrap-nav-item a {
    font-size: 0.9rem;
  }
}
.e-footer-copyright {
  color: var(--main-font, #000);
  text-align: center;
  font-weight: 500;
  line-height: 200%; /* 2.25rem */
  margin-top: 3.33rem;
  font-size: 0.93333rem;
  letter-spacing: 0.01867rem;
}

@media screen and (min-width: 768px) {
  .e-footer-copyright {
    margin-top: 6.25rem;
    font-size: 1.125rem;
    letter-spacing: 0.0225rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .e-footer-copyright {
    font-size: 0.9rem;
  }
}
.l-footer {
  padding: 2.8rem 0 0.87rem;
}

@media screen and (min-width: 768px) {
  .l-footer {
    padding: 4.75rem 0 1.25rem;
  }
}
.l-footer__cr p {
  color: #000;
  text-align: center;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 180%; /* 1.44rem */
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50000;
  background: #fff;
  box-sizing: border-box;
  padding-left: 0.87rem;
  transition: background 0.3s ease;
}

@media screen and (min-width: 768px) {
  .l-header {
    height: min(4.1667vw, 5rem);
    height: 5rem;
    padding: 0 min(0.875vw, 1.05rem);
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .l-header {
    padding: 0 0.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header {
    padding: 0 0.5rem;
  }
}
.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
}

@media screen and (min-width: 768px) {
  .l-header__inner {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .l-header__inner {
    max-width: 1920px;
    margin: 0 auto;
  }
}
.l-header__logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
}

@media screen and (min-width: 768px) {
  .l-header__logo a {
    gap: min(0.9333vw, 1.12rem);
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) and (max-width: 1439.5px) {
  .l-header__logo a {
    gap: 0.5rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1026px) and (max-width: 1279.5px) {
  .l-header__logo a {
    gap: 0.5rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header__logo a {
    gap: 0.5rem;
  }
}
.l-header__logo a svg {
  width: 3.41533rem;
  transition: fill 0.3s ease;
}

.l-header__logo a svg path,
.l-header__logo a svg g,
.l-header__logo a svg rect,
.l-header__logo a svg circle {
  transition: fill 0.3s ease;
}

@media screen and (min-width: 768px) {
  .l-header__logo a svg {
    width: min(5.5208vw, 6.625rem);
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .l-header__logo a svg {
    width: 3rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .l-header__logo a svg {
    width: 4rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header__logo a svg {
    width: 3rem;
  }
}
.l-header__logo a span {
  font-weight: 900;
  line-height: 180%; /* 1.8rem */
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 0.66667rem;
  transition: background 0.3s ease, color 0.3s ease, -webkit-text-fill-color 0.3s ease;
}

@media screen and (min-width: 768px) {
  .l-header__logo a span {
    font-size: min(0.8333vw, 1rem);
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .l-header__logo a span {
    font-size: 0.7rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .l-header__logo a span {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header__logo a span {
    display: none;
  }
}
.l-header nav {
  position: fixed;
  top: 4rem;
  right: -100%;
  width: 100%;
  height: calc(100% - 3rem);
  background: #192bce;
  transition: 0.3s;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  align-items: center;
  padding-top: 1.47rem;
  overflow-y: scroll;
}

@media screen and (min-width: 768px) {
  .l-header nav {
    position: relative;
    top: auto;
    right: auto;
    height: auto;
    width: fit-content;
    background: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: min(2.55vw, 3.06rem);
    flex-shrink: 1;
    padding: 0;
    flex-direction: row;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .l-header nav {
    gap: 1rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .l-header nav {
    gap: 1rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header nav {
    gap: 0.5rem;
  }
}
.l-header nav.active {
  right: 0;
}

.l-header nav ul {
  display: inline-flex;
  align-items: center;
  flex-direction: column;
  width: 100%;
  padding: 0 1.07rem;
}

@media screen and (min-width: 768px) {
  .l-header nav ul {
    gap: min(1.3021vw, 1.5625rem);
    flex-direction: row;
    padding: 0;
    width: auto;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .l-header nav ul {
    gap: 0.5rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .l-header nav ul {
    gap: 0.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header nav ul {
    gap: 0.5rem;
  }
}
.l-header nav ul li {
  border-bottom: solid 1px #fff;
  width: 100%;
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .l-header nav ul li {
    border: none;
    width: auto;
  }
}
.l-header nav ul li a {
  width: 100%;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: normal;
  padding: 1rem 0.87rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-header nav ul li a {
    width: auto;
    color: #000;
    font-size: min(0.7813vw, 0.9375rem);
    font-weight: 500;
    line-height: 180%; /* 1.6875rem */
    padding: 0;
    transition: color 0.3s;
  }
  .l-header nav ul li a:hover {
    color: #192bce;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .l-header nav ul li a {
    font-size: 0.9rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .l-header nav ul li a {
    font-size: 0.9rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header nav ul li a {
    font-size: 0.8rem;
  }
}
.l-header nav ul li a::before {
  content: "▶";
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  color: #fff;
  text-align: center;
  font-family: "Noo Sans JP";
  font-size: 1rem;
  font-weight: 700;
  line-height: normal;
}

@media screen and (min-width: 768px) {
  .l-header nav ul li a::before {
    display: none;
  }
}
.l-header__btn {
  order: 2;
  width: 21.33333rem;
  height: 4rem;
  padding: 1.33333rem 2.26667rem;
  gap: 0.66667rem;
  background: linear-gradient(0deg, #fc9b00 51.92%, #ffd059 100%);
  box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.25);
  border-radius: 0.33333rem;
}

.l-header__btn-wrap {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .l-header__btn-wrap {
    gap: 0.69rem;
    flex-direction: row;
  }
}
@media screen and (min-width: 768px) {
  .l-header__btn {
    order: 1;
    display: flex;
    width: min(9.375vw, 11.25rem);
    height: 3.75rem;
    justify-content: center;
    align-items: center;
    gap: min(0.2083vw, 0.25rem);
    border-radius: min(0.2604vw, 0.3125rem);
    padding: 0;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .l-header__btn {
    width: 9.25rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .l-header__btn {
    width: 9.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header__btn {
    width: 7.25rem;
  }
}
.l-header__btn-inner span {
  color: #fff;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.25);
  font-size: 1rem;
  font-weight: 900;
  line-height: 180%; /* 2.25rem */
}

@media screen and (min-width: 768px) {
  .l-header__btn-inner span {
    font-size: min(1.0417vw, 1.25rem);
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .l-header__btn-inner span {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .l-header__btn-inner span {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header__btn-inner span {
    font-size: 0.8rem;
  }
}
.l-header__btn-inner svg {
  width: 1.2rem;
  height: 1.2rem;
  margin-top: 0.3rem;
}

@media screen and (min-width: 768px) {
  .l-header__btn-inner svg {
    width: min(1.3333vw, 1.6rem);
    height: min(1.3333vw, 1.6rem);
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .l-header__btn-inner svg {
    width: 1.4rem;
    height: 1.4rem;
    margin-top: 0.4rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .l-header__btn-inner svg {
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header__btn-inner svg {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.l-header__tel {
  display: inline-flex;
  padding: 0.5rem 0;
  order: 1;
  width: 21.33333rem;
  border-radius: 0.3125rem;
  background: linear-gradient(0deg, #fffb00 21.63%, #fffa99 100%);
  box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.25), -2px -2px 4px 0 rgba(0, 0, 0, 0.25) inset, 2px 2px 4px 0 rgba(255, 255, 255, 0.5) inset;
}

@media screen and (min-width: 768px) {
  .l-header__tel {
    width: auto;
    order: 2;
    height: 3.75rem;
    padding: 0 min(1.0417vw, 1.25rem);
    align-items: center;
    justify-content: center;
    border-radius: min(0.2604vw, 0.3125rem);
    background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
    box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.25);
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .l-header__tel {
    padding: 0 0.9rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .l-header__tel {
    padding: 0 0.9rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header__tel {
    padding: 0 0.3rem;
  }
}
.l-header__tel_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.l-header__tel_inner .num {
  text-align: center;
  font-weight: 900;
  line-height: 100%; /* 3.375rem */
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 2rem;
  color: #192bce;
}

@media screen and (min-width: 768px) {
  .l-header__tel_inner .num {
    color: var(--tel, #ffea00);
    font-size: min(1.5625vw, 1.875rem);
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .l-header__tel_inner .num {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .l-header__tel_inner .num {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header__tel_inner .num {
    font-size: 1.2rem;
  }
}
.l-header__tel_inner .num svg {
  width: 1.8rem;
}

@media screen and (min-width: 768px) {
  .l-header__tel_inner .num svg {
    width: min(1.3553vw, 1.62638rem);
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .l-header__tel_inner .num svg {
    width: 1rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .l-header__tel_inner .num svg {
    width: 1rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header__tel_inner .num svg {
    width: 1rem;
  }
}
.l-header__tel_inner .num svg path {
  fill: #192bce;
}

@media screen and (min-width: 768px) {
  .l-header__tel_inner .num svg path {
    fill: #ffea00;
  }
}
.l-header__tel_inner span {
  color: #192bce;
  text-align: center;
  font-weight: 700;
  line-height: 150%; /* 1.3125rem */
  font-size: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .l-header__tel_inner span {
    color: #fff;
    font-size: min(0.7292vw, 0.875rem);
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .l-header__tel_inner span {
    font-size: 0.7rem;
  }
}
.l-header__menubtn {
  width: 4rem;
  height: 4rem;
  position: relative;
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.l-header__menubtn .txt {
  color: #fff;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 100%; /* 0.8rem */
  padding-bottom: 0.64rem;
}

.l-header__menubtn span {
  position: absolute;
  top: 38%;
  left: 50%;
  background: #fff;
  width: 40%;
  height: 2px;
  transition: 0.3s;
}

.l-header__menubtn span:nth-of-type(1) {
  transform: translate(-50%, -50%) translateY(7px);
}

.l-header__menubtn span:nth-of-type(2) {
  transform: translate(-50%, -50%);
}

.l-header__menubtn span:nth-of-type(3) {
  transform: translate(-50%, -50%) translateY(-7px);
}

.l-header__menubtn.active span:nth-of-type(1) {
  transform: translate(-50%, 180%) rotate(45deg);
}

.l-header__menubtn.active span:nth-of-type(2) {
  opacity: 0;
}

.l-header__menubtn.active span:nth-of-type(3) {
  transform: translate(-50%, 180%) rotate(-45deg);
}

.l-header__sp-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.l-header__sp-contact-inner {
  display: flex;
  width: 4rem;
  height: 4rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.06667rem;
  flex-shrink: 0;
  background: linear-gradient(0deg, #fc9b00 59.13%, #ffd059 100%);
}

.l-header__sp-contact-inner span {
  color: #fff;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 100%; /* 0.8rem */
}

.l-header.menu_open {
  background: #192bce;
}

.l-header.menu_open .l-header__logo a svg {
  fill: #fff;
}

.l-header.menu_open .l-header__logo a svg path,
.l-header.menu_open .l-header__logo a svg g,
.l-header.menu_open .l-header__logo a svg rect,
.l-header.menu_open .l-header__logo a svg circle {
  fill: #fff;
}

.l-header.menu_open .l-header__logo a span {
  background: #fff;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #fff;
}

.l-header.menu_open .l-header__menubtn {
  background: #192bce;
}

.l-header.menu_open .l-header__menubtn .txt {
  display: none;
}

.l-header.menu_open .l-header__sp-contact {
  display: none;
}

.l-inner {
  margin-inline: auto;
  width: min(100% - 2rem, 650px);
}

@media screen and (min-width: 768px) {
  .l-inner {
    width: min(90%, 1280px);
  }
}
.l-inner__wide {
  margin-inline: auto;
  width: min(100% - 2rem);
}

@media screen and (min-width: 768px) {
  .l-inner__wide {
    width: min(95%, 1680px);
  }
}
.l-inner__md {
  margin-inline: auto;
  width: min(100% - 2rem, 650px);
}

@media screen and (min-width: 768px) {
  .l-inner__md {
    width: min(90%, 1080px);
  }
}
.l-inner__sm {
  margin-inline: auto;
  width: min(100% - 2rem, 650px);
}

@media screen and (min-width: 768px) {
  .l-inner__sm {
    width: min(90%, 1000px);
  }
}
.c-en {
  font-family: "M PLUS 1", sans-serif;
  font-weight: 800;
  line-height: 100%;
  background: linear-gradient(90deg, #58cce6 0%, #2c5dd5 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 3.06667rem;
  white-space: nowrap;
  position: absolute;
  bottom: -22%;
  left: 50%;
}

@media screen and (min-width: 768px) {
  .c-en {
    font-size: min(5.208vw, 6.25rem);
    bottom: 0%;
  }
}
.c-btn {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  background: linear-gradient(0deg, #fc9b00 51.92%, #ffd059 100%);
  box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.25), -2px -2px 4px 0 rgba(0, 0, 0, 0.25) inset, 2px 2px 4px 0 rgba(255, 255, 255, 0.5) inset;
}

@media screen and (min-width: 768px) {
  .c-btn {
    transition: transform 0.3s, box-shadow 0.3s;
  }
  .c-btn:hover {
    transform: translateY(-2px);
    box-shadow: 2px 6px 16px 0 rgba(0, 0, 0, 0.3), -2px -2px 4px 0 rgba(0, 0, 0, 0.25) inset, 2px 2px 4px 0 rgba(255, 255, 255, 0.5) inset;
  }
}
.c-btn_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.66667rem;
}

@media screen and (min-width: 768px) {
  .c-btn_inner {
    gap: min(0.5208vw, 0.625rem);
  }
}
.c-btn span {
  font-weight: 900;
  line-height: 100%; /* 3.15rem */
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.25);
}

.c-title_wrap {
  position: relative;
  background: url(./images/common_bg_sp.webp) center center/cover no-repeat;
  padding: 2.07rem 0 6.13rem;
}

@media screen and (min-width: 768px) {
  .c-title_wrap {
    padding: 2.94rem 0 3rem;
    background: url(./images/common_bg_pc.webp) center center/cover no-repeat;
  }
}
.c-title {
  color: #fff;
  text-align: center;
  font-weight: 900;
  line-height: normal;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .c-title {
    font-size: 1.875rem;
  }
}
.c-title .bold {
  font-size: 2rem;
}

@media screen and (min-width: 768px) {
  .c-title .bold {
    font-size: 2.5rem;
  }
}
.c-title_human {
  position: absolute;
  bottom: 0%;
  left: 50%;
}

.c-title_img {
  position: absolute;
  left: 50%;
  top: 70%;
}

@media screen and (min-width: 768px) {
  .c-title_img {
    top: -70%;
  }
}
.c-title-secondary {
  text-align: center;
}

.c-title-secondary .en {
  display: inline-block;
  font-weight: 800;
  line-height: normal;
  color: #192bce;
  background: linear-gradient(90deg, #192bce 57.69%, #58cce6 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 3.06667rem;
}

@media screen and (min-width: 768px) {
  .c-title-secondary .en {
    font-size: 5rem;
  }
}
.c-title-secondary h2 {
  text-align: center;
  font-weight: 900;
  line-height: normal;
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-top: 0.27rem;
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .c-title-secondary h2 {
    margin-top: 0.5rem;
    font-size: 2.5rem;
  }
}
.c-description {
  color: #000;
  text-align: center;
  font-weight: 700;
  line-height: normal;
  margin-top: 0.27rem;
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .c-description {
    margin-top: 0.8rem;
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .c-description span {
    display: inline;
  }
}
.c-postarea {
  letter-spacing: 0.15rem;
}

@media screen and (min-width: 768px) {
  .c-postarea {
    letter-spacing: 0.25rem;
  }
}
.c-postarea p {
  margin: 1rem 0;
}

.c-postarea h2 {
  font-size: 1.5rem;
  margin: 3rem 0 2rem;
}

@media screen and (min-width: 768px) {
  .c-postarea h2 {
    font-size: 1.8rem;
    margin: 3rem 0 2.5rem;
  }
}
.c-postarea h3 {
  font-size: 1.3rem;
  margin: 2rem 0;
}

@media screen and (min-width: 768px) {
  .c-postarea h3 {
    font-size: 1.5rem;
    margin: 2.5rem 0 2rem;
  }
}
.c-postarea h4 {
  font-size: 1.2rem;
  margin: 1.5rem 0;
}

@media screen and (min-width: 768px) {
  .c-postarea h4 {
    font-size: 1.25rem;
    margin: 2rem 0 1.5rem;
  }
}
.c-postarea h5 {
  font-size: 1.1rem;
  margin: 1rem 0;
}

@media screen and (min-width: 768px) {
  .c-postarea h5 {
    font-size: 1.1rem;
    margin: 1.5rem 0;
  }
}
.c-postarea h6 {
  font-size: 1rem;
  margin: 1rem 0;
}

@media screen and (min-width: 768px) {
  .c-postarea h6 {
    font-size: 1rem;
    margin: 1.5rem 0;
  }
}
.c-postarea ul {
  margin: 1rem 0 1rem 1.5rem;
}

@media screen and (min-width: 768px) {
  .c-postarea ul {
    margin: 1.5rem 0 1.5rem 2rem;
  }
}
.c-postarea ul.blocks-gallery-grid {
  margin: 2rem 0 0;
}

@media screen and (min-width: 768px) {
  .c-postarea ul.blocks-gallery-grid {
    margin: 3rem 0 0;
  }
}
.c-postarea ul li {
  list-style: disc;
}

.c-postarea ol {
  margin: 1rem 0 1rem 1.5rem;
}

@media screen and (min-width: 768px) {
  .c-postarea ol {
    margin: 1.5rem 0 1.5rem 2rem;
  }
}
.c-postarea ol li {
  list-style: decimal;
}

.c-postarea strong {
  font-weight: bold;
}

.c-postarea blockquote {
  background: #eee;
  padding: 1rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .c-postarea blockquote {
    padding: 2rem;
  }
}
.c-postarea blockquote::before, .c-postarea blockquote::after {
  position: absolute;
  content: "“";
  font-size: 2rem;
}

@media screen and (min-width: 768px) {
  .c-postarea blockquote::before, .c-postarea blockquote::after {
    font-size: 3rem;
  }
}
.c-postarea blockquote::before {
  top: 0;
  left: 0;
}

.c-postarea blockquote::after {
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}

.c-postarea blockquote cite {
  font-size: 0.8rem;
  color: #999;
}

.c-postarea a {
  display: inline;
  color: #aaa;
}

.c-postarea figure {
  margin: 2rem auto 1.5rem;
}

@media screen and (min-width: 768px) {
  .c-postarea figure {
    margin: 3rem auto 2rem;
  }
}
.c-postarea img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
}

.c-postarea table {
  width: 100%;
  margin: 1rem 0 1.5rem;
}

@media screen and (min-width: 768px) {
  .c-postarea table {
    margin: 1.5rem 0 2rem;
  }
}
.c-postarea table th,
.c-postarea table td {
  border: solid 1px #e2e2e2;
  padding: 0.15rem 0.5rem;
}

@media screen and (min-width: 768px) {
  .c-postarea table th,
  .c-postarea table td {
    padding: 0.25rem 1rem;
  }
}
.p-404 .catch_copy {
  height: 100vh;
  min-height: 650px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-404 .catch_copy {
    min-height: 750px;
  }
}
.p-404 .ttl {
  font-size: 1.8rem;
  margin-bottom: 0.25rem;
}

@media screen and (min-width: 768px) {
  .p-404 .ttl {
    font-size: 3rem;
    margin-bottom: 0.5rem;
  }
}
/* ------------------------- 

このページはクラスの命名規則やSCSSのネストの書き方を説明した例題ファイルです。 
公開時には削除してください。

.l-sub__kvについてはレイアウトのため、省略

------------------------- */
.p-exe__about {
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  .p-exe__about {
    margin-top: 1rem;
  }
}
.p-exe__about__box {
  background: #ccc;
  padding: 1rem;
}

@media screen and (min-width: 768px) {
  .p-exe__about__box {
    padding: 1rem;
  }
}
.p-exe__about__box a {
  text-decoration: underline;
}

.p-exe__about__title {
  font-size: 1.6rem;
  color: red;
}

@media screen and (min-width: 768px) {
  .p-exe__about__title {
    font-size: 2rem;
  }
}
.p-privacy_box {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-privacy_box {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
  }
}
.p-privacy_box h1 {
  font-size: 1.5rem;
  text-align: center;
  margin: 0 0 2rem;
}

@media screen and (min-width: 768px) {
  .p-privacy_box h1 {
    font-size: 2rem;
  }
}
.p-privacy_box h2 {
  font-size: 1.1rem;
  margin: 2.5rem 0 1rem;
}

@media screen and (min-width: 768px) {
  .p-privacy_box h2 {
    font-size: 1.5rem;
    margin: 3rem 0 1rem;
  }
}
.p-privacy_box ol {
  margin: 1rem 0 1rem 1rem;
}

@media screen and (min-width: 768px) {
  .p-privacy_box ol {
    margin: 1rem 0 1rem 2rem;
  }
}
.p-privacy_box ol li {
  list-style: decimal;
  margin: 0.5rem 0;
}

@media screen and (min-width: 768px) {
  .p-privacy_box ol li {
    margin: 0.5rem 0;
  }
}
.p-privacy_box ul {
  margin: 1rem 0 1rem 1rem;
}

@media screen and (min-width: 768px) {
  .p-privacy_box ul {
    margin: 1rem 0 1rem 2rem;
  }
}
.p-privacy_box ul li {
  list-style: disc;
}

.p-privacy_box ul li ol {
  margin: 0rem 0 1.5rem 1rem;
}

@media screen and (min-width: 768px) {
  .p-privacy_box ul li ol {
    margin: 0rem 0 1.5rem 2rem;
  }
}
.p-privacy_box ul li ol li {
  list-style: decimal;
}

.p-privacy_box .right {
  text-align: right;
}

.p-mv {
  background: url(./images/mv_bg_pc.webp) center center/cover no-repeat;
}

@media screen and (min-width: 768px) {
  .p-mv {
    z-index: 0;
  }
}
.p-mv_inner {
  margin: 0 auto;
}

.p-mv_box {
  display: flex;
  justify-content: center;
  padding: 6.61rem 1rem 0;
}

@media screen and (min-width: 768px) {
  .p-mv_box {
    padding: min(6.0417vw, 7.25rem) min(37.5vw, 45rem) 0 0;
    padding-top: 7.25rem;
  }
}
.p-mv_box_in {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.p-mv_txt {
  border: 1px solid #f6a903;
  background: #fff;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.78rem 1.03rem 1.12rem;
  width: 24.01547rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt {
    width: fit-content;
    padding: min(1.0417vw, 1.25rem) min(1.25vw, 1.5rem);
    position: relative;
    z-index: -1;
  }
}
.p-mv_txt_01 {
  width: fit-content;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: baseline;
}

.p-mv_txt_01 span {
  color: #000;
  font-weight: 900;
  line-height: 180%; /* 4.725rem */
  font-size: 1.64273rem;
  letter-spacing: 0.06573rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_01 span {
    font-size: min(2.1875vw, 2.625rem);
    letter-spacing: min(0.0875vw, 0.105rem);
  }
}
.p-mv_txt_01 .dot {
  position: relative;
}

.p-mv_txt_01 .dot:before {
  content: "";
  position: absolute;
  background: #f6a903;
  top: 0%;
  left: 50%;
  width: 0.3044rem;
  height: 0.3044rem;
  border-radius: 100vmax;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_01 .dot:before {
    transform: translateX(-50%);
    width: min(0.4054vw, 0.48644rem);
    height: min(0.4054vw, 0.48644rem);
    border-radius: min(0.4054vw, 0.48644rem);
  }
}
.p-mv_txt_01 .small {
  font-weight: 700;
  font-size: 1.2516rem;
  letter-spacing: 0.05007rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_01 .small {
    font-size: min(1.6667vw, 2rem);
    letter-spacing: min(0.0667vw, 0.08rem);
  }
}
.p-mv_txt_02 {
  position: relative;
  display: inline-flex;
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  position: relative;
  z-index: 1;
  padding: 0.26rem 2.6rem 0.41rem;
  border-radius: 1.09573rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_02 {
    padding: min(0.35vw, 0.42rem) min(3.5vw, 4.2rem) min(0.5417vw, 0.65rem);
    border-radius: min(1.4591vw, 1.75094rem);
  }
}
.p-mv_txt_02 span {
  position: relative;
  color: #fff;
  font-weight: 700;
  line-height: normal;
  font-size: 1.0952rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_02 span {
    font-size: min(1.4583vw, 1.75rem);
  }
}
.p-mv_txt_02 .mv_surprised {
  position: absolute;
  width: 2rem;
  height: 3.5rem;
  top: -95%;
  right: -14%;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_02 .mv_surprised {
    top: -68%;
    right: -12%;
    width: min(2.4vw, 2.88rem);
    height: min(4.0667vw, 4.88rem);
  }
}
.p-mv_txt_02 .mv_triangle {
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 70%);
}

@media screen and (min-width: 768px) {
  .p-mv_txt_02 .mv_triangle {
    width: min(1.7509vw, 2.10113rem);
    height: min(1.7509vw, 2.10113rem);
    transform: translate(-50%, 70%);
  }
}
.p-mv_txt_03 {
  color: #000;
  font-weight: 700;
  line-height: normal;
  width: fit-content;
  position: relative;
  z-index: 1;
  margin-top: 1rem;
  font-size: 1.76007rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_03 {
    font-size: min(2.3438vw, 2.8125rem);
    margin-top: min(1vw, 1.2rem);
  }
}
.p-mv_txt_03 .small {
  font-size: 1.32987rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_03 .small {
    font-size: min(1.7708vw, 2.125rem);
  }
}
.p-mv_txt_04 {
  color: #000;
  font-weight: 700;
  line-height: normal;
  width: fit-content;
  position: relative;
  z-index: 1;
  font-size: 2.9126rem;
  letter-spacing: -0.05em;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_04 {
    margin-top: max(-0.8333vw, -1rem);
    font-size: min(3.8784vw, 4.65413rem);
  }
}
.p-mv_txt_04 .gra {
  font-weight: 900;
  line-height: normal;
  background: linear-gradient(90deg, #192bce 57.69%, #58cce6 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 4.07767rem;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_04 .gra {
    font-size: min(5.4298vw, 6.51581rem);
  }
}
.p-mv_txt_04 .small {
  line-height: normal;
  font-size: 1.63833rem;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_04 .small {
    font-size: min(2.1816vw, 2.61794rem);
  }
}
.p-mv_txt_05 {
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.p-mv_txt_05 .txt01,
.p-mv_txt_05 .txt02,
.p-mv_txt_05 .txt03 {
  background: linear-gradient(0deg, #fcb400 0%, #ffe100 100%);
  border-radius: 100vmax;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 7.8226rem;
  height: 7.8226rem;
  filter: drop-shadow(2.246px 2.246px 11.229px rgba(0, 0, 0, 0.25));
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt01,
  .p-mv_txt_05 .txt02,
  .p-mv_txt_05 .txt03 {
    width: min(10.4167vw, 12.5rem);
    height: min(10.4167vw, 12.5rem);
    filter: drop-shadow(3.828px 3.828px 19.139px rgba(0, 0, 0, 0.25));
  }
}
.p-mv_txt_05 .txt01::before,
.p-mv_txt_05 .txt02::before,
.p-mv_txt_05 .txt03::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: linear-gradient(0deg, #fc0 0%, #fc9b00 33.65%);
  border-radius: 100vmax;
  width: 7.37347rem;
  height: 7.37347rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt01::before,
  .p-mv_txt_05 .txt02::before,
  .p-mv_txt_05 .txt03::before {
    width: min(9.8186vw, 11.78231rem);
    height: min(9.8186vw, 11.78231rem);
  }
}
.p-mv_txt_05 .txt_in {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.p-mv_txt_05 span {
  color: #fff;
  font-weight: 700;
  line-height: 120%; /* 8.6625rem */
}

.p-mv_txt_05 .txt01 {
  position: relative;
  left: 2%;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt01 {
    padding-bottom: min(0.4167vw, 0.5rem);
  }
}
.p-mv_txt_05 .txt01 .inner {
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-mv_txt_05 .txt01 span {
  font-size: 3.01173rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt01 span {
    font-size: min(4.0104vw, 4.8125rem);
  }
}
.p-mv_txt_05 .txt01 span span {
  font-size: 2.73793rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt01 span span {
    font-size: min(3.6458vw, 4.375rem);
  }
}
.p-mv_txt_05 .txt01 .vertical {
  font-size: 0.8996rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt01 .vertical {
    font-size: min(1.1979vw, 1.4375rem);
    line-height: 120%; /* 1.725rem */
  }
}
.p-mv_txt_05 .txt01 .small {
  font-size: 1.13427rem;
  padding-left: 1rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt01 .small {
    font-size: min(1.5104vw, 1.8125rem);
    padding-left: min(0.6667vw, 0.8rem);
  }
}
.p-mv_txt_05 .txt02 {
  position: relative;
  z-index: 1;
}

.p-mv_txt_05 .txt02 .inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.p-mv_txt_05 .txt02 span {
  color: #fff;
  text-align: center;
  font-weight: 900;
  font-size: 1.7992rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt02 span {
    margin-top: min(0.1667vw, 0.2rem);
    font-size: min(2.3958vw, 2.875rem);
    line-height: 108%; /* 3.105rem */
  }
}
.p-mv_txt_05 .txt02 .small {
  font-weight: 700;
  font-size: 0.66493rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt02 .small {
    font-size: min(0.8854vw, 1.0625rem);
    line-height: 115%; /* 1.22188rem */
  }
}
.p-mv_txt_05 .txt03 {
  position: relative;
  left: -2%;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt03 {
    padding-bottom: min(0.4167vw, 0.5rem);
  }
}
.p-mv_txt_05 .txt03 .small {
  font-size: 0.66493rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt03 .small {
    font-size: min(0.8854vw, 1.0625rem);
    line-height: 180%; /* 1.9125rem */
  }
}
.p-mv_txt_05 .txt03 span {
  font-size: 1.8774rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt03 span {
    font-size: min(2.5vw, 3rem);
    line-height: 100%; /* 3rem */
  }
}
.p-mv_txt_05 .txt03 .inner {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt03 .inner {
    margin-bottom: min(0.25vw, 0.3rem);
  }
}
.p-mv_txt_05 .txt03 .inner .vertical {
  font-size: 0.8996rem;
}

@media screen and (min-width: 768px) {
  .p-mv_txt_05 .txt03 .inner .vertical {
    font-size: min(1.1979vw, 1.4375rem);
    line-height: 109%; /* 1.56688rem */
  }
}
.p-mv_txt_05 .inner .vertical {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  text-orientation: upright;
}

@media screen and (min-width: 768px) {
  .p-mv .mv_arrow_pc {
    position: absolute;
    max-width: none;
    bottom: 24%;
    right: -31%;
    width: min(43.005vw, 51.60606rem);
    height: min(23.9652vw, 28.75819rem);
  }
}
.p-mv .mv_arrow_sp {
  position: absolute;
  width: 16.28047rem;
  height: 11.0708rem;
  bottom: 7%;
  left: 50%;
  transform: translateX(-102%);
}

.p-mv_human {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 16.46667rem;
  transform: translateX(-22%);
}

@media screen and (min-width: 768px) {
  .p-mv_human {
    transform: translateX(-16%);
    width: min(44vw, 52.8rem);
    height: min(37.2917vw, 44.75rem);
  }
}
.p-mv_btn_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 6.01rem 0 1.5rem;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-mv_btn_wrap {
    margin: min(1.2vw, 1.44rem) 0 min(2.55vw, 3.06rem);
  }
}
.p-mv_btn {
  width: 21.33333rem;
  height: 4rem;
  gap: 0.66667rem;
  padding: 1.33333rem 1.8rem;
  border-radius: 0.33333rem;
}

@media screen and (min-width: 768px) {
  .p-mv_btn {
    width: min(29.1667vw, 35rem);
    height: min(4.6875vw, 5.625rem);
    gap: min(0.5208vw, 0.625rem);
    border-radius: min(0.2604vw, 0.3125rem);
    padding: 0;
  }
}
.p-mv_btn span {
  font-size: 1.1rem;
}

@media screen and (min-width: 768px) {
  .p-mv_btn span {
    font-size: min(1.4583vw, 1.75rem);
  }
}
.p-mv_btn svg {
  margin-top: 0.3rem;
  width: 1.3rem;
  height: 1.3rem;
}

@media screen and (min-width: 768px) {
  .p-mv_btn svg {
    margin-top: min(0.4167vw, 0.5rem);
    width: min(1.354vw, 1.625rem);
    height: min(1.354vw, 1.625rem);
  }
}
.p-mv_logos {
  width: 100%;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  padding: 1.33333rem 0 1.26667rem 0;
}

@media screen and (min-width: 768px) {
  .p-mv_logos {
    padding: 1.875rem 0 1.25rem 0;
  }
}
.p-mv_logos-track {
  display: inline-flex;
  align-items: center;
  animation: logos-scroll 60s linear infinite;
  gap: 1rem;
}

@media screen and (min-width: 768px) {
  .p-mv_logos-track {
    gap: 2.5rem;
  }
}
@keyframes logos-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.p-mv_logos-logo {
  width: fit-content;
  height: 2.84447rem;
}

@media screen and (min-width: 768px) {
  .p-mv_logos-logo {
    height: 4rem;
  }
}
.p-mv_logos-logo img {
  max-width: inherit;
  height: 100%;
  object-fit: cover;
}

.p-problem-solution {
  overflow: hidden;
  background: linear-gradient(180deg, #edf5f7 0%, #fff 23.08%);
  padding-top: 1.67rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution {
    padding-top: 5.63rem;
  }
}
.p-problem-solution .p-problem_box .l-inner_sm {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.p-problem-solution .p-problem_title {
  text-align: center;
  font-weight: 900;
  line-height: 130%; /* 3.25rem */
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
  font-size: 1.33333rem;
  gap: 0.5rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-problem_title {
    font-size: 2.5rem;
    gap: 1.3rem;
  }
}
.p-problem-solution .p-problem_title .gra_wrap {
  position: relative;
}

.p-problem-solution .p-problem_title .gra {
  background: linear-gradient(180deg, #5062ff 0%, #3546e6 63.94%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-problem-solution .p-problem_title .blue {
  color: #192bce;
}

.p-problem-solution .p-problem_title .y-border {
  position: relative;
  z-index: 1;
}

.p-problem-solution .p-problem_title .y-border::before {
  content: "";
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 0%);
  background: var(--tel, #ffea00);
  z-index: -1;
  width: 105%;
  height: 0.86667rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-problem_title .y-border::before {
    width: 110%;
    height: 0.875rem;
  }
}
.p-problem-solution .p-problem_title .bold {
  font-size: 2rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-problem_title .bold {
    font-size: 3.97538rem;
  }
}
.p-problem-solution .p-problem_title .question {
  text-align: center;
  font-weight: 700;
  line-height: normal;
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
  z-index: 1;
  font-size: 3.33333rem;
  bottom: -29%;
  left: 50%;
  transform: translateX(290%) rotate(21.969deg);
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-problem_title .question {
    font-size: 10rem;
    bottom: -48%;
    transform: translateX(186%) rotate(21.969deg);
  }
}
.p-problem-solution .p-problem_description {
  color: #000;
  text-align: center;
  font-weight: 900;
  line-height: 180%; /* 1.8rem */
  margin-top: 1.07rem;
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-problem_description {
    margin-top: 2.06rem;
  }
}
.p-problem-solution .p-problem_description span {
  color: #f6a903;
  text-align: center;
  line-height: 180%; /* 2.8125rem */
  position: relative;
  display: inline-block;
  font-size: 1.66667rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-problem_description span {
    font-size: 1.5625rem;
  }
}
.p-problem-solution .p-problem_description_arrow {
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 70%);
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-problem_description_arrow {
    width: 2rem;
    height: 1.1875rem;
  }
}
.p-problem-solution .p-solution_box {
  position: relative;
  z-index: 1;
  margin-top: 2.33rem;
  padding: 3.73rem 0 1.87rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_box {
    margin-top: 3.19rem;
    padding-top: 7.31rem;
    padding: 7.31rem 0 5.5rem;
  }
}
.p-problem-solution .p-solution_human {
  position: absolute;
  left: 50%;
  z-index: -2;
  width: 5.26667rem;
  height: 7.4rem;
  transform: translateX(-220%);
  top: -11%;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_human {
    width: 17.9375rem;
    height: 25.4375rem;
    aspect-ratio: 287/407;
    transform: translateX(-220%);
    top: -40%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-problem-solution .p-solution_human {
    transform: translateX(-192%);
  }
}
.p-problem-solution .p-solution_bg_pc {
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  z-index: -1;
  max-width: fit-content;
  width: 54.66667rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_bg_pc {
    width: 166rem;
  }
}
.p-problem-solution .p-solution_dot {
  position: absolute;
  left: 50%;
  z-index: 1;
  width: 0.43rem;
  height: 3.86667rem;
  top: -5%;
  transform: translateX(8%);
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_dot {
    top: -3%;
    transform: translateX(8%);
    width: 0.625rem;
    height: 6.625rem;
  }
}
.p-problem-solution .p-solution_title {
  color: #000;
  text-align: center;
  font-weight: 700;
  line-height: 180%; /* 3.375rem */
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_title {
    font-size: 1.875rem;
  }
}
.p-problem-solution .p-solution_title .b-blue {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  color: #fff;
  height: 1.94087rem;
  padding: 0 0.3882rem;
  font-size: 1.16453rem;
  margin-left: -0.6rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_title .b-blue {
    height: 3.125rem;
    padding: 0 0.625rem;
    font-size: 1.875rem;
    margin-left: -1rem;
  }
}
.p-problem-solution .p-solution_title .bold {
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_title .bold {
    font-size: 2.5rem;
  }
}
.p-problem-solution .p-solution_banner {
  margin-top: 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_banner {
    margin-top: 3.88rem;
  }
}
.p-problem-solution .p-solution_banner_title {
  color: #000;
  text-align: center;
  font-weight: 700;
  line-height: 180%; /* 2.25rem */
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_banner_title {
    font-size: 1.25rem;
  }
}
.p-problem-solution .p-solution_banner_title .bold {
  display: block;
  text-align: center;
  font-weight: 900;
  line-height: 160%; /* 3rem */
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.53333rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_banner_title .bold {
    font-size: 1.875rem;
  }
}
.p-problem-solution .p-solution_banner_inner {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #fff;
  position: relative;
  width: 24rem;
  padding: 0.93rem 1.33rem 1.47rem;
  max-width: 100%;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_banner_inner {
    width: 100%;
    padding: 1.625rem 23.875rem 2.125rem 3.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-problem-solution .p-solution_banner_inner {
    padding: 1.625rem 19.875rem 2.125rem 2.625rem;
  }
}
.p-problem-solution .p-solution_banner_btn_wrap {
  margin-top: 1.13rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_banner_btn_wrap {
    margin-top: 0.75rem;
  }
}
.p-problem-solution .p-solution_banner_btn {
  width: 21.33333rem;
  height: 5.33333rem;
  padding: 1.33333rem 2.26667rem;
  border-radius: 0.33333rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_banner_btn {
    width: 35rem;
    height: 6.25rem;
    padding: 1.25rem 2.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-problem-solution .p-solution_banner_btn {
    width: 30rem;
  }
}
@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_banner_btn p {
    font-size: 1.1875rem;
  }
}
.p-problem-solution .p-solution_banner_btn_inner span {
  font-size: 1.3rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_banner_btn_inner span {
    font-size: 1.25rem;
  }
}
.p-problem-solution .p-solution_banner_btn_inner svg {
  margin-top: 0.3rem;
  width: 1.4rem;
  height: 1.4rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_banner_btn_inner svg {
    margin-top: 0.3rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
.p-problem-solution .p-solution_banner_description {
  display: flex;
  align-items: center;
  border: 1px solid #d0e6ff;
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  color: #fffce1;
  font-weight: 500;
  line-height: 150%; /* 1.6875rem */
  max-width: 100%;
  padding: 1rem 1.33rem 1.2rem;
  width: 24rem;
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_banner_description {
    justify-content: center;
    text-align: center;
    width: 62.5rem;
    height: 4.1875rem;
    padding: 1.125rem 4.0625rem 1.75rem 4rem;
    font-size: 1.125rem;
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-problem-solution .p-solution_banner_description {
    font-size: 1rem;
  }
}
.p-problem-solution .p-solution_banner_human {
  position: absolute;
  width: 11.8rem;
  height: 9.26667rem;
  bottom: -63%;
  left: 50%;
  transform: translateX(8%);
}

@media screen and (min-width: 768px) {
  .p-problem-solution .p-solution_banner_human {
    width: 30.4375rem;
    height: 19.9375rem;
    bottom: -1%;
    left: 50%;
    transform: translateX(8%);
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ 実績 ▼
//
///////////////////////////////////////////////////*/
.p-works {
  overflow: hidden;
  padding-bottom: 2.06rem;
}

@media screen and (min-width: 768px) {
  .p-works {
    padding: 8.19rem 0 0;
    background: linear-gradient(to right, #f0f7ff 0%, #f0f7ff 30%, #fff 30%, #fff 100%);
  }
}
.p-works_title_human {
  width: 16rem;
  transform: translateX(-68%);
}

@media screen and (min-width: 768px) {
  .p-works_title_human {
    transform: translateX(-137%);
    width: 23.3125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-works_title_human {
    width: 22.3125rem;
  }
}
.p-works_title_img {
  width: 7.2rem;
  transform: translateX(73%);
}

@media screen and (min-width: 768px) {
  .p-works_title_img {
    transform: translateX(73%);
    width: 22.375rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .p-works_title_img {
    width: 19.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-works_title_img {
    width: 14.375rem;
  }
}
.p-works_title_en {
  transform: translate(-50%, 5%);
}

@media screen and (min-width: 768px) {
  .p-works_title_en {
    transform: translate(35%, 5%);
  }
}
.p-works .swiper-container {
  margin-top: 3.8rem;
  padding: 0 1rem 0.5rem;
}

@media screen and (min-width: 768px) {
  .p-works .swiper-container {
    padding: 0 0 0.5rem;
    margin-top: 3.25rem;
  }
}
.p-works .swiper-wrapper {
  align-items: stretch;
}

.p-works .swiper-slide {
  height: auto;
}

.p-works .swiper-button-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2.2rem;
  gap: 2.19rem;
}

@media screen and (min-width: 768px) {
  .p-works .swiper-button-wrap {
    margin-top: 3.75rem;
    gap: 2.19rem;
  }
}
.p-works .swiper-pagination {
  position: relative;
  display: inline-flex;
  width: auto !important;
}

.p-works .swiper-pagination-bullet {
  margin: 0 0.5rem !important;
  width: 0.625rem;
  height: 0.625rem;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .p-works .swiper-pagination-bullet {
    width: 0.66667rem;
    height: 0.66667rem;
  }
}
.p-works .swiper-pagination-bullet-active {
  background: #192bce;
}

.p-works .swiper-button-prev, .p-works .swiper-button-next {
  position: relative;
  width: 2.6875rem;
  height: 2.6875rem;
  cursor: pointer;
}

.p-works .swiper-button-prev::after, .p-works .swiper-button-next::after {
  display: none;
}

.p-works .swiper-button-prev svg, .p-works .swiper-button-next svg {
  width: 2.6875rem;
  height: 2.6875rem;
}

.p-works .swiper-button-prev svg g path, .p-works .swiper-button-next svg g path {
  transition: 0.3s;
}

.p-works .swiper-button-prev svg path, .p-works .swiper-button-next svg path {
  transition: 0.3s;
}

.p-works .swiper-button-prev:hover g path, .p-works .swiper-button-next:hover g path {
  fill: #192bce;
}

.p-works .swiper-button-prev:hover path, .p-works .swiper-button-next:hover path {
  fill: #fff;
}

.p-works .swiper-button-next svg {
  transform: rotate(180deg);
}

.p-works_item {
  height: 100%;
  background: #fff;
  box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.25);
}

.p-works_item figure {
  padding: 1.07rem 2rem;
  background: url(./images/achievements_slide_bg.webp) center center/cover no-repeat;
}

@media screen and (min-width: 768px) {
  .p-works_item figure {
    padding: 1.69rem 3rem;
  }
}
.p-works_item_inner {
  padding: 1.2rem 1.2rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.63rem;
}

@media screen and (min-width: 768px) {
  .p-works_item_inner {
    padding: 1.2rem 1.2rem 1.5rem;
  }
}
.p-works_item_company_wrap {
  display: flex;
  align-items: center;
  gap: 0.63rem;
}

.p-works_item_company_wrap_svg {
  width: 0.875rem;
}

@media screen and (min-width: 768px) {
  .p-works_item_company_wrap_svg {
    width: 0.875rem;
  }
}
.p-works_item_company {
  font-size: 1.06667rem;
  color: #000;
  font-weight: 700;
  line-height: 180%; /* 1.8rem */
}

@media screen and (min-width: 768px) {
  .p-works_item_company {
    font-size: 1rem;
  }
}
.p-works_item_title {
  font-size: 1.2rem;
  color: #192bce;
  font-weight: 700;
  line-height: 180%; /* 2.025rem */
}

@media screen and (min-width: 768px) {
  .p-works_item_title {
    font-size: 1.125rem;
  }
}
.p-works_item_description {
  color: #000;
  font-size: 1rem;
  font-weight: 400;
  line-height: 180%; /* 1.8rem */
}

/*///////////////////////////////////////////////////
//
//            ▼ 選ばれる理由 ▼
//
///////////////////////////////////////////////////*/
@media screen and (min-width: 768px) {
  .p-reason {
    padding-top: 8.44rem;
  }
  .p-reason::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 30%;
    height: 8.44rem;
    background: #f0f7ff;
  }
}
.p-reason_title_human {
  width: 23.13333rem;
  transform: translateX(-49.75%);
}

@media screen and (min-width: 768px) {
  .p-reason_title_human {
    transform: translateX(-99.0625%);
    width: 31.375rem;
  }
}
.p-reason_title_img {
  transform: translateX(107.4375%);
  width: 5.66667rem;
  top: 78%;
}

@media screen and (min-width: 768px) {
  .p-reason_title_img {
    top: -45%;
    width: 10.5rem;
    transform: translateX(188.4375%);
  }
}
.p-reason_title_en {
  transform: translate(-50%, 4.6875%);
}

@media screen and (min-width: 768px) {
  .p-reason_title_en {
    transform: translate(66.5625%, 4.6875%);
  }
}
.p-reason .l-inner {
  display: contents;
}

@media screen and (min-width: 768px) {
  .p-reason .l-inner {
    display: block;
  }
}
.p-reason_items {
  display: flex;
  flex-direction: column;
  margin-top: 7.26rem;
  gap: 3.63rem;
}

@media screen and (min-width: 768px) {
  .p-reason_items {
    margin-top: 4.59375rem;
    gap: 5.4375rem;
  }
}
.p-reason_item {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  background: url(./images/reason_bg_sp.webp) center center/cover no-repeat;
  padding: 0 1rem 3.8rem;
}

@media screen and (min-width: 768px) {
  .p-reason_item {
    flex-direction: row;
    background: url(./images/reason_bg_pc.webp) center center/cover no-repeat;
    height: 23.9375rem;
    padding: 1.875rem 3.125rem 2.25rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .p-reason_item {
    padding: 1.875rem 1.6rem 2.25rem 2.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item {
    padding: 1.875rem 1rem 2.25rem 2rem;
  }
}
.p-reason_item-title {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  color: #fff;
  padding: 0.4rem 1.33333rem;
  font-size: 1.73333rem;
  font-weight: 700;
  line-height: 160%;
}

@media screen and (min-width: 768px) {
  .p-reason_item-title {
    padding: 0 0.625rem;
    font-size: 2.5rem;
    margin-top: 0.375rem;
  }
}
.p-reason_item-title-wrap {
  margin-top: -4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding-left: 0.6rem;
}

@media screen and (min-width: 768px) {
  .p-reason_item-title-wrap {
    margin: 0;
    justify-content: initial;
    gap: 1.5rem;
  }
}
.p-reason_item-title-num {
  position: relative;
}

.p-reason_item-title-num span {
  color: #192bce;
}

@media screen and (min-width: 768px) {
  .p-reason_item-title-num span {
    color: #fff;
  }
}
.p-reason_item-title-num span:first-of-type {
  font-size: 0.86667rem;
  position: absolute;
  top: 45%;
  left: -43.125%;
  transform: rotate(-90deg);
  font-weight: 500;
  line-height: normal;
}

@media screen and (min-width: 768px) {
  .p-reason_item-title-num span:first-of-type {
    font-size: 1.0625rem;
  }
}
.p-reason_item-title-num span:last-of-type {
  font-size: 4rem;
}

@media screen and (min-width: 768px) {
  .p-reason_item-title-num span:last-of-type {
    font-size: 5rem;
    line-height: 100%;
  }
}
.p-reason_item-subTitle {
  font-size: 1.4rem;
  color: #fff;
  font-weight: 700;
  line-height: 160%;
  text-align: center;
  margin-top: -0.3rem;
}

@media screen and (min-width: 768px) {
  .p-reason_item-subTitle {
    text-align: start;
    font-size: 1.875rem;
    margin-top: 0.9375rem;
  }
}
.p-reason_item-description {
  margin-top: 0.8rem;
  font-size: 1rem;
  color: #fff;
  font-weight: 700;
  line-height: 180%;
}

@media screen and (min-width: 768px) {
  .p-reason_item-description {
    margin-top: 1rem;
    width: 36.875rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .p-reason_item-description {
    width: 33.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item-description {
    width: 33.875rem;
    font-size: 0.9rem;
  }
}
.p-reason_item-exam {
  margin-top: 1.33rem;
  display: flex;
  align-items: center;
  height: 3.86667rem;
}

@media screen and (min-width: 768px) {
  .p-reason_item-exam {
    margin-top: 1rem;
    height: 2.1875rem;
  }
}
.p-reason_item-exam span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  color: #fff;
  font-weight: 700;
  line-height: 180%;
  height: 100%;
  padding: 0.6rem 0.53333rem 0.66667rem 0.6rem;
  font-size: 0.86667rem;
  flex-shrink: 0;
  writing-mode: vertical-rl;
}

@media screen and (min-width: 768px) {
  .p-reason_item-exam span {
    padding: 0.1875rem 0.5rem 0.1875rem 0.4375rem;
    font-size: 1rem;
    writing-mode: horizontal-tb;
  }
}
.p-reason_item-exam p {
  display: flex;
  align-items: center;
  color: #192bce;
  font-weight: 700;
  background: #fff;
  height: 100%;
  font-size: 1rem;
  padding: 0.66667rem;
  line-height: 160%;
}

@media screen and (min-width: 768px) {
  .p-reason_item-exam p {
    line-height: 180%;
    padding: 0.625rem;
  }
}
.p-reason_item-humanImg {
  position: absolute;
  bottom: -1.5%;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  .p-reason_item-humanImg {
    bottom: -2%;
    z-index: 1;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .p-reason_item-humanImg {
    bottom: -1.5%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item-humanImg {
    bottom: -1%;
  }
}
.p-reason_item-humanImg-01 {
  width: 24.4rem;
}

@media screen and (min-width: 768px) {
  .p-reason_item-humanImg-01 {
    width: 32.25rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .p-reason_item-humanImg-01 {
    width: 30.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item-humanImg-01 {
    width: 20.25rem;
  }
}
.p-reason_item-humanImg-02 {
  width: 24.46667rem;
  transform: translateX(0%);
}

@media screen and (min-width: 768px) {
  .p-reason_item-humanImg-02 {
    transform: translateX(auto);
    width: 32.3125rem;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .p-reason_item-humanImg-02 {
    width: 30.3125rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .p-reason_item-humanImg-02 {
    width: 26.3125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item-humanImg-02 {
    width: 20.3125rem;
  }
}
.p-reason_item-humanImg-03 {
  width: 25.33333rem;
  transform: translateX(-47%);
}

@media screen and (min-width: 768px) {
  .p-reason_item-humanImg-03 {
    width: 36.625rem;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .p-reason_item-humanImg-03 {
    width: 30.625rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .p-reason_item-humanImg-03 {
    width: 26.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item-humanImg-03 {
    width: 20.625rem;
  }
}
.p-reason_item-humanImg-04 {
  width: 22.2rem;
  transform: translateX(0%);
}

@media screen and (min-width: 768px) {
  .p-reason_item-humanImg-04 {
    transform: translateX(auto);
    width: 26.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item-humanImg-04 {
    width: 18.875rem;
  }
}
.p-reason_item-humanImg-05 {
  width: 25rem;
  transform: translateX(-47%);
}

@media screen and (min-width: 768px) {
  .p-reason_item-humanImg-05 {
    width: 32.3125rem;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .p-reason_item-humanImg-05 {
    width: 30.3125rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .p-reason_item-humanImg-05 {
    width: 26.3125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item-humanImg-05 {
    width: 20.3125rem;
  }
}
.p-reason_item-img {
  margin-top: 1.67rem;
}

@media screen and (min-width: 768px) {
  .p-reason_item-img {
    position: absolute;
    top: -10%;
    width: 35rem;
    margin-top: 0;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.5px) {
  .p-reason_item-img {
    width: 32rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .p-reason_item-img {
    width: 28rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item-img {
    width: 28vw;
    top: -6%;
  }
}
@media screen and (min-width: 768px) {
  .p-reason_item:nth-of-type(odd) .p-reason_item-humanImg {
    left: calc(100% - 1.6875rem);
    transform: translateX(-100%);
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item:nth-of-type(odd) .p-reason_item-humanImg {
    left: calc(100% - 0.6875rem);
  }
}
@media screen and (min-width: 768px) {
  .p-reason_item:nth-of-type(odd) .p-reason_item-img {
    left: 59%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item:nth-of-type(odd) .p-reason_item-img {
    left: 71%;
  }
}
@media screen and (min-width: 768px) {
  .p-reason_item:nth-of-type(even) {
    justify-content: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-reason_item:nth-of-type(even) .p-reason_item-inner {
    margin-right: 2rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .p-reason_item:nth-of-type(even) .p-reason_item-inner {
    margin-right: 0rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item:nth-of-type(even) .p-reason_item-inner {
    margin-right: 0rem;
  }
}
.p-reason_item:nth-of-type(even) .p-reason_item-humanImg {
  left: auto;
}

@media screen and (min-width: 768px) {
  .p-reason_item:nth-of-type(even) .p-reason_item-humanImg {
    right: calc(100% - 1.6875rem);
    transform: translateX(100%);
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item:nth-of-type(even) .p-reason_item-humanImg {
    right: calc(100% - 0.6875rem);
  }
}
@media screen and (min-width: 768px) {
  .p-reason_item:nth-of-type(even) .p-reason_item-img {
    right: 59%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-reason_item:nth-of-type(even) .p-reason_item-img {
    right: 71%;
  }
}
.p-reason_btn {
  width: 21.33333rem;
  height: 5.33333rem;
  padding: 1.33333rem 2.26667rem;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-reason_btn {
    width: 35rem;
    height: 6.25rem;
    padding: 1.25rem 2.125rem;
  }
}
.p-reason_btn_wrap {
  margin-top: 1.67rem;
}

@media screen and (min-width: 768px) {
  .p-reason_btn_wrap {
    margin-top: 3.12rem;
    display: flex;
  }
}
.p-reason_btn p {
  color: #fff;
  text-align: center;
  font-weight: 700;
  line-height: 180%; /* 2.1375rem */
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .p-reason_btn p {
    font-size: 1.1875rem;
  }
}
.p-reason_btn_inner {
  gap: 1rem;
}

.p-reason_btn_inner span {
  font-size: 1.3rem;
}

@media screen and (min-width: 768px) {
  .p-reason_btn_inner span {
    font-size: 1.25rem;
  }
}
.p-reason_btn_inner svg {
  width: 1.4rem;
  height: 1.4rem;
  margin-top: 0.3rem;
}

@media screen and (min-width: 768px) {
  .p-reason_btn_inner svg {
    width: 1.6rem;
    height: 1.6rem;
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ 詳細機能マップ ▼
//
///////////////////////////////////////////////////*/
.p-function {
  background: #f0f7ff;
  padding-bottom: 3.4rem;
  margin-top: 4.17rem;
}

@media screen and (min-width: 768px) {
  .p-function {
    background: linear-gradient(to bottom, #fff 0%, #fff 10%, #f0f7ff 10%, #f0f7ff 100%);
    padding-bottom: 6.4rem;
    padding-top: 9.44rem;
    margin-top: 0;
  }
}
.p-function_title_human {
  width: 19.2rem;
  transform: translateX(-63.75%);
}

@media screen and (min-width: 768px) {
  .p-function_title_human {
    transform: translateX(-84.0625%);
    width: 36.0625rem;
  }
}
.p-function_title_img {
  transform: translateX(66.4375%);
  width: 7.66667rem;
  top: 68%;
}

@media screen and (min-width: 768px) {
  .p-function_title_img {
    top: -78%;
    width: 21.6875rem;
    transform: translateX(78.4375%);
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .p-function_title_img {
    width: 19.6875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-function_title_img {
    width: 15.6875rem;
  }
}
.p-function_title_en {
  transform: translate(-50%, 4.6875%);
}

@media screen and (min-width: 768px) {
  .p-function_title_en {
    transform: translate(36.5625%, -0.3125%);
  }
}
.p-function_description {
  color: #000;
  font-weight: 700;
  line-height: 180%; /* 2.025rem */
  margin-top: 5.4rem;
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .p-function_description {
    margin-top: 2.25rem;
    font-size: 1.125rem;
  }
}
.p-function_general {
  margin: 1.67rem 0 2.53rem;
}

@media screen and (min-width: 768px) {
  .p-function_general {
    margin: 3.19rem 0 3rem;
  }
}
.p-function_general-title {
  background: #fff;
  color: #000;
  text-align: center;
  font-weight: 700;
  line-height: 160%; /* 3rem */
  width: 100%;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-function_general-title {
    font-size: 1.875rem;
    padding: 2.125rem 0 2.0625rem 0;
    height: auto;
  }
}
.p-function_general-lists {
  margin: 0.67rem 0 1.67rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 8列 */
  grid-template-rows: repeat(2, auto); /* 2行 */
  gap: 0.67rem; /* 任意 */
}

@media screen and (min-width: 768px) {
  .p-function_general-lists {
    display: flex;
    align-items: center;
    gap: 1.0625rem;
    width: 100%;
    margin: 2.31rem 0;
  }
}
.p-function_general-list {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  height: 4rem;
  gap: 0.625rem;
}

@media screen and (min-width: 768px) {
  .p-function_general-list {
    height: 4.5625rem;
    width: 25%;
  }
}
@media screen and (min-width: 768px) {
  .p-function_general-list-icon {
    width: 1.09375rem;
    height: 1.09375rem;
  }
}
.p-function_general-list-title {
  line-height: 150%; /* 1.5rem */
  font-size: 1rem;
  color: #000;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .p-function_general-list-title {
    line-height: 180%; /* 2.25rem */
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .p-function_general-list-title {
    font-size: 1.1rem;
  }
}
.p-function_general-minor {
  color: #000;
  text-align: center;
  font-weight: 700;
  line-height: 160%; /* 2rem */
  font-size: 1.33333rem;
}

@media screen and (min-width: 768px) {
  .p-function_general-minor {
    font-size: 1.25rem;
  }
}
.p-function_general-items {
  margin-top: 1.67rem;
  display: flex;
  flex-direction: column;
  gap: 0.67rem;
}

@media screen and (min-width: 768px) {
  .p-function_general-items {
    margin-top: 1.94rem;
    gap: 1.94rem;
  }
}
.p-function_general-item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 1.33333rem;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .p-function_general-item {
    flex-direction: row;
    height: 18.75rem;
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-function_general-item-inner {
    background: #fff;
    padding: 1.87rem 3.13rem 2.31rem 2.69rem;
    width: 58.28125%;
    height: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-function_general-item-inner {
    padding: 1.87rem 2.13rem 2.31rem 1.69rem;
  }
}
.p-function_general-item-img {
  margin-top: 0.93rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-function_general-item-img {
    margin-top: 0;
    width: 41.71875%;
    height: 100%;
    object-fit: cover;
  }
}
.p-function_general-item-title {
  color: #000;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 180%;
}

.p-function_general-item-title-wrap {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

@media screen and (min-width: 768px) {
  .p-function_general-item-title {
    font-size: 1.25rem;
  }
}
.p-function_general-item-icon {
  width: 1.09375rem;
  height: 1.09375rem;
}

.p-function_general-item-description {
  margin-top: 0.93rem;
  color: #000;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 180%; /* 1.8rem */
}

@media screen and (min-width: 768px) {
  .p-function_general-item-description {
    margin-top: 0rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-function_general-item-description {
    font-size: 0.9rem;
  }
}
.p-function_general-item-exam {
  margin-top: 0.93rem;
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 180%; /* 1.8rem */
  border-radius: 0 2rem 0 0;
  width: 7.93333rem;
  height: 2.06667rem;
  padding-left: 0.62rem;
}

@media screen and (min-width: 768px) {
  .p-function_general-item-exam {
    margin-top: 1.25rem;
    border-radius: 0 1.875rem 0 0;
    width: 8.75rem;
    height: 1.9375rem;
    padding-left: 1rem;
  }
}
.p-function_general-item-exam-description {
  display: flex;
  align-items: center;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  font-size: 1rem;
  font-weight: 500;
  line-height: 180%; /* 1.8rem */
  padding: 0.66667rem;
  color: #192bce;
}

@media screen and (min-width: 768px) {
  .p-function_general-item-exam-description {
    padding: 0.75rem 1.25rem 0.75rem 1.375rem;
    min-height: 5.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-function_general-item-exam-description {
    font-size: 0.9rem;
  }
}
.p-function_additional {
  padding: 2.4rem 0 0;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-function_additional {
    padding: 3.06rem 0 0;
  }
}
.p-function_additional::before {
  content: "";
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 1px;
  background: #d6d6d6;
}

.p-function_additional-title {
  background: #fff;
  color: #000;
  text-align: center;
  font-weight: 700;
  line-height: 160%; /* 3rem */
  width: 100%;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 1.33333rem;
}

@media screen and (min-width: 768px) {
  .p-function_additional-title {
    padding: 1.1875rem 0 1.375rem 0;
    font-size: 1.875rem;
  }
}
.p-function_additional-title span {
  font-size: 1rem;
  font-weight: 700;
  line-height: 160%; /* 1.6rem */
}

.p-function_additional-lists {
  margin-top: 0.67rem;
  display: flex;
  flex-direction: column;
  gap: 0.67rem;
}

@media screen and (min-width: 768px) {
  .p-function_additional-lists {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 8列 */
    grid-template-rows: repeat(2, auto); /* 2行 */
    gap: 1.88rem 1.06rem; /* 任意 */
    align-items: stretch;
    margin-top: 2rem;
  }
}
.p-function_additional-list {
  display: flex;
  padding: 1.33333rem;
  gap: 1.47rem;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .p-function_additional-list {
    padding: 0;
    position: relative;
    min-height: 22.5rem;
    display: flex;
    flex-direction: column;
    gap: 0;
  }
}
.p-function_additional-list picture {
  max-width: max-content;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .p-function_additional-list-inner {
    display: contents;
  }
}
@media screen and (min-width: 768px) {
  .p-function_additional-list-custom {
    background: url(./images/function_custom_bg.webp) center center/cover no-repeat;
  }
}
.p-function_additional-list-title {
  color: #000;
  font-weight: 700;
  line-height: 180%; /* 2.25rem */
  font-size: 1.1rem;
}

@media screen and (min-width: 768px) {
  .p-function_additional-list-title {
    order: 1;
    font-size: 1.25rem;
  }
}
.p-function_additional-list-title-wrap {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

@media screen and (min-width: 768px) {
  .p-function_additional-list-title-wrap {
    justify-content: center;
    padding-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .p-function_additional-list-title-custom {
    color: #fff;
  }
}
@media screen and (min-width: 768px) {
  .p-function_additional-list-icon {
    width: 1.09375rem;
    height: 1.09375rem;
  }
}
.p-function_additional-list-img {
  width: 8.66667rem;
  height: 8.66667rem;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-function_additional-list-img {
    width: 100%;
    height: auto;
    margin-top: 1.25rem;
    order: 2;
  }
}
@media screen and (min-width: 768px) {
  .p-function_additional-list-img-custom {
    position: absolute;
    width: 22.625rem;
    max-width: inherit;
    bottom: 0%;
    left: 7%;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.5px) {
  .p-function_additional-list-img-custom {
    width: 17.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-function_additional-list-img-custom {
    width: 13.625rem;
  }
}
.p-function_additional-list-description {
  margin-top: 0.93rem;
  font-size: 1rem;
  color: #000;
  font-style: normal;
  font-weight: 500;
  line-height: 180%; /* 1.8rem */
}

@media screen and (min-width: 768px) {
  .p-function_additional-list-description {
    order: 3;
    margin-top: 1.25rem;
    padding: 0 1.78rem 1rem;
  }
}
.p-function_btn {
  width: 21.33333rem;
  height: 5.33333rem;
  padding: 1.33333rem 2.26667rem;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-function_btn {
    width: 35rem;
    height: 6.25rem;
    padding: 1.25rem 2.125rem;
  }
}
.p-function_btn_wrap {
  margin-top: 1.67rem;
}

@media screen and (min-width: 768px) {
  .p-function_btn_wrap {
    margin-top: 4.37rem;
    display: flex;
  }
}
.p-function_btn p {
  color: #fff;
  text-align: center;
  font-weight: 700;
  line-height: 180%; /* 2.1375rem */
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .p-function_btn p {
    font-size: 1.1875rem;
  }
}
.p-function_btn_inner {
  gap: 1rem;
}

.p-function_btn_inner span {
  font-size: 1.06667rem;
}

@media screen and (min-width: 768px) {
  .p-function_btn_inner span {
    font-size: 1.25rem;
  }
}
.p-function_btn_inner svg {
  width: 1.4rem;
  height: 1.4rem;
  margin-top: 0.3rem;
}

@media screen and (min-width: 768px) {
  .p-function_btn_inner svg {
    width: 1.6rem;
    height: 1.6rem;
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ 事例紹介 ▼
//
///////////////////////////////////////////////////*/
.p-case {
  background: url(./images/case_bg_sp.webp) center center/cover repeat;
  padding: 1rem 0 3.87rem;
}

@media screen and (min-width: 768px) {
  .p-case {
    background: url(./images/case_bg.webp) center center/cover repeat;
    padding: 5rem 0 9rem;
  }
}
.p-case_list {
  margin-top: 2.53rem;
  gap: 1.33rem;
  display: inline-flex;
  flex: flex;
  flex-direction: column;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-case_list {
    margin-top: 5.87rem;
    gap: 7.06rem;
  }
}
.p-case_item {
  width: 100%;
  position: relative;
  background: #fff;
  box-shadow: 2px 2px 10px 2px rgba(0, 0, 0, 0.25);
}

.p-case_item-title {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  color: #fff;
  font-weight: 900;
  line-height: normal;
  position: absolute;
  top: 0%;
  left: 1.27rem;
  padding: 0.67rem;
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .p-case_item-title {
    left: 0%;
    padding: 0.625rem;
    font-size: 1.25rem;
  }
}
.p-case_item-img {
  height: 13.33333rem;
  width: 100%;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-case_item-img {
    width: 25.3125rem;
    height: 20.9375rem;
    position: absolute;
    bottom: 0%;
    right: 2%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-case_item-img {
    width: 21.3125rem;
  }
}
.p-case_item-inner {
  padding: 1.67rem 1.3rem 1.33rem;
  display: inline-flex;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .p-case_item-inner {
    padding: 4.625rem 0 2.125rem 2.6875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-case_item-inner {
    padding: 4.625rem 0 2.125rem 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-case_item-inner ul li {
    display: flex;
    align-items: start;
    gap: 0.88rem;
  }
}
.p-case_item-inner ul li:not(:last-of-type) {
  border-bottom: 1px dotted #d6d6d6;
  padding-bottom: 0.67rem;
}

@media screen and (min-width: 768px) {
  .p-case_item-inner ul li:not(:last-of-type) {
    padding-bottom: 1rem;
  }
}
.p-case_item-inner ul li:not(:first-of-type) {
  padding-top: 0.67rem;
}

@media screen and (min-width: 768px) {
  .p-case_item-inner ul li:not(:first-of-type) {
    padding-top: 1rem;
  }
}
.p-case_item-inner ul li span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 700;
  line-height: 180%; /* 2.025rem */
  font-size: 1rem;
  padding: 0 0.66667rem;
}

@media screen and (min-width: 768px) {
  .p-case_item-inner ul li span {
    font-size: 1.125rem;
    padding: 0 0.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-case_item-inner ul li span {
    font-size: 1rem;
  }
}
.p-case_item-inner ul li .issue {
  background: #f34343;
}

.p-case_item-inner ul li .measure {
  background: #239fd1;
}

.p-case_item-inner ul li .result {
  background: #3f4cd3;
}

.p-case_item-inner ul li p {
  color: #000;
  font-weight: 500;
  line-height: 180%; /* 2.025rem */
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .p-case_item-inner ul li p {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-case_item-inner ul li p {
    font-size: 1rem;
  }
}
.p-case_item-inner ul li p .blue {
  color: #3f4cd3;
  padding: 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ 比較表 ▼
//
///////////////////////////////////////////////////*/
.p-compare {
  padding: 1rem 0 2.53rem;
  overflow: hidden;
  background: #eee;
}

@media screen and (min-width: 768px) {
  .p-compare {
    background: #f0f7ff;
    padding: 5.2rem 0 7.2rem;
  }
}
.p-compare::before, .p-compare::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 41.878rem;
  height: 41.878rem;
  border: 1px solid #192bce;
  transform-origin: center center;
  mix-blend-mode: multiply;
  border-radius: 99rem;
  display: none;
}

@media screen and (min-width: 768px) {
  .p-compare::before, .p-compare::after {
    display: block;
    width: 92.8125rem;
    height: 92.8125rem;
  }
}
.p-compare::before {
  transform: translate(-98%, 40%);
}

@media screen and (min-width: 768px) {
  .p-compare::before {
    transform: translate(-88%, 2%);
  }
}
.p-compare::after {
  transform: translate(14%, 33%);
}

@media screen and (min-width: 768px) {
  .p-compare::after {
    transform: translate(-9%, -12%);
  }
}
.p-compare_grid {
  display: grid;
  grid-template-columns: 4.66667rem 1fr 1fr;
  row-gap: 0;
  background: #fff;
  position: relative;
  z-index: 1;
  margin-top: 2.8rem;
}

@media screen and (min-width: 768px) {
  .p-compare_grid {
    grid-template-columns: 16.25rem 1fr 1fr;
    margin-top: 4.67rem;
  }
}
.p-compare_grid-wrap {
  position: relative;
  z-index: 1;
}

.p-compare_grid-wrap::before {
  content: "";
  position: absolute;
  top: -1rem;
  right: 0%;
  background: #1f33cc;
  z-index: -1;
  box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.4);
  border: 0.3px solid #000;
  width: calc((100% - 4.66667rem) / 2);
  height: calc(100% + 2rem);
}

@media screen and (min-width: 768px) {
  .p-compare_grid-wrap::before {
    border: 1px solid #000;
    height: calc(100% + 4rem);
    width: calc((100% - 16.25rem) / 2);
    left: auto;
    top: -2rem;
  }
}
.p-compare_grid .no-border::before {
  display: none;
}

.p-compare_grid .top-border::after {
  content: "";
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, 0%);
  width: 80%;
  height: 1px;
  background: #d6d6d6;
}

.p-compare_head {
  text-align: center;
  font-weight: 700;
  line-height: 180%; /* 2.4rem */
  position: relative;
  padding: 0.24rem 0 0.4rem;
  font-size: 0.93333rem;
}

@media screen and (min-width: 768px) {
  .p-compare_head {
    padding: 1.5rem 0;
    font-size: 1.25rem;
  }
}
.p-compare_head::before {
  content: "";
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 0%);
  width: 80%;
  height: 1px;
  background: #d6d6d6;
}

.p-compare_head--primary {
  background: #1f33cc;
  color: #fff;
  position: relative;
  border-left: 0.3px solid #000;
  border-right: 0.3px solid #000;
}

@media screen and (min-width: 768px) {
  .p-compare_head--primary {
    border-left: 1px solid #000;
    border-right: 1px solid #000;
  }
}
.p-compare_label {
  padding: 2rem 0.5rem;
  font-size: 0.86667rem;
  font-weight: 700;
  color: #000;
  text-align: center;
  font-weight: 700;
  line-height: 180%; /* 2.4rem */
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-compare_label {
    padding: 2rem 1rem;
    font-size: 1.25rem;
  }
}
.p-compare_label::before {
  content: "";
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 0%);
  width: 80%;
  height: 1px;
  background: #d6d6d6;
}

.p-compare_cell {
  padding: 1rem 0.67rem;
  font-size: 0.93333rem;
  color: #000;
  font-weight: 700;
  line-height: 180%; /* 3.6rem */
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-compare_cell {
    padding: 2rem;
    text-align: center;
    font-size: 2rem;
  }
}
.p-compare_cell::before {
  content: "";
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 0%);
  width: 80%;
  height: 1px;
  background: #d6d6d6;
}

.p-compare_cell--primary {
  background: #1f33cc;
  color: #fff;
  border-left: 0.3px solid #000;
  border-right: 0.3px solid #000;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-compare_cell--primary {
    border-left: 1px solid #000;
    border-right: 1px solid #000;
  }
}
.p-compare_cell--primary p {
  color: #fff;
}

.p-compare_cell--primary::before {
  content: "";
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 0%);
  width: 80%;
  height: 1px;
  background: #fff;
}

.p-compare_icon {
  display: block;
  margin-bottom: 1rem;
  font-size: 1.6rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-compare_icon {
    font-size: 1.875rem;
  }
}
.p-compare p {
  font-size: 0.86667rem;
  font-weight: 700;
  line-height: 180%; /* 1.92rem */
}

@media screen and (min-width: 768px) {
  .p-compare p {
    text-align: center;
    font-size: 1rem;
  }
}
.p-compare_btn {
  width: 21.33333rem;
  height: 5.33333rem;
  padding: 1.33333rem 2.26667rem;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-compare_btn {
    width: 35rem;
    height: 6.25rem;
    padding: 1.25rem 2.125rem;
  }
}
.p-compare_btn_wrap {
  margin-top: 3.67rem;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-compare_btn_wrap {
    margin-top: 4.37rem;
    display: flex;
  }
}
.p-compare_btn p {
  color: #fff;
  text-align: center;
  font-weight: 700;
  line-height: 180%; /* 2.1375rem */
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .p-compare_btn p {
    font-size: 1.1875rem;
  }
}
.p-compare_btn_inner {
  gap: 1rem;
}

.p-compare_btn_inner span {
  font-size: 1.3rem;
}

@media screen and (min-width: 768px) {
  .p-compare_btn_inner span {
    font-size: 1.25rem;
  }
}
.p-compare_btn_inner svg {
  width: 1.4rem;
  height: 1.4rem;
  margin-top: 0.3rem;
}

@media screen and (min-width: 768px) {
  .p-compare_btn_inner svg {
    width: 1.6rem;
    height: 1.6rem;
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ セキュリティ ▼
//
///////////////////////////////////////////////////*/
.p-security {
  overflow: hidden;
  padding: 0.27rem 0 2.67rem;
}

@media screen and (min-width: 768px) {
  .p-security {
    padding: 5.25rem 0 6.25rem;
  }
}
.p-security::before, .p-security::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 41.878rem;
  height: 41.878rem;
  border-radius: 0.3125rem;
  border: 1px solid #192bce;
  transform-origin: center center;
  mix-blend-mode: multiply;
}

@media screen and (min-width: 768px) {
  .p-security::before, .p-security::after {
    width: 72.5625rem;
    height: 72.5625rem;
  }
}
.p-security::before {
  transform: translate(-98%, 40%) rotate(45deg);
}

@media screen and (min-width: 768px) {
  .p-security::before {
    transform: translate(-100%, 10%) rotate(45deg);
  }
}
.p-security::after {
  transform: translate(14%, 33%) rotate(45deg);
}

@media screen and (min-width: 768px) {
  .p-security::after {
    transform: translate(0%, -10%) rotate(45deg);
  }
}
.p-security_box {
  width: 100%;
  position: relative;
  z-index: 1;
  margin-top: 1.8rem;
}

@media screen and (min-width: 768px) {
  .p-security_box {
    margin-top: 3.44rem;
  }
}
.p-security_box-title {
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  color: #fff;
  font-weight: 700;
  line-height: normal;
  width: 100%;
  font-size: 1.33333rem;
  padding: 1rem 1.3rem 1.1rem;
}

@media screen and (min-width: 768px) {
  .p-security_box-title {
    padding: 1.3125rem 0;
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) {
  .p-security_items {
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: 100%;
  }
}
.p-security_item {
  display: flex;
  align-items: center;
  background: #436fff;
  flex-direction: column;
  padding: 0.66667rem 1.33333rem 1.47733rem 1.33333rem;
  width: 100%;
  gap: 0.67rem;
}

@media screen and (min-width: 768px) {
  .p-security_item {
    width: 50%;
    padding: 2.25rem 3.125rem 1.5625rem;
    gap: 1.875rem;
  }
}
.p-security_item:last-of-type {
  background: #434cff;
}

.p-security_item-title {
  color: #fff;
  text-align: center;
  font-weight: 700;
  line-height: 160%; /* 2rem */
  font-size: 1.33333rem;
}

@media screen and (min-width: 768px) {
  .p-security_item-title {
    font-size: 1.25rem;
  }
}
.p-security_item-description {
  color: #fff;
  font-weight: 400;
  line-height: 180%; /* 1.8rem */
  font-size: 1.06667rem;
}

@media screen and (min-width: 768px) {
  .p-security_item-description {
    font-size: 1rem;
  }
}
.p-security_btn {
  width: 21.33333rem;
  height: 5.33333rem;
  padding: 1.33333rem 2.26667rem;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-security_btn {
    width: 35rem;
    height: 6.25rem;
    padding: 1.25rem 2.125rem;
  }
}
.p-security_btn_wrap {
  margin-top: 1.33rem;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-security_btn_wrap {
    margin-top: 4.37rem;
    display: flex;
  }
}
.p-security_btn p {
  color: #fff;
  text-align: center;
  font-weight: 700;
  line-height: 180%; /* 2.1375rem */
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .p-security_btn p {
    font-size: 1.1875rem;
  }
}
.p-security_btn_inner {
  gap: 1rem;
}

.p-security_btn_inner span {
  font-size: 1.3rem;
}

@media screen and (min-width: 768px) {
  .p-security_btn_inner span {
    font-size: 1.25rem;
  }
}
.p-security_btn_inner svg {
  width: 1.4rem;
  height: 1.4rem;
  margin-top: 0.3rem;
}

@media screen and (min-width: 768px) {
  .p-security_btn_inner svg {
    width: 1.6rem;
    height: 1.6rem;
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ サポート・保守 ▼
//
///////////////////////////////////////////////////*/
.p-support {
  background: #f0f7ff;
  padding: 0.53rem 0 2.53rem;
}

@media screen and (min-width: 768px) {
  .p-support {
    padding: 4.81rem 0 5.94rem;
  }
}
.p-support_title-sub {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-top: 2rem;
  gap: 1rem;
}

@media screen and (min-width: 768px) {
  .p-support_title-sub {
    flex-direction: row;
    margin-top: 3.06rem;
    gap: 0.56rem;
  }
}
.p-support_title-sub-wrap {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  padding: 0.66667rem;
}

@media screen and (min-width: 768px) {
  .p-support_title-sub-wrap {
    padding: 0.625rem;
  }
}
.p-support_title-sub span {
  font-weight: 700;
  line-height: normal;
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-support_title-sub span {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-support_title-sub span {
    font-size: 1.3rem;
  }
}
.p-support_title-sub svg {
  position: relative;
  transform: rotate(90deg);
  transform-origin: center center;
  width: 1.66667rem;
  height: 0.66667rem;
}

@media screen and (min-width: 768px) {
  .p-support_title-sub svg {
    transform: rotate(0);
    width: 2rem;
    height: 0.625rem;
  }
}
.p-support_items {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-direction: column;
  margin-top: 2.07rem;
  gap: 1.33rem;
}

@media screen and (min-width: 768px) {
  .p-support_items {
    flex-direction: row;
    margin-top: 4.44rem;
    gap: 1.31rem;
  }
}
.p-support_item {
  background: #fff;
  box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.25);
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-support_item {
    width: calc((100% - 2.61rem) / 3);
  }
}
.p-support_item-title {
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  color: #fff;
  font-weight: 700;
  line-height: 180%; /* 2.4rem */
  height: 4.2rem;
  padding: 0.72987rem 0 0.72987rem 0.72987rem;
  font-size: 1.33333rem;
}

@media screen and (min-width: 768px) {
  .p-support_item-title {
    padding: 0.625rem 0 0.625rem 0.625rem;
    font-size: 1.25rem;
    height: auto;
  }
}
.p-support_item-description {
  color: #242424;
  font-weight: 400;
  line-height: 180%; /* 1.92rem */
  font-size: 1rem;
  padding: 1.19rem 2rem;
  display: flex;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .p-support_item-description {
    padding: 0.69rem 1.44rem 0.81rem;
  }
}
.p-support_btn {
  width: 21.33333rem;
  height: 5.33333rem;
  padding: 1.33333rem 2.26667rem;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-support_btn {
    width: 35rem;
    height: 6.25rem;
    padding: 1.25rem 2.125rem;
  }
}
.p-support_btn_wrap {
  margin-top: 1.33rem;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-support_btn_wrap {
    margin-top: 4.37rem;
    display: flex;
  }
}
.p-support_btn p {
  color: #fff;
  text-align: center;
  font-weight: 700;
  line-height: 180%; /* 2.1375rem */
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .p-support_btn p {
    font-size: 1.1875rem;
  }
}
.p-support_btn_inner {
  gap: 1rem;
}

.p-support_btn_inner span {
  font-size: 1.3rem;
}

@media screen and (min-width: 768px) {
  .p-support_btn_inner span {
    font-size: 1.25rem;
  }
}
.p-support_btn_inner svg {
  width: 1.4rem;
  height: 1.4rem;
  margin-top: 0.3rem;
}

@media screen and (min-width: 768px) {
  .p-support_btn_inner svg {
    width: 1.6rem;
    height: 1.6rem;
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ 私たちにお任せください！ ▼
//
///////////////////////////////////////////////////*/
.p-please {
  background: url(./images/please_bg_sp.webp) center bottom/contain no-repeat;
  padding: 1rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-please {
    padding: 5.37rem 0 0;
    background: url(./images/please_bg_pc.webp) center center/cover no-repeat;
  }
}
@media screen and (min-width: 768px) {
  .p-please_box {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-please_txt {
    display: flex;
    flex-direction: column;
    width: 31.4375rem;
  }
}
.p-please_txt-title {
  font-weight: 700;
  line-height: 150%; /* 2.88rem */
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.86667rem;
}

@media screen and (min-width: 768px) {
  .p-please_txt-title {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-please_txt-title {
    font-size: 2.2rem;
  }
}
.p-please_txt-title span {
  background: linear-gradient(180deg, #5062ff 0%, #192bce 63.94%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.13333rem;
}

@media screen and (min-width: 768px) {
  .p-please_txt-title span {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-please_txt-title span {
    font-size: 1.3rem;
  }
}
.p-please_txt-img {
  width: 17.33333rem;
  margin: 0 auto;
  display: block;
  position: relative;
  transform: translateX(-5%);
}

@media screen and (min-width: 768px) {
  .p-please_txt-img {
    margin: 0;
    width: 29.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-please_txt-img {
    width: 27.875rem;
  }
}
.p-please_txt-list {
  margin-top: 0.67rem;
}

@media screen and (min-width: 768px) {
  .p-please_txt-list {
    margin-top: 0.75rem;
  }
}
.p-please_txt-item {
  color: #000;
  font-weight: 700;
  font-size: 1rem;
  line-height: 180%; /* 2.16rem */
}

@media screen and (min-width: 768px) {
  .p-please_txt-item {
    font-size: 1.125rem;
  }
}
.p-please_txt-description {
  color: #000;
  text-align: justify;
  font-weight: 500;
  line-height: 180%; /* 2.16rem */
  font-size: 1rem;
  margin-top: 0.5rem;
}

@media screen and (min-width: 768px) {
  .p-please_txt-description {
    font-size: 1.125rem;
    margin-top: 1.12rem;
    width: 30rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.5px) {
  .p-please_txt-description {
    font-size: 1rem;
  }
}
.p-please_imgs {
  position: relative;
  margin-top: 1.5rem;
}

@media screen and (min-width: 768px) {
  .p-please_imgs {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 4rem;
    margin-top: 0;
  }
}
.p-please_imgs-logo {
  width: 19.0052rem;
  position: absolute;
  top: 11%;
  left: 50%;
  transform: translate(-35%, -10%);
}

@media screen and (min-width: 768px) {
  .p-please_imgs-logo {
    width: 32.43288rem;
    top: 11%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.p-please_imgs-human {
  width: 10.66667rem;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-please_imgs-human {
    width: 27.125rem;
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせフォーム ▼
//
///////////////////////////////////////////////////*/
.p-contact {
  padding: 3rem 0 4rem;
  background: #f0f7ff;
}

@media screen and (min-width: 768px) {
  .p-contact {
    padding: 5.25rem 0 8.37rem;
  }
}
.p-contact_in {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .p-contact_in {
    margin-top: 5rem;
    max-width: 960px;
    margin-inline: auto;
  }
}
.p-contact_item {
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 768px) {
  .p-contact_item {
    display: flex;
    align-items: center;
    margin-bottom: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .p-contact_item:has(textarea) {
    align-items: flex-start;
  }
}
@media screen and (min-width: 768px) {
  .p-contact_item--vertical {
    flex-wrap: wrap;
    gap: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-contact_item--vertical > .p-contact_inner:nth-child(1) {
    flex: 0 0 auto;
    width: auto;
  }
}
.p-contact_item--vertical > .p-contact_inner:nth-child(2) {
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

@media screen and (min-width: 768px) {
  .p-contact_item--vertical > .p-contact_inner:nth-child(2) {
    margin-bottom: 0;
    flex: 1;
    gap: 1.56rem;
  }
}
@media screen and (min-width: 768px) {
  .p-contact_item--vertical > .p-contact_inner:nth-child(3) {
    flex: 0 0 100%;
    margin-top: 1.25rem;
    padding-left: 11.25rem;
  }
}
.p-contact_inner {
  margin-bottom: 1.07rem;
}

@media screen and (min-width: 768px) {
  .p-contact_inner {
    display: flex;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 0;
  }
}
.p-contact_inner > label {
  display: inline-flex;
  align-items: center;
  color: #000;
  font-size: 1rem;
  font-weight: 700;
  line-height: 180%;
}

@media screen and (min-width: 768px) {
  .p-contact_inner > label {
    font-size: 1.125rem;
    margin-bottom: 0;
    width: 11.25rem;
    flex-shrink: 0;
  }
}
.p-contact_inner > label span {
  color: #ff0000;
  font-size: 0.875rem;
  margin-left: 0.25rem;
}

.p-contact_inner > label svg {
  margin-left: 0.5rem;
}

@media screen and (min-width: 768px) {
  .p-contact_inner:has(input), .p-contact_inner:has(textarea), .p-contact_inner:has(.checkbox_group) {
    flex: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-contact_item > .p-contact_inner:first-child {
    flex: 0 0 auto;
    width: auto;
  }
}
.p-contact input[type=text],
.p-contact input[type=email],
.p-contact input[type=tel],
.p-contact textarea {
  width: 100%;
  display: flex;
  padding: 1.26667rem 1.66667rem 1.26667rem 1.33333rem;
  align-items: center;
  background: #fff;
  border: none;
  font-size: max(16px, 1rem);
  color: #333;
  transition: all 0.3s ease;
  font-family: inherit;
}

@media screen and (min-width: 768px) {
  .p-contact input[type=text],
  .p-contact input[type=email],
  .p-contact input[type=tel],
  .p-contact textarea {
    height: 3.125rem;
    padding: 0.625rem 1.6875rem;
    gap: 0.625rem;
    flex-shrink: 0;
  }
}
.p-contact input[type=text]::placeholder,
.p-contact input[type=email]::placeholder,
.p-contact input[type=tel]::placeholder,
.p-contact textarea::placeholder {
  color: #dcdcdc;
  font-size: max(16px, 1rem);
  font-weight: 700;
  line-height: 180%;
}

.p-contact input[type=text]:focus,
.p-contact input[type=email]:focus,
.p-contact input[type=tel]:focus,
.p-contact textarea:focus {
  outline: none;
  border-color: #1e3a8a;
  box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.1);
}

.p-contact textarea {
  resize: vertical;
  min-height: 120px;
}

@media screen and (min-width: 768px) {
  .p-contact textarea {
    min-height: 150px;
  }
}
.p-contact .postal-input-wrapper {
  position: relative;
  display: inline-block;
  width: 11.25rem;
}

@media screen and (min-width: 768px) {
  .p-contact .postal-input-wrapper {
    width: 12.1875rem;
  }
}
.p-contact .postal-input-wrapper .postal-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #333;
  font-size: 1rem;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .p-contact .postal-input-wrapper .postal-icon {
    left: 1.25rem;
  }
}
.p-contact .postal-input-wrapper .p-postal-code {
  padding-left: 2.5rem;
}

@media screen and (min-width: 768px) {
  .p-contact .postal-input-wrapper .p-postal-code {
    padding-left: 2.75rem;
  }
}
.p-contact .postal-hint {
  display: block;
  color: #000;
  font-size: max(16px, 1rem);
  font-weight: 400;
  line-height: 180%;
  margin-top: 0.25rem;
}

@media screen and (min-width: 768px) {
  .p-contact .postal-hint {
    margin-top: 0;
  }
}
.p-contact .checkbox_group {
  display: flex;
  flex-direction: row;
  gap: 1.87rem;
  margin-top: 0.5rem;
}

@media screen and (min-width: 768px) {
  .p-contact .checkbox_group {
    gap: 2rem;
  }
}
.p-contact .checkbox_label {
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
  padding-left: 0;
  user-select: none;
  width: auto;
}

.p-contact .checkbox_label input[type=checkbox] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.p-contact .checkbox_label .checkbox_custom {
  position: relative;
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: #fff;
  margin-right: 0.625rem;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .p-contact .checkbox_label .checkbox_custom {
    width: 1.375rem;
    height: 1.375rem;
    margin-right: 0.75rem;
  }
}
.p-contact .checkbox_label .checkbox_custom::after {
  content: "";
  position: absolute;
  display: none;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: #ff0000;
}

@media screen and (min-width: 768px) {
  .p-contact .checkbox_label .checkbox_custom::after {
    width: 0.8125rem;
    height: 0.8125rem;
  }
}
.p-contact .checkbox_label input[type=checkbox]:checked ~ .checkbox_custom::after {
  display: block;
}

.p-contact .checkbox_label .checkbox_text {
  color: #333;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-contact .checkbox_label .checkbox_text {
    font-size: 1rem;
  }
}
.p-contact .acceptance {
  margin-top: 2rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-contact .acceptance {
    margin-top: 2.5rem;
  }
}
.p-contact .acceptance .p-contact_inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
}

.p-contact .acceptance .p-contact_inner input[type=checkbox] {
  width: 1.125rem;
  height: 1.125rem;
  cursor: pointer;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .p-contact .acceptance .p-contact_inner input[type=checkbox] {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.p-contact .acceptance .p-contact_inner label {
  color: #000;
  font-size: 1rem;
  font-weight: 700;
  line-height: 180%;
  cursor: pointer;
  margin: 0;
  white-space: nowrap;
  width: auto;
}

.p-contact .btn_wrap {
  margin-top: 1.2rem;
  text-align: center;
}

.p-contact .btn {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  background: linear-gradient(0deg, #fc9b00 51.92%, #ffd059 100%);
  box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.25), -2px -2px 4px 0 rgba(0, 0, 0, 0.25) inset, 2px 2px 4px 0 rgba(255, 255, 255, 0.5) inset;
  width: 21.33333rem;
  height: 5.33333rem;
  padding: 1.33333rem 2.26667rem;
  border: none;
  border-radius: 0.33333rem;
  cursor: pointer;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-contact .btn {
    width: 35rem;
    height: 6.25rem;
    padding: 1.25rem 2.125rem;
    transition: transform 0.3s, box-shadow 0.3s;
  }
  .p-contact .btn:hover {
    transform: translateY(-2px);
    box-shadow: 2px 6px 16px 0 rgba(0, 0, 0, 0.3), -2px -2px 4px 0 rgba(0, 0, 0, 0.25) inset, 2px 2px 4px 0 rgba(255, 255, 255, 0.5) inset;
  }
}
.p-contact .btn_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.66667rem;
}

@media screen and (min-width: 768px) {
  .p-contact .btn_inner {
    gap: 0.75rem;
  }
}
.p-contact .btn span {
  font-weight: 900;
  line-height: 100%;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.25);
  font-size: 1.5rem;
}

@media screen and (min-width: 768px) {
  .p-contact .btn span {
    font-size: 1.25rem;
  }
}
.p-contact .btn svg {
  width: 1.5rem;
  height: 1.5rem;
}

@media screen and (min-width: 768px) {
  .p-contact .btn svg {
    width: 1.6rem;
    height: 1.6rem;
  }
}
.p-contact .privacypolicy {
  margin-top: 3rem;
  height: 27.1875rem;
  align-self: stretch;
  background: #fff;
  overflow: scroll;
  padding: 1.73333rem 1.2rem 0 2rem;
  font-size: 0.8125rem;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .p-contact .privacypolicy {
    padding: 1.73333rem 2rem 0 2rem;
    margin-top: 4rem;
    height: 18.75rem;
    font-size: 0.875rem;
    line-height: 1.9;
  }
}
.p-contact .privacypolicy ol {
  margin: 0 0 0 1.3333333333rem;
}

.p-contact .privacypolicy ol li {
  list-style: decimal;
  margin: 0.2rem 0;
}

.p-contact .privacypolicy ul {
  margin: 0 0 0 1.3333333333rem;
}

.p-contact .privacypolicy ul li {
  list-style: disc;
  margin: 0.2rem 0;
}

.p-contact .privacypolicy ul ol {
  margin: 0 0 0 1.3333333333rem;
}

.p-contact .privacypolicy ul ol li {
  margin: 0.2rem 0;
  list-style: decimal;
}

.p-contact .privacypolicy .en {
  color: #000;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 180%;
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  .p-contact .privacypolicy .en {
    margin-bottom: 1.25rem;
  }
}
.p-contact .privacypolicy_in p {
  color: #555;
  margin-bottom: 1rem;
}

.p-contact .privacypolicy_in p:last-child {
  margin-bottom: 0;
}

.p-contact .privacypolicy_in h4 {
  color: #000;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 150%;
  margin: 1.5rem 0 0.75rem;
}

@media screen and (min-width: 768px) {
  .p-contact .privacypolicy_in h4 {
    margin: 2rem 0 1rem;
  }
}
.p-contact .privacypolicy_in h4:first-of-type {
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  .p-contact .privacypolicy_in h4:first-of-type {
    margin-top: 1.25rem;
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ アクセス ▼
//
///////////////////////////////////////////////////*/
.p-access {
  padding: 2.67rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-access {
    padding: 5.06rem 0 0;
  }
}
.p-access h2 {
  color: #000;
  text-align: center;
  font-weight: 900;
  line-height: normal;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .p-access h2 {
    font-size: 1.5rem;
  }
}
.p-access iframe {
  align-self: stretch;
  margin-top: 1rem;
  height: 12.53333rem;
  aspect-ratio: 90/47;
}

@media screen and (min-width: 768px) {
  .p-access iframe {
    margin-top: 2.88rem;
    height: 31.25rem;
    max-width: 960px;
    width: 100%;
    margin-inline: auto;
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ 会社概要 ▼
//
///////////////////////////////////////////////////*/
.p-company {
  padding: 3rem 0 0;
}

@media screen and (min-width: 768px) {
  .p-company {
    padding: 5rem 0 0;
  }
}
.p-company_title {
  color: #000;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 180%;
  margin-bottom: 0.87rem;
}

@media screen and (min-width: 768px) {
  .p-company_title {
    font-size: 2rem;
    margin-bottom: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .p-company_table {
    max-width: 960px;
    margin: 0 auto;
  }
}
.p-company_row {
  display: flex;
  flex-direction: column;
  gap: 0.67rem;
  padding: 0.67rem 0;
  border-bottom: 1px solid #d6d6d6;
}

@media screen and (min-width: 768px) {
  .p-company_row {
    padding: 0;
    flex-direction: row;
    gap: 3.5rem;
    border-bottom: none;
  }
}
.p-company_row:not(:first-of-type) .p-company_label {
  border-top: none;
}

.p-company_row:not(:first-of-type) .p-company_content {
  border-top: none;
}

.p-company_label {
  color: #000;
  font-size: 1rem;
  font-weight: 700;
  line-height: 180%;
}

@media screen and (min-width: 768px) {
  .p-company_label {
    padding: 1rem;
    border-bottom: 1px solid #d6d6d6;
    border-top: 1px solid #d6d6d6;
    width: 11.25rem;
    flex-shrink: 0;
    padding: 2rem 0;
    font-size: 1rem;
  }
}
.p-company_content {
  color: #000;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 180%;
}

@media screen and (min-width: 768px) {
  .p-company_content {
    border-bottom: 1px solid #e0e0e0;
    border-top: 1px solid #e0e0e0;
    flex: 1;
    padding: 2rem 0;
    font-size: 1rem;
  }
}
.fixed-banner {
  display: none;
}

@media screen and (min-width: 768px) {
  .fixed-banner {
    position: fixed;
    bottom: 5%;
    right: 3%;
    z-index: 1000;
    border-radius: 0.3125rem;
    background: linear-gradient(63deg, #192bce 53.85%, #58cce6 99.98%);
    box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.25);
    display: flex;
    width: 15.625rem;
    height: 11.6875rem;
    padding: 0.5625rem 1.3125rem;
    flex-direction: column;
    align-items: center;
    gap: 0.38rem;
    transition: opacity 0.3s;
  }
  .fixed-banner:hover {
    opacity: 0.8;
  }
}
.fixed-banner .close {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
  width: 2.75rem;
  height: 2.75rem;
  cursor: pointer;
  transition: 0.3s;
}

.fixed-banner .close:hover {
  opacity: 0.8;
}

.fixed-banner p {
  color: #fff;
  text-align: center;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
}

.fixed-banner p svg {
  margin-top: 0.2rem;
}

.fixed-banner span {
  color: #fff;
  text-align: center;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.p-thanks__content {
  padding-top: 2.93rem;
  color: var(--main-font, #000);
  text-align: center;
  font-weight: 700;
  line-height: 200%; /* 3rem */
  font-size: 0.93333rem;
  letter-spacing: 0.01867rem;
}

@media screen and (min-width: 768px) {
  .p-thanks__content {
    padding-top: 6.25rem;
    font-size: 1.5rem;
    letter-spacing: 0.03rem;
  }
}
.c-lower__kv {
  background: url(./images/lowerBg_sp.webp) repeat center center;
  padding: 5.6rem 0 1.07rem;
}

@media screen and (min-width: 768px) {
  .c-lower__kv {
    padding: 12.19rem 0 1.63rem;
    background: url(./images/lowerBg_pc.webp) repeat center center;
  }
}
.c-lower__kv-title {
  color: #edfff5;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 170%; /* 2.72rem */
  letter-spacing: 0.032rem;
}

@media screen and (min-width: 768px) {
  .c-lower__kv-title {
    font-size: 3rem;
    letter-spacing: 0.06rem;
  }
}
.c-lower__kv-breadcrumb {
  display: flex;
  justify-content: flex-end;
  margin-top: 5.2rem;
}

@media screen and (min-width: 768px) {
  .c-lower__kv-breadcrumb {
    margin-top: 7.44rem;
  }
}
.c-lower__kv-breadcrumb-lists {
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.66667rem;
}

@media screen and (min-width: 768px) {
  .c-lower__kv-breadcrumb-lists {
    gap: 1.25rem;
  }
}
.c-lower__kv-breadcrumb-list {
  color: #edfff5;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  letter-spacing: 0.016rem;
}

@media screen and (min-width: 768px) {
  .c-lower__kv-breadcrumb-list {
    font-size: 0.875rem;
    letter-spacing: 0.0175rem;
  }
}
.c-lower__kv-breadcrumb-list svg {
  width: 2rem;
}

@media screen and (min-width: 768px) {
  .c-lower__kv-breadcrumb-list svg {
    width: 2.625rem;
  }
}
@media screen and (min-width: 768px) {
  .c-lower__kv-breadcrumb-link {
    transition: color 0.3s;
  }
  .c-lower__kv-breadcrumb-link:hover {
    color: #000;
  }
}
.u-desktop {
  display: none;
}

@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}
.u-tablet {
  display: none;
}

@media screen and (min-width: 768px) {
  .u-tablet {
    display: block;
  }
}
@media screen and (min-width: 1280px) {
  .u-tablet {
    display: none;
  }
}
/*# sourceMappingURL=sourcemaps/style.css.map */