:root {--base-width: 1440;}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    color: #231815;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
}
body {
    overflow-x: hidden;
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(80 / var(--base-width) * 100vw);
}
a {
    text-decoration: none;
    transition: opacity 0.3s;
}
a:hover {
    opacity: 0.7;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(80 / var(--base-width) * 100vw);
    background-color: #ffffff;
    z-index: 100;
}
.header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: calc(182 / var(--base-width) * 100vw);
    padding-top: calc(16 / var(--base-width) * 100vw);
    padding-bottom: calc(16 / var(--base-width) * 100vw);
    padding-left: calc(27 / var(--base-width) * 100vw);
    padding-right: calc(20 / var(--base-width) * 100vw);
}
.header__logo {
    width: calc(178 / var(--base-width) * 100vw);
    display: flex;
    justify-content: start;
    align-items: center;
}
.header__logo h1 {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: start;
    align-items: center;
}
.header__logo h1 img,
.header__logo h1 > svg {
    display: block;
}
.header__logo h1 > svg {
    width: 100%;
    height: auto;
}
.header__nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(672 / var(--base-width) * 100vw);
}
.header__nav a {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 600;
}
.header__contact {
    width: calc(196 / var(--base-width) * 100vw);
    height: calc(49 / var(--base-width) * 100vw);
    border-radius: calc(60 / var(--base-width) * 100vw);
    padding-left: calc(33 / var(--base-width) * 100vw);
    padding-right: calc(25 / var(--base-width) * 100vw);
    padding-top: calc(13 / var(--base-width) * 100vw);
    padding-bottom: calc(12 / var(--base-width) * 100vw);
    display: flex;
    justify-content: start;
    align-items: center;
    background-color: #F03D61;
    position: relative;
}
.header__contact p {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 600;
    line-height: 1;
    color: #ffffff;
}
.header__contact img {
    position: absolute;
    right: calc(25 / var(--base-width) * 100vw);
    top: 50%;
    transform: translateY(-50%);
    width: calc(13 / var(--base-width) * 100vw);
    height: auto;
    display: block;
}
main {
    width: 100%;
}
.fv {
    width: 100%;
    height: calc(630 / var(--base-width) * 100vw);
    background: center center / cover no-repeat url(../images/fv-bg.webp);
}
.fv__inner {
    width: 100%;
    height: 100%;
    padding-left: calc(52 / var(--base-width) * 100vw);
    padding-top: calc(135 / var(--base-width) * 100vw);
    position: relative;
}
.fv__item {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    position: relative;
    z-index: 2;
}
.fv__item-text01 {
    width: calc(709 / var(--base-width) * 100vw);
    height: auto;
    margin-bottom: calc(18 / var(--base-width) * 100vw);
}
.fv__item-text02 {
    width: calc(616 / var(--base-width) * 100vw);
    height: auto;
    margin-bottom: calc(16 / var(--base-width) * 100vw);
}
.fv__link.cta-btn {
    margin: 0;
}
.fv__img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: calc(833 / var(--base-width) * 100vw);
    z-index: 1;
}
.fv__img img {
    width: 100%;
    height: auto;
}
.about {
    width: 100%;
    background-color: #ebf1ff;
    position: relative;
    padding-top: calc(48 / var(--base-width) * 100vw);
    padding-bottom: calc(47 / var(--base-width) * 100vw);
    overflow: hidden;
}
.about__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 1;
}
.about__content {
    position: relative;
    z-index: 2;
    background-color: #ffffff;
    box-shadow: 0 0 30px 0 #4C84D62E;
    width: calc(776 / var(--base-width) * 100vw);
    margin: 0 auto;
    padding-top: calc(42 / var(--base-width) * 100vw);
    padding-bottom: calc(42 / var(--base-width) * 100vw);
    border-radius: calc(24 / var(--base-width) * 100vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
}
.about__content-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(8 / var(--base-width) * 100vw);
    margin-bottom: calc(8 / var(--base-width) * 100vw);
}
.about__content-list-item {
    background-color: #E2E5EA;
    height: calc(33 / var(--base-width) * 100vw);
    padding-left: calc(16 / var(--base-width) * 100vw);
    padding-right: calc(16 / var(--base-width) * 100vw);
    border-radius: calc(100 / var(--base-width) * 100vw);
    font-size: calc(18 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.about__content > p {
    font-size: calc(18 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #231815;
    line-height: 2;
    margin-bottom: calc(24 / var(--base-width) * 100vw);
    text-align: center;
}
.about__content > p:last-of-type {
    margin-bottom: 0;
}
.about__content > p .marker {
    background: linear-gradient(transparent 70%, #FFEC5D 30%);
    font-weight: 600;
}
.about__content > p .big {
    font-weight: 600;
    font-size: calc(32 / var(--base-width) * 100vw);
    color: #0049C3;
}
.about__icon01 {
    position: absolute;
    bottom: 0;
    left: calc(134 / var(--base-width) * 100vw);
    width: calc(202 / var(--base-width) * 100vw);
    height: auto;
    z-index: 3;
}
.about__icon02 {
    position: absolute;
    bottom: calc(-25 / var(--base-width) * 100vw);
    right: calc(160 / var(--base-width) * 100vw);
    width: calc(235 / var(--base-width) * 100vw);
    height: auto;
    z-index: 3;
}

.reality {
    width: 100%;
    background: center top / cover no-repeat url(../images/reality-bg.webp);
    position: relative;
    padding-top: calc(54 / var(--base-width) * 100vw);
    padding-bottom: calc(106 / var(--base-width) * 100vw);
    overflow: hidden;
    z-index: 2;
}
.reality__title {
    font-size: calc(32 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #ffffff;
    line-height: 1.5;
    text-align: center;
    margin-bottom: calc(40 / var(--base-width) * 100vw);
}
.reality__content {
    width: calc(1120 / var(--base-width) * 100vw);
    margin: 0 auto;
    position: relative;
}
.reality__content-list {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: calc(20 / var(--base-width) * 100vw);
    padding-top: calc(28 / var(--base-width) * 100vw);
}
.reality__content-list-item {
    width: calc(360 / var(--base-width) * 100vw);
    height: auto;
    background-color: #ffffff;
    border-radius: calc(24 / var(--base-width) * 100vw);
    padding-top: calc(54 / var(--base-width) * 100vw);
    padding-bottom: calc(24 / var(--base-width) * 100vw);
    padding-left: calc(24 / var(--base-width) * 100vw);
    padding-right: calc(24 / var(--base-width) * 100vw);
    position: relative;
}
.reality__content-list-item h3 {
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #ffffff;
    line-height: 1.5;
    background-color: #0049C3;
    width: calc(283 / var(--base-width) * 100vw);
    height: calc(56 / var(--base-width) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: calc(100 / var(--base-width) * 100vw);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}
.reality__content-list-item-content {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: calc(16 / var(--base-width) * 100vw);
    width: 100%;
}
.reality__content-list-item-content p {
    position: relative;
    font-size: calc(18 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 1.5;
    width: 100%;
    padding-left: calc(35 / var(--base-width) * 100vw);
}
.reality__content-list-item-content p::before {
    position: absolute;
    content: "";
    top: calc(2 / var(--base-width) * 100vw);
    left: 0;
    width: calc(23 / var(--base-width) * 100vw);
    height: calc(23 / var(--base-width) * 100vw);
    background: center center / contain no-repeat url(../images/check.webp);
}
.reality__content-list-item-content p .marker {
    background: linear-gradient(transparent 70%, #FFEC5D 30%);
    font-weight: 600;
}
.reality__arrow01 {
    position: absolute;
    top: calc(432 / var(--base-width) * 100vw);
    left: calc(150 / var(--base-width) * 100vw);
    width: calc(61 / var(--base-width) * 100vw);
    height: auto;
    z-index: 2;
}
.reality__arrow01 img {
    width: 100%;
    height: auto;
}
.reality__arrow02 {
    position: absolute;
    top: calc(436 / var(--base-width) * 100vw);
    left: calc(541 / var(--base-width) * 100vw);
    width: calc(39 / var(--base-width) * 100vw);
    height: auto;
    z-index: 2;
}
.reality__arrow02 img {
    width: 100%;
    height: auto;
}
.reality__arrow03 {
    position: absolute;
    top: calc(432 / var(--base-width) * 100vw);
    right: calc(150 / var(--base-width) * 100vw);
    width: calc(61 / var(--base-width) * 100vw);
    height: auto;
    z-index: 2;
}
.reality__arrow03 img {
    width: 100%;
    height: auto;
}
.reality__icon {
    margin: 0 auto;
    width: calc(913 / var(--base-width) * 100vw);
    height: auto;
    padding-top: calc(54 / var(--base-width) * 100vw);
}
.reality__icon img {
    width: 100%;
    height: auto;
    display: block;
}
.service {
    position: relative;
    z-index: 1;
    padding-top: calc(41 / var(--base-width) * 100vw);
}
.service::before {
    content: "";
    position: absolute;
    top: calc(-145 / var(--base-width) * 100vw);
    left: 0;
    width: 100%;
    height: calc(1373 / var(--base-width) * 100vw);
    background: center top / cover no-repeat url(../images/service-bg01.webp);
    z-index: -1;
}
.service::after {
    content: "";
    position: absolute;
    top: calc(-145 / var(--base-width) * 100vw);
    left: 0;
    width: 100%;
    height: calc(1373 / var(--base-width) * 100vw);
    background: center top / cover no-repeat url(../images/service-bg02.webp);
    z-index: -1;
}
.service__title {
    font-size: calc(32 / var(--base-width) * 100vw);
    text-align: center;
    width: calc(1165 / var(--base-width) * 100vw);
    margin: 0 auto;
    margin-bottom: calc(24 / var(--base-width) * 100vw);
    position: relative;
    line-height: 2;
}
.service__title::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: calc(45 / var(--base-width) * 100vw);
    height: calc(116 / var(--base-width) * 100vw);
    background: center center / contain no-repeat url(../images/service-title-icon01.webp);
}
.service__title::after {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    width: calc(45 / var(--base-width) * 100vw);
    height: calc(116 / var(--base-width) * 100vw);
    background: center center / contain no-repeat url(../images/service-title-icon02.webp);
}
.service__title .marker {
    background: linear-gradient(transparent 70%, #FFEC5D 30%);
    font-weight: 600;
}
.service__title .marker b {
    font-weight: 600;
    color: #0049C3;
}
.service__text {
    font-size: calc(16 / var(--base-width) * 100vw);
    text-align: center;
    margin-bottom: calc(36 / var(--base-width) * 100vw);
    line-height: 2;
}
.service__content {
    width: calc(1165 / var(--base-width) * 100vw);
    margin: 0 auto;
    display: flex;
    justify-content: start;
    align-items: center;
    flex-direction: column;
    background-color: #ffffff;
    box-shadow: 0 0 30px 0 #4C84D62E;
    border-radius: calc(24 / var(--base-width) * 100vw);
    padding-top: calc(54 / var(--base-width) * 100vw);
    padding-bottom: calc(54 / var(--base-width) * 100vw);
    padding-left: calc(45 / var(--base-width) * 100vw);
    padding-right: calc(45 / var(--base-width) * 100vw);
    margin-bottom: calc(54 / var(--base-width) * 100vw);
}
.service__about {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
}
.service__about-title {
    font-family: "Montserrat", sans-serif;
    color: #0049C3;
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 700;
    text-align: center;
    padding-bottom: calc(6 / var(--base-width) * 100vw);
}
.service__about-subtitle {
    font-size: calc(40 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(16 / var(--base-width) * 100vw);
    letter-spacing: 0.1em;
    position: relative;
}
.service__about-subtitle::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(48 / var(--base-width) * 100vw);
    height: 4px;
    background-color: #0049C3;
}
.service__about-text {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 2;
    text-align: center;
    padding-top: calc(16 / var(--base-width) * 100vw);
    padding-bottom: calc(36 / var(--base-width) * 100vw);
}
.service__about-text .marker {
    background: linear-gradient(transparent 70%, #FFEC5D 30%);
    font-weight: 600;
}
.service__features {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(32 / var(--base-width) * 100vw);
}
.service__feature-item {
    width: calc(280 / var(--base-width) * 100vw);
    height: calc(280 / var(--base-width) * 100vw);
    background-color: #EBF1FF;
    border-radius: calc(6 / var(--base-width) * 100vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: end;
    padding-bottom: calc(6 / var(--base-width) * 100vw);
    padding-bottom: calc(32 / var(--base-width) * 100vw);
    padding-left: calc(20 / var(--base-width) * 100vw);
    padding-right: calc(20 / var(--base-width) * 100vw);
}
.service__feature-item img {
    height: auto;
    display: block;
    margin: auto;
}
.service__feature-item:nth-of-type(1) img {
    width: calc(144 / var(--base-width) * 100vw);
}
.service__feature-item:nth-of-type(2) img {
    width: calc(102 / var(--base-width) * 100vw);
}
.service__feature-item:nth-of-type(3) img {
    width: calc(120 / var(--base-width) * 100vw);
}
.service__feature-item:nth-of-type(4) img {
    width: calc(89 / var(--base-width) * 100vw);
}
.service__feature-item:nth-of-type(5) img {
    width: calc(118 / var(--base-width) * 100vw);
}
.service__feature-item:nth-of-type(6) img {
    width: calc(91 / var(--base-width) * 100vw);
}
.service__feature-title {
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(13 / var(--base-width) * 100vw);
}
.service__feature-text {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #231815;
    line-height: 1.5;
}
.cta {
    width: calc(1200 / var(--base-width) * 100vw);
    margin: 0 auto;
    border-radius: calc(36 / var(--base-width) * 100vw);
    padding-top: calc(38 / var(--base-width) * 100vw);
    padding-bottom: calc(37 / var(--base-width) * 100vw);
    background: linear-gradient(to right, #007CC3, #0054A7, #3A4A9D);
    position: relative;
}
.cta-title {
    font-size: calc(30 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #ffffff;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(16 / var(--base-width) * 100vw);
}
.cta-title span {
    font-size: calc(30 / var(--base-width) * 100vw);
    color: #FFEC5D;
    font-weight: 600;
}
.cta-text {
    padding-bottom: calc(32 / var(--base-width) * 100vw);
}
.cta-text p {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #ffffff;
    line-height: 2;
    text-align: center;
}
.cta-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-left: calc(70 / var(--base-width) * 100vw);
    padding-right: calc(94 / var(--base-width) * 100vw);
    width: calc(500 / var(--base-width) * 100vw);
    height: calc(110 / var(--base-width) * 100vw);
    margin: 0 auto;
    background-color: #F03D61;
    box-shadow: 0 calc(6 / var(--base-width) * 100vw) 0 0 #B2223F;
    border-radius: calc(150 / var(--base-width) * 100vw);
    position: relative;
}
.cta-btn p {
    font-weight: 600;
    color: #ffffff;
    line-height: 1.5;
}
.cta-btn p:first-of-type {
    font-size: calc(18 / var(--base-width) * 100vw);
}
.cta-btn p:last-of-type {
    font-size: calc(32 / var(--base-width) * 100vw);
}
.cta-btn img {
    position: absolute;
    right: calc(40 / var(--base-width) * 100vw);
    top: 50%;
    transform: translateY(-50%);
    width: calc(27 / var(--base-width) * 100vw);
    height: auto;
    display: block;
}
.cta-icon01 {
    position: absolute;
    bottom: 0;
    left: calc(24 / var(--base-width) * 100vw);
    width: calc(161 / var(--base-width) * 100vw);
    height: auto;
    display: block;
}
.cta-icon02 {
    position: absolute;
    bottom: 0;
    right: calc(43 / var(--base-width) * 100vw);
    width: calc(178 / var(--base-width) * 100vw);
    height: auto;
    display: block;
}
.service__comparison {
    width: calc(1120 / var(--base-width) * 100vw);
    margin: 0 auto;
    padding-top: calc(54 / var(--base-width) * 100vw);
    padding-bottom: calc(54 / var(--base-width) * 100vw);
}
.service__comparison-title {
    font-family: "Montserrat", sans-serif;
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(6 / var(--base-width) * 100vw);
}
.service__comparison-subtitle {
    font-size: calc(40 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(16 / var(--base-width) * 100vw);
    position: relative;
    letter-spacing: 0.1em;
}
.service__comparison-subtitle::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(48 / var(--base-width) * 100vw);
    height: 4px;
    background-color: #0049C3;
}
.service__comparison-wrapper {
    width: calc(1120 / var(--base-width) * 100vw);
    margin: 0 auto;
    padding-top: calc(44 / var(--base-width) * 100vw);
}
.service__comparison-table {
    width: 100%;
    border-spacing: 0px;
    border-collapse: separate;
    border: 1px solid #E0E0E0;
    border-radius: calc(16 / var(--base-width) * 100vw);
}
.service__comparison-table th {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #333333;
    line-height: 1.5;
    background-color: #F5F7FA;
    padding-top: calc(20 / var(--base-width) * 100vw);
    padding-bottom: calc(20 / var(--base-width) * 100vw);
    border-bottom: 1px solid #E0E0E0;
    border-right: 1px solid #E0E0E0;
    width: calc(222.5 / var(--base-width) * 100vw);
}
.service__comparison-table th:first-of-type {
    border-top-left-radius: calc(16 / var(--base-width) * 100vw);
    border-right: none;
}
.service__comparison-table th:nth-of-type(2) {
    width: calc(230 / var(--base-width) * 100vw);
    border-left: 3px solid #0049C3;
    border-right: 3px solid #0049C3;
    border-bottom: 1px solid #0049C3;
    background-color: #0049C3;
    color: #ffffff;
    position: relative;
}
.service__comparison-table th:nth-of-type(2)::before {
    position: absolute;
    content: "";
    bottom: 100%;
    left: -3px;
    right: -3px;
    height: calc(20 / var(--base-width) * 100vw);
    background-color: #0049C3;
    border-top-left-radius: calc(16 / var(--base-width) * 100vw);
    border-top-right-radius: calc(16 / var(--base-width) * 100vw);
}
.service__comparison-table th:last-of-type {
    border-right: none;
    border-top-right-radius: calc(16 / var(--base-width) * 100vw);
}
.service__comparison-table td {
    height: calc(162 / var(--base-width) * 100vw);
    border-bottom: 1px solid #E0E0E0;
    border-right: 1px solid #E0E0E0;
}
.service__comparison-table td:first-of-type {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #000000;
    line-height: 1.5;
    background-color: #F5F7FA;
    text-align: center;
    border-right: none;
}
.service__comparison-table td:nth-of-type(2) {
    border-left: 3px solid #0049C3;
    border-right: 3px solid #0049C3;
}
.service__comparison-table tr:last-of-type td:nth-of-type(2) {
    border-bottom: 3px solid #0049C3;
}
.service__comparison-table td:last-of-type {
    border-right: none;
}
.service__comparison-table td img {
    height: calc(24 / var(--base-width) * 100vw);
    width: auto;
    display: block;
    margin: 0 auto;
}
.service__comparison-table td p {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #000000;
    line-height: 1.5;
    width: calc(196 / var(--base-width) * 100vw);
    margin: 0 auto;
    text-align: center;
    padding-top: calc(10 / var(--base-width) * 100vw);
}
.feature {
    width: 100%;
    padding-top: calc(54 / var(--base-width) * 100vw);
    padding-bottom: calc(54 / var(--base-width) * 100vw);
    background-color: #EBF1FF;
    position: relative;
}
.feature__inner {
    width: calc(1000 / var(--base-width) * 100vw);
    margin: 0 auto;
}
.feature__title {
    font-family: "Montserrat", sans-serif;
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(6 / var(--base-width) * 100vw);
}
.feature__subtitle {
    font-size: calc(40 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(16 / var(--base-width) * 100vw);
    position: relative;
    letter-spacing: 0.1em;
}
.feature__subtitle::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(48 / var(--base-width) * 100vw);
    height: 4px;
    background-color: #0049C3;
}
.feature__content {
    padding-top: calc(52 / var(--base-width) * 100vw);
}
.feature__item {
    display: flex;
    justify-content: space-between;
    margin-bottom: calc(55 / var(--base-width) * 100vw);
}
.feature__item:nth-of-type(2n) {
    flex-direction: row-reverse;
    margin-bottom: calc(36 / var(--base-width) * 100vw);
}
.feature__item:last-child {
    margin-bottom: 0;
}
.feature__item-text {
    width: calc(523 / var(--base-width) * 100vw);
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
}
.feature__item-title {
    font-size: calc(28 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 1.5;
    margin-bottom: calc(18 / var(--base-width) * 100vw);
    letter-spacing: 0.05em;
}
.feature__item-title span {
    font-size: calc(28 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #0049C3;
    line-height: 1.5;
}
.feature__item-description {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #231815;
    line-height: 2;
}
.feature__item-description .marker {
    background: linear-gradient(transparent 70%, #FFEC5D 30%);
    font-weight: 600;
}
.feature__item-description .note {
    font-size: calc(14 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #231815;
    line-height: 1.5;
}
.feature__item-description:last-of-type {
    margin-bottom: 0;
}
.feature__item-number {
    font-family: "Montserrat", sans-serif;
    font-size: calc(230 / var(--base-width) * 100vw);
    font-weight: 500;
    color: #fff;
    line-height: 1;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
}
.feature__item-image {
    width: calc(405 / var(--base-width) * 100vw);
    height: auto;
    position: relative;
}
.feature__item-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: calc(24 / var(--base-width) * 100vw);
}
.feature__item-image-serif {
    position: absolute;
    width: calc(124 / var(--base-width) * 100vw);
    height: auto;
}
.feature__item-image-serif.serif01 {
    top: calc(-4 / var(--base-width) * 100vw);
    right: calc(24 / var(--base-width) * 100vw);
}
.feature__item-image-serif.serif02 {
    top: calc(-50 / var(--base-width) * 100vw);
    left: calc(36 / var(--base-width) * 100vw);
}
.feature__item-image-serif img {
    width: 100%;
    height: auto;
}
.feature__item-image-serif p {
    position: absolute;
    top: 0%;
    left: 0%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: calc(18 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #ffffff;
    line-height: 1.5;
    text-align: center;
    width: 100%;
    height: 100%;
}

.trust {
    width: 100%;
    padding-top: calc(58 / var(--base-width) * 100vw);
    padding-bottom: calc(54 / var(--base-width) * 100vw);
    background-color: #ffffff;
    position: relative;
}
.trust__inner {
    width: calc(1120 / var(--base-width) * 100vw);
    margin: 0 auto;
}
.trust__title {
    font-family: "Montserrat", sans-serif;
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(6 / var(--base-width) * 100vw);
}
.trust__subtitle {
    font-size: calc(40 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(16 / var(--base-width) * 100vw);
    position: relative;
    letter-spacing: 0.1em;
}
.trust__subtitle::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(48 / var(--base-width) * 100vw);
    height: 4px;
    background-color: #0049C3;
}
.trust__content {
    display: flex;
    justify-content: space-between;
    gap: calc(32 / var(--base-width) * 100vw);
    padding-top: calc(54 / var(--base-width) * 100vw);
}
.trust__item {
    width: calc(352 / var(--base-width) * 100vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    box-shadow: 0 0 30px 0 #4C84D62E;
    padding: calc(40 / var(--base-width) * 100vw) calc(32 / var(--base-width) * 100vw);
    border-radius: calc(24 / var(--base-width) * 100vw);
}
.trust__item-title {
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: calc(24 / var(--base-width) * 100vw);
}
.trust__item-title .ls-1 {
    letter-spacing: -1em;
}
.trust__item-title .ls1 {
    letter-spacing: 0.01em;
}
.trust__item-image {
    width: auto;
    height: calc(98 / var(--base-width) * 100vw);
    margin-bottom: calc(24 / var(--base-width) * 100vw);
}
.trust__item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.trust__item-text {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #231815;
    line-height: 2;
}

.reason {
    width: 100%;
    padding-top: calc(54 / var(--base-width) * 100vw);
    padding-bottom: calc(40 / var(--base-width) * 100vw);
    position: relative;
}
.reason__inner {
    width: calc(1165 / var(--base-width) * 100vw);
    margin: 0 auto;
    background-color: #ffffff;
    box-shadow: 0 0 30px 0 #4C84D62E;
    border-radius: calc(24 / var(--base-width) * 100vw);
    padding: calc(54 / var(--base-width) * 100vw) calc(45 / var(--base-width) * 100vw);
}
.reason__title {
    font-family: "Montserrat", sans-serif;
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(6 / var(--base-width) * 100vw);
}
.reason__subtitle {
    font-size: calc(40 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(16 / var(--base-width) * 100vw);
    position: relative;
    letter-spacing: 0.1em;
}
.reason__subtitle::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(48 / var(--base-width) * 100vw);
    height: 4px;
    background-color: #0049C3;
}
.reason__text {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #231815;
    line-height: 2;
    text-align: center;
    padding-bottom: calc(54 / var(--base-width) * 100vw);
    padding-top: calc(36 / var(--base-width) * 100vw);
}
.reason__text .marker {
    background: linear-gradient(transparent 70%, #FFEC5D 30%);
    font-weight: 600;
}
.reason__content {
    display: flex;
    justify-content: space-between;
    gap: calc(32 / var(--base-width) * 100vw);
    padding-bottom: calc(64 / var(--base-width) * 100vw);
    width: calc(904 / var(--base-width) * 100vw);
    margin: 0 auto;
}
.reason__item {
    width: calc(280 / var(--base-width) * 100vw);
    height: calc(280 / var(--base-width) * 100vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: end;
    background-color: #EBF1FF;
    padding-top: calc(20 / var(--base-width) * 100vw);
    padding-bottom: calc(40 / var(--base-width) * 100vw);
    border-radius: calc(6 / var(--base-width) * 100vw);
}
.reason__item-image {
    width: auto;
    margin: auto;
}
.reason__item-image.reason__item-image01 {
    height: calc(95 / var(--base-width) * 100vw);
}
.reason__item-image.reason__item-image02 {
    height: calc(84 / var(--base-width) * 100vw);
}
.reason__item-image.reason__item-image03 {
    height: calc(127 / var(--base-width) * 100vw);
}
.reason__item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.reason__item-text {
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 1.5;
    text-align: center;
}
.reason__item-text.reason__item-text03 {
    letter-spacing: 0.1em;
}
.reason__list {
    width: calc(904 / var(--base-width) * 100vw);
    margin: 0 auto;
    border: 2px solid #0049C3;
    border-radius: calc(24 / var(--base-width) * 100vw);
    padding-top: calc(60 / var(--base-width) * 100vw);
    padding-bottom: calc(40 / var(--base-width) * 100vw);
    position: relative;
}
.reason__list-title {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    background-color: #0049C3;
    color: #ffffff;
    border-radius: calc(100 / var(--base-width) * 100vw);
    width: calc(324 / var(--base-width) * 100vw);
    height: calc(56 / var(--base-width) * 100vw);
    display: flex;
    align-items: center;
    justify-content: center;
}
.reason__list-items {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: calc(10 / var(--base-width) * 100vw) calc(32 / var(--base-width) * 100vw);
    width: calc(730 / var(--base-width) * 100vw);
    margin: 0 auto;
}
.reason__list-items li {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #231815;
    line-height: 1.5;
    padding-left: calc(25 / var(--base-width) * 100vw);
    position: relative;
}
.reason__list-items li:nth-of-type(2n-1) {
    width: calc(294 / var(--base-width) * 100vw);
}
.reason__list-items li:nth-of-type(2n) {
    width: calc(404 / var(--base-width) * 100vw);
}
.reason__list-items li::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: calc(17 / var(--base-width) * 100vw);
    height: calc(17 / var(--base-width) * 100vw);
    background: center center / contain no-repeat url(../images/check02.webp);
}
.reason__list-items li .ls-4 {
    letter-spacing: -0.4em;
}
.reason__list-items li .ls-2 {
    letter-spacing: -0.15em;
}
.cta-section {
    padding-bottom: calc(54 / var(--base-width) * 100vw);
}

.value {
    width: 100%;
    padding-top: calc(54 / var(--base-width) * 100vw);
    padding-bottom: calc(54 / var(--base-width) * 100vw);
    background-color: #EBF1FF;
    position: relative;
}
.value__inner {
    width: calc(1120 / var(--base-width) * 100vw);
    margin: 0 auto;
    border-radius: calc(24 / var(--base-width) * 100vw);
}
.value__title {
    font-family: "Montserrat", sans-serif;
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(6 / var(--base-width) * 100vw);
}
.value__subtitle {
    font-size: calc(40 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(16 / var(--base-width) * 100vw);
    position: relative;
    letter-spacing: 0.1em;
}
.value__subtitle::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(48 / var(--base-width) * 100vw);
    height: 4px;
    background-color: #0049C3;
}
.value__content {
    width: 100%;
    margin: 0 auto;
    background-color: #ffffff;
    box-shadow: 0 0 30px 0 #4C84D62E;
    border-radius: calc(24 / var(--base-width) * 100vw);
    padding: calc(32 / var(--base-width) * 100vw) calc(53 / var(--base-width) * 100vw);
    margin-top: calc(54 / var(--base-width) * 100vw);
    margin-bottom: calc(36 / var(--base-width) * 100vw);
}
.value__content-text {
    font-size: calc(18 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 2;
    text-align: center;
    width: calc(504 / var(--base-width) * 100vw);
    height: calc(43 / var(--base-width) * 100vw);
    margin: 0 auto;
    margin-bottom: calc(36 / var(--base-width) * 100vw);
    background-color: #E2E5EA;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: calc(100 / var(--base-width) * 100vw);
}
.value__items {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(24 / var(--base-width) * 100vw);
}
.value__item {
    width: calc(160 / var(--base-width) * 100vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
}
.value__item-image {
    width: calc(167 / var(--base-width) * 100vw);
    height: calc(167 / var(--base-width) * 100vw);
    margin-bottom: calc(7 / var(--base-width) * 100vw);
    border-radius: 50%;
    background-color: #E2E5EA;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    padding-top: calc(20 / var(--base-width) * 100vw);
}
.value__item-title {
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 1.5;
    text-align: center;
    margin-bottom: calc(12 / var(--base-width) * 100vw);
}
.value__item-image img {
    width: auto;
    height: calc(71 / var(--base-width) * 100vw);
    object-fit: contain;
}
.value__item-image img.value-img05 {
    height: calc(56 / var(--base-width) * 100vw);
}
.value__item-price {
    font-size: calc(14 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 1.5;
    text-align: center;
}
.value__item-price span {
    font-size: calc(22 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #0049C3;
    line-height: 1.5;
    padding-right: calc(2 / var(--base-width) * 100vw);
    font-family: "Poppins", sans-serif;
}
.value__plus {
    width: calc(34 / var(--base-width) * 100vw);
    height: calc(34 / var(--base-width) * 100vw);
}
.value__result {
    position: relative;
}
.value__result-title {
    font-size: calc(24 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 1.2;
    text-align: center;
    position: relative;
    width: calc(837 / var(--base-width) * 100vw);
    margin: 0 auto calc(24 / var(--base-width) * 100vw);
}
.value__result-title::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: calc(45 / var(--base-width) * 100vw);
    height: calc(116 / var(--base-width) * 100vw);
    background: center center / contain no-repeat url(../images/service-title-icon01.webp);
}
.value__result-title::after {
    position: absolute;
    content: "";
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: calc(45 / var(--base-width) * 100vw);
    height: calc(116 / var(--base-width) * 100vw);
    background: center center / contain no-repeat url(../images/service-title-icon02.webp);
}
.value__result-title .big {
    font-size: calc(54 / var(--base-width) * 100vw);
    font-family: "Poppins", sans-serif;
    padding: 0 calc(6 / var(--base-width) * 100vw);
    font-weight: 600;
}
.value__result-title .marker {
    background: linear-gradient(transparent 60%, #FFEC5D 40%);
    font-weight: 600;
}
.value__result-title .marker b {
    font-size: calc(72 / var(--base-width) * 100vw);
    font-family: "Poppins", sans-serif;
    padding: 0 calc(6 / var(--base-width) * 100vw);
    color: #0049C3;
    font-weight: 600;
}
.value__result-text {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #231815;
    line-height: 2;
    text-align: center;
    margin-bottom: calc(8 / var(--base-width) * 100vw);
}
.value__result-note {
    font-size: calc(12 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #231815;
    line-height: 1.5;
    text-align: center;
}

.cases {
    width: 100%;
    padding-top: calc(58 / var(--base-width) * 100vw);
    padding-bottom: calc(54 / var(--base-width) * 100vw);
    background-color: #ffffff;
    position: relative;
}
.cases__inner {
    width: calc(1120 / var(--base-width) * 100vw);
    margin: 0 auto;
}
.cases__title {
    font-family: "Montserrat", sans-serif;
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(6 / var(--base-width) * 100vw);
}
.cases__subtitle {
    font-size: calc(40 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(16 / var(--base-width) * 100vw);
    position: relative;
    letter-spacing: 0.1em;
}
.cases__subtitle::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(48 / var(--base-width) * 100vw);
    height: 4px;
    background-color: #0049C3;
}
.cases__content {
    display: flex;
    justify-content: space-between;
    gap: calc(20 / var(--base-width) * 100vw);
    padding-top: calc(54 / var(--base-width) * 100vw);
}
.cases__item {
    width: calc(360 / var(--base-width) * 100vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    box-shadow: 0 0 30px 0 #4C84D62E;
    padding: calc(20 / var(--base-width) * 100vw) calc(26 / var(--base-width) * 100vw);
    border-radius: calc(24 / var(--base-width) * 100vw);
}
.cases__item-image {
    margin-bottom: calc(16 / var(--base-width) * 100vw);
    display: flex;
    align-items: center;
    gap: calc(24 / var(--base-width) * 100vw);
}
.cases__item-image img {
    width: calc(112 / var(--base-width) * 100vw);
    height: calc(112 / var(--base-width) * 100vw);
    object-fit: contain;
}
.cases__item-title {
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: left;
    width: calc(178 / var(--base-width) * 100vw);
}
.cases__item-text {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #231815;
    line-height: 2;
}

.works {
    width: 100%;
    padding-bottom: calc(54 / var(--base-width) * 100vw);
    position: relative;
}
.works__inner {
    width: 100%;
}
.works__title {
    font-family: "Montserrat", sans-serif;
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(6 / var(--base-width) * 100vw);
}
.works__subtitle {
    font-size: calc(40 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(16 / var(--base-width) * 100vw);
    position: relative;
    letter-spacing: 0.1em;
}
.works__subtitle::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(48 / var(--base-width) * 100vw);
    height: 4px;
    background-color: #0049C3;
}
.works__swiper {
    padding-top: calc(54 / var(--base-width) * 100vw);
    padding-left: calc(160 / var(--base-width) * 100vw);
    padding-right: calc(160 / var(--base-width) * 100vw);
}
.works__item {
    width: calc(530 / var(--base-width) * 100vw);
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
}
.works__item-image {
    width: 100%;
    height: calc(348 / var(--base-width) * 100vw);
    margin-bottom: calc(20 / var(--base-width) * 100vw);
    border-radius: calc(24 / var(--base-width) * 100vw);
    overflow: hidden;
}
.works__item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.works__item-category {
    font-size: calc(14 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #ffffff;
    line-height: 1.5;
    margin-bottom: calc(11 / var(--base-width) * 100vw);
    background-color: #0049C3;
    padding: calc(6 / var(--base-width) * 100vw) calc(10 / var(--base-width) * 100vw);
    border-radius: calc(5 / var(--base-width) * 100vw);
}
.works__item-title {
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 2;
    margin-bottom: calc(11 / var(--base-width) * 100vw);
}
.works__item-text {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #231815;
    line-height: 2;
}
.works .swiper-pagination {
    bottom: 0;
}
.works .swiper-pagination-bullet {
    width: calc(12 / var(--base-width) * 100vw);
    height: calc(12 / var(--base-width) * 100vw);
    background-color: #0049C3;
    opacity: 0.3;
}
.works .swiper-pagination-bullet-active {
    opacity: 1;
}
.works .swiper-button-prev,
.works .swiper-button-next {
    width: calc(60 / var(--base-width) * 100vw);
    height: calc(60 / var(--base-width) * 100vw);
    border-radius: 50%;
}
.works .swiper-button-prev::after,
.works .swiper-button-next::after {
    display: none;
}
.works .swiper-button-prev {
    left: calc(27 / var(--base-width) * 100vw);
}
.works .swiper-button-next {
    right: calc(27 / var(--base-width) * 100vw);
}
.works .swiper-button-prev img,
.works .swiper-button-next img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.faq {
    width: 100%;
    padding-bottom: calc(54 / var(--base-width) * 100vw);
    background-color: #ffffff;
    position: relative;
}
.faq__inner {
    width: calc(1120 / var(--base-width) * 100vw);
    margin: 0 auto;
}
.faq__title {
    font-family: "Montserrat", sans-serif;
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(6 / var(--base-width) * 100vw);
}
.faq__subtitle {
    font-size: calc(40 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(16 / var(--base-width) * 100vw);
    position: relative;
    letter-spacing: 0.1em;
}
.faq__subtitle::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(48 / var(--base-width) * 100vw);
    height: 4px;
    background-color: #0049C3;
}
.faq__list {
    padding-top: calc(54 / var(--base-width) * 100vw);
    width: 100%;
    margin: 0 auto;
}
.faq__item {
    border: 1px solid #D8E9F5;
    border-radius: calc(16 / var(--base-width) * 100vw);
    margin-bottom: calc(16 / var(--base-width) * 100vw);
}
.faq__item:last-child {
    margin-bottom: 0;
}
.faq__question {
    padding: calc(26 / var(--base-width) * 100vw) calc(32 / var(--base-width) * 100vw);
    display: flex;
    justify-content:flex-start;
    align-items: center;
    cursor: pointer;
    position: relative;
}
.faq__icon-question {
    font-size: calc(32 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #0049C3;
    line-height: 1;
    font-family: "Montserrat", sans-serif;
}
.faq__question p {
    font-size: calc(18 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #231815;
    line-height: 1.5;
    padding-right: calc(40 / var(--base-width) * 100vw);
    padding-left: calc(16 / var(--base-width) * 100vw);
}
.faq__icon {
    position: absolute;
    right: calc(32 / var(--base-width) * 100vw);
    top: 50%;
    transform: translateY(-50%);
    width: calc(18 / var(--base-width) * 100vw);
    height: calc(18 / var(--base-width) * 100vw);
    transition: transform 0.3s ease;
}
.faq__icon::before,
.faq__icon::after {
    content: "";
    position: absolute;
    background-color: #231815;
    transition: transform 0.3s ease;
}
.faq__icon::before {
    width: 100%;
    height: 2px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.faq__icon::after {
    width: 2px;
    height: 100%;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}
.faq__item.active .faq__icon::after {
    transform: translateX(-50%) rotate(90deg);
}
.faq__answer {
    padding: 0 calc(32 / var(--base-width) * 100vw);
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
}
.faq__item.active .faq__answer {
    padding: 0 calc(32 / var(--base-width) * 100vw) calc(24 / var(--base-width) * 100vw);
    max-height: 400px;
}
.faq__answer p {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #231815;
    line-height: 2;
}
.faq__answer a {
    display: flex;
    align-items: center;
    justify-content: start;
    width: calc(222 / var(--base-width) * 100vw);
    height: calc(32 / var(--base-width) * 100vw);
    border-bottom: 1px solid #0049C3;
}
.faq__answer a span {
    color: #0049C3;
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    line-height: 1;
}
.faq__answer a img {
    display: block;
    width: calc(30 / var(--base-width) * 100vw);
    height: calc(30 / var(--base-width) * 100vw);
}

.message {
    width: 100%;
    padding-bottom: calc(80 / var(--base-width) * 100vw);
    position: relative;
}
.message__inner {
    width: calc(1236 / var(--base-width) * 100vw);
    margin: 0 auto;
}

.message__content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: calc(78 / var(--base-width) * 100vw);
    padding-top: calc(59 / var(--base-width) * 100vw);
    padding-right: calc(54 / var(--base-width) * 100vw);
    position: relative;
    z-index: 1;
}
.message__content::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    width: calc(1007 / var(--base-width) * 100vw);
    height: calc(579 / var(--base-width) * 100vw);
    background: linear-gradient(135deg, #007CC3 0%, #0054A7 59%, #3A4A9D 100%);
    border-radius: calc(24 / var(--base-width) * 100vw);
    z-index: -1;
}
.message__left {
    width: calc(512 / var(--base-width) * 100vw);
}
.message__title {
    font-family: "Montserrat", sans-serif;
    font-size: calc(73 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #FFAF50;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(61 / var(--base-width) * 100vw);
}
.message__image {
    width: 100%;
    height: auto;
    border-radius: calc(24 / var(--base-width) * 100vw);
    overflow: hidden;
    box-shadow: 0 0 30px 0 #0049C333;
}
.message__image img {
    width: 100%;
    height: auto;
    display: block;
}
.message__right {
    width: calc(593 / var(--base-width) * 100vw);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: calc(34 / var(--base-width) * 100vw);
}
.message__text {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #ffffff;
    line-height: 2;
    margin-bottom: calc(24 / var(--base-width) * 100vw);
}
.message__text:last-child {
    margin-bottom: 0;
}
.message__highlight {
    font-size: calc(24 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #ffffff;
    line-height: 2;
    display: block;
    margin-bottom: calc(24 / var(--base-width) * 100vw);
}
.message__highlight span {
    font-size: calc(24 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #ffffff;
    line-height: 2;
    border-bottom: 2px dashed #FFEC5D;
    padding-bottom: calc(4 / var(--base-width) * 100vw);
}
.message__highlight span.sp_btm {
    border-bottom: none;
}

.contact {
    padding: calc(54 / var(--base-width) * 100vw) 0;
    background-color: #EBF1FF;
}
.contact__inner {
    max-width: calc(1000 / var(--base-width) * 100vw);
    margin: 0 auto;
}
.contact__title {
    font-family: "Montserrat", sans-serif;
    font-size: calc(20 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(6 / var(--base-width) * 100vw);
}
.contact__subtitle {
    font-size: calc(40 / var(--base-width) * 100vw);
    font-weight: 700;
    color: #0049C3;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(16 / var(--base-width) * 100vw);
    position: relative;
    letter-spacing: 0.1em;
}
.contact__subtitle::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(48 / var(--base-width) * 100vw);
    height: 4px;
    background-color: #0049C3;
}
.contact__form {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    margin: calc(54 / var(--base-width) * 100vw) auto 0;
    background-color: #ffffff;
    padding: calc(56 / var(--base-width) * 100vw) calc(99 / var(--base-width) * 100vw);
    border-radius: calc(24 / var(--base-width) * 100vw);
    box-shadow: 0 0 30px 0 #4C84D62E;
}
.contact__form-text {
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 400;
    color: #231815;
    line-height: 2;
    text-align: center;
    padding-bottom: calc(54 / var(--base-width) * 100vw);
}
.wpcf7 {
    width: 100%;
}
.contact__form-group {
    padding-bottom: calc(40 / var(--base-width) * 100vw);
    width: 100%;
}
.contact__form-group label {
    display: flex;
    align-items: center;
    justify-content: start;
    font-size: calc(15 / var(--base-width) * 100vw);
    font-weight: 600;
    color: #222222;
    margin-bottom: calc(8 / var(--base-width) * 100vw);
    width: 100%;
}
.contact__form-group .required {
    color: #FFFFFF;
    font-size: calc(12 / var(--base-width) * 100vw);
    font-weight: 600;
    margin-left: calc(12 / var(--base-width) * 100vw);
    background-color: #0049C3;
    border-radius: calc(2 / var(--base-width) * 100vw);
    padding: calc(4 / var(--base-width) * 100vw);
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.contact__form-group > p > br {
    display: none;
}
.contact__form-group input[type="text"],
.contact__form-group input[type="tel"],
.contact__form-group input[type="email"],
.contact__form-group textarea {
    width: 100%;
    padding: calc(4 / var(--base-width) * 100vw) calc(16 / var(--base-width) * 100vw);
    border: 1px solid #DDDDDD;
    border-radius: calc(4 / var(--base-width) * 100vw);
    font-size: calc(16 / var(--base-width) * 100vw);
    line-height: 2;
    color: #222222;
    background-color: #F4F4F4;
    outline: none;
}
.contact__form-group input[type="text"]::placeholder,
.contact__form-group input[type="tel"]::placeholder,
.contact__form-group input[type="email"]::placeholder,
.contact__form-group textarea::placeholder {
    opacity: 0.3;
}
.contact__form-group textarea {
    padding: calc(8 / var(--base-width) * 100vw) calc(16 / var(--base-width) * 100vw);
    height: calc(240 / var(--base-width) * 100vw);
}
.contact__form-group--checkbox {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(8 / var(--base-width) * 100vw);
    width: auto;
}
.contact__form-group--checkbox > p {
    display: flex;
    align-items: center;
    gap: calc(8 / var(--base-width) * 100vw);
}
.contact__form-group--checkbox > p > span ,
.contact__form-group--checkbox > p > span .wpcf7-list-item {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}
.contact__form-group--checkbox input[type="checkbox"] {
    width: calc(20 / var(--base-width) * 100vw);
    height: calc(20 / var(--base-width) * 100vw);
    margin: 0;
    cursor: pointer;
}
.contact__form-group--checkbox label {
    display: flex;
    align-items: center;
    gap: calc(4 / var(--base-width) * 100vw);
    cursor: pointer;
    margin: 0;
}
.contact__form-group--checkbox-link {
    color: #000000;
    text-decoration: underline;
    font-size: calc(15 / var(--base-width) * 100vw);
    padding-right: calc(16 / var(--base-width) * 100vw);

}
.contact__form-group--checkbox-link:hover {
    opacity: 0.7;
}
.contact__form-group--checkbox img {
    width: calc(16 / var(--base-width) * 100vw);
    height: calc(16 / var(--base-width) * 100vw);
}
.contact__form-group--checkbox > p > label {
   position: relative;
}
.contact__form-group--checkbox > p > label::before {
    position: absolute;
    content: "";
    top: 12%;
    left: 62%;
    width: calc(16 / var(--base-width) * 100vw);
    height: calc(16 / var(--base-width) * 100vw);
    background: center center / contain no-repeat url(../images/share.webp);
    z-index: 2;
}
.contact__form-group--checkbox span {
    font-size: calc(15 / var(--base-width) * 100vw);
}
.contact__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: calc(12 / var(--base-width) * 100vw) calc(32 / var(--base-width) * 100vw);
    background: #F03D61;
    color: #fff;
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 700;
    line-height: 2;
    border: none;
    border-radius: calc(5 / var(--base-width) * 100vw);
    cursor: pointer;
    transition: opacity 0.3s;
}
.contact__submit:hover {
    opacity: 0.7;
}
.contact__submit:disabled {
    background: #ccc;
    cursor: not-allowed;
}

footer {
    background: #ffffff;
    padding-top: calc(76 / var(--base-width) * 100vw);
    padding-bottom: calc(16 / var(--base-width) * 100vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
}
.footer__inner {
    display: flex;
    align-items: start;
    justify-content: flex-start;
    gap: calc(108 / var(--base-width) * 100vw);
}
.footer__logo {
    width: calc(340 / var(--base-width) * 100vw);
    display: flex;
    align-items: start;
    justify-content: start;
    flex-direction: column;
    gap: calc(25 / var(--base-width) * 100vw);
}
.footer__logo img,
.footer__logo > svg {
    display: block;
    width: 100%;
    height: auto;
}
.footer__logo-icon {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: calc(24 / var(--base-width) * 100vw);
    height: calc(85 / var(--base-width) * 100vw);
}
.footer__logo .footer__logo-icon img {
    display: block;
    width: auto;
    height: 100%;
}
.footer__logo .footer__logo-icon img.footer__logo-icon04 {
    width: calc(190 / var(--base-width) * 100vw);
    height: auto;
}
.footer__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: calc(20 / var(--base-width) * 100vw);
    padding-top: calc(10 / var(--base-width) * 100vw);
}
.footer__linklist {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(32 / var(--base-width) * 100vw);
}
.footer__linklist a {
    color: #231815;
    font-size: calc(16 / var(--base-width) * 100vw);
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.3s;
}
.footer__linklist a:hover {
    opacity: 0.7;
}
.footer__linklist02 {
    display: flex;
    gap: calc(32 / var(--base-width) * 100vw);
}
.footer__linklist02 a {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: calc(6 / var(--base-width) * 100vw);
    text-decoration: none;
    transition: opacity 0.3s;
}
.footer__linklist02 a:hover {
    opacity: 0.7;
}
.footer__linklist02 a p {
    color: #000000;
    font-size: calc(14 / var(--base-width) * 100vw);
}
.footer__linklist02 a img {
    display: block;
    width: calc(14 / var(--base-width) * 100vw);
    height: calc(14 / var(--base-width) * 100vw);
}
.footer__copyright {
    font-family: "Montserrat", sans-serif;
    padding-top: calc(100 / var(--base-width) * 100vw);
    color: #000000;
    font-size: calc(12 / var(--base-width) * 100vw);
    font-weight: 500;
    text-align: center;
    margin-top: auto;
}

.fadein {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s, transform 0.6s;
}
.fadein.is-show {
    opacity: 1;
    transform: translateY(0);
}

.hamburger-menu {
    display: none;
}

.pc {display: block;}
.sp {display: none;}

@media screen and (max-width: 768px) {
    :root {--base-width: 390;}
    html {
        scroll-padding-top: calc(63 / var(--base-width) * 100vw);
    }
    .pc {display: none;}
    .sp {display: block;}
    header {
        height: calc(63 / var(--base-width) * 100vw);
        border-bottom: 1px solid #CCCCCC99;
    }
    .header__inner {
        gap: calc(182 / var(--base-width) * 100vw);
        padding-top: calc(10 / var(--base-width) * 100vw);
        padding-bottom: calc(12 / var(--base-width) * 100vw);
        padding-left: calc(16 / var(--base-width) * 100vw);
        padding-right: calc(16 / var(--base-width) * 100vw);
    }
    .header__logo {width: calc(161 / var(--base-width) * 100vw);}
    .header__nav {display: none;}
    .header__contact {display: none;}
    .fv {
        height: calc(638 / var(--base-width) * 100vw);
        background: center bottom / cover no-repeat url(../images/fv-bg-sp.webp);
    }
    .fv__inner{
        padding-top: calc(82 / var(--base-width) * 100vw);
        padding-left: 0;
    }
    .fv__item-text01 {
        padding-left: calc(21 / var(--base-width) * 100vw);
        width: calc(349 / var(--base-width) * 100vw);
        margin-bottom: calc(12 / var(--base-width) * 100vw);
    }
    .fv__item-text02 {
        padding-left: calc(22 / var(--base-width) * 100vw);
        width: calc(348 / var(--base-width) * 100vw);
        margin-bottom: calc(12 / var(--base-width) * 100vw);
    }
    .fv__link.cta-btn {
        margin: 0 auto;
    }
    .cta-section {
        padding-bottom: 0;
    }
    .cta {
        width: 100%;
        border-radius: 0;
        padding-top: calc(47 / var(--base-width) * 100vw);
        padding-bottom: calc(177 / var(--base-width) * 100vw);
    }
    .cta-text {
        padding-bottom: calc(16 / var(--base-width) * 100vw);
    }
    .cta-btn {
        padding-left: calc(50 / var(--base-width) * 100vw);
        padding-right: calc(68 / var(--base-width) * 100vw);
        width: calc(360 / var(--base-width) * 100vw);
        height: calc(80 / var(--base-width) * 100vw);
        box-shadow: 0 calc(4 / var(--base-width) * 100vw) 0 0 #B2223F;
        border-radius: calc(300 / var(--base-width) * 100vw);
    }
    .cta-btn p:first-of-type {
        font-size: calc(13 / var(--base-width) * 100vw);
    }
    .cta-btn p:last-of-type {
        font-size: calc(23 / var(--base-width) * 100vw);
    }
    .cta-btn img {
        right: calc(28 / var(--base-width) * 100vw);
        width: calc(20 / var(--base-width) * 100vw);
    }
    .cta-icon01 {
        left: calc(8 / var(--base-width) * 100vw);
        width: calc(111 / var(--base-width) * 100vw);
    }
    .cta-icon02 {
        right: calc(7 / var(--base-width) * 100vw);
        width: calc(126 / var(--base-width) * 100vw);
    }
    .fv__img {
        width: 100%;
        bottom: calc(-16 / var(--base-width) * 100vw);
    }
    .about {
        padding-top: calc(34 / var(--base-width) * 100vw);
        padding-bottom: calc(151 / var(--base-width) * 100vw);
    }
    .about__inner {
        padding-left: calc(16 / var(--base-width) * 100vw);
        padding-right: calc(14 / var(--base-width) * 100vw);
    }
    .about__content {
        width: calc(360 / var(--base-width) * 100vw);
        margin: 0 auto;
        padding: calc(32 / var(--base-width) * 100vw) calc(16 / var(--base-width) * 100vw);
        border-radius: calc(24 / var(--base-width) * 100vw);
    }
    .about__content-list {
        gap: calc(8 / var(--base-width) * 100vw);
        margin-bottom: calc(8 / var(--base-width) * 100vw);
    }
    .about__content-list-item {
        height: calc(27 / var(--base-width) * 100vw);
        padding-left: calc(16 / var(--base-width) * 100vw);
        padding-right: calc(16 / var(--base-width) * 100vw);
        border-radius: calc(100 / var(--base-width) * 100vw);
        font-size: calc(14 / var(--base-width) * 100vw);
    }
    .about__content > p {
        font-size: calc(16 / var(--base-width) * 100vw);
        margin-bottom: calc(24 / var(--base-width) * 100vw);
        line-height: 1.5;
    }
    .about__content > p .about__content-text {
        display: block;
        margin-bottom: calc(8 / var(--base-width) * 100vw);
    }
    .about__content > p .about__content-text:last-of-type {
        margin-bottom: 0;
    }
    .about__content > p .big {
        font-size: calc(20 / var(--base-width) * 100vw);
    }
    .about__icon01 {
        left: calc(8 / var(--base-width) * 100vw);
        width: calc(126 / var(--base-width) * 100vw);
    }
    .about__icon02 {
        right: 0;
        bottom: 0;
        width: calc(140 / var(--base-width) * 100vw);
    }
    .reality {
        padding-bottom: calc(92 / var(--base-width) * 100vw);
        background: center top / cover no-repeat url(../images/reality-bg-sp.webp);
    }
    .reality__content {
        width: calc(360 / var(--base-width) * 100vw);
    }
    .reality__content-list {
        flex-direction: column;
        gap: 0;
    }
    .reality__content-list-item {
        margin-bottom: calc(42 / var(--base-width) * 100vw);
    }
    .reality__arrow01 ,
    .reality__arrow02 ,
    .reality__arrow03 {
        top: calc(407 / var(--base-width) * 100vw);
        width: calc(36 / var(--base-width) * 100vw);
        left: calc(161 / var(--base-width) * 100vw);
    }
    .reality__icon01 {
        width: calc(298 / var(--base-width) * 100vw);
        margin-bottom: calc(68 / var(--base-width) * 100vw);
    }
    .reality__icon02 {
        width: calc(212 / var(--base-width) * 100vw);
        margin-bottom: calc(68 / var(--base-width) * 100vw);
    }
    .reality__icon03 {
        width: calc(297 / var(--base-width) * 100vw);
    }
    .service {
        padding-top: calc(32 / var(--base-width) * 100vw);
    }
    .service__title {
        width: 100%;
        font-size: calc(24 / var(--base-width) * 100vw);
        line-height: 1.8;
        margin-bottom: calc(31 / var(--base-width) * 100vw);
    }
    .service__title::before {
        top: calc(56 / var(--base-width) * 100vw);
        left: calc(8 / var(--base-width) * 100vw);
        height: calc(173 / var(--base-width) * 100vw);
        background: center center / contain no-repeat url(../images/service-title-icon01-sp.webp);
    }
    .service__title::after {
        top: calc(56 / var(--base-width) * 100vw);
        right: calc(8 / var(--base-width) * 100vw);
        height: calc(173 / var(--base-width) * 100vw);
        background: center center / contain no-repeat url(../images/service-title-icon02-sp.webp);
    }
    .service__text {
        display: none;
    }
    .service__content {
        width: calc(360 / var(--base-width) * 100vw);
        padding: calc(32 / var(--base-width) * 100vw) calc(16 / var(--base-width) * 100vw);
    }
    .service__about-title {
        font-size: calc(16 / var(--base-width) * 100vw);
    }
    .service__about-subtitle {
        font-size: calc(26 / var(--base-width) * 100vw);
    }
    .service__about-text {
        padding-top: calc(36 / var(--base-width) * 100vw);
    }
    .service__comparison {
        width: calc(360 / var(--base-width) * 100vw);
    }
    .service__comparison-wrapper {
        width: calc(360 / var(--base-width) * 100vw);
        overflow-x: scroll;
    }
    .service__comparison-title {
        font-size: calc(16 / var(--base-width) * 100vw);
    }
    .service__comparison-subtitle {
        font-size: calc(26 / var(--base-width) * 100vw);
    }
    .service__comparison-table {
        width: calc(1120 / var(--base-width) * 100vw);
    }
    .service__comparison-table th {
        width: calc(250 / var(--base-width) * 100vw);
    }
    .service__comparison-table th:first-of-type {
        width: calc(140 / var(--base-width) * 100vw);
    }
    .service__comparison-table th:nth-of-type(2) {
        width: calc(230 / var(--base-width) * 100vw);
    }
    .service__comparison-table td {
        padding-left: calc(12 / var(--base-width) * 100vw);
        padding-right: calc(12 / var(--base-width) * 100vw);
    }
    .feature__inner {
        width: calc(360 / var(--base-width) * 100vw);
    }
    .feature__title {
        font-size: calc(16 / var(--base-width) * 100vw);
    }
    .feature__subtitle {
        font-size: calc(26 / var(--base-width) * 100vw);
    }
    .feature__content {
        padding-top: calc(36 / var(--base-width) * 100vw);
    }
    .feature__item,
    .feature__item:nth-of-type(2n) {
        flex-direction: column;
        align-items: center;
        padding-bottom: calc(32 / var(--base-width) * 100vw);
        border-bottom: 1px solid #B7D2FF;
        margin-bottom: calc(32 / var(--base-width) * 100vw);
    }
    .feature__item:last-of-type {
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: none;
    }
    .feature__item-title,
    .feature__item-title span {
        font-size: calc(20 / var(--base-width) * 100vw);
    }
    .feature__item-text {
        width: 100%;
        padding-bottom: calc(80 / var(--base-width) * 100vw);
    }
    .feature__item-number {
        bottom: calc(10 / var(--base-width) * 100vw);
        right: calc(-12 / var(--base-width) * 100vw);
    }
    .feature__item-image {
        width: calc(314 / var(--base-width) * 100vw);
    }
    .feature__item-image-serif {
        width: calc(100 / var(--base-width) * 100vw);
    }
    .feature__item-image-serif.serif01 {
        top: calc(-10 / var(--base-width) * 100vw);
        right: calc(18 / var(--base-width) * 100vw);
    }
    .feature__item-image-serif.serif02 {
        top: calc(-42 / var(--base-width) * 100vw);
        left: calc(20 / var(--base-width) * 100vw);
    }
    .feature__item-image-serif p {
        font-size: calc(14 / var(--base-width) * 100vw);
    }
    .trust {
        padding-bottom: 0;
    }
    .trust__inner {
        width: calc(360 / var(--base-width) * 100vw);
    }
    .trust__title {
        font-size: calc(16 / var(--base-width) * 100vw);
    }
    .trust__subtitle {
        font-size: calc(26 / var(--base-width) * 100vw);
    }
    .trust__content {
        flex-direction: column;
    }
    .reason {
        padding-bottom: calc(54 / var(--base-width) * 100vw);
    }
    .reason__inner {
        width: calc(360 / var(--base-width) * 100vw);
        padding: calc(32 / var(--base-width) * 100vw) calc(12 / var(--base-width) * 100vw);
    }
    .reason__title {
        font-size: calc(16 / var(--base-width) * 100vw);
    }
    .reason__subtitle {
        font-size: calc(26 / var(--base-width) * 100vw);
    }
    .reason__text {
        padding-bottom: calc(36 / var(--base-width) * 100vw);
    }
    .reason__content {
        width: calc(336 / var(--base-width) * 100vw);
        flex-direction: column;
        align-items: center;
    }
    .reason__list {
        width: calc(336 / var(--base-width) * 100vw);
        border-radius: calc(16 / var(--base-width) * 100vw);
        padding: calc(46 / var(--base-width) * 100vw) calc(16 / var(--base-width) * 100vw) calc(24 / var(--base-width) * 100vw);
    }
    .reason__list-title {
        width: calc(280 / var(--base-width) * 100vw);
    }
    .reason__list-items {
        flex-direction: column;
        width: 100%;
        gap: calc(8 / var(--base-width) * 100vw);
    }
    .reason__list-items li {
        width: 100%;
    }
    .reason__list-items li:nth-of-type(2n-1) {
        width: 100%;
    }
    .reason__list-items li:nth-of-type(2n) {
        width: 100%;
        order: 4;
    }
    .value {
        padding-top: calc(32 / var(--base-width) * 100vw);
        padding-bottom: calc(32 / var(--base-width) * 100vw);
    }
    .value__inner {
        width: calc(360 / var(--base-width) * 100vw);
    }
    .value__title {
        font-size: calc(16 / var(--base-width) * 100vw);
    }
    .value__subtitle {
        font-size: calc(26 / var(--base-width) * 100vw);
    }
    .value__content {
        padding: calc(32 / var(--base-width) * 100vw) calc(12 / var(--base-width) * 100vw);
        margin-top: calc(36 / var(--base-width) * 100vw);
        margin-bottom: calc(36 / var(--base-width) * 100vw);
    }
    .value__content-text {
        width: calc(324 / var(--base-width) * 100vw);
        height: calc(70 / var(--base-width) * 100vw);
        line-height: 1.5;
    }
    .value__items {
        flex-wrap: wrap;
        justify-content: center;
        gap: calc(20 / var(--base-width) * 100vw);
    }
    .value__item {
        width: calc(150 / var(--base-width) * 100vw);
    }
    .value__item-image {
        width: calc(150 / var(--base-width) * 100vw);
        height: calc(150 / var(--base-width) * 100vw);
        padding-top: calc(17 / var(--base-width) * 100vw);
    }
    .value__item-image img {
        height: calc(63 / var(--base-width) * 100vw);
    }
    .value__item-price {
        font-size: calc(12 / var(--base-width) * 100vw);
    }
    .value__item-price span {
        font-size: calc(19 / var(--base-width) * 100vw);
    }
    .value__item-title {
        font-size: calc(17 / var(--base-width) * 100vw);
        margin-bottom: calc(10 / var(--base-width) * 100vw);
    }
    .value__plus {
        margin: calc(15 / var(--base-width) * 100vw) calc(150 / var(--base-width) * 100vw);
    }
    .value__result-title {
        width: 100%;
        font-size: calc(18 / var(--base-width) * 100vw);
        line-height: 1.8;
    }
    .value__result-title::before {
        top: 0;
        transform: none;
        background: center center / contain no-repeat url(../images/value-title-icon01-sp.webp);
    }
    .value__result-title::after {
        top: 0;
        transform: none;
        background: center center / contain no-repeat url(../images/value-title-icon02-sp.webp);
    }
    .value__result-title .big {
        font-size: calc(42 / var(--base-width) * 100vw);
        line-height: 1.2;
    }
    .value__result-title .marker b {
        font-size: calc(56 / var(--base-width) * 100vw);
        line-height: 1.2;
    }
    .value__result-note {
        line-height: 2;
    }
    .cases {
        padding-top: calc(54 / var(--base-width) * 100vw);
    }
    .cases__inner {
        width: calc(360 / var(--base-width) * 100vw);
    }
    .cases__title {
        font-size: calc(16 / var(--base-width) * 100vw);
    }
    .cases__subtitle {
        font-size: calc(26 / var(--base-width) * 100vw);
    }
    .cases__content {
        flex-direction: column;
        padding-top: calc(36 / var(--base-width) * 100vw);
    }
    .cases__item {
        padding: calc(20 / var(--base-width) * 100vw) calc(24 / var(--base-width) * 100vw) calc(20 / var(--base-width) * 100vw) calc(20 / var(--base-width) * 100vw);
    }
    .works__title {
        font-size: calc(16 / var(--base-width) * 100vw);
    }
    .works__subtitle {
        font-size: calc(26 / var(--base-width) * 100vw);
    }
    .works__swiper {
        padding-top: calc(36 / var(--base-width) * 100vw);
        padding-left: calc(15 / var(--base-width) * 100vw);
        padding-right: calc(15 / var(--base-width) * 100vw);
    }
    .works__item-image {
        height: calc(236 / var(--base-width) * 100vw);
        border-radius: calc(16 / var(--base-width) * 100vw);
    }
    .works .swiper-button-prev {
        top: calc(135 / var(--base-width) * 100vw);
        left: 0;
        width: calc(40 / var(--base-width) * 100vw);
        height: calc(40 / var(--base-width) * 100vw);
        margin: 0;
    }
    .works .swiper-button-next {
        top: calc(135 / var(--base-width) * 100vw);
        right: 0;
        width: calc(40 / var(--base-width) * 100vw);
        height: calc(40 / var(--base-width) * 100vw);
        margin: 0;
    }
    .faq__inner {
        width: calc(360 / var(--base-width) * 100vw);
    }
    .faq__title {
        font-size: calc(16 / var(--base-width) * 100vw);
    }
    .faq__subtitle {
        font-size: calc(26 / var(--base-width) * 100vw);
    }
    .faq__list {
        padding-top: calc(36 / var(--base-width) * 100vw);
    }
    .faq__question {
       padding: calc(24 / var(--base-width) * 100vw) calc(16 / var(--base-width) * 100vw);
    }
    .faq__icon-question {
        font-size: calc(24 / var(--base-width) * 100vw);
        width: calc(34 / var(--base-width) * 100vw);
        white-space: nowrap;
    }
    .faq__question p {
        padding-right: calc(48 / var(--base-width) * 100vw);
    }
    .faq__answer {
        padding: 0 calc(16 / var(--base-width) * 100vw) 0;
    }
    .faq__item.active .faq__answer {
        padding: 0 calc(16 / var(--base-width) * 100vw) calc(24 / var(--base-width) * 100vw);
    }
    .faq__answer a {
        margin: 0 auto;
    }
    .message {
        padding-bottom: calc(360 / var(--base-width) * 100vw);
        position: relative;
    }
    .message__inner {
        width: 100%;
    }
    .message__content {
        flex-direction: column;
        width: 100%;
        padding-right: 0;
        padding-top: calc(24 / var(--base-width) * 100vw);
        gap: calc(24 / var(--base-width) * 100vw);
    }
    .message__content::before {
        width: calc(356 / var(--base-width) * 100vw);
        height: calc(888 / var(--base-width) * 100vw);
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .message__left {
        width: 100%;
    }
    .message__title {
        padding-left: calc(10 / var(--base-width) * 100vw);
        font-size: calc(48 / var(--base-width) * 100vw);
        padding-bottom: 0;
        text-align: left;
    }
    .message__right {
        width: 100%;
        padding-top: 0;
        padding-right: calc(20 / var(--base-width) * 100vw);
        align-items: flex-end;
    }
    .message__text {
        font-size: calc(16 / var(--base-width) * 100vw);
        line-height: 2;
        text-align: center;
        width: calc(319 / var(--base-width) * 100vw);
        letter-spacing: 0.1em;
    }
    .message__highlight {
        font-size: calc(20 / var(--base-width) * 100vw);
        text-align: center;
        width: calc(319 / var(--base-width) * 100vw);
    }
    .message__highlight span.sp_btm {
        border-bottom: 2px dashed #FFEC5D;
    }
    .message__image {
        position: absolute;
        left: calc(20 / var(--base-width) * 100vw);
        bottom: calc(54 / var(--base-width) * 100vw);
        width: calc(316 / var(--base-width) * 100vw);
        z-index: 2;
    }
    .contact__inner {
        width: calc(360 / var(--base-width) * 100vw);
    }
    .contact__title {
        font-size: calc(16 / var(--base-width) * 100vw);
    }
    .contact__subtitle {
        font-size: calc(26 / var(--base-width) * 100vw);
    }
    .contact__form {
        padding: calc(32 / var(--base-width) * 100vw) calc(16 / var(--base-width) * 100vw);
    }
    .contact__form-text {
        padding-bottom: calc(24 / var(--base-width) * 100vw);
    }
    .contact__form-group {
        padding-bottom: calc(24 / var(--base-width) * 100vw);
    }
    .contact__form-group .required {
        margin-left: calc(8 / var(--base-width) * 100vw);
    }
    .contact__form-group--checkbox img {
        width: calc(14 / var(--base-width) * 100vw);
        height: calc(14 / var(--base-width) * 100vw);
    }
    footer {
        padding-top: calc(36 / var(--base-width) * 100vw);
        padding-bottom: calc(18 / var(--base-width) * 100vw);
    }
    .footer__inner {
        width: calc(320 / var(--base-width) * 100vw);
        gap: calc(100 / var(--base-width) * 100vw);
        flex-direction: column-reverse;
    }
    .footer__logo {
        width: calc(268 / var(--base-width) * 100vw);
        margin: 0 auto;
        align-items: center;
    }
    .footer__logo-icon {
        height: calc(72 / var(--base-width) * 100vw);
        flex-wrap: wrap;
        justify-content: center;
    }
    .footer__content {
        gap: calc(32 / var(--base-width) * 100vw);
    }
    .footer__linklist {
        flex-direction: column;
        align-items: start;
        gap: calc(24 / var(--base-width) * 100vw);
    }
    .footer__linklist02 {
        flex-direction: column;
        align-items: start;
        gap: calc(16 / var(--base-width) * 100vw);
    }
    .footer__copyright {
        padding-top: calc(100 / var(--base-width) * 100vw);
    }

    /* ハンバーガーメニュー */
    .hamburger-menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: #0049C3;
        z-index: 1002;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s, visibility 0.3s;
        display: block;
    }
    .hamburger-menu.is-active {
        opacity: 1;
        visibility: visible;
    }
    .hamburger-menu__inner {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
        padding: calc(15 / var(--base-width) * 100vw);
    }
    .hamburger-menu__header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: calc(40 / var(--base-width) * 100vw);
    }
    .hamburger-menu__close {
        position: relative;
        margin-left: auto;
        width: calc(57 / var(--base-width) * 100vw);
        height: calc(28 / var(--base-width) * 100vw);
        background: none;
        border: none;
        cursor: pointer;
    }
    .hamburger-menu__close span {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        height: 1px;
        background: #ffffff;
    }
    .hamburger-menu__close span:first-child {
        transform: rotate(-30deg);
    }
    .hamburger-menu__close span:last-child {
        transform: rotate(-150deg);
    }
    .hamburger-menu__nav {
        display: flex;
        align-items: center;
        justify-content: start;
        flex-direction: column;
        gap: calc(32 / var(--base-width) * 100vw);
        padding-bottom: calc(60 / var(--base-width) * 100vw);
    }
    .hamburger-menu__nav a {
        color: #ffffff;
        font-size: calc(24 / var(--base-width) * 100vw);
        font-weight: 600;
        line-height: 1.5;
        text-align: center;
    }
    .hamburger-menu__contact {
        background: #F03D61;
        width: calc(360 / var(--base-width) * 100vw);
        height: calc(77 / var(--base-width) * 100vw);
        border-radius: calc(300 / var(--base-width) * 100vw);
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }
    .hamburger-menu__contact p {
        font-size: calc(24 / var(--base-width) * 100vw);
        font-weight: 600;
        color: #fff;
    }
    .hamburger-menu__contact img {
        position: absolute;
        top: 50%;
        right: calc(30 / var(--base-width) * 100vw);
        transform: translateY(-50%);
        width: calc(20 / var(--base-width) * 100vw);
    }
    /* ハンバーガーボタン */
    .hamburger-button {
        position: fixed;
        top: calc(20 / var(--base-width) * 100vw);
        right: calc(16 / var(--base-width) * 100vw);
        width: calc(50 / var(--base-width) * 100vw);
        height: calc(22 / var(--base-width) * 100vw);
        background: none;
        border: none;
        cursor: pointer;
        z-index: 1001;
        display: block;
    }
    .hamburger-button span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 1px;
        background: #231815;
    }
    .hamburger-button span:first-child {
        top: 0;
    }
    .hamburger-button span:nth-child(2) {
        top: 50%;
        transform: translateY(-50%);
    }
    .hamburger-button span:last-child {
        bottom: 0;
    }
}

