@charset "UTF-8";
/* CSS Document */

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");

/* --------------------------------

vw関数

----------------------------------- */

/*

サイズ用関数

font-size: vw(30,375);

*/

/* --------------------------------

mixin

----------------------------------- */

/* --------------------------------

変数

----------------------------------- */

/* --------------------------------

common

----------------------------------- */

*,

*::before,

*::after {

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

}



html {

  font-size: 10px;

  -webkit-font-feature-settings: normal;

  font-feature-settings: normal;

}



@media (min-width: 768px) and (max-width: 1140px) {

  html {

    font-size: 0.8771929825vw;

  }

}

body {

  font-size: 1rem;

  color: #333;

  font-family: "Noto Sans JP", sans-serif;

}



@media print, screen and (min-width: 461px) {

  body {

    min-width: 100%;

  }

}

h2,

h3,

h4,

h5,

h6,

p,

ul,

ol,

li,

dl,

dt,

dd {

  font-weight: 400;

}



.l-inner {

  max-width: 1140px;

  margin-inline: auto;

  width: 100%;

  padding-inline: 2rem;

}



@media only screen and (max-width: 767px) {

  .l-inner {

    max-width: 500px;

  }

}

img {

  width: 100%;

  height: auto;

  display: block;

  max-width: initial;

}



/* --------------------------------

ヘッダー(common.css上書き)

----------------------------------- */

.column_header {

  padding-block: 0.48828125vw;

  padding-inline: 4.296875vw;

}



@media (min-width: 1024px) {

  .column_header {

    padding-block: 5px;

    padding-inline: 44px;

  }

}

@media only screen and (max-width: 767px) {

  .column_header {

    height: 62px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    border-bottom: 2px solid #00aaeb;

  }

}

.column_header_columns {

  gap: 0.78125vw;

}



@media (min-width: 1024px) {

  .column_header_columns {

    gap: 8px;

  }

}

@media only screen and (max-width: 767px) {

  .column_header_columns {

    margin-left: 0;

  }

}

.column_header_column:first-child img {

  width: 15.72265625vw;

}



@media (min-width: 1024px) {

  .column_header_column:first-child img {

    width: 161px;

  }

}

@media only screen and (max-width: 767px) {

  .column_header_column:first-child img {

    width: 146px;

  }

}

.column_header_column:first-child span {

  font-size: 1.171875vw;

}



@media (min-width: 1024px) {

  .column_header_column:first-child span {

    font-size: 12px;

  }

}

@media only screen and (max-width: 767px) {

  .column_header_column:first-child span {

    font-size: 12px;

  }

}

.column_header_column:nth-child(2) span {

  font-size: 1.171875vw;

}



@media (min-width: 1024px) {

  .column_header_column:nth-child(2) span {

    font-size: 12px;

  }

}

.column_header_column:nth-child(2) a {

  gap: 0.29296875vw;

  font-size: 2.44140625vw;

}



@media (min-width: 1024px) {

  .column_header_column:nth-child(2) a {

    gap: 3px;

    font-size: 25px;

  }

}

.column_gnavi {

  border-top: 0.1953125vw solid #dfd8d8;

  border-bottom: 0.1953125vw solid #dfd8d8;

  padding: 1.171875vw 4.296875vw;

}



@media (min-width: 1024px) {

  .column_gnavi {

    border-top: 2px solid #dfd8d8;

    border-bottom: 2px solid #dfd8d8;

    padding: 12px 44px;

  }

}

.column_gnavi_column--hidden {

  display: none;

}



.column_gnavi_column--link {

  margin-left: auto;

}



.column_gnavi_column--link ul li a {

  width: 14.84375vw;

  height: 3.41796875vw;

  border: 0.1953125vw solid #fc0001;

  border-radius: 1.953125vw;

  font-size: 1.7578125vw;

  -webkit-box-shadow: 0 0.390625vw 0.390625vw rgba(0, 0, 0, 0.25);

  box-shadow: 0 0.390625vw 0.390625vw rgba(0, 0, 0, 0.25);

}



@media (min-width: 1024px) {

  .column_gnavi_column--link ul li a {

    width: 152px;

    height: 35px;

    border: 2px solid #fc0001;

    border-radius: 20px;

    font-size: 18px;

    -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);

    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);

  }

}

.column_header_column a img {

  width: 2.1484375vw;

}



@media (min-width: 1024px) {

  .column_header_column a img {

    width: 22px;

  }

}

/* --------------------------------

footer

----------------------------------- */

.footer {

  padding-top: 2rem;

  padding-inline: 9rem;

  padding-bottom: calc(4rem + 80px);

}



@media only screen and (max-width: 767px) {

  .footer {

    padding-inline: 2rem;

    padding-bottom: 12rem;

  }

}

.footer__contents {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  gap: 7.7rem;

}



@media only screen and (max-width: 767px) {

  .footer__contents {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    gap: 1.8rem;

  }

}

.footer__logo {

  width: 27.5rem;

}



@media only screen and (max-width: 767px) {

  .footer__logo {

    width: 16rem;

  }

}

.footer__logo a {

  display: block;

  -webkit-transition: opacity 0.3s;

  transition: opacity 0.3s;

}



.footer__logo a:hover {

  opacity: 0.6;

}



.footer-nav__items {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  gap: 2.4rem;

}



.footer-nav__items li a {

  padding-block: 1rem;

  font-size: 1.5rem;

  line-height: 1.4;

  -webkit-transition: opacity 0.3s;

  transition: opacity 0.3s;

}



@media only screen and (max-width: 767px) {

  .footer-nav__items li a {

    font-size: 1.4rem;

  }

}

@media only screen and (min-width: 768px) {

  .footer-nav__items li a:hover {

    opacity: 0.7;

  }

}

.pagetopbtn.active {

  -webkit-filter: opacity(100%);

  filter: opacity(100%);

  pointer-events: auto;

  -webkit-transition: 1s;

  transition: 1s;

}



.pagetopbtn {

  position: fixed;

  bottom: 90px;

  right: 10px;

  width: 4rem;

  height: 4rem;

  border-radius: 0.4rem;

  -webkit-filter: opacity(0%);

  filter: opacity(0%);

  pointer-events: none;

  -webkit-transition: opacity 0.2s, -webkit-filter 1s;

  transition: opacity 0.2s, -webkit-filter 1s;

  transition: filter 1s, opacity 0.2s;

  transition: filter 1s, opacity 0.2s, -webkit-filter 1s;

  background-color: #034596;

  z-index: 999;

}



@media only screen and (max-width: 767px) {

  .pagetopbtn {

    bottom: 11rem;

  }

}

.pagetopbtn:before {

  display: none;

}



/* --------------------------------

c-section-title

----------------------------------- */

.c-section-title {

  font-size: 4rem;

  line-height: 1.4;

  letter-spacing: -0.02em;

  font-weight: 700;

  text-align: center;

  position: relative;

  padding-bottom: 3.9rem;

}



@media only screen and (max-width: 767px) {

  .c-section-title {

    font-size: 2.4rem;

    padding-bottom: 2.6rem;

  }

}

.c-section-title::before {

  position: absolute;

  content: "";

  bottom: 0;

  left: 50%;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

  width: 8rem;

  height: 0.8rem;

  background: -webkit-gradient(linear, left top, right top, from(#0a87e7), to(#27b7f9));

  background: linear-gradient(90deg, #0a87e7 0%, #27b7f9 100%);

}



@media only screen and (max-width: 767px) {

  .c-section-title::before {

    width: 5rem;

    height: 0.5rem;

  }

}

.c-section-title span {

  color: #007dd7;

}



/* --------------------------------

c-btn

----------------------------------- */

.c-btn {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 100%;

  height: 7rem;

  border-radius: 5rem;

  background-color: #fff;

  position: relative;

  padding-right: 1.8rem;

  -webkit-transition: background-color 0.3s, color 0.3s;

  transition: background-color 0.3s, color 0.3s;

}



@media only screen and (max-width: 767px) {

  .c-btn {

    height: 5.5rem;

  }

}

.c-btn::before {

  position: absolute;

  content: "";

  top: 50%;

  right: 3rem;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  width: 1.8rem;

  height: 1.8rem;

  border-radius: 50%;

  -webkit-transition: background-color 0.3s;

  transition: background-color 0.3s;

}



.c-btn::after {

  position: absolute;

  content: "";

  top: 49%;

  right: 3.65rem;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  width: 0.4rem;

  height: 0.7rem;

  background-color: #fff;

  -webkit-mask-image: url(../../old/img/common/arrow-right.svg);

  mask-image: url(../../old/img/common/arrow-right.svg);

  -webkit-mask-repeat: no-repeat;

  mask-repeat: no-repeat;

  -webkit-mask-position: center center;

  mask-position: center center;

  -webkit-mask-size: 100%;

  mask-size: 100%;

  -webkit-transition: background-color 0.3s;

  transition: background-color 0.3s;

}



.c-btn span {

  font-size: 2rem;

  font-weight: 700;

  line-height: 1.5;

  -webkit-font-feature-settings: normal;

  font-feature-settings: normal;

  letter-spacing: -0.02em;

}



@media only screen and (max-width: 767px) {

  .c-btn span {

    font-size: 1.3rem;

  }

}

.c-btn--blue {

  border: 0.2rem solid #007DD7;

  color: #007DD7;

}



.c-btn--blue::before {

  background-color: #007DD7;

}



.c-btn--blue::after {

  top: 50.5%;

  -webkit-transform: translateY(-50%) rotate(90deg);

          transform: translateY(-50%) rotate(90deg);

}

@media only screen and (max-width: 767px) {

  .c-btn--blue::after {

    top: 49%;

    -webkit-transform: translateY(-50%);

            transform: translateY(-50%);

  }

}



@media only screen and (min-width: 768px) {

  .c-btn--blue:hover {

    background-color: #007DD7;

    color: #fff;

  }

  .c-btn--blue:hover::before {

    background-color: #fff;

  }

  .c-btn--blue:hover::after {

    background-color: #007DD7;

  }

}

.c-btn--orange {

  border: 0.2rem solid #fa5700;

  color: #fa5700;

}



.c-btn--orange::before {

  background-color: #fa5700;

}



.c-btn--orange::after {

  top: 50.5%;

  -webkit-transform: translateY(-50%) rotate(90deg);

          transform: translateY(-50%) rotate(90deg);

}

@media only screen and (max-width: 767px) {

  .c-btn--orange::after {

    top: 49%;

    -webkit-transform: translateY(-50%);

            transform: translateY(-50%);

  }

}



@media only screen and (min-width: 768px) {

  .c-btn--orange:hover {

    background-color: #fa5700;

    color: #fff;

  }

  .c-btn--orange:hover::before {

    background-color: #fff;

  }

  .c-btn--orange:hover::after {

    background-color: #fa5700;

  }

}

.c-btn--navy {

  border: 0.2rem solid #005EAB;

  color: #005EAB;

}



.c-btn--navy::before {

  background-color: #005EAB;

}



.c-btn--navy::after {

  top: 50.5%;

  -webkit-transform: translateY(-50%) rotate(90deg);

          transform: translateY(-50%) rotate(90deg);

}

@media only screen and (max-width: 767px) {

  .c-btn--navy::after {

    top: 49%;

    -webkit-transform: translateY(-50%);

            transform: translateY(-50%);

  }

}



@media only screen and (min-width: 768px) {

  .c-btn--navy:hover {

    background-color: #005EAB;

    color: #fff;

  }

  .c-btn--navy:hover::before {

    background-color: #fff;

  }

  .c-btn--navy:hover::after {

    background-color: #005EAB;

  }

}

.c-btn--red {

  border: 0.2rem solid #fff;

  background-color: #fd0002;

  color: #fff;

}



.c-btn--red::before {

  background-color: #fff;

}



.c-btn--red::after {

  background-color: #fd0002;

}



@media only screen and (min-width: 768px) {

  .c-btn--red:hover {

    background-color: #fff;

    border: 0.2rem solid #fd0002;

    color: #fd0002;

  }

  .c-btn--red:hover::before {

    background-color: #fd0002;

  }

  .c-btn--red:hover::after {

    background-color: #fff;

  }

}

.c-btn--white {

  border: 0.2rem solid #fd0002;

  background-color: #fff;

  color: #fd0002;

}



.c-btn--white::before {

  background-color: #fd0002;

}



@media only screen and (min-width: 768px) {

  .c-btn--white:hover {

    border: 0.2rem solid #fff;

    background-color: #fd0002;

    color: #fff;

  }

  .c-btn--white:hover::before {

    background-color: #fff;

  }

  .c-btn--white:hover::after {

    background-color: #fd0002;

  }

}

.c-btn--lg {

  padding-right: 1rem;

}



.c-btn--lg::before {

  right: 2.6rem;

}



@media only screen and (max-width: 767px) {

  .c-btn--lg::before {

    right: 1.8rem;

  }

}

.c-btn--lg::after {

  right: 3.25rem;

}



@media only screen and (max-width: 767px) {

  .c-btn--lg::after {

    right: 2.45rem;

  }

}

@media only screen and (max-width: 767px) {

  .c-btn--cta {

    height: 4rem;

    padding-right: 0;

    /* padding-bottom: 0.2rem; */

  }

}

@media only screen and (max-width: 767px) {

  .c-btn--cta::before {

    right: 1rem;

    width: 1.3rem;

    height: 1.3rem;

  }

}

@media only screen and (max-width: 767px) {

  .c-btn--cta::after {

    right: 1.45rem;

    width: 0.3rem;

    height: 0.6rem;

  }

}

.c-btn--cta span {

  display: block;

  width: 100%;

  text-align: center;

  position: relative;

}



@media only screen and (max-width: 767px) {

  .c-btn--cta span {

    font-size: 1.3rem;

  }

}

.c-btn--cta span::before {

  position: absolute;

  content: "";

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  -webkit-mask-repeat: no-repeat;

  mask-repeat: no-repeat;

  -webkit-mask-position: center center;

  mask-position: center center;

  -webkit-mask-size: 100%;

  mask-size: 100%;

}



@media only screen and (max-width: 767px) {

  .c-btn--cta span::before {

    display: none;

  }

}

@media only screen and (max-width: 767px) {

  .cta__btn--price .c-btn--cta {

    border: 0.1rem solid #fff;

  }

}

.cta__btn--price .c-btn--cta span::before {

  left: 2.4rem;

  width: 3.2rem;

  height: 3.2rem;

  background-color: #fff;

  -webkit-mask-image: url(../img/common/icon_¥.svg);

  mask-image: url(../img/common/icon_¥.svg);

  -webkit-transition: background-color 0.3s;

  transition: background-color 0.3s;

}



@media only screen and (max-width: 767px) {

  .cta__btn--price .c-btn--cta span::before {

    display: none;

  }

}

@media only screen and (max-width: 767px) {

  .cta__btn--mail .c-btn--cta {

    border: 0.1rem solid #fd0002;

  }

}

.cta__btn--mail .c-btn--cta span::before {

  left: 3.4rem;

  width: 2.5rem;

  height: 2rem;

  background-color: #fd0002;

  -webkit-mask-image: url(../../old/img/common/icon_mail.svg);

  mask-image: url(../../old/img/common/icon_mail.svg);

  -webkit-transition: background-color 0.3s;

  transition: background-color 0.3s;

}



@media only screen and (max-width: 767px) {

  .cta__btn--mail .c-btn--cta span::before {

    display: none;

  }

}

@media only screen and (min-width: 768px) {

  .cta__btn--price a:hover span::before {

    background-color: #fd0002;

  }

  .cta__btn--mail a:hover span::before {

    background-color: #fff;

  }

}

/* --------------------------------

mv

----------------------------------- */

.mvArea.addkv {

  background-color: #fff;

  border-radius: 0;

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

  width: 100%;

  margin: 0 auto;

  position: relative;

  font-family: "Noto Sans JP", sans-serif;

  padding-top: calc(8.931vw + 28.8281px);

  padding-bottom: 4.6666666667vw;

}



@media (min-width: 1000px) {

  .mvArea.addkv {

    padding-top: 270px;

    padding-bottom: 56px;

  }

}

@media only screen and (max-width: 999px) {

  .mvArea.addkv {

    padding-top: 240px;

    padding-bottom: 46px;

  }

}


@media only screen and (max-width: 767px) {

  .mvArea.addkv {

    padding-top: 40px;
    

  }

}

.pc {
display: block !important
}
.sp {
display: none !important
}

@media only screen and (max-width: 767px) {
.pc {
display: none !important
}
.sp {
display: block !important
}
}



.newkv {

  position: relative;

  z-index: 2;

  width: 100vw;

  margin: 0 auto;

}



@media (min-width: 1200px) {

  .newkv {

    width: 1200px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv {

    width: 100%;

    overflow: hidden;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

  }

}

@media only screen and (max-width: 767px) {
.newkv__flex {
margin-top: 2.6666666667vw;
display: -webkit-box;
display: -ms-flexbox;
display: flex;

align-self: center;
justify-self: center;
-webkit-column-gap: 1.25vw;
-moz-column-gap: 1.25vw;
column-gap: 1.25vw;
    
display: -webkit-flex;
-webkit-justify-content: center;
justify-content: center;
-webkit-align-items: center;
align-items: center;
height: 200px;
}
}

@media (min-width: 768px) {
.newkv__flex {
margin-top: 30px;
-webkit-column-gap: 15px;
-moz-column-gap: 15px;
column-gap: 15px;
width: 100%;  
align-self: center;
justify-self: center;
display: flex;  
display: -webkit-flex;
    -webkit-justify-content: center;
justify-content: center;
-webkit-align-items: center;
align-items: center;
height: 60px;
gap: 15px;
}
}

@media only screen and (max-width: 767px) {

  .newkv__flex {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    padding-right: 0;

    width: 100%;
    
    margin-top: 26.6666666667vw;

  }

}

@media only screen and (max-width: 660px) {
.newkv__flex .newkv--point {
margin-top: 9.6666666667vw;
}
}

@media only screen and (max-width: 550px) {
.newkv__flex {
margin-top: 28.6666666667vw;
}
}

@media only screen and (max-width: 495px) {
.newkv__flex .newkvh1 {
margin-top: 10.6666666667vw;
}
}

@media only screen and (max-width: 460px) {
.newkv__flex {
margin-top: 15.6666666667vw;
}

.newkv__flex .newkv--point {
margin-top: 18.6666666667vw;
}
}

.newkvh1 {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  text-align: center;

  /*padding-left: 1.5833333333vw;*/
    
    padding-bottom: 125px;

}



/*@media (min-width: 1200px) {

  .newkvh1 {

    padding-left: 19px;

  }

}*/

@media only screen and (max-width: 767px) {

  .newkvh1 {

    -webkit-box-ordinal-group: 2;

    -ms-flex-order: 1;

    order: 1;

    width: 100%;
    
    magin-top: -125px;

  }

}

.newkvh1 span {

  display: block;

  width: 100%;

  font-family: "Noto Sans JP", sans-serif;

  font-weight: 700;

  position: relative;

}



@media only screen and (max-width: 767px) {

  .newkvh1 span {

    width: 100%;

    font-family: "Noto Sans JP", sans-serif;

    font-weight: 700;

    position: relative;

  }

}

.newkvh1 .wid_2:after, .newkvh1 .wid_2-2:after {

  position: absolute;

  content: "";

  width: 100%;

  height: 1.4166666667vw;

  background: #ffe5e6;

  bottom: -0.6666666667vw;

  left: 0;

  z-index: -1;

}



@media (min-width: 1200px) {

  .newkvh1 .wid_2:after {

    height: 17px;

    bottom: -8px;

  }

}

@media only screen and (max-width: 767px) {

  .newkvh1 .wid_2:after, .newkvh1 .wid_2-2:after {

    height: 17px;

    bottom: -8px;

  }

}

.newkvh1 span.wid_1 {

  width: -webkit-fit-content;

  width: -moz-fit-content;

  width: fit-content;

  font-size: 3.1666666667vw;

  line-height: 1;

  letter-spacing: 0.04em;

  text-align: center;

}



@media (min-width: 1200px) {

  .newkvh1 span.wid_1 {

    font-size: 38px;

  }

}

@media only screen and (max-width: 767px) {

  .newkvh1 span.wid_1 {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    width: -webkit-fit-content;

    width: -moz-fit-content;

    width: fit-content;

    font-size: 28px;

    line-height: 1;

    margin: 15px auto 0;

    letter-spacing: 0.02em;

  }

}

@media only screen and (max-width: 495px) {

  .newkvh1 span.wid_1 {
    font-size: 22px;
  }
}

.newkvh1 span.wid_2, .newkvh1 span.wid_2-2 {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: end;

  -ms-flex-align: end;

  align-items: flex-end;

  width: -webkit-fit-content;

  width: -moz-fit-content;

  width: fit-content;

  font-size: 3.75vw;

  line-height: 1;

  margin: 1.25vw auto 0;

  color: #fc0001;

  font-weight: 900;

  letter-spacing: 0.04em;

}



@media (min-width: 1200px) {

  .newkvh1 span.wid_2 {

    font-size: 45px;

    margin: 15px auto 0;

  }

}

@media only screen and (max-width: 767px) {

  .newkvh1 span.wid_2 {

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    font-size: 33px;

    margin: 12px auto 0;

  }

}

@media only screen and (max-width: 767px) {

  .newkvh1 span.wid_2-2 {

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    font-size: 33px;

    margin: 6px auto 0;

  }

}

@media only screen and (max-width: 495px) {

  .newkvh1 span.wid_2, .newkvh1 span.wid_2-2 {

    font-size: 28px;

  }

}

.newkvh1 span.wid_2 strong {

  font-size: 5.0833333333vw;

  font-weight: 900;

}



@media (min-width: 1200px) {

  .newkvh1 span.wid_2 strong {

    font-size: 61px;

  }

}

@media only screen and (max-width: 767px) {

  .newkvh1 span.wid_2 strong {

    font-size: 46px;

  }

}

.newkvh1 span.wid_2 sup {

  display: inline-block;

  font-size: 3.75vw;

  margin: 4.5vw auto 0;

}



@media (min-width: 1200px) {

  .newkvh1 span.wid_2 sup {

    font-size: 45px;

    margin: 54px auto 0;

  }

}

@media only screen and (max-width: 767px) {

  .newkvh1 span.wid_2 sup {

    font-size: 33px;

    margin: 40px auto 0;

  }

}

.newkvh1 span.wid_3 {

  width: -webkit-fit-content;

  width: -moz-fit-content;

  width: fit-content;

  font-size: 3.1666666667vw;

  line-height: 1;

  margin: 1.25vw auto 0;

  letter-spacing: 0.04em;

}



@media (min-width: 1200px) {

  .newkvh1 span.wid_3 {

    font-size: 38px;

    margin: 15px auto 0;

  }

}


@media only screen and (max-width: 767px) {

  .newkvh1 span.wid_3 {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    font-size: 33px;

    margin: 15px auto 0;

    letter-spacing: 0.02em;

  }

}


.newkvh1 p#wid_3 {

  width: -webkit-fit-content;

  width: -moz-fit-content;

  width: fit-content;

  font-size: 3.1666666667vw;

  line-height: 1.3;

  letter-spacing: 0.04em;

  text-align: center;

  margin-top: 20px;

  margin-bottom: 10px;

  font-weight: 700;

}



@media (min-width: 1200px) {

  .newkvh1 p#wid_3 {

    font-size: 38px;

  }

}

@media only screen and (max-width: 767px) {

  .newkvh1 p#wid_3 {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    width: -webkit-fit-content;

    width: -moz-fit-content;

    width: fit-content;

    font-size: 28px;

    line-height: 1;

    margin: 15px auto 0;

    letter-spacing: 0.02em;

  }

}

@media (max-width: 495px) {

  .newkvh1 p#wid_3 {

    font-size: 22px;

  }

}

#mvArea > div > div.newkv__flex > h1 > p:nth-child(3) {

    font-size: 38px;

    line-height: 53px;

    font-weight: 700;

    margin-top: 20px;

    margin-bottom: 10px;

}

.newkv--point {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: row;

  flex-direction: row;

  row-gap: 0;

    gap: 15px;

}



@media (min-width: 1200px) {

  .newkv--point {

    row-gap: 0;
    gap: 20px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--point {

    max-width: 420px;

    padding-inline: 10px;

    margin-inline: auto;

    margin-top: 16px;

    margin-top: 4.2666666667vw;

    -webkit-box-ordinal-group: 3;

    -ms-flex-order: 3;

    order: 3;

    width: 100%;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

  }

}

.newkv--point .point__flex {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: row;

  flex-direction: row;

  row-gap: 0;

 gap: 20px;

}



@media (min-width: 1200px) {

  .newkv--point .point__flex {

    row-gap: 0;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--point .point__flex {

    margin-top: 12px;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

    -ms-flex-direction: row;

    flex-direction: row;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    width: 100%;

    -webkit-column-gap: 10px;

    -moz-column-gap: 10px;

    column-gap: 10px;

  }

}

.newkv--point p {

  position: relative;

  text-align: center;

  /*font-size: 0.9166666667vw;*/

  font-size: 10.9166666667vw;

  font-weight: 700;

  line-height: 1;

  margin-top: 0.8333333333vw;

  padding-top: 1px;

  padding-inline: 1.8333333333vw;

  letter-spacing: 0.04em;

}



@media (min-width: 1200px) {

  .newkv--point p {

    font-size: 11px;

    margin-top: 10px;

    padding-top: 1px;

    padding-inline: 20px;

  }

}


@media only screen and (max-width: 767px) {

  .newkv--point p {

    width: 49%;

    font-size: 11px;

  }

}

@media (min-width: 1200px) {
.newkv--point p {
width: 300px;
font-size: 15px;
}

.point__flex p {
width: 300px;
}
}
@media (max-width: 1199px) and (min-width: 768px) {
.newkv--point p {
width: 235px;
font-size: 13px;
}

.point__flex p {
width: 235px;
}
}


.newkv--point p:before {

  position: absolute;

  content: "";

  background: url "(../img/kv/obj_left.png)" no-repeat left top/cover;

  width: 1.8333333333vw;

  height: 4.0833333333vw;

  left: 0;

  top: 0;

}



@media (min-width: 1200px) {

  .newkv--point p:before {

    width: 22px;

    height: 49px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--point p:before {

    width: 22px;

    height: 49px;

  }

}

.newkv--point p:after {

  position: absolute;

  content: "";

  background: url "(../img/kv/obj_right.png)" no-repeat right top/cover;

  width: 1.8333333333vw;

  height: 4.0833333333vw;

  right: 0;

  top: 0;

}



@media (min-width: 1200px) {

  .newkv--point p:after {

    width: 22px;

    height: 49px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--point p:after {

    width: 22px;

    height: 49px;

  }

}

.newkv--point p span {

  display: block;

}



.newkv--point p span strong {

  display: inline-block;

  font-weight: 900;

  font-size: 2.5vw;

  color: #00a0e9;

  letter-spacing: 0;

  margin-left: 0.1666666667vw;

  margin-right: 0.4166666667vw;

  margin-top: 1px;

}


@media (min-width: 1200px) {

  .newkv--point p span strong {

    font-size: 35px;

    margin-left: 2px;

    margin-right: 5px;

  }

}

@media (min-width: 768px) and (max-width: 1199px) {

  .newkv--point p span strong {

    font-size: 32px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--point p span strong {

    font-size: 32px;

    margin-inline: 3px 5px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--pict .newkv--pict--caption span br {

    display: block;

  }

}

.newkv--point p span sup {

  font-size: 0.6666666667vw;

}



@media (min-width: 1200px) {

  .newkv--point p span sup {

    font-size: 8px;

  }

}

.newkv--point p:nth-child(1) span {

  letter-spacing: -1px;

}



.newkv--point p:nth-child(1) span strong {

  margin-top: 1px;

}



.newkv--point p:nth-child(2) span {

  line-height: 1.15;

}



.newkv--point p:nth-child(2) span strong {

  /*margin-right: 0.1666666667vw;*/
    margin-right: 5.1666666667vw;

}



@media (min-width: 1200px) {

  .newkv--point p:nth-child(2) span strong {

    margin-right: 2px;

  }

}

@media (min-width: 768px) and (max-width: 1199px) {

  .newkv--point p:nth-child(2) span strong {

    margin-right: 2px;

  }

}

@media (max-width: 767px){

  .newkv--point p:nth-child(2) span strong {

    margin-right: 2px;

  }

}

.newkv--point p:nth-child(3) span {

  line-height: 1.2;

  margin-left: 1.4166666667vw;

}



@media (min-width: 1200px) {

  .newkv--point p:nth-child(3) span {

    margin-left: 17px;

  }

}

.newkv--point p:nth-child(3) span strong {

  position: relative;

  margin-right: 0;

}


@media (min-width: 461px) and (max-width: 767px) {

  .newkv--btn {

    width: 26.6666666667vw;

  }

}

@media (min-width: 768px) {
.newkv--btn {
display: flex;
margin-top: min(48vw, 40px);
width: 100%;
max-width: 700px;
-webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4;
width: 100%;
max-width: 700px;
margin-inline: auto;
font-weight: 700;
position: relative;
z-index: 2;
gap: 20px;
}
}

@media (min-width: 1200px) {
.newkv--btn .upper {
border-radius: 50px;
-webkit-box-shadow: 9px 2px 9px 0px rgba(0, 0, 0, 0.2);
box-shadow: 9px 2px 9px 0px rgba(0, 0, 0, 0.2);
}
}

@media only screen and (max-width: 767px) {

  .newkv--btn {

    margin-top: min(48vw, 10px);

    -webkit-box-ordinal-group: 5;

    -ms-flex-order: 4;

    order: 4;

    width: 100%;

    max-width: 350px;

    margin-inline: auto;

    font-weight: 700;

    position: relative;

    z-index: 2;

  }

}

.newkv--btn .btn-text {

  font-size: 1.4166666667vw;

  font-weight: 700;

}



@media (min-width: 461px) and (max-width: 767px) {

  .newkv--btn .btn-text {

    scale: 0.8;

  }

}

@media (min-width: 1200px) {

  .newkv--btn .btn-text {

    font-size: 17px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--btn .btn-text {

    font-size: 17px;

  }

}

.newkv--btn .upper {

  width: 100%;

  text-align: center;

  border-radius: 4.1666666667vw;

  -webkit-box-shadow: 0.75vw 0.1666666667vw 0.75vw 0 rgba(0, 0, 0, 0.2);

  box-shadow: 0.75vw 0.1666666667vw 0.75vw 0 rgba(0, 0, 0, 0.2);

  letter-spacing: 0.04em;

}





@media only screen and (max-width: 767px) {

  .newkv--btn .upper {

    border-radius: 50px;

    -webkit-box-shadow: 9px 2px 9px 0px rgba(0, 0, 0, 0.2);

    box-shadow: 9px 2px 9px 0px rgba(0, 0, 0, 0.2);

    margin-top: 10px;

  }

}

.newkv--btn .upper a {

  display: block;

  border-radius: 4.1666666667vw;

  background: #fc0001;

  color: #fff;

  border: 1px solid #fff;

  padding: 2.25vw 0 2.5833333333vw 1vw;

  position: relative;

  text-decoration: none;

  line-height: 1;

  -webkit-transition: all 0.3s ease;

  transition: all 0.3s ease;

  position: relative;

}



@media (min-width: 1200px) {

  .newkv--btn .upper a {

    border-radius: 50px;

    border: 1px solid #fff;

    padding: 27px 0 31px 12px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--btn .upper a {

    border-radius: 50px;

    padding: 21px 0 23px 12px;

  }

}

.newkv--btn .upper a::before {

  position: absolute;

  content: "";

  top: 50%;

  left: 1.1666666667vw;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  width: 2.1666666667vw;

  height: 2.1666666667vw;

  background-image: url(../../old/img/kv/obj_en.png);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: 100%;

}



@media (min-width: 1200px) {

  .newkv--btn .upper a::before {

    left: 14px;

    width: 26px;

    height: 26px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--btn .upper a::before {

    left: 14px;

    width: 22px;

    height: 22px;

  }

}

.newkv--btn .upper a i {

  position: absolute;

  top: 0;

  bottom: 0;

  margin: auto;

  background-color: #fff;

  border-radius: 50%;

  border: 1px solid #fff;

  width: 1.6666666667vw;

  height: 1.6666666667vw;

  right: 1.25vw;

}



@media (min-width: 1200px) {

  .newkv--btn .upper a i {

    width: 20px;

    height: 20px;

    right: 15px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--btn .upper a i {

    width: 20px;

    height: 20px;

    right: 15px;

  }

}

.newkv--btn .upper a i:after {

  width: 0.5vw;

  height: 0.5vw;

  border: 1px solid #fc0001;

  content: "";

  display: block;

  position: absolute;

  top: 0;

  bottom: 0;

  left: 0;

  right: 0.1666666667vw;

  margin: auto;

  -webkit-transition: 0.2s;

  transition: 0.2s;

  border-bottom: rgba(0, 0, 0, 0);

  border-left: rgba(0, 0, 0, 0);

  -webkit-transform: rotate(45deg);

  transform: rotate(45deg);

}



@media (min-width: 1200px) {

  .newkv--btn .upper a i:after {

    width: 6px;

    height: 6px;

    right: 2px;

    border: 1px solid #fc0001;

    border-bottom: rgba(0, 0, 0, 0);

    border-left: rgba(0, 0, 0, 0);

  }

}

@media only screen and (max-width: 767px) {

  .newkv--btn .upper a i:after {

    width: 6px;

    height: 6px;

    right: 2px;

    border: 1px solid #fc0001;

    border-bottom: rgba(0, 0, 0, 0);

    border-left: rgba(0, 0, 0, 0);

  }

}

.newkv--btn .upper a:hover {

  background: #fff;

  color: #fc0001;

  border: 1px solid #fc0001;

}



@media (min-width: 1200px) {

  .newkv--btn .upper a:hover {

    border: 1px solid #fc0001;

  }

}

.newkv--btn .upper a:hover i {

  background-color: #fc0001;

  border: 1px solid #fc0001;

}



.newkv--btn .upper a:hover i:after {

  border: 1px solid #fff;

  border-bottom: #fc0001;

  border-left: #fc0001;

}



.newkv--btn .upper a img {

  width: 100%;

  height: auto;

}



.newkv--btn .upper a:hover::before {

  background-image: url("../../old/img/kv/obj_en_on.png");

}



.newkv--btn .under {

  width: 100%;

  text-align: center;

  border-radius: 4.1666666667vw;

  -webkit-box-shadow: 0.75vw 0.1666666667vw 0.75vw 0 rgba(0, 0, 0, 0.2);

  box-shadow: 0.75vw 0.1666666667vw 0.75vw 0 rgba(0, 0, 0, 0.2);

  /*margin-top: 1.5833333333vw;*/

  letter-spacing: 0.04em;

}



@media (min-width: 1200px) {

  .newkv--btn .under {

    border-radius: 50px;

    /*margin-top: 19px;*/

    -webkit-box-shadow: 9px 2px 9px 0px rgba(0, 0, 0, 0.2);

    box-shadow: 9px 2px 9px 0px rgba(0, 0, 0, 0.2);

  }

}

@media only screen and (max-width: 767px) {

  .newkv--btn .under {

    border-radius: 50px;

    -webkit-box-shadow: 7px 2px 7px 0px rgba(0, 0, 0, 0.2);

    box-shadow: 7px 2px 7px 0px rgba(0, 0, 0, 0.2);

    margin-top: 20px;

  }

}

.newkv--btn .under a {

  display: block;

  background: #fff;

  border-radius: 4.1666666667vw;

  color: #fc0001;

  padding: 1.25vw 0 1.25vw 1vw;

  border: 1px solid #fc0001;

  position: relative;

  line-height: 1;

  pointer-events: none;

}



@media (min-width: 1200px) {

  .newkv--btn .under a {

    border-radius: 50px;

    border: 1px solid #fc0001;

    padding: 15px 0 15px 12px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--btn .under a {

    border-radius: 50px;

    padding: 8px 0 8px 12px;

    position: relative;

    line-height: 1;

    pointer-events: auto;

  }

}

.newkv--btn .under a strong {

  font-size: 2.1666666667vw;

  font-weight: 900;

  display: block;

  margin-top: 0.1666666667vw;

}



@media (min-width: 1200px) {

  .newkv--btn .under a strong {

    font-size: 26px;

    margin-top: 2px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--btn .under a strong {

    font-size: 26px;

    margin-top: 2px;

  }

}

.newkv--btn .under a .wid_2 {

  position: absolute;

  width: 1.75vw;

  left: 1.25vw;

  top: 2.0833333333vw;

}



@media (min-width: 1200px) {

  .newkv--btn .under a .wid_2 {

    width: 21px;

    left: 15px;

    top: 25px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--btn .under a .wid_2 {

    width: 21px;

    left: 15px;

    top: 20px;

  }

}

.newkv--btn .under a img {

  width: 100%;

  height: auto;

}



.newkv--pict {

  position: relative;

  pointer-events: none;

}



@media only screen and (max-width: 767px) {

  .newkv--pict {

    position: absolute;

    /*top: calc(-36.4706vw + 307.7647px);*/
    
    top: calc(-36.4706vw + 320.7647px);

    left: 0;

    width: 100%;

  }

}

@media only screen and (max-width: 495px) {

  .newkv--pict {
      top: calc(-34.4706vw + 290.7647px);
  }

}

@media only screen and (max-width: 460px) {

  .newkv--pict {
      top: calc(-33.4706vw + 210.7647px);
  }

}

.newkv--pict picture {

  position: relative;

  top: -2.3333333333vw;

}



@media (min-width: 1200px) {

  .newkv--pict picture {

    top: -28px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--pict picture {

    display: block;

    top: 0;

  }

}

.newkv--pict .newkv--pict--caption {

  margin-top: -5.8333333333vw;

  width: 100%;

  text-align: center;

  font-size: 0.8333333333vw;

  padding-inline: 1.6666666667vw;

  line-height: 1.6;

  letter-spacing: 0.04em;

}



@media (min-width: 1200px) {

  .newkv--pict .newkv--pict--caption {

    margin-top: -70px;

    font-size: 10px;

    padding-inline: 20px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--pict .newkv--pict--caption {

    display: none;

  }

}

.newkv--pict .newkv--pict--caption span {

  position: relative;

  counter-increment: num;

  margin-right: 0.8333333333vw;

  padding-left: 2.1666666667vw;

}



@media (min-width: 1200px) {

  .newkv--pict .newkv--pict--caption span {

    margin-right: 10px;

    padding-left: 26px;

  }

}

.newkv--pict .newkv--pict--caption span br {

  display: none;

}



.newkv--pict .newkv--pict--caption span:before {

  position: absolute;

  content: "※";

  top: 0;

  left: 0;

}



.newkv--pict .newkv--pict--caption span:after {

  position: absolute;

  content: counter(num) ". ";

  left: 0.9166666667vw;

  top: 0;

}



@media (min-width: 1200px) {

  .newkv--pict .newkv--pict--caption span:after {

    left: 11px;

  }

}

.newkv--pict--captionunder {

  display: none;

}



@media only screen and (max-width: 767px) {

  .newkv--pict--captionunder {

    -webkit-box-ordinal-group: 5;

    -ms-flex-order: 4;

    order: 4;

    display: block;

    position: relative;

    width: 94.4%;

    margin: 20px auto;

    bottom: auto;

    font-size: 8px;

    padding-right: 0px;

    text-align: left;

  }

}

.newkv--pict--captionunder br {

  display: block;

}



@media only screen and (max-width: 767px) {

  .newkv--pict--captionunder span {

    display: block;

    position: relative;

    counter-increment: num;

    margin-right: 10px;

    padding-left: 26px;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--pict--captionunder span:before {

    position: absolute;

    content: "※";

    top: 0;

    left: 0;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--pict--captionunder span:after {

    position: absolute;

    content: counter(num) ". ";

    left: 11px;

    top: 0;

  }

}

@media only screen and (max-width: 767px) {

  .newkv--pict--captionunder span br {

    display: none;

  }

}

.newkv--pict img {

  width: 100%;

  height: auto;

}



.newkv--pict srcset {

  width: 100%;

  height: auto;

}



@media only screen and (max-width: 767px) {

  .newkv--pict .captionunder span {

    display: block;

  }

}

@media only screen and (max-width: 767px) {

  .newkvunder {

    display: none;

  }

}

/* --------------------------------

case

----------------------------------- */

.case {

  padding-block: 8rem 11rem;

  position: relative;

}



@media only screen and (max-width: 767px) {

  .case {

    padding-block: 5rem 8rem;

  }

}

.case-slide {

  height: -webkit-fit-content;

  height: -moz-fit-content;

  height: fit-content;

}



.case-slide .swiper-slide {

  height: auto;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: stretch;

  -ms-flex-align: stretch;

  align-items: stretch;

}



.case-item {

  width: 28rem;

  margin-inline: 2rem;

  border-radius: 1.2rem;

  border: 1px solid #007dd7;

  overflow: hidden;

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

}



@media only screen and (max-width: 767px) {

  .case-item {

    width: 29.5rem;

    margin-inline: 1rem;

  }

}

.case-item__img {

  width: 100%;

  aspect-ratio: 280/182;

}



.case-item__img a img:hover {

  opacity: 0.7;

}



@media only screen and (max-width: 767px) {

  .case-item__img {

    aspect-ratio: 293/200;

  }

}

.case-item__img img {

  width: 100%;

  height: 100%;

  -o-object-fit: cover;

  object-fit: cover;

}



.case-item__body {

  padding: 2.3rem 2rem 2.6rem;

  background-color: #fff;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-flex: 1;

  -ms-flex: 1;

  flex: 1;

}



@media only screen and (max-width: 767px) {

  .case-item__body {

    padding: 2rem 1.9rem 2.4rem;

  }

}

.case-item__title {

  font-size: 1.7rem;

  font-weight: 700;

  line-height: 1.4;

  color: #333333;

  -webkit-box-flex: 1;

  -ms-flex: 1;

  flex: 1;

  padding-bottom: 2rem;

}



.case-item__title a:hover {

  opacity: 0.6;

}



@media only screen and (max-width: 767px) {

  .case-item__title {

    font-size: 1.6rem;

  }

}

.case-item__company {

  border-top: 1px dashed #007dd7;

  padding-top: 2.2rem;

  font-size: 1.5rem;

  line-height: 1.4rem;

}



.case-item__company a:hover {

  opacity: 0.6;

}



@media only screen and (max-width: 767px) {

  .case-item__company {

    padding-top: 2rem;

  }

}

/* デフォルト矢印削除 */

.swiper-button-prev::after,

.swiper-button-next::after {

  content: none !important;

}



.case-prev-btn,

.case-next-btn {

  position: absolute;

  z-index: 10;

  cursor: pointer;

  width: 3.6rem;

  height: 3.6rem;

  border-radius: 50%;

  background: -webkit-gradient(linear, right top, left top, from(#0a87e7), to(#27b7f9));

  background: linear-gradient(to left, #0a87e7 0%, #27b7f9 100%);

  -webkit-transform: translateY(1rem);

  transform: translateY(1rem);

}



@media only screen and (max-width: 767px) {

  .case-prev-btn,

  .case-next-btn {

    border: 1px solid #fff;

    width: 3rem;

    height: 3rem;

    padding-bottom: 0.1rem;

    -webkit-transform: translateY(-0.6rem);

    transform: translateY(-0.6rem);

  }

}

.case-prev-btn span,

.case-next-btn span {

  display: block;

  width: 0.9rem;

  height: 1.1rem;

}



.case-next-btn {

  padding-left: 0.2rem;

  right: calc(50% - 47.7rem);

}



@media only screen and (max-width: 767px) {

  .case-next-btn {

    right: calc(50% - 16.1rem);

  }

}

.case-prev-btn {

  -webkit-transform: translateY(1rem) scale(-1, 1);

  transform: translateY(1rem) scale(-1, 1);

  padding-left: 0.2rem;

  left: calc(50% - 47.7rem);

}



@media only screen and (max-width: 767px) {

  .case-prev-btn {

    left: calc(50% - 16.1rem);

    -webkit-transform: translateY(-0.6rem) scale(-1, 1);

    transform: translateY(-0.6rem) scale(-1, 1);

  }

}

.swiper-pagination.case-pagination {

  z-index: 1;

  bottom: 8rem;

}



@media only screen and (max-width: 767px) {

  .swiper-pagination.case-pagination {

    bottom: 5rem;

  }

}

.swiper-pagination.case-pagination .swiper-pagination-bullet {

  width: 1rem;

  height: 1rem;

  background-color: #cacaca;

  opacity: 1;

}



.swiper-pagination.case-pagination .swiper-pagination-bullet-active {

  background: -webkit-gradient(linear, left top, right top, from(#0a87e7), to(#27b7f9));

  background: linear-gradient(90deg, #0a87e7 0%, #27b7f9 100%);

}



/* --------------------------------

worries

----------------------------------- */

#worries.worries {

  padding-block: 8rem;

}



@media only screen and (max-width: 767px) {

  #worries.worries {

    padding-block: 5rem;

  }

}

#worries .worries__catch {

  margin-top: 5rem;

  font-size: 3.2rem;

  font-weight: 700;

  line-height: 1.5;

  text-align: center;

}



@media only screen and (max-width: 767px) {

  #worries .worries__catch {

    margin-top: 3rem;

    font-size: 2.2rem;

  }

}

#worries .worries__img {

  margin-top: 2rem;

  width: 100%;

}



#worries .worries__img img {

  width: 100%;

  height: auto;

  display: block;

}



/* --------------------------------

solution

----------------------------------- */

#solution .solution__container {

  overflow: hidden;

  padding-block: 10rem 8rem;

}



@media only screen and (max-width: 767px) {

  #solution .solution__container {

    padding-block: 5rem;

  }

}

#solution .solution__head {

  padding: 0.3rem;

  border-radius: 1.5rem;

  background: -webkit-gradient(linear, left top, right top, from(#0a87e7), to(#27b7f9));

  background: linear-gradient(90deg, #0a87e7 0%, #27b7f9 100%);

  position: relative;

}



#solution .solution__head::before {

  position: absolute;

  content: "";

  bottom: -3.8rem;

  left: 50%;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

  width: 16.5rem;

  height: 5rem;

  background: -webkit-gradient(linear, left top, right top, from(#27b7f9), to(#0a87e7));

  background: linear-gradient(90deg, #27b7f9 0%, #0a87e7 100%);

  clip-path: polygon(0 0, 50% 100%, 100% 0);

}



@media only screen and (max-width: 767px) {

  #solution .solution__head::before {

    bottom: -1.7rem;

    width: 7.9rem;

    height: 2.4rem;

  }

}

#solution .solution__catch {

  position: relative;

  z-index: 3;

  font-size: 4rem;

  line-height: 1.4;

  font-weight: 700;

  text-align: center;

  background-color: #fff;

  border-radius: 1.2rem;

  padding: 2rem 5.6rem;

}



@media only screen and (max-width: 767px) {

  #solution .solution__catch {

    font-size: 2.4rem;

    padding: 2rem;

  }

}

#solution .solution__catch::before,

#solution .solution__catch::after {

  position: absolute;

  content: "";

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: 100%;

}



@media only screen and (max-width: 767px) {

  #solution .solution__catch::before,

  #solution .solution__catch::after {

    -webkit-transform: none;

    transform: none;

  }

}

#solution .solution__catch::before {

  top: 38%;

  left: -2rem;

  width: 16.5rem;

  height: 23.4rem;

  background-image: url(../../old/img/solution/img_solution01.png);

}



@media only screen and (max-width: 767px) {

  #solution .solution__catch::before {

    top: initial;

    bottom: -6rem;

    left: -2.9rem;

    width: 8.3rem;

    height: 11.8rem;

  }

}

#solution .solution__catch::after {

  top: 49%;

  right: -2rem;

  width: 16.6rem;

  height: 20.6rem;

  background-image: url(../../old/img/solution/img_solution02.png);

}



@media only screen and (max-width: 767px) {

  #solution .solution__catch::after {

    top: initial;

    bottom: -6rem;

    right: -2.7rem;

    width: 8.4rem;

    height: 10.3rem;

  }

}

#solution .solution__catch span {

  color: #fd0002;

}



#solution .solution__title {

  margin-top: 8.7rem;

  text-align: center;

  font-size: 3.2rem;

  font-weight: 700;

  line-height: 1.5;

  letter-spacing: -0.02em;

  color: #007dd7;

}



@media only screen and (max-width: 767px) {

  #solution .solution__title {

    margin-top: 5.7rem;

    font-size: 2.2rem;

  }

}

#solution .solution__body {

  margin-top: 3rem;

}



@media only screen and (max-width: 767px) {

  #solution .solution__body {

    margin-top: 2rem;

  }

}

#solution .solution__items {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 2.4rem;

}



@media only screen and (max-width: 767px) {

  #solution .solution__items {

    grid-template-columns: 1fr;

  }

}

#solution .solution-item {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  padding: 3.8rem 2rem;

  background-color: #fff;

  border-radius: 1.5rem;

}



@media only screen and (max-width: 767px) {

  #solution .solution-item {

    padding: 2.8rem 1.8rem;

  }

}

#solution .solution-item__title {

  font-size: 3.2rem;

  font-weight: 700;

  letter-spacing: -0.02em;

  text-align: center;

}



@media only screen and (max-width: 767px) {

  #solution .solution-item__title {

    font-size: 2.4rem;

  }

}

#solution .solution-item__title .u-block {

  display: block;

  font-size: 1.7rem;

  line-height: 1.7;

  margin-bottom: 1rem;

}

@media only screen and (max-width: 767px) {

  #solution .solution-item__title .u-block {

    margin-bottom: 3px;

  }

}



#solution .solution-item__title .u-inline {

  display: inline;

  font-size: 1.7rem;

}



@media only screen and (max-width: 767px) {

  #solution .solution-item__title span {

    font-size: 1.6rem;

  }

}

#solution .solution-item__feature {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-flex: 1;

  -ms-flex: 1;

  flex: 1;

  -ms-flex-item-align: start;

  align-self: flex-start;

}



@media only screen and (max-width: 767px) {

  #solution .solution-item__feature {

    margin-top: 1.5rem;

  }

}

#solution .solution-feature__lists {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  row-gap: 0.8rem;

  -webkit-box-flex: 1;

  -ms-flex: 1;

  flex: 1;

}



#solution .solution-feature__list {

  font-size: 1.5rem;

  line-height: 1.4;

  font-weight: 500;

  padding-left: 2.7rem;

  position: relative;

}



@media only screen and (max-width: 767px) {

  #solution .solution-feature__list {

    font-size: 1.4rem;

  }

}

#solution .solution-feature__list::before {

  position: absolute;

  content: "";

  top: 53%;

  left: 0;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  width: 2rem;

  height: 2rem;

  border-radius: 50%;

}



#solution .solution-feature__list::after {

  position: absolute;

  content: "";

  top: 50%;

  left: 0.4rem;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  width: 1.2rem;

  height: 1.2rem;

  background-image: url(../../old/img/common/icon_check.svg);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: 100%;

}



#solution .solution-item__btn {

  margin-top: 2rem;

  border-radius: 5rem;

  -webkit-box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

  box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

  width: 100%;

}



@media only screen and (max-width: 767px) {

  #solution .solution-item__btn {

    margin-top: 1.5rem;

  }

}

#solution .solution-item--blue {

  border: #007DD7 solid 2px;

}



#solution .solution-item--blue .solution-item__title {

  color: #007DD7;

}



#solution .solution-item--blue .solution-item__logo {

  margin-top: 2rem;

  width: 29.9rem;

}



@media only screen and (max-width: 767px) {

  #solution .solution-item--blue .solution-item__logo {

    margin-top: 2.2rem;

    width: 29.5rem;

  }

}

#solution .solution-item--blue .solution-feature {

  margin-top: 2.2rem;

}



#solution .solution-item--blue .solution-feature__list::before {

  background-color: #007DD7;

}



#solution .solution-item--orange {

  border: #fa5700 solid 2px;

}



#solution .solution-item--orange .solution-item__title {

  color: #fa5700;

}



#solution .solution-item--orange .solution-item__logo {

  margin-top: 1.8rem;

  width: 15.39rem;

}



@media only screen and (max-width: 767px) {

  #solution .solution-item--orange .solution-item__logo {

    margin-top: 1.4rem;

  }

}

#solution .solution-item--orange .solution-feature {

  margin-top: 1.7rem;

}



#solution .solution-item--orange .solution-feature__list::before {

  background-color: #fa5700;

}



#solution .solution-item--navy {

  border: #005EAB solid 2px;

}



#solution .solution-item--navy .solution-item__title {

  color: #005EAB;

}



#solution .solution-item--navy .solution-item__logo-wrap {

  margin-top: 3.2rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

}

@media only screen and (max-width: 767px) {

  #solution .solution-item--navy .solution-item__logo-wrap {

    margin-top: 1.8rem;

  }

}

#solution .solution-item--navy .solution-item__logo-wrap .solution-item__logo:nth-child(1) {

  width: 10.4rem;

}

#solution .solution-item--navy .solution-item__logo-wrap .solution-item__logo:nth-child(2) {

  width: 12.1rem;

}

#solution .solution-item--navy .solution-feature__lists {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

  gap: 2.7rem;

}



#solution .solution-item--navy .solution-feature {

  margin-top: 0.3rem;

  -ms-flex-item-align: initial;

      align-self: initial;

}



@media only screen and (max-width: 767px) {

  #solution .solution-item--navy .solution-feature {

    margin-top: 0.3rem;

  }

}

#solution .solution-item--navy .solution-feature__list:nth-child(1)::before {

  background-color: #005EAB;

}



#solution .solution-item--navy .solution-feature__list:nth-child(2)::before {

  background-color: #04A3B5;

}



#solution .solution__btn-wrap {

  margin-top: 8rem;

  margin-inline: auto;

  width: 97.5rem;

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-column-gap: 1.5rem;

  -moz-column-gap: 1.5rem;

  column-gap: 1.5rem;

}



@media only screen and (max-width: 767px) {

  #solution .solution__btn-wrap {

    margin-top: 5rem;

    grid-template-columns: 1fr;

    width: 100%;

    row-gap: 1.5rem;

  }

}

#solution .solution__btn {

  border-radius: 5rem;

  -webkit-box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

  box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

}



/* --------------------------------

service

----------------------------------- */

#service.service {

  padding-block: 8rem;

  overflow: hidden;

}



@media only screen and (max-width: 767px) {

  #service.service {

    padding-block: 5rem 2.8rem;

  }

}

#service .service__items {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

}



#service .service__item-wrap {

  padding-top: 5rem;

}



@media only screen and (max-width: 767px) {

  #service #point01.service__item-wrap {

    padding-top: 2.7rem;

  }

}

#service .service__item {

  border-radius: 2rem;

  border: solid;

  border-width: 0.3rem;

}



@media only screen and (max-width: 767px) {

  #service .service__item {

    border-radius: 2rem;

  }

}

#service .point {

  padding-bottom: 6rem;

}



@media only screen and (max-width: 767px) {

  #service .point {

    padding-bottom: 5rem;

  }

}

#service .point--01 {

  border-color: #007dd7;

}



#service .point--02 {

  border-color: #fa5700;

}



#service .point--03 {

  border-color: #005EAB;

  padding-bottom: 4rem;

}



#service .point-head {

  padding: 2rem 2rem 3rem;

  color: #fff;

  text-align: center;

  border-radius: 1.1rem 1.1rem 0 0;

}



@media only screen and (max-width: 767px) {

  #service .point-head {

    padding: 1.5rem 1rem 2rem;

  }

}

#service .point-head__num {

  display: inline-block;

  font-size: 1.7rem;

  font-weight: 700;

  line-height: 1.6;

  position: relative;

  padding-inline: 7.1rem;

}



@media only screen and (max-width: 767px) {

  #service .point-head__num {

    font-size: 1.6rem;

    line-height: 1.5;

  }

}

#service .point-head__num::before,

#service .point-head__num::after {

  position: absolute;

  content: "";

  top: 63%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  width: 5.6rem;

  height: 0.2rem;

  background-color: #fff;

}



#service .point-head__num::before {

  left: 0;

}



#service .point-head__num::after {

  right: 0;

}



#service .point-head__num span {

  font-size: 3.2rem;

  line-height: 1.5;

  letter-spacing: -0.02em;

}



@media only screen and (max-width: 767px) {

  #service .point-head__num span {

    font-size: 2.2rem;

  }

}

#service .point-head__title {

  margin-top: 1rem;

  font-size: 3.2rem;

  font-weight: 700;

  line-height: 1.5;

  letter-spacing: -0.02em;

}



@media only screen and (max-width: 767px) {

  #service .point-head__title {

    font-size: 2.2rem;

  }

}

#service .point__body {

  padding-inline: 5.3rem;

}



@media only screen and (max-width: 767px) {

  #service .point__body {

    padding-inline: 1.2rem;

  }

}

#service .point--01 .point01-block01 {

  padding-block: 4rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-column-gap: 2.4rem;

  -moz-column-gap: 2.4rem;

  column-gap: 2.4rem;

  border-bottom: 1px dashed #007dd7;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-block01 {

    padding-block: 3rem;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

  }

}

#service .point--01 .point01-block01__logo {

  width: 43rem;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-block01__logo {

    width: 100%;

    max-width: 30.5rem;

  }

}

#service .point--01 .point01-block01__logo a {

  display: block;

  -webkit-transition: opacity 0.3s;

  transition: opacity 0.3s;

}



@media only screen and (min-width: 768px) {

  #service .point--01 .point01-block01__logo a:hover {

    opacity: 0.6;

  }

}

#service .point--01 .point01-block01__text {

  -webkit-box-flex: 1;

  -ms-flex: 1;

  flex: 1;

  font-size: 1.7rem;

  font-weight: 500;

  line-height: 1.7;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-block01__text {

    margin-top: 2rem;

    font-size: 1.4rem;

    line-height: 1.4;

  }

}

#service .point--01 .point01-block02 {

  padding-block: 4rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  -webkit-box-align: end;

  -ms-flex-align: end;

  align-items: flex-end;

  border-bottom: 1px dashed #007dd7;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-block02 {

    padding-block: 7.2rem 3rem;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

  }

}

#service .point--01 .point01-block02__data {

  position: relative;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-block02__data {

    -ms-flex-item-align: start;

    align-self: flex-start;

  }

}

#service .point--01 .point01-block02__data p {

  font-size: 3.2rem;

  font-weight: 700;

  line-height: 1.5;

  letter-spacing: -0.02em;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-block02__data p {

    font-size: 2.2rem;

  }

}

#service .point--01 .point01-block02__data p strong {

  font-size: 5.2rem;

  line-height: 1.1;

  font-weight: 700;

  letter-spacing: 0;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-block02__data p strong {

    font-size: 3.6rem;

  }

}

#service .point--01 .point01-block02__data > span {

  display: block;

  margin-top: 1rem;

  font-size: 1.2rem;

  line-height: 1.5;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-block02__data > span {

    font-size: 1.1rem;

  }

}

#service .point--01 .point01-block02-comment {

  position: absolute;

  top: -13.8rem;

  right: -3.5rem;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-block02-comment {

    top: -8rem;

    right: -4.3rem;

  }

}

#service .point--01 .point01-block02-comment p {

  position: absolute;

  top: 50%;

  left: 50%;

  -webkit-transform: translate(-50%, -50%);

  transform: translate(-50%, -50%);

  white-space: nowrap;

  text-align: center;

  font-size: 1.7rem;

  line-height: 1.6;

  font-weight: 700;

  color: #005eab;

  padding-bottom: 1.8rem;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-block02-comment p {

    font-size: 1.6rem;

    line-height: 1.5;

    padding-bottom: 1.2rem;

  }

}

#service .point--01 .point01-block02-comment__fukidashi {

  width: 28rem;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-block02-comment__fukidashi {

    width: 21rem;

  }

}

@media only screen and (max-width: 767px) {

  #service .point--01 .block02-graph {

    margin-top: 4.5rem;

  }

}

#service .point--01 .block02-graph > span {

  display: block;

  margin-top: 1rem;

  text-align: right;

  font-size: 1.2rem;

  line-height: 1.5;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .block02-graph > span {

    margin-top: 2rem;

    font-size: 1.1rem;

  }

}

#service .point--01 .block02-graph__items {

  width: 46.6rem;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 2rem;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .block02-graph__items {

    width: 100%;

    grid-template-columns: 1fr;

  }

}

#service .point--01 .block02-graph__item {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .block02-graph__item {

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

    -ms-flex-direction: row;

    flex-direction: row;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    -webkit-column-gap: 2rem;

    -moz-column-gap: 2rem;

    column-gap: 2rem;

  }

}

#service .point--01 .block02-graph__target {

  text-align: center;

  font-size: 1.7rem;

  font-weight: 700;

  line-height: 1.6;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .block02-graph__target {

    width: 11.5rem;

    font-size: 1.6rem;

    line-height: 1.5;

  }

}

#service .point--01 .block02-graph__target span {

  font-size: 2.2rem;

  font-weight: 700;

  line-height: 1.2;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .block02-graph__target span {

    font-size: 2rem;

    line-height: 1.4;

  }

}

#service .point--01 .block02-graph__circle {

  margin-top: 1rem;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .block02-graph__circle {

    margin-top: 0;

    width: 14rem;

  }

}

#service .point--01 .point01-block03 {

  margin-top: 4rem;

  border-radius: 1.8rem;

  padding-top: 4rem;

  border: 1px solid #007dd7;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-block03 {

    padding-top: 0;

  }

}

#service .point--01 .block03-head {

  text-align: center;

  position: relative;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .block03-head {

    padding-top: 9rem;

  }

}

#service .point--01 .block03-head::before,

#service .point--01 .block03-head::after {

  position: absolute;

  content: "";

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: 100%;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .block03-head::before,

  #service .point--01 .block03-head::after {

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

}

#service .point--01 .block03-head::before {

  top: 41%;

  left: 1.9rem;

  width: 14.3rem;

  height: 12.9rem;

  background-image: url(../../old/img/service/img_service03.png);

}



@media only screen and (max-width: 767px) {

  #service .point--01 .block03-head::before {

    top: -3.5rem;

    left: 0;

    width: 11.3rem;

    height: 10.2rem;

  }

}

#service .point--01 .block03-head::after {

  top: 44%;

  right: 5.4rem;

  width: 11.4rem;

  height: 11.5rem;

  background-image: url(../../old/img/service/img_service04.png);

}



@media only screen and (max-width: 767px) {

  #service .point--01 .block03-head::after {

    top: -1.5rem;

    right: -0.6rem;

    width: 8.5rem;

    height: 8.5rem;

  }

}

#service .point--01 .block03-head__title {

  display: inline-block;

  font-size: 3.2rem;

  font-weight: 700;

  line-height: 1.5;

  letter-spacing: -0.02em;

  position: relative;

  padding-inline: 3.1rem 1.4rem;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .block03-head__title {

    font-size: 2.2rem;

    padding-inline: 2.1rem 1.5rem;

  }

}

#service .point--01 .block03-head__title::before,

#service .point--01 .block03-head__title::after {

  position: absolute;

  bottom: 0;

  font-size: 5.6rem;

  color: #7e7e7e;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .block03-head__title::before,

  #service .point--01 .block03-head__title::after {

    font-size: 4rem;

  }

}

#service .point--01 .block03-head__title::before {

  content: "\\";

  left: 0;

}



#service .point--01 .block03-head__title::after {

  content: "/";

  right: 0;

}



#service .point--01 .point01-block03__body {

  margin-top: 3rem;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-block03__body {

    margin-top: 2rem;

  }

}

#service .point--01 .point01-feature__items {

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 0.2rem;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-feature__items {

    grid-template-columns: 1fr;

    gap: 3rem;

  }

}

#service .point--01 .point01-feature-item {

  padding-top: 12rem;

  padding-inline: 9.6rem;

  position: relative;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-feature-item {

    padding-top: 0;

    padding-inline: 0;

  }

}

@media only screen and (max-width: 767px) {

  #service .point--01 .point01-feature-item__img {

    padding-inline: 1.4rem;

  }

}

#service .point--01 .point01-feature-item__img img {

  border-radius: 0.8rem;

}



#service .point--01 .point01-feature-item__comment {

  position: absolute;

  top: 0;

  left: 50%;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

}



#service .point--01 .point01-feature-item__comment p {

  position: absolute;

  top: 50%;

  left: 50%;

  -webkit-transform: translate(-50%, -50%);

  transform: translate(-50%, -50%);

  text-align: center;

  font-size: 1.5rem;

  font-weight: 500;

  line-height: 1.4;

  white-space: nowrap;

  padding-bottom: 1rem;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-feature-item__comment p {

    font-size: 1.4rem;

    padding-bottom: 0.7rem;

  }

}

@media only screen and (max-width: 767px) {

  #service .point--01 .point01-feature-item:nth-child(1) {

    padding-top: 7.4rem;

  }

}

#service .point--01 .point01-feature-item:nth-child(1) .point01-feature-item__comment {

  width: 40rem;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-feature-item:nth-child(1) .point01-feature-item__comment {

    width: 28.4rem;

  }

}

#service .point--01 .point01-feature-item:nth-child(1) strong {

  font-size: 4rem;

  line-height: 1;

  letter-spacing: 0;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-feature-item:nth-child(1) strong {

    font-size: 2.6rem;

    line-height: 0.6;

  }

}

@media only screen and (max-width: 767px) {

  #service .point--01 .point01-feature-item:nth-child(2) {

    padding-top: 12.4rem;

  }

}

#service .point--01 .point01-feature-item:nth-child(2) .point01-feature-item__comment {

  width: 45rem;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-feature-item:nth-child(2) .point01-feature-item__comment {

    width: 27.5rem;

  }

}

#service .point--01 .point01-feature-item:nth-child(2) strong {

  font-size: 2.8rem;

  line-height: 1.5;

  letter-spacing: -0.02em;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .point01-feature-item:nth-child(2) strong {

    font-size: 2.2rem;

    line-height: 1.1;

  }

}

#service .point--01 .accordion-hidden {

  display: none;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .accordion-hidden {

    padding-inline: 1.4rem;

  }

  #service .point--01 .accordion-hidden p {

    padding-top: 2rem;

    font-weight: 500;

    font-size: 1.6rem;

    line-height: 1.6;

  }

}

#service .point--01 .accordion-hidden__items {

  margin-top: 2rem;

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 0.2rem;

}



#service .point--01 .accordion-hidden__item {

  padding-inline: 9.6rem;

  position: relative;

}



@media only screen and (max-width: 767px) and (max-width: 767px) {

  #service .point--01 .accordion-hidden__item {

    padding-inline: 1.4rem;

  }

}

#service .point--01 .accordion-hidden__item p {

  font-size: 1.7rem;

  line-height: 1.7;

  font-weight: 500;

}



#service .point--01 .accordion-btn {

  margin-top: 4rem;

  background-color: #007dd7;

  width: 100%;

  height: 6rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  border-radius: 0 0 1.6rem 1.6rem;

  padding-top: 0.2rem;

  -webkit-transition: opacity 0.3s;

  transition: opacity 0.3s;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .accordion-btn {

    margin-top: 2rem;

    height: 4rem;

  }

}

@media only screen and (min-width: 768px) {

  #service .point--01 .accordion-btn:hover {

    opacity: 0.8;

  }

}

#service .point--01 .accordion-btn__arrow {

  width: 2.6rem;

}



@media only screen and (max-width: 767px) {

  #service .point--01 .accordion-btn__arrow {

    width: 2.1rem;

  }

}

#service .point--01 .accordion-btn__arrow img {

  -webkit-transition: -webkit-transform 0.3s;

  transition: -webkit-transform 0.3s;

  transition: transform 0.3s;

  transition: transform 0.3s, -webkit-transform 0.3s;

}



#service .point--01 .accordion-btn.is-show .accordion-btn__arrow img {

  -webkit-transform: scale(1, -1);

  transform: scale(1, -1);

}



#service .point--01 .block03-accordion__btn {

  margin-top: 4rem;

}



#service .point--02 .point__body {

  padding-top: 2rem;

  padding-inline: 5.3rem;

  position: relative;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point__body {

    padding-top: 2.7rem;

    padding-inline: 1.7rem;

  }

}

#service .point--02 .point__circle {

  position: absolute;

  top: -5.2rem;

  right: -1.7rem;

  width: 23rem;

  height: 23rem;

  border-radius: 50%;

  border: 0.2rem solid #fa5700;

  background-color: #fff;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  /* padding-top: 1.4rem; */

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point__circle {

    width: 16rem;

    height: 16rem;

    padding-top: 0;

    top: 1.5rem;

    right: -4.8rem;

  }

}

#service .point--02 .point__circle p {

  font-size: 2.4rem;

  font-weight: 700;

  line-height: 1.6;

  text-align: center;

  color: #fa5700;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point__circle p {

    font-size: 1.6rem;

    line-height: 1.5;

  }

}

#service .point--02 .point02-block01__head {

  width: 75.8rem;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block01__head {

    width: 100%;

  }

}

#service .point--02 .point02-block01__title {

  font-size: 3.2rem;

  font-weight: 700;

  line-height: 1.5;

  letter-spacing: -0.02em;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block01__title {

    font-size: 2.2rem;

  }

}

#service .point--02 .point02-block01__title strong {

  font-size: 5.2rem;

  line-height: 1.2;

  font-weight: 700;

  letter-spacing: 0;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block01__title strong {

    font-size: 3.6rem;

  }

}

#service .point--02 .point02-block01__text {

  margin-top: 2.2rem;

  font-size: 1.7rem;

  font-weight: 500;

  line-height: 1.7;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block01__text {

    margin-top: 2rem;

    font-size: 1.4rem;

    line-height: 1.4;

  }

}

#service .point--02 .point02-block01__area-wrap {

  margin-top: -2rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block01__area-wrap {

    margin-top: 0;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    position: relative;

    padding-bottom: 7.6rem;

  }

}

#service .point--02 .point02-area {

  padding-top: 6rem;

  width: 48.4rem;

  position: relative;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-area {

    padding-top: 3.6rem;

    width: 17.6rem;

  }

}

#service .point--02 .point02-area p {

  position: absolute;

  bottom: 2.8rem;

  right: 0;

  font-size: 1.2rem;

  line-height: 1.5;

  text-align: right;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-area p {

    bottom: -2.7rem;

    right: initial;

    left: 0;

    text-align: left;

    font-size: 1.1rem;

  }

}

#service .point--02 .point02-area__items {

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  grid-template-rows: auto;

  gap: 1.3rem 2.4rem;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-area__items {

    grid-template-columns: 1fr;

    row-gap: 0.2rem;

  }

}

#service .point--02 .area-item {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: end;

  -ms-flex-align: end;

  align-items: flex-end;

}



#service .point--02 .area-item span {

  display: block;

}



#service .point--02 .area-item span:nth-child(1) {

  font-size: 1.7rem;

  font-weight: 500;

  line-height: 1;

  padding-right: 0.5em;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .area-item span:nth-child(1) {

    font-size: 1.6rem;

    padding-right: 0.3em;

  }

}

#service .point--02 .area-item span:nth-child(2) {

  -webkit-box-flex: 1;

  -ms-flex: 1;

  flex: 1;

  height: 1px;

  background-image: linear-gradient(to right, #333, #333 2px, transparent 2px, transparent 4px);

  /* 幅2の線を作る */

  background-size: 4px 1px;

  /* グラデーションの幅・高さを指定 */

  background-position: left bottom;

  /* 背景の開始位置を指定 */

  background-repeat: repeat-x;

  /* 横向きにのみ繰り返す */

}



#service .point--02 .area-item span:nth-child(3) {

  font-size: 1.7rem;

  font-weight: 500;

  line-height: 1;

  letter-spacing: 0.06em;

  padding-left: 0.5em;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .area-item span:nth-child(3) {

    font-size: 1.6rem;

    padding-right: 0.3em;

  }

}

#service .point--02 .area-item span:nth-child(3) strong {

  font-size: 2.8rem;

  font-weight: 700;

  line-height: 1;

  letter-spacing: 0.1em;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .area-item span:nth-child(3) strong {

    font-size: 2.4rem;

  }

}

#service .point--02 .point02-block01__map {

  width: 40rem;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block01__map {

    width: 20.6rem;

    position: absolute;

    right: -1.8rem;

    bottom: -1.4rem;

  }

}

#service .point--02 .point02-block02 {

  position: relative;

  z-index: 3;

  padding: 2rem 4rem 4rem;

  border-radius: 1.5rem;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block02 {

    padding: 2rem 2rem 4rem;

  }

}

#service .point--02 .point02-block02__title {

  color: #fa5700;

  font-size: 3.2rem;

  font-weight: 700;

  line-height: 1.5;

  letter-spacing: -0.02em;

  text-align: center;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block02__title {

    font-size: 2.2rem;

  }

}

#service .point--02 .point02-block02__title span {

  font-size: 1.5rem;

  font-weight: 500;

  line-height: 1.4;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block02__title span {

    font-size: 1.4rem;

  }

}

#service .point--02 .point02-block02__body {

  margin-top: 2rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-align: end;

  -ms-flex-align: end;

  align-items: flex-end;

  gap: 2rem;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block02__body {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

  }

}

#service .point--02 .point02-block02__img {

  width: 21.3rem;

  position: relative;

}



#service .point--02 .point02-block02__illust {

  position: absolute;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block02__img:nth-child(1) {

    -webkit-box-ordinal-group: 3;

    -ms-flex-order: 2;

    order: 2;

  }

}

#service .point--02 .point02-block02__img:nth-child(1) .point02-block02__illust {

  width: 11.3rem;

  top: -5.3rem;

  right: -3.6rem;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block02__img:nth-child(1) .point02-block02__illust {

    top: initial;

    right: initial;

    bottom: -1.9rem;

    left: -3.3rem;

  }

}

@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block02__img:nth-child(3) {

    -webkit-box-ordinal-group: 4;

    -ms-flex-order: 3;

    order: 3;

  }

}

#service .point--02 .point02-block02__img:nth-child(3) .point02-block02__illust {

  width: 9.4rem;

  top: -5.2rem;

  left: -3.2rem;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block02__img:nth-child(3) .point02-block02__illust {

    top: initial;

    left: initial;

    bottom: -1.9rem;

    right: -3.2rem;

  }

}

#service .point--02 .point02-block02__contents {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  width: 38.9rem;

  text-align: center;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block02__contents {

    -webkit-box-ordinal-group: 2;

    -ms-flex-order: 1;

    order: 1;

    width: 100%;

  }

}

#service .point--02 .point02-block02__contents > p {

  margin-top: 1rem;

  font-size: 1.2rem;

  font-weight: 500;

  line-height: 1.5;

}



#service .point--02 .point02-block02__logo {

  width: 30rem;

  height: 10.5rem;

  background-color: #fff;

  -ms-flex-item-align: center;

  align-self: center;

  overflow: hidden;

  position: relative;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-block02__logo {

    width: 25.5rem;

    padding-inline: 2.2rem;

  }

}

#service .point--02 .point02-block02__logo img {

  position: absolute;

  top: 50%;

  left: 50%;

  -webkit-transform: translate(-50%, -50%);

  transform: translate(-50%, -50%);

  width: 21.1rem;

  height: auto;

}



#service .point--02 .point02-block02__logo a {

  width: 100%;

  height: 100%;

  display: block;

  padding-inline: 4.4rem;

  -webkit-transition: opacity 0.3s;

  transition: opacity 0.3s;

}



@media only screen and (min-width: 768px) {

  #service .point--02 .point02-block02__logo a:hover {

    opacity: 0.6;

  }

}

#service .point--02 .point02-result {

  margin-top: 3rem;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-result {

    margin-top: 2rem;

    padding-inline: 3.3rem;

  }

}

#service .point--02 .point02-result__items {

  width: 100%;

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 1.1rem;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .point02-result__items {

    grid-template-columns: 1fr;

  }

}

#service .point--02 .result-item {

  text-align: center;

  position: relative;

}



#service .point--02 .result-item::before,

#service .point--02 .result-item::after {

  position: absolute;

  content: "";

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  width: 3.38rem;

  height: 6.6rem;

  background-image: url(../../old/img/service/deco01.png);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: 100%;

}



#service .point--02 .result-item::before {

  left: 0;

}



#service .point--02 .result-item::after {

  right: 0;

  -webkit-transform: translateY(-50%) scale(-1, 1);

  transform: translateY(-50%) scale(-1, 1);

}



#service .point--02 .result-item p:nth-child(1) {

  font-size: 1.7rem;

  font-weight: 700;

  line-height: 1.6;

}



@media only screen and (max-width: 767px) {

  #service .point--02 .result-item p:nth-child(1) {

    font-size: 1.6rem;

    line-height: 1.5;

  }

}

#service .point--02 .result-item p:nth-child(2) span {

  font-size: 2rem;

  font-weight: 700;

  line-height: 1.1;

}



#service .point--02 .result-item p:nth-child(2) span strong {

  font-size: 3.8rem;

  font-weight: 700;

  line-height: 1.1;

}



#service .point--03 .point__body {

  padding: 7.8rem 3.7rem 0;

}



@media only screen and (max-width: 767px) {

  #service .point--03 .point__body {

    padding-top: 6.4rem;

    padding-inline: 1.6rem;

  }

}

#service #point03 .point03-block01 {

  max-width: 94rem;

  margin-inline: auto;

}

#service #point03 .point--03 .worries-item {

  position: relative;

}

#service #point03 .point03-block01__items {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

}

@media (max-width: 767px) {

  #service #point03 .point03-block01__items {

    grid-template-columns: 1fr;

    gap: 39px;

  }

}

#service #point03 .worries-item__text {

  text-align: center;

  font-size: 1.7rem;

  font-weight: 700;

  line-height: 1.6;

  color: #fff;

}

#service #point03 .worries-item {

  position: relative;

}

@media (max-width: 767px) {

  #service #point03 .worries-item {

    padding-bottom: 1rem;

  }

}

#service #point03 .worries-item::before {

  position: absolute;

  z-index: -1;

  content: "";

  -webkit-transform: translate(-50%, -50%);

          transform: translate(-50%, -50%);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: 100%;

}

@media (max-width: 767px) {

  #service #point03 .worries-item::before {

    width: 28rem;

  }

}

#service #point03 .worries-item:nth-child(1) {

  z-index: 5;

}

@media (max-width: 767px) {

  #service #point03 .worries-item:nth-child(1) {

    z-index: 3;

  }

}

#service #point03 .worries-item:nth-child(1)::before {

  top: 61%;

  left: 54%;

  width: 35.9rem;

  height: 16.4rem;

  background-image: url(../img/deco_cloud01.svg);

}

@media (max-width: 767px) {

  #service #point03 .worries-item:nth-child(1)::before {

    background-image: url(../img/deco_cloud01-sp.svg);

    width: 28rem;

    left: 50%;

  }

}

#service #point03 .worries-item:nth-child(1) .worries-item__text {

  padding-left: 2.9rem;

}

@media (max-width: 767px) {

  #service #point03 .worries-item:nth-child(1) .worries-item__text {

    padding-left: 0;

  }

}

#service #point03 .worries-item:nth-child(2) {

  z-index: 4;

}

#service #point03 .worries-item:nth-child(2)::before {

  top: 62%;

  left: 49%;

  width: 35.9rem;

  height: 16.4rem;

  background-image: url(../img/deco_cloud02.svg);

}

@media (max-width: 767px) {

  #service #point03 .worries-item:nth-child(2)::before {

    background-image: url(../img/deco_cloud02-sp.svg);

    width: 28rem;

    left: 50%;

  }

}

#service #point03 .worries-item:nth-child(2) .worries-item__text {

  padding-top: 1rem;

  padding-left: 0.6rem;

}

@media (max-width: 767px) {

  #service #point03 .worries-item:nth-child(2) .worries-item__text {

    padding-top: 0;

    padding-left: 0;

  }

}

#service #point03 .worries-item:nth-child(3) {

  z-index: 3;

}

@media (max-width: 767px) {

  #service #point03 .worries-item:nth-child(3) {

    z-index: 5;

  }

}

#service #point03 .worries-item:nth-child(3)::before {

  top: 91%;

  left: 45%;

  width: 36.4rem;

  height: 17rem;

  background-image: url(../img/deco_cloud03.svg);

}

@media (max-width: 767px) {

  #service #point03 .worries-item:nth-child(3)::before {

    background-image: url(../img/deco_cloud03-sp.svg);

    width: 28rem;

    left: 50%;

    top: 51%;

  }

}

#service #point03 .worries-item:nth-child(3) .worries-item__text {

  padding-top: 2rem;

  padding-right: 3.4rem;

}

@media (max-width: 767px) {

  #service #point03 .worries-item:nth-child(3) .worries-item__text {

    padding-top: 0;

    padding-right: 0;

  }

}

#service #point03 .point03-block01__solution {

  margin-top: 7.4rem;

}

@media (max-width: 767px) {

  #service #point03 .point03-block01__solution {

    margin-top: 5.8rem;

  }

}

#service #point03 .point03-solution {

  padding-bottom: 4rem;

}

@media (max-width: 767px) {

  #service #point03 .point03-solution {

    padding-bottom: 3rem;

  }

}

#service #point03 .point03-solution__title {

  text-align: center;

  font-size: 3.2rem;

  font-weight: 700;

  line-height: 1.5;

}

@media (max-width: 767px) {

  #service #point03 .point03-solution__title {

    font-size: 2.2rem;

  }

}

#service #point03 .point03-solution__title span {

  color: #005EAB;

}

#service #point03 .point03-solution__items {

  margin-top: 3.7rem;

  max-width: 94rem;

  margin-inline: auto;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 2rem;

}

@media (max-width: 767px) {

  #service #point03 .point03-solution__items {

    margin-top: 3.3rem;

    grid-template-columns: 1fr;

    gap: 2.4rem;

  }

}

#service #point03 .solution-item {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

      -ms-flex-direction: column;

          flex-direction: column;

  border-radius: 1.5rem;

  overflow: hidden;

}

#service #point03 .solution-item__title {

  background-color: #005EAB;

  text-align: center;

  color: #fff;

  font-size: 2rem;

  font-weight: 700;

  line-height: 1.5;

  letter-spacing: -0.02em;

  height: 6.8rem;

  display: grid;

  place-content: center;

}

@media (max-width: 767px) {

  #service #point03 .solution-item__title {

    font-size: 2.2rem;

    height: 5.3rem;

  }

}

#service #point03 .solution-item__body {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

      -ms-flex-direction: column;

          flex-direction: column;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  -webkit-box-flex: 1;

      -ms-flex: 1;

          flex: 1;

  border-left: 0.2rem solid #005EAB;

  border-right: 0.2rem solid #005EAB;

  border-bottom: 0.2rem solid #005EAB;

  border-radius: 0 0 1.5rem 1.5rem;

  padding: 1.9rem 3.2rem 2rem;

}

@media (max-width: 767px) {

  #service #point03 .solution-item__body {

    padding: 2rem;

  }

}

#service #point03 .solution-item__text {

  margin-top: 1.9rem;

  font-size: 1.7rem;

  font-weight: 500;

  line-height: 1.7;

  letter-spacing: -0.02em;

}

@media (max-width: 767px) {

  #service #point03 .solution-item__text {

    margin-top: 1.6rem;

    font-size: 1.4rem;

    line-height: 1.4;

  }

}

#service #point03 .solution-item__text span {

  color: #FD0002;

}

#service #point03 .solution-item:nth-child(1) .solution-item__img {

  width: 16.1rem;

}

#service #point03 .solution-item:nth-child(2) .solution-item__img {

  width: 19.5rem;

}

@media (max-width: 767px) {

  #service #point03 .solution-item:nth-child(2) .solution-item__img {

    width: 16rem;

  }

}

#service #point03 .solution-item:nth-child(3) .solution-item__img {

  width: 10.7rem;

}

#service #point03 .point03-block02 {

  border-top: 1px dashed #005EAB;

  padding-block: 4rem;

}

@media (max-width: 767px) {

  #service #point03 .point03-block02 {

    padding-block: 3rem;

  }

}

#service #point03 .point03-block02__items {

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 2.4rem;

}

@media (max-width: 767px) {

  #service #point03 .point03-block02__items {

    grid-template-columns: 1fr;

  }

}

#service #point03 .point03-service {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

      -ms-flex-direction: column;

          flex-direction: column;

  text-align: center;

  border-radius: 1.5rem;

  padding: 3.8rem 2.4rem 4rem;

}

@media (max-width: 767px) {

  #service #point03 .point03-service {

    padding: 3rem 1.8rem;

  }

}

#service #point03 .point03-service__title {

  font-size: 3.2rem;

  line-height: 1;

  font-weight: 700;

  line-height: 1.5;

  letter-spacing: -0.02em;

  position: relative;

  padding-block: 2rem 3.3rem;

  z-index: 3;

}

@media (max-width: 767px) {

  #service #point03 .point03-service__title {

    font-size: 2.2rem;

    line-height: 1.5;

    padding-block: 1rem 2rem;

  }

}

#service #point03 .point03-service__title::before {

  position: absolute;

  z-index: -1;

  content: "";

  top: 50%;

  left: 50%;

  -webkit-transform: translate(-50%, -50%);

          transform: translate(-50%, -50%);

  width: 45rem;

  height: 11rem;

  background-repeat: no-repeat;

  background-position: center center;

  background-size: 100%;

}

@media (max-width: 767px) {

  #service #point03 .point03-service__title::before {

    width: 26.5rem;

    height: 10rem;

  }

}

#service #point03 .point03-service__logo {

  margin-top: 4rem;

  width: 20rem;

  -ms-flex-item-align: center;

      align-self: center;

  display: inline-block;

  -webkit-transition: opacity 0.3s;

  transition: opacity 0.3s;

}

@media (max-width: 767px) {

  #service #point03 .point03-service__logo {

    margin-top: 2rem;

    width: 15rem;

  }

}

@media (any-hover: hover) {

  #service #point03 .point03-service__logo:hover {

    opacity: 0.7;

  }

}

#service #point03 .point03-service--agent {

  background-color: #F0F7FC;

  border: 0.2rem solid #005EAB;

}

#service #point03 .point03-service--agent .point03-service__title span {

  color: #005EAB;

}

#service #point03 .point03-service--agent .point03-service__title::before {

  background-image: url(../img/deco_frame-agent.svg);

}

@media (max-width: 767px) {

  #service #point03 .point03-service--agent .point03-service__title::before {

    background-image: url(../img/deco_frame-agent-sp.svg);

  }

}

#service #point03 .point03-service--booster {

  background-color: #EEF7F7;

  border: 0.2rem solid #04A3B5;

}

#service #point03 .point03-service--booster .point03-service__title span {

  color: #04A3B5;

}

#service #point03 .point03-service--booster .point03-service__title::before {

  background-image: url(../img/deco_frame-booster.svg);

}

@media (max-width: 767px) {

  #service #point03 .point03-service--booster .point03-service__title::before {

    background-image: url(../img/deco_frame-booster-sp.svg);

  }

}

#service #point03 .point03-service__btn-wrap {

  margin-top: 4rem;

}

@media (max-width: 767px) {

  #service #point03 .point03-service__btn-wrap {

    margin-top: 2.2rem;

  }

}

#service #point03 .point03-service__text {

  font-size: 1.5rem;

  line-height: 1.4;

  font-weight: 500;

  text-align: center;

}

@media (max-width: 767px) {

  #service #point03 .point03-service__text {

    font-size: 1.4rem;

  }

}

#service #point03 .point03-service__btn {

  margin-top: 1rem;

}

#service #point03 .point03-service__btn a {

  -webkit-box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

          box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

}

#service #point03 .point03-block03 {

  border-top: 1px dashed #005EAB;

  padding-top: 4rem;

}

@media (max-width: 767px) {

  #service #point03 .point03-block03 {

    padding-top: 3rem;

  }

}

#service #point03 .point03-block03__head {

  text-align: center;

  font-size: 1.7rem;

  font-weight: 500;

  line-height: 1.7;

  position: relative;

}

@media (max-width: 767px) {

  #service #point03 .point03-block03__head {

    padding-top: 10.4rem;

    font-size: 1.6rem;

    line-height: 1.6;

    text-align: left;

  }

}

  #service #point03 .point03-block03__head p {

    font-weight: 500;

  }

@media (max-width: 767px) {

  #service #point03 .point03-block03__head p {

    padding-inline: 0.8rem;

  }

}

#service #point03 .point03-block03__deco {

  position: absolute;

  top: 50%;

  -webkit-transform: translateY(-50%);

          transform: translateY(-50%);

}

@media (max-width: 767px) {

  #service #point03 .point03-block03__deco {

    top: 0;

    -webkit-transform: translateY(0);

            transform: translateY(0);

  }

}

#service #point03 .point03-block03__deco--left {

  left: 3.2rem;

  width: 17.4rem;

}

@media (max-width: 767px) {

  #service #point03 .point03-block03__deco--left {

    left: 1.5rem;

    width: 13.6rem;

  }

}

#service #point03 .point03-block03__deco--right {

  right: 2.7rem;

  width: 19.2rem;

}

@media (max-width: 767px) {

  #service #point03 .point03-block03__deco--right {

    right: 1.4rem;

    width: 13.9rem;

  }

}

#service #point03 .point03-block03__btn-wrap {

  margin-top: 3.8rem;

}

@media (max-width: 767px) {

  #service #point03 .point03-block03__btn-wrap {

    margin-top: 3.3rem;

  }

}

#service #point03 .point03-block04__btn {

  margin-top: 1rem;

  max-width: 48rem;

  margin-inline: auto;

}

#service #point03 .point03-block04__btn a {

  -webkit-box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

          box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

}



#service .point-foot {

  margin-top: 8rem;

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 3.2rem;

  -webkit-box-align: end;

  -ms-flex-align: end;

  align-items: flex-end;

}



@media only screen and (max-width: 767px) {

  #service .point-foot {

    margin-top: 5rem;

    grid-template-columns: 1fr;

    gap: 3.4rem;

  }

}

#service .point-foot--03 {

  grid-template-columns: 1fr;

  width: 48rem;

  margin-inline: auto;

}



@media only screen and (max-width: 767px) {

  #service .point-foot--03 {

    width: 100%;

  }

}

#service .point-foot__btn-wrap {

  text-align: center;

}



#service .point-foot__btn-wrap p {

  font-size: 1.5rem;

  font-weight: 500;

  line-height: 1.4;

}



@media only screen and (max-width: 767px) {

  #service .point-foot__btn-wrap p {

    font-size: 1.4rem;

  }

}

@media only screen and (max-width: 767px) {

  #service .point-foot__btn-wrap:nth-child(1) p {

    -webkit-font-feature-settings: "palt";

    font-feature-settings: "palt";

    letter-spacing: 0.06em;

  }

}

#service .point-foot__btn {

  margin-top: 1rem;

  border-radius: 5rem;

  -webkit-box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

  box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

}



/* --------------------------------

flow

----------------------------------- */

.flow {

  padding-block: 8rem;

}



@media only screen and (max-width: 767px) {

  .flow {

    padding-block: 5rem;

  }

}

.flow__text {

  margin-top: 5rem;

  width: 60.8rem;

  margin-inline: auto;

  text-align: center;

  font-size: 1.7rem;

  font-weight: 500;

  line-height: 1.7;

}



@media only screen and (max-width: 767px) {

  .flow__text {

    width: 100%;

    font-size: 1.6rem;

    line-height: 1.6;

    text-align: left;

  }

}

.flow__body {

  margin-top: 5rem;

}



.flow__items {

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  -webkit-column-gap: 3.2rem;

  -moz-column-gap: 3.2rem;

  column-gap: 3.2rem;

  -webkit-box-align: start;

  -ms-flex-align: start;

  align-items: flex-start;

}



@media only screen and (max-width: 767px) {

  .flow__items {

    grid-template-columns: 1fr;

    row-gap: 5rem;

  }

}

.flow__note {

  margin-top: 3rem;

  font-size: 1.2rem;

  font-weight: 500;

  line-height: 1.5;

  text-align: center;

}



@media only screen and (max-width: 767px) {

  .flow__note {

    margin-top: 2rem;

    font-size: 1.1rem;

  }

}

.flow__btn-wrap {

  margin-top: 8rem;

  width: 48rem;

  margin-inline: auto;

  text-align: center;

}



@media only screen and (max-width: 767px) {

  .flow__btn-wrap {

    margin-top: 5rem;

    width: 100%;

  }

}

.flow__btn-wrap p {

  font-size: 1.5rem;

  font-weight: 500;

  line-height: 1.4;

}



@media only screen and (max-width: 767px) {

  .flow__btn-wrap p {

    font-size: 1.4rem;

  }

}

.flow__btn {

  margin-top: 1rem;

  border-radius: 5rem;

  -webkit-box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

  box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

  width: 100%;

}



.flow-item {

  background-color: #fff;

  padding: 3rem 3.2rem;

  border-radius: 1.5rem;

  position: relative;

}



@media only screen and (max-width: 767px) {

  .flow-item {

    padding: 4rem 2rem 3rem;

  }

}

.flow-item > span {

  position: absolute;

  top: -2rem;

  left: 3.5rem;

  font-size: 3.6rem;

  font-weight: 700;

  line-height: 1;

  letter-spacing: -0.02em;

  color: #007dd7;

}



@media only screen and (max-width: 767px) {

  .flow-item > span {

    top: -1.6rem;

    left: 2rem;

  }

}

.flow-item::before {

  position: absolute;

  content: "";

  width: 14rem;

  height: 8.7rem;

  background-image: url(../../old/img/flow/arrow_flow.svg);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: 100%;

}



@media only screen and (max-width: 767px) {

  .flow-item::before {

    width: 11rem;

    height: 6.8rem;

    background-image: url(../../old/img/flow/arrow_flow-sp.svg);

  }

}

.flow-item__title {

  font-size: 2rem;

  font-weight: 700;

  line-height: 1.6;

  letter-spacing: -0.02em;

  color: #007dd7;

}



@media only screen and (max-width: 767px) {

  .flow-item__title {

    font-size: 1.7rem;

    line-height: 1.5;

  }

}

.flow-item__text {

  margin-top: 2rem;

  font-size: 1.7rem;

  font-weight: 500;

  line-height: 1.7;

}



@media only screen and (max-width: 767px) {

  .flow-item__text {

    margin-top: 2.2rem;

    font-size: 1.4rem;

    line-height: 1.4;

  }

}

.flow-item__note {

  margin-top: 1rem;

  font-size: 1.2rem;

  font-weight: 500;

  line-height: 1.5;

}



.flow-item__img {

  position: absolute;

}



.flow-item:nth-child(1)::before {

  top: 8.7rem;

  right: -12.3rem;

}



@media only screen and (max-width: 767px) {

  .flow-item:nth-child(1)::before {

    top: initial;

    right: initial;

    bottom: -4.4rem;

    left: 36%;

    -webkit-transform: translateX(-50%);

    transform: translateX(-50%);

  }

}

.flow-item:nth-child(1) .flow-item__img {

  width: 15.2rem;

  top: -1.8rem;

  right: -1.6rem;

}



@media only screen and (max-width: 767px) {

  .flow-item:nth-child(1) .flow-item__img {

    width: 12rem;

    top: -5.6rem;

    right: -2rem;

  }

}

.flow-item:nth-child(2) {

  margin-top: 20.3rem;

}



@media only screen and (max-width: 767px) {

  .flow-item:nth-child(2) {

    margin-top: 0;

  }

}

.flow-item:nth-child(2)::before {

  top: 4.5rem;

  left: -12.3rem;

  -webkit-transform: scale(-1, 1);

  transform: scale(-1, 1);

}



@media only screen and (max-width: 767px) {

  .flow-item:nth-child(2)::before {

    top: initial;

    right: initial;

    bottom: -4.4rem;

    left: 39%;

    -webkit-transform: translateX(-50%) scale(-1, 1);

    transform: translateX(-50%) scale(-1, 1);

  }

}

.flow-item:nth-child(2) .flow-item__img {

  width: 11.9rem;

  top: -2.8rem;

  right: -1.6rem;

}



@media only screen and (max-width: 767px) {

  .flow-item:nth-child(2) .flow-item__img {

    width: 9.7rem;

    top: -4.2rem;

    right: 1.3rem;

  }

}

.flow-item:nth-child(3) {

  margin-top: -8.1rem;

}



@media only screen and (max-width: 767px) {

  .flow-item:nth-child(3) {

    margin-top: 0;

  }

}

.flow-item:nth-child(3)::before {

  top: 18.2rem;

  right: -12.8rem;

}



@media only screen and (max-width: 767px) {

  .flow-item:nth-child(3)::before {

    top: initial;

    right: initial;

    bottom: -4.4rem;

    left: 6.3rem;

  }

}

.flow-item:nth-child(3) .flow-item__img {

  width: 24.1rem;

  top: -3.3rem;

  right: -2.3rem;

}



@media only screen and (max-width: 767px) {

  .flow-item:nth-child(3) .flow-item__img {

    width: 14rem;

    top: -4.3rem;

    right: -1.4rem;

  }

}

.flow-item:nth-child(4) {

  margin-top: 25.2rem;

}



@media only screen and (max-width: 767px) {

  .flow-item:nth-child(4) {

    margin-top: 0;

  }

}

.flow-item:nth-child(4)::before {

  display: none;

}



.flow-item:nth-child(4) .flow-item__img {

  width: 13rem;

  top: -5.1rem;

  right: 2.9rem;

}



@media only screen and (max-width: 767px) {

  .flow-item:nth-child(4) .flow-item__img {

    width: 10.7rem;

    top: -5.9rem;

    right: 0.7rem;

  }

}

.flow-item-point {

  margin-top: 3.5rem;

  background-color: #e9f3fa;

  padding: 2.5rem 2rem 2rem;

  border-radius: 1rem;

  position: relative;

}



.flow-item-point > span {

  position: absolute;

  top: -1.4rem;

  left: 1.6rem;

  text-transform: uppercase;

  font-size: 1.5rem;

  font-weight: 700;

  line-height: 1.6;

  letter-spacing: -0.02em;

  color: #fff;

  background-color: #007dd7;

  padding: 0.25rem 1.6rem 0.35rem;

  border-radius: 5rem;

}



@media only screen and (max-width: 767px) {

  .flow-item-point > span {

    padding: 0.15rem 1.6rem 0.25rem;

  }

}

.flow-item-point__catch {

  font-size: 2rem;

  font-weight: 700;

  line-height: 1.6;

  letter-spacing: -0.02em;

  color: #007dd7;

}



@media only screen and (max-width: 767px) {

  .flow-item-point__catch {

    font-size: 1.7rem;

    line-height: 1.5;

  }

}

.flow-item-point__text {

  margin-top: 1rem;

  font-size: 1.7rem;

  font-weight: 500;

  line-height: 1.7;

}



@media only screen and (max-width: 767px) {

  .flow-item-point__text {

    font-size: 1.4rem;

    line-height: 1.4;

  }

}

/* --------------------------------

voice

----------------------------------- */

.voice__head {

  padding-block: 8rem 5rem;

}



@media only screen and (max-width: 767px) {

  .voice__head {

    padding-block: 5rem;

  }

}

.voice__body {

  padding-block: 8rem;

}



@media only screen and (max-width: 767px) {

  .voice__body {

    padding-block: 5rem;

  }

}

.voice-slide {

  height: -webkit-fit-content;

  height: -moz-fit-content;

  height: fit-content;

}



.voice-item {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  width: 96rem;

  min-height: 54.8rem;

  margin-inline: 2.1rem;

  background-color: #fff;

  border: 0.2rem solid #007dd7;

  border-radius: 1.5rem;

  overflow: hidden;

}



@media only screen and (max-width: 767px) {

  .voice-item {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    width: 33.5rem;

    margin-inline: 2rem;

    height: auto;

  }

}

.company-info {

  width: 36rem;

  border-right: 0.1rem solid #007dd7;

}



@media only screen and (max-width: 767px) {

  .company-info {

    width: 100%;

    border-right: none;

    border-bottom: 0.1rem solid #007dd7;

  }

}

.company-info__img {

  width: 100%;

  aspect-ratio: 360/240;

}



@media only screen and (max-width: 767px) {

  .company-info__img {

    aspect-ratio: 335/224;

  }

}

.company-info__img img {

  width: 100%;

  height: 100%;

  -o-object-fit: cover;

  object-fit: cover;

}



.company-info__contents {

  padding: 2.4rem;

}



@media only screen and (max-width: 767px) {

  .company-info__contents {

    padding: 2rem;

  }

}

.company-info__name {

  font-size: 1.7rem;

  font-weight: 700;

  line-height: 1.6;

}



.company-info__list {

  margin-top: 1rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  row-gap: 0.4rem;

}



.company-info__list dl {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  font-size: 1.5rem;

  line-height: 1.4;

}



.company-info__list dt {

  width: 8.7rem;

  font-weight: 500;

}



.company-info__list dd {

  font-weight: 500;

}



.company-info__list dl:last-child {

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  row-gap: 0.4rem;

}



.company-info__list dl:last-child dd {

  color: #fff;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  gap: 0.4rem;

}



.company-info__list dl:last-child dd span {

  display: inline-block;

  padding: 0.3rem 0.8rem 0.5rem;

}



.voice-item__body {

  -webkit-box-flex: 1;

  -ms-flex: 1;

  flex: 1;

  padding: 3.8rem 5.4rem;

}



@media only screen and (max-width: 767px) {

  .voice-item__body {

    padding: 2rem 2rem 0;

  }

}

.voice-item__title {

  font-size: 2.4rem;

  font-weight: 700;

  line-height: 1.5;

  letter-spacing: -0.02em;

  color: #007dd7;

  padding-bottom: 2rem;

}



@media only screen and (max-width: 767px) {

  .voice-item__title {

    font-size: 1.8rem;

    text-align: justify;

  }

}

@media only screen and (max-width: 767px) {

  .voice-item__contents {

    display: none;

  }

}

.voice-item__sub-title {

  border-top: 1px dashed #007dd7;

  padding-top: 2rem;

  font-size: 2rem;

  font-weight: 700;

  line-height: 1.6;

  letter-spacing: -0.02em;

}



@media only screen and (max-width: 767px) {

  .voice-item__sub-title {

    font-size: 1.6rem;

    line-height: 1.5;

    text-align: justify;

  }

}

.voice-item__text {

  margin-top: 2rem;

  font-size: 1.7rem;

  font-weight: 500;

  line-height: 1.7;

}



@media only screen and (max-width: 767px) {

  .voice-item__text {

    font-size: 1.4rem;

    line-height: 1.4;

    text-align: justify;

    padding-bottom: 2rem;

  }

}

.voice-item__text span {

  color: #fd0002;

}



.voice-item__btn {

  cursor: pointer;

  width: 100%;

  height: 4.5rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  background-color: #007dd7;

}



.voice-item__btn span {

  display: inline-block;

  font-size: 1.6rem;

  font-weight: 500;

  line-height: 1.6;

  color: #fff;

  position: relative;

  padding-right: 3.1rem;

}



.voice-item__btn span::before {

  position: absolute;

  content: "";

  top: 55%;

  right: 0;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  width: 1.25rem;

  height: 0.72rem;

  background-image: url(../../old/img/common/arrow-down.svg);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: 100%;

  -webkit-transition: trasform 0.3s;

  transition: trasform 0.3s;

}



.voice-item__btn.is-show span::before {

  -webkit-transform: translateY(-50%) scale(1, -1);

  transform: translateY(-50%) scale(1, -1);

}



.voice__slide-wrap {

  position: relative;

}



.voice-prev-btn,

.voice-next-btn {

  position: absolute;

  z-index: 8;

  cursor: pointer;

  width: 3.6rem;

  height: 3.6rem;

  border-radius: 50%;

  background: -webkit-gradient(linear, right top, left top, from(#0a87e7), to(#27b7f9));

  background: linear-gradient(to left, #0a87e7 0%, #27b7f9 100%);

  -webkit-transform: translateY(1rem);

  transform: translateY(1rem);

}



@media only screen and (max-width: 767px) {

  .voice-prev-btn,

  .voice-next-btn {

    border: 1px solid #fff;

    width: 3rem;

    height: 3rem;

    padding-bottom: 0.1rem;

    -webkit-transform: translateY(-0.6rem);

    transform: translateY(-0.6rem);

  }

}

.voice-prev-btn span,

.voice-next-btn span {

  display: block;

  width: 0.9rem;

  height: 1.1rem;

}



.voice-next-btn {

  padding-left: 0.2rem;

  right: calc(50% - 49.6rem);

}



@media only screen and (max-width: 767px) {

  .voice-next-btn {

    right: calc(50% - 18.1rem);

  }

}

.voice-prev-btn {

  -webkit-transform: translateY(1rem) scale(-1, 1);

  transform: translateY(1rem) scale(-1, 1);

  padding-left: 0.2rem;

  left: calc(50% - 49.6rem);

}



@media only screen and (max-width: 767px) {

  .voice-prev-btn {

    left: calc(50% - 18.1rem);

    -webkit-transform: translateY(-0.6rem) scale(-1, 1);

    transform: translateY(-0.6rem) scale(-1, 1);

  }

}

.voice__note {

  margin-top: 5rem;

  text-align: center;

  font-size: 1.2rem;

  font-weight: 500;

  line-height: 1.5;

}



@media only screen and (max-width: 767px) {

  .voice__note {

    margin-top: 4.7rem;

    font-size: 1.1rem;

  }

}

.swiper-pagination.voice-pagination {

  z-index: 1;

  bottom: 3.9rem;

}



@media only screen and (max-width: 767px) {

  .swiper-pagination.voice-pagination {

    bottom: 3.5rem;

  }

}

.swiper-pagination.voice-pagination .swiper-pagination-bullet {

  width: 1rem;

  height: 1rem;

  background-color: #cacaca;

  opacity: 1;

}



.swiper-pagination.voice-pagination .swiper-pagination-bullet-active {

  background: -webkit-gradient(linear, left top, right top, from(#0a87e7), to(#27b7f9));

  background: linear-gradient(90deg, #0a87e7 0%, #27b7f9 100%);

}



/* --------------------------------

faq

----------------------------------- */

.faq {

  padding-block: 8rem;

}



@media only screen and (max-width: 767px) {

  .faq {

    padding-block: 5rem;

  }

}

.faq__body {

  max-width: 960px;

  width: 100%;

  margin-inline: auto;

  margin-top: 5rem;

}



@media only screen and (max-width: 767px) {

  .faq__body {

    margin-top: 3.6rem;

  }

}

.faq__items {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  gap: 1.5rem;

}



.faq-item {

  border-radius: 1.5rem;

  border: 0.2rem solid #007dd7;

  padding: 2rem 3.8rem 2rem;

}



@media only screen and (max-width: 767px) {

  .faq-item {

    padding: 0.3rem 1.8rem;

  }

}

.faq-item__q {

  padding-block: 1.8rem;

  cursor: pointer;

  position: relative;

}



@media only screen and (max-width: 767px) {

  .faq-item__q {

    padding-block: 1.6rem;

  }

}

.faq-item__q::before {

  position: absolute;

  content: "";

  top: 50%;

  right: 0;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  width: 1.8rem;

  height: 1rem;

  background-image: url(../../old/img/faq/faq-arrow.svg);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: 100%;

  -webkit-transition: -webkit-transform 0.3s;

  transition: -webkit-transform 0.3s;

  transition: transform 0.3s;

  transition: transform 0.3s, -webkit-transform 0.3s;

}



@media only screen and (max-width: 767px) {

  .faq-item__q::before {

    top: 51%;

    width: 1.2rem;

    height: 0.7rem;

  }

}

.faq-item__q h3 {

  padding-inline: 4.6rem 5.8rem;

  font-size: 1.7rem;

  font-weight: 500;

  line-height: 1.7;

  color: #007dd7;

  position: relative;

}



@media only screen and (max-width: 767px) {

  .faq-item__q h3 {

    padding-inline: 4.1rem 2.8rem;

    font-size: 1.6rem;

    line-height: 1.6;

  }

}

.faq-item__q h3::before {

  position: absolute;

  content: "Q";

  top: 0;

  left: 0;

  font-size: 2rem;

  font-weight: 700;

  line-height: 1;

  color: #fff;

  background-color: #007dd7;

  border-radius: 0.5rem;

  display: grid;

  place-content: center;

  width: 3rem;

  height: 3rem;

  padding-bottom: 0.4rem;

}



@media only screen and (max-width: 767px) {

  .faq-item__q h3::before {

    font-size: 1.6rem;

    width: 2.5rem;

    height: 2.5rem;

    padding-bottom: 0.4rem;

  }

}

.faq-item__a {

  display: none;

}



.faq-item__a p {

  border-top: 0.1rem dashed #007dd7;

  padding-top: 2rem;

  padding-left: 5rem;

  font-size: 1.7rem;

  font-weight: 500;

  line-height: 1.7;

  position: relative;

}



@media only screen and (max-width: 767px) {

  .faq-item__a p {

    padding-left: 4.1rem;

    font-size: 1.4rem;

    line-height: 1.4;

    padding-bottom: 1.4rem;

  }

}

.faq-item__a p::before {

  position: absolute;

  content: "A";

  top: 2rem;

  left: 0;

  font-size: 2rem;

  font-weight: 700;

  line-height: 1;

  color: #fff;

  background-color: #fd0002;

  border-radius: 0.5rem;

  display: grid;

  place-content: center;

  width: 3rem;

  height: 3rem;

  padding-bottom: 0.2rem;

}



@media only screen and (max-width: 767px) {

  .faq-item__a p::before {

    top: 1.8rem;

    font-size: 1.6rem;

    width: 2.5rem;

    height: 2.5rem;

    padding-bottom: 0.3rem;

  }

}

.faq-item__a p a {

  color: #007dd7;

  text-decoration: underline;

  text-decoration-thickness: 0.1rem;

  text-underline-offset: 0.2rem;

  -webkit-transition: opacity 0.3s;

  transition: opacity 0.3s;

}



@media only screen and (min-width: 768px) {

  .faq-item__a p a:hover {

    opacity: 0.7;

  }

}

.faq-item.is-show .faq-item__q::before {

  -webkit-transform: translateY(-50%) scale(1, -1);

  transform: translateY(-50%) scale(1, -1);

}



/* --------------------------------

cta

----------------------------------- */

.cta {

  position: fixed;

  bottom: 0;

  left: 0;

  width: 100%;

  padding: 0.6rem;

  z-index: 100;

  background-color: #D9D9D9;

}



.cta__head {

  max-width: 98.4rem;

  width: 100%;

  margin-inline: auto;

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  gap: 2.4rem;

}



@media only screen and (max-width: 767px) {

  .cta__head {

    gap: 0.8rem;

  }

}

.cta__btn {

  border-radius: 5rem;

  -webkit-box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

  box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

}



.cta__tel {

  margin-top: 0.8rem;

  -webkit-box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

  box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.3);

}



.cta__tel a {

  height: 4rem;

  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: 1.2rem;

  background-color: #fff;

  padding-right: 4.3rem;

  position: relative;

}



.cta__tel a::before {

  position: absolute;

  content: "";

  top: 50%;

  right: 1rem;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  width: 1.3rem;

  height: 1.3rem;

  border-radius: 50%;

  -webkit-transition: background-color 0.3s;

  transition: background-color 0.3s;

  background-color: #fff;

  border: 0.1rem solid #fd0002;

}



.cta__tel a::after {

  position: absolute;

  content: "";

  top: 49%;

  right: 1.45rem;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  width: 0.33rem;

  height: 0.58rem;

  background-color: #fd0002;

  -webkit-mask-image: url(../../old/img/common/arrow-right.svg);

  mask-image: url(../../old/img/common/arrow-right.svg);

  -webkit-mask-repeat: no-repeat;

  mask-repeat: no-repeat;

  -webkit-mask-position: center center;

  mask-position: center center;

  -webkit-mask-size: 100%;

  mask-size: 100%;

  -webkit-transition: background-color 0.3s;

  transition: background-color 0.3s;

}



.cta__tel a span {

  display: block;

  position: relative;

}



.cta__tel a span:nth-child(1) {

  color: #fd0002;

  font-size: 1.8rem;

  font-weight: 700;

  line-height: 1.5;

  letter-spacing: -0.02em;

  padding-left: 5.6rem;

}



.cta__tel a span:nth-child(1)::before {

  position: absolute;

  content: "";

  top: 56%;

  left: 0;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  width: 2.2rem;

  height: 2.2rem;

  background-image: url(../../old/img/common/icon_tel.svg);

  background-repeat: no-repeat;

  background-position: center center;

  background-size: 100%;

}



.cta__tel a span:nth-child(2) {

  font-size: 0.8rem;

  font-weight: 500;

  line-height: 1.5;

}



/* --------------------------------

utility

----------------------------------- */

@media only screen and (max-width: 767px) {

  .u-pc {

    display: none !important;

  }

}

@media only screen and (min-width: 768px) {

  .u-sp {

    display: none !important;

  }

}

.u-ib {

  display: inline-block;

}



.u-light-blue-bg {

  background-color: #f0f7fc;

}



.u-blue-bg {

  background-color: #007dd7;

}



.u-orange-bg {

  background-color: #fa5700;

}



.u-light-orange-bg {

  background-color: #ffebe0;

}



.u-green-bg {

  background-color: #04a3b5;

}



.u-navy-bg {

  background-color: #005EAB;

}



.u-light-green-bg {

  background-color: #eef7f7;

}



.u-white-bg {

  background-color: #fff;

}



.u-blue {

  color: #007dd7;

}



.u-orange {

  color: #fa5700;

}



.u-green {

  color: #04a3b5;

}



.u-navy {

  color: #005eab;

}



.u-red {

  color: #fd0002;

}



.u-les-1 {

  letter-spacing: -0.01em !important;

}



.u-mr3 {

  margin-right: 0.3rem;

}



.u-mt14 {

  margin-top: 1.4rem !important;

}



.u-mt16 {

  margin-top: 1.6rem !important;

}



.u-mt18 {

  margin-top: 1.8rem !important;

}



.u-mt20 {

  margin-top: 2rem !important;

}



.u-mt24 {

  margin-top: 2.4rem !important;

}



@media only screen and (max-width: 767px) {

  .u-sp-hight60 {

    height: 6rem;

  }

}


.c-btn--text {
margin-top: 4rem;
margin-inline: auto;
text-align: center;
}

.c-btn--text p {
color: #007DD7;
font-size: 2.4rem;
font-weight: 700;
line-height: 1;
}

.c-btn--text p::after {
content: '';
position: relative;
top: calc(50% - 7px);
text-align: right;
left: 0px;
display: inline-block;
width: 15px;
height: 15px;
margin: 0 5px 0.5px 5px;
border-top: 3px solid #007DD7;
border-right: 3px solid #007DD7;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
}

.c-btn--text p:hover {
opacity: .8;
transition: opacity 1.0s; 
text-decoration: underline #007DD7;
text-underline-offset: 10px;
}

@media only screen and (max-width: 1000px) {
.c-btn--text p::after {
width: 11px;
height: 11px;
border-top: 2.5px solid #007DD7;
border-right: 2.5px solid #007DD7;
}
}

@media only screen and (max-width: 767px) {
.c-btn--text p {
font-size: 1.8rem;
}

.c-btn--text p::after {
width: 11px;
height: 11px;
border-top: 2px solid #007DD7;
border-right: 2px solid #007DD7;
}
}

/*# sourceMappingURL=index.css.map */