@charset "utf-8";
/*==================================================
reset
==================================================*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
* {
    -webkit-tap-highlight-color: transparent;
}
img {
    vertical-align: middle;
    display: block;
}
a {
    text-decoration: none;
    color: inherit;
}
button, input, select, textarea {
    background: transparent;
    border: none;
    color: inherit;
    font: inherit;
}
button {
    cursor: pointer;
}
textarea {
    resize: vertical;
}
:focus {
    outline: none;
}
:focus-visible {
    outline: 2px solid #2684FF;
    outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
    }
}
html, body {
    -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
        cursor: default;
    }
}
/*==================================================
base
==================================================*/
html {
  font-family: 'Noto Sans JP', sans-serif;
  color: #000;
  line-height: 1;
  font-weight: 500;
  letter-spacing: .05rem;
  color: #313131;
}
html * {
  box-sizing: border-box;
  font-weight: inherit;
}
body {
  font-size: 1.6rem;
  line-height: 1.5;
}
a {
  outline: none;
  color: inherit;
  transition: .5s;
}
a * {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
a:focus, *:focus {
  outline: none;
}
img {
  width: 100%;
  height: auto;
}
img[src$=".svg"] {
  max-width: 100%;
}
p {
  font-size: 1.6rem;
  line-height: 1.5;
}
.flex_box {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.flex_box.flex-center {
  justify-content: center;
}
.flex_box.flex-start {
  justify-content: flex-start;
}
.wrap {
  width: 100%;
  max-width: 1380px;
  margin-inline: auto;
  padding-inline: 40px;
}
.wrap-s {
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding-inline: 40px;
}
.wrap-m {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: 40px;
}
.en {
  font-family: "din-2014", sans-serif;
  font-weight: 600;
  font-style: normal;
}
.en-thin {
  font-family: "din-2014", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.en-bold {
  font-family: "din-2014", sans-serif;
  font-weight: 700;
  font-style: normal;
}
@media screen and (min-width: 1500px) {
  html {
    font-size: 62.5%;
  }
  .sp {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1499px) {
  html {
    font-size: 0.6667vw;
  }
  .sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 1.3020833333vw;
    overflow-x: hidden;
  }
  body {
    font-size: 2.4rem;
    overflow-x: hidden;
  }
  html, body {
    overscroll-behavior-x: none;
    touch-action: pan-y;
  }
  p {
    font-size: 2.4rem;
  }
  .pc {
    display: none;
  }
  .wrap,.wrap-s,.wrap-m {
    padding-inline: 5vw;
  }
}
/* ズーム防止 サイズは都度変更 */
@media screen and (max-width: 767px) {
  input, select, textarea {
    font-size: 16px;
  }
}
/*==================================================
common
==================================================*/
* {
  box-sizing: border-box;
}
/*==================================================
header
==================================================*/
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  height: 11rem;
}
.site-header .site-header__inner {
  width: 100%;
  background: #fff;
  position: relative;
  z-index: 990;
  padding: 1.4rem 0;
  height: 11rem;
}
.site-header .site-header__inner-wrap {
  max-width: 1380px;
  width: 100%;
  padding: 0 4rem;
  margin: 0 auto;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 0.1rem solid #e6e6e6;
}
.site-header__inner {
  height: 10rem;
  gap: 1.2rem;
  padding: 0 1.2rem;
}
.site-header__brand {
  display: flex;
  align-items: center;
  min-width: 0;
  text-decoration: none;
}
.site-header__logo {
  height: 8.2rem;
  width: auto;
}
.site-header__logo_character {
  height: 8.2rem;
  width: auto;
  display: block;
  margin-right: 1rem;
}
.site-header__logo_logoimg {
  height: 5.733rem;
  width: auto;
  display: block;
}
.site-header__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.site-header__actions-tel {
  margin-right: 2rem;
}
.site-header__actions-tel .tel-txt {
  width: 15.4rem;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-right: 1rem;
}
.site-header__actions-tel .tel-txt::after {
  content: '';
  display: block;
  clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%);
  background: #ffe100;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}
.site-header__actions-tel .tel-txt p {
  font-size: 1.62rem;
  font-weight: bold;
  line-height: 1.15;
  position: relative;
  z-index: 2;
  margin-left: -.5rem;
}
.site-header__actions-tel .tel-txt p span {
  font-size: 1.8rem;
  color: #f22810;
}
.site-header__actions-tel .cta--tel {
  display: block;
  text-align: center;
}
.site-header__actions-tel .cta--tel .cta__small {
  font-size: 2.3rem;
  color: #f22810;
}
.site-header__actions-tel .cta--tel .cta__telnum {
  font-size: 4.5rem;
}
.site-header__actions-tel .cta--tel .cta__telnum .en {
  line-height: 1;
}
.site-header__actions-tel .cta--tel .cta__telnum .tel-icon {
  width: 5.6rem;
  margin-right: .25rem;
}
.site-header__actions .cta--line {
  margin-right: 2rem;
  background: #22c55e;
  border-color: transparent;
  color: #fff;
  font-weight: 700;
  border-radius: 1rem;
}
.site-header__actions .cta--line .line-icon {
  width: 4rem;
  margin-right: 1rem;
}
.site-header__actions .cta--line .line-txt .cta__small {
  font-size: 1.2rem;
  margin-bottom: .5rem;
  text-align: center;
}
.site-header__actions .cta--line .line-txt .cta__text {
  font-size: 1.98rem;
  text-align: center;
}
.hamburger{
  width:5rem;
  height:5rem;
  display:grid;
  place-content:center;
  gap:0.8rem;
  cursor:pointer;
}
.hamburger__line{
  width:5rem;
  height:0.6rem;
  background:#000;
  display:block;
  transition:transform .2s ease,opacity .2s ease,background .2s ease;
  transform-origin:center;
}
.is-nav-open .hamburger__line:nth-child(1){
  transform:translateY(1.4rem) rotate(45deg);
}
.is-nav-open .hamburger__line:nth-child(2){
  opacity:0;
}
.is-nav-open .hamburger__line:nth-child(3){
  transform:translateY(-1.4rem) rotate(-45deg);
}
.global-nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  background:#2363bc;
  color:#fff;
  transform:translateY(-100%);
  transition:transform .25s ease;
  border-bottom:0.1rem solid #e6e6e6;
  padding:1.6rem;
  display:flex;
  flex-direction:column;
  gap:1.2rem;
  z-index:900;
}
.is-nav-open .global-nav{
  transform:translateY(11rem);
}
.global-nav__head {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.global-nav__title {
  font-weight: 800;
  letter-spacing: 0.06em;
}
.global-nav__close {
  width: 5rem;
  height: 8rem;
  border-radius: 1.2rem;
  background: #fff;
  cursor: pointer;
  font-size: 4.2rem;
  line-height: 1;
}
.global-nav__list{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  gap:2rem;
  justify-content:center;
}
.global-nav__item a{
  display:block;
  padding:1.2rem 1rem;
  text-decoration:none;
  color:#fff;
  border-radius:1.2rem;
  font-size:2.0rem;
}
.global-nav__item a:hover{
  background:rgba(255,255,255,.12);
}

@media screen and (min-width: 768px) {
  .site-header__actions .cta--line {
    padding: 1.15rem 1.5rem;
    box-shadow: 0 .5rem .5rem 0 rgba(0, 0, 0, .2);
    transform: translateY(-.5rem);
    transition: .1s;
  }
  .site-header__actions .cta--line:hover {
    transform: translateY(0);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  }
}
@media screen and (max-width: 767px) {
  .site-header .site-header__inner{
    height:11rem;
    padding:0 0 0 1rem;
  }
.site-header .site-header__inner-wrap {
  padding: 0;
}
  .site-header__actions {
    gap: 2rem;
  }
  .site-header__actions .cta--line {
    width: 9rem;
    height: 9rem;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 0;
  }
  .site-header__actions .cta--line .line-icon {
    width: 6rem;
    margin-right: 0;
  }
  .cta--tel.sp {
    width: 9rem;
    height: 9rem;
    background: #069ee1;
    border-radius: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .cta--tel.sp .tel-icon {
    width: 5.8rem;
  }
  .hamburger{
    width:10rem;
    height:11rem;
    background:#2363bc;
  }
  .hamburger__line{
    background:#fff;
  }
.global-nav{
    padding: 3rem 0 0;
    height:100dvh;
  }
  .global-nav .wrap{
    padding:0;
  }
  .global-nav__list{
    margin:0;
    padding:0;
    list-style:none;
    display:flex;
    gap:2.8rem;
    flex-direction:column;
    padding-left:10vw;
    padding-top:5vw;
    padding-right:5vw;
  }
  .global-nav__item a{
    font-size:3.0rem;
  }
}

/*==================================================
footer
==================================================*/
footer {
  padding-bottom: 6rem;
}
.footer-box {
  align-items: flex-start;
}
.footer-bottom {
  background: #5d81c4;
}
.footer-bottom .wrap-s {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.footer-bottom address {
  font-size: 1.3rem;
  background: #1b4f99;
  color: #fff;
  text-align: center;
  padding: 2rem;
}
.footer-bottom .logo-box {
  width: 45%;
}
.footer-bottom .navi-box {
  width: 27.5%;
}
.footer-bottom .navi-box ul {
  color: #fff;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  padding-left: 3rem;
}
.footer-bottom .navi-box ul li a {
  display: block;
  padding: 0.5rem 0;
}
.btn-pagetop {
  width: 6rem;
  height: 6rem;
  position: fixed;
  bottom: 5rem;
  right: 5rem;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}
.btn-pagetop.show {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 767px) {
  .footer-bottom .logo-box {
    width: 100%;
  }
  .footer-bottom .logo-box .site-header__brand {
    justify-content: center;
    margin-bottom: 4rem;
  }
  .footer-bottom .navi-box {
    width: 50%;
  }
  .btn-pagetop {
    width: 10rem;
    height: 10rem;
    bottom: 7.5rem;
    right: 2rem;
  }
  .footer-bottom address {
    font-size: 2rem;
    background: #1b4f99;
    color: #fff;
    text-align: center;
    padding: 3rem 2rem;
  }
  .footer-bottom .wrap-s {
    padding-bottom: 10rem;
  }
}

/*==================================================
content-common
==================================================*/

.sec-tit {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  text-align: center;
  line-height: 1;
  margin-bottom: 6rem;
  margin-left: -10.75rem;
}
.sec-tit::before {
  content: '';
  display: block;
  background: url("../img/common/title-icon.webp") no-repeat center center;
  background-size: 100%;
  width: 10rem;
  height: 10rem;
}
.sec-tit span {
  padding: 3rem 0 0 .75rem;
  font-size: 3.6rem;
  color: #2363bc;
}
.sec-tit span.en {
  display: block;
  padding: 0;
  margin-top: 2rem;
  font-size: 2.1rem;
  color: #313131;
}
@media screen and (max-width: 767px) {
  .sec-tit {
    margin-left: 0;
  }
  .sec-tit::before {
    width: 13rem;
    height: 13rem;
  }
  .sec-tit span {
    font-size: 4.6rem;
    letter-spacing: .3rem;
  }
  .sec-tit span.en {
    font-size: 2.7rem;
    letter-spacing: .3rem;
  }
}

.slick-prev {
  left: calc(50% - 50.75rem);
  width: 4rem;
  height: 4rem;
  z-index: 10;
}
.slick-prev:before {
  content: '';
  width: 4rem;
  height: 4rem;
  display: block;
  background: url("../img/common/slide-arrow-previouos.svg") no-repeat center center;
  background-size: 100%;
}
.slick-next {
  right: calc(50% - 50.75rem);
  width: 4rem;
  height: 4rem;
  z-index: 10;
}
.slick-next:before {
  content: '';
  width: 4rem;
  height: 4rem;
  display: block;
  background: url("../img/common/slide-arrow-next.svg") no-repeat center center;
  background-size: 100%;
}
@media screen and (max-width: 767px) {
  .slick-prev {
    left: 1.5vw;
    width: 6rem;
    height: 6rem;
  }
  .slick-prev:before {
    width: 6rem;
    height: 6rem;
  }
  .slick-next {
    right: 1.5vw;
    width: 6rem;
    height: 6rem;
  }
  .slick-next:before {
    width: 6rem;
    height: 6rem;
  }
  .is-deferred {
    content-visibility: auto;
    contain-intrinsic-size: 1px 800px; /* ざっくり高さ確保 */
  }
}

/*==================================================
mv
==================================================*/
.mv-sec {
  height: 62rem;
  background: #e4f0f7 url("../img/top/mv-bg.webp") no-repeat top center;
  background-size: auto 100%;
  position: relative;
}
.mv_wrap {
  max-width: 1380px;
  width: 100%;
  height: 62rem;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
}
.mv-catch {
  position: absolute;
  top: 3.5rem;
  left: 15rem;
  width: 73.6rem;
}
.mv-point {
  position: absolute;
  bottom: 13rem;
  left: 27rem;
  width: 57rem;
}
.mv-staff {
  position: absolute;
  bottom: 11rem;
  right: 0;
  width: 65rem;
}
.mv-bottom {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 11rem;
  background: #2363bc url("../img/top/mv-bottom-bg.svg") no-repeat center center;
  background-size: auto 100%;
}
.mv-bottom-wrap {
  max-width: 1380px;
  width: 100%;
  height: 11rem;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
}
.mv-chara {
  position: absolute;
  bottom: 2rem;
  left: 3rem;
  width: 23.5rem;
}
.mv-batch {
  position: absolute;
  bottom: 2.5rem;
  right: 11rem;
  width: 93.1rem;
}

@media screen and (max-width: 767px) {
  .mv-sec {
    height: 98rem;
    background: none;
    position: relative;
  }
  .mv-bg {
    width: 100%;
    height: 98rem;
    position: absolute;
    inset: 0;
  }
  .mv-bg img {
    width: 100%;
    height: auto;
  }
  .mv_wrap {
    height: 98rem;
    padding: 0 5vw;
    overflow: hidden;
  }
  .mv-catch {
    top: 3rem;
    left: 1.5%;
    width: 98%;
    z-index: 10;
  }
  .mv-point {
    bottom: 27rem;
    left: 4%;
    width: 92.267%;
    z-index: 10;
  }
  .mv-staff {
    bottom: 20rem;
        right: -16%;
        width: 85%;
  }
  .mv-chara {
    bottom: 1rem;
    left: .5%;
    width: 28.4%;
    z-index: 10;
  }
  .mv-batch {
    bottom: 0;
    right: 0;
    width: 100%;
  }
}

/*==================================================
maker(logo-slider)
==================================================*/
.maker-sec {
  padding: 4rem 0;
  overflow: hidden;
}
.maker-marquee {
  width: 100%;
  overflow: hidden;
}
.maker-track {
  display: flex;
  width: max-content;
  animation: maker-marquee linear infinite;
}
.maker-box{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 2rem;
}
.maker-box img {
  height: 2.4rem;
  width: auto;
  display: block;
}
.maker-box {
  flex: 0 0 auto;
  padding: 0 2rem;
}
@keyframes maker-marquee{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}

@media screen and (max-width: 767px) {
  .maker-box img {
    height: 4rem;
    width: auto;
    display: block;
  }
}

/*==================================================
service
==================================================*/
.service-sec {
  background: url("../img/top/service-bg01.webp") no-repeat top center;
  background-size: auto 100%;
  padding: 8rem 0 5.5rem;
}
.service__catch {
  width: 69.7%;
  margin: 0 auto 4rem;
}
.service-box {
  width: 30.9%;
  margin-bottom: 4rem;
  position: relative;
}
.service-box__titbox {
  position: absolute;
  top: 18.5rem;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border-radius: 1rem;
  width: 73.53%;
  padding-top: 1rem;
}
.service-box__titbox .service-box__subtit {
  text-align: center;
  color: #808080;
  letter-spacing: .1rem;
  font-size: 1.4rem;
  line-height: 2;
}
.service-box__titbox .service-box__tit {
  text-align: center;
  color: #2363bc;
  font-size: 3.2rem;
}
.service-box__list {
  background: #fff;
  border-radius: 0 0 1rem 1rem;
  padding: 5.5rem 3.5rem 2.5rem;
  min-height: 24rem;
}
.service-box__list ul li {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  line-height: 1;
}
.service-box__list ul li::before {
  content: '';
  display: inline-block;
  background: url("../img/top/service-check-icon.svg") no-repeat center center;
  background-size: 100%;
  width: 2.44rem;
  height: 2rem;
  margin-right: .5rem;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .service-sec {
    background-color: #4fa4de;
    background-image: url("../img/top/service-bg01_sp.webp");
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    padding: 9rem 0 5.5rem;
  }
  .service__catch {
    width: 100%;
    margin: 0 auto 4rem;
  }
  .service-box {
    width: 94%;
    margin: 0 auto 4rem;
  }
  .service-box__titbox .service-box__subtit {
    font-size: 2.55rem;
  }
  .service-box__titbox .service-box__tit {
    font-size: 5.835rem;
    line-height: 1.4;
  }
  .service-box__list {
    border-radius: 0 0 2rem 2rem;
    padding: 10rem 6rem 4rem;
    min-height: auto;
  }
  .service-box__list ul li {
    font-size: 3.2rem;
    margin-bottom: 2rem;
  }
  .service-box__list ul li::before {
    width: 4.435rem;
    height: 3.647rem;
  }
  .service-box__titbox {
    top: 35.5rem;
  }
}

/*==================================================
symptom
==================================================*/
.symptom-sec {
  background: #f0f9ff;
  padding: 7rem 0;
  overflow-x: hidden;
}
.symptom-catch {
  text-align: center;
  font-size: 2.8rem;
  color: #2363bc;
  margin-bottom: 5rem;
}
.symptom-slide-btn-wrap {
  display: flex;
  justify-content: center;
  gap: 1.2rem;
  flex-wrap: wrap;
  padding: 2rem 1.2rem 0;
  margin-bottom: 3rem;
}
.symptom-slide-btn {
  font-size: 1.6rem;
  border: 0.1rem solid #2a57c6;
  background: #fff;
  color: #2a57c6;
  border-radius: 999rem;
  padding: 1rem 2.2rem;
  font-weight: 700;
  cursor: pointer;
}
.symptom-slide-btn.current {
  background: #2a57c6;
  color: #fff;
}
.symptom-slide {
  width: 100%;
}
.symptom-slide .slick-list {
  overflow: visible;
  padding-bottom: 4rem;
}
.symptom-slide .slick-dots {
  bottom: -5rem;
}
.symptom-slide .slick-dots li button:before {
  font-size: 1.6rem;
}
.symptom-slide-box {
  background: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 0.6rem 1.6rem rgba(0, 0, 0, 0.08);
  padding: 3rem;
  margin: 0 1.2rem;
  max-width: 95rem;
  width: 100%;
}
.symptom-slide-box-inner {
  align-items: flex-start;  
  min-height: 32.5rem;
}
.symptom-slide-box .img-box {
  width: 33.6%;
}
.symptom-slide-box .txt-box {
  width: 62.9%;
}
.symptom-slide-box .txt-box .symptom-box-tit {
  font-size: 2.8rem;
  margin-bottom: 2rem;
  line-height: 1.5;
}
.symptom-slide-box .txt-box .symptom-box-tit span {
  color: #2363bc;
}
.symptom-slide-box .txt-box .symptom-box-txt {
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
.detail-titbox {
  width: 12rem;
  border-radius: .5rem;
  text-align: center;
  color: #fff;
  min-height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.detail-titbox.risk {
  background: #f22810;
}
.detail-titbox.price {
  background: #2363bc;
}
.detail-txtbox {
  width: calc(100% - 13.5rem);
  margin-bottom: 1rem;
}
.detail-txtbox.price-txt {
  color: #2363bc;
}
.detail-txtbox.price-txt span {
  font-size: 3.0rem;
}

@media screen and (max-width: 767px) {
  .symptom-catch {
    font-size: 3.6rem;
    position: relative;
    display: inline-block;
    padding: 0 5rem;
    width: 100%;
  }
  .symptom-catch::before, .symptom-catch::after {
    content: "";
    position: absolute;
    bottom: 38%;
    width: 7.8rem;
    height: 0.2rem;
    background: #2363bc;
  }
  .symptom-catch::before {
    left: 0;
    transform: translateY(-50%) rotate(60deg);
  }
  .symptom-catch::after {
    right: 0;
    transform: translateY(-50%) rotate(-60deg);
  }
  .symptom-slide-btn-wrap {
    gap: 2rem;
  }
  .symptom-slide-btn {
    font-size: 2.755rem;
    padding: 1rem 6rem;
  }
  .symptom-slide-box {
    border-radius: 2rem;
    padding: 5rem 4rem;
    margin: 0 5vw;
    max-width: auto;
    width: 90%;
  }
  .symptom-slide-box .img-box {
    width: 100%;
    margin-bottom: 4rem;
  }
  .symptom-slide-box .txt-box {
    width: 100%;
  }
  .symptom-slide-box .txt-box .symptom-box-tit {
    font-size: 4.2rem;
    margin-bottom: 3rem;
  }
  .symptom-slide-box .txt-box .symptom-box-txt {
    font-size: 2.4rem;
    margin-bottom: 3rem;
  }
  .detail-titbox {
    width: 18rem;
    margin-bottom: 2rem;
    min-height: 6rem;
  }
  .detail-txtbox {
    width: calc(100% - 21.5rem);
    margin-bottom: 2rem;
  }
  .detail-txtbox.price-txt span {
    font-size: 4.5rem;
  }
}

/*==================================================
pricing
==================================================*/
.pricing-sec {
  background-image: url("../img/top/pricing-bg02.webp"), url("../img/top/pricing-bg01.webp");
  background-position: top center, top center;
  background-repeat: repeat-x, no-repeat;
  background-size: auto 100%, 1779px auto;
  padding: 8rem 0 4rem;
}
.pricing-catch {
  text-align: center;
  font-size: 2.8rem;
  margin-bottom: 5rem;
}
.pricing__top-block {
  max-width: 960px;
  width: 100%;
  margin: 0 auto 4rem;
}
.pricing__top-box {
  width: 31.25%;
}
.pricing__top-box__txt-box {
  background: #fff;
  border-radius: 0 0 1rem 1rem;
  padding: 1.5rem 0;
}
.pricing__top-box__txt-box figure {
  width: 15.3rem;
  margin: 0 auto;
}
.pricing__top-box__txt {
  text-align: center;
  line-height: 1;
}
.pricing__top-box__txt .tit {
  font-size: 3.4rem;
  margin-right: .5rem;
}
.pricing__top-box__txt .price {
  font-size: 2.8rem;
  color: #2363bc;
}
.pricing__top-box__txt .price .en {
  font-size: 8.0rem;
}
.basic .pricing__top-box__txt.flex_box {
  justify-content: center;
  margin: 1rem 0;
}
.basic .pricing__top-box__txt .tit {
  font-size: 3.06rem;
  display: block;
}
.basic .pricing__top-box__txt .price {
  font-size: 2.52rem;
  display: block;
}
.basic .pricing__top-box__txt .price .en {
  font-size: 5.4rem;
}
.pricing__bottom-tit {
  text-align: center;
  font-size: 3.6rem;
  color: #fff;
  margin-bottom: 2rem;
}
.pricing__bottom-box {
  width: 22.727%;
  background: #fff;
  border-radius: 1rem;
  padding: 2rem .75rem;
  margin-bottom: 3rem;
}
.pricing__bottom-box figure {
  width: 15.3rem;
  margin: 0 auto 2rem;
}
.pricing__bottom-box-tit {
  background: #2363bc;
  color: #fff;
  font-size: 2.4rem;
  border-radius: .5rem;
  width: 100%;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 1rem;
}
.pricing__bottom-box__txt .price {
  font-size: 2.52rem;
  color: #2363bc;
  display: block;
  text-align: center;
  line-height: 1;
}
.pricing__bottom-box__txt .price .en {
  font-size: 5.4rem;
}
.pricing__bottom-box.no-bg {
  background-color: transparent;
  background-image: url("../img/top/pricing-timer.svg");
  background-repeat: no-repeat;
  background-size: 14.2rem auto;
  background-position: top right;
  border-radius: 0;
  padding: 0;
  margin-bottom: 3rem;
  position: relative;
  min-height: 26rem;
}
.pricing__bottom-box.no-bg figure {
  position: absolute;
  bottom: -4rem;
  right: -4rem;
}
.pricing__bottom-box-nobg-tit {
  padding: 4rem 0 0;
  font-size: 2.6rem;
  color: #fff;
}
.pricing__bottom-box-nobg-txt .price {
  font-size: 3.4rem;
  color: #fcee21;
  line-height: 1;
}
.pricing__bottom-box-nobg-txt .price .en {
  font-size: 7.3rem;
}

@media screen and (max-width: 767px) {
  .pricing-sec {
    background-color: #2363bc;
    background-image: url("../img/top/pricing-bg01_sp.webp");
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100%;
  }
  .pricing-catch {
    font-size: 3.6rem;
    position: relative;
    display: inline-block;
    padding: 0 6.5rem;
    width: 100%;
  }
  .pricing-catch::before, .pricing-catch::after {
    content: "";
    position: absolute;
    bottom: 38%;
    width: 7.8rem;
    height: 0.2rem;
    background: #2363bc;
  }
  .pricing-catch::before {
    left: 0;
    transform: translateY(-50%) rotate(60deg);
  }
  .pricing-catch::after {
    right: 0;
    transform: translateY(-50%) rotate(-60deg);
  }
  .pricing__top-box {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4rem;
    background: #fff;
    border-radius: 2rem;
  }
  .pricing__top-box figure {
    width: 43%;
    border-radius: 2rem 0 0 2rem;
  }
  .pricing__top-box__txt-box {
    width: 57%;
    border-radius: 0 2rem 2rem 0;
    padding: 1rem 0;
  }
  .pricing__top-box__txt-box figure {
    width: 60%;
  }
  .pricing__top-box__txt .tit {
    font-size: 4.42rem;
  }
  .pricing__top-box__txt .price {
    font-size: 3.64rem;
  }
  .pricing__top-box__txt .price .en {
    font-size: 10.4rem;
  }
  .basic .pricing__top-box__txt.flex_box {
    justify-content: center;
    margin: 1rem 0;
  }
  .basic .pricing__top-box__txt .tit {
    font-size: 4.4rem;
    width: 100%;
  }
  .basic .pricing__top-box__txt .price {
    font-size: 3.27rem;
    width: 100%;
  }
  .basic .pricing__top-box__txt .price .en {
    font-size: 7.02rem;
  }
  .pricing__bottom-tit {
    font-size: 4.6rem;
    margin-bottom: 4rem;
  }
  .pricing__bottom-box {
    width: 46.77%;
    padding: 3rem 1rem;
    margin-bottom: 4rem;
  }
  .pricing__bottom-box figure {
    width: 60%;
    margin-bottom: 3rem;
  }
  .pricing__bottom-box-tit {
    font-size: 2.918rem;
  }
  .pricing__bottom-box__txt .price {
    font-size: 2.758rem;
  }
  .pricing__bottom-box__txt .price .en {
    font-size: 5.91rem;
  }
  .pricing__bottom-box.no-bg {
    background-size: 17.3rem auto;
    background-position: top 1rem right 2rem;
    margin-bottom: 0rem;
    min-height: 36rem;
  }
  .pricing__bottom-box-nobg-tit {
    padding: 3rem 0 0;
    font-size: 3.167rem;
  }
  .pricing__bottom-box-nobg-txt {
    padding: 6rem 0 0;
  }
  .pricing__bottom-box-nobg-txt .price {
    font-size: 4.191rem;
  }
  .pricing__bottom-box-nobg-txt .price .en {
    font-size: 8.981rem;
  }
}

/*==================================================
CTA
==================================================*/
.cta-sec {
  background: url("../img/common/cta-bg.webp") no-repeat top center;
  background-size: auto 100%;
  padding: 8.5rem 0;
}
.cta-box {
  background: url("../img/common/cta-box-bg.svg") no-repeat top center;
  background-size: 100%;
}
.cta-inner {
  padding: 2.5rem 0 4.5rem;
  max-width: 871px;
  width: 79.2%;
  margin: 0 auto 0 12.27%;
  position: relative;
}
.cta-tit {
  font-size: 2.9rem;
  color: #fff;
  margin: 2.5rem 0 1rem;
  text-shadow: .2rem .2rem .2rem rgba(0,0,0,.2);
  line-height: 1;
}
.cta-tit span {
  font-size: 3.8rem;
}
.cta-batch {
  width: 11.28rem;
  position: absolute;
  top: 4rem;
  right: 5rem;
}
.cta-inner .title-box {
  width: 25.17%;
}
.cta-inner .title-box .web-price {
  text-align: center;
  width: 100%;
  background: #fff;
  border-radius: 3rem;
  color: #069ee1;
  font-size: 3.2rem;
  margin-bottom: 2rem;
  box-shadow: .2rem .2rem .2rem rgba(0,0,0,.2);
}
.cta-inner .title-box .price-title {
  text-align: center;
  color: #fff;
  font-size: 4.59rem;
  text-shadow: .2rem .2rem .2rem rgba(0,0,0,.2);
  line-height: 1;
}
.cta-inner .title-box .cta-attenion {
  color: #fff;
  font-size: 1.4rem;
  text-shadow: .2rem .2rem .2rem rgba(0,0,0,.2);
  line-height: 1.5;
}
.cta-inner .price-box {
  width: 72.5%;
  color: #fcee21;
  text-shadow: .2rem .2rem .2rem rgba(0,0,0,.2);
  line-height: 1;
}
.cta-inner .price-box .yen {
  font-size: 10.3rem;
}
.cta-inner .price-box .price {
  font-size: 16.8rem;
}
.cta-inner .price-box .off {
  font-size: 9.5rem;
}
.cta-inner .price-box .web-num {
  font-size: 3.16rem;
  color: #fff;
  background: #313131;
  width: 47.7rem;
  line-height: 1;
  text-align: center;
  padding: .25rem 0;
}
.cta-inner .price-box .web-num span {
  vertical-align: middle;
}
.cta-inner .price-box .web-num .en {
  font-size: 6.04rem;
}
.cta-inner .first-flex {
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .cta-sec {
    background: url("../img/common/cta-bg_sp.webp") no-repeat top center;
    background-size: auto 100%;
    padding: 4rem 0;
  }
  .cta-box {
    background: none;
  }
  .cta-inner {
    padding: 0;
    max-width: auto;
    width: 100%;
    margin: 0 auto;
  }
  .cta-tit {
    text-align: center;
    font-size: 3.366rem;
    line-height: 1.4;
    margin: 0 0 -1rem;
  }
  .cta-tit span {
    display: block;
    font-size: 4.356rem;
  }
  .cta-inner .title-box {
    width: 20.17%;
  }
  .cta-inner .title-box .web-price {
    font-size: 2.292rem;
    margin-bottom: 1rem;
  }
  .cta-inner .title-box .price-title {
    font-size: 3.591rem;
    line-height: 1.3;
    text-align: left;
  }
  .cta-batch {
    width: 12.28rem;
    right: 0rem;
  }
  .cta-inner .price-box {
    width: 79.5%;
    text-align: center;
  }
  .cta-inner .price-box .yen {
    margin-left: -5rem;
  }
  .cta-inner .price-box .web-num {
    margin: 0 auto;
  }
  .cta-inner .bottom-box .cta-attenion {
    font-size: 2.0rem;
    text-align: center;
    padding-top: 1rem;
    color: #fff;
    text-shadow: .2rem .2rem .2rem rgba(0, 0, 0, .2);
    line-height: 1.5;
  }
  .cta-inner .first-flex {
    margin-bottom: .5em;
  }
}

/*==================================================
voices
==================================================*/
.voices-sec {
  background: url("../img/top/voices-bg.webp") no-repeat top center;
  background-size: auto 100%;
  padding: 8rem 0;
}
.voices-catch {
  text-align: center;
  font-size: 2.8rem;
  margin-bottom: 5rem;
}
.voices-google-box {
  margin-bottom: 4rem;
}
.voices-google-box .google-box {
  width: 71%;
  margin-right: 3rem;
}
.voices-google-box .link-box {
  font-size: 1.8rem;
}
.voices-slide {
  margin-top: 3rem;
}
.voices-slide .slick-list {
  margin: 0 -1.2rem;
}
.voices-slide .slick-prev {
  left: -6rem;
}
.voices-slide .slick-next {
  right: -6rem;
}
.voices-slide-box {
  margin: 0 1rem;
  background: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 0.6rem 1.6rem rgba(0,0,0,0.08);
  padding: 2.4rem;
  height: 100%;
}
.voices-slide-box .img-box {
  width: 5.6rem;
  margin-bottom: 1rem;
}
.voices-slide-box .txt-box {
  width: calc(100% - 6.6rem);
}
.voices-slide-box .txt-box .voices-star {
  margin-bottom: 2rem;
}
.voices-slide-box .txt-box .voices-star .star {
  width: 1.8rem;
  margin-right: .5rem;
}
.voices-slide-box .txt-box .voices-star .point-txt {
  width: 1.6rem;
  color: #ccc;
}
.voices-slide .slick-track {
  display: flex;
}
.voices-slide .slick-slide > div {
  height: 100%;
}
.voices-slide .slick-dots {
  bottom: -3.2rem;
}
.case-slide {
  margin: 5rem -6rem;
  overflow: hidden;
}
.case-slide .slick-prev {
  left: 0;
}
.case-slide .slick-next {
  right: 0;
}
.case-slide .slick-list {
  overflow: visible;
}
.case-slide-box {
  background: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 0.6rem 1.6rem rgba(0,0,0,0.08);
  padding: 3rem;
  margin: 0 6rem;
}
.case-tit {
  margin-bottom: 1.5rem;
  font-size: 2.8rem;
  color: #2363bc;
}
.case-tit .case {
  color: #313131;
  margin-right: .5rem;
}
.case-tit .case-num {
  color: #313131;
  font-size: 4.8rem;
  margin-right: 2rem;
}
.case-slide-box .text-box {
  width: 56.9%;
}
.case-slide-box .person-box {
  width: 21.7%;
}
.case-slide-box .person-box p {
  text-align: center;
  padding-top: 1rem;
}
.case-slide-box .person-feelings-box {
  background: #d3edfb;
  border-radius: 1rem;
  padding: 3rem 2rem;
  width: 74.14%;
}
.case-slide-box .ba-box {
  width: 40.74%;
}
.case-slide .slick-dots {
  bottom: -3.2rem;
}
@media (max-width: 767px){
.voices-sec {
  background: url("../img/top/voices-bg_sp.webp") no-repeat top center;
  background-size: 100% auto;
  padding: 8rem 0;
}
.voices-catch {
  font-size: 3.6rem;
  line-height: 1.5;
}
.voices-google-box .flex_box.flex-center {
  justify-content: flex-end;
}
.voices-google-box .google-box {
  width: 96%;
  margin-right: 2%;
  margin-bottom: 2rem;
}
.voices-google-box .link-box {
  font-size: 2.8rem;
}
  .voices-slide {
    margin-bottom: 6rem;
  }
  .voices-slide-box {
    padding: 5rem;
  }
.voices-slide-box .img-box {
    width: 11rem;
    margin-bottom: 2rem;
}
  .voices-slide-box .txt-box {
    width: calc(100% - 13rem);
}
  .voices-slide-box .voices-name {
    font-size: 3.0rem;
}
  .voices-slide-box .txt-box .voices-star .star {
    width: 3.2rem;
    margin-right: 1rem;
}
  .voices-slide-box .txt-box .voices-star .point-txt {
    width: 2.0rem;
}
.voices-slide .slick-prev {
  left: -3rem;
}
.voices-slide .slick-next {
  right: -3rem;
}
.voices-slide .slick-dots {
    bottom: -1.2rem;
}
.case-tit {
  font-size: 4.2rem;
}
.case-tit .case-num {
  font-size: 7.2rem;
}
.case-slide {
  margin: 5rem 0;
  overflow: visible
}
.case-slide {
  margin: 5rem 0;
  overflow: visible
}
.case-slide .slick-list {
  margin: 0 -5vw;
  overflow: hidden;
}
.case-slide-box {
  width: 100%;
  padding: 5rem;
  margin: 0 5vw;
}
.case-slide-box .text-box {
  width: 100%;
}
.case-slide-box .person-box {
  width: 100%;
  margin: 4rem 0;
}
.case-slide-box .person-box img {
  width: 30%;
  margin: 0 auto;
}
.case-slide-box .person-feelings-box {
  padding: 3rem;
  width: 100%;
  margin-bottom: 4rem;
}
.case-slide-box .ba-box {
  width: 100%;
}
.case-slide .slick-prev {
  left: -3rem;
}
.case-slide .slick-next {
  right: -3rem;
}
}

/*==================================================
warranty
==================================================*/
.warranty-block {
  background: url("../img/top/warranty-bg.svg") no-repeat top center, linear-gradient(to right,#2363bc 0%,#2363bc 50%,#1b4f99 50%,#1b4f99 100%);
  background-size: auto 100%, 100% 100%;
  padding: 4rem 0 3rem;
}
.warranty-flex {
  align-items: flex-start;
}
.warranty-img-box {
  width: 20.9%;
  margin-right: 2.3%;
}
.warranty-txt-box {
  width: 76.8%;
}
.warranty-txt-box .warranty-tit {
  padding-bottom: 2rem;
  border-bottom: 1px solid #fff;
  margin-bottom: 2rem;
}
.warranty-txt-box .warranty-tit img {
  width: 72.5%;
  margin: 0 auto;
}
.warranty-txt-box .warranty-txt {
  font-size: 2.4rem;
  text-align: center;
  line-height: 1.5;
  color: #fff;
}
.warranty-txt-box .warranty-txt span {
  color: #fcee21;
}
.warranty-marquee{
  margin:0 auto;
  overflow:hidden;
}
.warranty-track{
  display:flex;
  width:max-content;
  gap:0;
  position:relative;
  left:-2rem;
  animation:warranty-marquee linear infinite;
  will-change:transform;
}
.warranty-box{
  flex:0 0 auto;
}
.warranty-box img{
  height: 18rem;
  width:auto;
  display:block;
}
@keyframes warranty-marquee{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}
@keyframes marqueeShift{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(calc(-1 * var(--marquee-shift)));
  }
}
@media (max-width: 767px) {
  .warranty-txt-box {
    width: 100%;
  }
  .warranty-txt-box .warranty-tit {
    margin-bottom: 4rem;
  }
  .warranty-txt-box .warranty-tit img {
    width: 100%;
  }
  .warranty-txt-box .warranty-txt {
    font-size: 2.8rem;
    text-align: left;
    line-height: 1.5;
    margin-bottom: 2rem;
  }
  .warranty-box img {
    height: 12rem;
  }
}

/*==================================================
pricing
==================================================*/
.attention-sec {
  background: #fff9b0;
  padding: 7rem 0 5rem;
}
.attention-catch {
  text-align: center;
  font-size: 3.4rem;
  margin-bottom: 7rem;
}
.attention-catch span {
  color: #f22810;
}
.attention-box {
  background: #fff;
}
.attention-box::before,
.attention-box::after {
  content: '';
  display: block;
  width: 100%;
  height: 4.476rem;
  background: url("../img/top/attention-bar.svg") no-repeat top center;
}
.attention-icon-box {
  width: 13.1%;
  margin-right: 2rem;
}
.attention-txt-box {
  width: 50.58%;
}
.attention-txt-box h3 {
  font-size: 4.2rem;
  margin-bottom: 1rem;
}
.attention-txt-box p span {
  color: #ff0000;
}
.attention-img-box {
  width: 17.167%;
}

@media (max-width: 767px) {
.attention-sec {
  padding: 6rem 0;
}
.attention-sec .wrap-m {
  padding: 0;
}
.attention-catch {
  font-size: 3.9rem;
  margin-bottom: 6rem;
}
.attention-box::before,
.attention-box::after {
  background: url("../img/top/attention-bar_sp.svg") no-repeat top center;
  width: auto;
  height: 4.8rem;
}
.attention-box__inner {
  position: relative;
}
.attention-icon-box {
  width: 18.133%;
  margin-right: 2rem;
  padding: 4rem 0;
  position: relative;
  z-index: 1;
}
.attention-txt-box {
  width: 60%;
  position: relative;
  z-index: 1;
}
.attention-txt-box h3 {
  font-size: 5.0rem;
  line-height: 1.3;
}
.attention-txt-box.sp {
  width: 90vw;
  margin: 0 auto 4rem;
}
.attention-img-box {
  width: 25%;
  position: absolute;
  z-index: 0;
  right: 3.5vw;
  top: 0;
  bottom: 0;
}
}

/*==================================================
contact
==================================================*/
.contact-sec {
  background: #f0f9ff;
  padding: 7rem 0;
  overflow-x: hidden;
}
.contact-catch {
  text-align: center;
  font-size: 2.8rem;
  color: #2363bc;
  margin-bottom: 5rem;
}
.contact-box {
  max-width: 1080px;
  width: 100%;
  padding: 6rem 4rem;
  margin: 0 auto;
  border: 4px solid #2363bc;
  border-radius: 1rem;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact-box__inner {
  max-width: 840px;
  width: 100%;
}
.contact-box__inner dt, .contact-box__inner dd {
  margin-bottom: 1.5rem;
  min-height: 5.1rem;
  display: flex;
  align-items: center;
}
.contact-box__inner dt {
  width: 25%;
  position: relative;
}
.contact-box__inner dt .required {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  border-radius: .5rem;
  background: #f22810;
  color: #fff;
  padding: .5rem 1.25rem;
  font-size: 1.4rem;
}
.contact-box__inner dd {
  width: 75%;
}
.contact-box__inner dt, .contact-box__inner dd label {
  font-size: 1.8rem;
}
.contact-box__inner dd input[type=text], .contact-box__inner dd input[type=tel], .contact-box__inner dd textarea {
  border: 1px solid #1b4f99;
  border-radius: 1rem;
  padding: 1.2rem 2rem;
  width: 100%;
}
.contact-box__inner dd input[type=text].number {
  font-size: 2.6rem;
  padding: .5rem 2rem;
}
.contact-box__inner .wpcf7-form-control-wrap {
  width: 100%;
}
.contact-box__inner .file-trigger .wpcf7-form-control-wrap {
  width: auto;
}
.contact-box__inner dd.file {
  border: 1px solid #1b4f99;
  border-radius: 1rem;
  padding: .25rem;
}
.contact-box__inner dd.file .wpcf7-form-control-wrap .wpcf7-file {
  border-radius: 1rem;
  padding: .5rem .25rem;
}
.form-bottom-box .privacy-check {
  text-align: center;
  margin-bottom: 2rem;
  padding-top: 3rem;
}
.form-bottom-box .send-btn {
  text-align: center;
}
.form-bottom-box .send-btn button, .form-bottom-box .send-btn input {
  font-size: 2.057rem;
  color: #fff;
  background: #2363bc;
  padding: 2rem 7rem;
  border-radius: 999rem;
  box-shadow: 0 .5rem 1rem 0 rgba(0, 0, 0, .3);
  margin: 0 auto 3rem;
  transition: .3s;
}
.form-bottom-box .send-btn button:hover, .form-bottom-box .send-btn input:hover {
  transform: translateY(.5rem);
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
}
.wpcf7-radio {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2.4rem;
}
.wpcf7-radio .wpcf7-list-item {
  margin: 0;
}
.wpcf7-radio .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
}
.wpcf7-radio .wpcf7-list-item input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 1.8rem;
  height: 1.8rem;
  border: 0.2rem solid #cfcfcf;
  border-radius: 50%;
  background: #fff;
  display: inline-grid;
  place-content: center;
  margin: 0;
}
.wpcf7-radio .wpcf7-list-item input[type="radio"]::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  transform: scale(0);
  transition: transform 0.15s ease;
  background: #2363bc;
}
.wpcf7-radio .wpcf7-list-item input[type="radio"]:checked {
  border-color: #2363bc;
}
.wpcf7-radio .wpcf7-list-item input[type="radio"]:checked::before {
  transform: scale(1);
}
.wpcf7-radio .wpcf7-list-item-label {
  font-size: 1.8rem;
  line-height: 1.4;
  color: #111;
}
.wpcf7-radio .wpcf7-list-item input[type="radio"]:focus-visible {
  outline: 0.3rem solid rgba(35, 99, 188, 0.35);
  outline-offset: 0.2rem;
}
.wpcf7 input[type="file"] {
  display: none;
}
.wpcf7 .file-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .9rem 2.4rem;
  background: #7ba1d7;
  color: #fff;
  border-radius: 0.8rem;
  cursor: pointer;
}
.wpcf7 .file-name {
  margin-left: 1.6rem;
  font-size: 1.4rem;
  color: #555;
}
.js-submit-btn {
  display: none;
}
.wpcf7-list-item {
  margin: 0 !important;
}
@media screen and (max-width: 767px) {
  .contact-catch {
    font-size: 3.6rem;
    position: relative;
    display: inline-block;
    padding: 0 6.5rem;
    width: 100%;
  }
  .contact-catch::before, .contact-catch::after {
    content: "";
    position: absolute;
    bottom: 38%;
    width: 7.8rem;
    height: 0.2rem;
    background: #2363bc;
  }
  .contact-catch::before {
    left: 0;
    transform: translateY(-50%) rotate(60deg);
  }
  .contact-catch::after {
    right: 0;
    transform: translateY(-50%) rotate(-60deg);
  }
  
.contact-box__inner dt {
  margin-bottom: 1.5rem;
  width: 100%;
}
  .contact-box__inner dd {
  margin-bottom: 3.0rem;
  width: 100%;
}

.contact-box__inner dt .required {
  position: relative;
  top: auto;
  right: auto;
  transform: translateY(0);
  padding: .5rem 1.25rem;
  font-size: 2.1rem;
  margin-left: 3rem;
}
.contact-box__inner dt, .contact-box__inner dd label, .privacy-check {
  font-size: 3.0rem;
}
.contact-box__inner dd input[type=text], .contact-box__inner dd input[type=tel], .contact-box__inner dd textarea {
    padding: 1.9rem 2rem;
}
.form-bottom-box .send-btn button, .form-bottom-box .send-btn input {
  font-size: 3.93rem;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
}

.contact-box__inner dd input[type=text].number {
  font-size: 4.8rem;
}
  .wpcf7-radio .wpcf7-list-item-label {
  font-size: 3.0rem;
}
  .wpcf7-radio .wpcf7-list-item input[type="radio"] {
    width: 3.0rem;
    height: 3.0rem;
}
.wpcf7-radio .wpcf7-list-item input[type="radio"]::before {
    width: 2.4rem;
    height: 2.4rem;
}
.wpcf7 .file-name {
    font-size: 2.1rem;
}
}
/*==================================================
floating-banner
==================================================*/
.floating-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 15.2rem;
  z-index: 90;
}
.floating-banner::after {
  content: '';
  display: block;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 12.0rem;
  z-index: 80;
  background: #2363BC;
  background: linear-gradient(0deg, rgba(35, 99, 188, 1) 0%, rgba(0, 160, 233, 1) 100%);
}
.floating-banner .wrap-s {
  position: relative;
  z-index: 90;
}
.floating-banner .wrap-s .floating-banner__inner {
  align-items: flex-end;
}
.floating-banner .img-box {
  width: 24%;
  height: 15.5rem;
  position: relative;
}
.floating-batch {
  width: 52.27%;
  position: relative;
}
.floating-chara {
  width: 50.75%;
  position: absolute;
  right: 4.5%;
  bottom: 0;
}
.floating-banner .txt-box {
  padding: 0 2rem 2rem;
}
.floating-banner .txt-box p {
  font-size: 2.568rem;
  color: #fff;
  text-indent: 1rem;
  line-height: 1.2;
  margin-bottom: 1rem;
}
.floating-banner .txt-box p span {
  font-size: 3.2rem;
  color: #fcee21;
}
.floating-banner .tel-box {
  padding-bottom: 2rem;
}
.floating-banner .tel-box .cta__small {
  font-size: 2.4rem;
  color: #fff;
  line-height: 1;
}
.floating-banner .tel-box .cta__telnum {
  line-height: 1;
}
.floating-banner .tel-box .cta__telnum .tel-icon {
  width: 7.1776rem;
  margin-right: .5rem;
}
.floating-banner .tel-box .cta__telnum .en {
  font-size: 5.775rem;
  color: #fff;
}

@media screen and (max-width: 767px) {
  
.floating-banner {
  height: 20.135rem;
}
.floating-banner::after {
  height: 15.0rem;
}
  
.floating-banner .wrap-s .floating-banner__inner {
  justify-content: flex-start;
}
  .floating-banner .img-box {
    width: 15.5rem;
    height: 18.6rem;
}
  .floating-chara {
    width: 15.5rem;
    right: 4.5%;
    bottom: 0;
  }
  .floating-banner .tel-box {
    width: 68.5%;
    padding-bottom: 0;
  }
  .floating-banner .tel-box a {
    padding: 1rem 1.5rem;
    background: #fff;
    border: 2px solid #2363BC;
    border-radius: 1.5rem;
    text-align: center;
    display: block;
    width: 100%;
  }
  .floating-banner .tel-box .cta__small,
  .floating-banner .tel-box .cta__telnum .en {
    color: #2363BC;
  }
  .floating-banner .tel-box .txt-box {
    width: 100%;
    padding: 0 0 .25rem;
  }
}
/*==================================================
licenced
==================================================*/
.licenced-sec {
  background: url("../img/top/licenced_bg.webp") no-repeat center;
  background-size: cover;
  padding: 2rem 0 2rem;
}
.licenced-sec .warranty-img-box {
  width: 25%;
  margin-right: 0;
}
.licenced-sec .warranty-txt-box {
  width: 75%;
}
.licenced-sec .warranty-txt-box .warranty-tit {
  font-size: 3rem;
  line-height: 1.5em;
  text-align: center;
  border-color: rgba(49, 49, 49, 0.5);
}
.licenced-sec .warranty-txt-box .warranty-tit span {
  color: #2363bc;
  font-size: 150%;
}
.licenced-sec .warranty-txt-box .warranty-txt {
  color: #313131;
}
.licenced-sec .warranty-txt span {
  color: #f15a24;
}
/*==================================================
payment
==================================================*/
.payment-sec {
  background: url("../img/top/payment_bg.webp") no-repeat center;
  background-size: cover;
  padding: 7rem 0;
  overflow-x: hidden;
}
.payment-catch {
  text-align: center;
  font-size: 2.8rem;
  color: #fff;
  margin-bottom: 5rem;
}
.payment-box {
  padding: 3rem 5rem 4rem;
  border-radius: 1rem;
  background: #fff;
}
.payment-box h3 {
  text-align: center;
  font-size: 3rem;
  color: #2363bc;
  margin-bottom: 3rem;
  line-height: 1.7em;
}
.payment-list {
  justify-content: center;
  border-bottom: 1px solid rgba(35, 99, 188, 0.5);
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
.payment-list li {
  padding: 0 1rem;
}
.payment-list.list01 li img {
  height: 6rem;
  width: auto;
}
.payment-list.list02 li img {
  height: 7.4rem;
  width: auto;
}
.payment-list.list02 {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
/*==================================================
Faq
==================================================*/
.faq-sec {
  background: #f0f9ff;
  padding: 7rem 0;
  overflow-x: hidden;
}
.faq-box {
  margin-bottom: 3rem;
  border: 1px solid #2363bc;
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
}
.faq-box:last-child {
  margin-bottom: 0;
}
.faq-box .icon {
  width: 4.4rem;
  height: 4.4rem;
  line-height: 1em;
  text-align: center;
  border-radius: 100%;
  display: table;
  margin-right: 3rem;
  font-size: 3rem;
}
.faq-box .icon.q {
  background: #2363bc;
  color: #fff;
}
.faq-box .icon.a {
  color: #004d92;
  background: none;
}
.faq-box .icon .inner {
  display: table-cell;
  vertical-align: middle;
}
.faq-box .txt {
  flex: 1;
}
.faq-box .tit {
  padding: 2rem 6rem 2rem 3rem;
  cursor: pointer;
  position: relative;
  transition: .2s;
}
.faq-box .tit h3 {
  font-size: 2.1rem;
  line-height: 1.5em;
}
.faq-box .tit .click {
  width: 3rem;
  height: 3rem;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translateY(-50%);
}
.faq-box .tit .click:before {
  content: "";
  width: 100%;
  height: 0.2rem;
  display: block;
  background: #004d92;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.faq-box .tit .click:after {
  content: "";
  width: 0.2rem;
  height: 100%;
  display: block;
  background: #004d92;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: .3s;
}
.faq-box .tit.active .click:before {
  background: #fff;
}
.faq-box .tit.active .click:after {
  opacity: 0;
}
.faq-box .tit.active .icon.q {
  background: #fff;
  color: #2363bc;
}
.faq-box .tit.active {
  background: #2363bc;
  color: #fff;
}
.faq-box .content {
  padding: 3rem 5rem 5rem 3rem;
  display: none;
}
.faq-box .content .flex_box {
  align-items: flex-start;
}
.faq-box .content p {
  font-size: 2.1rem;
  line-height: 1.8em;
}
/*==================================================
Column
==================================================*/
.column-sec {
  background: url("../img/top/column_bg.webp") no-repeat center;
  background-size: auto 100%;
  padding: 7rem 0;
  overflow-x: hidden;
}
.sec-tit.color-white span {
  color: #fff !important;
}
.symptom-catch.color-white {
  color: #fff;
}
.symptom-catch.color-white::before, .symptom-catch.color-white::after {
  background: #fff;
}
.column-box .flex_box {
  align-items: flex-start;
}
.column-box .col-box {
  background: #fff;
  border-radius: 1rem;
  width: 49%;
  margin-bottom: 2%;
}
.column-box .col-box a {
  display: block;
  padding: 2rem;
}
.column-box .img-box {
  width: 34%;
  position: relative;
}
.column-box .txt-box {
  width: 63%;
}
.column-tit {
  font-size: 2.3rem;
  line-height: 1.5em;
  margin-bottom: 1rem;
}
.column-box .img-box .cat-box {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
}
.column-box .img-box .cat-box .cat {
  background: #f15a24;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1em;
  display: block;
  padding: 0.5rem 1rem;
  border-radius: 0.3rem;
  margin-left: 0.5rem;
}
/*==================================================
Area
==================================================*/
.area-sec {
  padding: 7rem 0;
  overflow-x: hidden;
}
.area-box {
  margin-bottom: 2rem;
  border: 1px solid #2363bc;
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
}
.area-box:last-child {
  margin-bottom: 0;
}
.area-box .tit {
  padding: 2rem 10rem 2rem 5rem;
  cursor: pointer;
  position: relative;
  transition: .2s;
  background: #2363bc;
  color: #fff;
}
.area-box .tit h3 {
  font-size: 2.4rem;
  line-height: 1.5em;
}
.area-box .tit .click {
  width: 3rem;
  height: 3rem;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translateY(-50%);
}
.area-box .tit .click:before {
  content: "";
  width: 100%;
  height: 0.2rem;
  display: block;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.area-box .tit .click:after {
  content: "";
  width: 0.2rem;
  height: 100%;
  display: block;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: .3s;
}
.area-box .tit.active .click:after {
  opacity: 0;
}
.area-box .content {
  padding: 3rem 5rem 4rem 5rem;
  display: none;
}
.area-box .content .flex_box {
  align-items: flex-start;
}
.area-box .area-list {
  justify-content: flex-start;
  margin-bottom: 2rem;
}
.area-box .area-list:last-child {
  margin-bottom: 0;
}
.area-box .area-list li {
  line-height: 1.8em;
}
.area-box .area-list li:after {
  content: "｜";
}
.area-box .area-list li:last-child:after {
  display: none;
}
/*==================================================
Company
==================================================*/
.company-sec {
  background: #5d81c4;
  padding: 15rem 0 7rem;
  overflow-x: hidden;
  position: relative;
}
.company-sec:before {
  content: "";
  width: 100%;
  height: 12.5rem;
  background: url("../img/top/company-bg-top.svg") no-repeat center top;
  position: absolute;
  background-size: 525.5rem auto;
  top: 0;
  left: 0;
}
.company-box {
  background: url("../img/top/company-bg-chara.webp") no-repeat center right;
  background-size: auto 100%;
  padding: 8rem 0;
  margin-top: -8rem;
  margin-bottom: 2rem;
}
.company-table {
  color: #fff;
  max-width: 90rem;
  width: 100%;
  margin: 0 auto;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}
.company-table th {
  text-align: left;
  width: 20%;
  padding: 2rem 3rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  line-height: 1.6em;
  white-space: nowrap;
}
.company-table td {
  text-align: left;
  padding: 2rem 3rem 2rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  line-height: 1.75em;
}
.company-table p {
  margin-bottom: 1em;
}
.company-table p:last-child {
  margin-bottom: 0;
}
.gmap {
  position: relative;
  width: 100%;
  padding-top: 50%;
  height: 0;
}
.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  /*==================================================
licenced
==================================================*/
  .licenced-sec {
    padding-bottom: 6rem;
  }
  .licenced-sec .warranty-img-box {
    width: 35%;
    margin-right: 0;
  }
  .licenced-sec .warranty-img-box img {
    width: 120%;
    margin-left: -10%;
  }
  .licenced-sec .warranty-txt-box {
    width: 65%;
  }
  .licenced-sec .warranty-txt-box .warranty-tit {
    font-size: 4rem;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .licenced-sec .warranty-txt {
    font-size: 2.8rem;
    border-top: 1px solid rgba(49, 49, 49, 0.5);
    padding-top: 2rem;
    margin-top: -3rem;
  }
  /*==================================================
payment
==================================================*/
  .payment-list.list03 li {
    width: 50%;
    padding: 0 2rem;
  }
  .payment-list.list04 li {
    width: 33.333333%;
    padding: 1rem 3rem;
  }
  .payment-catch {
    font-size: 3.6rem;
    line-height: 1.4em;
  }
  .payment-box h3 {
    font-size: 3.8rem;
    line-height: 1.4em;
  }
  .payment-list.list02 li {
    padding: 1rem 2rem;
  }
  .payment-list.list02 li img {
    height: 9.4rem;
    width: auto;
  }
  /*==================================================
Faq
==================================================*/
  .faq-box .tit h3 {
    font-size: 2.7rem;
  }
  .faq-box .icon {
    margin-right: 1.5rem;
  }
  .faq-box .content p {
    font-size: 2.7rem;
    line-height: 1.8em;
  }
  /*==================================================
Column
==================================================*/
  .column-box .col-box {
    width: 100%;
    margin-bottom: 2%;
  }
  .column-tit {
    font-size: 3.6rem;
    margin-bottom: 2rem;
  }
  .column-box .img-box .cat-box .cat {
    font-size: 2rem;
  }
  .column-box .col-box {
    margin-bottom: 3rem;
  }
  .column-box .col-box a {
    padding-bottom: 3rem;
  }
  /*==================================================
Area
==================================================*/
  .area-box .tit h3 {
    font-size: 2.7rem;
  }
  .area-box .tit {
    padding: 2rem 10rem 2rem 4rem;
  }
  .area-box .content {
    padding: 3rem 5rem 4rem 4rem;
  }
  /*==================================================
Company
==================================================*/
  .company-sec {
    padding-top: 10rem;
  }
  .company-sec:before {
    background: url(../img/top/company-bg-top.svg) no-repeat center top;
    position: absolute;
    background-size: 300rem auto;
  }
  .company-box {
    background: url(../img/top/company-bg-chara.webp) no-repeat center right;
    background-size: 80% auto;
    margin-bottom: 0;
  }
  .company-table th {
    padding: 2rem 2rem;
  }
  .gmap {
    margin: 0 auto;
    width: 95%;
    padding-top: 135%;
  }
}
/*==================================================
comparison
==================================================*/
.comparison-sec{
  position: relative;
  width: 100%;
  padding: 8rem 0;
  background: #d3edfb;
}
.comparison-lead{
  display: block;
  text-align: center;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.5;
}
.comparison-table{
  position: relative;
  width: 100%;
  margin-top: 5.4rem;
}
.comparison-table-header{
  width: 100%;
}
.comparison-table-header-tr,
.comparison-table-body-tr{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.comparison-table-header-th:first-of-type,
.comparison-table-body-th{
  width: 22.92%;
  height: 9rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.comparison-table-header-th img.pc{
  display: block;
}
.comparison-table-header-th img.sp{
  display: none;
}
.comparison-table-header-th:first-of-type{
  border-bottom: 0 !important;
}
.comparison-table-header .comparison-table-header-th{
  border-bottom: 4px solid #2363bc;
}
.comparison-table-header .comparison-table-header-th p{
  color: #fff;
  font-size: 4.1rem;
  font-weight: 700;
}
.comparison-table-header-th:nth-child(3){
  border-top: 4px solid #2363bc;
}
.comparison-table-header-th:last-of-type{
  border-radius: 0 2rem 0 0;
  border-left: 2px solid #2363bc;
  border-right: 4px solid #2363bc;
  border-top: 4px solid #2363bc;
}
.comparison-table-body-tr .comparison-table-body-th{
  border-bottom: 1px solid #fff;
  border-left: 4px solid #2363bc;
}
.comparison-table-body-tr:first-child .comparison-table-body-th{
  border-radius: 2rem 0 0 0;
  border-top: 4px solid #2363bc;
}
.comparison-table-body-tr .comparison-table-body-th p{
  color: #fff;
  font-size: 2.8rem;
  font-weight: 500;
}
.comparison-table-body-tr:last-of-type .comparison-table-body-th{
  border-bottom: 4px solid #2363bc;
  border-radius: 0 0 0 2rem;
}
.comparison-table-body-td{
  height: 9rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.comparison-table-body-th{
  background: rgba(35, 99, 188, 0.9);
}
.comparison-table-body-tr:last-child .comparison-table-body-td{
  border-bottom: 4px solid #2363bc;
}
.comparison-table-body-tr .comparison-table-body-td:last-child{
  border-right: 4px solid #2363bc;
  border-left: 2px solid #2363bc;
}
.comparison-table-body-td{
  border-bottom: 1px solid #2363bc;
}
.comparison-table-header-th:nth-child(2),
.comparison-table-body-td.double_circle{
  width: 30.67%;
}
.comparison-table-header-th:nth-child(2){
  padding: 2rem;
  border-radius: 2rem 2rem 0 0;
}
.comparison-table-body-td.double_circle{
  background: #fffcdb url(../img/top/comparison-double-circle.svg) no-repeat;
  background-size: 7.1rem;
  background-position: center center;
  border-left: 4px solid #2363bc;
  border-right: 4px solid #2363bc;
  border-bottom: 1px solid #2363bc;
}
.comparison-table-body-tr .comparison-table-body-td.punishment{
  background: #fff url(../img/top/comparison-double-bad.svg);
  background-repeat: no-repeat;
  background-size: 4.6rem 4.6rem;
  background-position: center center;
}
.comparison-table-body-tr .comparison-table-body-td.circle{
  background: #fff url(../img/top/comparison-circle.svg);
  background-repeat: no-repeat;
  background-size: 6.3rem 6.3rem;
  background-position: center center;
}
.comparison-table-body-tr .comparison-table-body-td.triangle{
  background: #fff url(../img/top/comparison-triangle.svg);
  background-repeat: no-repeat;
  background-size: 6.3rem 5.4rem;
  background-position: center center;
}
.comparison-table-body-tr:last-of-type .comparison-table-body-td.double_circle{
  border-bottom: 4px solid #2363bc;
}
.comparison-table-body-tr:last-of-type .comparison-table-body-td:last-of-type{
  border-radius: 0 0 2rem 0;
}
.comparison-table-body-td.double_circle p{
  font-size: 2.6rem;
  font-weight: 400;
  color: #1b4f99;
}
.comparison-table-body-td.double_circle p span{
  font-size: 2.1rem;
  font-weight: 400;
  display: block;
  text-align: center;
}
.comparison-table-header-th:nth-child(2){
  background: #2363bc;
}
.comparison-table-header-th:nth-child(3),
.comparison-table-body-td:nth-child(3){
  width: 23.2%;
}
.comparison-table-header-th:nth-child(3){
  background: rgba(35, 99, 188, 0.6);
  height: 9rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.comparison-table-body-td:nth-child(3){
  background: #fff;
}
.comparison-table-body-td:nth-child(3) p{
  font-size: 2.3rem;
  font-weight: 400;
}
.comparison-table-header-th:nth-child(4),
.comparison-table-body-td:nth-child(4){
  width: 23.2%;
}
.comparison-table-header-th:nth-child(4){
  background: rgba(35, 99, 188, 0.6);
  height: 9rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.comparison-table-body-td:nth-child(4){
  background: #fff;
}
.comparison-table-body-td:nth-child(4) p{
  font-size: 2.3rem;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .comparison-sec{
    padding: 6rem 0 5.8rem;
  }
  .comparison-lead{
    font-size: 3.6rem;
    line-height: 1.388;
  }
  .comparison-table{
    margin-top: 9.6rem;
  }
  .comparison-table-body-tr{
    align-items: unset;
  }
  .comparison-table-header-th:first-of-type,
  .comparison-table-body-th{
    width: 27%;
    height: auto;
    padding: 3.2rem 0;
  }
  .comparison-table-header .comparison-table-header-th{
    border-bottom: 2.5px solid #2363bc;
  }
  .comparison-table-header-th img.pc{
    display: none;
  }
  .comparison-table-header-th img.sp{
    display: block;
  }
  .comparison-table-header .comparison-table-header-th p{
    font-size: 4.2rem;
  }
  .comparison-table-header-th:nth-child(3){
    border-top: 2.5px solid #2363bc;
    padding: 1.5rem 0;
  }
  .comparison-table-header-th:nth-child(4){
    padding: 1.5rem 0;
  }
  .comparison-table-header-th:last-of-type{
    border-left: 1px solid #2363bc;
    border-right: 2.5px solid #2363bc;
    border-top: 2.5px solid #2363bc;
  }
  .comparison-table-body-tr .comparison-table-body-th{
    border-bottom: 1px solid #fff;
    border-left: 2.5px solid #2363bc;
  }
  .comparison-table-body-tr:first-child .comparison-table-body-th{
    border-top: 2.5px solid #2363bc;
  }
  .comparison-table-body-tr .comparison-table-body-th p{
    font-size: 2.675rem;
  }
  .comparison-table-body-tr:last-of-type .comparison-table-body-th{
    border-bottom: 2.5px solid #2363bc;
  }
  .comparison-table-body-td{
    height: auto;
  }
  .comparison-table-body-th{
    background: rgba(35, 99, 188, 0.9);
  }
  .comparison-table-body-tr:last-child .comparison-table-body-td{
    border-bottom: 2.5px solid #2363bc;
  }
  .comparison-table-body-tr .comparison-table-body-td:last-child{
    border-right: 2.5px solid #2363bc;
    border-left: 1px solid #2363bc;
  }
  .comparison-table-body-td{
    border-bottom: 1px solid #2363bc;
  }
  .comparison-table-header-th:nth-child(2){
    position: relative;
    padding: 3.2rem 2rem;
  }
  .comparison-table-header-th:nth-child(2):before{
    content: '';
    display: inline-block;
    width: 7.8rem;
    height: 9.1rem;
    background: url(../img/top/pricing-chara.webp) no-repeat;
    background-size: 100%;
    position: absolute;
    top: -6.6rem;
    left: 50%;
    transform: translate(-50%, 0);
  }
  .comparison-table-body-td.double_circle{
    background-size: 7.3rem;
    border-left: 2.5px solid #2363bc;
    border-right: 2.5px solid #2363bc;
    border-bottom: 1px solid #2363bc;
  }
  .comparison-table-body-tr .comparison-table-body-td.punishment{
    background-size: 6rem;
  }
  .comparison-table-body-tr .comparison-table-body-td.circle{
    background-size: 8rem;
  }
  .comparison-table-body-tr .comparison-table-body-td.triangle{
    background-size: 8rem 7rem;
  }
  .comparison-table-body-tr:last-of-type .comparison-table-body-td.double_circle{
    border-bottom: 2.5px solid #2363bc;
  }
  .comparison-table-body-td.double_circle p{
    font-size: 2.572rem;
  }
  .comparison-table-body-td.double_circle p span{
    font-size: 1.852rem;
  }
  .comparison-table-header-th:nth-child(3){
    height: auto;
  }
  .comparison-table-body-td:nth-child(3) p{
    font-size: 2.36rem;
  }
  .comparison-table-header-th:nth-child(4){
    height: auto;
  }
  .comparison-table-body-td:nth-child(4) p{
    font-size: 2.36rem;
  }
}


/*==================================================
cta02-sec
==================================================*/
.cta02-sec{
  position: relative;
  width: 100%;
  background: #fffcdb;
  padding: 5.5rem 0 6.5rem;
}
.cta02-sec .sec-tit{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 4.8rem;
  font-weight: 700;
  margin: 0;
  padding-right: 10rem;
}
.cta02-sec .sec-tit span{
  color: #2363bc;
  padding: 0;
  font-size: 4.8rem;
}
.cta02-sec .sec-tit:before{
  content: '';
  display: inline-block;
  width: 2px;
  height: 5.1rem;
  background: #313131;
  transform: rotate(-35deg);
  margin-right: 2rem;
}
.cta02-sec .sec-tit:after{
  content: '';
  display: inline-block;
  width: 2px;
  height: 5.1rem;
  background: #313131;
  transform: rotate(35deg);
  margin-left: 1rem;
}
.cta02-box{
  position: relative;
  width: 100%;
  background: #fff;
  margin-top: 5rem;
}
.cta02-box-header{
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #2363bc;
  padding: 2.5rem 5rem 2.5rem 9.6rem;
  max-height: 9.2rem;
  border-radius: 2rem 2rem 0 0;
  border: 2px solid #2363bc;
}
.cta02-box-header h3{
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  font-size: 4.3rem;
  color: #fff;
  font-weight: 700;
  margin-top: -6.5rem;
}
.cta02-box-header h3 img{
  position: relative;
  z-index: 2;
}
.cta02-box-header h3 img.pc{
  display: block;
}
.cta02-box-header h3 img.sp{
  display: none;
}
.cta02-box-body{
  position: relative;
  padding: 5.2rem 5rem 2.4rem;
  border: 2px solid #2363bc;
  border-radius: 0 0 2rem 2rem;
}
.cta02-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.cta02-actions-tel {
  width: calc(100% - calc(338 / 1440 * 100vw));
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.cta02-actions-tel.pc{
  display: flex;
}
.cta02-actions-tel.sp{
  display: none;
}
.cta02-actions-tel .tel-txt {
  width: calc(210 / 1440 * 100vw);
  height: calc(90 / 1440 * 100vw);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-right: calc(15 / 1440 * 100vw);
}
.cta02-actions-tel .tel-txt::after {
  content: '';
  display: block;
  clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%);
  background: #ffe100;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}
.cta02-actions-tel .tel-txt p {
  font-size: calc(21 / 1440 * 100vw);
  font-weight: bold;
  line-height: 1.15;
  position: relative;
  z-index: 2;
  margin-left: -.5rem;
}
.cta02-actions-tel .tel-txt p span {
  font-size: calc(27 / 1440 * 100vw);
  color: #f22810;
}
.cta02-actions-tel .cta--tel {
  display: block;
  text-align: center;
}
.cta02-actions-tel .cta--tel .cta__small {
  font-size: calc(30 / 1440 * 100vw);
  color: #f22810;
}
.cta02-actions-tel .cta--tel .cta__telnum {
  font-size: calc(58 / 1440 * 100vw);
  line-height: 1;
}
.cta02-actions-tel .cta--tel .cta__telnum .tel-icon {
  width: calc(60 / 1440 * 100vw);
  margin-right: calc(15 / 1440 * 100vw);
}
.cta02-actions .cta--line {
  width: calc(300 / 1440 * 100vw);
  padding: calc(15 / 1440 * 100vw);
  background: #22c55e;
  border-color: transparent;
  color: #fff;
  font-weight: 700;
  border-radius: 1rem;
}
.cta02-actions .cta--line .line-icon {
  width: calc(60 / 1440 * 100vw);
  margin-right: calc(10 / 1440 * 100vw);
}
.cta02-actions .cta--line .line-txt .cta__small {
  font-size: calc(18 / 1440 * 100vw);
  margin-bottom: .5rem;
  text-align: center;
}
.cta02-actions .cta--line .line-txt .cta__small.pc{
  display: block;
}
.cta02-actions .cta--line .line-txt .cta__small.sp{
  display: none;
}
.cta02-actions .cta--line .line-txt .cta__text {
  font-size: calc(30 / 1440 * 100vw);
  text-align: center;
}
.cta02-actions .cta--line .line-txt .cta__text.pc{
  display: block;
}
.cta02-actions .cta--line .line-txt .cta__text.sp{
  display: none;
}
.cta02-price{
  position: relative;
  width: 100%;
  padding: .8rem 1.8rem;
  margin-top: 3.6rem;
  background: url(../img/top/cta02-price-bg.webp) no-repeat;
  background-size: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.cta02-price p:first-of-type{
  font-size: 3.5rem;
  font-weight: 500;
  color: #fff;
  display: flex;
  align-items: center;
}
.cta02-price p:first-of-type .cta02-price-num{
  font-size: 6.35rem;
  color: #fcee21;
  font-weight: 700;
}
.cta02-price p:first-of-type .cta02-price-small{
  font-size: 2.38rem;
  font-weight: 500;
  color: #fff;
  margin-left: .5em;
}
.cta02-price p:last-of-type{
  font-size: 2.37rem;
  line-height: 1.2;
  font-weight: 500;
  font-style: italic;
  color: #fcee21;
  display: flex;
  align-items: center;
  margin-left: .3em;
}
.cta02-price p:last-of-type img{
  width: 43.5rem;
}

@media screen and (min-width: 1441px) {
  .cta02-actions-tel {
    width: calc(100% - 338px);
  }
  .cta02-actions-tel .tel-txt {
    width: 216px;
    height: 90px;
    margin-right: 15px;
  }
  .cta02-actions-tel .tel-txt p {
    font-size: 21px;
  }
  .cta02-actions-tel .tel-txt p span {
    font-size: 27px;
  }
  .cta02-actions-tel .cta--tel .cta__small {
    font-size: 26px;
  }
  .cta02-actions-tel .cta--tel .cta__telnum {
    font-size: 60px;
  }
  .cta02-actions-tel .cta--tel .cta__telnum .tel-icon {
    width: 50px;
    margin-right: 15px;
  }
  .cta02-actions .cta--line {
    width: 300px;
    padding: 15px;
  }
  .cta02-actions .cta--line .line-icon {
    width: 55px;
    margin-right: 10px;
  }
  .cta02-actions .cta--line .line-txt .cta__small {
    font-size: 18px;
  }
  .cta02-actions .cta--line .line-txt .cta__text {
    font-size: 30px;
  }
}
@media screen and (min-width: 768px) {
  .cta02-actions .cta--line {
    box-shadow: 0 .5rem .5rem 0 rgba(0, 0, 0, .2);
    transform: translateY(-.5rem);
    transition: .1s;
  }
  .cta02-actions .cta--line:hover {
    transform: translateY(0);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  }
}
@media screen and (max-width: 767px) {
  .cta02-sec{
    padding: 6rem 0 5.5rem;
  }
  .cta02-sec .sec-tit{
    justify-content: flex-start;
    font-size: 3rem;
    padding-right: 0;
    margin-left: -1rem;
  }
  .cta02-sec .sec-tit span{
    font-size: 3rem;
  }
  .cta02-sec .sec-tit:before{
    width: 1px;
    height: 4.5rem;
  }
  .cta02-sec .sec-tit:after{
    width: 1px;
    height: 4.5rem;
  }
  .cta02-box{
    margin-top: 4rem;
  }
  .cta02-box-header{
    padding: 3.5rem 0 1.1rem 3.4rem;
    max-height: 11rem;
  }
  .cta02-box-header h3{
    margin-top: -14.3rem;
  }
  .cta02-box-header h3 img{
    position: relative;
    z-index: 2;
  }
  .cta02-box-header h3 img.pc{
    display: none;
  }
  .cta02-box-header h3 img.sp{
    display: block;
  }
  .cta02-box-body{
    padding: 2.5rem 2rem;
  }
  .cta02-actions {
    flex-wrap: wrap;
    gap: 0;
  }
  .cta02-actions-tel {
    width: 100%;
  }
  .cta02-actions-tel.pc{
    display: none;
  }
  /*.cta02-actions-tel.sp{
    display: block;
  }*/
  .cta02-actions-tel.sp{
    display: block;
    margin-bottom: -7rem;
  }
  .cta02-actions .cta--line {
    width: 100%;
    max-width: 44.9rem;
    margin: 0 auto;
    padding: 1.6rem;
  }
  .cta02-actions .flex_box{
    justify-content: center;
  }
  .cta02-actions .cta--line .line-icon {
    width: 6rem;
    margin-right: 3rem;
  }
  .cta02-actions .cta--line .line-txt .cta__small {
    font-size: 3.2rem;
    margin-bottom: 0;
  }
  .cta02-actions .cta--line .line-txt .cta__small.pc{
    display: none;
  }
  .cta02-actions .cta--line .line-txt .cta__small.sp{
    display: block;
  }
  .cta02-actions .cta--line .line-txt .cta__text {
    font-size: 3.2rem;
  }
  .cta02-actions .cta--line .line-txt .cta__text.pc{
    display: none;
  }
  .cta02-actions .cta--line .line-txt .cta__text.sp{
    display: block;
  }
  .cta02-price{
    padding: 1.5rem 0 1.2rem;
    margin-top: 4.4rem;
    background: url(../img/top/cta02-price-bg-sp.webp) no-repeat;
    background-size: 100%;
    background-position: center;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  }
  .cta02-price p:first-of-type{
    width: 100%;
    font-size: 3.2rem;
    display: block;
  }
  .cta02-price p:first-of-type .cta02-price-num{
    font-size: 5.3rem;
    line-height: 1;
  }
  .cta02-price p:first-of-type .cta02-price-small{
    font-size: 2.8rem;
  }
  .cta02-price p:last-of-type{
    width: 100%;
    font-size: 2.7rem;
    margin-left: 0;
    margin-top: .3em;
    display: flex;
    justify-content: center;
  }
  .cta02-price p:last-of-type img{
    width: 41rem;
    margin-left: .5em;
  }
}

/*==================================================
staff-sec
==================================================*/
.staff-sec{
  position: relative;
  width: 100%;
  padding: 7rem 0 10rem;
  background: #fff;
  overflow: hidden;
}
.staff-lead{
  display: block;
  text-align: center;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.5;
}
.staff-sec .wrap-s{
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}
.staff-wrap{
  position: relative;
  width: 100%;
  margin-top: 8.8rem;
  padding-bottom: 5.6rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.staff-list{
  position: relative;
  flex: 0 0 auto;
  width: 27%;
  margin: 0 6rem;
}
.staff-list .staff-name-en{
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  font-size: 3rem;
  font-weight: 700;
  color: rgba(35, 99, 188, 0.4);
  z-index: 1;
}
.staff-list .staff-name-en .staff-name-en-katagaki{
  display: block;
  font-size: 1.2rem;
  font-weight: 400;
  color: rgba(35, 99, 188, 0.4);
}
.staff-list figure figcaption.pc{
  display: block;
}
.staff-list figure figcaption.sp{
  display: none;
}
.staff-list figure figcaption{
  display: block;
  text-align: center;
  margin-top: 3rem;
  font-size: 2.4rem;
  font-weight: 500;
}
.staff-list figure figcaption .staff-katagaki{
  font-size: 1.6rem;
  font-weight: 400;
}
.staff-list figure figcaption .staff-post{
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  color: #2363bc;
  line-height: 1.7;
  margin-top: 3rem;
}
.staff-list .staff-prof{
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 400;
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .staff-sec{
    padding: 7rem 0 7.8rem;
  }
  .staff-lead{
    font-size: 3.6rem;
    line-height: 1.38;
  }
  .staff-sec .wrap-s{
    max-width: 1242px;
    padding: 0;
  }
  .staff-wrap{
    position: relative;
    width: 100%;
    margin-top: 4rem;
    padding: 0 2rem 3rem;
  }
  .staff-list{
    width: calc(50% - 2rem);
    margin: 0 2rem;
  }
  .staff-list .staff-name-en{
    font-size: 3.6rem;
  }
  .staff-list .staff-name-en .staff-name-en-katagaki{
    font-size: 1.8rem;
  }
  .staff-list figure{
    padding: 0 .5rem;
  }
  .staff-list figure figcaption.pc{
    display: none;
  }
  .staff-list figure figcaption.sp{
    display: block;
  }
  .staff-list figure figcaption{
    margin-top: 1.5rem;
    font-size: 2.2rem;
  }
  .staff-list figure figcaption .staff-katagaki{
    font-size: 2rem;
    font-weight: 400;
  }
  .staff-list figure figcaption .staff-post{
    font-size: 2rem;
    margin-top: 3rem;
  }
  .staff-list .staff-prof{
    font-size: 2.4rem;
    margin-top: 3rem;
  }
}
/*==================================================
page common
==================================================*/
.page section {
  background-image: none !important;
  background-color: #f0f9ff !important;
}
.page .breadcrumb {
  background-color: #5d81c4;
  padding: .5rem 0;
}
.page .breadcrumb .breadcrumb__list {
  width: 100%;
  max-width: 1380px;
  margin-inline: auto;
  padding-inline: 40px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.page .breadcrumb .breadcrumb__item {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 400;
  color: #fff;
}
.page .breadcrumb .breadcrumb__item:not(:last-child)::after {
  content: ">";
  padding: 0 .5rem;
}
.page .company-sec {
  padding: 7rem 0;
}
.page .company-sec::before {
  content: none;
}
.page .sec-tit.color-white span {
  color: #2363bc !important;
}
.page .sec-tit.color-white span.en {
  color: #000 !important;
}
.page .company-table {
    color: #000;
    border-top: 1px solid rgba(0, 0, 0, 0.5);
}
.page .company-table th,
.page .company-table td {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}
.page .pricing__bottom-tit,
.page .pricing__bottom-box-nobg-tit {
    color: #2363bc;
}
@media screen and (max-width: 767px) {
  .page .breadcrumb .breadcrumb__list {
    padding-inline: 5vw;
    overflow-x: scroll;
  }
}