@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

img {
  width: 100%;
  border: none;
  vertical-align: bottom;
}

a {
  cursor: pointer;
  text-decoration: none;
}

body {
  font-family: "游ゴシック体", "Yu Gothic", sans-serif;
  font-size: min(4.2666vw, 32px);
  font-weight: 400;
  line-height: 1.5;
  color: #233031;
  background-color: #fff;
}

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

a {
  color: inherit;
}

.wrapper {
  max-width: 768px;
  width: 100%;
  margin-inline: auto;
}

.contact {
  width: 91.8666vw;
  max-width: 689px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.contact a img {
  -webkit-box-shadow: 3px 6px 7px rgba(0, 0, 0, 0.2), -3px 6px 7px rgba(0, 0, 0, 0.2);
          box-shadow: 3px 6px 7px rgba(0, 0, 0, 0.2), -3px 6px 7px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}

.contact--type2 {
  width: 91.8666vw;
  max-width: 689px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.fv__inner {
  position: relative;
}

.fv__contact {
  position: absolute;
  top: 87%;
}

.about__inner {
  position: relative;
}

.about__contact {
  position: absolute;
  top: 93.65%;
}

.problem__inner {
  position: relative;
}

.problem__contact {
  position: absolute;
  top: 95.25%;
}
.business__inner {
  padding-top: min(10.5333vw, 77px); /* 10vwの計算結果を基準に修正 */
  padding-bottom: 4px;
  padding-inline: 30px;
}

.business__header {
  width: calc(100% + 60px);
  margin-left: -30px;
  position: relative;
}
.business__header img {
  /* 必要なスタイルがあればここに記述 */
}

.business__title {
  position: absolute;
  top: 87%;
  left: clamp(15px, 4vw, 30px);
}

.business__title img {
  width: 55.13vw;
}

.business__description {
  font-size: min(6.27vw, 46.96px);
  font-weight: bold;
  line-height: 1.2;
  margin-top: min(13.6vw, 120px);
}

.business__text {
  font-size: min(3.6vw, 27px);
  line-height: 1.778;
  margin-top: min(6.13vw, 46px);
}

.business__subheading {
  text-align: center;
  margin-top: min(10.93vw, 82px);
}

.business__subheading img {
  width: min(68.4vw, 513px);
}

.business__what {
  position: relative;
  width: calc(100% + 60px);
  margin-left: -30px;
}
.business__what img {
  /* 必要なスタイルがあればここに記述 */
}

.business__what-text--1 {
  width: 100%;
  text-align: center;
  font-size: min(4vw, 30px);
  line-height: 1.6;
  position: absolute;
  top: 6%;
}

.business__what-text--2 {
  width: 100%;
  text-align: center;
  font-size: min(4.8vw, 36px);
  font-weight: bold;
  position: absolute;
  top: 42%;
}

.business__what-text--3 {
  width: 100%;
  text-align: center;
  font-size: min(4.8vw, 36px);
  font-weight: bold;
  line-height: 1.2;
  position: absolute;
  top: 82%;
}

.mission__inner {
  padding-top: min(10vw, 80px);
  padding-bottom: min(10vw, 82px);
  background-color: #f2f7fa;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 99%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 99%);
}

.mission__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.mission__title h2 {
  font-size: min(6.1333vw, 46px);
  color: #1f548a;
  font-weight: 700;
  line-height: 1.2;
}
.mission__title h2 span {
  font-size: min(7.4666vw, 56px);
  color: #0081ba;
}

.mission__title--type2 {
  font-size: min(7.4666vw, 56px);
  color: #1f548a !important;
  font-weight: 700;
  line-height: 1.2;
}

.mission-container {
  margin-top: min(5.2vw, 39px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(18.4vw, 138px);
}

.mission-box {
  /* 必要なスタイルがあればここに記述 */
}

.mission-box__img img {
  width: min(83.7333vw, 628px);
}

.mission-box__img--type2 {
  text-align: right;
}
.mission-box__img--type2 img {
  width: min(83.7333vw, 637px);
}

.mission-box__head {
  font-size: min(5.3333vw, 40px);
  color: #1f548a;
  font-weight: 700;
  line-height: 1.2;
  margin-top: min(4.2666vw, 32px);
  width: min(80vw, 705px);
  padding-left: min(3.5999vw, 27px);
  padding-bottom: min(1.3333vw, 10px);
  border-bottom: 1px solid #1f548a;
}

.mission-box__text {
  line-height: 1.5;
  margin-top: min(1.0666vw, 8px);
  padding-left: min(3.5999vw, 27px);
}
.mission-box__text span {
  color: #1f548a;
  font-weight: 700;
}

.voice {
  background: #fff;
}

.voice__inner {
  padding-top: min(10.5333vw, 79px);
  padding-inline: min(4vw, 30px);
  padding-bottom: min(11.2vw, 84px);
}

.voice-title__img {
  max-width: min(78vw, 585px);
  margin-inline: auto;
}
.voice-title__text {
  margin-top: max(-100px, -13.3333vw);
  margin-left: min(3.7333vw, 28px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(3.2vw, 24px);
  color: #1f548a;
}
.voice-title__text p {
  font-size: min(11.7333vw, 88px);
  font-weight: 700;
  line-height: 1.535;
}
.voice-title__text span {
  font-size: min(4.5333vw, 34px);
  font-weight: bold;
}

.voice-chat-container {
  margin-top: min(5.2vw, 39px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(5.3333vw, 40px);
}

.voice-chat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(2.9333vw, 22px);
  background-color: #f2f7fa;
  padding-block: min(6vw, 45px);
}

.voice-chat__img {
  -webkit-box-flex: 142;
      -ms-flex: 142;
          flex: 142;
}
.voice-chat__img img {
  /* 必要なスタイルがあればここに記述 */
}

.voice-chat__text {
  -webkit-box-flex: 532;
      -ms-flex: 532;
          flex: 532;
  color: #233031;
  font-weight: 700;
  line-height: 1.553;
}

.message__inner {
  padding-bottom: min(13.0666vw, 98px);
  position: relative;
}

.message-head {
  background: linear-gradient(92deg, #1f548a 0%, #0081ba 100%);
  text-align: center;
}

.message-head__inner {
  padding-top: min(10.4vw, 78px);
}

.message-head__title {
  padding-inline: min(4vw, 30px);
}
.message-head__text--1 {
  margin-top: max(-5.3333vw, -40px);
  color: #fff;
  font-size: min(4.8vw, 36px);
  font-weight: 700;
  line-height: 1.833;
  letter-spacing: 0.025em;
}
.message-head__text--1 span {
  font-size: min(7.7666vw, 58.25px);
  line-height: 1.133;
}

.message-head__text--2 {
  margin-top: min(6vw, 45px);
  font-size: min(3.7333vw, 28px);
  color: #fff;
  line-height: 1.357;
}

.message-head__text--3 {
  margin-top: min(6.1333vw, 46px);
  padding-inline: min(4vw, 30px);
}
.message-head__img {
  margin-top: min(15.6vw, 117px);
  position: relative;
}
.message-head__img::before {
  content: "";
  width: 100%;
  height: min(15.0666vw, 113px);
  background: url(../img/message-line.webp) no-repeat center center/contain;
  position: absolute;
  top: 0;
  left: 0;
}
.message-textbox__inner {
  padding-top: min(11.6vw, 87px);
  padding-inline: min(4vw, 30px);
}
.message-textbox__inner p {
  font-size: min(4vw, 30px);
  color: #233031;
  line-height: 1.6;
}
.message-textbox__inner p span {
  color: #1f548a;
  font-weight: 700;
}

.message__contact {
  margin-top: min(4.1333vw, 31px);
  margin-inline: auto;
  left: initial;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.benefit__inner {
  background: #1f548a;
  padding-top: min(20vw, 150px);
  padding-bottom: min(7.7333vw, 58px);
  -webkit-clip-path: polygon(0 0, 100% 1%, 100% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 1%, 100% 100%, 0% 100%);
}

.benefit__title {
  padding-inline: min(2vw, 6px);
  text-align: center;
}
.benefit__title span {
  display: block;
  margin-top: max(-7.2vw, -54px);
  font-size: min(6.4vw, 48px);
  color: #fff;
  font-weight: 700;
}

.benefit__container {
  margin-top: min(8.9333vw, 67px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(3.8666vw, 29px);
}

.benefit__container--type2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(6.8vw, 51px);
}

.benefit-box__title,
.benefit-box__title--type2,
.benefit-box__title--type3 {
  background: url(../img/benefit-short-line.webp) no-repeat;
  background-size: min(36.4vw, 273px) min(5.0666vw, 38px);
}
.benefit-box__title span,
.benefit-box__title--type2 span,
.benefit-box__title--type3 span {
  display: block;
  color: #233031;
  font-weight: 700;
  padding-left: min(3.7333vw, 28px);
  height: min(5.0666vw, 38px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.benefit-box__title--type2 {
  background: url(../img/benefit-middle-line.webp) no-repeat;
  background-size: min(44vw, 330px) min(5.0666vw, 38px);
}

.benefit-box__title--type3 {
  background: url(../img/benefit-long-line.webp) no-repeat;
  background-size: min(45.4666vw, 341px) min(5.0666vw, 38px);
}

.benefit-box__text {
  color: #fff;
  font-weight: 700;
  line-height: 1.563;
  padding-left: min(8.2666vw, 62px);
  margin-top: min(1.2vw, 6px);
}

.benefit__point {
  margin-top: min(6.4vw, 48px);
  margin-bottom: min(7.3333vw, 55px);
  padding-top: min(3.7333vw, 25px);
  padding-bottom: min(4vw, 30px);
  background: url(../img/benefit-bg-img.webp) no-repeat center center/cover;
  text-align: center;
}

.benefit__point-title {
  width: min(92.6666vw, 695px);
  padding-bottom: min(3.4666vw, 22px);
  border-bottom: 1px solid #fff;
  margin-inline: auto;
  font-size: min(5.2vw, 36px);
  color: #fff;
  font-weight: 700;
}

.benefit__point-text {
  margin-top: min(3.4666vw, 26px);
  color: #fff;
  font-weight: 700;
  line-height: 1.563;
}

.benefit__sns {
  margin-top: min(8.1333vw, 61px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(21.3333vw, 160px);
}

.benefit__sns--insta img,
.benefit__sns--x img {
  width: min(6.6666vw, 50px);
}

.benefit__contact {
  margin-top: min(9.1333vw, 61px);
  margin-inline: auto;
  left: initial;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.footer {
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(15.6vw, 117px);
}

.footer__company a,
.footer__privacy a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(12px, 2.4vw, 18px);
}

.privacy__inner {
  padding-block: min(10.6667vw, 80px);
  padding-inline: min(4vw, 30px);
}

.privacy__title {
  text-align: center;
}

.privacy__title--en {
  display: inline-block;
  font-size: min(6.4vw, 48px);
  font-weight: 700;
  padding-bottom: min(2.6667vw, 20px);
  border-bottom: 1px solid #233031;
}

.privacy__subtitle--ja {
  display: block;
  margin-top: min(5.3333vw, 40px);
}

.privacy__lead {
  margin-top: min(3.2vw, 24px);
  font-size: min(3.2vw, 24px);
  line-height: 1.2;
}

.privacy__boxes {
  margin-top: min(10.6667vw, 80px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(10.6667vw, 80px);
}

.privacy__box-title {
  font-size: min(3.7333vw, 28px);
  font-weight: 700;
}

.privacy__box-text {
  font-size: min(2.9333vw, 22px);
  line-height: 1.2;
  margin-top: min(3.2vw, 24px);
}