@charset "UTF-8";
/* ----------------------------- 全体 */
html {
  font-size: 62.5%; }

body {
  font-size: 18px;
  font-size: 1.8rem;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: #222;
  background: #fff;
  position: relative;
  -webkit-text-size-adjust: 100%;
  min-width: 1200px; }
  body br {
    font-family: sans-serif; }

.is-fixed {
  overflow: hidden; }

::-webkit-input-placeholder {
  color: #AAAAAA; }

:-ms-input-placeholder {
  color: #AAAAAA; }

::-moz-placeholder {
  color: #AAAAAA; }

::-placeholder {
  color: #AAAAAA; }

p {
  line-height: 1.6; }

a {
  color: #0050A0;
  text-decoration: none; }
  a:hover {
    color: #0050A0;
    text-decoration: none; }
  a, a img {
    -webkit-transition: 0.6s ease all;
    transition: 0.6s ease all; }
  a:hover {
    opacity: 0.7;
    -ms-filter: "alpha(opacity=70)";
    filter: alpha(opacity=70); }

@media screen and (min-width: 897px) {
  .sp-only {
    display: none !important; } }
@media screen and (max-width: 896px) {
  .sp-only {
    display: block; }

  .pc-only {
    display: none !important; } }
img,
.bx-wrapper img {
  max-width: 100%;
  height: auto; }

/*=======================================
パーツ
=========================================*/
.c-wrap {
  max-width: 1200px;
  width: auto;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  padding-left: 15px;
  padding-right: 15px; }
  .c-wrap-1000 {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    padding-left: 15px;
    padding-right: 15px; }

.c-title1 {
  text-align: center;
  margin-bottom: 94px; }
  .c-title1 .h {
    font-size: 40px;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.5;
    color: #DE0A0A; }
    .c-title1 .h span {
      display: block;
      background-position: center top;
      background-repeat: no-repeat;
      background-size: auto 60px;
      padding-top: 73px; }

@keyframes top-bottom {
  50% {
    transform: translate(0, -50px); } }
@keyframes right-left {
  50% {
    transform: translate(-50px, 0); } }
@keyframes c-scale {
  50% {
    transform: scale(0.8) rotate(90deg); } }
/* フェードインしながら少し上へ */
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
.js-animate {
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0); }
  .js-animate.is--animate {
    -webkit-animation: fadeInUp 0.8s 1 ease-in-out;
    animation: fadeInUp 0.8s 1 ease-in-out;
    -webkit-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    opacity: 1;
    -ms-filter: "alpha(opacity=100)";
    filter: alpha(opacity=100); }
  .js-animate--delay1 {
    -webkit-animation-delay: 0.1s !important;
    animation-delay: 0.1s !important; }
  .js-animate--delay2 {
    -webkit-animation-delay: 0.2s !important;
    animation-delay: 0.2s !important; }
  .js-animate--delay3 {
    -webkit-animation-delay: 0.3s !important;
    animation-delay: 0.3s !important; }
  .js-animate--delay4 {
    -webkit-animation-delay: 0.4s !important;
    animation-delay: 0.4s !important; }
  .js-animate--delay5 {
    -webkit-animation-delay: 0.5s !important;
    animation-delay: 0.5s !important; }
  .js-animate--delay6 {
    -webkit-animation-delay: 0.6s !important;
    animation-delay: 0.6s !important; }
  .js-animate--delay7 {
    -webkit-animation-delay: 0.7s !important;
    animation-delay: 0.7s !important; }
  .js-animate--delay8 {
    -webkit-animation-delay: 0.8s !important;
    animation-delay: 0.8s !important; }
  .js-animate--delay9 {
    -webkit-animation-delay: 0.9s !important;
    animation-delay: 0.9s !important; }
  .js-animate--delay10 {
    -webkit-animation-delay: 1s !important;
    animation-delay: 1s !important; }
  .js-animate--delay11 {
    -webkit-animation-delay: 1.1s !important;
    animation-delay: 1.1s !important; }
  .js-animate--delay12 {
    -webkit-animation-delay: 1.2s !important;
    animation-delay: 1.2s !important; }
  .js-animate--delay13 {
    -webkit-animation-delay: 1.3s !important;
    animation-delay: 1.3s !important; }
  .js-animate--delay14 {
    -webkit-animation-delay: 1.4s !important;
    animation-delay: 1.4s !important; }
  .js-animate--delay15 {
    -webkit-animation-delay: 1.5s !important;
    animation-delay: 1.5s !important; }
  .js-animate--delay16 {
    -webkit-animation-delay: 1.6s !important;
    animation-delay: 1.6s !important; }
  .js-animate--delay17 {
    -webkit-animation-delay: 1.7s !important;
    animation-delay: 1.7s !important; }
  .js-animate--delay18 {
    -webkit-animation-delay: 1.8s !important;
    animation-delay: 1.8s !important; }
  .js-animate--delay19 {
    -webkit-animation-delay: 1.9s !important;
    animation-delay: 1.9s !important; }
  .js-animate--delay20 {
    -webkit-animation-delay: 2s !important;
    animation-delay: 2s !important; }
  .js-animate--delay21 {
    -webkit-animation-delay: 2.1s !important;
    animation-delay: 2.1s !important; }
  .js-animate--delay22 {
    -webkit-animation-delay: 2.2s !important;
    animation-delay: 2.2s !important; }
  .js-animate--delay23 {
    -webkit-animation-delay: 2.3s !important;
    animation-delay: 2.3s !important; }
  .js-animate--delay24 {
    -webkit-animation-delay: 2.4s !important;
    animation-delay: 2.4s !important; }
  .js-animate--delay25 {
    -webkit-animation-delay: 2.5s !important;
    animation-delay: 2.5s !important; }
  .js-animate--delay26 {
    -webkit-animation-delay: 2.6s !important;
    animation-delay: 2.6s !important; }
  .js-animate--delay27 {
    -webkit-animation-delay: 2.7s !important;
    animation-delay: 2.7s !important; }
  .js-animate--delay28 {
    -webkit-animation-delay: 2.8s !important;
    animation-delay: 2.8s !important; }
  .js-animate--delay29 {
    -webkit-animation-delay: 2.9s !important;
    animation-delay: 2.9s !important; }
  .js-animate--delay30 {
    -webkit-animation-delay: 3s !important;
    animation-delay: 3s !important; }
  .js-animate--delay31 {
    -webkit-animation-delay: 3.1s !important;
    animation-delay: 3.1s !important; }
  .js-animate--delay32 {
    -webkit-animation-delay: 3.2s !important;
    animation-delay: 3.2s !important; }
  .js-animate--delay33 {
    -webkit-animation-delay: 3.3s !important;
    animation-delay: 3.3s !important; }
  .js-animate--delay34 {
    -webkit-animation-delay: 3.4s !important;
    animation-delay: 3.4s !important; }
  .js-animate--delay35 {
    -webkit-animation-delay: 3.5s !important;
    animation-delay: 3.5s !important; }
  .js-animate--delay36 {
    -webkit-animation-delay: 3.6s !important;
    animation-delay: 3.6s !important; }
  .js-animate--delay37 {
    -webkit-animation-delay: 3.7s !important;
    animation-delay: 3.7s !important; }
  .js-animate--delay38 {
    -webkit-animation-delay: 3.8s !important;
    animation-delay: 3.8s !important; }
  .js-animate--delay39 {
    -webkit-animation-delay: 3.9s !important;
    animation-delay: 3.9s !important; }
  .js-animate--delay40 {
    -webkit-animation-delay: 4s !important;
    animation-delay: 4s !important; }
  .js-animate--duration1 {
    -webkit-animation-duration: 0.1s !important;
    animation-duration: 0.1s !important; }
  .js-animate--duration2 {
    -webkit-animation-duration: 0.2s !important;
    animation-duration: 0.2s !important; }
  .js-animate--duration3 {
    -webkit-animation-duration: 0.3s !important;
    animation-duration: 0.3s !important; }
  .js-animate--duration4 {
    -webkit-animation-duration: 0.4s !important;
    animation-duration: 0.4s !important; }
  .js-animate--duration5 {
    -webkit-animation-duration: 0.5s !important;
    animation-duration: 0.5s !important; }
  .js-animate--duration6 {
    -webkit-animation-duration: 0.6s !important;
    animation-duration: 0.6s !important; }
  .js-animate--duration7 {
    -webkit-animation-duration: 0.7s !important;
    animation-duration: 0.7s !important; }
  .js-animate--duration8 {
    -webkit-animation-duration: 0.8s !important;
    animation-duration: 0.8s !important; }
  .js-animate--duration9 {
    -webkit-animation-duration: 0.9s !important;
    animation-duration: 0.9s !important; }
  .js-animate--duration10 {
    -webkit-animation-duration: 1s !important;
    animation-duration: 1s !important; }
  .js-animate--duration11 {
    -webkit-animation-duration: 1.1s !important;
    animation-duration: 1.1s !important; }
  .js-animate--duration12 {
    -webkit-animation-duration: 1.2s !important;
    animation-duration: 1.2s !important; }
  .js-animate--duration13 {
    -webkit-animation-duration: 1.3s !important;
    animation-duration: 1.3s !important; }
  .js-animate--duration14 {
    -webkit-animation-duration: 1.4s !important;
    animation-duration: 1.4s !important; }
  .js-animate--duration15 {
    -webkit-animation-duration: 1.5s !important;
    animation-duration: 1.5s !important; }
  .js-animate--duration16 {
    -webkit-animation-duration: 1.6s !important;
    animation-duration: 1.6s !important; }
  .js-animate--duration17 {
    -webkit-animation-duration: 1.7s !important;
    animation-duration: 1.7s !important; }
  .js-animate--duration18 {
    -webkit-animation-duration: 1.8s !important;
    animation-duration: 1.8s !important; }
  .js-animate--duration19 {
    -webkit-animation-duration: 1.9s !important;
    animation-duration: 1.9s !important; }
  .js-animate--duration20 {
    -webkit-animation-duration: 2s !important;
    animation-duration: 2s !important; }
  .js-animate--duration21 {
    -webkit-animation-duration: 2.1s !important;
    animation-duration: 2.1s !important; }
  .js-animate--duration22 {
    -webkit-animation-duration: 2.2s !important;
    animation-duration: 2.2s !important; }
  .js-animate--duration23 {
    -webkit-animation-duration: 2.3s !important;
    animation-duration: 2.3s !important; }
  .js-animate--duration24 {
    -webkit-animation-duration: 2.4s !important;
    animation-duration: 2.4s !important; }
  .js-animate--duration25 {
    -webkit-animation-duration: 2.5s !important;
    animation-duration: 2.5s !important; }
  .js-animate--duration26 {
    -webkit-animation-duration: 2.6s !important;
    animation-duration: 2.6s !important; }
  .js-animate--duration27 {
    -webkit-animation-duration: 2.7s !important;
    animation-duration: 2.7s !important; }
  .js-animate--duration28 {
    -webkit-animation-duration: 2.8s !important;
    animation-duration: 2.8s !important; }
  .js-animate--duration29 {
    -webkit-animation-duration: 2.9s !important;
    animation-duration: 2.9s !important; }
  .js-animate--duration30 {
    -webkit-animation-duration: 3s !important;
    animation-duration: 3s !important; }
  .js-animate--duration31 {
    -webkit-animation-duration: 3.1s !important;
    animation-duration: 3.1s !important; }
  .js-animate--duration32 {
    -webkit-animation-duration: 3.2s !important;
    animation-duration: 3.2s !important; }
  .js-animate--duration33 {
    -webkit-animation-duration: 3.3s !important;
    animation-duration: 3.3s !important; }
  .js-animate--duration34 {
    -webkit-animation-duration: 3.4s !important;
    animation-duration: 3.4s !important; }
  .js-animate--duration35 {
    -webkit-animation-duration: 3.5s !important;
    animation-duration: 3.5s !important; }
  .js-animate--duration36 {
    -webkit-animation-duration: 3.6s !important;
    animation-duration: 3.6s !important; }
  .js-animate--duration37 {
    -webkit-animation-duration: 3.7s !important;
    animation-duration: 3.7s !important; }
  .js-animate--duration38 {
    -webkit-animation-duration: 3.8s !important;
    animation-duration: 3.8s !important; }
  .js-animate--duration39 {
    -webkit-animation-duration: 3.9s !important;
    animation-duration: 3.9s !important; }
  .js-animate--duration40 {
    -webkit-animation-duration: 4s !important;
    animation-duration: 4s !important; }

/* フェードインしながら少し右へ */
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(-20px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }
.js-animateFadeInRight {
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0); }
  .js-animateFadeInRight.is--animate {
    -webkit-animation: fadeInRight 0.8s 1 ease-in-out;
    animation: fadeInRight 0.8s 1 ease-in-out;
    -webkit-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    opacity: 1;
    -ms-filter: "alpha(opacity=100)";
    filter: alpha(opacity=100); }

/* フェードインしながら少し左へ */
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(20px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }
.js-animateFadeInLeft {
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0); }
  .js-animateFadeInLeft.is--animate {
    -webkit-animation: fadeInLeft 0.8s 1 ease-in-out;
    animation: fadeInLeft 0.8s 1 ease-in-out;
    -webkit-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    opacity: 1;
    -ms-filter: "alpha(opacity=100)";
    filter: alpha(opacity=100); }

/* フェードインしながら少し上へ */
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(40px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
.js-animateFadeInUp {
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0); }
  .js-animateFadeInUp.is--animate {
    -webkit-animation: fadeInUp 0.8s 1 ease-in-out;
    animation: fadeInUp 0.8s 1 ease-in-out;
    -webkit-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    opacity: 1;
    -ms-filter: "alpha(opacity=100)";
    filter: alpha(opacity=100); }

/* フェードインのみ */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.js-animateFadeIn {
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0); }
  .js-animateFadeIn.is--animate {
    -webkit-animation: fadeIn 0.8s 1 ease-in-out;
    animation: fadeIn 0.8s 1 ease-in-out;
    -webkit-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    opacity: 1;
    -ms-filter: "alpha(opacity=100)";
    filter: alpha(opacity=100); }

@keyframes show {
  from {
    opacity: 0;
    transform: translateY(-300px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
/*=======================================
ヘッダー・フッター
=========================================*/
.l-header {
  display: flex;
  justify-content: space-between;
  /*align-items: center;*/
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9999;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
height: 95.19px; }
  @media screen and (min-width: 897px) {
    .l-header.is-scrolled {
      background: #fff;
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
      position: fixed;
      animation: show 0.5s ease 0s; } }
  .l-header-logo {
    display: block;
    align-items: flex-start;
    padding: min(1.0416666667vw,20px);
    padding-bottom: min(0.9375vw,18px); }
    .l-header-logo .logo {
      margin-right: min(0.8333333333vw,16px);display: flex; }
      .l-header-logo .logo a {
        display: block;
        line-height: 1;
        vertical-align: top; }
        .l-header-logo .logo a:hover {
          opacity: 1; }
      .l-header-logo .logo img {
        width: min(19.6354166667vw,377px); }
    .l-header-logo .copy {
      font-weight: 500;
      font-size: min(0.9375vw,18px); }
      @media screen and (max-width: 768px) {
        .l-header-logo .copy {
          font-size: 4.8vw; } }
  .l-header-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: min(1.0416666667vw,20px); }
    .l-header-nav .menu {
      display: flex;
      margin-right: min(3.8020833333vw,40px); }
      .l-header-nav .menu li a {
        display: block;
        text-decoration: none;
        font-size: min(1.0458333333vw,24px);
        font-weight: 500;
        padding: 30px min(1.3625vw,30px);
        color: #222;
        letter-spacing: 0.05em; }
        @media screen and (max-width: 768px) {
          .l-header-nav .menu li a {
            font-size: 5.8666666667vw; } }
        .l-header-nav .menu li a:hover {
          text-decoration: none; }
.l-header-nav .tel {
    margin-right: min(1.3020833333vw, 25px);
}
      .l-header-nav .tel a {
        display: inline-block;
        color: #222;
        font-family: Roboto, "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        font-weight: 500;
        font-size: min(1.875vw,36px); }
        @media screen and (max-width: 768px) {
          .l-header-nav .tel a {
            font-size: 9.6vw; } }
        .l-header-nav .tel a:hover {
          text-decoration: none; }
        .l-header-nav .tel a span {
          display: block;
          background: url(../images/top/icon-tel.svg) no-repeat left center;
          background-size: min(1.3541666667vw,26px) min(1.5625vw,30px);
          padding-left: min(1.6666666667vw,32px); 
;}
    .l-header-nav .contact a {
      display: block;
      color: #fff;
      background: #DE0A0A;
      border-radius: 50px;
      font-size: min(1.1458333333vw,22px);
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
      padding-left: min(1.5625vw,30px);
      padding-right: min(1.5625vw,30px); }
      @media screen and (max-width: 768px) {
        .l-header-nav .contact a {
          font-size: 5.8666666667vw; } }
      .l-header-nav .contact a:hover {
        text-decoration: none; }
      .l-header-nav .contact a span {
        display: inline-block;
        background: url(../images/top/icon-contact-white.svg) no-repeat left center;
        background-size: min(1.40625vw,27px) min(1.1458333333vw,22px);
        padding-left: min(1.7708333333vw,34px);
        padding-top: min(0.625vw,12px);
        padding-bottom: min(0.625vw,12px); }

.l-footer {
  margin-top: 60px; }
  .l-footer-logo {
    text-align: center;
    margin-bottom: 50px; }
    .l-footer-logo a:hover {
      opacity: 1; }
  .l-footer-info {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 60px; }
    .l-footer-info h1 a:hover {
      opacity: 1; }
    .l-footer-info .logo {
      margin-right: 60px; }
      .l-footer-info .logo .button {
        margin-top: 20px; }
        .l-footer-info .logo .button a {
          display: block;
          border-radius: 40px;
          border: 2px solid #222;
          text-align: center;
          padding: 3px 20px;
          color: #222; }
          .l-footer-info .logo .button a:hover {
            text-decoration: none; }
          .l-footer-info .logo .button a span {
            display: block;
            background: url(../images/top/arrow1.svg) no-repeat right center;
            background-size: 7px 13px; }
    .l-footer-info .info a {
      color: #222; }
  .l-footer-copyright {
    background: #DE0A0A;
    color: #fff;
    text-align: center;
    padding: 18px; }
    .l-footer-copyright p {
      font-size: 13px;
      font-size: 1.3rem;
      letter-spacing: 0.04em; }

.l-pagetop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all; }
  .l-pagetop a {
    display: block; }
  .l-pagetop.is-scrolled {
    pointer-events: auto;
    opacity: 1; }

/*=======================================
コンテンツ
=========================================*/
.p-top-kv {
  background: url(../images/top/kv-bg.svg) no-repeat right center;
  background-size: auto 100%;
  /*padding: min(8.3333333333vw,160px) min(1.0416666667vw,20px) min(5.625vw,108px) min(4.6875vw,90px);*/
  padding: min(8.3333333333vw, 160px) min(1.0416666667vw, 20px) min(5.625vw, 135px) min(4.6875vw, 90px);
  margin-bottom: min(7.03125vw,135px);
  display: flex;
  align-items: top;
  justify-content: space-between;
  position: relative; }
  .p-top-kv .box {
    width: 40.7735%;
    padding-top: min(1.5625vw, 100px);
}
    .p-top-kv .box .balloon {
      margin-bottom: min(0.7291666667vw,14px); }
      .p-top-kv .box .balloon img {
        filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.16)); }
    .p-top-kv .box .txt {
      padding-left: min(1.7708333333vw, 34px); }
    .p-top-kv .box .catch {
      font-size: min(2.0833333333vw,52px);
      line-height: 1.3;
      color: #DE0A0A;
      font-weight: 700;
      margin-bottom: min(1.8229166667vw,35px); }
      .pc-kv{
            position: relative;
    left: -40px;
    bottom: -5px;
      }
      @media screen and (max-width: 768px) {
        .p-top-kv .box .catch {
          font-size: 10.6666666667vw; } }
      .p-top-kv .box .catch span {
        font-size: min(2.5vw,48px); }
        @media screen and (max-width: 768px) {
          .p-top-kv .box .catch span {
            font-size: 12.8vw; } }
      .p-top-kv .box .catch em {
        font-size: min(3.75vw,84px);
        font-weight: 900; }
        @media screen and (max-width: 768px) {
          .p-top-kv .box .catch em {
            font-size: 19.2vw; } }
    .p-top-kv .box .lead {
      font-size: min(1.25vw,28px);
      line-height: 1.8;
      font-weight: 500; }
      @media screen and (max-width: 768px) {
        .p-top-kv .box .lead {
          font-size: 6.4vw; } }
  .p-top-kv .img {
    width: 59.5580%;
    position: relative;
 }
    .p-top-kv .img .responsetimetxt {
      position: absolute;
      font-size: min(1.3020833333vw,25px);
      top: min(0.395833vw, -50px);
      right: min(2.6041666667vw,50px);
      background: #FFC828;
      color: #222222;
      font-weight: 700;
      border-radius: 50%;
      display: block;
      aspect-ratio: 1/1;
      width: min(10.4166666667vw,200px);
      display: flex;
      flex-direction: column;
      z-index: 9999;
      justify-content: center; }
      @media screen and (max-width: 768px) {
        .p-top-kv .img .responsetimetxt {
          font-size: 6.6666666667vw; } }
      .p-top-kv .img .responsetimetxt span {
        display: block;
        line-height: 1.5;
        text-align: center; }
        .p-top-kv .img .responsetimetxt span:nth-of-type(2) {
          font-size: min(1.6666666667vw,32px); }
          @media screen and (max-width: 768px) {
            .p-top-kv .img .responsetimetxt span:nth-of-type(2) {
              font-size: 8.5333333333vw; } }
  .p-top-kv .freetxt {
    max-width: calc(100vw*(1793 / 1900));
    position: absolute;
    /*bottom: min(1.5625vw,30px);*/
        bottom: min(1.625vw, 30px);
    display: flex;
    color: #DE0A0A;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background: #fff;
    border-radius: 100px;
    padding: 0 min(1.5625vw,30px) 0 min(1.7708333333vw,34px);
    /*max-width: calc(100vw*(1700 / 1900));*/
    border: 5px solid #FFD5CF;
    max-width: min(88.5416666667vw,1700px); }
    .p-top-kv .freetxt p:nth-of-type(1) {
      font-size: min(1.4583333333vw,28px);
      font-weight: 700; }
      @media screen and (max-width: 768px) {
        .p-top-kv .freetxt p:nth-of-type(1) {
          font-size: 7.4666666667vw; } }
    .p-top-kv .freetxt p:nth-of-type(2) {
      font-size: min(2.34375vw,45px);
      font-weight: 900; }
      @media screen and (max-width: 768px) {
        .p-top-kv .freetxt p:nth-of-type(2) {
          font-size: 12vw; } }
    .p-top-kv .freetxt p:nth-of-type(3) {
      font-size: min(0.8333333333vw,16px);
      transform: translateY(min(0.78125vw,15px)); }
      @media screen and (max-width: 768px) {
        .p-top-kv .freetxt p:nth-of-type(3) {
          font-size: 4.2666666667vw; } }
.p-top-lead {
  margin-bottom: 160px; }
  .p-top-lead .intro {
    margin-bottom: 100px; }
    .p-top-lead .intro .h {
      text-align: center;
      font-size: 48px;
      font-size: 4.8rem;
      font-weight: 700;
      line-height: 1.5;
      margin-bottom: 63px;
      color: #DE0A0A; }
      .p-top-lead .intro .h em {
        background: url(../images/top/lead-line1.png) repeat-x center bottom;
        background-size: 5px 15px; }
    .p-top-lead .intro .txt {
      text-align: center; }
  .p-top-lead .solution {
    background: url(../images/top/lead-bg1.png) center top;
    background-size: 20px 20px;
    padding-top: 155px;
    padding-bottom: 80px;
    position: relative;
    text-align: center; }
    .p-top-lead .solution:before {
      display: block;
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      margin-left: -100px;
      border-top: 80px solid #fff;
      border-left: 100px solid transparent;
      border-right: 100px solid transparent; }
    .p-top-lead .solution .lead {
      font-size: 40px;
      font-size: 4rem;
      font-weight: 700;
      line-height: 1.8;
      margin-bottom: 35px; }
      .p-top-lead .solution .lead em {
        color: #F06855; }
    .p-top-lead .solution .logo {
      margin-bottom: 35px; }
      .p-top-lead .solution .logo img {
        filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.16)); }
    .p-top-lead .solution .copy {
      font-weight: 500; }
      .p-top-lead .solution .copy small {
        font-size: 100%; }
.p-top-feature {
  margin-bottom: 130px; }
  .p-top-feature .c-title1 {
    margin-bottom: 87px; }
    .p-top-feature .c-title1 .h span {
      background-image: url(../images/top/feature-icon.svg); }
  .p-top-feature .content {
    margin-bottom: 80px; }
    .p-top-feature .content ul {
      display: flex;
      justify-content: center;
      flex-wrap: wrap; }
    .p-top-feature .content li {
      width: 29.1666%;
      margin-left: 6.2501%;
      margin-bottom: 60px;
      background-position: right 15px;
      background-repeat: no-repeat; }
      .p-top-feature .content li:nth-child(3n+1) {
        margin-left: 0; }
      .p-top-feature .content li:nth-child(1) {
        background-image: url(../images/top/feature-icon1.svg);
        background-size: 167px 135px; }
      .p-top-feature .content li:nth-child(2) {
        background-image: url(../images/top/feature-icon2.svg);
        background-size: 130px 130px; }
      .p-top-feature .content li:nth-child(3) {
        background-image: url(../images/top/feature-icon3.svg);
        background-size: 159px 131px; }
      .p-top-feature .content li:nth-child(4) {
        background-image: url(../images/top/feature-icon4.svg);
        background-size: 153px 135px; }
      .p-top-feature .content li:nth-child(5) {
        background-image: url(../images/top/feature-icon5.svg);
        background-size: 155px 132px; }
      .p-top-feature .content li .no {
        font-size: 90px;
        font-size: 9rem;
        font-weight: 700;
        font-family: Roboto, "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        color: #F06855;
        line-height: 1;
        margin-bottom: 20px; }
      .p-top-feature .content li .title {
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: 700;
        margin-bottom: 20px; }
  .p-top-feature .contact {
    background: #00B79A;
    color: #fff;
    text-align: center;
    border-radius: 10px;
    position: relative;
    padding: 50px 20px 55px;
    max-width: 1200px;
    margin: 160px auto; }
    .p-top-feature .contact:before {
      display: block;
      content: "";
      position: absolute;
      border: 2px solid #fff;
      border-radius: 5px;
      width: calc(100% - 20px);
      height: calc(100% - 20px);
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      z-index: 1;
      pointer-events: none; }
    .p-top-feature .contact .h {
      font-size: 32px;
      font-size: 3.2rem;
      font-weight: 700;
      margin-bottom: 35px; }
    .p-top-feature .contact ul {
      display: flex;
      justify-content: center;
      align-items: center; }
    .p-top-feature .contact li {
      margin-left: 25px;
      margin-right: 25px; }
    .p-top-feature .contact .tel a {
      display: block;
      color: #fff;
      font-weight: 700;
      font-family: Roboto, "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
      line-height: 1;
      font-size: 64px;
      font-size: 6.4rem; }
      .p-top-feature .contact .tel a:hover {
        text-decoration: none; }
      .p-top-feature .contact .tel a span {
        display: inline-block;
        background: url(../images/top/icon-tel-white.svg) no-repeat left center;
        background-size: 43px 50px;
        padding-left: 54px; }
    .p-top-feature .contact .form a {
      display: block;
      color: #fff;
      background: #0050A0;
      border-radius: 50px;
      font-size: 28px;
      font-size: 2.8rem;
      font-weight: 500;
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
      padding-left: 80px;
      padding-right: 90px; }
      .p-top-feature .contact .form a:hover {
        text-decoration: none; }
      .p-top-feature .contact .form a span {
        display: inline-block;
        background: url(../images/top/icon-contact-white.svg) no-repeat left center;
        background-size: 32px 26px;
        padding-left: 34px;
        padding-top: 9px;
        padding-bottom: 10px; }
.p-top-speed {
  background-color: #FFE9E6;
  position: relative;
  padding: 160px 0 120px; }
  .p-top-speed .c-title1 {
    margin-bottom: 60px; }
    .p-top-speed .c-title1 .h span {
      padding-top: 0;
      position: relative;
      z-index: 1; }
      .p-top-speed .c-title1 .h span::before {
        content: "SPEED";
        font-family: 'Roboto';
        color: #FFF;
        font-size: 130px;
        font-weight: 900;
        font-style: italic;
        letter-spacing: 0.05em;
        line-height: 1.1;
        position: absolute;
        transform: translateX(-50%);
        left: 50%;
        top: -150%;
        z-index: -1; }
  .p-top-speed .speed-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 40px; }
    .p-top-speed .speed-wrap .speed-item {
      background-color: #FFF;
      border-radius: 10px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
      padding: 40px;
      max-width: 510px; }
      .p-top-speed .speed-wrap .speed-item:first-of-type {
        margin-right: 40px; }
      .p-top-speed .speed-wrap .speed-item h3 {
        font-size: 32px;
        font-weight: 700;
        margin-bottom: 20px; }
        .p-top-speed .speed-wrap .speed-item h3::before {
          content: "";
          background-image: url(../images/top/speed-icon1.svg);
          background-position: center;
          background-size: contain;
          background-repeat: no-repeat;
          width: 38px;
          height: 33px;
          display: inline-block;
          vertical-align: middle;
          margin-right: 10px;
          margin-bottom: 7px; }
      .p-top-speed .speed-wrap .speed-item p {
        line-height: 1.6;
        text-align: left;
        font-size: 18px; }
  .p-top-speed p {
    text-align: center;
    font-size: 16px;
    line-height: 1.6; }
  .p-top-speed img {
    position: absolute;
    width: calc(100vw * (375 / 1920));
    height: calc(100vw * (355 / 1920));
    right: calc(100vw * (75 / 1920));
    bottom: calc(100vw * (-66 / 1920)); }
.p-top-telbanner .contact {
  background: #F06855;
  color: #fff;
  text-align: center;
  border-radius: 10px;
  position: relative;
  padding: 50px 20px 55px;
  max-width: 1200px;
  margin: 160px auto; }
  .p-top-telbanner .contact:before {
    display: block;
    content: "";
    position: absolute;
    border: 2px solid #fff;
    border-radius: 5px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
    pointer-events: none; }
  .p-top-telbanner .contact .h {
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: 700;
    margin-bottom: 35px; }
  .p-top-telbanner .contact ul {
    display: flex;
    justify-content: center;
    align-items: center; }
  .p-top-telbanner .contact li {
    margin-left: 25px;
    margin-right: 25px; }
  .p-top-telbanner .contact .tel a {
    display: block;
    color: #fff;
    font-weight: 700;
    font-family: Roboto, "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 1;
    font-size: 64px;
    font-size: 6.4rem; }
    .p-top-telbanner .contact .tel a:hover {
      text-decoration: none; }
    .p-top-telbanner .contact .tel a span {
      display: inline-block;
      background: url(../images/top/icon-tel-white.svg) no-repeat left center;
      background-size: 43px 50px;
      padding-left: 54px; }
  .p-top-telbanner .contact .form a {
    display: block;
    color: #fff;
    background: #DE0A0A;
    border-radius: 50px;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 500;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    padding-left: 80px;
    padding-right: 90px; }
    .p-top-telbanner .contact .form a:hover {
      text-decoration: none; }
    .p-top-telbanner .contact .form a span {
      display: inline-block;
      background: url(../images/top/icon-contact-white.svg) no-repeat left center;
      background-size: 32px 26px;
      padding-left: 34px;
      padding-top: 9px;
      padding-bottom: 10px; }
.p-top-voice {
  margin-bottom: 160px; }
  .p-top-voice .c-title1 {
    margin-bottom: 70px; }
    .p-top-voice .c-title1 .h span {
      background-image: url(../images/top/voice-icon.svg); }
  .p-top-voice .content dl {
    margin: 0;
    margin-bottom: 60px;
    display: flex;
    justify-content: space-between; }
    .p-top-voice .content dl:last-child {
      margin-bottom: 0; }
  .p-top-voice .content dt {
    width: 150px;
    text-align: center; }
    .p-top-voice .content dt .use {
      margin-top: 12px;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.5;
      white-space: nowrap;
      display: flex;
      justify-content: center; }
  .p-top-voice .content dd {
    width: calc(100% - 210px);
    position: relative;
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.16));
    border-radius: 10px;
    padding: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff; }
    .p-top-voice .content dd:before {
      display: block;
      content: "";
      position: absolute;
      left: -35px;
      top: 57px;
      border-right: 35px solid #fff;
      border-top: 16px solid transparent;
      border-bottom: 16px solid transparent; }
    .p-top-voice .content dd .title {
      font-size: 24px;
      font-size: 2.4rem;
      font-weight: 700;
      padding-bottom: 27px;
      margin-bottom: 25px;
      border-bottom: 3px dotted #F06855; }
      .p-top-voice .content dd .title em {
        color: #F06855; }
.p-top-plan {
  background: url(../images/top/plan-bg1.png) center top;
  background-size: 20px 20px;
  padding-top: 120px;
  padding-bottom: 160px; }
  .p-top-plan .c-title1 {
    margin-bottom: 63px; }
    .p-top-plan .c-title1 .h span {
      background-image: url(../images/top/plan-icon.svg); }
  .p-top-plan .content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    margin-bottom: 10px; }
    .p-top-plan .content dl {
      margin: 0;
      width: 23.1666%;
      margin-left: 2.444533%;
      background: #fff;
      border-radius: 10px;
      border: 3px solid #F06855;
      text-align: center;
      margin-bottom: 60px; }
      .p-top-plan .content dl:nth-child(4n+1) {
        margin-left: 0; }
      .p-top-plan .content dl.pro {
        border-color: #DE0A0A; }
        .p-top-plan .content dl.pro dt {
          background: #DE0A0A; }
        .p-top-plan .content dl.pro dd li {
          border-bottom-color: #DE0A0A; }
    .p-top-plan .content dt {
      background: #F06855;
      color: #fff;
      border-radius: 5px 5px 0 0;
      padding: 21px 15px;
      display: flex;
      flex-direction: column;
      align-items: center; }
      .p-top-plan .content dt .recommend {
        background: #FFE355;
        font-weight: 500;
        color: #222;
        padding: 0 27px;
        border-radius: 30px;
        margin-bottom: 8px; }
      .p-top-plan .content dt .title {
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: 700; }
    .p-top-plan .content dd {
      padding: 20px 17px 24px; }
      .p-top-plan .content dd li {
        border-bottom: 3px dotted #F06855;
        padding-bottom: 22px;
        margin-bottom: 22px; }
        .p-top-plan .content dd li:last-child {
          border-bottom: 0;
          padding-bottom: 0;
          margin-bottom: 0; }
      .p-top-plan .content dd .basis {
        font-weight: 400; }
      .p-top-plan .content dd .volume {
        line-height: 1.2; }
        .p-top-plan .content dd .volume em {
          font-size: 40px;
          font-size: 4rem;
          font-weight: 700;
          margin-right: 4px; }
      .p-top-plan .content dd .price {
        margin-top: 8px;
        font-size: 16px;
        font-size: 1.6rem; }
  .p-top-plan .remarks {
    margin-bottom: 70px; }
    .p-top-plan .remarks li {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.6;
      padding-left: 21px;
      position: relative;
      margin-bottom: 6px; }
      .p-top-plan .remarks li:last-child {
        margin-bottom: 0; }
      .p-top-plan .remarks li:before {
        display: block;
        content: "";
        position: absolute;
        left: 0;
        width: 6px;
        height: 6px;
        border-radius: 100%;
        background: #DE0A0A;
        top: 10px;
        left: 6px; }
  .p-top-plan .payment {
    background: #FFE9E6;
    border-radius: 10px;
    padding: 42px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .p-top-plan .payment .box {
      width: calc(100% - 296px); }
      .p-top-plan .payment .box .h {
        font-size: 32px;
        font-size: 3.2rem;
        font-weight: 700;
        line-height: 1.6;
        margin-bottom: 32px; }
        .p-top-plan .payment .box .h em {
          color: #F06855; }
      .p-top-plan .payment .box .note {
        margin-top: 22px; }
        .p-top-plan .payment .box .note li {
          text-indent: -1em;
          padding-left: 1em;
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.6; }
    .p-top-plan .payment .img {
      width: 296px;
      position: relative;
      margin-top: -60px;
      text-align: right;
    bottom: -65px; }
.p-top-contact {
  background: #FFE9E6;
  padding-bottom: 160px; }
  .p-top-contact .heading {
    background: #F06855;
    color: #fff;
    padding: 80px 15px;
    text-align: center;
    position: relative;
    margin-bottom: 160px; }
    .p-top-contact .heading:before {
      display: block;
      content: "";
      position: absolute;
      left: 50%;
      margin-left: -100px;
      top: 98%;
      border-top: 80px solid #F06855;
      border-left: 100px solid transparent;
      border-right: 100px solid transparent; }
    .p-top-contact .heading .h {
      font-size: 40px;
      font-size: 4rem;
      font-weight: 700;
      line-height: 1.4; }
  .p-top-contact .tel {
    background: #fff;
    border-radius: 10px;
    text-align: center;
    padding: 40px 20px;
    margin-bottom: 82px; }
    .p-top-contact .tel .title {
      margin-bottom: 20px;
      font-size: 32px;
      font-size: 3.2rem;
      font-weight: 500; }
    .p-top-contact .tel .no {
      margin-bottom: 20px; }
      .p-top-contact .tel .no a {
        font-size: 64px;
        font-size: 6.4rem;
        font-weight: 700;
        line-height: 1;
        color: #DE0A0A;
        display: inline-block;
        font-family: Roboto, "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
        .p-top-contact .tel .no a:hover {
          text-decoration: none; }
        .p-top-contact .tel .no a span {
          display: inline-block;
          background: url(../images/top/icon-tel-red.svg) no-repeat left center;
          background-size: 43px 50px;
          padding-left: 58px; }
  .p-top-contact .form .title {
    text-align: center;
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: 500;
    border-bottom: 3px dotted #DE0A0A;
    padding-bottom: 20px;
    margin-bottom: 60px; }
  .p-top-contact .form table {
    width: 100%; }
  .p-top-contact .form th {
    width: 320px;
    vertical-align: top;
    font-weight: 500;
    padding-bottom: 25px;
    padding-top: 10px;
    text-align: left; }
    .p-top-contact .form th .icon {
      float: right;
      margin-top: 2px;
      color: #fff;
      font-weight: 500;
      line-height: 1.2;
      border-radius: 3px;
      padding: 3px 5px; }
      .p-top-contact .form th .icon.required {
        background: #FF0000; }
      .p-top-contact .form th .icon.any {
        background: #666; }
  .p-top-contact .form td {
    width: calc(100% - 320px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 50px;
    padding-bottom: 25px; }
    .p-top-contact .form td input[type="text"],
    .p-top-contact .form td input[type="tel"],
    .p-top-contact .form td input[type="email"],
    .p-top-contact .form td textarea {
      width: 100%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 15px 15px;
      font-size: 16px;
      font-size: 1.6rem;
      border: 0;
      border-radius: 5px; }
    .p-top-contact .form td textarea {
      height: 200px;
      resize: vertical; }
    .p-top-contact .form td .checkbox {
      display: flex;
      flex-wrap: wrap; }
      .p-top-contact .form td .checkbox label {
        cursor: pointer; }
      .p-top-contact .form td .checkbox li {
        margin-right: 30px;
        margin-top: 5px;
        margin-bottom: 5px; }
  .p-top-contact .form .submit {
    text-align: center;
    margin-top: 55px; }
    .p-top-contact .form .submit input[type="button"],
    .p-top-contact .form .submit input[type="submit"] {
      background: #DE0A0A;
      width: 350px;
      max-width: 100%;
      margin-left: auto;
      margin-right: auto;
      display: block;
      border: 0;
      border-radius: 80px;
      color: #fff;
      font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
      font-size: 24px;
      font-size: 2.4rem;
      font-weight: 500;
      padding: 20px 30px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      cursor: pointer; }
    .p-top-contact .form .submit .form-btn-return input[type="button"],
    .p-top-contact .form .submit .form-btn-return input[type="submit"] {
      width: 150px;
      background: #888; }

.contact-form {
  background-color: #FFE9E6; }

.contact-form-group {
  background-color: #FFE9E6;
  border-bottom: none; }

.contact-box h3 {
  padding: 0 15px;
  margin-bottom: 15px; }
.contact-box p.message {
  padding: 0 15px;
  margin-bottom: 30px; }
.contact-box .message-text {
  margin-bottom: 30px;
  padding: 0 15px; }

.p-top-beneeits {
  background-color: #FFEFBF;
  position: relative;
  padding: 160px 0 120px;
}
.p-top-beneeits:before {
    display: block;
    content: "";
    position: absolute;
    border: 3px solid #fff;
    border-radius: 5px;
    width: calc(100% - 50px);
    height: calc(100% - 50px);
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
    pointer-events: none;
}

.p-top-beneeits .c-title1 {
  margin-bottom: 60px;
}

.p-top-beneeits .c-title1 .h span {
  padding-top: 0;
  position: relative;
  z-index: 1;
}

.p-top-beneeits .c-title1 .h span::before {
  content: "BENEFITS";
  font-family: 'Roboto';
  color: #FFC828;
  font-size: 130px;
  font-weight: 900;
  font-style: italic;
  letter-spacing: 0.05em;
  line-height: 1.1;
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  top: -150%;
  z-index: -1;
}

.p-top-beneeits .speed-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
}

.p-top-beneeits .beneeits-wrap .beneeits-item {
  background-color: #FFF;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
  padding: 20px;
  font-weight: 600;
}
.maintenance-text{
  font-size: 30px;
  font-weight: 900;
}

.p-top-beneeits .beneeits-wrap .beneeits-item:first-of-type {
  color: #DE0A0A;
}

.p-top-beneeits .beneeits-wrap .beneeits-item h3 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 20px;
}

.p-top-beneeits .beneeits-wrap .beneeits-item h2::before {
  content: "";
  background-image: url(../images/top/beneeits-icon1.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 38px;
  height: 33px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  margin-bottom: 7px;
}

.p-top-beneeits .beneeits-wrap .beneeits-item .beneeits-p::before {
  content: "";
  background-image: url(../images/top/beneeits-icon1.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 38px;
  height: 33px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  margin-bottom: 7px;
}

.p-top-beneeits .beneeits-wrap .beneeits-item p {
  line-height: 1.6;
  text-align: left;
  font-size: 22px;
}

.p-top-beneeits p {
  text-align: center;
  font-size: 16px;
  line-height: 1.6;
}

.p-top-beneeits img {
  position: absolute;
  width: calc(100vw * (300 / 1920));
  height: calc(100vw * (250 / 1920));
  right: calc(100vw * (100 / 1920));
  bottom: calc(100vw * (-66 / 1920));
}

.beneeits-wrap {
  margin: 40px auto;
  max-width: 1200px;
}

.beneeits-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}

/* 各特典項目のボックス */
.beneeits-item {
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
  max-width: 800px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
  text-align: left;
  color: #DE0A0A;
}

/* 特典内のテキスト装飾 */
.beneeits-item .cost {
  background-color: #FFEFBF;
  color: #DE0A0A;
  font-weight: bold;
  padding: 2px 4px;
  border-radius: 4px;
}

.beneeits-item span .maintenance {
  background-color: #005bac;
  color: #F6ED6B;
  font-weight: bold;
  padding: 2px 4px;
  border-radius: 4px;
}

/* 無料だけ赤く */
.beneeits-item span:nth-of-type(4) {
  background-color: transparent;
  color: #FF3F54;
  font-size: 25px;
}

/* メンテ60の見出し強調 */
.beneeits-item h2 span {
  background-color: #FFEFBF;
  color: #DE0A0A;
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: 600;
}

.beneeits-01{
  width: 941px;
  margin: auto;
}

.beneeits-02{
  width: 791px;
  margin-left: auto;
  margin-top: -7px;
}

.beneeits-02 h2{
  text-align: center;
  font-size: 34px;
  font-weight: 500;
}

.beneeits-cost{
  margin-left: 2em;
}

.maintenance{
    background-color: #DE0A0A;
    color: #FFEFBF;
    border-radius: 4px;
    display: inline-block;
    padding: 5px;
    font-size: 30px;
    margin-top: 10px;
}
.background{
  max-width: none;
background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 30%, rgba(255, 233, 230, 1) 30%, rgba(255, 233, 230, 1) 100%);
  margin-bottom: 60px;
}
.imgbox {
    max-width: 1200px;
    display: flex
;
    justify-content: space-between;
    text-align: center;
    margin: auto;
}

.achievements-box {
    margin-bottom: 100px;
}
.p-top-achievements {
    max-width: none;
}
.achievements-text{
  color: #DE0A0A;
  font-weight: 600;
}
.copy-text{
      font-size: 20px;
    padding: 0px 0px;
    border: 3px solid #DE0A0A;
    color: #DE0A0A;
    border-radius: 30px;
    white-space: nowrap;
    margin: auto;
    background: none;
    max-width: 215px;
    font-weight: 500;
}
.p-top-achievements .c-title1 .h span {
    background-image: url(../images/top/achievements-icon.svg);
}
.p-top-kv .freetxt p:nth-of-type(1) {
    font-size: min(1.4583333333vw, 40px);
    font-weight: 700;
}
.p-top-kv .freetxt p:nth-of-type(2) {
    font-size: min(2.34375vw, 60px);
    font-weight: 900;
}

.kv-logo-text {
    margin-left: 40px;
    line-height: 1;
    position: relative;
    bottom: -10px;
    font-weight: 600;
}
.is_tablet .l-header-logo .copy {
  font-size: min(1.25vw,24px); }
  .is-scrolled .l-header-logo {
    display: flex;
    padding: 20px 10px 10px 10px;
}
.is-scrolled .l-header-logo .logo .copy {
    font-size: min(0.8375vw, 16px);
    letter-spacing: 0;
    position: relative;
    top: -2px;
}
.is-scrolled .l-header-logo .kv-logo-text {
    font-size: min(0.8375vw, 16px);
    margin: 10px 0;
    font-weight: 500;
}
  .l-header-logo .copy {
    font-weight: 700;
    font-size: min(0.9375vw, 18px);
    display: inline-block;
    padding: 2.5px 14.5px;
    border: 2px solid;
    border-radius: 300px;
    color: #DE0A0A;
    margin: 10px 0 0 10px;
}
.l-header-logo .logo p {
    font-size: 18px;
    text-align: center;
    margin: 17px 0 0 10px;
}
.text-midashi{
  font-weight: 600;
}
.p-top-feature .c-title1 .h span.subtext {
    background-image: none;
    max-width: 270px;
    width: 100%;
    padding: 2px;
}
.p-top-plan .c-title1 .h span.subtext {
    background-image: none;
    max-width: 270px;
    width: 100%;
    padding: 2px;
}
.subtext {
    font-size: 26px;
    display: inline-block;
    padding: 8px 24px;
    border: 3px solid #DE0A0A;
    color: #DE0A0A;
    border-radius: 30px;
    white-space: nowrap;
    margin: auto;
    background: none;
}
.is_tablet .l-header.is-scrolled{
  background: #fff;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
        position: fixed;
        animation: show 0.5s ease 0s;
}

.is_tablet .l-header.is-scrolled .l-header-logo{
        display: flex;
        align-items: center;
        padding: 10px 10px 20px 10px;
}
.is_tablet .is-scrolled .l-header-logo .kv-logo-text {
        font-size: min(0.7305vw, 18px);
        margin: 0 0 20px 20px;
        font-weight: 500;
    }
.is_tablet .is-scrolled .l-header-logo .logo .copy {
        font-size: min(0.7075vw, 18px);
        letter-spacing: 0;
        padding: 6px;
    }

.is_tablet .l-header-nav .menu li a {
    display: block;
    text-decoration: none;
    font-size: min(0.6458333333vw, 24px);
    font-weight: 500;
    padding: 30px min(0.3625vw, 30px);
    color: #222;
    letter-spacing: 0.05em;
}
.is_tablet .l-header-nav .tel {
    margin-right: min(1.1020833333vw, 25px);
}
.is_tablet .l-header-logo .logo p {
        font-size: 12px;
        text-align: center;
        margin: 7px 0 0 10px;
    }

@media screen and (max-width: 1300px) {
    .l-header-logo .copy {
        margin-left: -45px;
    }
    .l-header-logo .logo p {
    font-size: 12px;
    text-align: center;
    margin: 10px 0 0 10px;
}
    .p-top-kv .img .responsetimetxt{
      top: min(0.395833vw, -10px);
    }
    .p-top-beneeits:before {
    display: none;
}
.p-top-speed img {
position: absolute;
        width: calc(100vw * (300 / 1920));
        height: calc(100vw * (300 / 1920));
        right: calc(100vw * (75 / 1920));
        bottom: calc(100vw * (-66 / 1920));
}
    .is-scrolled .l-header-logo .kv-logo-text {
        font-size: 11px;
        margin: 10px 0 20px 20px;
        font-weight: 500;
    }
        .is-scrolled .l-header-logo .logo .copy {
        font-size: 11px;
        letter-spacing: 0;
    }
    .l-header-logo .logo {
    margin-right: min(0.8333333333vw, 16px);
    display: flex;
    margin-top: 7px;
}
}
@media screen and (max-width: 1024px) {
    .l-header {
        display: flex;
        justify-content: space-between;
        background: #fff;
        position: absolute;
        width: 100%;
        left: 0;
        top: 0;
        z-index: 9;
        position: fixed;
        align-items: normal;
    }
}
@media screen and (max-width: 896px) {
  .contact-box p.message {
    padding: 0 10px;
    margin-bottom: 30px; } }
/* ----------------------------- タブレット（897～1024px） */
/* ----------------------------- スマホ（～896px） */

@media screen and (max-width: 896px) {
  body {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 160%;
    min-width: initial; }

  .c-wrap, .c-wrap-1000 {
    max-width: 375px;
    padding-left: 10px;
    padding-right: 10px; }

  .c-title1 {
    margin-bottom: 60px; }
    .c-title1 .h {
      font-size: 30px;
      font-size: 3rem; }
      .c-title1 .h span {
        background-size: auto 40px;
        padding-top: 55px; }

  .l-header {
    display: flex;
    justify-content: space-between;
    background: #fff;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 9;
    position: fixed; }
    .l-header-logo {
      display: flex;
      flex-direction: column;
      padding: 6px 10px; }
      .l-header-logo .logo {
        margin: 0;display: block; }
        .l-header-logo .logo img {
          width: 200px;
          vertical-align: top; }
      .l-header-logo .copy {
        font-size: 12px;
        font-size: 1.2rem; }
    .l-header-btn {
      width: 60px;
      height: 60px;
      background: #DE0A0A;
      border-radius: 0 0 0 10px;
      color: #fff;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center; }
      .l-header-btn span {
        width: 34px;
        height: 2px;
        background: #fff;
        margin-bottom: 27px;
        position: relative;
        -webkit-transition: 0.6s ease all;
        transition: 0.6s ease all; }
        .l-header-btn span:before, .l-header-btn span:after {
          display: block;
          content: "";
          position: absolute;
          width: 100%;
          height: 100%;
          left: 0;
          background: #fff;
          -webkit-transition: 0.6s ease all;
          transition: 0.6s ease all; }
        .l-header-btn span:before {
          bottom: -10px; }
        .l-header-btn span:after {
          bottom: -20px; }
      .l-header-btn .t {
        font-size: 11px;
        font-size: 1.1rem;
        font-family: Roboto, "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        letter-spacing: 0.05em;
        line-height: 1;
        font-weight: 700; }
      .l-header-btn.is-open span {
        background: transparent; }
        .l-header-btn.is-open span:before {
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
        .l-header-btn.is-open span:after {
          bottom: -10px;
          -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }
    .l-header-nav {
      display: none;
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: calc(100vh - 60px);
      padding: 110px 10px 90px;
      overflow: auto;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      z-index: -1;
      background: #fff; }
      .l-header-nav .menu {
        margin-right: 0;
        display: block; }
        .l-header-nav .menu li {
          border-top: 1px solid #ccc; }
          .l-header-nav .menu li:last-child {
            border-bottom: 1px solid #ccc; }
          .l-header-nav .menu li a {
            font-size: 22px;
            font-size: 2.2rem;
            padding: 24px 20px; }

  .l-footer-logo {
    margin-bottom: 50px; }
    .l-footer-logo img {
      width: 75vw; }
  .l-footer-info {
    flex-direction: column;
    margin-bottom: 40px;
    padding-left: 20px;
    padding-right: 20px; }
    .l-footer-info .logo {
      margin-right: 0;
      margin-bottom: 25px; }
      .l-footer-info .logo h1 img {
        width: 180px; }
      .l-footer-info .logo .button {
        margin-top: 15px; }
  .l-footer-copyright {
    padding: 12px;
    padding-bottom: 72px; }

  .l-spmenu {
    position: fixed;
    width: 100%;
    z-index: 9999;
    left: 0;
    bottom: 0; }
    .l-spmenu ul {
      display: flex;
      justify-content: space-between; }
    .l-spmenu .tel,
    .l-spmenu .contact {
      width: calc(50% - 30px); }
      .l-spmenu .tel a,
      .l-spmenu .contact a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 60px;
        background: #c50000;
        color: #fff;
        text-align: center;
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: 500;
        text-decoration: none; }
        .l-spmenu .tel a:hover,
        .l-spmenu .contact a:hover {
          opacity: 1; }
        .l-spmenu .tel a span,
        .l-spmenu .contact a span {
          display: inline-block;
          background-position: left center;
          background-repeat: no-repeat; }
    .l-spmenu .tel a {
      background: #DE0A0A; }
    .l-spmenu .tel a span {
      background-image: url(../images/top/icon-tel-white.svg);
      background-size: 14px auto;
      padding-left: 19px; }
    .l-spmenu .contact a span {
      background-image: url(../images/top/icon-contact-white.svg);
      background-size: 18px auto;
      padding-left: 23px; }
    .l-spmenu .pagetop {
      width: 60px;
      margin-right: 0; }

  .p-top-kv {
    display: block;
    padding: 80px 0 0;
    margin-bottom: 52px;
    background: none; }
    .p-top-kv .box {
      width: auto;
      margin-left: auto;
      margin-right: auto;
      padding-left: 10px;
      padding-right: 10px;
      margin-bottom: 1px; }
      .p-top-kv .box .balloon {
        margin-bottom: 8px;
        text-align: center; }
        .p-top-kv .box .balloon img {
          filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.16)); }
      .p-top-kv .box .catch {
        font-size: 24px;
        font-size: 7vw;
        margin-bottom: 15px; }
        .p-top-kv .box .catch span {
          font-size: 29px;
          font-size: 9vw;
        margin: 10px; }
        .p-top-kv .box .catch em {
          font-size: 42px;
          font-size: 11vw; }
      .p-top-kv .box .lead {
        font-size: 16px;
        font-size: 4vw;
      margin-bottom: 30px; }
    .p-top-kv .img {
      width: 100%;
      text-align: center; }
      .p-top-kv .img img {
        margin-left: auto;
        margin-right: auto;
        width: 100%; }
      .p-top-kv .img .responsetimetxt {
        display: none;
        font-size: 16px;
        width: 200px;
        aspect-ratio: auto;
        flex-direction: row;
        align-items: center;
        top: 30px;
        right: 20px;
        border-radius: 100px;
        width: fit-content;
        padding: 10px 20px; }
        .p-top-kv .img .responsetimetxt span:nth-of-type(1) {
          margin-right: 5px; }
        .p-top-kv .img .responsetimetxt span:nth-of-type(2) {
          font-size: 20px; }
        .p-top-kv .img .responsetimetxt span:nth-of-type(3) {
          margin-left: 5px; }
  .p-top .freetxt {
    position: relative;
    z-index: 1;
    bottom: 5rem;
    background: #FFE9E6;
    display: block;
    width: 100%;
    padding: 0;
    max-width: 100%;
    border-radius: 0;
    padding: 2rem;
    border: none; }
    .p-top .freetxt::before {
      content: "";
      position: absolute;
      display: block;
      width: 95%;
      height: 90%;
      transform: translate(-50%, -50%);
      left: 50%;
      top: 50%;
      border-radius: 1rem;
      z-index: -1;
      background: #fff; }
    .p-top .freetxt p {
      text-align: center; }
      .p-top .freetxt p:nth-of-type(1) {
        font-size: 1.8rem;
        font-weight: 700;
        margin-bottom: 1rem; }
      .p-top .freetxt p:nth-of-type(2) {
        font-size: 2.5rem;
        font-weight: 900; }
      .p-top .freetxt p:nth-of-type(3) {
        font-size: 1.3rem;
        text-align: right;
        transform: none;
        margin-top: 1rem; }
  .p-top-lead {
    margin-bottom: 100px; }
    .p-top-lead .intro {
      margin-bottom: 60px; }
      .p-top-lead .intro .h {
        font-size: 25px;
        font-size: 2.5rem;
        margin-bottom: 40px; }
        .p-top-lead .intro .h em {
          background-size: 3px 8px; }
      .p-top-lead .intro .txt img {
        margin-left: auto;
        margin-right: auto; }
    .p-top-lead .solution {
      padding-top: 70px;
      padding-bottom: 40px;
      background-size: 10px 10px; }
      .p-top-lead .solution:before {
        border-top-width: 40px;
        border-left-width: 50px;
        border-right-width: 50px;
        margin-left: -50px; }
      .p-top-lead .solution .lead {
        font-size: 19px;
        font-size: 1.9rem;
        margin-bottom: 12px; }
      .p-top-lead .solution .logo {
        margin-bottom: 20px; }
        .p-top-lead .solution .logo img {
          filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16)); }
      .p-top-lead .solution .copy {
        font-size: 12.8px;
        font-size: 1.28rem; }
  .p-top-feature {
    margin-bottom: 80px; }
    .p-top-feature .c-title1 {
      margin-bottom: 50px; }
    .p-top-feature .content {
      margin-bottom: 80px;
      max-width: 375px;
      margin-left: auto;
      margin-right: auto;
      -webkit-box-sizing: content-box;
      box-sizing: content-box;
      padding-left: 15px;
      padding-right: 15px; }
      .p-top-feature .content ul {
        display: block; }
      .p-top-feature .content li {
        width: auto;
        margin-left: 0;
        margin-bottom: 50px;
        background-size: 25% auto; }
        .p-top-feature .content li .no {
          font-size: 65px;
          font-size: 6.5rem;
          margin-bottom: 10px; }
        .p-top-feature .content li .title {
          font-size: 20px;
          font-size: 2rem;
          margin-bottom: 15px; }
    .p-top-feature .contact {
      border-radius: 0;
      position: relative;
      padding: 40px 15px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      .p-top-feature .contact:before {
        width: calc(100% - 20px);
        border-radius: 0; }
      .p-top-feature .contact .h {
        font-size: 18px;
        font-size: 1.8rem;
        margin-bottom: 23px; }
      .p-top-feature .contact ul {
        display: block; }
      .p-top-feature .contact li {
        margin-bottom: 23px; }
        .p-top-feature .contact li:last-child {
          margin-bottom: 0; }
      .p-top-feature .contact .tel a {
        font-size: 34px;
        font-size: 3.4rem; }
        .p-top-feature .contact .tel a span {
          background-size: 26px auto;
          padding-left: 34px; }
      .p-top-feature .contact .form {
        padding-left: 20px;
        padding-right: 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        .p-top-feature .contact .form a {
          font-size: 20px;
          font-size: 2rem;
          padding-left: 20px;
          padding-right: 20px; }
          .p-top-feature .contact .form a span {
            background-size: 24px auto;
            padding-left: 32px;
            padding-top: 15px;
            padding-bottom: 15px; }
  .p-top-speed {
    padding: 130px 10px 120px; }
    .p-top-speed .c-title1 {
      margin-bottom: 40px; }
      .p-top-speed .c-title1 .h span::before {
        font-size: 90px; }
    .p-top-speed .speed-wrap {
      display: block;
      margin: 30px auto;}
      .p-top-speed .speed-wrap .speed-item {
        padding: 30px;
      margin: 30px auto; }
        .p-top-speed .speed-wrap .speed-item:first-of-type {
          margin-right: 0;
          margin: 30px auto; }
        .p-top-speed .speed-wrap .speed-item h3 {
          font-size: 25px;white-space: nowrap; }
          .p-top-speed .speed-wrap .speed-item h3::before {
            width: 33px;
            height: 28px; }
        .p-top-speed .speed-wrap .speed-item p {
          font-size: 16px; }
    .p-top-speed img {
      right: 0;
      width: 200px;
      height: 150px;
      bottom: -40px; }
  .p-top-telbanner {
    padding: 0 10px; }
    .p-top-telbanner .contact {
      border-radius: 0;
      position: relative;
      padding: 40px 15px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      margin: 100px 0; }
      .p-top-telbanner .contact:before {
        width: calc(100% - 20px);
        border-radius: 0; }
      .p-top-telbanner .contact .h {
        font-size: 18px;
        font-size: 1.8rem;
        margin-bottom: 23px; }
      .p-top-telbanner .contact ul {
        display: block; }
      .p-top-telbanner .contact li {
        margin-bottom: 23px; }
        .p-top-telbanner .contact li:last-child {
          margin-bottom: 0; }
      .p-top-telbanner .contact .tel a {
        font-size: 34px;
        font-size: 3.4rem; }
        .p-top-telbanner .contact .tel a span {
          background-size: 26px auto;
          padding-left: 34px; }
      .p-top-telbanner .contact .form {
        padding-left: 20px;
        padding-right: 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        .p-top-telbanner .contact .form a {
          font-size: 20px;
          font-size: 2rem;
          padding-left: 20px;
          padding-right: 20px; }
          .p-top-telbanner .contact .form a span {
            background-size: 24px auto;
            padding-left: 32px;
            padding-top: 15px;
            padding-bottom: 15px; }
  .p-top-voice {
    margin-bottom: 80px; }
    .p-top-voice .c-title1 {
      margin-bottom: 50px; }
    .p-top-voice .content dl {
      display: block; }
    .p-top-voice .content dt {
      width: auto;
      margin-bottom: 40px; }
      .p-top-voice .content dt .use {
        font-size: 14px;
        font-size: 1.4rem; }
    .p-top-voice .content dd {
      width: auto;
      padding: 25px;
      padding-bottom: 40px; }
      .p-top-voice .content dd:before {
        border: 0;
        border-bottom: 25px solid #fff;
        border-left: 15px solid transparent;
        border-right: 15px solid transparent;
        left: 50%;
        margin-left: -15px;
        top: -25px; }
      .p-top-voice .content dd .title {
        font-size: 19px;
        font-size: 1.9rem;
        padding-bottom: 18px;
        margin-bottom: 20px;
        line-height: 1.4; }
  .p-top-plan {
    padding-top: 60px;
    padding-bottom: 60px;
    background-size: 10px 10px; }
    .p-top-plan .content {
      display: block; }
      .p-top-plan .content dl {
        width: auto;
        margin-left: 0;
        margin-bottom: 20px; }
        .p-top-plan .content dl.pro dd li {
          border-right-color: #DE0A0A; }
      .p-top-plan .content dt {
        padding-top: 15px;
        padding-bottom: 15px; }
        .p-top-plan .content dt .recommend {
          margin-bottom: 4px; }
      .p-top-plan .content dd ul {
        display: flex; }
      .p-top-plan .content dd li {
        border-bottom: 0;
        margin-bottom: 0;
        padding-bottom: 0;
        border-right: 3px dotted #F06855;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        .p-top-plan .content dd li:first-child {
          width: 43%; }
        .p-top-plan .content dd li:last-child {
          width: 57%;
          border-right: 0; }
      .p-top-plan .content dd .volume em {
        font-size: 30px;
        font-size: 3rem;
        margin-right: 0; }
    .p-top-plan .remarks {
      margin-bottom: 40px; }
      .p-top-plan .remarks li {
        font-size: 13px;
        font-size: 1.3rem; }
        .p-top-plan .remarks li:before {
          top: 7px; }
    .p-top-plan .payment {
      position: relative;
      padding: 30px 15px 40px;
      display: block; }
      .p-top-plan .payment .box {
        width: auto;
        max-width: 375px;
        margin-bottom: 40px;
        margin-left: auto;
        margin-right: auto; }
        .p-top-plan .payment .box .h {
          font-size: 22px;
          font-size: 2.2rem;
          margin-bottom: 24px; }
        .p-top-plan .payment .box .note {
          margin-top: 15px; }
          .p-top-plan .payment .box .note li {
            font-size: 14px;
            font-size: 1.4rem; }
      .p-top-plan .payment .img {
        width: auto;
        text-align: center;
        margin-top: 0;
      position: relative;
    bottom: -40px; }
  .p-top-contact {
    padding-bottom: 60px; }
    .p-top-contact .heading {
      padding-top: 30px;
      padding-bottom: 30px;
      margin-bottom: 80px; }
      .p-top-contact .heading .h {
        font-size: 26px;
        font-size: 2.6rem; }
      .p-top-contact .heading:before {
        border-top-width: 40px;
        border-left-width: 50px;
        border-right-width: 50px;
        margin-left: -50px; }
    .p-top-contact .tel {
      padding: 25px 15px;
      margin-bottom: 50px; }
      .p-top-contact .tel .title {
        margin-bottom: 15px;
        font-size: 18px;
        font-size: 1.8rem; }
      .p-top-contact .tel .no {
        margin-bottom: 10px; }
        .p-top-contact .tel .no a {
          font-size: 36px;
          font-size: 3.6rem; }
          .p-top-contact .tel .no a span {
            background-size: 24px auto;
            padding-left: 32px; }
    .p-top-contact .form .title {
      font-size: 22px;
      font-size: 2.2rem;
      padding-bottom: 15px;
      margin-bottom: 40px; }
    .p-top-contact .form table,
    .p-top-contact .form tbody,
    .p-top-contact .form tr,
    .p-top-contact .form th,
    .p-top-contact .form td {
      display: block;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 100%; }
    .p-top-contact .form th {
      width: auto;
      padding-top: 0;
      padding-bottom: 0; }
    .p-top-contact .form td {
      width: auto;
      padding-left: 10px; }
    .p-top-contact .form .submit {
      display: flex;
      justify-content: center;
      margin-top: 30px;
      margin-left: 0;
      margin-right: 0; }
      .p-top-contact .form .submit input[type="button"],
      .p-top-contact .form .submit input[type="submit"] {
        font-size: 20px;
        font-size: 2rem;
        width: 100%; }
      .p-top-contact .form .submit .form-btn-return {
        margin-right: 10px; }
        .p-top-contact .form .submit .form-btn-return input[type="button"],
        .p-top-contact .form .submit .form-btn-return input[type="submit"] {
          width: 100%; } }

  @media screen and (max-width: 768px) {
    .is_tablet .l-header-logo .copy {
      font-size: 6.4vw; } }
.is_tablet .l-header-nav .menu li a {
  font-size: min(1.3541666667vw,26px); }
  @media screen and (max-width: 768px) {
    .is_tablet .l-header-nav .menu li a {
      font-size: 6.9333333333vw; } }
.is_tablet .p-top-kv .box .lead {
  font-size: min(1.5104166667vw,29px); }
  @media screen and (max-width: 768px) {
    .is_tablet .p-top-kv .box .lead {
      font-size: 7.7333333333vw; } }
.is_tablet .p-top-feature .exp {
  font-size: 2rem; }
.is_tablet .p-top-speed .speed-wrap .speed-item p {
  font-size: 2rem; }
.is_tablet .p-top-speed img {
  width: 250px;
  height: 200px;
  right: 50px; }
.is_tablet .p-top-voice p {
  font-size: 2rem; }
.is_tablet .p-top-voice .content dt .use {
  font-size: 1.8rem; }
.is_tablet .p-top-contact .hour {
  font-size: 2rem; }
.is_tablet .payment p {
  font-size: 2rem; }


 @media screen and (max-width: 1200px) {
  .p-top-kv .box{
    /*width: 60.7735%;*/
  }
 }
@media screen and (max-width: 896px) and (orientation: landscape) {
  .land-none {
    display: none !important; }

  .land-block {
    display: block !important; }

  .p-top-lead .intro {
    max-width: none; }

  .solution .c-wrap {
    max-width: 450px; }

  .p-top-feature {
    max-width: none; }
    .p-top-feature .content {
      max-width: none; }

  .p-top-kv .img .responsetimetxt {
    right: 20%; }
  .p-top-speed .speed-wrap {
    display: flex; }
    .p-top-speed .speed-wrap .speed-item {
      width: 49%; }
      .p-top-speed .speed-wrap .speed-item:first-of-type {
        margin-right: 2%;
        margin-bottom: 0; }

  .p-top-voice {
    max-width: none; }

  .p-top-plan .c-wrap {
    max-width: none; }
    .p-top-plan .c-wrap .content {
      display: flex; }
      .p-top-plan .c-wrap .content dl {
        width: 49%; }
        .p-top-plan .c-wrap .content dl:nth-of-type(odd) {
          margin-right: 2%; }
  .p-top-plan .payment {
    display: flex; }
    .p-top-plan .payment .box {
      max-width: none;
      margin-bottom: 0; }

  .p-top-contact .c-wrap-1000 {
    max-width: none; } }

    @media screen and (max-width: 896px) {
  .imgbox{
    display: block;
  }

  #beneeits h2.h {
    font-size: 20px;
  }

  .beneeits-wrap {
    flex-direction: column;
    align-items: center;
  }

  .beneeits-item {
    width: 100%;
    max-width: 100%;
    padding: 16px;
    font-size: 14px;
  }

  .beneeits-02 h2 {
    text-align: left;
    line-height: 40px;
    font-size: 19px;
  }

  .cost, .maintenance, .maintenance-text {
    font-size: 14px;
    padding: 2px 6px;
  }
  .p-top-beneeits .c-title1 .h span::before {
    font-size: 65px;
  }
  .p-top-beneeits .beneeits-wrap .beneeits-item p{
    font-size: 14px;
    text-align: left;
    line-height: 1.6;
    padding: 0;
  }
    .p-top-beneeits p{
    text-align: left;
    padding: 15px;
    font-size: 17px;
  }
  .p-top-speed p{
    text-align: left;
  }
  .beneeits-cost{
    margin-left: 45px;
  }
  .p-top-feature .c-title1 .h span.subtext {
    background-image: none;
    max-width: 350px;
    width: 60%;
    padding: 5px;
    font-size: 18px;
    border: 3px solid;
}
.p-top-plan .c-title1 .h span.subtext{
      background-image: none;
    max-width: 350px;
    width: 60%;
    padding: 5px;
    font-size: 18px;
    border: 3px solid;
}
.p-top-beneeits {
    background-color: #FFFCCC;
    position: relative;
    padding: 130px 10px 120px;
}
.background{
      max-width: none;
    background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 30%, rgba(255, 233, 230, 1) 30%, rgba(255, 233, 230, 1) 100%);
    margin-bottom: 60px;
    height: 1650px;
}
.p-top-achievements {
    max-width: none;
}
    .l-header-logo {
        display: flex;
        flex-direction: column;
        padding: 6px 10px;
        align-items: center;
    }
        .l-header-logo p{
          display: none;
    }
        .l-header-logo .copy {
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 500;
        border: 1px solid;
    }
    .p-top-speed .speed-wrap .speed-item {
    background-color: #FFF;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
    padding: 40px;
    max-width: none;
}
.l-header-logo .logo p {
        font-size: 12px;
        text-align: center;
        margin: 0;
        padding: 0 7px;
        position: relative;
        top: -5px;
    }
}
@media screen and (max-width: 1024px) {
  .pc-only {
    display: none !important;
  }
}
