@charset "UTF-8";
/* font */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900');

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

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  padding: 0;
}

form {
  margin: 0;
  padding: 0;
}

label {
  display: inline-block;
}

input,
button,
select,
textarea {
  border: none;
  border-radius: 0;
  outline: none;
  background: transparent;
  background-color: transparent;
  background-image: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: inherit;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  text-decoration: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input:focus,
button:focus,
select:focus,
textarea:focus {
  border: none;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

input:hover,
button:hover,
select:hover,
textarea:hover {
  border: none;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

button,
select {
  text-transform: none;
}

textarea {
  overflow: auto;
  -ms-overflow-style: scrollbar;
  resize: vertical;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

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

/* リキッドレイアウト対応 */
html {
  font-size: clamp(0.625rem, 0.196rem + 0.89vw, 1rem);
}
@media screen and (max-width: 500px) {
  html {
    font-size: 7.17px;
  }
}
body {
  position: relative;
  z-index: -9999;
  color: #114762;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.15em;
  background-color:  #1B5A6C;
  overflow-x: hidden;
}
a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.8;
  }
}

a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border: none;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

b,
strong {
  font-weight: 700;
}

table {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
  border: none;
}

th,
td {
  padding: 4px 6px;
  border: none;
  text-align: center;
  vertical-align: middle;
}

.header__drawer,
.header__hamburger {
  display: none;
}

/*
============================================================ */
/* header
============================================================ */
.header {
  position: fixed;
  top: 1.8125rem;
  left: 0;
  z-index: 99;
  width: 100%;
}
.header__inner {
  max-width: 1191px;
}
.header__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header__logo {
  width: 12.5625rem;
}
.header__button a {
  display: block;
  background-color: #E4DE32;
  border-radius: 8px;
  padding: 0.5em 2em 0.5em 1.5em;
  position: relative;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.header__button a::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.85rem;
  width: 7px;
  height: 12px;
  background: url(../images/icon_arrow.svg) 0 0 no-repeat;
  background-size: 7px auto;
}

/*
============================================================ */
/* footer
============================================================ */
.footer {
  font-family: "Zen Maru Gothic", sans-serif;
  padding: 4.75rem 0 0;
  position: relative;
  background: #114762;
  color: #fff;
  font-size: 1.25rem;
}
.footer__inner {
  max-width: 1100px;
}
.footer__logo {
  width: 15.604375rem;
}
.footer__name {
  margin-top: 2.6875rem;
  font-size: 1.5625rem;
}
.footer__addres {
  font-size: 1.25rem;
  font-weight: 500;
  margin-top: 0.5em;
}
.footer__link {
  margin-top: 1em;
  font-size: 1.25rem;
  text-decoration: underline;
  font-weight: 900;
}
.footer__copyright {
  font-size: 0.875rem;
  font-weight: 200;
  text-align: center;
  padding: 1em 0 1.5em;
  border-top: 1px solid #fff;
  margin-top: 5rem;
  font-family: "Noto Sans JP", sans-serif;

}
/* inner
============================================================ */
.inner {
  margin-inline: auto;
  padding: 0 20px;
}
@media (max-width: 768px) {
  .inner {
    padding: 0 15px;
  }
}

/* title
============================================================ */
.section-title {
  font-size: 2.5rem;
  text-align: center;
}

/* button
============================================================ */
.button a {
  display: block;
}

.main-visual {
  background: url(../images/main-visual_pc.jpg) center / cover no-repeat;
}
/* font
============================================================ */
.font-baloo {
  font-family: "Baloo 2", sans-serif;
}

.is-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .is-sp {
    display: block;
  }
  .is-pc {
    display: none;
  }
}

/*
============================================================ */
/* main-visual
============================================================ */
.main-visual__contents {
  padding: 0 20px;
  padding-top: 7.9375rem;
}
.main-visual__lead {
  background: rgba(17, 71, 98, 0.68);
  border-radius: 3.3125rem;
  padding: 1.5625rem 1.5625rem 1.9375rem;
  position: relative;
  width: 50.5625rem;
  max-width: 100%;
  margin: 0 auto;
}
.main-visual__lead-text {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.2;
  position: relative;
}
.main-visual__lead::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 12.545625rem;
  height: 9.6875rem;
  background: url(../images/main_illust-01.png) 0 0 no-repeat;
  background-size: 12.545625rem auto;
}
.main-visual__lead-fuki {
  position: absolute;
  top: 0;
  left: 1rem;
  font-size: 2.5rem;
  transform: rotate(-13.39deg);
  letter-spacing: -5px;
  color: #FFFB7F;
}
.main-visual__lead-fuki::before {
  content: '';
  position: absolute;
  top: 1rem;
  left: -0.5rem;
  width: 7.27125rem;
  height: 3.5rem;
  background: url(../images/deco_fuki.svg) 0 0 no-repeat;
  background-size: 7.27125rem auto;
  transform: rotate(13.39deg);
}
.main-visual__text-underline {
  color: #fff;
  font-size: 1.875rem;
  letter-spacing: 0.16em;
  margin-top: 2.125rem;
  text-align: center;
}
.main-visual__text-underline span {
  background: linear-gradient(transparent 60%, rgba(22,96,125,0.36) 40%);
  padding: 0 0.3em;
}
.main-visual__text-yellow {
  color: #FEFB95;
  font-size: 1.875rem;
  text-align: center;
  margin-top: 2.125rem;
}
.main-visual__text-yellow .-text-s {
  font-size: 0.83em;
  color: #fff;
}
.main-visual__title {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 900;
  font-size: 5.544375rem;
  text-align: center;
  color: #fff;
  letter-spacing: 0;
  line-height: 1;
  margin-top: 1.3125rem;
  filter: drop-shadow(1px 11.48px 1.5px rgba(17, 71, 98, 0.59));
  letter-spacing: 0;
}
.main-visual__list-box {
  margin-top: 3.25rem;
}
.main-visual__list-text {
  font-size: 2.1875rem;
  text-align: center;
  font-weight: 900;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  letter-spacing: 0.16em;
}
.main-visual__list-text::before,
.main-visual__list-text::after {
  width: 4px;
  height: 40px;
  background-color: #114762;
  content: '';
  margin-bottom: 5px;
}
.main-visual__list-text::before {
  margin-right: 0.8em;
  transform: rotate(-40deg);
}

.main-visual__list-text::after {
  margin-left: 0.8em;
  transform: rotate(40deg);
}
.main-visual__lists {
  margin-top: 1.75rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3rem;
  padding: 3rem 3.4375rem;
  padding-left: 5rem;
  background: url(../images/main_bg.png) center center no-repeat;
  background-size: 60rem 12rem;
}
.main-visual__list {
  font-size: 1.5625rem;
  position: relative;
}
.main-visual__list::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -1.35em;
  width: 1.6875rem;
  height: 1.6875rem;
  background: url(../images/icon_check-01.svg) 0 0 no-repeat;
  background-size: 1.6875rem auto;
}
.main-visual__list-illust {
  position: relative;
  bottom: -4rem;
  margin-top: -6rem;
  width: 50.8125rem;
  max-width: 100%;
  margin-inline: auto;
}

/*
============================================================ */
/* section-security
============================================================ */
.top__security {
  padding: 10.6875rem 0 7.75rem;
  color: #fff;
}
.top__security .-text-blue {
  color: #91F4F9;
}
.security__inner {
  width: 68.75rem;
  max-width: 100%;
}
.security__lead {
  font-size: 2.153125rem;
  text-align: center;
  line-height: 1;
}
.security__lead .-text-l {
  font-size: 2.15857143em;
  line-height: 1;
}
.security__lead .-text-m {
  font-size: 1.28571429em;
}
.security__content {
  margin-top: 4rem;
  background-color: rgba(6, 25, 25, 0.55);
  border-radius: 1.25rem;
  font-size: 1.5625rem;
  position: relative;
}
.security__content-inner {
  padding: 3.125rem 4.0625rem;
  display: grid;
  grid-template-columns: 1fr 1.7fr;
  column-gap: 3.773125rem;
  position: relative;
}
.security__text .-text-l {
  font-size: 1.32em;
  line-height: 1;
}
.security__content::before,
.security__content::after,
.security__content-inner::before,
.security__content-inner::after {
  content: '';
  position: absolute;
  width: 4.03125rem;
  height: 4.03125rem;
  background: url(../images/deco_corner.svg) 0 0 no-repeat;
  background-size: 4.03125rem auto;
}
.security__content::before {
  top: -0.3125rem;
  left: -0.3125rem;
}
.security__content::after {
  top: -0.3125rem;
  right: -0.3125rem;
  transform: rotate(90deg);
}
.security__content-inner::before {
  bottom: -0.3125rem;
  left: -0.3125rem;
  transform: rotate(-90deg);
}
.security__content-inner::after {
  bottom: -0.3125rem;
  right: -0.3125rem;
  transform: rotate(180deg);
}

/*
============================================================ */
/* page-lead
============================================================ */
.page-lead {
  background: #0F373F;
  color: #fff;
  text-align: center;
  padding: 4.6875rem 20px;
  font-size: 2.1875rem;
  letter-spacing: 0.2em;
}
.page-lead__text .-text-yellow.-text-l {
  color: #FEFB95;
  font-size: 1.28571429em;
}

/*
============================================================ */
/* contact-link
============================================================ */
.contact-link {
  background: #EEEB7E;
  padding: 4.6875rem 0 6rem;
  text-align: center;
  font-size: 2.1875rem;

}
.contact-link__title {
  letter-spacing: 0.25em;
  line-height: 1.5;
}
.contact-link__title .-text-l {
  font-size: 1.28571429em;
  line-height: 1;
}
.contact-button a {
  background: #41BDCF;
  color: #fff;
  letter-spacing: 0.1em;
  padding: 0.6em;
  margin-top: 1.75rem;
  width: 39.8125rem;
  max-width: 100%;
  margin-inline: auto;
  border-radius: 1.215625rem;
  box-shadow: 0 0.25rem 0.7rem rgba(0,0,0,0.51);
  position: relative;
}
.contact-button a::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.875rem;
  width: 0.875rem;
  height: 1.5rem;
  background: url(../images/icon_arrow-white.svg) 0 0 no-repeat;
  background-size: 0.875rem auto;
}
.contact-link__inner {
  width: 68.75rem;
  max-width: 100%;
  position: relative;
}
.contact-link__inner::before,
.contact-link__inner::after {
  content: '';
  position: absolute;
  bottom: -0.5rem;
}
.contact-link__inner::before {
  width: 12.418125rem;
  height: 14.6875rem;
  background: url(../images/contact_illust-men.png) 0 0 no-repeat;
  background-size: 12.418125rem auto;
  left: 0;
}
.contact-link__inner::after {
  width: 11rem;
  height: 13.875rem;
  background: url(../images/contact_illust-women.png) 0 0 no-repeat;
  background-size: 11rem auto;
  right: 1.5rem;
}

/*
============================================================ */
/* top__set
============================================================ */
.top__set {
  background: #61BDCB;
  padding: 12.4375rem 0 13.8125rem;
  position: relative;
  color: #fff;
  text-align: center;
}
.top__set::before {
  content: '';
  position: absolute;
  top: 4.125rem;
  left: 50%;
  transform: translateX(-50%);
  width: 0.75rem;
  height: 5.6875rem;
  background: url(../images/deco_dot.svg) 0 0 no-repeat;
  background-size: 0.75rem auto;
}
.set__inner {
  width: 65.875rem;
  max-width: 100%;
}
.set__title-text {
  font-size: 2.6875rem;
  font-weight: 900;
  letter-spacing: 0.18em;
}
.set__title {
  font-weight: 900;
  margin-top: 2.3125rem;
  color: #114762;
  letter-spacing: 0.2em;
  padding: 3rem 4.375rem;
  background: url(../images/set_bg.png) center center no-repeat;
  background-size: 65rem 13rem;
}
.set__title .-text-s {
  font-size: 0.875em;
}
.set__plan {
  margin-top: 3.5rem;
  background: #fff;
  border-radius: 2.5rem;
  padding: 2.875rem 4.6875rem 4.1875rem;
  box-shadow: 0.1875rem 0.8125rem 0.90625rem rgba(17, 71, 98, 0.65);
}
.set__plan-title {
  font-size: 2.064375rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  color: #114762;
  font-weight: 900;
}
.set__plan-title::before,
.set__plan-title::after {
  width: 4px;
  height: 40px;
  background-color: #114762;
  content: '';
  border-radius: 1rem;
}
.set__plan-title::before {
  margin-right: 1em;
  transform: rotate(-40deg);
}
.set__plan-title::after {
  margin-left: 1em;
  transform: rotate(40deg);
}
.set__plan-contents {
  display: grid;
  row-gap: 2.1875rem;
  margin-top: 2.450625rem;
}
.set__plan-contents-title {
  font-size: 1.45875rem;
  font-weight: 900;
  transform: translateY(-40%);
  color: #fff;
}
.set__plan-contents-title span {
  background: #114762;
  padding: 0.2em 0.8em 0.3em;
}
.set__plan-content {
  background: rgba(97, 189, 203, 0.32);
  border-radius: 2.66625rem;
  padding: 0 2.5rem 3.5625rem;
  color: #114762;
  font-weight: 900;
}
.set__plan-content-inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.set__plan-left {
  position: relative;
}
.set__plan-left::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -2.5rem;
  width: 1.4375rem;
  height: 6.4375rem;
  background: url(../images/icon_arrow-triangle.svg) 0 0 no-repeat;
  background-size: 1.4375rem auto;
}
.set__plan-left .set__plan-text:first-child {
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: -4px;
}
.set__plan-left .set__plan-text:first-child .-text-l {
  font-size: 2.26375em;
  font-weight: 900;
  line-height: 1;
  vertical-align: sub;
}
.set__plan-left .set__plan-text:last-child {
  font-size: 2.1875rem;
  border-top: 3px dotted #114762;
}
.set__plan-right {
  text-align: left;
}
.set__plan-right .set__plan-text:first-child {
  font-size: 3.52125rem;
}
.set__plan-right .set__plan-text:last-child {
  font-size: 2.83625rem;
  line-height: 1;
}
.set__plan-right .set__plan-text:last-child .-text-l {
  font-size: 2.42397532em;
  letter-spacing: -0.2rem;
  line-height: 0.7;
}
.set__plan--plus {
  width: 4.53125rem;
  margin-inline: auto;
  margin-bottom: 1rem;
}
.set__plan-content:last-child {
  padding: 0 10px 2rem;
}
.set__plan-content:last-child .set__plan-text {
  font-size: 3.52125rem;
}
.set__plan-content:last-child .set__plan-text .-text-l {
  font-size: 1.95243166em;
  letter-spacing: -0.2rem;
  padding-left: 1rem;
  padding-right: 0.3rem;
  line-height: 1.3;
}
.set__center-text {
  font-size: 3.4375rem;
  text-align: center;
  font-weight: 800;
  margin-top: 6.3125rem;
  padding-bottom: 2.5rem;
}
.set__about {
  background: rgba(17, 71, 98, 0.41);
  border-radius: 2.034375rem;
  padding: 3.625rem 5.3125rem;
  margin-top: 3.375rem;
}
.set__about-title {
  font-size: 2.125rem;
  font-weight: 900;
  border-bottom: 3px dotted #fff;
  line-height: 1.7;
  padding-bottom: 2rem;
}
.set__about-title .set__about-bg {
  font-size: 1.17647059em;
  background-color: #114762;
  border-radius: 5rem;
  padding: 0.3rem 1.5rem 0.4rem;
}
.set__about-title .-text-yellow.-text-l {
  font-size: 1.17647059em;
  color: #FEFB95;
  line-height: 1;
}
.set__about-text {
  padding-top: 3rem;
  line-height: 2.2;
  font-size: 1.25rem;
}
.set__about:last-child .set__about-title .-text-yellow.-text-l {
  font-size: 1.02941176em;
}

/*
============================================================ */
/* top__sotrue
============================================================ */
.top__sotrue {
  background: #DFF3F6;
  padding: 13.75rem 0 15rem;
  font-weight: 900;
}
.sotrue__title {
  font-size: 2.91125rem;
  padding-bottom: 4.6875rem;
}
.sotrue__title .-text-yellow.-text-l {
  font-size: 1.16294547em;
  color: #D5AD37;
  padding-right: 0.5rem;
}
.sotrue__title-inner {
  position: relative;
}
.sotrue__title .sotrue__title-inner::before,
.sotrue__title .sotrue__title-inner::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 9.75rem;
  height: 13.25rem;
}
.sotrue__title .sotrue__title-inner::before {
  background: url(../images/uchi_shisa-01.png) 0 0 no-repeat;
  background-size: 9.75rem auto;
  left: -11rem;
}
.sotrue__title .sotrue__title-inner::after {
  background: url(../images/uchi_shisa-02.png) 0 0 no-repeat;
  background-size: 9.75rem auto;
  right: -11rem;
}
.sotrue__content {
  font-size: 1.5625rem;
  margin-top: 5.76875rem;
  width: 70.4375rem;
  max-width: 100%;
  margin-inline: auto;
}
.sotrue__text {
  display: inline-block;
  padding: 2.5rem 5rem;
  background: url(../images/sotrue_bg.png) center center no-repeat;
  background-size: 58rem 17rem;
}

.sotrue__text .-text-l {
  font-size: 1.4em;
}
.sotrue__ok {
  background: #fff;
  padding: 2.625rem 10px 2.625rem 3.75rem;
  width: 70%;
  margin-top: 3.125rem;
  margin-left: auto;
  border-radius: 2.1875rem;
  position: relative;
  display: grid;
  grid-template-columns: 2fr 1fr;
  align-items: center;
}
.sotrue__content:nth-child(3) .sotrue__ok {
  grid-template-columns: 1.5fr 1fr;
}
.sotrue__ok::after {
  content: '';
  position: absolute;
  top: -7rem;
  left: 20%;
  width: 5.723125rem;
  height: 9.4825rem;
  background: url(../images/icon_arrow-round.svg) 0 0 no-repeat;
  background-size: 5.723125rem auto;
}
.sotrue__content:nth-child(2) .sotrue__ok::after,
.sotrue__content:last-child .sotrue__ok::after {
  transform: scale(-1,1);
}
.sotrue__content:last-child .sotrue__ok::after {
  top: -6rem;
  left: auto;
  right: 50%;
}
.sotrue__ok-text .-text-blue.-text-l {
  font-size: 1.2em;
  color: #41BDCF;
}
.sotrue__ok-img {
 margin-right: 1rem;
}
.sotrue__content:nth-child(3) .sotrue__text {
  background: url(../images/sotrue_bg2.png) center center no-repeat;
  background-size: 64rem 20rem;
  transform: translateX(20%);
}
.sotrue__content:nth-child(3) .sotrue__ok {
  margin-right: auto;
  margin-left: 0;
}
/*
============================================================ */
/* top__update
============================================================ */
.top__update {
  padding: 14.4375rem 0 15.1875rem;
  background: url(../images/update_bg.jpg) center / cover no-repeat;
  text-align: center;
}
.update__inner {
  max-width: 1063px;
}
.update__lead-text {
  font-size: 2.5rem;
  line-height: 1.275;
  padding: 5rem 0;
  background: url(../images/update_text-bg.png) center center no-repeat;
  background-size: 55rem 19rem;
}
.update__lead-img {
  width: 56.875rem;
  max-width: 100%;
  margin-inline: auto;
  margin-top: -3.5rem;
}
.update__title {
  position: relative;
  text-align: center;
  display: inline-block;
  background: #F5F179;
  padding: 0 1em;
  height: 5.9375rem;
  line-height: 5.9375rem;
  font-weight: 900;
  font-size: 2.5rem;
  margin-top: 3.1875rem;
  filter: drop-shadow(0 5px 5px rgba(0,0,0,0.4));
}
.update__title::before,
.update__title::after {
    position: absolute;
    top: 0;
    width: 0px;
    height: 0px;
    border-color: #F5F179 transparent;
    border-style: solid;
    content: '';
}

.update__title::before {
    left: -15px;
    border-width: 2.9915rem 0px 2.9915rem 1.1rem;
}

.update__title::after {
    right: -15px;
    border-width: 2.9915rem 1.1rem 2.9915rem 0px;
}
.update__points-box {
  margin-top: 2.625rem;
  font-weight: 900;
  font-size: 2.5rem;
}
.update__points-title {
  color: #fff;
  letter-spacing: 0.2em;
  line-height: 1.6;
}
.update__points-title .-text-s {
  font-size: 0.75em;
}
.update__points-title .font-baloo.-text-yellow.-text-l {
  font-size: 2em;
  color: #FEFB95;
  line-height: 0.5;
}
.update__points-title .-text-yellow.-text-l {
  color: #FEFB95;
  font-size: 1.125em;
}
.update__points-icon {
  display: grid;
  grid-template-columns: repeat(3,auto);
  column-gap: 1.3125rem;
  max-width: 100%;
  justify-content: center;
  margin-top: 1.6875rem;
}
.update__point-icon {
  background: #FEFB95;
  border-radius: 50%;
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 9.375rem;
  width: 9.375rem;
}
.update__points-lead {
  color: #fff;
  font-size: 2.5rem;
  line-height: 1.4;
  letter-spacing: 0.18em;
  margin-top: 2.125rem;
}
.update__points-lead .-text-s {
  font-size: 0.75em;
}
.update__points {
  margin-top: 4.6875rem;
  display: grid;
  row-gap: 3.461875rem;
}
.update__point {
  background: #fff;
  border-radius: 3.5625rem;
  padding: 1.875rem 4.375rem 3.5rem;
  position: relative;
}
.update__point .update__point-icon {
  position: absolute;
  top: -1rem;
  left: -2rem;
  box-shadow: 0.25rem 0.625rem 1.625rem rgba(17, 71, 98, 0.57);
  transform: rotate(-10deg);
}
.update__point-title {
  font-size: 1.875rem;
  font-weight: 900;
  padding-bottom: 1.6875rem;
  border-bottom: 3px dotted #114762;
}
.update__point-text {
  font-size: 1.5625rem;
  padding-top: 2.125rem;
}

/*
============================================================ */
/* top__trouble
============================================================ */
.top__trouble {
  padding: 11.1875rem 0 12.5625rem;
  font-weight: 900;
  text-align: center;
}
.trouble__inner {
  max-width: 1140px;
}
.trouble__title {
  font-size: 3.385625rem;
  color: #fff;
}
.trouble__content {
  margin-top: 6.4375rem;
  background: rgba(6, 25, 25, 0.55);
  border-radius: 1.25rem;
  padding: 6.25rem 4.6875rem;
  position: relative;
}
.trouble__content::before,
.trouble__content::after,
.trouble__content-inner::before,
.trouble__content-inner::after {
  content: '';
  position: absolute;
  width: 4.03125rem;
  height: 4.03125rem;
  background: url(../images/deco_corner.svg) 0 0 no-repeat;
  background-size: 4.03125rem auto;
}
.trouble__content::before {
  top: -0.3125rem;
  left: -0.3125rem;
}
.trouble__content::after {
  top: -0.3125rem;
  right: -0.3125rem;
  transform: rotate(90deg);
}
.trouble__content-inner::before {
  bottom: -0.3125rem;
  left: -0.3125rem;
  transform: rotate(-90deg);
}
.trouble__content-inner::after {
  bottom: -0.3125rem;
  right: -0.3125rem;
  transform: rotate(180deg);
}
.trouble__lists {
  display: grid;
  row-gap: 1.625rem;
  position: relative;
}
.trouble__lists::after {
  content: '';
  position: absolute;
  bottom: -4rem;
  right: -4rem;
  width: 24.5625rem;
  height: 18.625rem;
  background: url(../images/trouble_illust.png) 0 0 no-repeat;
  background-size: 24.5625rem auto;
}
.trouble__list {
  background: #fff;
  border-radius: 0.625rem;
  padding: 1em;
  padding-left: 4em;
  font-size: 1.5rem;
  text-align: left;
  position: relative;
}
.trouble__list::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 2em;
  width: 2.15625rem;
  height: 1.9375rem;
  background: url(../images/icon_check-02.png) 0 0 no-repeat;
  background-size: 2.15625rem auto;
}
.trouble__list:nth-of-type(4),
.trouble__list:nth-of-type(5) {
  width: 65%;
}
.trouble__lead {
  color: #fff;
  font-size: 2.5rem;
  letter-spacing: 0.16em;
  padding-top: 7.375rem;
  position: relative;
}
.trouble__lead .-text-yellow.-text-l {
  font-size: 1.25em;
  color: #FEFB95;
  line-height: 1.1;
}
.trouble__lead::before {
  content: '';
  position: absolute;
  top: -3rem;
  left: 50%;
  transform: translateX(-50%);
  width: 3.25rem;
  height: 8.6rem;
  background: url(../images/icon_arrow-down.svg) 0 0 no-repeat;
  background-size: 3.25rem auto;
}
.trouble__text {
  margin-top: 2.3125rem;
  font-size: 1.875rem;
  line-height: 1.93333333;
  color: #fff;
}

/*
============================================================ */
/* top__company
============================================================ */
.top__company {
  padding: 8.8125rem 0 18rem;
  text-align: center;
  background: #DFF3F6;
  position: relative;
}
.top__company::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60.875rem;
  height: 12.9375rem;
  background: url(../images/com_illust.png) 0 0 no-repeat;
  background-size: 60.875rem auto;
  max-width: 100%;
}
.company__inner {
  max-width: 1115px;
}
.company__title {
  background: #fff;
  font-size: 2.5rem;
  line-height: 1.5;
  font-weight: 900;
  position: relative;
  box-shadow: 0.625rem 0.9375rem 1.23125rem rgba(17, 71, 98, 0.43);
}
.company__title-inner {
  position: relative;
  padding: 1em 0;
}
.company__title::before,
.company__title::after,
.company__title-inner::before,
.company__title-inner::after {
  content: '';
  position: absolute;
  width: 0.8125rem;
  height: 0.8125rem;
  background: #114762;
  border-radius: 50%;
}
.company__title::before {
  top: 0.875rem;
  left: 0.875rem;
}
.company__title::after {
  top: 0.875rem;
  right: 0.875rem;
}
.company__title-inner::before {
  bottom: 0.875rem;
  left: 0.875rem;
}
.company__title-inner::after {
  bottom: 0.875rem;
  right: 0.875rem;
}
.company__text {
  margin-top: 6.75rem;
  font-size: 1.5625rem;
  line-height: 2.32;
}
.company__banner {
  margin-top: 4.375rem;
  width: 62rem;
  max-width: 100%;
  margin-inline: auto;
}

/*
============================================================ */
/* top__compare
============================================================ */
.top__compare {
  background: #fff;
  padding: 6.75rem 0 7.75rem;
  text-align: center;
}
.compare__inner {
  max-width: 1100px;
}
.compare__title {
  font-size: 2.22375rem;
  font-weight: 900;
}
.compare__title .-text-l {
  font-size: 1.16666667em;
}
.compare__title-bg {
  color: #fff;
  background: #41BDCF;
  border-radius: 5rem;
  padding: 0.3rem 1.5rem 0.4rem;
  margin: 0 0.5rem;
}
.compare__table {
  margin-top: 5.5rem;
  position: relative;
}
.compare__table::after {
  content: '';
  position: absolute;
  top: 0;
  right: -1.5rem;
  width: 19.1875rem;
  height: 100%;
  background: url(../images/shadow.png) 0 0 no-repeat;
  background-size: 17.5rem auto;
  transform: scale(1.2);
  z-index: 1;
}
.compare__table thead tr th:first-child {
  width: 15%;
}
.compare__table thead tr .compare__table-title {
  background: rgba(184, 214, 218, 0.44);
  font-size: 1.5625rem;
  letter-spacing: 0.06em;
  line-height: 1.24;
  padding: 0.8em 0;
  font-weight: 900;
}
.compare__table thead tr th:nth-of-type(2) {
  border-radius: 0.9375rem 0 0 0;
  border-right: 0.1875rem solid rgba(17, 71, 98, 0.25);
}
.compare__table tbody {
  background: rgba(211, 228, 230, 0.44);
}
.compare__table tbody tr {
  font-weight: 900;
}
.compare__table tbody tr .compare__table-th {
  font-size: 1.25rem;
  font-weight: 900;
  text-align: right;
  padding-right: 1em;
  background: #fff;
  width: 50%;
}
.compare__table tbody tr .compare__table-price,
.compare__table tbody tr .compare__table-place,
.compare__table tbody tr .compare__table-update {
  font-size: 1.5625rem;
  padding: 1rem 0 0;
  letter-spacing: 1px;
}
.compare__table-dotted {
border-bottom: 0.1875rem dotted rgba(17, 71, 98, 0.25);
padding-bottom: 1rem;
display: block;
margin: 0 0.8em;
}
.compare__table-price:nth-of-type(2) .compare__table-dotted{
  padding-bottom: 1.6rem;
}
.compare__table tbody tr .compare__table-update {
  padding-bottom: 1.4rem;
}
.compare__table tbody tr:last-child .compare__table-update:nth-of-type(1) {
  border-radius: 0 0 0 0.9375rem;
  border-right: 0.1875rem solid rgba(17, 71, 98, 0.25);
}
.compare__table tbody tr td:nth-of-type(1) {
  border-right: 0.1875rem solid rgba(17, 71, 98, 0.25);
}
.compare__table tbody tr .compare__table-price:nth-of-type(1) {
  font-size: 1.431875rem;
}
.compare__table tbody tr .compare__table-price:nth-of-type(1) .-text-l {
  font-size: 1.79965081em;
  line-height: 1;
  vertical-align: sub;
  font-weight: bold;
}

.compare__table tbody tr .compare__table-price:nth-of-type(2) {
  font-size: 1.1075rem;
}
.compare__table tbody tr .compare__table-price:nth-of-type(2) .-text-l {
  font-size: 1.80022573em;
  line-height: 1;
  vertical-align: sub;
  letter-spacing: 0;
  font-weight: bold;
}

.compare__table thead tr .compare__table-title.current {
  font-size: 2.4025rem;
  color: #fff;
  background: #41BDCF;
  border-radius: 0.9375rem 0.9375rem 0 0;
  padding-top: 1em;
  display: inline-block;
  width: 100%;
  margin-top: -0.9rem;
  position: relative;
  z-index: 2;
}
.compare__table tbody tr .compare__table-price.current,
.compare__table tbody tr .compare__table-place.current,
.compare__table tbody tr .compare__table-update.current {
  background: #C3E7EC;
  line-height: 1.2;
  position: relative;
  z-index: 2;
}
.compare__table tbody tr .compare__table-update.current {
  padding-bottom: 3rem;
  padding-top: 1.5rem;
  border-radius: 0 0 0.9375rem 0.9375rem;
  display: inline-block;
  width: 100%;
  margin-bottom: -0.9rem;
}
.compare__text {
  font-size: 1.5625rem;
  margin-top: 4rem;
}
.compare__text .-text-blue {
  color: #41BDCF;
}
.compare__table tbody tr .compare__table-price.current {
  font-size: 1.4375rem;
}
.compare__table tbody tr .compare__table-place.current {
  padding-top: 0.3rem;
}
.compare__table tbody tr .current .compare__table-dotted {
  border-bottom: 0.1875rem dotted rgba(17, 71, 98, 0.5);
}
.compare__table tbody tr .compare__table-place.current .compare__table-dotted {
  padding-bottom: 0.5rem;
}
.compare__table tbody tr .compare__table-price.current .-text-l {
  font-size: 1.68em;
  font-weight: bold;
  letter-spacing: 0;
}
/*
============================================================ */
/* top__attention
============================================================ */
.top__attention {
  background: #41BDCF;
  padding: 17.8125rem 0 18rem;
}
.attention__title {
  font-size: 2.5rem;
  text-align: center;
  line-height: 1.4;
  position: relative;
  padding: 5rem 0;
  background: url(../images/update_text-bg.png) center center no-repeat;
  background-size: 55rem 19rem;
}
.attention__title::before {
  content: '';
  position: absolute;
  top: -7rem;
  left: 50%;
  transform: translateX(-50%);
  width: 7.519375rem;
  height: 7.519375rem;
  background: url(../images/icon_attention.png) 0 0 no-repeat;
  background-size: 7.519375rem auto;
}
.attention__title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60.5625rem;
  height: 11.5625rem;
  background: url(../images/attention_illust-01.png) 0 0 no-repeat;
  background-size: 60.5625rem auto;
  max-width: 100%;
}
.attention__text {
  font-size: 1.5625rem;
  color: #fff;
  text-align: center;
  margin-top: 3rem;
  padding-bottom: 1rem;
}
.attention__text .-text-yellow.-text-l {
  color: #FEFB95;
  font-size: 1.2em;
  line-height: 1;
}
.attention__content {
  width: 67.1875rem;
  max-width: 100%;
  margin-inline: auto;
  background: #fff;
  margin-top: 3rem;
  box-shadow: 0.625rem 0.9375rem 1.23125rem rgba(17, 71, 98, 0.43);
}
.attention__content-title {
  text-align: center;
  font-size: 1.875rem;
  font-weight: 900;
  position: relative;
  letter-spacing: 0.16em;
  margin: 0 3.4375rem;
  padding: 1em 0 0.7em 2em;
  border-bottom: 3px dotted #114762;
}
.attention__content-title span {
  position: relative;
}
.attention__content-title span::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -1.5em;
  width: 2.15625rem;
  height: 1.9375rem;
  background: url(../images/icon_check-02.png) 0 0 no-repeat;
  background-size: 2.15625rem auto;
}
.attention__content-inner {
  display: grid;
  grid-template-columns: 1fr 5fr;
  align-items: center;
  justify-content: center;
  column-gap: 1.875rem;
  margin-top: 1.5625rem;
  padding: 0 7.5rem;
}
.attention__content-text {
  font-size: 1.5625rem;
}
.attention__content-yellow {
  margin-top: 1.5625rem;
  text-align: center;
  background: #FEFB95;
  padding: 1rem 0;
  font-size: 1.875rem;
  font-weight: 900;
  letter-spacing: 0.16em;
}

/*
============================================================ */
/* top__voice
============================================================ */
.top__voice {
  background: #fff;
  margin-top: -5rem;
  padding: 11.25rem 0 14.875rem;
  border-top-right-radius: 2000px 400px;
  border-top-left-radius: 2000px 400px;
  border-bottom-right-radius: 2000px 400px;
  border-bottom-left-radius: 2000px 400px;
  margin-left: -200px;
  margin-right: -200px;
  padding-left: 200px;
  padding-right: 200px;
  position: relative;
  z-index: 2;
}
.voice__title-box {
  text-align: center;
  padding-bottom: 2.875rem;
}
.voice__title {
  font-size: 4.140625rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: #41BDCF;
}
.voice__sub-title {
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.2em;
}
.voice__content {
  margin-top: 2.8125rem;
  border-radius: 2rem;
  border: 0.25rem solid #114762;
  padding: 2.5rem 3.75rem;
  width: 63.415rem;
  max-width: 100%;
  margin-inline: auto;
}
.voice__content-title {
  display: grid;
  grid-template-columns: 1fr 3fr;
  align-items: flex-end;
  column-gap: 2.1875rem;
  color: #41BDCF;
}
.voice__content-num {
  font-size: 4.140625rem;
  font-weight: 900;
  line-height: 0.7;
  text-align: center;
}
.voice__content-name {
  font-size: 1.5625rem;
  font-weight: 800;
}
.voice__content-inner {
  display: grid;
  grid-template-columns: 1fr 3fr;
  align-items: center;
  column-gap: 2.1875rem;
  margin-top: 1rem;
}
.voice__content-img {
  width: 10.214375rem;
  margin-inline: auto;
}
.voice__content-text {
  font-size: 1.125rem;
}

/*
============================================================ */
/* top__about
============================================================ */
.top__about {
  background: #114762;
  padding: 16rem 0 12.9375rem;
  position: relative;
  z-index: 1;
  margin-top: -5rem;
}
.about__title {
  font-size: 2.5rem;
  color: #fff;
  text-align: center;
  letter-spacing: 0.24em;
}
.about__title .-text-s {
  font-size: 0.75em;
  padding-left: 0.5em;
}
.about__text {
  margin-top: 1.9375rem;
  color: #fff;
  font-size: 1.5625rem;
  text-align: center;
}
.about__text .-text-yellow.-text-l {
  font-size: 1.4em;
  color: #FEFB95;
}
.about__text .-text-m {
  font-size: 1.2em;
}
.about__content {
  width: 74.631875rem;
  max-width: 100%;
  margin-inline: auto;
  margin-top: 6.125rem;
  background: #fff;
  padding: 3.125rem 1.875rem;
  padding-left: 19rem;
  position: relative;
}
.about__content::before,
.about__content::after {
  content: '';
  position: absolute;
  top: -1.5rem;
  width: 3.561875rem;
  height: 7.88125rem;
  background: url(../images/about_pin.png) 0 0 no-repeat;
  background-size: 3.561875rem auto;
}
.about__content::before {
  left: -8px;
}
.about__content::after {
  right: -8px;
  transform: scale(-1, 1);
}
.about__content-img {
  position: absolute;
  bottom: -1.125rem;
  left: 2.3125rem;
  width: 15rem;
}
.about__content-text {
  font-size: 1.25rem;
}

/*
============================================================ */
/* top__faq
============================================================ */
.top__faq {
  background: #41BDCF;
  padding: 13.8125rem 0 17.0625rem;
}
.faq__title {
  font-size: 3.125rem;
  text-align: center;
  font-weight: 900;
  padding-bottom: 5.125rem;
}

/* .s_02 .accordion_one
============================================================ */
.top__faq .s_02 .accordion_one {
  width: 47.875rem;
  max-width: 100%;
  margin-top: 1.75rem;
  margin-inline: auto;
  background: #fff;
  border-radius: 1.25rem;
  font-size: 1.25rem;
  font-weight: 800;
}
.top__faq .s_02 .accordion_one .accordion_header {
  position: relative;
  cursor: pointer;
  padding: 1em 10px 1em 2em;
}
.accordion_icon {
  font-size: 1.5em;
  color: #41BDCF;
  padding-right: 0.7em;
  vertical-align: sub;
}
.top__faq .s_02 .accordion_one .accordion_header:hover {
  opacity: .8;
}
.top__faq .s_02 .accordion_one .accordion_header .i_box {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
}
.top__faq .s_02 .accordion_one .accordion_header .i_box .one_i {
  display: block;
  width: 22px;
  height: 22px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
  position: relative;
}

.top__faq .s_02 .accordion_one .accordion_header .i_box .one_i:before, .top__faq .s_02 .accordion_one .accordion_header .i_box .one_i:after {
  display: flex;
  content: '';
  background-color: #41BDCF;
  border-radius: 10px;
  width: 22px;
  height: 3px;
  position: absolute;
  top: 9px;
  left: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transform-origin: center center;
  transition: 0.2s;
}
.top__faq .s_02 .accordion_one .accordion_header .i_box .one_i:before {
  width: 3px;
  height: 22px;
  top: 0;
  left: 9px;
}
.top__faq .s_02 .accordion_one .accordion_header.open .i_box .one_i:after {
  opacity: 0;
}
.top__faq .s_02 .accordion_one .accordion_inner {
  display: none;
  padding: 2.1875rem;
  padding-top: 0;
  box-sizing: border-box;
}
.top__faq .s_02 .accordion_one .accordion_inner .box_one {
  height: auto;
  border-top: 2px solid #41BDCF;
  padding-top: 1.4375rem;
  font-size: 1rem;
  font-weight: bold;
}
.top__faq .s_02 .accordion_one .accordion_inner p.txt_a_ac {
  margin: 0;
}

/*
============================================================ */
/* top__contact
============================================================ */
.top__contact {
  background: #D1E9ED;
  padding: 11.1875rem 0 14.625rem;
}
.contact__inner {
  max-width: 972px;
}
.contact__title {
  text-align: center;
  font-size: 3.125rem;
  font-weight: 900;
  line-height: 1.5;
}
.contact__title .-text-blue.-text-s {
  font-size: 0.5em;
  color: #41BDCF;
}
.contact__form {
  background: #fff;
  border-radius: 2.8125rem;
  padding: 5rem 6.25rem;
  font-size: 1.125rem;
  margin-top: 5.75rem;
}
.form__list {
  margin-top: 1.2em;
}
.form__list .form__label {
  font-weight: 900;
  margin-bottom: 0.5em;
}
.form__list .required {
  color: #DB2417;
}
.form__list input,
.form__list textarea {
  background: rgba(196, 226, 230, 0.35);
  width: 100%;
  padding: 1em;
  border-radius: 10px;
}

.form__list input::placeholder,
.form__list textarea::placeholder {
  font-weight: 500;
  font-size: 1rem;
  color: #114762;
  opacity: 0.7;
}
.form__lead {
  text-align: center;
  font-weight: 900;
  margin-top: 3.375rem;
  font-size: 1.125rem;
}
.submit-button {
  background: #41BDCF;
  padding: 0.8em 0 0.8em 1em;
  text-align: center;
  display: block;
  color: #fff;
  font-weight: 900;
  font-size: 1.534375rem;
  letter-spacing: 0.2em;
  width: 30.5rem;
  max-width: 100%;
  margin-top: 1.125rem;
  border-radius: 5rem;
  margin-inline: auto;
  transition: 0.3s;
}
.submit-button:hover {
  opacity: 0.8;
}

/* sp
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  html,body {
    overflow-x: hidden;
  }
  .header__button a {
    border-radius: 50%;
    width: 50px;
    height: 50px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header__button a::after {
    display: none;
  }
  .header__button a img {
    width: 24px;
  }
  .header__logo {
    width: 122px;
  }
  .main-visual {
    background: url(../images/update_bg.jpg) center / cover no-repeat;
  }
  .main-visual__contents {
    padding-top: 84px;
  }
  .main-visual__lead {
    border-radius: 15px;
  }
  .main-visual__lead-fuki {
    top: -15px;
    left: 5rem;
    font-size: 23.97px;
  }
  .main-visual__lead-fuki::before {
    width: 59.64px;
    height: 28.71px;
    background-size: 59.64px auto;
    top: 1.5rem;
    left: 0;
  }
  .main-visual__title {
    filter: drop-shadow(1px 5px 1.5px rgba(17, 71, 98, 0.59));
  }
  .main-visual__list-text {
    letter-spacing: 1px;
  }
  .main-visual__list-text::before, .main-visual__list-text::after {
    width: 1.5px;
    height: 20px;
  }
  .main-visual__lists {
    gap: 0 25px;
    display: grid;
    grid-template-columns: repeat(2,auto);
    background: #000;
        background: url(../images/update_text-bg.png) center center no-repeat;
    background-size: 50rem 18rem;
  }
  .main-visual__list {
    font-size: 16px;
  }
  .main-visual__list::before {
    left: -1em;
  }
  .security__lead {
    line-height: 2;
    font-size: 20px;
  }
  .security__content-inner {
    grid-template-columns: auto;
    row-gap: 30px;
  }
  .security__content-img {
    width: 90%;
    margin-inline: auto;
  }
  .security__text {
    text-align: center;
    line-height: 2;
    font-size: 14px;
  }
  .contact-link {
    padding-bottom: 0;
  }
  .contact-link__inner {
    padding-bottom: 117px;
  }
  .contact-link__inner::before {
    left: 25%;
    z-index: 99;
  }
  .contact-link__inner::after {
    right: 25%;
    z-index: 99;
  }
  .set__title {
    background-size: 48rem 20rem;
  }
  .set__plan {
    padding: 15px;
  }
  .set__plan-title {
    line-height: 1.5;
    margin-bottom: 20px;
  }
  .set__plan-title::before, .set__plan-title::after {
    width: 2px;
  }
  .set__plan-content-inner {
    flex-direction: column;
    row-gap: 30px;
    align-items: center;
  }
  .set__plan-right {
    text-align: center;
  }
  .set__plan-left::after {
    top: auto;
    transform: translate(-50%, 0) rotate(90deg);
    bottom: -40px;
    right: auto;
    left: 50%;
  }
  .set__plan-contents-title span {
    text-align: center;
    display: inline-block;
  }
  .set__plan-content:last-child .set__plan-text .-text-l {
    line-height: 1;
  }
  .set__about {
    padding: 3.625rem 4rem;
  }
  .set__about-text {
    font-size: 13px;
  }
  .sotrue__title {
    line-height: 1.5;
    padding-bottom: 0;
  }
  .sotrue__title .sotrue__title-inner::before {
    left: -13rem;
  }
  .sotrue__text {
    display: block;
    font-size: 13px;
    padding: 5rem 7rem;
    line-height: 1.4;
    font-weight: 800;
  }
  .sotrue__ok {
    width: 100%;
    margin-top: 10px;
    grid-template-columns: auto;
    font-size: 14px;
    padding: 20px 30px;
  }
  .sotrue__content:nth-child(3) .sotrue__text {
    transform: translate(0);
  }
  .sotrue__ok-img {
    width: 40%;
    margin: 10px auto 0;
  }
  .sotrue__content .sotrue__ok::after {
    transform: scale(-1,1);
    left: auto;
    right: 20%;
  }
  .sotrue__content:nth-child(3) .sotrue__ok {
    grid-template-columns: auto;
  }
  .sotrue__ok-text {
    width: 86%;
    margin: 0 auto;
  }
  .sotrue__text,
  .sotrue__content:nth-child(3) .sotrue__text {
    background: url(../images/sotrue_bg-sp.png) center center no-repeat;
    background-size: 61rem 22rem;
  }
  .sotrue__content:nth-child(3) .sotrue__text {
    background-size: 61rem 30rem;
  }
  .sotrue__content:last-child .sotrue__text {
    background-size: 61rem 27rem;
  }
  .sotrue__text .-text-l {
    line-height: 1.4;
  }
  .update__lead-text {
    background-size: 53rem 19rem;
  }
  .update__title {
    height: auto;
    line-height: 1.2;
    padding: 20px 30px;
  }
  .update__title::before {
    left: -15px;
    border-width: 5.8rem 0px 5.8rem 2.1rem;
  }
  .update__title::after {
    right: -15px;
    border-width: 5.8rem 2.1rem 5.8rem 0px;
  }
  .update__points-title {
    line-height: 1.2;
  }
  .update__point-title {
    line-height: 1.3;
    font-size: 18px;
  }
  .update__point-text {
    font-size: 16px;
  }
  .update__point {
    padding: 20px;
  }
  .trouble__list {
    line-height: 1.2;
  }
  .trouble__list:nth-of-type(4), .trouble__list:nth-of-type(5) {
    width: 100%;
  }
  .trouble__content {
    padding-bottom: 152px;
  }
  .trouble__lists::after {
    bottom: -155px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }
  .trouble__lead {
    padding-top: 77px;
  }
  .trouble__lead::before {
    top: 10px;
    background-size: 3rem auto;
  }
  .trouble__text {
    font-weight: 500;
  }
  .company__text {
    font-size: 16px;
    padding: 0 15px;
  }
  .compare__table tbody tr .compare__table-th {
    text-align: center;
    line-height: 1.1;
  }
  .compare__table tbody tr .compare__table-price, .compare__table tbody tr .compare__table-place, .compare__table tbody tr .compare__table-update {
    font-size: 1.4rem;
  }
  .compare__table::after {
    top: auto;
    bottom: -3px;
    background-size: 13.5rem 23rem;
    right: -6.5rem;
  }
  .attention__content-inner {
   grid-template-columns: auto;
   padding: 0 3rem 1rem
  }
  .attention__content-img {
    width: 20%;
    margin-inline: auto;
  }
  .attention__content-title {
    line-height: 1.3;
  }
  .attention__content-title span::before {

    left: -4em;
    width: 3.15625rem;
    height: 2.9375rem;
    background-size: 3.15625rem auto;
  }
  .voice__title {
    font-size: 40px;
  }
  .voice__content-title {
    align-items: center;
    gap: 10px;
    display: flex;
    justify-content: center;
    margin-top: 17px;
  }
  .voice__content-name {
    font-size: 20px;
    line-height: 1.2;
  }
  .voice__content-num {
    font-size: 50px;
  }
  .about__content {
    padding: 5rem 3rem;
  }
  .about__content-text {
    font-size: 16px;
    line-height: 2;
  }
  .about__content-img {
    bottom: -1.125rem;
    left: auto;
    right: 40px;
  }
  .accordion_icon {
    font-size: 30px;
    padding-right: 2rem;
    vertical-align: middle;
    line-height: 1;
  }
  .top__faq .s_02 .accordion_one {
    font-size: 14px;
    line-height: 1.3;
  }
  .top__faq .s_02 .accordion_one .accordion_header {
    display: flex;
    align-items: center;
    padding: 3rem;
    padding-right: 7.5rem;
  }
  .top__faq .s_02 .accordion_one .accordion_inner .box_one {
    font-size: 12px;
  }
  .contact__title .-text-blue.-text-s {
    font-size: 15px;
  }
  .footer__logo {
    width: 215px;
  }
  .footer__inner {
    padding: 0 5rem;
  }
  .footer__name {
    font-size: 18px;
  }
  .footer__addres {
    font-size: 15px;
  }
  .footer__link {
    font-size: 15px;
  }
  .footer__copyright {
    margin-top: 56px;
  }
  .footer__copyright {
    font-size: 14px;
  }
  .attention__title {
    background: url(../images/attention-bg-sp.png) 0 0 no-repeat;
    background-size: 49rem 24rem;
    padding: 50px 20px 60px;
  }
  .attention__title::before {
    top: 0;
  }
  .attention__title::after {
    width: 21.0625rem;
    height: 8rem;
    background: url(../images/attention_illust-01-sp.png) 0 0 no-repeat;
    background-size: 21.0625rem auto;
  }
  .top__attention {
    padding-top: 66px;
  }
  .voice__content-text {
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    margin-top: 1rem;
  }
  .voice__content-inner {
    display: block;
  }
  .voice__content-img {
    width: 143px;
  }
  .voice__content {
    border-radius: 32px;
    border-width: 3px;
  }
  .contact__form {
    padding: 5rem 2rem;
    font-size: 16px;
  }
  .form__list input::placeholder,
  .form__list textarea::placeholder {
    font-size: 15px;
  }
  .form__lead {
    font-size: 16px;
  }
  .submit-button {
    font-size: 18px;
    width: 100%;
    margin-top: 3rem;
  }
}

@media screen and (min-width: 375px) and (max-width: 440px) {
  .attention__title {
    background-size: 56rem 24rem;
  }
}

@media screen and (max-width: 390px) {
  .sotrue__text,
  .sotrue__content:nth-child(3) .sotrue__text {
    background: url(../images/sotrue_bg-sp.png) center center no-repeat;
    background-size: 55rem 22rem;
  }
  .sotrue__content:nth-child(3) .sotrue__text {
    background-size: 55rem 30rem;
  }
  .sotrue__content:last-child .sotrue__text {
    background-size: 55rem 27rem;
  }
  .attention__title {
    background-size: 52rem 24rem;
  }
  .company__text {
    font-size: 13px;
  }
}


