@charset "utf-8";

:root {
 --max-width-inner: inherit;
 --padding-top-content: 64px;
 --padding-bottom-content: 64px;
 --padding-left-content: 25px;
 --padding-right-content: 25px;
 --width-inner: 100%;
}

body {
 font-size: 14px;
 overflow: visible;
 overflow-x: hidden;
 overflow-y: auto;
}

a[href^="tel:"] {
 cursor: pointer;
 pointer-events: auto;
}

/* COMMON */

.pc {
 display: none !important;
}

.sp {
 display: block !important;
}


/* CONTENTS */

.section-icon img {
 height: auto;
 width: 48px;
}

.section-title {
 font-size: 28px;
 line-height: 1.3;
}

#mainvisual {
 position: relative;
}

.mainvisual-side {
 position: absolute;
 top: auto;
 bottom: 0;
 left: 50%;
 right: auto;
 transform: translateX(-50%);
 width: 100%;
}

.btn-side-contact {
 border-radius: 16px 16px 0 0;
 font-size: 16px;
 margin: auto;
 max-width: 90%;
 padding: 16px;
 text-align: center;
 transition: none;
 width: 320px;
 writing-mode: horizontal-tb;
}

.btn-side-contact img {
 margin-bottom: auto;
 margin-right: .5em;
 vertical-align: -2px;
}

.customer-container {
 padding: 32px 0;
}

.customer-loop {
 animation: none;
 background-image: url(../images/lp2025/img_customer_logo_sp.webp);
 background-repeat: repeat-x;
 background-size: 1098px auto;
 height: 38px;
}

.customer-loop.loop1 {
 margin-bottom: 24px;
}

.customer-loop.loop2 {
 animation: bgroop2 45s linear infinite;
 background-position: center 50%;
 display: block;
}

@keyframes bgroop {
 from {
 background-position-x: 0;
 }
 to {
 background-position-x: -1098px;
 }
}

@keyframes bgroop2 {
 from {
 background-position-x: -549px;
 }
 to {
 background-position-x: -1647px;
 }
}

#introduction .section-inner {
 width: 100%;
}

.introduction-text {
 font-size: 16px;
 padding: 0;
}

.introduction-section {
 margin: 20px auto 40px;
}

.introduction-section h3 {
 margin-bottom: 20px;
}

.introduction-point-title {
 font-size: 18px;
 margin: 20px auto;
 padding: 12px 0 16px;
}

.introduction-point-subtitle {
 font-size: 18px;
 margin: 20px auto;
 padding: 5px 0 10px;
}

.introduction-subtitle {
 font-size: 18px;
 margin-bottom: 20px;
}

.introduction-operation-title {
 margin: 20px auto;
 padding: 15px 12px;
}

.introduction-operation-title .number {
 font-size: 18px;
}

.introduction-operation-title .text {
 font-size: 16px;
}

.introduction-block {
 padding: 0;
}

.introduction-list li {
 font-size: 16px;
}

.introduction-list li::before {
 font-size: 18px;
 width: 30px;
}

.introduction-function-title {
 margin-bottom: 20px;
}

.introduction-table th,
.introduction-table td {
 border: 1px solid #005184;
}

.introduction-table th {
 display: block;
 font-size: 18px;
 padding: 15px;
 width: 100%;
}

.introduction-table td {
 display: block;
 font-size: 16px;
 padding: 15px;
 width: 100%;
}

.introduction-flex {
 flex-wrap: wrap;
 row-gap: 40px;
 margin-bottom: 40px;
}

.introduction-flex-box {
 max-width: inherit;
}

#interview .section-inner {
 padding-left: 0;
 padding-right: 0;
}

.interview-container {
 margin-bottom: 48px;
}

.interview-container .slick-track {
 column-gap: 16px;
}

.interview-post {
 transition: none;
}

.interview-post:hover {
 transform: none;
 transition: none;
}

.interview-post-title {
 font-size: 16px;
}

.interview-more {
 font-size: 18px;
}

.interview-more img {
 height: 24px;
 vertical-align: -.3em;
 width: 24px;
}

#reason .section-title .c-outline {
 margin-left: 0;
}

.reason-container {
 row-gap: 3vw;
}

.reason-box {
 box-shadow: 8px 8px 0 rgba(255,255,255,.2);
 max-width: inherit;
 padding: 20px 5px;
 width: 48%;
}

.reason-box-beforenum {
 font-size: 13px;
}

.reason-box-num {
 font-size: 40px;
}

.reason-box-icon {
 margin: -16px auto 8px;
 width: 80px;
}

.reason-box-icon img {
 height: 41px;
 width: auto;
}

.reason-box-icon img.reason-box-icon-smartphone {
 height: 51px;
}

.reason-box-subject {
 font-size: 16px;
}

.reason-box-emphasis {
 font-size: 20px;
}

.reason-box-small {
 font-size: 13px;
}

#service .section-inner {
 padding-left: 0;
 padding-right: 0;
}

.service-box.col4 {
 width: 50%;
}

.service-box.col3 {
 width: 100%;
}

.service-box-overlay {
 flex-direction: column;
 row-gap: 8px;
}

.service-box-title {
 font-size: 20px;
}

.service-box.col4 .service-box-arrow {
 position: static;
 text-align: center;
}

.service-box.col3 .service-box-arrow {
 line-height: 1;
 top: 50%;
 bottom: auto;
 right: 30px;
 transform: translateY(-50%);
}

.service-box-arrow img {
 height: 24px;
 width: 24px;
}

.voice-section {
 padding: 48px 0;
}

.voice-section-title {
 font-size: 24px;
}

.voice-link {
 row-gap: 8px;
}

.voice-link.type .voice-link-item {
 max-width: inherit;
 width: 100%;
}

.voice-link.seat .voice-link-item {
 max-width: inherit;
 width: 100%;
}

.btn-voice-link {
 background-position: center right 24px;
 background-size: 24px 24px;
 font-size: 20px;
 height: auto;
 padding: 20px 50px 24px 24px;
}

#faq .section-inner {
 padding-bottom: 88px;
}

.faq-section {
 margin-bottom: 56px;
}

.faq-section-title {
 font-size: 20px;
}

.faq-list-item {
 border-radius: 8px;
}

.faq-list-question {
 font-size: 16px;
 padding: 14px 40px 18px 16px;
 position: relative;
}

.faq-list-question::before {
 font-size: 20px;
}

.faq-list-question::after {
 right: 16px;
}

.faq-list-answer {
 line-height: 1.5;
 padding: 14px 16px 18px;
}

.faq-list-answer-text::before {
 font-size: 20px;
}

#message .section-inner {
 padding-left: 0;
 padding-right: 0;
}

.message-container {
 overflow: hidden;
 text-align: left;
}

.message-figure {
 border-width: 2px;
 box-shadow: 8px 8px 0 rgba(63,27,0,.2);
 display: block;
 max-width: 86%;
}

.message-content {
 border-width: 2px;
 float: right;
 margin-top: -40px;
 max-width: 100%;
 padding: 30px;
 position: relative;
 transform: none;
 width: 325px;
}

.message-content-title {
 font-size: 20px;
 margin-bottom: 18px;
}

.message-content-text {
 font-size: 12px;
}


/* FOOTER */

.f-profile-table th,
.f-profile-table td {
 font-size: 12px;
}
