@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: #0050A0;
}

.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;
  }
}

.kv-logo-text{
  margin-left: 40px;
  line-height: 1;
  position: relative;
  bottom: -10px;
  font-weight: 600;
}

.l-header-logo {
  display: block;
  align-items: self-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 p {
  font-size: 18px;
  text-align: center;
  position: relative;
  bottom: -10px;
}

.l-header-logo .logo img {
  width: min(19.6354166667vw, 377px);
}

.l-header-logo .copy {
  font-weight: 700;
  /*font-size: min(0.9375vw, 18px);*/
  font-size: min(1.5375vw, 20px);
  display: inline-block;
  padding: 2.5px 14.5px;
  border: 2px solid;
  border-radius: 300px;
  color: #0050A0;
  letter-spacing: 1px;
  margin: 5px 0 12px 12px;
}
.copy-text {
    font-size: 20px;
    padding: 0px 0px;
    border: 3px solid #0050A0;
    color: #0050A0;
    border-radius: 30px;
    white-space: nowrap;
    margin: auto;
    background: none;
    max-width: 215px;
    font-weight: 500;
}

@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.5625vw, 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);
  /*font-size: 36px;*/
}

.l-header-nav .contact a {
  display: block;
  color: #fff;
  background: #0050A0;
  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: #0050A0;
  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-02.svg) no-repeat right center;
  background-size: auto 100%;
  padding: min(8.3333333333vw, 160px) min(1.0416666667vw, 20px) min(5.625vw, 135px) min(4.6875vw, 90px);
  /*padding: min(8.3333333333vw, 160px) 0 min(5.625vw, 135px) 0;*/
  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.8708333333vw, 34px);
}

.p-top-kv .box .catch {
  font-size: min(2.0833333333vw, 52px);
  line-height: 1.3;
  color: #0050A0;
  font-weight: 700;
  margin-bottom: min(1.8229166667vw, 35px);
}

@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;
  white-space: nowrap;
}

@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;
}
.pc-kv{
  position: relative;
  top: -25px;
  right: -20px;
}

.p-top-kv .img .responsetimetxt {
    position: absolute;
    font-size: min(1.3020833333vw, 25px);
    top: min(-2.6041666667vw, -50px);
    right: min(2.6041666667vw, 50px);
    background: #FF3F54;
    color: #FFF;
    font-weight: 700;
    border-radius: 50%;
    display: block;
    aspect-ratio: 1 / 1;
    width: min(10.4166666667vw, 200px);
    display: flex;
    flex-direction: column;
    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.7625vw, 35px);
  display: flex;
  color: #0050A0;
  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 #D8F1FF;
  max-width: min(88.5416666667vw, 1700px);
}

.p-top-kv .freetxt p:nth-of-type(1) {
  font-size: min(1.4583333333vw, 40px);
  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, 60px);
  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: #0050A0;
}

.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;
  color: #fff;
}

.p-top-lead .solution:before {
  display: block;
  content: "";
  position: absolute;
  top: -2px;
  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: #FFE355;
}

.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 .c-title1 .h span.subtext{
  background-image: none;
  max-width: 300px;
  width: 100%;
  padding: 5px;
}

.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: #7DD0FC;
  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-beneeits {
  background-color: #FFFCCC;
  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: #F6ED6B;
  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: #005bac;
}

.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;
}

.p-top-speed {
  background-color: #D8F1FF;
  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 * (360 / 1920));
  height: calc(100vw * (250 / 1920));
  right: calc(100vw * (100 / 1920));
  bottom: calc(100vw * (-66 / 1920));
}

.p-top-telbanner .contact {
  background: #7DD0FC;
  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: #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-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 #39B6F6;
}

.p-top-voice .content dd .title em {
  color: #39B6F6;
}

.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 .c-title1 .h span.subtext{
  background-image: none;
  max-width: 300px;
  width: 100%;
  padding: 5px;
}
.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 #39B6F6;
  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: #0050A0;
}

.p-top-plan .content dl.pro dt {
  background: #0050A0;
}

.p-top-plan .content dl.pro dd li {
  border-bottom-color: #0050A0;
}

.p-top-plan .content dt {
  background: #39B6F6;
  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 #39B6F6;
  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: #0050A0;
  top: 10px;
  left: 6px;
}

.p-top-plan .payment {
  background: #D8F1FF;
  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: #39B6F6;
}

.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;
}

.p-top-contact {
  background: #D8F1FF;
  padding-bottom: 160px;
}

.p-top-contact .heading {
  background: #7DD0FC;
  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: 100%;
  border-top: 80px solid #7DD0FC;
  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: #0050A0;
  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-blue.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 #7DD0FC;
  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: #0050A0;
  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;
}

.pc-only{

}

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

.contact-form-group {
  background-color: #D8F1FF;
  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;
}
.is-scrolled .l-header-logo{
  display: flex;
  padding: 20px 10px 10px 10px;
}

.is-scrolled .l-header-logo .kv-logo-text{
  font-size: min(0.8375vw, 16px);
  margin: 12px 0;
  font-weight: 500;
}

.is-scrolled .l-header-logo .logo .copy{
  font-size: min(0.8375vw, 16px);
  letter-spacing: 0;
}

.text-midashi{
  font-weight: 600;
}

.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);
}


@media screen and (max-width: 1300px) {
.l-header-logo .copy {
   margin: 5px 0 0;
   font-size: 1.1vw;
}
.p-top-kv .img .responsetimetxt{
          /*top: min(-2.6041666667vw, -45px);*/
          top: min(-1.6041666667vw, -20px);
}
.p-top-kv .img {
    width: 59.5580%;
    position: relative;
    margin: 0;
}
.p-top-kv {
    background: url(../images/top/kv-bg-02.svg) no-repeat right center;
    background-size: auto 100%;
    padding: min(8.3333333333vw, 160px) min(1.0416666667vw, 20px) min(5.625vw, 135px) min(4.6875vw, 90px);
    /* padding: min(8.3333333333vw, 160px) 0 min(5.625vw, 135px) 0; */
    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(4.5625vw, 100px);*/
}
.l-header-logo .logo p {
    font-size: 12px;
    text-align: center;
    position: relative;
    bottom: -2px;
    right: -15px;
}

.kv-logo-text {
    margin-left: 40px;
    line-height: 1;
    position: relative;
    bottom: -15px;
}
.is-scrolled .l-header-logo .kv-logo-text {
    font-size: 11px;
    margin: 0 0 20px 20px;
    font-weight: 500;
}
.is-scrolled .l-header-logo .logo .copy {
    font-size: 11px;
    letter-spacing: 0;
    padding: 6px;
}
.l-header-nav .menu {
    display: flex;
    margin-right: min(3.8020833333vw, 30px);
}
.is-scrolled .l-header-logo {
    display: flex;
    align-items: center;
            padding: 10px 10px 20px 10px;
}
  .l-header-nav .menu li a {
    display: block;
    text-decoration: none;
    font-size: min(1.145833vw, 24px);
    font-weight: 500;
    padding: 30px min(1.3625vw, 30px);
    color: #222;
    letter-spacing: 0.05em;
}
    .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;
    }
    .p-top-speed img {
    position: absolute;
    width: calc(100vw * (360 / 1920));
    height: calc(100vw * (250 / 1920));
    right: calc(100vw * (65 / 1920));
    bottom: calc(100vw * (-66 / 1920));
}
}


@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;
  }
  .imgbox{
    display: block;
  }

  .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;
    align-items: normal;
  }

  .l-header-logo {
    flex-direction: column;
    padding: 6px 10px;
    align-items: center;
  }

  .l-header-logo .logo {
    margin-right: 0;
    display: block;
  }
  
  

  .l-header-logo .logo img {
    width: 200px;
    vertical-align: top;
  }

  .l-header-logo .copy {
    font-size: 12px;
    border: 1px solid;
  }

  .l-header-btn {
    width: 60px;
    height: 60px;
    background: #0050A0;
    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: #0050A0;
    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: #0070B5;
  }

  .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;
  }

  .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 {
    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;
    display: none;
  }

  .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: #B2E7DE;
    display: block;
    width: 100%;
    padding: 0;
    max-width: 100%;
    border-radius: 0;
    padding: 2rem;
    border: none;
    display: 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-bottom: 30px;
  }

  .p-top-speed .speed-wrap .speed-item {
    padding: 30px;
    margin: auto;
  }

  .p-top-speed .speed-wrap .speed-item:first-of-type {
    margin: 0 auto 30px;
  }

  .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: #0050A0;
  }

  .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 #39B6F6;
    -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;
  }

  .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%;
  }

}

.is_tablet .l-header-logo .copy {
  font-size: min(1.25vw, 24px);
}



.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;
}

.subtext {
  font-size: 26px;
  display: inline-block;     /* 横幅が内容にフィット */
  padding: 8px 24px;          /* 内側の余白（上下・左右） */
  border: 4px solid #005bac;  /* 枠線の色 */
  color: #005bac;             /* テキストの色 */
  border-radius: 30px;        /* 丸み */
  white-space: nowrap;        /* 改行しない */
  margin: auto;               /* 中央寄せ用 */
  background: none;
}

/* ボックス全体 */
.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: #005bac;
}

/* 特典内のテキスト装飾 */
.beneeits-item .cost {
  background-color: #FFFCCC;
  color: #005bac;
  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: #e60012;
  font-size: 25px;
}

/* メンテ60の見出し強調 */
.beneeits-item h2 span {
  background-color: #FFFCCC;
  color: #005bac;
  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;
}

.p-top-achievements .c-title1 .h span {
  background-image: url(../images/top/achievements-icon.svg);
}



.imgbox{
  max-width: 1200px;
  display: flex;
  justify-content: space-between;
  text-align: center;
  margin:  auto;
}

.achievements-box p{
  color: #0050A0;
  font-weight: 600;
}

.background{
  max-width: none;
background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 30%, rgba(216, 241, 255, 1) 30%, rgba(216, 241, 255, 1) 100%);
  margin-bottom: 60px;
}

.p-top-achievements{
  max-width: none;
}
.maintenance{
    background-color: #005bac;
    color: #F6ED6B;
    border-radius: 4px;
    display: inline-block;
    padding: 5px;
    font-size: 30px;
    margin-top: 10px;
}
.beneeits-cost{
  margin-left: 2em;
}


.js-animate .p-top-feature .c-wrap .c-title1 .h .subtext{
  background: none;
}



@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;
  }
  .imgbox{
    display: block;
  }

}

.achievements-box{
  margin-bottom: 100px;
}



@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(216, 241, 255, 1) 30%, rgba(216, 241, 255, 1) 100%);
    margin-bottom: 60px;
    height: 1650px;
}
.p-top-beneeits:before {
    display: none;
}
.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;
}
.kv-logo-text {
    display: none;
}
}

@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;
  }
      .l-header-logo .logo p {
        font-size: 12px;
        text-align: center;
        position: relative;
        bottom: 5px;
        right: 0px;
        letter-spacing: 0;
        padding: 0 7px;
    }
}