@charset "UTF-8";
/* ***************************************************
 PC / SP共通
*************************************************** */
/* ////////////////// タグ初期値 ////////////////// */
html,
body {
  height: 100%;
  margin: 0;
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-family: "HanSansJP", sans-serif;
}

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

body {
  color: #4c4b4b;
}

article,
aside,
details,
figure,
figcaption,
footer,
header,
main,
menu,
nav,
hgroup,
section,
summary {
  display: block;
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: bottom;
}

h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0;
  line-height: 1.5em;
}
h1 b,
h1 strong, h2 b,
h2 strong, h3 b,
h3 strong, h4 b,
h4 strong, h5 b,
h5 strong {
  font-weight: inherit;
}

a {
  color: #4c4b4b;
  text-decoration: none;
}

p {
  margin-top: 0;
  margin-bottom: 1.5em;
}

ul,
ol,
dl {
  margin: 0;
  padding: 0;
}

li, dt, dd {
  margin: 0px;
  padding: 0px;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -moz-box-sizing: content-box;
  height: 0;
}

/* テーブル */
table,
th,
td {
  border-collapse: collapse;
  border: 1px;
}

table {
  width: 100%;
  margin: 0 auto;
  min-height: 0.1%;
  overflow: auto;
}

td,
th {
  padding: 0.5em;
}

th {
  white-space: nowrap;
  font-weight: normal;
}

/* ***************************************************
 SP
*************************************************** */
@media screen and (max-width:999px) {
  .pc {
    display: none !important;
  }
  @font-face {
    font-family: "HanSansJP";
    src: url("../fonts/SourceHanSansJP-Regular.woff2") format("woff2"), url("../fonts/SourceHanSansJP-Regular.woff") format("woff");
    font-weight: 400;
  }
  @font-face {
    font-family: "HanSansJP";
    src: url("../fonts/SourceHanSansJP-Bold.woff2") format("woff2"), url("../fonts/SourceHanSansJP-Bold.woff") format("woff");
    font-weight: 700;
  }
  @font-face {
    font-family: "HanSansJP";
    src: url("../fonts/SourceHanSansJP-Heavy.woff2") format("woff2"), url("../fonts/SourceHanSansJP-Heavy.woff") format("woff");
    font-weight: 700;
  }
  .inview,
  .inview1,
  .inview2,
  .inview3,
  .inview4 {
    opacity: 0;
    -webkit-filter: blur(5px);
            filter: blur(5px);
    -webkit-transform: translate(0, 30px);
            transform: translate(0, 30px);
    -webkit-transition: all 0.75s;
    transition: all 0.75s;
  }
  .inview.is-show,
  .inview1.is-show,
  .inview2.is-show,
  .inview3.is-show,
  .inview4.is-show {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .dots {
    background: top left/1.1em 0.25em repeat-x radial-gradient(circle, #ff4b5a 0.125em, rgba(255, 255, 255, 0) 0.125em);
    padding-top: 0.5em;
    letter-spacing: 0.14em;
  }
  .line,
  .line-vtcl {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding: 0 0 5px;
  }
  .line {
    background-image: url(../images/line01.png);
    background-repeat: repeat-x;
    background-position: left bottom;
  }
  .line-vtcl {
    background-image: url(../images/line02.png);
    background-repeat: repeat-y;
    background-position: left top;
  }
  .title-arch {
    margin-bottom: 15px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: clamp(20px, 5vw, 30px);
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.1em;
  }
  .title-arch span:first-child, .title-arch span:nth-child(6n) {
    color: #ff4b5a;
  }
  .title-arch span:nth-child(2), .title-arch span:nth-child(7n) {
    color: #006eb3;
  }
  .title-arch span:nth-child(3), .title-arch span:nth-child(8n) {
    color: #009f50;
  }
  .title-arch span:nth-child(4), .title-arch span:nth-child(9n) {
    color: #f99628;
  }
  .title-arch span:nth-child(5), .title-arch span:nth-child(10n) {
    color: #00a4db;
  }
  .title-arch span:nth-child(6), .title-arch span:nth-child(11n) {
    color: #f34144;
  }
  .title-arch span:nth-child(7), .title-arch span:nth-child(12n) {
    color: #eb8db1;
  }
  .container {
    width: 999px;
    max-width: 100vw;
    margin: 0 auto;
    letter-spacing: 0.14em;
    overflow: hidden;
  }
  #header {
    display: grid;
    place-items: center;
    width: 100vw;
    height: 60px;
  }
  #header a {
    display: inline-block;
  }
  #header img {
    width: 120px;
  }
  #footer {
    position: relative;
    height: 300px;
    padding-bottom: 30px;
    color: #fff;
    background-color: #406064;
  }
  #footer .footer-nav {
    list-style: none;
    padding: 30px 6vw;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.14em;
    background-color: #f5f8fb;
  }
  #footer .footer-nav li:not(:last-child) {
    margin-bottom: 1em;
  }
  #footer a {
    color: #406064;
  }
  #footer .copyright {
    margin: 2em auto;
    padding: 0 1.5em;
    font-size: 12px;
    text-align: center;
    letter-spacing: 0.1em;
  }
  #footer .footer-btn {
    position: absolute;
    bottom: -100px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 12px;
    height: 48px;
    padding: 0 4vw;
    font-size: clamp(18px, 5vw, 27px);
    z-index: 999;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #footer .footer-btn.fixed {
    position: fixed;
    bottom: 10px;
  }
  #footer .footer-btn.end {
    bottom: 30px;
  }
  #footer .footer-btn .btn,
  #footer .footer-btn .btn-b {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 30px;
    color: #fff;
    font-family: "M PLUS Rounded 1c", sans-serif;
  }
  #footer .footer-btn .btn {
    width: clamp(175px, 46.5vw, 300px);
    font-size: clamp(18px, 5vw, 27px);
  }
  #footer .footer-btn .btn-b {
    width: clamp(150px, 40vw, 250px);
    font-size: clamp(16px, 4vw, 24px);
  }
  @-webkit-keyframes floating-y {
    0% {
      -webkit-transform: translate(-50%, -10%);
              transform: translate(-50%, -10%);
    }
    100% {
      -webkit-transform: translate(-50%, 10%);
              transform: translate(-50%, 10%);
    }
  }
  @keyframes floating-y {
    0% {
      -webkit-transform: translate(-50%, -10%);
              transform: translate(-50%, -10%);
    }
    100% {
      -webkit-transform: translate(-50%, 10%);
              transform: translate(-50%, 10%);
    }
  }
  @-webkit-keyframes floating-ymin {
    0% {
      -webkit-transform: translate(0%, -3%);
              transform: translate(0%, -3%);
    }
    100% {
      -webkit-transform: translate(0%, 3%);
              transform: translate(0%, 3%);
    }
  }
  @keyframes floating-ymin {
    0% {
      -webkit-transform: translate(0%, -3%);
              transform: translate(0%, -3%);
    }
    100% {
      -webkit-transform: translate(0%, 3%);
              transform: translate(0%, 3%);
    }
  }
  @-webkit-keyframes flash {
    0%, 20% {
      left: -100px;
      opacity: 0;
    }
    30% {
      opacity: 0.8;
    }
    95% {
      opacity: 0.6;
    }
    97% {
      opacity: 0.4;
    }
    100% {
      left: 100%;
      width: 100%;
      opacity: 0;
    }
  }
  @keyframes flash {
    0%, 20% {
      left: -100px;
      opacity: 0;
    }
    30% {
      opacity: 0.8;
    }
    95% {
      opacity: 0.6;
    }
    97% {
      opacity: 0.4;
    }
    100% {
      left: 100%;
      width: 100%;
      opacity: 0;
    }
  }
  .btn,
  .btn-b {
    position: relative;
    z-index: 0;
    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;
    width: clamp(130px, 13.33vw, 200px);
    padding: 1.25em 0.92em 1.25em 1em;
    font-size: clamp(11.05px, 1.13vw, 17px);
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.16em;
    white-space: nowrap;
    border-radius: 3em;
    overflow: hidden;
  }
  .btn {
    background: -webkit-gradient(linear, left top, right top, from(rgb(255, 44, 71)), to(rgb(255, 164, 0)));
    background: linear-gradient(90deg, rgb(255, 44, 71) 0%, rgb(255, 164, 0) 100%);
    border: 1px solid #ff6602;
  }
  .btn-b {
    background: #003e98;
    border: 1px solid #00377a;
  }
  .fv {
    position: relative;
    z-index: 1;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 75/143;
    background-image: url(../images/fv__sp.jpg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center top;
  }
  .fv h1 {
    position: absolute;
    top: 38%;
    left: 0;
    display: block;
    width: 100%;
  }
  .fv h1 img {
    width: 100%;
  }
  .fv .fv-btn {
    position: absolute;
    left: 50%;
    bottom: clamp(50px, 13vw, 130px);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 12px;
    width: 96vw;
    margin: 0 auto;
    padding: clamp(10px, 2.6vw, 30px) 10px;
    background-color: #fff;
    border-radius: 17px;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  }
  .fv .fv-btn .btn,
  .fv .fv-btn .btn-b {
    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;
    width: auto;
    height: 60px;
    padding: 0 1.75em;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 800;
    color: #fff;
  }
  .fv .fv-btn .btn {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 250px;
    font-size: clamp(18px, 5vw, 27px);
  }
  .fv .fv-btn .btn-b {
    font-size: clamp(16px, 4vw, 24px);
  }
  .section-about {
    position: relative;
    z-index: 2;
  }
  .section-about hgroup {
    position: relative;
    text-align: center;
  }
  .section-about hgroup h2 {
    margin: 2em auto 70px;
    font-size: clamp(21px, 6vw, 31.5px);
    font-weight: 800;
  }
  .section-about .about-top {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 6vw 50px;
  }
  .section-about .about-top .img {
    margin-bottom: 40px;
    text-align: center;
  }
  .section-about .about-top .text .subtitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 20px;
    font-size: clamp(14px, 4vw, 21px);
    font-weight: 800;
    line-height: 1.75em;
  }
  .section-about .about-top .text .subtitle img {
    width: clamp(68px, 18vw, 137px);
    margin-right: 15px;
  }
  .section-about .about-top .text > p {
    margin-bottom: 40px;
    font-size: clamp(14px, 4vw, 21px);
    line-height: 2em;
  }
  .section-about .about-bottom {
    position: relative;
    z-index: 3;
    padding: clamp(100px, 26vw, 160px) 6vw 160px;
    background-color: #f5f8fb;
  }
  .section-about .about-bottom .about-after {
    position: absolute;
    top: -2px;
    left: 0;
    z-index: -1;
    width: 100vw;
    height: 40px;
    -o-object-fit: fill;
       object-fit: fill;
  }
  .section-about .about-bottom .about-pzl {
    position: absolute;
    top: -30px;
    left: 50%;
    width: clamp(86px, 23vw, 127px);
    height: 127px;
    animation: floating-y 1.6s ease-in-out infinite alternate-reverse;
  }
  .section-about .about-bottom h2 {
    margin: 0 auto 1.5em;
    font-size: clamp(21px, 6vw, 31.5px);
    font-weight: 800;
    text-align: center;
  }
  .section-about .about-bottom .imgs {
    width: 600px;
    max-width: 100%;
    margin: 0 auto 2em;
    text-align: center;
  }
  .section-about .about-bottom .imgs img:first-child {
    margin-bottom: 30px;
  }
  .section-about .about-bottom .text {
    margin: 0 auto;
    font-size: clamp(14px, 4vw, 21px);
    line-height: 2em;
  }
  #swiperAbout {
    width: 100%;
    height: 100px;
    padding: 10px 0;
    overflow: hidden;
  }
  #swiperAbout .swiper-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition-timing-function: linear;
            transition-timing-function: linear;
  }
  #swiperAbout .swiper-slide {
    width: auto;
  }
  #swiperAbout .swiper-slide img {
    display: inline-block;
    width: auto;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    margin-right: 12px;
    background-color: #fff;
    -webkit-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
            box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
  }
  .noshadow{
  background-color: transparent!important;
  -webkit-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.0) !important;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.0)!important;
  }
  
  
  .section-worries {
    position: relative;
    z-index: 3;
    padding: 0 30px 100px;
    background-image: url(../images/worries-line__sp.png);
    background-repeat: no-repeat;
    background-position: bottom 230px center;
  }
  .section-worries::before {
    content: "";
    position: absolute;
    top: -75px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    display: block;
    width: 82vw;
    height: 80px;
    background-image: url(../images/worries-before.svg);
    background-repeat: no-repeat;
    background-size: 100%;
  }
  .section-worries hgroup {
    padding-top: 40px;
  }
  .section-worries hgroup .title-arch {
    position: absolute;
    top: -50px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .section-worries hgroup h2 {
    font-size: clamp(21px, 6vw, 31.5px);
    font-weight: 800;
  }
  .section-worries hgroup h2 span {
    margin-bottom: 10px;
  }
  .section-worries .case-wraper {
    position: relative;
    margin: 0 auto;
  }
  .section-worries .case-wraper .case {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    padding-bottom: 40px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  .section-worries .case-wraper .case > div {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .section-worries .case-wraper .case > div b {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 14px;
    font-weight: 800;
    color: #ff7d00;
  }
  .section-worries .case-wraper .case > div p {
    margin: 0 auto;
    font-size: 16px;
    font-weight: 800;
  }
  .section-worries .case-wraper .case.case1 {
    padding-top: 140px;
    background-image: url(../images/worries-img01__sp.png);
    background-size: 273px auto;
  }
  .section-worries .case-wraper .case.case2 {
    padding-top: 140px;
    background-image: url(../images/worries-img02__sp.png);
    background-size: 290px auto;
  }
  .section-worries .case-wraper .case.case2 > div {
    text-align: right;
    margin: 0 0 0 auto;
  }
  .section-worries .case-wraper .case.case3 {
    padding-top: 140px;
    background-image: url(../images/worries-img03__sp.png);
    background-size: 268px auto;
  }
  .section-worries .case-last {
    position: relative;
    width: 330px;
    height: 253px;
    margin: 60px auto 0;
    padding: 70px 30px 0;
    background-image: url(../images/worries-img04.png);
    background-repeat: no-repeat;
    background-size: 330px auto;
  }
  .section-worries .case-last .case-duck {
    position: absolute;
    top: -70px;
    left: 160px;
    width: 153px;
    animation: floating-y 1.6s ease-in-out infinite alternate-reverse;
  }
  .section-worries .case-last p {
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    font-size: 15px;
    font-weight: 800;
    line-height: 1.75em;
  }
  .section-features {
    position: relative;
    margin-top: 50px;
    padding: 0;
    background-color: #fff3e8;
  }
  .section-features::before {
    content: "";
    position: absolute;
    top: -75px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    display: block;
    width: 82vw;
    height: 80px;
    background-image: url(../images/features-before__sp.svg);
    background-repeat: no-repeat;
    background-size: 100%;
  }
  .section-features .feature-car {
    position: absolute;
    top: -75px;
    left: clamp(40px, 12vw, 180px);
    width: 62px;
    height: 53px;
  }
  .section-features hgroup .title-arch {
    position: absolute;
    top: -50px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .section-features hgroup .before3 {
    position: absolute;
    top: -65px;
    left: 75%;
    width: 80px;
    height: 80px;
  }
  .section-features hgroup h2 {
    width: 88%;
    margin: 0 auto 70px;
    padding-top: 50px;
    text-align: center;
  }
  .features-top {
    position: relative;
    z-index: 2;
    padding: 0 30px 20px;
  }
  .features-top::after {
    content: "";
    position: absolute;
    bottom: -25px;
    left: 0;
    right: 0;
    width: 100%;
    height: 30px;
    background-image: url(../images/features-after.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .features-top .feature-ufo {
    position: absolute;
    bottom: -45px;
    left: 50%;
    z-index: 3;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 57px;
    height: auto;
    animation: floating-y 1.6s ease-in-out infinite alternate-reverse;
  }
  .features-top .feature {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 600px;
    max-width: 100%;
    margin: 0 auto;
  }
  .features-top .feature:not(:last-child) {
    margin-bottom: 60px;
  }
  .features-top .feature .img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: clamp(200px, 53vw, 300px);
  }
  .features-top .feature .text {
    display: contents;
  }
  .features-top .feature .text h3 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-right: 30px;
    font-size: clamp(18px, 5vw, 27px);
    font-weight: 800;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
  .features-top .feature .text h3 .line {
    padding: 0 5px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    background-image: url(../images/line02.png);
    background-repeat: repeat-y;
    background-position: left top;
  }
  .features-top .feature .text h3 .line:nth-child(2) {
    margin-top: 1.2em;
  }
  .features-top .feature .text p {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 30px;
    font-size: clamp(14px, 4vw, 21px);
    line-height: 2em;
  }
  .features-top .feature .text p:last-child {
    margin-bottom: 0;
  }
  #swiperFeature {
    padding-left: 10px;
  }
  #swiperFeature .swiper-wrapper .swiper-slide {
    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;
  }
  #swiperFeature .swiper-wrapper .swiper-slide .swiper-slide-shadow {
    background: none;
    -webkit-filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.8));
            filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.8));
  }
  .features-bottom {
    position: relative;
    padding: 100px 0 0;
    background-color: #fff;
    background-image: url(../images/features-bg.svg);
  }
  .features-bottom h2 {
    margin-bottom: 40px;
    font-size: clamp(21px, 6vw, 31.5px);
    font-weight: 800;
    text-align: center;
  }
  .features-bottom .col3 figure {
    margin-bottom: 40px;
    text-align: center;
  }
  .features-bottom .col3 figure figcaption {
    margin-top: 1em;
    font-size: clamp(16px, 4vw, 24px);
    font-weight: 800;
    line-height: 1.75em;
  }
  .features-bottom .features-voice {
    width: 600px;
    max-width: 100%;
    margin: 0 auto;
  }
  .features-bottom .features-voice h2 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 80px auto 30px;
    padding-left: 100px;
    font-size: clamp(19px, 5vw, 28.5px);
    background-image: url(../images/features-duck.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 80px auto;
  }
  .features-bottom .features-voice h2 .line {
    margin: 0;
  }
  .features-bottom .features-voice h2 .line:nth-child(2) {
    margin-top: 8px;
  }
  .features-bottom .features-voice #featuresVoice {
    position: relative;
    width: 510px;
    max-width: 100%;
    overflow: hidden;
    margin: 0 auto;
    padding: 50px 50px 0;
  }
  .features-bottom .features-voice #featuresVoice .swiper-slide {
    position: relative;
    width: 410px;
    max-width: 100%;
  }
  .features-bottom .features-voice #featuresVoice .swiper-slide p {
    margin-bottom: 0;
  }
  .features-bottom .features-voice #featuresVoice .swiper-slide .voice-title {
    margin-bottom: 12px;
    margin-top: 10px;
    font-size: clamp(16px, 4vw, 24px);
    font-weight: 800;
    line-height: 1.75em;
  }
  .features-bottom .features-voice #featuresVoice .swiper-slide .voice-name {
    font-size: clamp(14px, 4vw, 21px);
    font-weight: 400;
  }
  .features-bottom .features-voice #featuresVoice .navVoicePrev,
  .features-bottom .features-voice #featuresVoice .navVoiceNext {
    position: absolute;
    top: 180px;
    z-index: 10;
    display: block;
    width: 23px;
    height: 23px;
    background-repeat: no-repeat;
  }
  .features-bottom .features-voice #featuresVoice .navVoicePrev {
    left: 4vw;
    background-image: url(../images/slider-prev.svg);
  }
  .features-bottom .features-voice #featuresVoice .navVoiceNext {
    right: 4vw;
    background-image: url(../images/slider-next.svg);
  }
  .features-bottom .features-voice #featuresVoice .memo {
    margin-top: 30px;
    text-align: right;
    font-size: clamp(11px, 3vw, 16.5px);
  }
  .section-reason {
    position: relative;
    z-index: 1;
    margin-top: 120px;
    padding: 0 30px 120px;
    background-color: #f7f5f5;
  }
  .section-reason::before {
    content: "";
    position: absolute;
    top: -75px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    display: block;
    width: 82vw;
    height: 80px;
    background-image: url(../images/reason-before__sp.svg);
    background-repeat: no-repeat;
    background-size: 100%;
  }
  .section-reason hgroup .title-arch {
    position: absolute;
    top: -50px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .section-reason .reason-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 0 auto 80px;
    padding-top: 50px;
  }
  .section-reason .reason-title h2 {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    font-size: clamp(21px, 6vw, 31.5px);
    font-weight: 900;
  }
  .section-reason .reason-title h2 span {
    display: block;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding: 0 10px;
    border-right: 1px dashed #4c4b4b;
  }
  .section-reason .reason-title h2 span:nth-child(2) {
    margin-top: 1.1em;
  }
  .section-reason .reason-title h2 span:nth-child(3) {
    margin-top: 2.1em;
  }
  .section-reason .reason-title img {
    width: clamp(137px, 36.5vw, 170px);
    margin-left: clamp(20px, 5.3vw, 40px);
  }
  .section-reason .reason {
    width: 600px;
    max-width: 100%;
    margin: 0 auto 70px;
  }
  .section-reason .reason:last-child {
    margin-bottom: 0;
  }
  .section-reason .reason img {
    width: 550px;
    margin-bottom: 20px;
  }
  .section-reason .reason .text h3 {
    margin-bottom: 0.75em;
    font-size: clamp(18px, 5vw, 27px);
    font-weight: 800;
  }
  .section-reason .reason .text p {
    font-size: clamp(14px, 4vw, 21px);
    line-height: 2em;
    color: #406064;
  }
  .section-print .inner {
    position: relative;
    z-index: 3;
    max-width: 100%;
    margin: 0 auto;
    padding: 50px 0 100px;
    color: #406064;
    background-color: #fff;
  }
  .section-print .print-title {
    position: absolute;
    top: calc(clamp(70px, 18vw, 115px) * -1);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: clamp(301px, 82vw, 500px);
  }
  .section-print .print-title img {
    width: 100%;
  }
  
  .mgb-30{
    margin-bottom: 30px;
  }
  
  .section-print .col2 {
    margin-top: 40px;
  }
  .section-print .col2 img {
    padding: 0px 6vw 0px 6vw;
    margin-bottom: 30px;
  }
  .section-print .col2 .text .price,
  .section-print .col2 .text .desc {
    padding: 0 6vw;
  }
  .section-print .col2 .text .price {
    font-weight: 800;
  }
  .section-print .col2 .text .price small {
    font-size: clamp(15px, 4vw, 22.5px);
  }
  .section-print .col2 .text .price b {
    font-size: clamp(29px, 8vw, 43.5px);
    font-weight: inherit;
    letter-spacing: 0.04em;
  }
  .section-print .col2 .text .desc {
    font-size: clamp(14px, 4vw, 21px);
    line-height: 1.75em;
  }
  .section-print .col2 .text .btn-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 12px;
    margin-top: 40px;
    padding: 30px 6vw;
    background-color: #f0f5fa;
  }
  .section-print .col2 .text .btn-area .btn,
  .section-print .col2 .text .btn-area .btn-b {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: auto;
    height: 60px;
    color: #fff;
    font-family: "M PLUS Rounded 1c", sans-serif;
  }
  .section-print .col2 .text .btn-area .btn {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 250px;
    font-size: clamp(18px, 5vw, 27px);
  }
  .section-print .col2 .text .btn-area .btn-b {
    font-size: clamp(16px, 4vw, 24px);
  }
  .section-print .print-set {
    margin-bottom: 70px;
  }
  .section-print .print-set h3 {
    margin-bottom: 0;
    padding: 1em;
    font-size: clamp(18px, 5vw, 27px);
    font-weight: 800;
    color: #406064;
    background-color: #e6edf7;
  }
  .section-print .print-set .print {
    border-top: 1px solid #dbdbdb;
  }
  .section-print .print-set .print-set-title {
    position: relative;
    font-size: clamp(16px, 4vw, 24px);
    font-weight: 900;
    padding: 1em 35px 1em 1em;
    background-color: #f5f8fb;
    letter-spacing: 0.16em;
  }
  .section-print .print-set .print-set-title small {
    font-size: clamp(12px, 3vw, 18px);
    line-height: 1.5em;
    letter-spacing: 0.1em;
  }
  .section-print .print-set .print-set-title.active {
    background-color: #fff;
  }
  .section-print .print-set .print-set-title::after {
    content: "";
    position: absolute;
    top: 1.25em;
    right: 15px;
    display: block;
    width: 12px;
    height: 12px;
    border-right: 2px solid #b8b8b8;
    border-bottom: 2px solid #b8b8b8;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .section-print .print-set .print-set-content {
    display: none;
    padding: 30px 6vw;
  }
  .section-print .print-set .print-set-content.active {
    display: block;
  }
  
  
  .section-print .print-set .print-set-content ul li {
    list-style: none;
    padding-left: 1.5em;
    background-image: url(../images/ico-list.svg);
    background-repeat: no-repeat;
    background-size: 1em auto;
    background-position: left top 0.5em;
  }
  .section-print .print-set .set-col2 {
    width: 600px;
    max-width: 100%;
    margin: 0 auto;
  }
  .section-print .print-set .set-col2:not(:last-child) {
    margin-bottom: 30px;
  }
  .section-print .print-set .set-col2 .img {
    width: 390px;
    max-width: 100%;
    margin-bottom: 30px;
  }
  .section-print .print-set .set-col2 .text {
    font-size: clamp(16px, 4vw, 24px);
    line-height: 1.75em;
  }
  .section-print .print-set .set-col2 .text strong {
    font-size: clamp(16px, 4vw, 24px);
    font-weight: 700;
  }
  .section-print .print-set .set-col2 .text small {
    font-size: clamp(14px, 4vw, 21px);
  }
  .section-print .print-summary {
    padding: 0 6vw 30px;
  }
  .section-print .print-summary h3 {
    margin-bottom: 0.75em;
    font-size: clamp(16px, 4vw, 24px);
    font-weight: 800;
  }
  .section-print .print-summary ul {
    font-size: clamp(14px, 4vw, 21px);
    line-height: 1.75em;
  }
  .section-print .print-summary ul li {
    list-style: none;
    padding-left: 1.5em;
    background-image: url(../images/ico-list.svg);
    background-repeat: no-repeat;
    background-size: 1em auto;
    background-position: left top 0.5em;
  }
  .print-cta {
    position: relative;
    z-index: 4;
    padding: 60px 30px 145px;
    background-color: #fff3e8;
  }
  .print-cta::before {
    content: "";
    position: absolute;
    top: -28px;
    left: 0;
    right: 0;
    z-index: -1;
    width: 100%;
    height: 30px;
    background-image: url(../images/print-after.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .print-cta .print-cta-title {
    margin-bottom: 30px;
    text-align: center;
  }
  .print-cta .print-cta-title img {
    position: relative;
    animation: floating-ymin 2s ease-in-out infinite alternate-reverse;
  }
  .print-cta > p {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: clamp(16px, 4vw, 24px);
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 2em;
  }
  .print-cta .btn-area {
    margin-top: 50px;
    text-align: center;
  }
  .print-cta .btn-area > p {
    margin-bottom: 0.75em;
    font-size: clamp(14px, 4vw, 21px);
    font-weight: 700;
    color: #406064;
  }
  .print-cta .btn-area > p b {
    font-weight: inherit;
    color: #ff7d00;
  }
  .print-cta .btn-area .btn-b {
    width: clamp(255px, 68vw, 680px);
    margin: 0 auto;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: clamp(16px, 4vw, 24px);
  }
  .section-faq {
    position: relative;
    z-index: 5;
    width: 600px;
    max-width: 100%;
    margin: 0 auto;
    padding: 70px 6vw 30px;
  }
  .section-faq::before {
    content: "";
    position: absolute;
    top: -75px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    display: block;
    width: 82vw;
    height: 80px;
    background-image: url(../images/faq-before__sp.svg);
    background-repeat: no-repeat;
    background-size: 100%;
  }
  .section-faq .title-arch {
    position: absolute;
    top: -40px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    font-size: clamp(24px, 6vw, 36px);
  }
  .section-faq .faq:not(:last-child) {
    margin-bottom: 40px;
  }
  .section-faq .faq-title,
  .section-faq .faq-answer {
    position: relative;
    padding-left: 2em;
    font-size: clamp(16px, 4vw, 24px);
  }
  .section-faq .faq-title::before,
  .section-faq .faq-answer::before {
    position: absolute;
    top: 0;
    left: 0;
    font-size: clamp(18px, 5vw, 27px);
    font-weight: 800;
    line-height: 1em;
  }
  .section-faq .faq-title {
    margin-bottom: 30px;
    padding-right: 30px;
    font-weight: 800;
    line-height: 1.65em;
  }
  .section-faq .faq-title::before {
    content: "Q.";
    color: #ff4b5a;
  }
  .section-faq .faq-title.active i::after {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  .section-faq .faq-title i {
    position: absolute;
    top: 0.25em;
    right: 0;
    display: block;
    width: 22px;
    height: 22px;
    background-color: #406064;
    border-radius: 50%;
  }
  .section-faq .faq-title i::before, .section-faq .faq-title i::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    left: calc(50% - 5px);
    display: block;
    width: 9px;
    height: 1px;
    background-color: #fff;
  }
  .section-faq .faq-title i::after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .section-faq .faq-answer {
    display: none;
    color: #406064;
    line-height: 1.85em;
  }
  .section-faq .faq-answer::before {
    content: "A.";
    top: 5px;
    color: #ffbd7f;
  }
  .section-faq .faq-answer p:last-child {
    margin-bottom: 0;
  }
}
/* ***************************************************
 PC
*************************************************** */
@media all and (min-width:1000px) {
  .sp {
    display: none !important;
  }
  @font-face {
    font-family: "HanSansJP";
    src: url("../fonts/SourceHanSansJP-Regular.woff2") format("woff2"), url("../fonts/SourceHanSansJP-Regular.woff") format("woff");
    font-weight: 400;
  }
  @font-face {
    font-family: "HanSansJP";
    src: url("../fonts/SourceHanSansJP-Bold.woff2") format("woff2"), url("../fonts/SourceHanSansJP-Bold.woff") format("woff");
    font-weight: 700;
  }
  @font-face {
    font-family: "HanSansJP";
    src: url("../fonts/SourceHanSansJP-Heavy.woff2") format("woff2"), url("../fonts/SourceHanSansJP-Heavy.woff") format("woff");
    font-weight: 700;
  }
  .inview,
  .inview1,
  .inview2,
  .inview3,
  .inview4 {
    opacity: 0;
    -webkit-filter: blur(5px);
            filter: blur(5px);
    -webkit-transform: translate(0, 30px);
            transform: translate(0, 30px);
    -webkit-transition: all 0.75s;
    transition: all 0.75s;
  }
  .inview.is-show,
  .inview1.is-show,
  .inview2.is-show,
  .inview3.is-show,
  .inview4.is-show {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .dots {
    background: top left/1.1em 0.25em repeat-x radial-gradient(circle, #ff4b5a 0.125em, rgba(255, 255, 255, 0) 0.125em);
    padding-top: 0.5em;
    letter-spacing: 0.14em;
  }
  .line,
  .line-vtcl {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding: 0 0 5px;
  }
  .line {
    background-image: url(../images/line01.png);
    background-repeat: repeat-x;
    background-position: left bottom;
  }
  .line-vtcl {
    background-image: url(../images/line02.png);
    background-repeat: repeat-x;
    background-position: left top;
  }
  .title-arch {
    margin-bottom: 15px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 36px;
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.1em;
  }
  .title-arch span:first-child, .title-arch span:nth-child(6n) {
    color: #f34144;
  }
  .title-arch span:nth-child(2), .title-arch span:nth-child(7n) {
    color: #006eb3;
  }
  .title-arch span:nth-child(3), .title-arch span:nth-child(8n) {
    color: #009f50;
  }
  .title-arch span:nth-child(4), .title-arch span:nth-child(9n) {
    color: #f99628;
  }
  .title-arch span:nth-child(5), .title-arch span:nth-child(10n) {
    color: #00a4db;
  }
  .title-arch span:nth-child(6), .title-arch span:nth-child(11n) {
    color: #f34144;
  }
  .title-arch span:nth-child(7), .title-arch span:nth-child(12n) {
    color: #eb8db1;
  }
  .container {
    width: 100vw;
    min-width: 1000px;
    margin: 0 auto;
    letter-spacing: 0.14em;
  }
  #header {
    display: grid;
    place-items: center;
    width: 100vw;
    height: 80px;
  }
  #header a {
    display: inline-block;
  }
  #header img {
    width: 140px;
  }
  #footer {
    position: relative;
    height: 510px;
    padding-bottom: 120px;
    color: #fff;
    background-color: #406064;
  }
  #footer .footer-nav {
    list-style: none;
    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: 2.5em;
    height: 130px;
    margin-bottom: 2em;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.14em;
    background-color: #f5f8fb;
  }
  #footer a {
    color: #4c4b4b;
  }
  #footer .copyright {
    margin: 0 auto 100px;
    padding: 0 1.5em;
    font-size: 18px;
    text-align: center;
    letter-spacing: 0.1em;
  }
  #footer .footer-btn {
    position: absolute;
    bottom: -100px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 25px;
    z-index: 999;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #footer .footer-btn.fixed {
    position: fixed;
    bottom: 20px;
  }
  #footer .footer-btn.end {
    bottom: 120px;
  }
  #footer .footer-btn .btn,
  #footer .footer-btn .btn-b {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 98px;
    padding: 0;
    color: #fff;
    font-family: "M PLUS Rounded 1c", sans-serif;
  }
  #footer .footer-btn .btn {
    width: 360px;
    font-size: 37px;
  }
  #footer .footer-btn .btn-b {
    width: 310px;
    font-size: 32px;
  }
  @-webkit-keyframes floating-y {
    0% {
      -webkit-transform: translate(-50%, -10%);
              transform: translate(-50%, -10%);
    }
    100% {
      -webkit-transform: translate(-50%, 10%);
              transform: translate(-50%, 10%);
    }
  }
  @keyframes floating-y {
    0% {
      -webkit-transform: translate(-50%, -10%);
              transform: translate(-50%, -10%);
    }
    100% {
      -webkit-transform: translate(-50%, 10%);
              transform: translate(-50%, 10%);
    }
  }
  @-webkit-keyframes floating-ymin {
    0% {
      -webkit-transform: translate(0%, -3%);
              transform: translate(0%, -3%);
    }
    100% {
      -webkit-transform: translate(0%, 3%);
              transform: translate(0%, 3%);
    }
  }
  @keyframes floating-ymin {
    0% {
      -webkit-transform: translate(0%, -3%);
              transform: translate(0%, -3%);
    }
    100% {
      -webkit-transform: translate(0%, 3%);
              transform: translate(0%, 3%);
    }
  }
  @-webkit-keyframes flash {
    0%, 20% {
      left: -100px;
      opacity: 0;
    }
    30% {
      opacity: 0.8;
    }
    95% {
      opacity: 0.6;
    }
    97% {
      opacity: 0.4;
    }
    100% {
      left: 100%;
      width: 100%;
      opacity: 0;
    }
  }
  @keyframes flash {
    0%, 20% {
      left: -100px;
      opacity: 0;
    }
    30% {
      opacity: 0.8;
    }
    95% {
      opacity: 0.6;
    }
    97% {
      opacity: 0.4;
    }
    100% {
      left: 100%;
      width: 100%;
      opacity: 0;
    }
  }
  .btn,
  .btn-b {
    position: relative;
    z-index: 0;
    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;
    width: clamp(130px, 13.33vw, 200px);
    padding: 1.25em 0.92em 1.25em 1em;
    font-size: clamp(11.05px, 1.13vw, 17px);
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.16em;
    white-space: nowrap;
    border-radius: 3em;
    overflow: hidden;
  }
  .btn:hover::before,
  .btn-b:hover::before {
    -webkit-animation: 0.3s flash linear;
            animation: 0.3s flash linear;
  }
  .btn::before,
  .btn-b::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: -100px;
    width: 20px;
    height: 100%;
    -webkit-clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
            clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
    background: linear-gradient(135deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  }
  .btn {
    background: -webkit-gradient(linear, left top, right top, from(rgb(255, 44, 71)), to(rgb(255, 164, 0)));
    background: linear-gradient(90deg, rgb(255, 44, 71) 0%, rgb(255, 164, 0) 100%);
    border: 1px solid #ff6602;
  }
  .btn-b {
    background: #003e98;
    border: 1px solid #00377a;
  }
  .fv {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 990px;
    background-image: url(../images/fv.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }
  .fv h1 {
    position: absolute;
    top: 40%;
    right: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: block;
    width: 640px;
    max-width: 45.5%;
  }
  .fv h1 img {
    width: 100%;
  }
  .fv::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 227px;
    -webkit-mask-image: url(../images/about-before.svg);
            mask-image: url(../images/about-before.svg);
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    -webkit-mask-position: top center;
            mask-position: top center;
    background-image: url(../images/about-bg.svg);
    background-repeat: repeat-x;
    background-size: 1400px auto;
    background-position: bottom center;
    background-color: #fff;
  }
  .section-about {
    position: relative;
    z-index: 2;
    background-image: url(../images/about-bg.svg);
    background-size: 1400px auto;
    background-position: top center;
  }
  .section-about hgroup {
    position: relative;
    margin-top: -40px;
    text-align: center;
  }
  .section-about hgroup h2 {
    margin: 80px auto 70px;
    font-size: 36px;
    font-weight: 800;
  }
  .section-about .about-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 1400px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 30px 180px;
  }
  .section-about .about-top .img {
    width: 655px;
    max-width: 46%;
  }
  .section-about .about-top .text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-left: 70px;
  }
  .section-about .about-top .text .subtitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 20px;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.75em;
  }
  .section-about .about-top .text .subtitle img {
    width: 137px;
    margin-right: 20px;
  }
  .section-about .about-top .text > p {
    margin-bottom: 40px;
    font-size: 24px;
    line-height: 2em;
  }
  .section-about .about-bottom {
    position: relative;
    z-index: 3;
    margin-top: 160px;
    padding: 30px 30px 100px;
    background-color: #f5f8fb;
  }
  .section-about .about-bottom .about-after {
    position: absolute;
    top: -150px;
    left: 0;
    z-index: -1;
    width: 100vw;
    height: 175px;
    -o-object-fit: fill;
       object-fit: fill;
  }
  .section-about .about-bottom .about-pzl {
    position: absolute;
    top: -120px;
    left: 24%;
    width: 167px;
    height: 127px;
    animation: floating-y 1.6s ease-in-out infinite alternate-reverse;
  }
  .section-about .about-bottom h2 {
    margin: 60px auto 70px;
    font-size: 36px;
    font-weight: 800;
    text-align: center;
  }
  .section-about .about-bottom .imgs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 1100px;
    max-width: 100%;
    margin: 0 auto 90px;
  }
  .section-about .about-bottom .imgs img {
    position: relative;
  }
  .section-about .about-bottom .imgs img:first-child {
    width: 700px;
    max-width: 63%;
  }
  .section-about .about-bottom .imgs img:nth-child(2) {
    width: 463px;
    max-width: 42%;
    margin-left: -5.7%;
  }
  .section-about .about-bottom .text {
    width: 680px;
    margin: 0 auto;
    font-size: 24px;
  }
  #swiperAbout {
    width: 100%;
    height: 166px;
    padding: 10px 0;
    overflow: hidden;
  }
  #swiperAbout .swiper-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition-timing-function: linear;
            transition-timing-function: linear;
  }
  #swiperAbout .swiper-slide {
    width: auto;
  }
  #swiperAbout .swiper-slide img {
    display: inline-block;
    width: auto;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    margin-right: 24px;
    background-color: #fff;
    -webkit-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
            box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
  }
  
  .noshadow{
  background-color: transparent!important;
  -webkit-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.0) !important;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.0)!important;
  }
  
  .section-worries {
    padding: 100px 30px;
  }
  .section-worries hgroup {
    margin-bottom: 60px;
  }
  .section-worries hgroup .title-arch {
    margin-bottom: 40px;
  }
  .section-worries hgroup h2 {
    font-size: 36px;
    font-weight: 800;
  }
  .section-worries hgroup h2 span {
    margin-bottom: 10px;
  }
  .section-worries .case-wraper {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 1400px;
    max-width: 100%;
    margin: 0 auto;
    padding-top: 250px;
  }
  .section-worries .case-wraper .case {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    width: 35%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  .section-worries .case-wraper .case > div {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
  .section-worries .case-wraper .case > div b {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: clamp(10.4px, 1.07vw, 16px);
    font-weight: 800;
    color: #ff7d00;
  }
  .section-worries .case-wraper .case > div p {
    margin: 0 auto;
    font-size: clamp(20.45px, 1.8vw, 30px);
    font-weight: 800;
  }
  .section-worries .case-wraper .case.case1 {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
	width: 570px;
    max-width: 40%;
    aspect-ratio: 19/13;
    padding-bottom: 45px;
    background-image: url(../images/worries-img01.png);
  }
  .section-worries .case-wraper .case.case2 {
    width: 524px;
    max-width: 37%;
    aspect-ratio: 105/83;
    margin-top: 90px;
    padding-bottom: 55px;
    background-image: url(../images/worries-img02.png);
  }
  .section-worries .case-wraper .case.case3 {
    width: 540px;
    max-width: 38.5%;
    aspect-ratio: 108/97;
    margin-top: 50px;
    padding-bottom: 60px;
    background-image: url(../images/worries-img03.png);
  }
  .section-worries .case-last {
    position: relative;
    width: 667px;
    max-width: 47.5%;
    aspect-ratio: 67/51;
    margin: 60px auto 0;
    padding: 145px 0 0;
    background-image: url(../images/worries-img04.png);
    background-repeat: no-repeat;
    background-size: contain;
  }
  .section-worries .case-last .case-duck {
    position: absolute;
    top: -120px;
    left: 50%;
    width: 300px;
    max-width: 45%;
    animation: floating-y 1.6s ease-in-out infinite alternate-reverse;
  }
  .section-worries .case-last p {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 68%;
    margin: 0;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    font-size: clamp(19.5px, 2vw, 30px);
    font-weight: 800;
    line-height: 1.75em;
  }
  .section-features {
    position: relative;
    margin-top: 150px;
    padding: 50px 0 0;
    background-color: #fff3e8;
  }
  .section-features::before {
    content: "";
    position: absolute;
    top: -125px;
    left: 0;
    right: 0;
    width: 100%;
    height: 127px;
    background-image: url(../images/features-before.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .section-features hgroup h2 {
    width: 564px;
  }
  .section-features .feature-car {
    position: absolute;
    top: -170px;
    left: clamp(110px, 14vw, 480px);
    width: 133px;
    height: 117px;
  }
  .section-features hgroup h2 {
    margin: 50px auto 100px;
    text-align: center;
  }
  .features-top {
    position: relative;
    z-index: 2;
    padding: 0 30px 20px 50px;
  }
  .features-top::after {
    content: "";
    position: absolute;
    bottom: -125px;
    left: 0;
    right: 0;
    width: 100%;
    height: 127px;
    background-image: url(../images/features-after.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .features-top .feature-ufo {
    position: absolute;
    bottom: -90px;
    left: 50%;
    z-index: 3;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 150px;
    height: auto;
    animation: floating-y 1.6s ease-in-out infinite alternate-reverse;
  }
  .features-top .feature {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
  }
  .features-top .feature:not(:last-child) {
    margin-bottom: 150px;
  }
  .features-top .feature .img {
    width: 380px;
    margin-right: clamp(70px, 7.2vw, 100px);
  }
  .features-top .feature .text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .features-top .feature .text h3 {
    margin-bottom: 1.25em;
    font-size: 36px;
    font-weight: 800;
  }
  .features-top .feature .text h3 .line {
    margin: 0 0 10px;
  }
  .features-top .feature .text p {
    font-size: 24px;
    line-height: 2em;
  }
  .features-top .feature .text p:last-child {
    margin-bottom: 0;
  }
  #swiperFeature .swiper-wrapper .swiper-slide {
    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;
  }
  #swiperFeature .swiper-wrapper .swiper-slide .swiper-slide-shadow {
    background: none;
    -webkit-filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.8));
            filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.8));
  }
  .features-bottom {
    position: relative;
    padding: 300px 30px 200px;
    background-color: #fff;
    background-image: url(../images/features-bg.svg);
  }
  .features-bottom h2 {
    margin-bottom: 110px;
    font-size: 36px;
    font-weight: 800;
    text-align: center;
  }
  .features-bottom h2 .line {
    margin-top: 20px;
  }
  .features-bottom .col3 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(33% - 50px), 1fr));
    gap: 50px;
    width: 1200px;
    max-width: 100%;
    margin: 0 auto 100px;
  }
  .features-bottom .col3 figure {
    text-align: center;
  }
  .features-bottom .col3 figure figcaption {
    margin-top: 1em;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.75em;
  }
  .features-bottom .features-voice {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 1150px;
    max-width: 100%;
    margin: 0 auto;
  }
  .features-bottom .features-voice h2 {
    width: 550px;
    padding-left: 180px;
    font-size: clamp(28px, 2.57vw, 36px);
    background-image: url(../images/features-duck.png);
    background-repeat: no-repeat;
    background-position: left center;
  }
  .features-bottom .features-voice #featuresVoice {
    position: relative;
    width: 510px;
    overflow: hidden;
    margin-left: 60px;
    padding: 50px 50px 0;
  }
  .features-bottom .features-voice #featuresVoice .swiper-slide {
    position: relative;
    width: 410px;
  }
  .features-bottom .features-voice #featuresVoice .swiper-slide p {
    margin-bottom: 0;
  }
  .features-bottom .features-voice #featuresVoice .swiper-slide .voice-title {
    margin-bottom: 12px;
    font-size: 24px;
    font-size: clamp(20px, 1.7vw, 24px);
    font-weight: 800;
    line-height: 1.75em;
  }
  .features-bottom .features-voice #featuresVoice .swiper-slide .voice-name {
    font-size: 22px;
    font-size: clamp(17px, 1.5vw, 22px);
    font-weight: 700;
  }
  .features-bottom .features-voice #featuresVoice .navVoicePrev,
  .features-bottom .features-voice #featuresVoice .navVoiceNext {
    position: absolute;
    top: 180px;
    z-index: 10;
    display: block;
    width: 33px;
    height: 33px;
    background-repeat: no-repeat;
    cursor: pointer;
  }
  .features-bottom .features-voice #featuresVoice .navVoicePrev {
    left: 0;
    background-image: url(../images/slider-prev.svg);
  }
  .features-bottom .features-voice #featuresVoice .navVoiceNext {
    right: 0;
    background-image: url(../images/slider-next.svg);
  }
  .features-bottom .features-voice #featuresVoice .memo {
    margin-top: 20px;
    text-align: right;
    font-size: 13.5px;
  }
  .section-reason {
    position: relative;
    z-index: 1;
    margin-top: 120px;
    padding: 0 30px 100px;
    background-color: #f7f5f5;
  }
  .section-reason::before {
    content: "";
    position: absolute;
    top: -210px;
    left: 0;
    right: 0;
    z-index: -1;
    width: 100%;
    height: 240px;
    background-image: url(../images/reason-before.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .section-reason .reason-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 70px auto 150px;
  }
  .section-reason .reason-title h2 {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    font-size: 36px;
    font-weight: 900;
  }
  .section-reason .reason-title h2 span {
    display: block;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding: 0 10px;
    border-left: 1px dashed #4c4b4b;
  }
  .section-reason .reason-title h2 span:nth-child(2) {
    margin-top: 1.1em;
  }
  .section-reason .reason-title h2 span:nth-child(3) {
    margin-top: 2.1em;
  }
  .section-reason .reason-title img {
    width: 262px;
    margin-left: 60px;
  }
  .section-reason .reason {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 1400px;
    max-width: 100%;
    margin: 0 auto 130px;
  }
  .section-reason .reason:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .section-reason .reason:nth-child(odd) img {
    margin-right: 0;
    margin-left: 60px;
  }
  .section-reason .reason:last-child {
    margin-bottom: 0;
  }
  .section-reason .reason .img {
    width: 550px;
    max-width: 40%;
    margin-right: 60px;
  }
  .section-reason .reason .text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .section-reason .reason .text h3 {
    margin-bottom: 1em;
    font-size: 36px;
    font-weight: 800;
  }
  .section-reason .reason .text p {
    font-size: 24px;
    line-height: 2em;
  }
  .section-print {
    background-color: #f5f8fb;
  }
  .section-print .print-wrapper {
    padding: 300px 30px 280px;
  }
  .section-print .inner {
    position: relative;
    width: 1330px;
    max-width: 100%;
    margin: 0 auto;
    padding: 150px clamp(50px, 7vw, 100px) 100px;
    color: #406064;
    background-color: #fff;
    border-radius: 60px;
  }
  .section-print .print-title {
    position: absolute;
    top: -170px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .section-print .print-title img {
    width: 760px;
    height: 270px;
  }
  .section-print .col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    max-width: 100%;
    margin-bottom: 80px;
  }
  .section-print .col2 .img {
    width: 570px;
    max-width: 50%;
    margin-right: 55px;
  }
  .section-print .col2 .text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .section-print .col2 .text .price {
    font-weight: 800;
  }
  .section-print .col2 .text .price small {
    font-size: 22px;
  }
  .section-print .col2 .text .price b {
    font-size: 45px;
    font-weight: inherit;
    letter-spacing: 0.04em;
  }
  .section-print .col2 .text .desc {
    font-size: 24px;
    line-height: 1.75em;
  }
  .section-print .col2 .text .btn-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 12px;
    font-family: "M PLUS Rounded 1c", sans-serif;
  }
  .section-print .print-set {
    margin-bottom: 70px;
  }
  .section-print .print-set h3 {
    margin-bottom: 1em;
    font-size: 26px;
    font-weight: 800;
  }
  .section-print .print-set .print {
    margin-bottom: 28px;
    border: 1px solid #dbdbdb;
    border-radius: 25px;
  }
  .section-print .print-set .print-set-title {
    position: relative;
    font-size: 24px;
    font-weight: 900;
    padding: 1em;
    background-color: #f5f8fb;
    border-radius: 25px;
    letter-spacing: 0.16em;
    cursor: pointer;
  }
  .section-print .print-set .print-set-title small {
    font-size: 16px;
  }
  .section-print .print-set .print-set-title.active {
    border-radius: 25px 25px 0 0;
  }
  .section-print .print-set .print-set-title::after {
    content: "";
    position: absolute;
    top: 30px;
    right: 30px;
    display: block;
    width: 20px;
    height: 20px;
    border-right: 2px solid #b8b8b8;
    border-bottom: 2px solid #b8b8b8;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .section-print .print-set .print-set-content {
    display: none;
    padding: 85px 60px 70px;
  }
  .section-print .print-set .print-set-content.active {
    display: block;
  }
  
  .section-print .print-set .print-set-content ul {
    margin-top: -20px;
  }
  
  .section-print .print-set .print-set-content ul li {
    list-style: none;
    padding-left: 20px;
    background-image: url(../images/ico-list.svg);
    background-repeat: no-repeat;
    background-size: 16px 14px;
    background-position: left top 0.5em;
  }
  .section-print .print-set .set-col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
  }
  .section-print .print-set .set-col2:not(:last-child) {
    margin-bottom: 60px;
  }
  .section-print .print-set .set-col2 .img {
    width: 390px;
    max-width: 38.5%;
    margin-right: 70px;
  }
  .section-print .print-set .set-col2 .text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: 18px;
    line-height: 1.75em;
  }
  .section-print .print-set .set-col2 .text strong {
    font-size: 24px;
    font-weight: 700;
  }
  .section-print .print-set .set-col2 .text small {
    font-size: 16px;
  }
  .section-print .print-summary h3 {
    margin-bottom: 0.75em;
    font-size: 26px;
    font-weight: 800;
  }
  .section-print .print-summary ul {
    font-size: 24px;
    line-height: 1.75em;
  }
  .section-print .print-summary ul li {
    list-style: none;
    padding-left: 32px;
    background-image: url(../images/ico-list.svg);
    background-repeat: no-repeat;
    background-size: 26px 24px;
    background-position: left top 0.5em;
  }
  .section-print .print-summary ul li:not(:last-child) {
    margin-bottom: 0.25em;
  }
  .print-cta {
    position: relative;
    z-index: 1;
    padding: 80px 30px 145px;
    background-color: #fff3e8;
  }
  .print-cta::before {
    content: "";
    position: absolute;
    top: -110px;
    left: 0;
    right: 0;
    z-index: -1;
    width: 100%;
    height: 127px;
    background-image: url(../images/print-after.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .print-cta .print-cta-title {
    margin-bottom: 30px;
    text-align: center;
  }
  .print-cta .print-cta-title img {
    position: relative;
    animation: floating-ymin 2s ease-in-out infinite alternate-reverse;
  }
  .print-cta > p {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.75em;
  }
  .print-cta .btn-area {
    margin-top: 110px;
    text-align: center;
  }
  .print-cta .btn-area > p {
    margin-bottom: 0.75em;
    font-size: 24px;
    font-weight: 700;
    color: #406064;
  }
  .print-cta .btn-area > p b {
    font-weight: inherit;
    color: #ff7d00;
  }
  .print-cta .btn-area .btn-b {
    width: 460px;
    margin: 0 auto;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 28px;
  }
  .section-faq {
    width: 1010px;
    max-width: 100%;
    margin: 0 auto;
    padding: 145px 30px;
  }
  .section-faq .title-arch {
    margin-bottom: 140px;
  }
  .section-faq .faq:not(:last-child) {
    margin-bottom: 40px;
  }
  .section-faq .faq-title,
  .section-faq .faq-answer {
    position: relative;
    padding-left: 60px;
    font-size: 24px;
  }
  .section-faq .faq-title::before,
  .section-faq .faq-answer::before {
    position: absolute;
    top: -5px;
    left: 0;
    font-size: 36px;
    font-weight: 800;
    line-height: 1em;
  }
  .section-faq .faq-title {
    margin-bottom: 30px;
    font-weight: 800;
    line-height: 1.65em;
  }
  .section-faq .faq-title::before {
    content: "Q.";
    color: #ff4b5a;
  }
  .section-faq .faq-title.active i::after {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  .section-faq .faq-title i {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 42px;
    height: 42px;
    background-color: #406064;
    border-radius: 50%;
  }
  .section-faq .faq-title i::before, .section-faq .faq-title i::after {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    left: calc(50% - 8px);
    display: block;
    width: 16px;
    height: 2px;
    background-color: #fff;
  }
  .section-faq .faq-title i::after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .section-faq .faq-answer {
    display: none;
    color: #406064;
    line-height: 1.85em;
  }
  .section-faq .faq-answer::before {
    content: "A.";
    color: #ffbd7f;
  }
  .section-faq .faq-answer p:last-child {
    margin-bottom: 0;
  }
}