:root { --width: calc(1 / 1440 * 100vw); }
@media (max-width: 780px) { :root { --width: 1 / 390 * 100vw; } }
.pc{display: block;} .sp{display: none;}
@media (max-width: 780px) {.pc{display: none;} .sp{display: block;}}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Noto Sans JP', sans-serif;
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(85 * var(--width));
}
header,
main,
footer {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    position: relative;
}
header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
}
section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    width: 100%;
}
img,
picture {
    width: 100%;
    height: auto;
    display: block;
}

.header-logo {
    position: absolute;
    left: calc(44 * var(--width));
    top: calc(6 * var(--width));
    width: calc(318 * var(--width));
    height: calc(73 * var(--width));
}
.header-tel {
    position: absolute;
    right: calc(300 * var(--width));
    top: calc(0 * var(--width));
    width: calc(300 * var(--width));
    height: calc(85 * var(--width));
}
.header-contact {
    position: absolute;
    right: calc(0 * var(--width));
    top: calc(0 * var(--width));
    width: calc(300 * var(--width));
    height: calc(85 * var(--width));
}
.rate-cta-btn {
    position: absolute;
    top: calc(1433 * var(--width));
    left: calc(415 * var(--width));
    width: calc(596 * var(--width));
    height: calc(114 * var(--width));
}
.time {
    background: linear-gradient(to bottom, #FF1D09, #B40E00);
    width: 100%;
    height: calc(60 * var(--width));
    display: flex;
    flex-direction: row;
    align-items: baseline;
    justify-content: center;
    padding-top: calc(8 * var(--width));
    overflow: hidden;
}

.time-scroll-container {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    justify-content: flex-start;
    animation: scroll-horizontal 10s linear infinite;
    white-space: nowrap;
}

.time-scroll-content {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    justify-content: flex-start;
    flex-shrink: 0;
    padding-right: calc(280 * var(--width));
}

@keyframes scroll-horizontal {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-100 / 4 * 1%));
    }
}
.time-scroll-content p:nth-of-type(1) {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #fff;
    line-height: 1;
    margin-right: calc(24 * var(--width));
}
.time-highlight {
    color: #FBD713;
}
.time-scroll-content p:nth-of-type(2) {
    font-size: calc(20 * var(--width));
    font-weight: 700;
    color: #fff;
    line-height: 1;
    margin-right: calc(8 * var(--width));
}
.time-scroll-content p:nth-of-type(3) {
    font-size: calc(40 * var(--width));
    font-weight: 900;
    color: #FBD713;
    line-height: 1;
    text-shadow: 0px 2px 4px 0px #00000040;
}
.time-scroll-content p:nth-of-type(4) {
    font-size: calc(24 * var(--width));
    font-weight: 900;
    color: #fff;
    line-height: 1;
    margin-right: calc(8 * var(--width));
}
.time-scroll-content p:nth-of-type(5) {
    font-size: calc(20 * var(--width));
    font-weight: 700;
    color: #fff;
    line-height: 1;
    margin-right: calc(24 * var(--width));
}
.time-scroll-content p:nth-of-type(6) {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #fff;
    line-height: 1;
}
main {
    padding-top: calc(84 * var(--width));
}
.fv {
    margin-bottom: calc(40 * var(--width));
}
.reasons {
    margin-bottom: calc(60 * var(--width));
}
.problem {
    margin-bottom: calc(60 * var(--width));
}
.cta {
    margin-top: calc(80 * var(--width));
    margin-bottom: calc(120 * var(--width));
    width: calc(1060 * var(--width));
}
.cta > a {
    position: absolute;
    top: calc(343 * var(--width));
    left: calc(222 * var(--width));
    width: calc(596 * var(--width));
    height: calc(114 * var(--width));
}
.about {
    margin-top: calc(-120 * var(--width));
}
.flow {
    margin-top: calc(-120 * var(--width));
}
.questions {
    margin-top: calc(-480 * var(--width));
}
.contact-form,
.contact .formmailer-embed,
.contact form {
    position: absolute;
    top: calc(345 * var(--width));
    left: calc(210 * var(--width));
    width: calc(1020 * var(--width));
    height: calc(353 * var(--width));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}
.contact .formmailer-embed,
.contact form {
    height: calc(1100 * var(--width));
}
.contact form {
    left: 50%;
    transform: translateX(-50%);
}
.contact form > h1 {
    margin-bottom: calc(24 * var(--width));
}
.contact form > p {
    width: 100%;
}
.contact form > p,
.contact form > p input {
    font-size: calc(24 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1;
}
.contact form > p input[type="text"],
.contact form > p input[type="tel"],
.contact form > p input[type="email"],
.contact form > p select,
.contact form > p textarea {
    border: 2px solid #222;
    border-radius: calc(6 * var(--width));
    padding: calc(9 * var(--width)) calc(32 * var(--width));
    font-size: calc(22 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1.5;
    outline: none;
    width: 31%;
}
.contact form > p:nth-of-type(1) {
    text-align: center;
}
.contact form > p:nth-of-type(2) {
    margin-top: calc(24 * var(--width));
}
.contact form > p:nth-of-type(3) {
    margin-top: calc(12* var(--width));
}
.contact form > p:nth-of-type(4) {
    margin-top: calc(24 * var(--width));
}
.contact form > p:nth-of-type(5) {
    margin-top: calc(12* var(--width));
}
.contact form > p:nth-of-type(6) {
    margin-top: calc(24 * var(--width));
}
.contact form > p:nth-of-type(7) {
    margin-top: calc(12* var(--width));
}
.contact form > p:nth-of-type(7) input {
    width: 100%;
}
.contact form > p:nth-of-type(8) {
    margin-top: calc(24 * var(--width));
}
.contact form > p:nth-of-type(9) {
    margin-top: calc(12* var(--width));
}
.contact form > p:nth-of-type(9) select {
    width: 100%;
}
.contact form > p:nth-of-type(10) {
    margin-top: calc(24 * var(--width));
}
.contact form > p:nth-of-type(11) {
    margin-top: calc(12* var(--width));
}
.contact form > p:nth-of-type(11) input {
    width: 100%;
}
.contact form > p:nth-of-type(12) {
    margin-top: calc(24 * var(--width));
}
.contact form > p:nth-of-type(13) {
    margin-top: calc(12* var(--width));
}
.contact form > p:nth-of-type(14) {
    margin-top: calc(24 * var(--width));
}
.contact form > p:nth-of-type(15) {
    margin-top: calc(12* var(--width));
}
.contact form > p:nth-of-type(15) textarea {
    width: 100%;
}
.contact-form-item {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: calc(40 * var(--width));
}
.contact-form-item-title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-top: calc(14 * var(--width));
}
.contact-form-item-title-text {
    font-size: calc(24 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1;
}
.required {
    font-size: calc(20 * var(--width));
    font-weight: 500;
    color: #fff;
    background-color: #FF1D09;
    line-height: 1;
    padding: calc(6 * var(--width)) calc(14 * var(--width));
    border-radius: calc(6 * var(--width));
    margin-left: calc(16 * var(--width));
}
.contact-form-item-input {
    width: calc(680 * var(--width));
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: calc(32 * var(--width));
    position: relative;
}
.contact-form-item-input input[type="text"] ,
.contact-form-item-input input[type="tel"] ,
.contact-form-item-input input[type="email"] ,
.contact-form-item-input textarea {
    width: 100%;
    border: 2px solid #222;
    border-radius: calc(6 * var(--width));
    padding: calc(9 * var(--width)) calc(32 * var(--width));
    font-size: calc(24 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1.5;
    outline: none;
}
.contact-form-item-input textarea {
    height: calc(200 * var(--width));
    padding: calc(16 * var(--width)) calc(32 * var(--width));
}
.contact-form-item-input input[type="text"]::placeholder ,
.contact-form-item-input input[type="tel"]::placeholder ,
.contact-form-item-input input[type="email"]::placeholder ,
.contact-form-item-input textarea::placeholder {
    color: #BEBEBE;
}
.contact-form-item-input.select::after {
    content: "▼";
    position: absolute;
    right: calc(312 * var(--width));
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 12px;
    color: #333;
}
.contact-form-item-input select {
    width: calc(400 * var(--width));
    border: 2px solid #222;
    border-radius: calc(6 * var(--width));
    padding: calc(9 * var(--width)) calc(32 * var(--width));
    font-size: calc(24 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1.5;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
}
.contact-form-item-input.checkbox {
    padding-top: calc(9 * var(--width));
}
.contact-form-item-input label {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: calc(16 * var(--width));
}
.contact-form-item-input label input[type="checkbox"] {
    width: calc(40 * var(--width));
    height: calc(40 * var(--width));
    border: 2px solid #222;
    border-radius: calc(6 * var(--width));
    outline: none;
}
.contact-form-item-input label p {
    font-size: calc(24 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1;
    width: calc(120 * var(--width));
}
.contact-form-item-text {
    text-align: center;
    font-size: calc(18 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1;
    margin-bottom: calc(40 * var(--width));
}
.contact-form-item-text a {
    font-size: calc(18 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1;
    text-decoration: underline;
}
.contact form > p:nth-of-type(16) {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: calc(24 * var(--width));
}
.contact-form-btn,
.contact form > p:nth-of-type(16) input[name="submit"] {
    background: unset;
    border: none;
    outline: none;
    cursor: pointer;
    width: calc(620 * var(--width));
}
.contact form > p:nth-of-type(16) input[name="submit"] { 
    background: #f66c00;
    padding: calc(22 * var(--width));
    border-radius: calc(10 * var(--width));
    color: #fff;
    font-size: calc(24 * var(--width));
    font-weight: 700;
    line-height: 1;
}
.contact form > p:nth-of-type(17) {
    text-align: right;
    font-size: calc(14 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1;
    margin-top: calc(12 * var(--width));
}
.contact form > p:nth-of-type(17) a {
    font-size: calc(14 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1;
}
footer {
    padding-bottom: calc(90 * var(--width));
}
footer a {
    position: absolute;
    bottom: calc(112 * var(--width));
    left: calc(580 * var(--width));
    width: calc(272 * var(--width));
    height: calc(24 * var(--width));
}
.banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}
.banner-text {
    position: absolute;
    top: calc(17 * var(--width));
    left: 49.2%;
    transform: translateX(-50%);
    font-size: calc(14 * var(--width));
    font-weight: 700;
    color: #fff;
    line-height: 1.4;
}
.banner-tel {
    position: absolute;
    top: calc(42 * var(--width));
    left: 51%;
    transform: translateX(-50%);
    font-size: calc(35 * var(--width));
    font-weight: 700;
    color: #fff;
    line-height: 1;
    letter-spacing: -0.05em;
}
.banner-tel a {
    font-size: calc(35 * var(--width));
    font-weight: 700;
    color: #fff;
    line-height: 1;
    letter-spacing: -0.05em;
}
.success-message {
    background-color: #d4edda; 
    color: #155724; 
    padding: calc(15 * var(--width)); 
    border: 1px solid #c3e6cb; 
    border-radius: calc(5 * var(--width)); 
    text-align: center;
    position: fixed;
    bottom: calc(120 * var(--width));
    font-size: calc(18 * var(--width));
    z-index: 101;
    opacity: 1;
    animation: fadeOut 5.5s ease-out forwards;
}
.error-message {
    background-color: #f8d7da; 
    color: #721c24; 
    padding: calc(15 * var(--width)); 
    border: 1px solid #f5c6cb; 
    border-radius: 5px; 
    text-align: center;
    position: fixed;
    bottom: calc(120 * var(--width));
    font-size: calc(18 * var(--width));
    z-index: 101;
    opacity: 1;
    animation: fadeOut 5.5s ease-out forwards;
}

.rate-title {
    position: absolute;
    top: calc(220 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    font-size: calc(48 * var(--width));
    line-height: 1.3;
    font-weight: 700;
    color: #222222;
}
.rate-text01 {
    position: absolute;
    top: calc(455 * var(--width));
    right: calc(130 * var(--width));
    width: calc(540 * var(--width));
    font-size: calc(18 * var(--width));
    line-height: 1.5;
    font-weight: 400;
    color: #222222;
    text-align: center;
}
.rate-text01-bold01 {
    font-weight: 900;
    color: #0C2683;
    font-size: calc(24 * var(--width));
}
.rate-text01-bold02 {
    font-weight: 900;
    color: #F76D00;
    font-size: calc(32 * var(--width));
}
.rate-text02 {
    position: absolute;
    top: calc(950 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    font-size: calc(32 * var(--width));
    line-height: 1;
    font-weight: 900;
    color: #F76D00;
    width: 90%;
}
.rate-text03 {
    position: absolute;
    top: calc(1030 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    font-size: calc(24 * var(--width));
    line-height: 1;
    font-weight: 700;
    color: #222222;
    width: 90%;
}
.rate-text04 {
    position: absolute;
    top: calc(1180 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    font-size: calc(40 * var(--width));
    line-height: 1;
    font-weight: 700;
    color: #FFD000;
    width: 90%;
}
.rate-text05 {
    position: absolute;
    top: calc(1295 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    font-size: calc(32 * var(--width));
    line-height: 1;
    font-weight: 700;
    color: #163791;
    width: 90%;
}
.rate-text06 {
    position: absolute;
    top: calc(1358 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    font-size: calc(40 * var(--width));
    line-height: 1;
    font-weight: 700;
    color: #163791;
    width: 90%;
}
.rate-text07 {
    position: absolute;
    top: calc(1446 * var(--width));
    left: 53%;
    transform: translateX(-50%);
    text-align: center;
    font-size: calc(64 * var(--width));
    line-height: 1;
    font-weight: 700;
    color: #fff;
    width: 90%;
    letter-spacing: -0.05em;
    text-decoration: none;
    -webkit-touch-callout: none;
    -webkit-user-select: text;
    user-select: text;
}
.rate-text07 a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: calc(64 * var(--width));
    line-height: 1;
    font-weight: 700;
    color: #fff;
    width: 90%;
    letter-spacing: -0.05em;
    text-decoration: none;
    width: 100%;
    height: 100%;
}
.rate-text08 {
    position: absolute;
    top: calc(1573 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    font-size: calc(30 * var(--width));
    line-height: 1;
    font-weight: 700;
    color: #222222;
    width: 90%;
}
.rate-text09 {
    position: absolute;
    top: calc(1845 * var(--width));
    right: calc(130 * var(--width));
    text-align: center;
    font-size: calc(18 * var(--width));
    line-height: 1.5;
    font-weight: 500;
    color: #222222;
    width: calc(540 * var(--width));
    letter-spacing: 0.05em;
}
.rate-text09-bold01 {
    font-weight: 900;
    color: #F76D00;
    font-size: calc(32 * var(--width));
    line-height: 1.5;
}
.rate-text09-bold02 {
    font-weight: 900;
    color: #0C2683;
}

.reasons-title {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    font-size: calc(48 * var(--width));
    line-height: 1.3;
    font-weight: 700;
    color: #222222; 
}
.reasons-text01 {
    position: absolute;
    top: calc(265 * var(--width));
    left: calc(670 * var(--width));
    font-size: calc(32 * var(--width));
    line-height: 1;
    font-weight: 900;
    color: #F76D00;
}
.reasons-text02 {
    position: absolute;
    top: calc(320 * var(--width));
    left: calc(670 * var(--width));
    font-size: calc(18 * var(--width));
    line-height: 1.5;
    width: calc(562 * var(--width));
    letter-spacing: 0.05em;
}
.reasons-text02-bold {
    font-weight: 900;
    color: #0C2683;
}
.reasons-text03 {
    position: absolute;
    top: calc(825 * var(--width));
    left: calc(670 * var(--width));
    font-size: calc(32 * var(--width));
    line-height: 1;
    font-weight: 900;
    color: #F76D00;
}
.reasons-text04 {
    position: absolute;
    top: calc(880 * var(--width));
    left: calc(670 * var(--width));
    font-size: calc(18 * var(--width));
    line-height: 1.5;
    width: calc(562 * var(--width));
    letter-spacing: 0.05em;
}
.reasons-text04-bold {
    font-weight: 900;
    color: #0C2683;
}
.reasons-text05 {
    position: absolute;
    top: calc(1245 * var(--width));
    left: calc(670 * var(--width));
    font-size: calc(32 * var(--width));
    line-height: 1;
    font-weight: 900;
    color: #F76D00;
}
.reasons-text06 {
    position: absolute;
    top: calc(1300 * var(--width));
    left: calc(670 * var(--width));
    font-size: calc(18 * var(--width));
    line-height: 1.5;
    width: calc(562 * var(--width));
    letter-spacing: 0.05em;
}
.reasons-text06-bold {
    font-weight: 900;
    color: #0C2683;
}

.problem-title {
    position: absolute;
    top: calc(245 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(48 * var(--width));
    line-height: 1.3;
    font-weight: 700;
    color: #222;
    text-align: center;
}
.problem-title-bold {
    font-weight: 700;
    color: #F76D00;
}
.problem-text01 {
    position: absolute;
    top: calc(498 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(40 * var(--width));
    line-height: 1;
    font-weight: 700;
    color: #222;
    text-align: center;
}
.problem-text02 {
    position: absolute;
    top: calc(580 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(18 * var(--width));
    line-height: 1.5;
    width: calc(946 * var(--width));
    text-align: center;
}
.problem-text02-bold01 {
    font-weight: 900;
    color: #0C2683;
}
.problem-text02-bold02 {
    font-weight: 900;
    color: #0C2683;
}
.problem-text03 {
    position: absolute;
    top: calc(830 * var(--width));
    left: calc(432 * var(--width));
    font-size: calc(24 * var(--width));
    line-height: 1.5;
    font-weight: 700;
    color: #222;
    text-align: center;
}
.problem-text04 {
    position: absolute;
    top: calc(740 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(24 * var(--width));
    line-height: 1.5;
    font-weight: 700;
    color: #222;
    text-align: center;
}
.problem-text05 {
    position: absolute;
    top: calc(850 * var(--width));
    left: calc(826 * var(--width));
    font-size: calc(24 * var(--width));
    line-height: 1.5;
    font-weight: 700;
    color: #222;
    text-align: center;
}
.problem-text06 {
    position: absolute;
    top: calc(1250 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(32 * var(--width));
    line-height: 1.5;
    font-weight: 700;
    color: #F76D00;
    text-align: center;
}
.problem-text07 {
    position: absolute;
    top: calc(1340 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(18 * var(--width));
    line-height: 1.5;
    font-weight: 700;
    color: #222;
    text-align: center;
}
.problem-text07-bold01 {
    font-weight: 900;
    color: #0C2683;
}
.problem-text08 {
    position: absolute;
    top: calc(1568 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(32 * var(--width));
    line-height: 1.5;
    font-weight: 900;
    color: #fff;
    text-align: center;
    text-shadow: 0px 4px 4px #00000040;
}

.cta-title {
    position: absolute;
    top: calc(82 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(40 * var(--width));
    line-height: 1.5;
    font-weight: 700;
    color: #FFD000;
    text-align: center;
}
.cta-text01 {
    position: absolute;
    top: calc(192 * var(--width));
    left: 49%;
    transform: translateX(-50%);
    font-size: calc(32 * var(--width));
    line-height: 1.5;
    font-weight: 700;
    color: #0D2885;
    text-align: center;
}
.cta-text02 {
    position: absolute;
    top: calc(250 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(40 * var(--width));
    line-height: 1.5;
    font-weight: 700;
    color: #0D2885;
    text-align: center;
}
.cta-text03 {
    position: absolute;
    top: calc(364 * var(--width));
    left: 53%;
    transform: translateX(-50%);
    text-align: center;
    font-size: calc(64 * var(--width));
    line-height: 1;
    font-weight: 700;
    color: #fff;
    width: 90%;
    letter-spacing: -0.05em;
    -webkit-touch-callout: none;
    -webkit-user-select: text;
    user-select: text;
}
.cta-text03 a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: calc(64 * var(--width));
    line-height: 1;
    font-weight: 700;
    color: #fff;
    width: 90%;
    letter-spacing: -0.05em;
    text-decoration: none;
    width: 100%;
    height: 100%;
}
.cta-text04 {
    position: absolute;
    top: calc(473 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    font-size: calc(30 * var(--width));
    line-height: 1.5;
    font-weight: 700;
    color: #222;
}

.voice-title {
    position: absolute;
    top: calc(200 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(48 * var(--width));
    text-align: center;
    font-weight: 700;
    color: #222;
}
.voice-list01 {
    position: absolute;
    top: calc(723  * var(--width));
    left: calc(190 * var(--width));
}
.voice-list02 {
    position: absolute;
    top: calc(712 * var(--width));
    left: calc(803 * var(--width));
}
.voice-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}
.voice-list-item {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding-bottom: calc(36 * var(--width));

}
.voice-list-item-title {
    font-size: calc(18 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1.3;
    min-height: calc(32 * var(--width));
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.voice-list-item:nth-of-type(1) .voice-list-item-title {
    align-items: flex-start;
}
.voice-list-item-text {
    font-size: calc(18 * var(--width));
    font-weight: 500;
    color: #222;
    padding-left: calc(26 * var(--width));
    width: calc(412 * var(--width));
    min-height: calc(32 * var(--width));
}
.voice-list-item-text-bold01 {
    font-weight: 700;
}
.voice-list-item-text-bold02 {
    font-weight: 700;
    color: #F76D00;
}
.voice-list-item-text-bold03 {
    font-weight: 700;
    color: #0C2683;
}
.voice-list-bottom {
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    width: 100%;
}
.voice-list-bottom-name,
.voice-list-bottom-age {
    font-size: calc(18 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1.3;
}
.about-title {
    position: absolute;
    top: calc(1613 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(48 * var(--width));
    text-align: center;
    font-weight: 700;
    color: #FFD000;
}
.about-text01 {
    position: absolute;
    top: calc(2140 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(18 * var(--width));
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
    color: #222;
    width: 100%;
}
.about-text02 {
    position: absolute;
    top: calc(2182 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(18 * var(--width));
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
    color: #FF1D09;
    width: 100%;
}
.flow-title {
    position: absolute;
    top: calc(230 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(48 * var(--width));
    text-align: center;
    font-weight: 700;
    color: #222;
}
.flow-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: calc(1130 * var(--width));
    position: absolute;
    top: calc(355 * var(--width));
    left: 52%;
    transform: translateX(-50%);
}
.flow-list-item {
    display: flex;
    flex-direction: column; 
    align-items: flex-start;
    justify-content: flex-start;
    margin-bottom: calc(74 * var(--width));
    min-height: calc(236 * var(--width));
    padding: calc(60 * var(--width));
}
.flow-list-item-title {
    font-size: calc(32 * var(--width));
    font-weight: 700;
    color: #0C2683;
    line-height: 1.3;
    margin-bottom: calc(51 * var(--width));
}
.flow-list-item-text {
    font-size: calc(18 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1.3;
}
.questions-title {
    position: absolute;
    top: calc(230 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(48 * var(--width));
    text-align: center;
    font-weight: 700;
    color: #222;
}
.questions-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    position: absolute;
    top: calc(456 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    width: calc(1060 * var(--width));
}
.questions-list-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0 0 calc(64 * var(--width));
}
.questions-list-item-title {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #222;
    line-height: 1.3;
    margin-bottom: calc(23 * var(--width));
    padding-left: calc(48 * var(--width));
}
.questions-list-item-text {
    font-size: calc(18 * var(--width));
    font-weight: 500;
    color: #222;
    line-height: 1.5;
}
.questions-list-item-text-bold01 {
    font-weight: 700;
    color: #F76D00;
}
.questions-list-item-text-bold02 {
    font-weight: 700;
}
.contact-title {
    position: absolute;
    top: calc(65 * var(--width));
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(48 * var(--width));
    text-align: center;
    font-weight: 700;
    color: #222;
}




@media screen and (max-width: 780px) {
    html {
        scroll-padding-top: calc(48 * var(--width));
    }
    .header-logo {
        width: calc(171 * var(--width));
        height: calc(39 * var(--width));
        left: calc(10 * var(--width));
        top: calc(5 * var(--width));
    }
    .header-tel {
        width: calc(99 * var(--width));
        height: calc(48 * var(--width));
        right: calc(99 * var(--width));
    }
    .header-contact {
        width: calc(99 * var(--width));
        height: calc(48 * var(--width));
    }
    .rate-cta {
        position: absolute;
        top: calc(1014 * var(--width));
        left: calc(11 * var(--width));
        width: calc(366 * var(--width));
    }
    .rate-cta a {
        position: absolute;
        top: calc(200 * var(--width));
        left: calc(35 * var(--width));
        width: calc(300 * var(--width));
        height: calc(57 * var(--width));
        z-index: 5;
    }
    .reasons {
        width: calc(342 * var(--width));
    }
    .cta {
        width: calc(353 * var(--width));
        margin-top: calc(20 * var(--width));
        margin-bottom: calc(60 * var(--width));
    }
    .cta > a {
        top: calc(200 * var(--width));
        left: calc(23 * var(--width));
        width: calc(300 * var(--width));
        height: calc(57 * var(--width));
        z-index: 5;
    }
    main {
        padding-top: calc(48 * var(--width));
    }
    .time {
        padding-top: calc(0 * var(--width));
        height: calc(75 * var(--width));
        flex-wrap: nowrap;
    }
    .time-scroll-container {
        animation: scroll-horizontal-mobile 10s linear infinite;
    }
    .time-scroll-content {
        padding-right: calc(80 * var(--width));
        flex-wrap: wrap;
        width: calc(100vw + 80 * var(--width));
    }
    .time-scroll-content p:nth-of-type(1) {
        font-size: calc(20 * var(--width));
        margin-right: calc(16 * var(--width));
        color: #fff;
    }
    .time-scroll-content p:nth-of-type(2) {
        font-size: calc(17 * var(--width));
        margin-right: calc(6 * var(--width));
    }
    .time-scroll-content p:nth-of-type(3) {
        font-size: calc(36 * var(--width));
    }
    .time-scroll-content p:nth-of-type(4) {
        font-size: calc(20 * var(--width));
        margin-right: calc(6 * var(--width));
    }
    .time-scroll-content p:nth-of-type(5) {
        font-size: calc(17 * var(--width));
        margin-right: calc(16 * var(--width));
    }
    .time-scroll-content p:nth-of-type(6) {
        font-size: calc(20 * var(--width));
        text-align: center;
        width: 100%;
        padding-top: calc(8 * var(--width));
    }
    
    @keyframes scroll-horizontal-mobile {
        0% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(calc(-100 / 4 * 1%));
        }
    }
    .rate {
        margin-bottom: calc(20 * var(--width));
    }
    .about {
        margin-top: calc(-50 * var(--width));
    }
    .flow {
        margin-top: calc(-60 * var(--width));
    }
    .questions {
        margin-top: calc(-90 * var(--width));
    }
    .contact-form,
    .contact .formmailer-embed,
    .contact form {
        width: calc(310 * var(--width));
        left: calc(40 * var(--width));
        top: calc(220 * var(--width));
    }
    .contact .formmailer-embed,
    .contact form  {
        width: calc(340 * var(--width));
        left: calc(24 * var(--width));
        height: calc(1012 * var(--width));
    }
    .contact-form-item {
        flex-direction: column;
        padding-bottom: calc(24 * var(--width));
    }
    .contact-form-item-input {
        width: 100%;
    }
    .contact-form-item-input select {
        width: 100%;
        font-size: calc(16 * var(--width));
        padding: calc(8 * var(--width)) calc(16 * var(--width));
    }
    .contact-form-item-input.select::after {
        right: calc(16 * var(--width));
    }
    .contact-form-item-title {
        padding-top: calc(0 * var(--width));
        padding-bottom: calc(8 * var(--width));
    }
    .contact-form-item-title-text {
        font-size: calc(16 * var(--width));
    }
    .required {
        font-size: calc(14 * var(--width));
    }
    .contact-form-item-input input[type="text"], 
    .contact-form-item-input input[type="tel"], 
    .contact-form-item-input input[type="email"], 
    .contact-form-item-input textarea {
        font-size: calc(16 * var(--width));
        padding: calc(8 * var(--width)) calc(16 * var(--width));
    }
    .contact-form-item-input textarea {
        height: calc(100 * var(--width));
    }
    .contact-form-item-input label input[type="checkbox"] {
        width: calc(24 * var(--width));
        height: calc(24 * var(--width));
    }
    .contact-form-item-input label p {
        font-size: calc(16 * var(--width));
        width: calc(60 * var(--width));
    }
    .contact-form-item-text {
        font-size: calc(14 * var(--width));
        margin-bottom: calc(24 * var(--width));
        line-height: 1.5;
    }
    .contact-form-item-text a {
        font-size: calc(14 * var(--width));
    }
    .contact-form-btn {
        width: calc(310 * var(--width));
    }
    .contact form {
        left: 50%;
        transform: translateX(-50%);
        padding: 0 calc(24 * var(--width));
    }
    .contact form > h1 {
        font-size: calc(24 * var(--width));
    }
    .contact form > p, .contact form > p input {
        font-size: calc(16 * var(--width));
    }
    .contact form > p input[type="text"], .contact form > p input[type="tel"], .contact form > p input[type="email"], .contact form > p select, .contact form > p textarea {
        padding: calc(4 * var(--width)) calc(12 * var(--width));
        font-size: calc(16 * var(--width));
    }
    .contact-form-btn, .contact form > p:nth-of-type(16) input[name="submit"] {
        width: 100%;
        font-size: calc(16 * var(--width));
        padding: calc(14 * var(--width));
    }
    footer {
        padding-bottom: calc(60 * var(--width));
    }
    footer a {
        left: calc(90 * var(--width));
        bottom: calc(74 * var(--width));
        width: calc(204 * var(--width));
        height: calc(18 * var(--width));
    }
    .success-message,
    .error-message {
        width: 90%;
        bottom: calc(85 * var(--width));
        font-size: calc(16 * var(--width));
        
    }

    .rate-title {
        top: calc(110 * var(--width));
        font-size: calc(32 * var(--width));
        width: 100%;
    }
    .rate-text01 {
        top: calc(458 * var(--width));
        right: calc(24 * var(--width));
        width: calc(342 * var(--width));
        font-size: calc(16 * var(--width));
    }
    .rate-text01-bold01 {
        font-size: calc(20 * var(--width));
        line-height: 1.5;
    }
    .rate-text01-bold02 {
        font-size: calc(24 * var(--width));
        line-height: 1.5;
    }
    .rate-text02 {
        top: calc(847 * var(--width));
        font-size: calc(24 * var(--width));
        line-height: 1.5;
    }
    .rate-text03 {
        top: calc(990 * var(--width));
        font-size: calc(16 * var(--width));
    }
    .rate-text04 {
        top: calc(1077 * var(--width));
        font-size: calc(21 * var(--width));
    }
    .rate-text05 {
        top: calc(1138 * var(--width));
        font-size: calc(17 * var(--width));
    }
    .rate-text06 {
        top: calc(1173 * var(--width));
        font-size: calc(24 * var(--width));
    }
    .rate-text07 {
        font-size: calc(32 * var(--width));
        top: calc(1225 * var(--width));
        left: 57%;
        width: 65%;
    }
    .rate-text07 a {
        font-size: calc(32 * var(--width));
    }
    .rate-text08 {
        top: calc(1280 * var(--width));
        font-size: calc(15 * var(--width));
    }
    .rate-text09 {
        top: calc(1632 * var(--width));
        right: calc(24 * var(--width));
        width: calc(342 * var(--width));
        font-size: calc(16 * var(--width));
    }
    .rate-text09-bold01 {
        font-size: calc(24 * var(--width));
    }
    .rate-text09-bold02 {
        font-size: calc(18 * var(--width));
    }
    .reasons-title {
        font-size: calc(32 * var(--width));
        width: 100%;
    }
    .reasons-text01 {
        left: 50%;
        transform: translateX(-50%);
        width: calc(300 * var(--width));
        font-size: calc(24 * var(--width));
        top: calc(450 * var(--width));
        text-align: center;
        line-height: 1.5;
    }
    .reasons-text02 {
        left: 50%;
        transform: translateX(-50%);
        width: calc(300 * var(--width));
        font-size: calc(16 * var(--width));
        top: calc(545 * var(--width));
        text-align: center;
        letter-spacing: 0;
    }
    .reasons-text03 {
        left: 50%;
        transform: translateX(-50%);
        width: calc(300 * var(--width));
        font-size: calc(24 * var(--width));
        top: calc(930 * var(--width));
        text-align: center;
        line-height: 1.5;
    }
    .reasons-text04 {
        left: 50%;
        transform: translateX(-50%);
        width: calc(300 * var(--width));
        font-size: calc(16 * var(--width));
        top: calc(985 * var(--width));
        text-align: center;
    }
    .reasons-text05 {
        left: 50%;
        transform: translateX(-50%);
        width: calc(300 * var(--width));
        font-size: calc(24 * var(--width));
        top: calc(1400 * var(--width));
        text-align: center;
        line-height: 1.5;
    }
    .reasons-text06 {
        left: 50%;
        transform: translateX(-50%);
        width: calc(300 * var(--width));
        font-size: calc(16 * var(--width));
        top: calc(1475 * var(--width));
        text-align: center;
    }
    .problem-title {
        font-size: calc(24 * var(--width));
        width: 100%;
        top: calc(110 * var(--width));
    }
    .problem-title-bold {
        font-size: calc(24 * var(--width));
    }
    .problem-text01 {
        font-size: calc(24 * var(--width));
        top: calc(259 * var(--width));
        width: 100%;
    }
    .problem-text02 {
        font-size: calc(16 * var(--width));
        width: calc(300 * var(--width));
        top: calc(318 * var(--width));
    }
    .problem-text03 {
        font-size: calc(14 * var(--width));
        left: calc(50 * var(--width));
        top: calc(607 * var(--width));
    }
    .problem-text04 {
        font-size: calc(14 * var(--width));
        top: calc(550 * var(--width));
    }
    .problem-text05 {
        font-size: calc(14 * var(--width));
        left: calc(243 * var(--width));
        top: calc(621 * var(--width));
    }
    .problem-text06 {
        top: calc(788 * var(--width));
        font-size: calc(20 * var(--width));
        width: 100%;
    }
    .problem-text07 {
        top: calc(838 * var(--width));
        font-size: calc(16 * var(--width));
        width: calc(300 * var(--width));
    }
    .problem-text08 {
        top: calc(1036 * var(--width));
        width: 100%;
        font-size: calc(24 * var(--width));
    }
    .cta-title {
        font-size: calc(21 * var(--width));
        top: calc(59 * var(--width));
        width: 100%;
        left: 48%;
    }
    .cta-text01 {
        top: calc(120 * var(--width));
        font-size: calc(17 * var(--width));
        text-align: center;
        width: 100%;
    }
    .cta-text02 {
        top: calc(150 * var(--width));
        font-size: calc(24 * var(--width));
        text-align: center;
        width: 100%;
    }
    .cta-text03 {
        top: calc(210 * var(--width));
        font-size: calc(32 * var(--width));
        left: 56%;
        z-index: 2;
    }
    .cta-text03 a {
        font-size: calc(32 * var(--width));
    }
    .cta-text04 {
        font-size: calc(15 * var(--width));
        top: calc(261 * var(--width));
        width: 100%;
    }
    .voice-title {
        font-size: calc(32 * var(--width));
        top: calc(98 * var(--width));
        width: 100%;
    }
    .voice-list01 {
        top: calc(443.8 * var(--width));
        left: calc(56 * var(--width));
    }
    .voice-list02 {
        top: calc(1137 * var(--width));
        left: calc(56 * var(--width));
    }
    .voice-list-item {
        padding-bottom: calc(23.6 * var(--width));
    }
    .voice-list-item-title,
    .voice-list-item-text {
        font-size: calc(15 * var(--width));
        min-height: unset;
    }
    .voice-list-item-text {
        width: calc(254 * var(--width));
    }
    .voice-list-bottom-name, .voice-list-bottom-age {
        font-size: calc(16 * var(--width));
    }
    .about-title {
        font-size: calc(32 * var(--width));
        top: calc(807 * var(--width));
        width: 100%;
    }
    .about-text01 {
        font-size: calc(16 * var(--width));
        top: calc(1300 * var(--width));
        width: calc(300 * var(--width)); 
    }
    .about-text02 {
        font-size: calc(16 * var(--width));
        top: calc(1400  * var(--width));
        width: calc(300 * var(--width));
    }
    .flow-title {
        top: calc(130 * var(--width));
        font-size: calc(32 * var(--width));
        width: 100%;
    }
    .flow-list {
        width: calc(342 * var(--width));
        top: calc(247 * var(--width));
        left: 50%;
    }
    .flow-list-item {
        margin-bottom: calc(82 * var(--width));
        min-height: unset;
        padding: calc(48 * var(--width)) calc(20 * var(--width)) calc(24 * var(--width));
    }
    .flow-list-item-title {
        font-size: calc(24 * var(--width));
        text-align: center;
        width: 100%;
        margin-bottom: calc(32 * var(--width));
    }
    .flow-list-item-text {
        font-size: calc(16 * var(--width));
        text-align: center;
    }
    .questions-title {
        font-size: calc(32 * var(--width));
        top: calc(100 * var(--width));
        width: 100%;
    }
    .questions-list {
        width: calc(302 * var(--width));
        top: calc(212 * var(--width));
    }
    .questions-list-item {
        padding-bottom: calc(57 * var(--width));
    }
    .questions-list-item-title {
        font-size: calc(18 * var(--width));
        padding-left: calc(32 * var(--width));
        margin-bottom: calc(24 * var(--width));
    }
    .questions-list-item-text {
        font-size: calc(16 * var(--width));
    }
    .contact-title {
        font-size: calc(32 * var(--width));
        width: 100%;
        top: calc(40 * var(--width));
        line-height: 1.3;
    }
    .banner-text {
        font-size: calc(11 * var(--width));
        top: calc(13 * var(--width));
    }
    .banner-tel {
        font-size: calc(26 * var(--width));
        top: calc(28 * var(--width));
        left: 55%;
    }
    .banner-tel a {
        font-size: calc(26 * var(--width));
    }
}

/* フェードアウトアニメーション */
@keyframes fadeOut {
    0% {
        opacity: 1;
    }
    85% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        visibility: hidden;
    }
}

/* 必須バッジ */
.required-label {
  color: #e53935;  /* 赤 */
  font-weight: bold;
  margin-left: 4px;
  font-size: 14px;
}

/*野俣追加コード*/
  /* FAQタイトルの左余白を削除して中央寄せを維持 */
  .questions-list-item-title {
    padding-left: 0 !important;  /* ← 余白削除 */
  }

  /* スマホ用（@media内でも上書きされるため） */
  @media (max-width: 780px) {
    .questions-list-item-title {
      padding-left: 0 !important; /* ← モバイルでも上書き */
    }
  }

/* 野俣追加コード：FAQタイトルを太字 */
.questions-list-item-title {
    text-decoration-color: #222;
    font-weight: 700; /* ← 太字化 */
  }
  
/* --- よくある質問（FAQ）枠＋余白バランス最終版 --- */

/* 質問カード全体 */
.questions-list-item {
    border: 2px solid rgba(12, 38, 131, 0.15); /* ← 淡いネイビーの枠線を復活 */
    background-color: rgba(12, 38, 131, 0.03); /* ← ごく薄いネイビー背景 */
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
    padding: calc(26 * var(--width)) calc(32 * var(--width)); /* 内側ゆとり */
    margin-bottom: calc(28 * var(--width)); /* カード間隔 */
  }
  
  /* タイトル部分（Q.含む） */
  .questions-list-item-title {
    text-decoration: none;           /* 下線消す */
    font-weight: 700;                /* 太字 */
    color: #0C2683;                  /* 濃いめネイビー */
    line-height: 1.4;
    margin-bottom: calc(12 * var(--width));
    padding-left: 0;
  }
  
  /* 回答文 */
  .questions-list-item-text {
    font-size: calc(18 * var(--width));
    color: #222;
    line-height: 1.7;
  }
  
  /* スマホ調整 */
  @media (max-width: 780px) {
    .questions-list-item {
      padding: calc(22 * var(--width)) calc(22 * var(--width));
      margin-bottom: calc(22 * var(--width));
    }
    .questions-list-item-title {
      margin-bottom: calc(10 * var(--width));
    }
  }
  
  /* ▼ FAQ：幅を統一・タイトルとの間隔を短縮（上書き） */

/* PC幅：FAQリストの横幅を統一（カードは width:100% なので追従） */
.questions .questions-list{
    width: calc(1060 * var(--width)) !important;  /* ← 全カード同じ幅に */
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
  
  /* タイトルと1つ目の質問の間隔を詰める（PC） */
  .questions .questions-title{
    top: calc(200 * var(--width)) !important;   /* 230 → 200 に短縮 */
  }
  .questions .questions-list{
    top: calc(340 * var(--width)) !important;   /* 456 → 340 に短縮 */
  }
  
  /* SP幅：幅を統一 & 間隔を詰める（@media内の既存を上書き） */
  @media (max-width: 780px){
    .questions .questions-list{
      width: calc(342 * var(--width)) !important; /* 302 → 342 に統一 */
      top: calc(168 * var(--width)) !important;   /* 212 → 168 に短縮 */
    }
    .questions .questions-title{
      top: calc(84 * var(--width)) !important;    /* 100 → 84 に短縮 */
    }
  }

  /* ▼ FAQ回答文フォントサイズ調整：他セクションと統一 */
.questions-list-item-text {
    font-size: calc(17 * var(--width)) !important; /* ← 18→16に縮小 */
    line-height: 1.6; /* 読みやすさを維持 */
    color: #222;
  }
  
  /* スマホ用：さらに少しだけ縮小（視認性を保ちつつ段落の高さ圧縮） */
  @media (max-width: 780px) {
    .questions-list-item-text {
      font-size: calc(16 * var(--width)) !important;
      line-height: 1.55;
    }
  }
  
  /* ▼ よくある質問：カード横幅のバラつきを完全統一 */
.questions .questions-list {
    width: calc(1080 * var(--width)) !important; /* 全カード共通の基準幅 */
    max-width: 95% !important;                   /* 画面サイズに応じて自動調整 */
    margin: 0 auto !important;                   /* 中央寄せ */
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .questions .questions-list-item {
    width: 100% !important;             /* 親幅に完全追従 */
    box-sizing: border-box !important;  /* 枠線込みで均等化 */
  }
  
  /* スマホでも同様に統一 */
  @media (max-width: 780px) {
    .questions .questions-list {
      width: calc(340 * var(--width)) !important;
      max-width: 92% !important;
    }
  }
  
  
