@charset "UTF-8";
/* ========================================
変数・関数
======================================== */
:root {
  --color-black: #000;
  --color-main: #234794;
  --color-accent: #FF7B00;
  --color-lightBlue: #F3F6FB;
  --color-yellow: #FCCF3D;
  --color-red: #FF3F3F;
  --font-base: "Noto Sans JP", sans-serif;
  --font-lexend: "Lexend", "Noto Sans JP", sans-serif;
  --font-inter: "Inter", sans-serif;
  --z-index-header: 9;
  --z-index-nav: 10;
  --mg-pc: 5vw;
  --mg-sp: calc(20 / 402 * 100vw);
  --headerHeight-pc: 100px;
  --headerHeight-sp: 70px;
  --headerInner-maxWidth: 1573px;
  --headerInner-width: 96vw;
}

/*@use './variables' as v;*/
/* ========================================
mixin
======================================== */
/* ========================================
リセットCSS
======================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
  font-size: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
div {
  overflow-wrap: break-word;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

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

span {
  font: inherit;
  letter-spacing: inherit;
}

ul,
ol {
  list-style: none;
}

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

address {
  font: inherit;
}

input,
button,
textarea,
select {
  color: inherit;
  font: inherit;
  vertical-align: middle;
}

button {
  appearance: none;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
}

/*@use './global'as g;*/
/* ========================================
ベースCSS
======================================== */
body {
  color: var(--color-black);
  font-family: var(--font-base);
  font-size: 16px;
  font-weight: 400;
  line-height: calc(31 / 16);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  body {
    padding-top: 70px;
  }
}

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

/* CLEAR-FIX */
@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

/*@use '../setting/global'as g;*/
/* ========================================
モジュール・パーツ m-
======================================== */
.m-inner {
  width: calc(100% - var(--mg-pc) * 2);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .m-inner {
    width: calc(100% - var(--mg-sp) * 2);
  }
}

.m-btnContact {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 58px;
  gap: 0 6px;
  background: var(--color-accent);
  border: 2px solid var(--color-accent);
  border-radius: 999px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
}
.m-btnContact::before {
  content: "";
  display: block;
  width: 30px;
  height: 22px;
  background: url("../image/common/icon_mail.svg") no-repeat center/contain;
  transition: background .3s;
}
.m-btnContact::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url("../image/common/arrow_contact.svg") no-repeat center/contain;
  margin-right: 10px;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.25));
  transition: background .3s;
}
@media (hover: hover) {
  .m-btnContact {
    transition: background .3s, color .3s, text-shadow .3s;
  }
  .m-btnContact:hover {
    background: #fff;
    color: var(--color-accent);
    text-shadow: 0 0 0 transparent;
  }
  .m-btnContact:hover::before {
    background-image: url("../image/common/icon_mail-orange.svg");
  }
  .m-btnContact:hover::after {
    background-image: url("../image/common/arrow_contact-orange.svg");
  }
}

.m-btnFeatures {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 58px;
  gap: 0 6px;
  background: var(--color-accent);
  border: 2px solid var(--color-accent);
  border-radius: 999px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
}
.m-btnFeatures::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url("../image/common/arrow_link.svg") no-repeat center/contain;
  margin-right: 10px;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.25));
  transition: background .3s;
}
@media (hover: hover) {
  .m-btnFeatures {
    transition: background .3s, color .3s, text-shadow .3s;
  }
  .m-btnFeatures:hover {
    background: #fff;
    color: var(--color-accent);
    text-shadow: 0 0 0 transparent;
  }
  .m-btnFeatures:hover::after {
    background-image: url("../image/common/arrow_contact-orange.svg");
  }
}

.m-btnFill {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 12px;
  width: 360px;
  max-width: 100%;
  height: 67px;
  background: var(--color-main);
  border: 2px solid var(--color-main);
  border-radius: 34px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
}
.m-btnFill::after {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  background: url("../image/common/arrow_link.svg") no-repeat center/contain;
  transform: translateY(10%);
  transition: background .3s;
}
@media (hover: hover) {
  .m-btnFill {
    transition: background .3s, color .3s, text-shadow .3s;
  }
  .m-btnFill:hover {
    background: #fff;
    color: var(--color-main);
  }
  .m-btnFill:hover::after {
    background-image: url("../image/common/arrow_link-blue.svg");
  }
}

.m-secTtl {
  color: var(--color-main);
  font-weight: 700;
  font-size: 35px;
  line-height: calc(38 / 28);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .m-secTtl {
    font-size: 28px;
  }
}

.m-bg-lightBlue {
  background: var(--color-lightBlue);
}

.m-catNav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px 15px;
}
@media screen and (max-width: 767px) {
  .m-catNav__list {
    gap: 8px;
  }
}
.m-catNav__list a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: calc(10 / 16 * 1em) calc(29 / 16 * 1em) calc(12 / 16 * 1em);
  border: 1px solid #B2B2B2;
  border-radius: 3px;
  font-size: 16px;
  font-weight: 700;
  line-height: calc(18 / 16);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .m-catNav__list a {
    height: 32px;
    padding: 0 14px;
    font-size: 13px;
  }
}
.m-catNav__list a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #21458C 0%, #0089DF 100%);
  border-radius: 3px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: .2s;
}
@media (hover: hover) {
  .m-catNav__list a {
    transition: border-color .2s, color .2s;
  }
  .m-catNav__list a:hover {
    border-color: #21458C;
    color: #fff;
  }
  .m-catNav__list a:hover::before {
    opacity: 1;
  }
}
.m-catNav__list .__current a {
  border-color: #21458C;
  color: #fff;
}
.m-catNav__list .__current a::before {
  opacity: 1;
}
.m-catNav--wrap .m-catNav__list {
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .m-catNav--wrap .m-catNav__list {
    justify-content: center;
  }
}

.l-pagination {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .l-pagination {
    margin-top: 40px;
  }
}
.l-pagination .navigation {
  margin: 0;
}
.l-pagination .nav-links {
  display: flex;
  justify-content: center;
}
.l-pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px 8px;
}
.l-pagination ul.page-numbers a,
.l-pagination ul.page-numbers span {
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 40px;
  padding: 0;
  color: var(--color-black);
  font-family: var(--font-inter);
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .l-pagination ul.page-numbers {
    min-width: 16px;
    height: 34px;
  }
}
.l-pagination ul.page-numbers a {
  transition: opacity .3s;
}
@media (hover: hover) {
  .l-pagination ul.page-numbers a {
    transition: opacity 0.3s;
  }
  .l-pagination ul.page-numbers a:hover {
    opacity: 0.6;
  }
}
.l-pagination ul.page-numbers .current {
  color: var(--color-main);
}
.l-pagination li {
  line-height: 1;
}
.l-pagination .prev,
.l-pagination .next {
  width: 40px;
  min-width: 40px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 18px;
}
@media screen and (max-width: 767px) {
  .l-pagination .prev,
  .l-pagination .next {
    width: 34px;
    min-width: 34px;
    background-size: 18px auto;
  }
}
.l-pagination .prev {
  margin-right: 16px;
  background-image: url("../image/common/arrow_pagination-prev.svg");
}
@media screen and (max-width: 767px) {
  .l-pagination .prev {
    margin-right: 8px;
  }
}
.l-pagination .next {
  margin-left: 16px;
  background-image: url("../image/common/arrow_pagination-next.svg");
}
@media screen and (max-width: 767px) {
  .l-pagination .next {
    margin-left: 8px;
  }
}

.m-postNav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0 20px;
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .m-postNav {
    grid-template-columns: 1fr 1fr;
    gap: 16px 12px;
    margin-top: 40px;
  }
}
.m-postNav__prev a {
  display: inline-flex;
  align-items: center;
  gap: 0 8px;
  color: var(--color-main);
  font-size: 14px;
  font-weight: 500;
}
@media (hover: hover) {
  .m-postNav__prev a {
    transition: opacity 0.3s;
  }
  .m-postNav__prev a:hover {
    opacity: 0.7;
  }
}
.m-postNav__prev a::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--color-main);
  border-left: 2px solid var(--color-main);
  transform: rotate(-45deg);
}
.m-postNav__next {
  text-align: right;
}
.m-postNav__next a {
  display: inline-flex;
  align-items: center;
  gap: 0 8px;
  color: var(--color-main);
  font-size: 14px;
  font-weight: 500;
}
@media (hover: hover) {
  .m-postNav__next a {
    transition: opacity 0.3s;
  }
  .m-postNav__next a:hover {
    opacity: 0.7;
  }
}
.m-postNav__next a::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--color-main);
  border-right: 2px solid var(--color-main);
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .m-postNav__back {
    grid-column: 1 / 3;
    order: -1;
  }
}
.m-postNav__back .m-btnFill {
  width: 320px;
  height: 56px;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .m-postNav__back .m-btnFill {
    width: 100%;
    height: 52px;
    font-size: 15px;
  }
}

.m-tel a {
  display: block;
  padding: 30px 20px 24px;
  background: #fff;
  border: 1px solid #37629F;
  border-radius: 10px;
  text-align: center;
}
.m-tel__text {
  color: var(--color-black);
  font-size: 14px;
  line-height: 1.5;
}
.m-tel__text br.__sidebarbr {
  display: none;
}
.m-tel__number {
  color: var(--color-main);
  font-family: var(--font-inter);
  font-size: 26px;
  font-weight: 900;
  line-height: 1.5;
}
.m-tel__numberNum {
  font-size: 32px;
}
.m-tel__note {
  margin-top: 0.2em;
  color: var(--color-red);
  font-size: 14px;
  font-weight: 700;
  line-height: calc(24 / 14);
}

/*@use '../setting/global' as g;*/
/* ========================================
補助的に使用 u-
======================================== */
@media screen and (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}

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

.u-ib {
  display: inline-block !important;
}

.u-text-center {
  text-align: center !important;
}
.u-text-left {
  text-align: left !important;
}
.u-text-right {
  text-align: right !important;
}

.u-weight-100 {
  font-weight: 100 !important;
}

.u-weight-200 {
  font-weight: 200 !important;
}

.u-weight-300 {
  font-weight: 300 !important;
}

.u-weight-400 {
  font-weight: 400 !important;
}

.u-weight-500 {
  font-weight: 500 !important;
}

.u-weight-600 {
  font-weight: 600 !important;
}

.u-weight-700 {
  font-weight: 700 !important;
}

.u-weight-800 {
  font-weight: 800 !important;
}

.u-weight-900 {
  font-weight: 900 !important;
}

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

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

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

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

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

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

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

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

.u-mt-45 {
  margin-top: 45px !important;
}

.u-mt-50 {
  margin-top: 50px !important;
}

.u-mt-55 {
  margin-top: 55px !important;
}

.u-mt-60 {
  margin-top: 60px !important;
}

.u-mt-65 {
  margin-top: 65px !important;
}

.u-mt-70 {
  margin-top: 70px !important;
}

.u-mt-75 {
  margin-top: 75px !important;
}

.u-mt-80 {
  margin-top: 80px !important;
}

.u-mt-85 {
  margin-top: 85px !important;
}

.u-mt-90 {
  margin-top: 90px !important;
}

.u-mt-95 {
  margin-top: 95px !important;
}

.u-mt-100 {
  margin-top: 100px !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-mb-85 {
  margin-bottom: 85px !important;
}

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

.u-mb-95 {
  margin-bottom: 95px !important;
}

.u-mb-100 {
  margin-bottom: 100px !important;
}

/*@use '../setting/global'as g;*/
/* ========================================
ブロックエディタ用スタイル is-style-
======================================== */
.is-style-ttl-blue {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
  color: var(--color-main) !important;
  font-size: 35px !important;
  font-weight: 700 !important;
  line-height: calc(38 / 28) !important;
  letter-spacing: 0.1em !important;
  text-align: center !important;
}
@media screen and (max-width: 767px) {
  .is-style-ttl-blue {
    font-size: 28px !important;
  }
}

.is-style-card {
  gap: 60px calc(80 / 1200 * 100%);
}
@media screen and (max-width: 767px) {
  .is-style-card {
    gap: 28px;
  }
}
.is-style-card .wp-block-column {
  padding: 35px 39px;
  border: 1px solid #B2B2B2;
  border-radius: 15px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .is-style-card .wp-block-column {
    padding: 19px calc(19 / 402 * 100vw);
    border-radius: 12px;
  }
}
.is-style-card .wp-block-image img {
  width: 100%;
}

.wp-block-spacer.is-style-s120 {
  height: 120px !important;
}
@media screen and (max-width: 767px) {
  .wp-block-spacer.is-style-s120 {
    height: 80px !important;
  }
}

.wp-block-spacer.is-style-s80 {
  height: 80px !important;
}
@media screen and (max-width: 767px) {
  .wp-block-spacer.is-style-s80 {
    height: 40px !important;
  }
}

.wp-block-spacer.is-style-s60 {
  height: 60px !important;
}
@media screen and (max-width: 767px) {
  .wp-block-spacer.is-style-s60 {
    height: 30px !important;
  }
}

/*@use '../setting/global'as g;*/
/* ========================================
header
======================================== */
.header {
  border-top: 5px solid #0580D3;
}
@media screen and (max-width: 767px) {
  .header {
    width: 100%;
    background: #fff;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-index-header);
  }
}
.header__inner {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .header__inner {
    max-width: var(--headerInner-maxWidth);
    width: var(--headerInner-width);
    height: calc(var(--headerHeight-pc) - 5px);
  }
}
@media screen and (max-width: 767px) {
  .header__inner {
    height: calc(var(--headerHeight-sp) - 5px);
  }
}
.header__logo {
  width: min(calc((253 * 0.6) / 768 * 100vw), 253px);
  margin-right: min(calc((142 * 0.2) / 768 * 100vw), 142px);
}
@media screen and (max-width: 767px) {
  .header__logo {
    width: 180px;
    margin-right: 0;
  }
}
@media (hover: hover) {
  .header__logo a {
    transition: opacity 0.3s;
  }
  .header__logo a:hover {
    opacity: 0.7;
  }
}
.header__contact {
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .header__contact {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .header__contact .m-btnContact {
    width: min(calc((312 * 0.5) / 768 * 100vw), 312px);
    height: min(calc((49 * 0.5) / 768 * 100vw), 49px);
    gap: 0 min(calc((10 * 0.5) / 768 * 100vw), 10px);
    font-size: min(calc((18 * 0.5) / 768 * 100vw), 18px);
  }
  .header__contact .m-btnContact::before {
    width: min(calc((24 * 0.5) / 768 * 100vw), 24px);
    height: min(calc((18 * 0.5) / 768 * 100vw), 18px);
  }
  .header__contact .m-btnContact::after {
    width: min(calc((14 * 0.5) / 768 * 100vw), 14px);
    height: min(calc((14 * 0.5) / 768 * 100vw), 14px);
  }
}

@media screen and (max-width: 767px) {
  .nav {
    width: 100%;
    height: calc(100vh - var(--headerHeight-sp));
    background: #fff;
    padding-bottom: 40px;
    position: fixed;
    top: var(--headerHeight-sp);
    left: 0;
    z-index: var(--z-index-nav);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity .3s, visibility .3s, transform .3s;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .nav::-webkit-scrollbar {
    display: none;
  }
  .is-menuActive .nav {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}
.nav__primary {
  display: flex;
  align-items: center;
  gap: 0 min(calc((19 * 0.5) / 768 * 100vw), 19px);
  margin-top: -2px;
}
@media screen and (max-width: 767px) {
  .nav__primary {
    display: block;
    margin-top: 0;
    border-top: 1px solid #E7E7E7;
  }
  .nav__primary li {
    border-bottom: 1px solid #E7E7E7;
  }
}
.nav__primary a {
  display: flex;
  align-items: center;
  gap: 0 min(calc((7 * 0.5) / 768 * 100vw), 7px);
  padding: 10px 0;
  font-size: min(calc((19 * 0.6) / 768 * 100vw), 19px);
  font-weight: 700;
  line-height: 1.3;
}
@media (hover: hover) {
  .nav__primary a {
    transition: opacity 0.3s;
  }
  .nav__primary a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .nav__primary a {
    min-height: 60px;
    gap: 0 7px;
    padding: 0 var(--mg-sp);
    font-size: 19px;
  }
}
.nav__primary a::before {
  content: "";
  display: block;
  width: min(calc((12 * 0.6) / 768 * 100vw), 12px);
  height: min(calc((12 * 0.6) / 768 * 100vw), 12px);
  background: var(--color-main);
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .nav__primary a::before {
    width: 12px;
    height: 12px;
  }
}
.nav__contact {
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .nav__tel {
    margin-top: 25px;
  }
}

.menuBtn {
  display: none;
}

@media screen and (max-width: 767px) {
  .menuBtn {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin-left: auto;
    background: transparent;
    position: relative;
    z-index: 1002;
  }
  .menuBtn span {
    display: block;
    width: 28px;
    height: 2px;
    background: #000;
    position: absolute;
    left: 9px;
    transition: transform .25s, opacity .25s;
  }
  .menuBtn span:nth-child(1) {
    top: 14px;
  }
  .menuBtn span:nth-child(2) {
    top: 22px;
  }
  .menuBtn span:nth-child(3) {
    top: 30px;
  }
  .is-menuActive .menuBtn span:nth-child(1) {
    top: 22px;
    transform: rotate(45deg);
  }
  .is-menuActive .menuBtn span:nth-child(2) {
    opacity: 0;
  }
  .is-menuActive .menuBtn span:nth-child(3) {
    top: 22px;
    transform: rotate(-45deg);
  }
}
/*@use '../setting/global'as g;*/
/* ========================================
footer
======================================== */
.footer {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .footer {
    margin-top: 80px;
  }
}

.footerContact {
  padding: 120px 0;
  background: url("../image/common/footer_bg.png") center/768px auto no-repeat, linear-gradient(95deg, #234794 1.11%, #0F88D9 100%);
}
@media screen and (max-width: 767px) {
  .footerContact {
    padding: 74px 0 80px;
  }
}
.footerContact__mainTtl {
  color: #fff;
}
.footerContact__body {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 0;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .footerContact__body {
    display: block;
    margin-top: 40px;
  }
}
.footerContact__tel {
  width: calc(600 / 1200 * 100%);
}
@media screen and (max-width: 767px) {
  .footerContact__tel {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .footerContact__tel .m-tel__text {
    font-size: min(calc((20 * 0.6) / 768 * 100vw), 20px);
  }
  .footerContact__tel .m-tel__number {
    font-size: min(calc((42 * 0.6) / 768 * 100vw), 42px);
  }
  .footerContact__tel .m-tel__numberNum {
    font-size: min(calc((54 * 0.6) / 768 * 100vw), 54px);
  }
  .footerContact__tel .m-tel__note {
    margin-top: 0;
    font-size: min(calc(13 / 768 * 100vw), 16px);
  }
}
.footerContact__mail {
  width: calc(540 / 1200 * 100%);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .footerContact__mail {
    width: 100%;
    margin-top: 60px;
  }
}
.footerContact__mailText {
  width: 100%;
  color: #fff;
  font-size: min(calc((25 * 0.6) / 768 * 100vw), 25px);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  position: absolute;
  left: 0;
  bottom: calc(100% + 8px);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .footerContact__mailText {
    font-size: min(calc(16 / 402 * 100vw), 16px);
  }
}
@media screen and (min-width: 768px) {
  .footerContact__link .m-btnContact {
    height: min(calc((113 * 0.6) / 768 * 100vw), 113px);
    gap: 0 10px;
    font-size: min(calc((25 * 0.6) / 768 * 100vw), 25px);
  }
  .footerContact__link .m-btnContact::before {
    width: min(calc((45 * 0.6) / 768 * 100vw), 45px);
    height: min(calc((30 * 0.6) / 768 * 100vw), 30px);
  }
  .footerContact__link .m-btnContact::after {
    width: min(calc((21 * 0.6) / 768 * 100vw), 21px);
    height: min(calc((21 * 0.6) / 768 * 100vw), 21px);
  }
}

.footerMain {
  background: #424242;
  padding: 125px 0 110px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .footerMain {
    padding: 64px 0 80px;
  }
}
.footerMain__inner {
  display: grid;
  grid-template-columns: 1fr min(calc(455 / 1200 * 100%), 300px);
  grid-template-rows: 1fr auto;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .footerMain__inner {
    display: block;
  }
}
.footerMain__logo {
  width: min(calc((433 * 0.6) / 768 * 100vw), 433px);
}
@media screen and (max-width: 767px) {
  .footerMain__logo {
    width: 247px;
  }
}
@media (hover: hover) {
  .footerMain__logo a {
    transition: opacity 0.3s;
  }
  .footerMain__logo a:hover {
    opacity: 0.7;
  }
}
.footerMain__logo img {
  width: 100%;
}
.footerMain__nav {
  grid-column: 2 / 3;
  grid-row: 1 / span 2;
  margin-top: 6px;
}
.footerMain__navList {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(6, auto);
  grid-auto-columns: max-content;
  justify-content: space-between;
  gap: 22px 0;
  margin-top: -0.7em;
}
@media screen and (max-width: 767px) {
  .footerMain__navList {
    justify-content: flex-start;
    gap: 12px min(calc(64 / 402 * 100vw), 64px);
    margin-top: 45px;
  }
}
.footerMain__navList a {
  color: #fff;
  font-size: min(calc(14 / 768 * 100vw), 16px);
  line-height: 1.5;
}
@media (hover: hover) {
  .footerMain__navList a {
    transition: opacity 0.3s;
  }
  .footerMain__navList a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .footerMain__navList a {
    font-size: 16px;
  }
}
.footerMain__info {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .footerMain__info {
    margin-top: 54px;
  }
}
.footerMain__privacy {
  width: min(calc((90 * 0.6) / 768 * 100vw), 90px);
}
@media screen and (max-width: 767px) {
  .footerMain__privacy {
    width: 90px;
  }
}
@media (hover: hover) {
  .footerMain__privacy a {
    transition: opacity 0.3s;
  }
  .footerMain__privacy a:hover {
    opacity: 0.7;
  }
}
.footerMain__privacy img {
  width: 100%;
}
.footerMain__subNav {
  display: flex;
  gap: 0 40px;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .footerMain__subNav {
    margin-top: 40px;
  }
}
.footerMain__subNav a {
  color: #fff;
  font-size: min(calc(14 / 768 * 100vw), 16px);
  line-height: 1.5;
}
@media (hover: hover) {
  .footerMain__subNav a {
    transition: opacity 0.3s;
  }
  .footerMain__subNav a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .footerMain__subNav a {
    font-size: 16px;
  }
}
.footerMain__footBox {
  padding-right: 40px;
  margin-top: 24px;
  font-size: 13px;
  line-height: 1.5;
}
.footerMain__notes {
  padding-left: 1em;
  text-indent: -1em;
}
.footerMain__copyright {
  margin-top: 5px;
  display: block;
  font-size: 1em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .footerMain__copyright {
    margin-top: 20px;
  }
}

/*@use '../setting/global'as g;*/
/* ========================================
サイドバー
======================================== */
.sidebar {
  --sidebar-rule-color: #D6D6D6;
}
.sidebar__contact {
  padding: 22px min(calc((18 * 0.6) / 768 * 100vw), 18px) 26px;
  background: linear-gradient(180deg, #234794 0%, #0F88D9 100%);
  border-radius: 10px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .sidebar__contact {
    display: none;
  }
}
.sidebar__contactTtl {
  font-size: min(calc(16 / 768 * 100vw), 25px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.sidebar__contactBtn {
  margin-top: 14px;
}
.sidebar__contactBtn .m-btnContact {
  height: 49px;
  font-size: min(calc((18 * 0.65) / 768 * 100vw), 18px);
}
.sidebar__contactBtn .m-btnContact::before {
  width: min(calc((25 * 0.6) / 768 * 100vw), 25px);
  height: min(calc((17 * 0.6) / 768 * 100vw), 17px);
}
.sidebar__contactBtn .m-btnContact::after {
  width: min(calc((12 * 0.6) / 768 * 100vw), 12px);
  height: min(calc((12 * 0.6) / 768 * 100vw), 12px);
}
.sidebar__contactTel {
  margin-top: 14px;
}
.sidebar__contactTel a {
  padding-left: 8px;
  padding-right: 8px;
}
.sidebar__contactTel .m-tel__number,
.sidebar__contactTel .m-tel__numberNum {
  font-size: min(calc(20 / 768 * 100vw), 30px);
}
.sidebar__contactTel .m-tel__text {
  font-size: min(calc((16 * 0.7) / 768 * 100vw), 16px);
}
.sidebar__contactTel .m-tel__text br.__sidebarbr {
  display: inline;
}
.sidebar__contactTel .m-tel__note {
  font-size: min(calc((14 * 0.6) / 768 * 100vw), 14px);
}
.sidebar__bnr {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .sidebar__bnr {
    display: none;
  }
}
.sidebar__bnr a {
  display: block;
}
@media (hover: hover) {
  .sidebar__bnr a {
    transition: opacity 0.3s;
  }
  .sidebar__bnr a:hover {
    opacity: 0.7;
  }
}
.sidebar__bnr img {
  filter: drop-shadow(0 14px 14px 0 rgba(35, 71, 148, 0.17));
}
.sidebar__block {
  margin-top: 56px;
}
.sidebar__block + .sidebar__block {
  margin-top: 82px;
}
@media screen and (max-width: 767px) {
  .sidebar__block {
    margin-top: 42px;
  }
  .sidebar__block + .sidebar__block {
    margin-top: 54px;
  }
}
.sidebar__blockTtl {
  padding-bottom: 22px;
  border-bottom: 1px solid var(--color-main);
  font-size: min(calc((18 * 0.8) / 768 * 100vw), 18px);
  font-weight: 700;
  line-height: calc(38 / 27);
}
@media screen and (max-width: 767px) {
  .sidebar__blockTtl {
    padding-bottom: 15px;
    font-size: 22px;
    line-height: calc(31 / 22);
  }
}
.sidebar__pickupList {
  margin-top: 20px;
}
.sidebar__pickupList li + li {
  margin-top: 18px;
}
.sidebar__pickupList a {
  aspect-ratio: 370 / 233;
  display: block;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
@media (hover: hover) {
  .sidebar__pickupList a {
    transition: opacity 0.3s;
  }
  .sidebar__pickupList a:hover {
    opacity: 0.7;
  }
}
.sidebar__pickupList a::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #000000;
  opacity: 0.1;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
}
.sidebar__pickupImg {
  width: 100%;
  height: 100%;
}
.sidebar__pickupImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sidebar__pickupTtl {
  width: 100%;
  height: 100%;
  padding: 20px;
  color: #fff;
  font-size: min(calc((16 * 0.85) / 768 * 100vw), 16px);
  font-weight: 700;
  line-height: 1.5;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .sidebar__pickupTtl {
    font-size: 16px;
    line-height: calc(25 / 16);
  }
}
.sidebar__informationList {
  margin-top: 16px;
}
.sidebar__informationList li {
  border-bottom: 1px dashed var(--sidebar-rule-color);
}
.sidebar__informationList a {
  display: block;
  padding: 18px 8px 19px 10px;
}
@media (hover: hover) {
  .sidebar__informationList a {
    transition: opacity 0.3s;
  }
  .sidebar__informationList a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .sidebar__informationList a {
    padding: 16px 0;
  }
}
.sidebar__informationListMeta {
  gap: 8px 10px;
}
.sidebar__informationListDay {
  display: block;
  color: var(--color-main);
  font-family: var(--font-inter);
  font-size: min(calc((15 * 0.9) / 768 * 100vw), 15px);
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .sidebar__informationListDay {
    font-size: 13px;
  }
}
.sidebar__informationListCat {
  height: 24px;
  padding: 2px 12px;
  font-size: 12px;
}
.sidebar__informationListTtl {
  margin-top: 12px;
  font-size: min(calc((18 * 0.85) / 768 * 100vw), 18px);
  font-weight: 500;
  line-height: calc(30 / 18);
}
@media screen and (max-width: 767px) {
  .sidebar__informationListTtl {
    font-size: 15px;
    line-height: calc(26 / 15);
  }
}
.sidebar__catList {
  margin-top: 16px;
}
.sidebar__catList li {
  border-bottom: 1px dashed var(--sidebar-rule-color);
}
.sidebar__catList a {
  display: flex;
  align-items: center;
  gap: 0 20px;
  padding: 20px 64px 20px 10px;
  font-size: min(calc((16 * 0.7) / 768 * 100vw), 16px);
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}
@media (hover: hover) {
  .sidebar__catList a {
    transition: opacity 0.3s;
  }
  .sidebar__catList a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .sidebar__catList a {
    font-size: 16px;
  }
}
.sidebar__catList a::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url(../image/common/arrow_link-blue.svg) center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 44px;
  transform: translateY(-50%);
  transition: transform .3s;
}
@media (hover: hover) {
  .sidebar__catList a:hover::after {
    transform: translate(10px, -50%);
  }
}

/*@use '../setting/global' as g;*/
/* ========================================
メニュー
======================================== */
/*@use '../setting/global'as g;*/
/* ========================================
共通で使うレイアウト l-
======================================== */
.wrap {
  overflow: hidden;
}

/* パンくずリスト */
.l-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  color: #4F4F4F;
  font-size: 14px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .l-breadcrumb ol {
    gap: 0px min(calc(15 / 402 * 100vw), 15px);
  }
}
.l-breadcrumb li {
  display: flex;
  align-items: center;
  gap: 0 8px;
}
@media screen and (max-width: 767px) {
  .l-breadcrumb li {
    gap: 0 min(calc(15 / 402 * 100vw), 15px);
  }
}
.l-breadcrumb li:not(:last-of-type)::after {
  content: "";
  display: block;
  width: 5px;
  height: 7px;
  background: url(../image/common/breadcrumb_arrow.svg) center/auto no-repeat;
}
.l-breadcrumb li:last-of-type {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-break: break-all;
}
.l-breadcrumb a {
  color: #3DAEF0;
}
@media (hover: hover) {
  .l-breadcrumb a {
    transition: opacity 0.3s;
  }
  .l-breadcrumb a:hover {
    opacity: 0.7;
  }
}
.l-pageHead .l-breadcrumb {
  width: 100%;
  position: absolute;
  top: 8px;
  left: 0;
  z-index: 1;
}

/* 下層ページのヘッダー直下のタイトル領域 */
.l-pageHead {
  background: url(../image/common/bg_symbol.png) no-repeat right 4vw bottom 28%/auto, linear-gradient(#EAF7FE 0%, rgba(255, 255, 255, 0) 100%);
}
@media screen and (max-width: 1024px) {
  .l-pageHead {
    background-position: right -20vw bottom 28%;
  }
}
@media screen and (max-width: 767px) {
  .l-pageHead {
    background: linear-gradient(#EAF7FE 0%, rgba(255, 255, 255, 0) 100%);
  }
}
.l-pageHead__inner {
  display: flex;
  align-items: center;
  height: 300px;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .l-pageHead__inner {
    max-width: var(--headerInner-maxWidth);
    width: var(--headerInner-width);
  }
}
@media screen and (max-width: 767px) {
  .l-pageHead__inner {
    justify-content: center;
    align-items: flex-end;
    height: 193px;
    padding-bottom: 12px;
  }
}
.l-pageHead__mainTtl {
  display: flex;
  align-items: center;
  gap: 10px 24px;
  padding: 0 calc(300 / 1980 * 100vw);
  color: var(--color-main);
  font-size: min(calc((40 * 0.8) / 768 * 100vw), 40px);
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1.36;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .l-pageHead__mainTtl {
    padding: 0 calc(80 / 1024 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .l-pageHead__mainTtl {
    width: 100%;
    flex-direction: column;
    padding: 0;
    font-size: 36px;
    text-align: center;
  }
}
.l-pageHead__mainTtl::before {
  content: "";
  display: block;
  width: min(calc((64 * 0.8) / 768 * 100vw), 64px);
  height: min(calc((58 * 0.8) / 768 * 100vw), 58px);
  background: url(../image/common/icon_symbol.svg) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .l-pageHead__mainTtl::before {
    width: 37px;
    height: 34px;
  }
}
.l-pageHead__mainTtl-cat {
  display: block;
  font-size: 0.5em;
  position: absolute;
  left: calc((300 / 1980 * 100vw) + min(calc((64 * 0.8) / 768 * 100vw), 64px) + 24px);
  top: 100%;
}
@media screen and (max-width: 1024px) {
  .l-pageHead__mainTtl-cat {
    left: calc((80 / 1024 * 100vw) + min(calc((64 * 0.8) / 768 * 100vw), 64px) + 24px);
  }
}
@media screen and (max-width: 767px) {
  .l-pageHead__mainTtl-cat {
    width: 100%;
    left: 0;
    text-align: center;
  }
}

/* 2カラムレイアウト */
.l-contents {
  display: grid;
  grid-template-columns: calc(780 / 1200 * 100%) 1fr;
  column-gap: calc(52 / 1200 * 100%);
  margin-top: 60px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .l-contents {
    display: block;
    margin-top: 90px;
    padding-bottom: 80px;
  }
}
.l-contents__main {
  min-width: 0;
}
.l-contents__side {
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .l-contents__side {
    margin-top: 60px;
  }
}

.l-caseList--col3 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px calc((1200 - 368 * 3) / 2 / 1200 * 100%);
}
@media screen and (max-width: 1024px) {
  .l-caseList--col3 {
    justify-content: space-between;
    gap: 32px 0;
  }
}
@media screen and (max-width: 767px) {
  .l-caseList--col3 {
    gap: 20px 0;
  }
}
.l-caseList--col3 .l-caseList__item {
  width: calc(368 / 1200 * 100%);
  gap: 20px 0;
}
@media screen and (max-width: 1024px) {
  .l-caseList--col3 .l-caseList__item {
    width: 48%;
  }
}
@media screen and (max-width: 767px) {
  .l-caseList--col3 .l-caseList__item {
    width: 100%;
  }
}
.l-caseList__item a {
  display: block;
  height: 100%;
  padding: 29px min(calc((29 * 0.6) / 768 * 100vw), 29px) 30px;
  border-radius: 20px;
  border: 1px solid #B2B2B2;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .l-caseList__item a {
    padding: 19px calc(25 / 402 * 100vw);
  }
}
@media (hover: hover) {
  .l-caseList__item a:hover .l-caseList__img img {
    transform: scale(1.05);
  }
}
.l-caseList__img {
  aspect-ratio: 308 / 196;
  overflow: hidden;
}
.l-caseList__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .3s;
}
.l-caseList__ttl {
  margin-top: 1em;
  color: var(--color-main);
  font-size: 20px;
  font-weight: 700;
  line-height: calc(27 / 20);
}
.l-caseList__cat {
  margin-top: 20px;
}
.l-caseList__cat dl {
  display: flex;
  align-items: flex-start;
  gap: 0 13px;
}
.l-caseList__cat dl + dl {
  margin-top: 14px;
}
.l-caseList__cat dt {
  padding: .4em .8em;
  min-width: 68px;
  background: #4F6CA9;
  border-radius: 3px;
  color: #fff;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
.l-caseList__cat dd {
  flex: 1;
  font-size: 16px;
  line-height: 1.2;
}
.l-caseList__desc {
  margin-top: 1.2em;
  font-size: 16px;
  line-height: calc(31 / 16);
}

.l-functionList {
  display: flex;
  flex-wrap: wrap;
  gap: 40px calc((1200 - 270 * 4) / 3 / 1200 * 100%);
}
@media screen and (max-width: 767px) {
  .l-functionList {
    justify-content: space-between;
    gap: 20px 0;
  }
}
.l-functionList__item {
  width: calc(270 / 1200 * 100%);
}
@media screen and (max-width: 767px) {
  .l-functionList__item {
    width: calc(176 / 362 * 100%);
  }
}
.l-functionList__item a {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 35px 13px;
  border-radius: 15px;
  background: #F4F4F4;
}
@media screen and (max-width: 767px) {
  .l-functionList__item a {
    padding: 27px calc(18 / 402 * 100vw) 22px;
  }
}
.l-functionList__item a > * {
  width: 100%;
}
@media (hover: hover) {
  .l-functionList__item a:hover .l-functionList__img img {
    transform: scale(1.05);
  }
}
.l-functionList__img {
  aspect-ratio: 244 / 90;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .l-functionList__img {
    width: 120% !important;
    margin-left: -10%;
  }
}
.l-functionList__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: .3s;
  position: absolute;
  top: 0;
  left: 0;
}
.l-functionList__ttl {
  margin-top: 1.5em;
  font-size: 18px;
  font-weight: 700;
  line-height: calc(22 / 16);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-functionList__ttl {
    font-size: 16px;
  }
}
.l-functionList__desc {
  margin-top: 1em;
  font-size: 14px;
  line-height: calc(22 / 14);
  /* 157.143% */
}
@media screen and (max-width: 767px) {
  .l-functionList__desc {
    margin-top: 1.1em;
  }
}
.l-functionList__cat {
  margin-top: auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 12px 12px;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .l-functionList__cat {
    margin-top: 26px;
  }
}
.l-functionList__catFill, .l-functionList__catBorder {
  min-width: 50px;
  padding: .3em .4em;
  border: 1px solid rgba(33, 69, 140, 0.8);
  border-radius: 3px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
.l-functionList__catFill {
  background: rgba(33, 69, 140, 0.8);
  color: #FFF;
}
.l-functionList__catBorder {
  background: #fff;
  color: rgba(33, 69, 140, 0.8);
}

/* 料金表 */
.l-priceTable {
  max-width: 975px;
  margin-left: auto;
  margin-right: auto;
  overflow-x: auto;
}
@media screen and (max-width: 767px) {
  .l-priceTable {
    max-width: 780px;
  }
}
.l-priceTable table {
  width: 975px;
  table-layout: fixed;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-priceTable table {
    width: 780px;
  }
}
.l-priceTable table th,
.l-priceTable table td {
  vertical-align: middle;
}
.l-priceTable table thead th {
  height: 92px;
  padding: 6px 4px;
  background: #BFBFBF;
  border-radius: 16px 16px 0 0;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: calc(31 / 24);
}
@media screen and (max-width: 767px) {
  .l-priceTable table thead th {
    height: 72px;
    font-size: 19px;
  }
}
.l-priceTable table thead th.--blue {
  background: #3DAEF0;
}
.l-priceTable table thead th.--darkblue {
  background: var(--color-main);
}
.l-priceTable table thead:has(th:nth-child(1).--blue) ~ tbody td:nth-child(1) {
  background: #EAFBFC;
}
.l-priceTable table thead:has(th:nth-child(1).--darkblue) ~ tbody td:nth-child(1) {
  background: #E6F0FF;
}
.l-priceTable table thead:has(th:nth-child(2).--blue) ~ tbody td:nth-child(2) {
  background: #EAFBFC;
}
.l-priceTable table thead:has(th:nth-child(2).--darkblue) ~ tbody td:nth-child(2) {
  background: #E6F0FF;
}
.l-priceTable table thead:has(th:nth-child(3).--blue) ~ tbody td:nth-child(3) {
  background: #EAFBFC;
}
.l-priceTable table thead:has(th:nth-child(3).--darkblue) ~ tbody td:nth-child(3) {
  background: #E6F0FF;
}
.l-priceTable table thead:has(th:nth-child(4).--blue) ~ tbody td:nth-child(4) {
  background: #EAFBFC;
}
.l-priceTable table thead:has(th:nth-child(4).--darkblue) ~ tbody td:nth-child(4) {
  background: #E6F0FF;
}
.l-priceTable table thead:has(th:nth-child(5).--blue) ~ tbody td:nth-child(5) {
  background: #EAFBFC;
}
.l-priceTable table thead:has(th:nth-child(5).--darkblue) ~ tbody td:nth-child(5) {
  background: #E6F0FF;
}
.l-priceTable table thead:has(th:nth-child(6).--blue) ~ tbody td:nth-child(6) {
  background: #EAFBFC;
}
.l-priceTable table thead:has(th:nth-child(6).--darkblue) ~ tbody td:nth-child(6) {
  background: #E6F0FF;
}
.l-priceTable table tbody th {
  width: 180px;
  padding: 24px 12px;
  background: var(--color-main);
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.45;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-priceTable table tbody th {
    width: 146px;
    font-size: 12px;
  }
}
.l-priceTable table tbody tr:not(:last-child) th::after {
  content: "";
  display: block;
  height: 1px;
  background: rgba(255, 255, 255, 0.75);
  position: absolute;
  right: 12px;
  bottom: 0;
  left: 12px;
  z-index: 1;
}
.l-priceTable table tbody tr:first-child th {
  border-radius: 16px 0 0 0;
}
.l-priceTable table tbody tr:last-child th {
  border-radius: 0 0 0 16px;
}
.l-priceTable table tbody td {
  height: 90px;
  padding: 16px 12px;
  background: #F7F7F7;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-priceTable table tbody td {
    height: 64px;
  }
}
.l-priceTable table tbody tr:not(:last-child) td::after {
  content: "";
  display: block;
  height: 1px;
  background: var(--color-main);
  position: absolute;
  right: 12px;
  bottom: 0;
  left: 12px;
  z-index: 1;
}
.l-priceTable table tbody tr:last-child td {
  height: 104px;
}
@media screen and (max-width: 767px) {
  .l-priceTable table tbody tr:last-child td {
    height: 64px;
  }
}
.l-priceTable table tbody tr:first-child td {
  padding: 12px;
}
.l-priceTable__blank {
  width: 180px;
  background: transparent !important;
  border-radius: 0 !important;
}
.l-priceTable__monthly td .l-priceTable__main {
  min-height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  line-height: 1;
  color: var(--color-main);
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .l-priceTable__monthly td .l-priceTable__main {
    min-height: 60px;
    font-size: 24px;
  }
}
.l-priceTable__monthly td .__unit {
  font-size: calc(20 / 30 * 1em);
  transform: translateY(20%);
}
@media screen and (max-width: 767px) {
  .l-priceTable__monthly td .__unit {
    font-size: 16px;
  }
}
.l-priceTable__monthly td .__tax {
  font-size: calc(15 / 30 * 1em);
  transform: translateY(30%);
}
@media screen and (max-width: 767px) {
  .l-priceTable__monthly td .__tax {
    font-size: 12px;
  }
}
.l-priceTable__main {
  display: block;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  .l-priceTable__main {
    font-size: 17px;
  }
}
.l-priceTable__main .__tax {
  font-size: calc(15 / 21 * 1em);
  vertical-align: baseline;
}
@media screen and (max-width: 767px) {
  .l-priceTable__main .__tax {
    font-size: 12px;
  }
}
.l-priceTable__main .__unit {
  font-size: calc(16 / 21 * 1em);
}
@media screen and (max-width: 767px) {
  .l-priceTable__main .__unit {
    font-size: 13px;
  }
}
.l-priceTable__main sup {
  font-size: .5em;
  vertical-align: baseline;
}
@media screen and (max-width: 767px) {
  .l-priceTable__main sup {
    font-size: 10px;
  }
}
.l-priceTable__sub {
  display: block;
  margin-top: 5px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
}
@media screen and (max-width: 767px) {
  .l-priceTable__sub {
    font-size: 11px;
  }
}
.l-priceTable__symbol {
  display: block;
  font-family: var(--font-inter);
  font-size: 64px;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .l-priceTable__symbol {
    font-size: 51px;
    line-height: 40px;
  }
}
.l-priceTable__symbol.--maru {
  font-size: 38px;
  font-weight: 800;
}
@media screen and (max-width: 767px) {
  .l-priceTable__symbol.--maru {
    font-size: 30px;
  }
}

/* 料金備考（青背景） */
.l-priceNotice {
  margin-top: 80px;
  padding: 25px 38px 18px;
  background: var(--color-lightBlue);
  font-size: 16px;
  font-weight: 500;
  line-height: calc(29 / 16);
}
@media screen and (max-width: 767px) {
  .l-priceNotice {
    margin-top: 20px;
    padding: 37px 14px 22px;
    font-size: 14px;
    line-height: calc(29 / 14);
  }
}
.l-priceNotice li {
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 767px) {
  .l-priceNotice li + li {
    margin-top: .7em;
  }
}

/* 料金注釈 */
.l-priceNotes {
  margin-top: 38px;
  font-size: 14px;
  font-weight: 500;
  line-height: calc(34 / 14);
}
@media screen and (max-width: 767px) {
  .l-priceNotes {
    margin-top: 20px;
    font-size: 14px;
    line-height: calc(30 / 14);
  }
}
@media screen and (min-width: 768px) {
  .l-priceNotes li {
    padding-left: 1.8em;
    text-indent: -1.8em;
  }
}

/* バナー（動画転送量フォーム等） */
.l-bnrFormcalc {
  margin-top: 80px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-bnrFormcalc {
    margin-top: calc(40 / 402 * 100vw);
  }
}
.l-bnrFormcalc a {
  display: inline-block;
}
@media (hover: hover) {
  .l-bnrFormcalc a {
    transition: opacity 0.3s;
  }
  .l-bnrFormcalc a:hover {
    opacity: 0.7;
  }
}
.l-bnrFormcalc img {
  display: inline-block;
  filter: drop-shadow(0 14px 14px rgba(35, 71, 148, 0.17));
}
@media screen and (max-width: 767px) {
  .l-bnrFormcalc img {
    width: 100%;
  }
}

.l-informationList-col1 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 0;
}
@media screen and (max-width: 767px) {
  .l-informationList-col1 {
    gap: 32px 0;
  }
}
.l-informationList-col1 .l-informationList__item {
  width: 100%;
}
.l-informationList-col2 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px calc((780 - 370 * 2) / 1 / 780 * 100%);
}
@media screen and (max-width: 767px) {
  .l-informationList-col2 {
    gap: 32px 0;
  }
}
.l-informationList-col2 .l-informationList__item {
  width: calc(370 / 780 * 100%);
}
@media screen and (max-width: 767px) {
  .l-informationList-col2 .l-informationList__item {
    width: 100%;
  }
}
.l-informationList__item a {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.l-informationList__item a > * {
  width: 100%;
}
@media (hover: hover) {
  .l-informationList__item a:hover .l-informationList__img img {
    transform: scale(1.05);
  }
}
.l-informationList__img {
  aspect-ratio: 370 / 233;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}
.l-informationList__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .3s;
}
.l-informationList__body {
  flex: 1;
  padding: 30px min(calc((24 * 0.8) / 768 * 100vw)) 20px;
  border: 1px solid #E4E4E4;
}
.l-informationList__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 10px;
}
.l-informationList__day {
  color: var(--color-main);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}
.l-informationList__cat {
  display: grid;
  place-items: center;
  height: 24px;
  padding: 2px 12px;
  border-radius: 12px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.1;
}
.l-informationList__ttl {
  margin-top: 15px;
  font-size: 20px;
  font-weight: 700;
  line-height: calc(32 / 20);
  /* 160% */
}
.l-informationList__desc {
  margin-top: 1.2em;
  font-size: 16px;
  line-height: calc(31 / 16);
}
.l-informationList__body--faq {
  display: flex;
  flex-direction: column;
  border-radius: 20px;
}
.l-informationList__body--faq .schema-faq-section {
  padding: 0;
  background: transparent;
  border-radius: 0;
}

/* シングルページ本文ラッパー（the_content 共通スタイル） */
.l-post > * + *,
.wp-block-group > * + *,
.wp-block-column > * + * {
  margin-block-start: 1.5em;
}

.l-post > * + h2,
.wp-block-group > * + h2,
.wp-block-column > * + h2 {
  margin-block-start: 3em;
}

.l-post {
  margin-top: 50px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .l-post {
    margin-top: 30px;
  }
}
.l-post a {
  color: var(--color-main);
  text-decoration: underline;
}
@media (hover: hover) {
  .l-post a {
    transition: opacity 0.3s;
  }
  .l-post a:hover {
    opacity: 0.7;
  }
}
.l-post p {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .l-post p {
    font-size: 14px;
    line-height: calc(26 / 14);
  }
}
.l-post h2 {
  padding-bottom: 16px;
  border-bottom: 1px solid #555;
  color: var(--color-black);
  font-size: 22px;
  font-weight: 700;
  line-height: calc(32 / 22);
}
@media screen and (max-width: 767px) {
  .l-post h2 {
    padding-bottom: 14px;
    font-size: 18px;
    line-height: calc(28 / 18);
  }
}
.l-post h3 {
  color: var(--color-main);
  font-size: 18px;
  font-weight: 700;
  line-height: calc(28 / 18);
}
@media screen and (max-width: 767px) {
  .l-post h3 {
    font-size: 16px;
    line-height: calc(26 / 16);
  }
}
.l-post h4 {
  color: var(--color-main);
  font-size: 15px;
  font-weight: 700;
  line-height: calc(24 / 15);
}
@media screen and (max-width: 767px) {
  .l-post h4 {
    font-size: 14px;
    line-height: calc(23 / 14);
  }
}
.l-post .wp-block-image {
  text-align: center;
}

/* Yoast FAQブロック（FAQ記事本文・FAQ一覧・トップページFAQで共用のQ&A表示） */
.schema-faq {
  display: flex;
  flex-direction: column;
}

.schema-faq-section {
  padding: 48px 40px 50px 52px;
  background: #fff;
  border-radius: 4px;
}
.schema-faq-section + .schema-faq-section {
  margin-top: 42px;
}
@media screen and (max-width: 767px) {
  .schema-faq-section + .schema-faq-section {
    margin-top: 18px;
  }
}
@media screen and (max-width: 767px) {
  .schema-faq-section {
    padding: 24px calc(19 / 402 * 100vw) 22px;
    border-radius: 0;
  }
}

.schema-faq-question,
.schema-faq-answer {
  display: block;
  position: relative;
  padding-left: 80px;
}
@media screen and (max-width: 767px) {
  .schema-faq-question,
  .schema-faq-answer {
    padding-left: 42px;
  }
}
.schema-faq-question::before,
.schema-faq-answer::before {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--color-main);
  font-family: var(--font-lexend);
  font-size: 27px;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .schema-faq-question::before,
  .schema-faq-answer::before {
    width: 31px;
    height: 31px;
    font-size: 19px;
    transform: none;
  }
}

.schema-faq-question {
  font-size: 20px;
  font-weight: 700;
  line-height: calc(25 / 16);
}
@media screen and (max-width: 767px) {
  .schema-faq-question {
    font-size: 16px;
  }
}
.schema-faq-question::before {
  content: "Q";
  background: var(--color-main);
  color: #fff;
  transform: translateY(-20%);
}
@media screen and (max-width: 767px) {
  .schema-faq-question::before {
    transform: none;
  }
}

.schema-faq-answer {
  margin-top: 32px;
  font-size: 16px;
  line-height: calc(22 / 16);
}
@media screen and (max-width: 767px) {
  .schema-faq-answer {
    margin-top: 16px;
  }
}
.schema-faq-answer::before {
  content: "A";
  color: var(--color-main);
  transform: translateY(-20%);
}
@media screen and (max-width: 767px) {
  .schema-faq-answer::before {
    transform: none;
  }
}

/*@use '../setting/global' as g;*/
/* ========================================
Information・投稿カードのカテゴリ別の色

.l-informationList__cat と同じ要素にカテゴリの「--{スラッグ}」のクラスが付与される
  例: <span class="l-informationList__cat --blog">

デフォルト色（青）は layout/_layout.scss の .l-informationList__cat で定義。
ここでは「デフォルトと違う色にしたいカテゴリ」だけ追記する。
======================================== */
.l-informationList__cat {
  background: var(--color-main);
}
.l-informationList__cat.--blog {
  background: var(--color-accent);
}

/*@use '../setting/global'as g;*/
/* ========================================
トップページ home
======================================== */
@media screen and (max-width: 767px) {
  main {
    overflow: hidden;
  }
}
.p-homeHero {
  position: relative;
  z-index: 1;
}
.p-homeHero__inner {
  display: flex;
  align-items: center;
  max-width: 1600px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-homeHero__inner {
    position: static;
    transform: none;
  }
}
.p-homeHero__body {
  transform: translateY(-15%);
}
@media screen and (max-width: 767px) {
  .p-homeHero__body {
    width: 100%;
    padding-top: min(calc(20 / 402 * 100vw), 20px);
    transform: none;
  }
}
.p-homeHero__body > * {
  animation: p-homeHero-reveal 0.9s cubic-bezier(0.33, 1, 0.68, 1) both;
}
.p-homeHero__body > *:nth-child(1) {
  animation-delay: 0.2s;
}
.p-homeHero__body > *:nth-child(2) {
  animation-delay: 0.3s;
}
.p-homeHero__body > *:nth-child(3) {
  animation-delay: 0.4s;
}
.p-homeHero__title, .p-homeHero__copy {
  text-shadow: 0 0 1em #fff, 0 0 1em #fff, 0 0 1em #fff;
}
.p-homeHero img {
  filter: drop-shadow(0 0 1em #fff) drop-shadow(0 0 1em #fff) drop-shadow(0 0 1em #fff);
}
.p-homeHero__title {
  font-size: min(calc((23 * 0.5) / 768 * 100vw), 23px);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-homeHero__title {
    font-size: min(calc(16 / 402 * 100vw), 16px);
  }
}
.p-homeHero__title img {
  display: block;
  width: min(calc((578 * 0.5) / 768 * 100vw), 578px);
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .p-homeHero__title img {
    width: min(calc(352 / 402 * 100vw), 352px);
    margin-top: min(calc(12 / 402 * 100vw), 12px);
  }
}
.p-homeHero__copy {
  margin-top: 0.3em;
  font-size: min(calc((45 * 0.5) / 768 * 100vw), 45px);
  font-weight: 900;
  line-height: calc(68 / 45);
}
@media screen and (max-width: 767px) {
  .p-homeHero__copy {
    width: calc(100% + var(--mg-sp));
    margin-top: .5em;
    font-size: min(calc(28 / 402 * 100vw), 28px);
    line-height: calc(41 / 28);
  }
}
.p-homeHero__copyLine {
  display: inline-block;
  color: var(--color-main);
  background: linear-gradient(transparent 70%, var(--color-yellow) 70%, var(--color-yellow) 90%, transparent 90%);
  background-repeat: no-repeat;
  background-size: 0 100%;
  animation: p-homeHero-copyLine-draw 0.7s cubic-bezier(0.65, 0, 0.35, 1) 1.2s forwards;
}
.p-homeHero__contact {
  margin-top: min(calc((52 * 0.5) / 768 * 100vw), 52px);
}
@media screen and (max-width: 767px) {
  .p-homeHero__contact {
    width: calc(100% - var(--mg-sp) * 2);
    margin-top: 0;
    position: absolute;
    bottom: -29px;
    left: var(--mg-sp);
    z-index: 2;
  }
}
@media screen and (min-width: 768px) {
  .p-homeHero__contact .m-btnContact {
    width: min(calc((536 * 0.5) / 768 * 100vw), 536px);
    height: min(calc((97 * 0.5) / 768 * 100vw), 97px);
    gap: 0 10px;
    font-size: min(calc((25 * 0.5) / 768 * 100vw), 25px);
  }
  .p-homeHero__contact .m-btnContact::before {
    width: min(calc((44 * 0.5) / 768 * 100vw), 44px);
    height: min(calc((32 * 0.5) / 768 * 100vw), 32px);
  }
  .p-homeHero__contact .m-btnContact::after {
    width: min(calc((22 * 0.5) / 768 * 100vw), 22px);
    height: min(calc((22 * 0.5) / 768 * 100vw), 22px);
  }
}
@media screen and (min-width: 768px) {
  .p-homeHero__contact .m-btnFeatures {
    width: min(calc((536 * 0.5) / 768 * 100vw), 536px);
    height: min(calc((97 * 0.5) / 768 * 100vw), 97px);
    gap: 0 10px;
    font-size: min(calc((25 * 0.5) / 768 * 100vw), 25px);
  }
  .p-homeHero__contact .m-btnFeatures::before {
    width: min(calc((44 * 0.5) / 768 * 100vw), 44px);
    height: min(calc((32 * 0.5) / 768 * 100vw), 32px);
  }
  .p-homeHero__contact .m-btnFeatures::after {
    width: min(calc((22 * 0.5) / 768 * 100vw), 22px);
    height: min(calc((22 * 0.5) / 768 * 100vw), 22px);
  }
}
.p-homeHero__video {
  width: 100%;
  aspect-ratio: 1980 / 820;
  display: block;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-homeHero__video {
    aspect-ratio: 4 / 3;
    margin-top: max(calc(-46 / 402 * 100vw), -46px);
    position: relative;
    z-index: -1;
  }
  .p-homeHero__video::before {
    content: "";
    display: block;
    width: 100%;
    height: calc(200 / 402 * 100vw);
    background-image: linear-gradient(180deg, #FFF 44.75%, transparent 88.25%);
    position: absolute;
    top: calc(-70 / 402 * 100vw);
    left: 0;
    z-index: 2;
    pointer-events: none;
  }
}
.p-homeHero__video video {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
  transform: scale(1.005);
}

@keyframes p-homeHero-reveal {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes p-homeHero-copyLine-draw {
  to {
    background-size: 100% 100%;
  }
}
.p-homeBgBlue {
  background-color: #3DAEF0;
  padding-bottom: 90px;
}
@media screen and (max-width: 767px) {
  .p-homeBgBlue {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}

.p-homeAbout {
  margin-top: calc(-140 / 1980 * 100vw);
  padding: min(calc((118 * 0.6) / 768 * 100vw), 118px) 40px min(calc((122 * 0.6) / 768 * 100vw), 122px);
  max-width: 1600px;
  background: linear-gradient(95deg, #234794 1.11%, #0F88D9 100%);
  border-radius: 50px;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-homeAbout {
    width: calc(100% - var(--mg-sp) * 2);
    margin-top: 0;
    padding: min(calc(58 / 402 * 100vw), 58px) var(--mg-sp) min(calc(60 / 402 * 100vw), 60px);
    border-radius: 26px;
  }
}
.p-homeAbout__title {
  font-size: min(calc((35 * 0.6) / 768 * 100vw), 35px);
  font-weight: 700;
  line-height: 2.1;
}
@media screen and (max-width: 767px) {
  .p-homeAbout__title {
    font-size: min(calc(24 / 402 * 100vw), 24px);
    line-height: calc(35 / 24);
  }
}
.p-homeAbout__title img {
  width: min(calc((479 * 0.6) / 768 * 100vw), 479px);
  vertical-align: top;
  margin-right: 0.3em;
}
@media screen and (max-width: 767px) {
  .p-homeAbout__title img {
    margin-right: 0.1em;
    width: min(calc(236 / 402 * 100vw), 236px);
    vertical-align: middle;
    transform: translateY(-10%);
  }
}
@media screen and (max-width: 767px) {
  .p-homeAbout__titleMin {
    font-size: min(calc(20 / 402 * 100vw), 20px);
  }
}
.p-homeAbout__image {
  margin: 66px auto 0;
  max-width: 1080px;
}
@media screen and (max-width: 767px) {
  .p-homeAbout__image {
    margin-top: calc(20 / 402 * 100vw);
    width: calc(320 / 402 * 100vw);
  }
}
.p-homeAbout__titleLine {
  background: linear-gradient(transparent 75%, var(--color-yellow) 75%, var(--color-yellow) 95%, transparent 95%);
}
.p-homeAbout__desc {
  margin-top: .7em;
  font-size: min(calc(14 / 768 * 100vw), 16px);
  font-weight: 700;
  line-height: calc(37.7 / 16);
}
@media screen and (max-width: 767px) {
  .p-homeAbout__desc {
    margin-top: 1.4em;
    font-size: min(calc(16 / 402 * 100vw), 16px);
    line-height: calc(30.6 / 16);
  }
}

.p-homeCan {
  margin-top: 108px;
}
@media screen and (max-width: 767px) {
  .p-homeCan {
    margin-top: 73px;
  }
}
.p-homeCan__mainTtl {
  color: #fff;
  font-size: 35px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-homeCan__mainTtl {
    font-size: min(calc(23 / 402 * 100vw), 23px);
  }
}
.p-homeCan__mainTtl img {
  width: 281px;
  margin-right: 0.3em;
}
@media screen and (max-width: 767px) {
  .p-homeCan__mainTtl img {
    width: min(calc(191 / 402 * 100vw), 191px);
    margin-right: 0.1em;
    transform: translateY(-4%);
  }
}
.p-homeCan__list {
  margin-top: min(calc((105 * 0.6) / 768 * 100vw), 105px);
}
@media screen and (max-width: 767px) {
  .p-homeCan__list {
    margin-top: 57px;
  }
}
.p-homeCan__list > * {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: min(calc((80 * 0.6) / 768 * 100vw), 80px) 0;
}
@media screen and (max-width: 767px) {
  .p-homeCan__list > * {
    display: block;
  }
}
.p-homeCan__listItem {
  width: calc(580 / 1200 * 100%);
  padding: 26px 26px 48px;
  background: #fff;
  border-radius: 15px;
  box-shadow: 0 15px 9px 0 rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 767px) {
  .p-homeCan__listItem {
    width: 100%;
    padding: 26px calc(19 / 402 * 100vw) 31px;
    border-radius: 15px;
  }
  .p-homeCan__listItem + .p-homeCan__listItem {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-homeCan__listItem .wp-block-image {
    border-radius: 4px;
    overflow: hidden;
  }
}
.p-homeCan__listItem .wp-block-image img {
  width: 100%;
}
.p-homeCan__listItem h3 {
  margin-top: .9em;
  color: var(--color-main);
  font-size: min(calc((27 * 0.8) / 768 * 100vw), 27px);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-homeCan__listItem h3 {
    margin-top: .8em;
    font-size: min(calc(24 / 402 * 100vw), 24px);
    line-height: calc(33 / 24);
  }
}
.p-homeCan__listItem p {
  margin-top: .3em;
  font-size: min(calc(14 / 768 * 100vw), 16px);
  line-height: calc(30 / 16);
  /* 187.5% */
}
@media screen and (max-width: 767px) {
  .p-homeCan__listItem p {
    margin-top: 1.2em;
    font-size: 16px;
    line-height: calac(30/16);
  }
}

.p-homeCase {
  padding: 120px 0 122px;
}
@media screen and (max-width: 767px) {
  .p-homeCase {
    padding: 72px 0 80px;
  }
}
.p-homeCase__mainTtl {
  text-align: center;
}
.p-homeCase__slider {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-homeCase__slider {
    margin-top: 38px;
  }
}
.p-homeCase__link a {
  margin: 80px auto 0;
}
@media screen and (max-width: 767px) {
  .p-homeCase__link a {
    margin-top: 40px;
  }
}

.p-homePrice {
  margin-top: 120px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-homePrice {
    margin-top: 78px;
  }
}
@media screen and (max-width: 767px) {
  .p-homePrice__inner {
    display: flex;
    flex-direction: column;
  }
  .p-homePrice__inner > * {
    width: 100%;
  }
  .p-homePrice__inner .p-homePrice__mainTtl {
    order: -3;
  }
  .p-homePrice__inner .l-priceTable {
    order: -2;
  }
  .p-homePrice__inner .p-homePrice__link {
    order: -1;
  }
}
.p-homePrice .l-priceTable {
  margin-top: 82px;
}
@media screen and (max-width: 767px) {
  .p-homePrice .l-priceTable {
    margin-top: 40px;
  }
}
.p-homePrice__link a {
  margin: 78px auto 0;
}

.p-homeFunction {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-homeFunction {
    margin-top: 158px;
  }
}
.p-homeFunction__list {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-homeFunction__list {
    margin-top: 38px;
  }
}
.p-homeFunction__link a {
  margin: 80px auto 0;
}
@media screen and (max-width: 767px) {
  .p-homeFunction__link a {
    margin-top: 40px;
  }
}

.p-homeStep {
  margin-top: 120px;
  padding: 108px 0 0;
}
@media screen and (max-width: 767px) {
  .p-homeStep {
    margin-top: 80px;
    padding: 72px 0 0;
  }
}
.p-homeStep__list {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-homeStep__list {
    margin-top: 40px;
  }
}
.p-homeStep__list > * {
  display: flex;
  flex-wrap: wrap;
  gap: 40px calc((1200 - 275 * 4) / 3 / 1200 * 100%);
}
@media screen and (max-width: 767px) {
  .p-homeStep__list > * {
    gap: 20px 0;
  }
}
.p-homeStep__listItem {
  width: calc(275 / 1200 * 100%);
  background: #fff;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-homeStep__listItem {
    width: 100%;
    padding: 24px calc(17 / 402 * 100vw) 17px;
  }
  .p-homeStep__listItem > * {
    display: grid;
    grid-template-columns: 80px 1fr;
    grid-template-rows: auto 1fr;
    gap: 28px 5px;
  }
}
.p-homeStep__listItem h3 {
  color: var(--color-main);
  font-size: min(calc(16 / 768 * 100vw), 20px);
  font-weight: 700;
  line-height: calc(23 / 17);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-homeStep__listItem h3 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    font-size: 20px;
    text-align: left;
    padding-left: 68px;
  }
}
.p-homeStep__listItem .wp-block-paragraph {
  margin-top: 1.3em;
  font-size: 14px;
  line-height: calc(19 / 14);
}
@media screen and (max-width: 767px) {
  .p-homeStep__listItem .wp-block-paragraph {
    margin-top: 0;
    align-self: center;
    font-size: 16px;
    line-height: calc(19 / 16);
    min-height: calc(19px * 4);
  }
}
.p-homeStep__listStep {
  color: var(--color-main);
  font-family: var(--font-lexend);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  position: absolute;
  top: 0;
  left: 23px;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .p-homeStep__listStep {
    top: 14px;
  }
}
.p-homeStep__listStep span {
  display: block;
  font-size: 27px;
  line-height: 1;
  position: relative;
}
.p-homeStep__listStep span::after {
  content: "";
  display: block;
  width: 120%;
  height: 1px;
  background: var(--color-main);
  position: absolute;
  bottom: -3px;
  left: -8%;
}
.p-homeStep__listIcon {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  background: var(--color-lightBlue);
  height: 124px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-homeStep__listIcon {
    background: transparent;
    height: auto;
    justify-content: flex-start;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .p-homeStep__list > li:nth-child(n + 5) .p-homeStep__listIcon {
    height: 110px;
  }
}
@media screen and (max-width: 767px) {
  .p-homeStep__listIcon img {
    max-width: none;
  }
}
.p-homeStep__listIcon.--icon01 img {
  width: 163px;
  transform: translateY(34%);
}
@media screen and (max-width: 767px) {
  .p-homeStep__listIcon.--icon01 img {
    width: calc(163px * 0.6);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-54%, -50%);
  }
}
.p-homeStep__listIcon.--icon02 img {
  width: 154px;
  transform: translateY(46%);
}
@media screen and (max-width: 767px) {
  .p-homeStep__listIcon.--icon02 img {
    width: calc(154px * 0.45);
    transform: translate(2%, -10%);
  }
}
.p-homeStep__listIcon.--icon03 img {
  width: 130px;
  transform: translateY(40%);
}
@media screen and (max-width: 767px) {
  .p-homeStep__listIcon.--icon03 img {
    width: calc(130px * 0.48);
    transform: translate(9%, 9%);
  }
}
.p-homeStep__listIcon.--icon04 img {
  width: 151px;
  transform: translateY(43%);
}
@media screen and (max-width: 767px) {
  .p-homeStep__listIcon.--icon04 img {
    width: calc(151px * 0.4);
    transform: translate(5%, -6%);
  }
}
.p-homeStep__listIcon.--icon05 img {
  width: 115px;
  transform: translateY(27%);
}
@media screen and (max-width: 767px) {
  .p-homeStep__listIcon.--icon05 img {
    width: calc(115px * 0.6);
    transform: translate(-10%, -13%);
  }
}
.p-homeStep__listIcon.--icon06 img {
  width: 60px;
  transform: translateY(30%);
}
@media screen and (max-width: 767px) {
  .p-homeStep__listIcon.--icon06 img {
    width: calc(60px * 0.55);
    transform: translate(28%, -8%);
  }
}
.p-homeStep__listIcon.--icon07 img {
  width: 90px;
  transform: translateY(34%);
}
@media screen and (max-width: 767px) {
  .p-homeStep__listIcon.--icon07 img {
    width: calc(90px * 0.55);
    transform: translate(21%, -3%);
  }
}
.p-homeStep__listIcon.--icon08 img {
  width: 99px;
  transform: translateY(30%);
}
@media screen and (max-width: 767px) {
  .p-homeStep__listIcon.--icon08 img {
    width: calc(99px * 0.5);
    transform: translate(5%, -8%);
  }
}
.p-homeStep__listCont {
  padding: 54px 19px 20px;
}
@media screen and (max-width: 767px) {
  .p-homeStep__listCont {
    display: contents;
  }
  .p-homeStep__listCont > * {
    display: contents;
  }
}

.p-homeFaq {
  padding: 120px 0 120px;
  background: var(--color-lightBlue);
}
@media screen and (max-width: 767px) {
  .p-homeFaq {
    padding: 80px 0 78px;
  }
}
.p-homeFaq .schema-faq {
  margin: 84px auto 0;
}
@media screen and (max-width: 767px) {
  .p-homeFaq .schema-faq {
    margin-top: 38px;
  }
}

.p-homeInfo {
  padding-top: 104px;
  padding-bottom: 70px;
  background: #fff;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .p-homeInfo {
    padding: 80px 0 0;
  }
}
.p-homeInfo__inner {
  display: grid;
  grid-template-columns: 1fr calc(796 / 1200 * 100%);
}
@media screen and (max-width: 1024px) {
  .p-homeInfo__inner {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .p-homeInfo__head {
    display: contents;
  }
}
@media screen and (min-width: 1025px) {
  .p-homeInfo__mainTtl {
    text-align: left;
  }
}
.p-homeInfo__link {
  margin-top: 130px;
}
@media screen and (max-width: 1024px) {
  .p-homeInfo__link {
    order: 2;
    width: calc(100% - var(--mg-sp) * 2);
    margin: 40px auto 0;
    display: flex;
    justify-content: center;
  }
}
@media screen and (min-width: 1025px) {
  .p-homeInfo__link .m-btnFill {
    max-width: 90%;
  }
}
@media screen and (max-width: 1024px) {
  .p-homeInfo__list {
    margin-top: 40px;
  }
}
.p-homeInfo__list .splide {
  position: relative;
}
.p-homeInfo__list .splide__arrows {
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .p-homeInfo__list .splide__arrows {
    display: none;
  }
}
.p-homeInfo__list .splide__arrow {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border: 1px solid var(--color-main);
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  pointer-events: auto;
  position: absolute;
  top: calc(100% + 20px);
  z-index: 2;
  transition: background-color 0.3s, opacity 0.3s;
}
.p-homeInfo__list .splide__arrow::before {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
}
@media (hover: hover) {
  .p-homeInfo__list .splide__arrow:hover {
    background-color: var(--color-main);
  }
  .p-homeInfo__list .splide__arrow:hover::before {
    border-color: #fff;
  }
}
.p-homeInfo__list .splide__arrow:disabled {
  opacity: 0.35;
  cursor: default;
}
.p-homeInfo__list .splide__arrow--prev {
  left: 0;
}
.p-homeInfo__list .splide__arrow--prev::before {
  border-top: 3px solid var(--color-main);
  border-left: 3px solid var(--color-main);
  transform: translate(12%, 0) rotate(-45deg);
}
.p-homeInfo__list .splide__arrow--next {
  left: 70px;
}
.p-homeInfo__list .splide__arrow--next::before {
  border-top: 3px solid var(--color-main);
  border-right: 3px solid var(--color-main);
  transform: translate(-12%, 0) rotate(45deg);
}
.p-homeInfo__listInner {
  width: calc(100% + max((100vw - 1200px) / 2, var(--mg-pc)) + (20 / 1980 * 100vw));
}
@media screen and (max-width: 1024px) {
  .p-homeInfo__listInner {
    width: 100%;
  }
}

/*@use '../setting/global' as g;*/
/* ========================================
Information一覧 infos
======================================== */
.p-infos .l-informationList__ttl {
  font-size: 18px;
  line-height: calc(28 / 18);
}
@media screen and (max-width: 767px) {
  .p-infos .l-informationList__ttl {
    font-size: 17px;
    line-height: calc(26 / 17);
  }
}

/*@use '../setting/global' as g;*/
/* ========================================
Information詳細 info (single)
======================================== */
.p-info__head {
  padding: 17px 30px 18px;
  border-left: 10px solid var(--color-main);
  background: #F4F4F4;
}
@media screen and (max-width: 767px) {
  .p-info__head {
    padding: 12px 16px 13px;
    border-left-width: 6px;
  }
}
.p-info__ttl {
  color: var(--color-black);
  font-size: 24px;
  font-weight: 700;
  line-height: calc(35 / 24);
}
@media screen and (max-width: 767px) {
  .p-info__ttl {
    font-size: 17px;
    line-height: calc(28 / 17);
  }
}
.p-info__date {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  margin-top: 10px;
  color: var(--color-black);
  font-size: 14px;
  font-weight: 500;
  line-height: calc(22 / 14);
}
@media screen and (max-width: 767px) {
  .p-info__date {
    gap: 3px 12px;
    margin-top: 8px;
    font-size: 13px;
    line-height: calc(20 / 13);
  }
}
.p-info__dateItem {
  display: block;
}
.p-info .p-info__date + .p-info__img {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-info .p-info__date + .p-info__img {
    margin-top: 24px;
  }
}
.p-info__img {
  margin-top: 40px;
  aspect-ratio: 780 / 400;
  background: #D9D9D9;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-info__img {
    margin-top: 28px;
    aspect-ratio: 362 / 260;
  }
}
.p-info__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-info__related {
  margin-top: 116px;
  padding-top: 0;
  border-top: 0;
}
@media screen and (max-width: 767px) {
  .p-info__related {
    margin-top: 68px;
  }
}
.p-info__relatedTtl {
  color: var(--color-main);
  font-size: 27px;
  font-weight: 700;
  line-height: calc(38 / 27);
}
@media screen and (max-width: 767px) {
  .p-info__relatedTtl {
    font-size: 20px;
    line-height: calc(30 / 20);
  }
}
.p-info__relatedTtl + .l-informationList {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-info__relatedTtl + .l-informationList {
    margin-top: 18px;
  }
}
@media screen and (max-width: 767px) {
  .p-info .p-info__related .l-informationList-col2 {
    flex-wrap: nowrap;
    gap: 0 20px;
    overflow-x: auto;
    padding-bottom: 2px;
    margin-right: calc(var(--mg-sp) * -1);
    -webkit-overflow-scrolling: touch;
  }
}
@media screen and (max-width: 767px) {
  .p-info .p-info__related .l-informationList-col2 .l-informationList__item {
    flex: 0 0 min(317px, calc(100vw - var(--mg-sp) * 3));
    width: auto;
  }
}
.p-info .p-info__related .l-informationList__img {
  border-radius: 10px 10px 0 0;
}
.p-info .p-info__related .l-informationList__body {
  padding: 20px 22px 22px;
}
@media screen and (max-width: 767px) {
  .p-info .p-info__related .l-informationList__body {
    padding: 16px 18px 20px;
  }
}
.p-info .p-info__related .l-informationList__day {
  margin-top: 0;
  font-size: 11px;
}
.p-info .p-info__related .l-informationList__cat {
  height: 22px;
  padding: 0 10px;
  font-size: 10px;
}
.p-info .p-info__related .l-informationList__ttl {
  margin-top: 16px;
  font-size: 16px;
  line-height: calc(26 / 16);
}
@media screen and (max-width: 767px) {
  .p-info .p-info__related .l-informationList__ttl {
    font-size: 13px;
    line-height: calc(23 / 13);
  }
}
.p-info .m-postNav {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 34px;
}
@media screen and (max-width: 767px) {
  .p-info .m-postNav {
    display: flex;
    gap: 16px;
    margin-top: 26px;
  }
}

.p-info + .footer {
  margin-top: 0;
}

/*@use '../setting/global' as g;*/
/* ========================================
ご利用料金 price
======================================== */
/* ========================================
オプション料金 priceOption
======================================== */
.p-priceOption {
  margin-top: 120px;
  padding: 122px 0 120px;
  margin-bottom: -120px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-priceOption {
    margin-top: 80px;
    padding: 58px 0 54px;
    margin-bottom: -80px;
  }
}
.p-priceOption::before {
  content: "";
  display: block;
  width: 150vw;
  height: 100%;
  background: var(--color-lightBlue);
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
}
.p-priceOption .p-price__secTtl {
  padding-bottom: 0;
  border-bottom: 0;
  font-size: 35px;
  line-height: calc(48 / 35);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-priceOption .p-price__secTtl {
    font-size: 28px;
    line-height: calc(38 / 28);
  }
}
.p-priceOption__desc {
  margin-top: 70px;
  font-size: 16px;
  line-height: calc(33 / 16);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-priceOption__desc {
    margin-top: 40px;
  }
}
.p-priceOption h3 {
  margin-top: 80px;
  color: var(--color-main);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-priceOption h3 {
    margin-top: 40px;
    font-size: 22px;
  }
}
.p-priceOption__function {
  margin-top: 40px;
  background: #fff;
}
.p-priceOption__function > div {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-priceOption__function > div {
    display: block;
  }
}
.p-priceOption__functionTtl {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(304 / 1200 * 100%);
  min-width: 200px;
  min-height: 140px;
  padding: 10px;
  background: var(--color-main);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-priceOption__functionTtl {
    width: 100%;
    min-height: 64px;
  }
}
.p-priceOption__functionTtl p {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
}
.p-priceOption__functionPrice {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(250 / 1200 * 100%);
  min-width: 210px;
  padding: 10px;
  border-right: 1px solid #D9D9D9;
}
@media screen and (max-width: 767px) {
  .p-priceOption__functionPrice {
    width: 100%;
    min-height: 78px;
    border-right: 0;
    border-bottom: 1px solid #D9D9D9;
  }
}
.p-priceOption__functionPrice p {
  font-size: 25px;
  font-weight: 700;
}
.p-priceOption__functionPrice span {
  font-size: calc(17 / 25 * 1em);
}
.p-priceOption__functionDetail {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .p-priceOption__functionDetail {
    justify-content: flex-start;
    width: 100%;
    min-height: 122px;
    padding: 27px calc(18 / 402 * 100vw) 31px;
  }
}
.p-priceOption__functionDetail ul {
  font-size: 16px;
  font-weight: 500;
  line-height: calc(29 / 16);
}
.p-priceOption__notes {
  margin-top: 40px;
  font-size: 14px;
  line-height: calc(34 / 14);
}
@media screen and (max-width: 767px) {
  .p-priceOption__notes {
    margin-top: 20px;
    line-height: calc(30 / 14);
  }
}

/*@use '../setting/global'as g;*/
/* ========================================
機能一覧 functions
======================================== */
.p-functions__catNav {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-functions__catNav {
    margin-top: 90px;
  }
}
.p-functions__body {
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .p-functions__body {
    margin-top: 32px;
    padding-bottom: 80px;
  }
}
.p-functions__sec {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-functions__sec {
    margin-top: 48px;
  }
}
.p-functions__secTtl {
  padding-bottom: 20px;
  border-bottom: 1px solid #555;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-functions__secTtl {
    padding-bottom: 26px;
    font-size: 24px;
  }
}
.p-functions__secDesc {
  margin-top: 40px;
  font-size: 16px;
  line-height: calc(34 / 16);
}
@media screen and (max-width: 767px) {
  .p-functions__secDesc {
    margin-top: 20px;
  }
}
.p-functions__secList {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-functions__secList {
    margin-top: 20px;
  }
}

/* ========================================
機能詳細 function (single)
======================================== */
.p-function {
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .p-function {
    padding-bottom: 80px;
  }
}
@media screen and (min-width: 768px) {
  .p-function .l-pageHead__inner {
    align-items: flex-end;
    padding-bottom: 8px;
  }
}
.p-function__mainTtl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px 0;
  width: 100%;
  color: var(--color-main);
  font-size: 40px;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1.36;
}
@media screen and (max-width: 767px) {
  .p-function__mainTtl {
    gap: 5px 0;
    padding: 0;
    font-size: 36px;
    text-align: center;
  }
}
.p-function__mainTtlImg {
  aspect-ratio: 244 / 90;
  height: 90px;
}
@media screen and (max-width: 767px) {
  .p-function__mainTtlImg {
    height: 56px;
  }
}
.p-function__mainTtlImg img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-function__body {
  max-width: 1200px;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-function__body {
    margin-top: 48px;
  }
}
.p-function__mainImg {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-function__mainImg {
    margin-top: 24px;
  }
}
.p-function__mainImg img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid #E4E4E4;
}
.p-function__points {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-function__points {
    margin-top: 58px;
  }
}
.p-function__pointsTtl {
  padding-bottom: 24px;
  border-bottom: 1px solid #555;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-function__pointsTtl {
    padding-bottom: 22px;
    font-size: 18px;
  }
}
.p-function__pointsList {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px calc(80 / 1200 * 100%);
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-function__pointsList {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 28px;
  }
}
.p-function__pointsItem {
  display: flex;
  flex-direction: column;
  min-height: 425px;
  padding: 52px 40px 46px;
  border: 1px solid #B2B2B2;
  border-radius: 15px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-function__pointsItem {
    min-height: 0;
    padding: 28px calc(28 / 402 * 100vw) 30px;
    border-radius: 12px;
  }
}
.p-function__pointsImg {
  display: grid;
  place-items: center;
  height: 164px;
}
@media screen and (max-width: 767px) {
  .p-function__pointsImg {
    height: auto;
    min-height: 150px;
  }
}
.p-function__pointsImg img {
  width: min(100%, 390px);
  height: auto;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-function__pointsImg img {
    width: min(100%, 290px);
  }
}
.p-function__pointsBody {
  margin-top: 46px;
}
@media screen and (max-width: 767px) {
  .p-function__pointsBody {
    margin-top: 22px;
  }
}
.p-function__pointsItemTtl {
  color: var(--color-main);
  font-size: 18px;
  font-weight: 700;
  line-height: calc(31 / 18);
}
@media screen and (max-width: 767px) {
  .p-function__pointsItemTtl {
    font-size: 16px;
    line-height: calc(27 / 16);
  }
}
.p-function__pointsSubTtl {
  margin-top: 24px;
  color: var(--color-main);
  font-size: 15px;
  font-weight: 700;
  line-height: calc(24 / 15);
}
@media screen and (max-width: 767px) {
  .p-function__pointsSubTtl {
    margin-top: 18px;
    font-size: 14px;
    line-height: calc(23 / 14);
  }
}
.p-function__pointsItemDesc {
  margin-top: 22px;
  font-size: 14px;
  font-weight: 500;
  line-height: calc(31 / 14);
}
@media screen and (max-width: 767px) {
  .p-function__pointsItemDesc {
    margin-top: 16px;
    font-size: 13px;
    line-height: calc(27 / 13);
  }
}
.p-function__pointsItemDesc + .p-function__pointsSubTtl {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-function__pointsItemDesc + .p-function__pointsSubTtl {
    margin-top: 18px;
  }
}

/*@use '../setting/global' as g;*/
/* ========================================
活用事例一覧 examples
======================================== */
.p-examples__body {
  margin-top: 50px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .p-examples__body {
    margin-top: 90px;
    padding-bottom: 80px;
  }
}
.p-examples .m-catNav {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .p-examples .m-catNav {
    margin-bottom: 32px;
  }
}

/*@use '../setting/global' as g;*/
/* ========================================
導入事例詳細 example (single)
======================================== */
.p-example {
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .p-example {
    padding-bottom: 80px;
  }
}
.p-example__body {
  max-width: 1200px;
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-example__body {
    margin-top: 90px;
  }
}
.p-example__head {
  display: grid;
  grid-template-columns: 1fr calc(455 / 1200 * 100%);
  align-items: center;
  gap: 0 calc(30 / 1200 * 100%);
  padding: 50px 49px 49px;
  border: 1px solid #555;
}
@media screen and (max-width: 767px) {
  .p-example__head {
    grid-template-columns: 1fr;
    gap: 24px 0;
    padding: 25px calc(20 / 402 * 100vw) 28px;
  }
}
.p-example__headBody {
  min-width: 0;
}
.p-example__ttl {
  color: var(--color-main);
  font-size: 26px;
  font-weight: 700;
  line-height: calc(38 / 26);
}
@media screen and (max-width: 767px) {
  .p-example__ttl {
    font-size: 18px;
    line-height: calc(29 / 18);
  }
}
.p-example__client {
  margin-top: 21px;
  padding-bottom: 27px;
  border-bottom: 1px solid #555;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-example__client {
    margin-top: 10px;
    padding-bottom: 26px;
    font-size: 13px;
  }
}
.p-example__cat {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-example__cat {
    margin-top: 21px;
  }
}
.p-example__cat dl {
  display: flex;
  align-items: flex-start;
  gap: 0 18px;
}
.p-example__cat dl + dl {
  margin-top: 14px;
}
.p-example__cat dt {
  display: grid;
  place-items: center;
  min-width: 68px;
  min-height: 21px;
  background: #4F6CA9;
  border-radius: 3px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.p-example__cat dd {
  flex: 1;
  font-size: 16px;
  font-weight: 700;
  line-height: calc(21 / 16);
}
@media screen and (max-width: 767px) {
  .p-example__cat dd {
    font-size: 13px;
    line-height: calc(21 / 13);
  }
}
.p-example__headImg {
  aspect-ratio: 455 / 278;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-example__headImg {
    margin-top: 4px;
  }
}
.p-example__headImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-example__post {
  margin-top: 94px;
}
@media screen and (max-width: 767px) {
  .p-example__post {
    margin-top: 36px;
  }
}
.p-example__post > *:first-child {
  margin-top: 0;
}
.p-example__post h2 {
  margin-top: 91px;
  padding-bottom: 26px;
  border-bottom: 1px solid #555;
  color: var(--color-black);
  font-size: 24px;
  font-weight: 700;
  line-height: calc(34 / 24);
}
@media screen and (max-width: 767px) {
  .p-example__post h2 {
    margin-top: 46px;
    padding-bottom: 22px;
    font-size: 17px;
    line-height: calc(28 / 17);
  }
}
.p-example__post p {
  margin-top: 36px;
  font-size: 16px;
  font-weight: 500;
  line-height: calc(34 / 16);
}
@media screen and (max-width: 767px) {
  .p-example__post p {
    margin-top: 24px;
    font-size: 13px;
    line-height: calc(27 / 13);
  }
}
.p-example__post ul,
.p-example__post ol {
  margin-top: 1em;
  padding-left: 1.4em;
  font-size: 16px;
  line-height: calc(31 / 16);
}
@media screen and (max-width: 767px) {
  .p-example__post ul,
  .p-example__post ol {
    font-size: 14px;
    line-height: calc(26 / 14);
  }
}
.p-example__post ul li + li,
.p-example__post ol li + li {
  margin-top: .3em;
}
.p-example__post ul li {
  list-style: disc;
}
.p-example__post ol li {
  list-style: decimal;
}
.p-example__post img {
  max-width: 100%;
  height: auto;
  margin-top: 1.6em;
}
.p-example .m-postNav {
  grid-template-columns: 1fr 1fr;
  gap: 67px 20px;
  margin-top: 78px;
}
@media screen and (max-width: 767px) {
  .p-example .m-postNav {
    grid-template-columns: 1fr 1fr;
    gap: 36px 12px;
    margin-top: 44px;
  }
}
.p-example .m-postNav__back {
  grid-column: 1 / 3;
  justify-self: center;
}
@media screen and (max-width: 767px) {
  .p-example .m-postNav__back {
    order: initial;
  }
}
.p-example .m-postNav__back .m-btnFill {
  width: 360px;
}
@media screen and (max-width: 767px) {
  .p-example .m-postNav__back .m-btnFill {
    width: calc(100vw - var(--mg-sp) * 2);
  }
}

.p-example + .footer {
  margin-top: 0;
}

/*@use '../setting/global'as g;*/
/* ========================================
推奨環境 environment
======================================== */
.p-environment {
  padding-bottom: 124px;
}
@media screen and (max-width: 767px) {
  .p-environment {
    padding-bottom: 50px;
  }
}
.p-environment__body {
  max-width: 1200px;
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-environment__body {
    margin-top: 58px;
  }
}

.p-environmentSec {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .p-environmentSec {
    margin-top: 50px;
  }
}
.p-environmentSec:first-of-type {
  margin-top: 0;
}
.p-environmentSec h2 {
  margin-bottom: 30px;
  color: var(--color-black);
  font-size: 27px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-environmentSec h2 {
    margin-bottom: 40px;
    font-size: 24px;
  }
}
.p-environmentSec__defList + .p-environmentSec__defList {
  margin-top: 20px;
}
.p-environmentSec__defList > div {
  display: grid;
  grid-template-columns: 258px 1fr;
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-environmentSec__defList > div {
    display: block;
  }
}
.p-environmentSec__defList > div p:nth-child(1) {
  display: flex;
  align-items: center;
  padding: 13px 16px 13px 32px;
  background: rgba(33, 69, 140, 0.7);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: calc(27 / 20);
}
@media screen and (max-width: 767px) {
  .p-environmentSec__defList > div p:nth-child(1) {
    padding: 14px calc(18 / 402 * 100vw);
    font-size: 16px;
  }
}
.p-environmentSec__defList > div p:nth-child(2) {
  padding: 15px 30px;
  background: #F5F5F5;
  font-size: 16px;
  line-height: calc(34 / 16);
}
@media screen and (max-width: 767px) {
  .p-environmentSec__defList > div p:nth-child(2) {
    display: block;
    padding: 12px calc(12 / 402 * 100vw);
  }
}
.p-environmentSec__defList > div p strong {
  font-weight: 700;
}
.p-environmentSec__notesList {
  margin-top: 40px;
  font-size: 14px;
  font-weight: 500;
  line-height: calc(28 / 14);
}
@media screen and (max-width: 767px) {
  .p-environmentSec__notesList {
    margin-top: 20px;
  }
}
.p-environmentSec__table {
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
@media screen and (max-width: 767px) {
  .p-environmentSec__table {
    max-width: none;
    padding-bottom: 12px;
  }
}
.p-environmentSec__table table {
  min-width: 900px !important;
}
@media screen and (max-width: 767px) {
  .p-environmentSec__table table {
    min-width: 1200px !important;
  }
}
.p-environmentSec__table table th,
.p-environmentSec__table table td {
  height: 57px;
  padding: 10px 4px;
  background: #F5F5F5;
  border: 1px solid #B2B2B2;
  vertical-align: middle;
  font-size: min(calc(14 / 1000 * 100vw), 18px);
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 1000px) {
  .p-environmentSec__table table th,
  .p-environmentSec__table table td {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .p-environmentSec__table table th,
  .p-environmentSec__table table td {
    font-size: 18px;
  }
}
.p-environmentSec__table table th:first-child,
.p-environmentSec__table table td:first-child {
  border-left: 0;
}
.p-environmentSec__table table th:last-child,
.p-environmentSec__table table td:last-child {
  border-right: 0;
}
.p-environmentSec__table table thead {
  border-bottom: 0;
}
.p-environmentSec__table table thead th {
  border-color: #fff;
  border-top: 0;
  background: rgba(35, 71, 148, 0.7);
  color: #fff;
}
.p-environmentSec__table table thead th:first-child {
  border: none;
  background: transparent;
}
.p-environmentSec__table table thead th:nth-child(2) {
  border-radius: 15px  0 0 0;
}
.p-environmentSec__table table thead th:last-child {
  border-radius: 0 15px 0 0;
}
.p-environmentSec__table table tbody tr:nth-child(odd) td:first-child {
  background: rgba(35, 71, 148, 0.4);
  border-color: #fff;
}
.p-environmentSec__table table tbody tr:nth-child(even) td:first-child {
  background: rgba(35, 71, 148, 0.2);
  border-color: #fff;
}
.p-environmentSec__table table tbody tr:first-child td:first-child {
  border-radius: 15px 0 0 0;
}
.p-environmentSec__table table tbody tr:last-child td {
  border-bottom: 0;
}
.p-environmentSec__table table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 15px;
}
.p-environmentSec__table figcaption {
  display: block;
  margin-top: 20px;
  font-size: 14px;
  font-weight: 500;
  line-height: calc(19 / 14);
}
@media screen and (max-width: 767px) {
  .p-environmentSec__table figcaption {
    margin-top: 24px;
  }
}
.p-environmentSec__defInline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 21px 30px;
  background: #F5F5F5;
  border-radius: 15px;
}
@media screen and (max-width: 767px) {
  .p-environmentSec__defInline {
    display: block;
  }
}
.p-environmentSec__defInline > li {
  font-size: 16px;
  font-weight: 400;
  line-height: calc(24 / 16);
}
.p-environmentSec__defInline > li strong {
  color: var(--color-black);
  font-weight: 700;
}
.p-environmentSec__defInline > li:not(:last-child)::after {
  content: "/";
  display: inline-block;
  margin: 0 0.5em 0 1em;
}
@media screen and (max-width: 767px) {
  .p-environmentSec__defInline > li:not(:last-child)::after {
    display: none;
  }
}

.p-environment + .footer {
  margin-top: 0;
}

/*@use '../setting/global'as g;*/
/* ========================================
動画転送量の自動計算フォーム calculator
======================================== */
.p-calculator {
  padding-bottom: 120px;
  /* ----------------------------------------
  フォーム本体
  ---------------------------------------- */
  /* ----------------------------------------
  画質テーブル
  ---------------------------------------- */
  /* ----------------------------------------
  計算ボタン（薄グレーのピル）
  ---------------------------------------- */
  /* ----------------------------------------
  モーダル（計算結果）
  ---------------------------------------- */
}
@media screen and (max-width: 767px) {
  .p-calculator {
    padding-bottom: 80px;
  }
}
.p-calculator__body {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-calculator__body {
    margin-top: 90px;
  }
}
.p-calculator__lead {
  font-size: 27px;
  font-weight: 700;
  line-height: calc(32 / 18);
}
@media screen and (max-width: 767px) {
  .p-calculator__lead {
    font-size: 24px;
  }
}
.p-calculator__notes {
  margin-top: 40px;
  font-size: 19px;
  line-height: calc(28 / 19);
}
@media screen and (max-width: 767px) {
  .p-calculator__notes {
    margin-top: 49px;
    font-size: 16px;
    line-height: calc(28 / 16);
  }
}
.p-calculator__notes li + li {
  margin-top: .4em;
}
.p-calculator__form {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .p-calculator__form {
    margin-top: 32px;
  }
}
.p-calculator__formCard {
  padding: 60px 76px 64px;
  background: #fff;
  border: 1px solid var(--color-black);
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .p-calculator__formCard {
    padding: 28px calc(22 / 402 * 100vw) 32px;
    border-radius: 18px;
  }
}
.p-calculator__inputList {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  gap: 18px 60px;
}
@media screen and (max-width: 767px) {
  .p-calculator__inputList {
    grid-template-columns: 1fr;
    gap: 18px 0;
  }
}
.p-calculator__inputLabel {
  display: flex;
  align-items: center;
  gap: 0 10px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: #333;
}
@media screen and (max-width: 767px) {
  .p-calculator__inputLabel {
    font-size: 13px;
  }
}
.p-calculator__required {
  display: inline-grid;
  place-items: center;
  min-width: 38px;
  padding: 3px 10px 2px;
  background: #FF9D00;
  border-radius: 999px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-calculator__required {
    padding-left: 2px;
    padding-right: 4px;
  }
}
.p-calculator__inputBox {
  display: flex;
  align-items: center;
  gap: 0 8px;
  margin-top: 10px;
}
.p-calculator__error {
  margin-top: 6px;
  color: #d33;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}
.p-calculator__has-error {
  border-color: #d33 !important;
}
.p-calculator__input {
  width: 240px;
  max-width: 100%;
  height: 38px;
  padding: 0 12px;
  background: #fff;
  border: 1px solid #B2B2B2;
  border-radius: 4px;
  font-size: 16px;
  font-family: inherit;
  /* スピンボタン非表示（一旦コメントアウト、矢印UIを表示する） */
}
@media screen and (max-width: 767px) {
  .p-calculator__input {
    flex: 1;
    height: 40px;
  }
}
.p-calculator__input:focus {
  outline: none;
  border-color: var(--color-main);
  box-shadow: 0 0 0 2px rgba(35, 71, 148, 0.15);
}
.p-calculator__inputUnit {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}
.p-calculator__tableWrap {
  margin-top: 36px;
  overflow-x: auto;
}
@media screen and (max-width: 767px) {
  .p-calculator__tableWrap {
    margin-top: 24px;
    margin-right: calc(spVw(22) * -1);
    padding-right: calc(22 / 402 * 100vw);
  }
}
.p-calculator__table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-calculator__table {
    width: 440px;
  }
}
.p-calculator__table th,
.p-calculator__table td {
  vertical-align: middle;
  padding: 16px 8px;
  font-size: 18px;
  line-height: 1.5;
  color: #333;
}
@media screen and (max-width: 767px) {
  .p-calculator__table th,
  .p-calculator__table td {
    padding: 12px 6px;
    font-size: 13px;
  }
}
.p-calculator__table thead th {
  background: #F5F5F5;
  color: #333;
  font-weight: 700;
  border: none;
}
.p-calculator__table thead th .p-calculator__required {
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .p-calculator__table thead th .p-calculator__required {
    margin-left: 2px;
  }
}
.p-calculator__table tbody td {
  background: #fff;
  border-bottom: 1px solid #E4E4E4;
}
.p-calculator__radioCell {
  text-align: left;
  padding-left: 32px !important;
}
@media screen and (max-width: 767px) {
  .p-calculator__radioCell {
    padding-left: 16px !important;
  }
}
.p-calculator__radio {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  margin: 0 10px 0 0;
  border: 1.5px solid #6E6E6E;
  border-radius: 50%;
  background: #fff;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
  transform: translateY(-1px);
}
.p-calculator__radio:checked::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #333;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-calculator__radioLabel {
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-calculator__radioLabel {
    font-size: 13px;
  }
}
.p-calculator__customInput {
  width: 100%;
  max-width: 140px;
  height: 34px;
  padding: 0 10px;
  background: #fff;
  border: 1px solid #B2B2B2;
  border-radius: 4px;
  font-size: 14px;
  font-family: inherit;
  text-align: center;
  /* スピンボタン非表示（一旦コメントアウト、矢印UIを表示する） */
}
.p-calculator__customInput:focus {
  outline: none;
  border-color: var(--color-main);
}
.p-calculator__submit {
  margin-top: 36px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-calculator__submit {
    margin-top: 28px;
  }
}
.p-calculator__btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0 12px;
  width: 300px;
  max-width: 100%;
  height: 52px;
  padding: 0 20px;
  background: #B5B5B5;
  border: none;
  border-radius: 26px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.1;
  cursor: pointer;
  transition: background-color .3s, opacity .2s;
}
@media screen and (max-width: 767px) {
  .p-calculator__btn {
    width: 100%;
    max-width: 320px;
    height: 50px;
    font-size: 15px;
  }
}
.p-calculator__btn.is-active {
  background: var(--color-main);
}
@media (hover: hover) {
  .p-calculator__btn.is-active:hover {
    opacity: 0.7;
  }
}
.p-calculator__btn::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: url("../image/common/arrow_contact.svg") no-repeat center/contain;
  transform: translateY(8%);
}
.p-calculator__modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
}
.p-calculator__modalBg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  cursor: pointer;
}
.p-calculator__modalContent {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(620px, calc(100% - 32px));
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  padding: 44px 44px 32px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .p-calculator__modalContent {
    padding: 30px calc(20 / 402 * 100vw) 24px;
    border-radius: 10px;
  }
}
.p-calculator__modalResult {
  text-align: center;
}
.p-calculator__modalDesc {
  font-size: 16px;
  font-weight: 700;
  line-height: calc(28 / 16);
  color: #333;
}
@media screen and (max-width: 767px) {
  .p-calculator__modalDesc {
    font-size: 14px;
    line-height: calc(24 / 14);
  }
}
.p-calculator__modalNum {
  margin-top: 14px;
  color: var(--color-main);
  font-size: 48px;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-calculator__modalNum {
    font-size: 34px;
  }
}
.p-calculator__modalNum:empty {
  display: none;
}
.p-calculator__modalSub {
  margin-top: 4px;
  color: var(--color-main);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-calculator__modalSub {
    font-size: 14px;
  }
}
.p-calculator__modalSub:empty {
  display: none;
}
.p-calculator__modalNotes {
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid #E4E4E4;
  font-size: 13px;
  line-height: calc(22 / 13);
}
@media screen and (max-width: 767px) {
  .p-calculator__modalNotes {
    margin-top: 24px;
    padding-top: 18px;
    font-size: 12px;
  }
}
.p-calculator__modalNotes li {
  list-style: disc;
  margin-left: 1.4em;
}
.p-calculator__modalNotes li + li {
  margin-top: .4em;
}
.p-calculator__modalFoot {
  margin-top: 26px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-calculator__modalFoot {
    margin-top: 20px;
  }
}
.p-calculator__modalCloseBtn {
  display: inline-grid;
  place-items: center;
  min-width: 160px;
  height: 44px;
  padding: 0 24px;
  background: #E4E4E4;
  border: none;
  border-radius: 22px;
  color: #333;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
@media (hover: hover) {
  .p-calculator__modalCloseBtn {
    transition: opacity 0.3s;
  }
  .p-calculator__modalCloseBtn:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .p-calculator__modalCloseBtn {
    min-width: 140px;
    height: 42px;
    font-size: 13px;
  }
}

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