.fa-solid { font-size: 3rem; font-weight: 900; }
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; }
body { font-family: 'Noto Sans JP', sans-serif; line-height: 1.6; color: #333; background-color: #f5f5f2; display: flex; flex-direction: column; }

#page { display: flex; flex-direction: column; min-height: 100vh; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

.site-header { background: #fff; color: #333; padding: 2rem 0; }

.site-title { font-size: 2.5rem; font-weight: 500; margin-bottom: 0.5rem; }

.site-title a { text-decoration: none; color: #333; }

.site-description { font-size: 1.1rem; color: #666; }

.main-navigation { background: #fff; padding: 1rem 0; border-bottom: 1px solid #eee; }

.main-navigation ul { list-style: none; display: flex; gap: 2rem; justify-content: center; }

.main-navigation a { text-decoration: none; color: #333; font-weight: 500; transition: color 0.3s ease; }

.main-navigation a:hover { color: #667eea; }

#content { flex: 1; }

.main-content { padding: 0; --header-padding-x: 1.5rem; --header-max-width: 1920px; }

.main-content .container { max-width: var(--header-max-width); margin-left: auto; margin-right: auto; padding: 0 var(--header-padding-x); box-sizing: border-box; }

.main-content .content-area { display: flex; align-items: flex-start; justify-content: space-between; width: 100%; max-width: 1280px; margin: 0 auto; }

.main-content .content-area .page { width: 100%; min-width: 0; flex: 1; }

.main-content .content-area .page-content { width: 100%; }

.main-content .content-area__body { flex: 1; min-width: 0; }

.main-content .content-area__body p { margin-bottom: 1rem; color: #333; }

.main-content .content-area__body p:last-child { margin-bottom: 0; }

@media (min-width: 768px) {
.main-content { padding: 0; --header-padding-x: 3.2rem; }
}

@media (min-width: 1025px) {
.main-content { --header-padding-x: 9.25rem; }
}

@media (max-width: 768px) {
.main-content .content-area { flex-direction: column; align-items: stretch; }
}

/* コンテンツナビゲート（3カラムパネル） */
.content-navigate--mt-4rem { margin-top: 4rem; }

.content-navigate__inner { width: 100%; }

.content-navigate__grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }

.content-navigate__panel { background: transparent; overflow: hidden; display: flex; }

.content-navigate__link-wrap { display: flex; flex-direction: column; text-decoration: none; color: inherit; height: 100%; width: 100%; }

.content-navigate__thumb { position: relative; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: #e8e8e8; }

.content-navigate__img { display: block; width: 100%; height: 100%; object-fit: cover; vertical-align: top; }

.content-navigate__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 160px; background: #e0e0e0; color: #999; font-size: 0.875rem; }

.content-navigate__body { padding: 0; flex: 1; display: flex; flex-direction: column; }

.content-navigate__title { font-size: 1.2rem; font-weight: 500; line-height: 1.4; color: #333; padding-top: 1.2rem; }

.main-content .content-area__body .content-navigate__caption {
font-size: 1.1rem;
color: #333;
line-height: 1.4;
margin: 1rem 0;
display: flex;
align-items: center;
height: 2rem;
}

.content-navigate__caption br.pc-only { display: none; }

.main-content .content-area__body .content-navigate__desc { font-size: 0.875rem; line-height: 1.6; color: #787878; margin: 0; }

.content-navigate__link { display: flex; align-items: center; justify-content: center; gap: 0.35em; font-size: 0.875rem; font-weight: 500; color: #333; margin-top: auto; padding-top: 2rem; padding-bottom: 0.5rem; border-bottom: 1px solid #959595; position: relative; transition: color 0.25s ease; }

.content-navigate__link i { font-size: 1em; color: #80C476; }

.content-navigate__link::after { content: ""; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background: #80C476; transition: width 0.3s ease; }

.content-navigate__link-wrap:hover .content-navigate__link { color: #80C476; border-bottom-color: transparent; }

.content-navigate__link-wrap:hover .content-navigate__link::after { width: 100%; }

@media (min-width: 640px) {
.content-navigate__grid { grid-template-columns: repeat(2, 1fr); gap: 1.75rem; }
}

@media (min-width: 768px) {
.main-content .content-area__body .content-navigate__caption { margin: 2rem 0; }
}

@media (min-width: 1025px) {
.content-navigate__grid { grid-template-columns: repeat(3, 1fr); gap: 2rem; }

.content-navigate__title { font-size: 1.2rem; }

.content-navigate__caption br.pc-only { display: block; }
}

/* 新着情報（ニュース） */
.home-news { padding: 0; }

.home-news__inner { width: 100%; }

.home-news__heading-wrap { text-align: left; }

.home-news__heading { font-size: 1.6rem; font-weight: 500; color: #333; margin: 4rem 0; display: inline-block; text-align: left; }

@media (max-width: 768px) {
.home-news__heading { font-size: 1.2rem; margin: 4rem 0 1rem; }
}

@media (min-width: 768px) {
.home-news__heading-wrap { text-align: center; }
}

.home-news__fade-wrap { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }

.home-news__fade-wrap .home-news__heading-wrap { grid-column: 1 / -1; margin-bottom: -1.5rem; }

.home-news__item { background: #fff; min-width: 0; }

.home-news__link { display: grid; grid-template-columns: auto 1fr; grid-template-rows: 1fr; column-gap: 1rem; text-decoration: none; color: #333; align-items: center; min-width: 0; }

.home-news__thumb { width: 120px; height: 120px; background: #e0e0e0; display: flex; align-items: center; justify-content: center; overflow: hidden; }

.home-news__thumb-img { width: 100%; height: 100%; object-fit: cover; display: block; }

.home-news__thumb-placeholder { font-size: 0.75rem; color: #999; }

.home-news__meta { display: flex; flex-direction: row; justify-content: space-between; align-items: center; padding: 0 1rem; gap: 1rem; min-width: 0; }

.home-news__meta-text { display: flex; flex-direction: column; justify-content: center; gap: 0.25rem; flex: 1; min-width: 0; overflow: hidden; }

.home-news__date { font-size: 0.8rem; color: #959595; }

.home-news__title { font-size: 0.95rem; font-weight: 500; color: #333; margin: 0; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: color 0.25s ease; }

.home-news__link:hover .home-news__title { color: #80C476; }

.home-news__meta-icon { font-size: 1.2rem; color: #80C476; flex-shrink: 0; }

.home-news__more { margin-top: 4rem; text-align: center; }

.home-news__more-link { display: inline-flex; align-items: center; justify-content: center; gap: 0.35em; font-size: 0.875rem; font-weight: 500; color: #333; text-decoration: none; padding: 0 1rem 0.5rem; border-bottom: 1px solid #959595; position: relative; transition: color 0.25s ease; }

.home-news__more-link i { font-size: 1em; color: #80C476; }

.home-news__more-link::after { content: ""; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background: #80C476; transition: width 0.3s ease; }

.home-news__more-link:hover { color: #80C476; border-bottom-color: transparent; }

.home-news__more-link:hover::after { width: 100%; }

@media (min-width: 640px) {
.home-news__fade-wrap { grid-template-columns: repeat(2, 1fr); gap: 1.75rem; }

.home-news__fade-wrap .home-news__heading-wrap { margin-bottom: -1.75rem; }
}

.home-news--archive { scroll-margin-top: 1rem; }

.home-news--archive .home-news__pagination-wrap { margin-top: 4rem; text-align: center; }

.home-news--archive .home-news__pagination-wrap .pagination { margin: 0; }

.home-news--archive .home-news__pagination-wrap .nav-links {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 0.75rem;
}

.home-news--archive .home-news__pagination-wrap .page-numbers {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 2.25rem;
height: 2.25rem;
padding: 0 0.5rem;
font-size: 0.9rem;
color: #333;
text-decoration: none;
background: #fff;
border-radius: 2px;
transition: background 0.2s ease, color 0.2s ease;
}

.home-news--archive .home-news__pagination-wrap .page-numbers:hover { background: #f5f5f5; color: #80C476; }

.home-news--archive .home-news__pagination-wrap .page-numbers:hover i { color: #80C476; }

.home-news--archive .home-news__pagination-wrap .page-numbers.current {
background: #e6e6e6;
color: #a4a4a4;
cursor: default;
}

.home-news--archive .home-news__pagination-wrap .page-numbers.dots { background: transparent; cursor: default; }

.home-news--archive .home-news__pagination-wrap .page-numbers.prev,
.home-news--archive .home-news__pagination-wrap .page-numbers.next { padding: 0 0.6rem; font-size: 1rem; }

.home-news--archive .home-news__pagination-wrap .page-numbers.prev i,
.home-news--archive .home-news__pagination-wrap .page-numbers.next i { font-size: 1rem; }

@media (max-width: 767px) {
.tech-benefits .home-news__heading-wrap .home-news__heading,
.voice-cards .home-news__heading-wrap .home-news__heading {
margin: 0;
}
}

.tech-benefits__row {
display: flex;
flex-wrap: wrap;
align-items: stretch;
gap: 2rem;
max-width: 100%;
background: #fff;
margin-bottom: 2rem;
flex-direction: column;
}

.tech-benefits__row:last-child {
margin-bottom: 0;
}

.tech-benefits__row--reverse {
flex-direction: column;
}

.tech-benefits__img {
flex: 0 0 100%;
min-width: 0;
width: 100%;
}

@media (min-width: 768px) {
.tech-benefits__row {
flex-direction: row;
}

.tech-benefits__row--reverse {
flex-direction: row-reverse;
}

.tech-benefits__img {
flex: 0 0 40%;
min-width: 280px;
width: auto;
}
}

.tech-benefits__img {
overflow: hidden;
}

.tech-benefits__img img {
width: 100%;
height: auto;
display: block;
}

@media (min-width: 768px) {
.tech-benefits__img {
display: flex;
}

.tech-benefits__img img {
height: 100%;
object-fit: cover;
}
}

.tech-benefits__body {
flex: 1;
min-width: 0;
width: 100%;
padding: 2rem;
display: flex;
flex-direction: column;
justify-content: center;
background: #fff;
}

.tech-benefits__body:last-child {
margin-top: 2rem;
}

@media (min-width: 768px) {
.tech-benefits__body {
min-width: 280px;
width: auto;
}
}

.tech-benefits__body h4 {
font-size: 1.2rem;
font-weight: 500;
color: #333;
margin: 0 0 1rem;
}

@media (max-width: 768px) {
.tech-benefits__body h4 { font-size: 1rem; font-weight: 500; }
}

.tech-benefits__body p {
font-size: 0.9rem;
line-height: 1.8;
color: #333;
margin: 0;
}

.tech-benefits__body p br.pc-only { display: none; }

@media (min-width: 768px) {
.tech-benefits__body p br.pc-only { display: block; }
}

.list-disc {
margin: 0 0 1rem;
padding-left: 1.5em;
list-style-type: disc;
}

.list-disc li {
padding-left: 1rem;
font-size: 0.9rem;
line-height: 1.8;
color: #787878;
}

.list-disc li::marker {
color: #bcbcbc;
}

.icon-cards-support {
display: grid;
grid-template-columns: 1fr;
gap: 1.5rem;
}

.icon-cards__grid {
display: contents;
}

.icon-cards__item {
position: relative;
display: flex;
flex-direction: column;
}

.icon-cards__body {
flex: 1 1 auto;
display: flex;
flex-direction: column;
}

.icon-cards__body .icon-cards__text {
flex: 1 1 auto;
}

.icon-cards__icon {
width: 5.5rem;
height: 5.5rem;
border-radius: 50%;
background: #80C476;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.75rem;
margin: 0 auto 0;
margin-bottom: -3rem;
position: relative;
z-index: 2;
}

.icon-cards__body {
background: #f5f5f2;
padding: 3.5rem 1rem 1rem;
position: relative;
z-index: 1;
}

.icon-cards__title {
font-size: 1rem;
font-weight: 500;
color: #333;
margin: 0 0 0.75rem;
text-align: center;
}

@media (max-width: 639px) {
.icon-cards__title {
text-align: left;
}
}

.icon-cards__text {
font-size: 0.875rem;
line-height: 1.7;
color: #333;
margin: 0;
text-align: left;
}

.icon-cards-support__note {
font-size: 0.9375rem;
line-height: 1.7;
color: #333;
align-self: center;
}

@media (min-width: 640px) {
.icon-cards-support {
grid-template-columns: repeat(2, 1fr);
gap: 1.75rem;
}

.icon-cards-support__note {
grid-column: 1 / -1;
}
}

@media (min-width: 1025px) {
.icon-cards-support {
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
}

.icon-cards-support__note {
grid-column: 2 / -1;
}
}

.voice-cards__grid {
display: grid;
grid-template-columns: 1fr;
gap: 2rem;
}

.voice-cards__item {
display: flex;
flex-direction: column;
background: #fff;
overflow: hidden;
}

.voice-cards__img {
aspect-ratio: 16 / 10;
overflow: hidden;
}

.voice-cards__img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.voice-cards__body {
padding: 2rem;
flex: 1;
}

.voice-cards__body h4 {
font-size: 1.2rem;
font-weight: 500;
color: #333;
margin: 0 0 1rem;
}

@media (max-width: 768px) {
.voice-cards__body h4 { font-size: 1rem; }
}

.voice-cards__body p {
font-size: 0.9rem;
line-height: 1.8;
color: #787878;
margin: 0 0 1rem;
}

.voice-cards__body p:last-child {
margin-bottom: 0;
}

.voice-cards__body p br.pc-only { display: none; }

@media (min-width: 768px) {
.voice-cards__grid {
grid-template-columns: repeat(2, 1fr);
}

.voice-cards__body p br.pc-only { display: block; }
}

.intro-narrow {
max-width: 1064px;
margin-left: auto;
margin-right: auto;
}

.intro-narrow__body {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
}

.intro-narrow__body h3,
.intro-narrow__body p {
width: fit-content;
max-width: 100%;
text-align: left;
}

.intro-narrow__body h3 {
font-size: 1.6rem;
font-weight: 500;
color: #333;
margin: 4rem 0 1rem;
text-align: left;
}

@media (min-width: 768px) {
.intro-narrow__body h3 {
text-align: center;
}
}

.intro-narrow__body p {
font-size: 0.9rem;
line-height: 1.8;
color: #333;
margin: 0 0 1rem;
}

.intro-narrow__body p:last-child {
margin-bottom: 4rem;
}

@media (max-width: 768px) {
.intro-narrow__body.js-scroll-fade-item {
align-items: flex-start;
}

.intro-narrow__body h3 {
margin: 2rem 0 1rem;
font-size: 1.2rem;
text-align: left;
}

.intro-narrow__body p:last-child {
margin-bottom: 2rem;
}
}

.intro-narrow__body p br.pc-only { display: none; }

@media (min-width: 768px) {
.intro-narrow__body p br.pc-only { display: block; }
}

.intro-narrow__block {
background: #fff;
margin-bottom: 4rem;
padding: 2rem;
}

.intro-narrow__block h4 {
font-size: 1.2rem;
font-weight: 500;
color: #333;
margin: 0 0 1rem;
}

.intro-narrow__block p {
font-size: 0.9rem;
line-height: 1.8;
color: #787878;
margin: 0;
}

.intro-narrow__block p br.pc-only { display: none; }

@media (min-width: 768px) {
.intro-narrow__block p br.pc-only { display: block; }
}

.flowchart {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 2rem;
}

.flowchart__step {
background: #F5F5F2;
padding: 1rem;
width: 100%;
}

.flowchart__step h4 {
font-size: 1.2rem;
font-weight: 500;
color: #80C476;
margin: 0 0 0.75rem;
}

@media (max-width: 768px) {
.flowchart__step h4 { font-size: 1rem; font-weight: 500; }
}

.flowchart__list {
margin: 0;
padding-left: 0;
list-style: none;
display: inline-block;
width: fit-content;
}

.flowchart__step-inner {
display: flex;
flex-direction: column;
align-items: flex-start;
}

@media (min-width: 768px) {
.flowchart__step-inner {
align-items: center;
}
}

.flowchart__list li {
font-size: 0.9rem;
line-height: 1.8;
color: #333;
text-align: left;
}

.flowchart__list li br.pc-only { display: none; }

@media (min-width: 768px) {
.flowchart__list li br.pc-only { display: block; }
}

.flowchart__separator {
color: #b5b5b5;
font-size: 1.5rem;
padding: 0.5rem 0;
text-align: center;
}

.img-pair {
background: #fff;
padding: 2rem;
}

.img-pair h4 {
font-size: 1.2rem;
font-weight: 500;
color: #333;
margin: 0 0 1rem;
}

@media (max-width: 768px) {
.img-pair { padding: 0; }
.img-pair h4 { font-size: 1rem; font-weight: 500; }
}

.img-pair__text {
font-size: 0.9rem;
line-height: 1.8;
color: #787878;
margin: 0 0 1.5rem;
}

.img-pair__grid {
display: flex;
flex-wrap: wrap;
gap: 2rem;
margin-top: 2rem;
}

.img-pair__img {
flex: 1 1 100%;
min-width: 0;
}

.img-pair__img img {
width: 100%;
height: auto;
display: block;
}

@media (min-width: 768px) {
.img-pair__img {
flex: 1 1 calc(50% - 1rem);
}
}

.table-scroll {
position: relative;
margin-top: 1.5rem;
}

.table-scroll__inner {
position: relative;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}

.table-scroll__message {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
flex-direction: column-reverse;
align-items: center;
justify-content: center;
gap: 0.5rem;
font-size: 0.8rem;
color: #787878;
padding: 1rem 1.5rem;
background: rgba(255, 255, 255, 0.95);
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
z-index: 2;
pointer-events: none;
transition: opacity 0.3s ease, visibility 0.3s ease;
text-align: center;
}

.table-scroll__message.is-hidden {
opacity: 0;
visibility: hidden;
}

.table-scroll__message i {
font-size: 1rem;
}

.table-scroll table {
width: 100%;
min-width: 400px;
border-collapse: collapse;
font-size: 0.9rem;
margin-bottom: 0;
}

.table-scroll th,
.table-scroll td {
padding: 0.75rem 1rem;
text-align: center;
border-bottom: 1px solid #ddd;
white-space: nowrap;
min-width: 9rem;
}

.table-scroll th {
font-weight: 500;
color: #333;
border-top: 1px solid #ddd;
background: #fff;
}

.table-scroll tbody tr:nth-child(even) {
background: #f9f9f7;
}

.table-scroll__note {
font-size: 0.8rem;
color: #787878;
margin: 0;
padding: 2rem 0 0;
}

@media (min-width: 768px) {
.table-scroll__message {
display: none;
}
}

.inquiry-heading-outer { --header-padding-x: 1.5rem; padding: 0 var(--header-padding-x); }

@media (min-width: 768px) { .inquiry-heading-outer { --header-padding-x: 3.2rem; } }

@media (min-width: 1025px) { .inquiry-heading-outer { --header-padding-x: 9.25rem; } }

.cta-outer { --header-padding-x: 1.5rem; padding: 0 var(--header-padding-x); }

@media (min-width: 768px) { .cta-outer { --header-padding-x: 3.2rem; } }

@media (min-width: 1025px) { .cta-outer { --header-padding-x: 9.25rem; } }

.inquiry-form-outer { --header-padding-x: 1.5rem; padding: 0 var(--header-padding-x); }

@media (min-width: 768px) { .inquiry-form-outer { --header-padding-x: 3.2rem; } }

@media (min-width: 1025px) { .inquiry-form-outer { --header-padding-x: 9.25rem; } }

.cta { background-size: cover; background-position: center; background-repeat: no-repeat; padding: 4rem 0; text-align: center; }

.cta .container,
.cta__container { max-width: 1280px; margin: 4rem auto 4rem; width: 100%; box-sizing: border-box; }

.inquiry-form__container { max-width: 1280px; margin-left: auto; margin-right: auto; width: 100%; box-sizing: border-box; }

.cta__inner { max-width: 100%; margin: 0 auto; width: 100%; display: flex; flex-direction: column; align-items: center; }

.cta__heading { font-size: 1.5rem; font-weight: 500; color: #333; }

.cta__text { font-size: 0.875rem; line-height: 1.6; color: #787878; margin: 0 0 1rem; text-align: center; }

.cta__tel { font-size: 1.5rem; font-weight: 600; color: #80C476; margin: 0 0 1.5rem; text-decoration: none; }

.cta__tel--mobile { display: inline-block; }

.cta__tel--desktop { display: none; }

@media (min-width: 769px) {
.cta__tel--mobile { display: none; }

.cta__tel--desktop { display: inline-block; }
}

@media (min-width: 769px) {
.cta__tel { font-size: 2rem; }
}

.cta--inquiry .cta__tel { margin: 0; }

.cta__btn { display: inline-block; padding: 0.75rem 1.5rem; background: #80C476; color: #fff; text-decoration: none; font-size: 0.9rem; font-weight: 500; border-radius: 5px; transition: background 0.25s ease, color 0.25s ease; }

.cta__btn:hover { background: #fff; color: #80C476; }

/* 新着情報シングル */
.main-content--news-single { background: #f5f5f2; }

.main-content--news-single .content-area--news-single {
max-width: 900px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: stretch;
width: 100%;
}

.main-content--news-single .content-area--news-single .home-news__heading-wrap,
.main-content--news-single .content-area--news-single .content-area__body,
.main-content--news-single .content-area--news-single .news-single__back {
width: 100%;
min-width: 0;
}

.main-content--news-single .content-area__body { padding: 0; }

.main-content--news-single .home-news__heading-wrap {
text-align: left;
margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
.main-content--news-single .home-news__heading-wrap { text-align: center; }
}

.news-single {
background: #fff;
max-width: 100%;
margin: 0;
padding: 2rem 2.5rem;
box-sizing: border-box;
}

.news-single__header {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 1rem;
margin-bottom: 2rem;
}

.news-single__title {
font-size: 1.35rem;
font-weight: 500;
color: #333;
margin: 0;
line-height: 1.4;
flex: 1;
min-width: 0;
}

.news-single__date {
font-size: 0.875rem;
color: #a4a4a4;
margin: 0;
flex-shrink: 0;
}

.news-single__thumb {
margin: 0 0 1.5rem;
text-align: center;
}

.news-single__thumb-img {
max-width: 100%;
height: auto;
display: block;
margin: 0 auto;
vertical-align: top;
}

.news-single__content {
line-height: 1.8;
color: #333;
}

.news-single__content img {
display: block;
margin-left: auto;
margin-right: auto;
margin-bottom: 2rem;
max-width: 100%;
height: auto;
}

.news-single__content p { margin-bottom: 1rem; }

.news-single__content p:last-child { margin-bottom: 0; }

.news-single__back {
text-align: center;
margin-top: 2.5rem;
padding-top: 0;
}

.news-single__back-link {
display: inline-block;
padding: 0.75rem 1.5rem;
background: #80C476;
color: #fff;
text-decoration: none;
font-size: 0.9rem;
font-weight: 500;
border-radius: 5px;
transition: background 0.25s ease, color 0.25s ease;
}

.news-single__back-link:hover { background: #fff; color: #80C476; }

@media (max-width: 767px) {
.news-single { padding: 1.5rem 1.25rem; }

.news-single__header { flex-direction: column; gap: 0.5rem; }

.news-single__title { font-size: 1.15rem; }

.news-single__back { margin-top: 2rem; }
}

.pagetop-btn {
position: fixed;
bottom: 0.7rem;
right: 0.7rem;
z-index: 9999;
width: 3rem;
height: 3rem;
display: flex;
align-items: center;
justify-content: center;
background: #80C476;
color: #fff;
border: none;
border-radius: 5px;
cursor: pointer;
opacity: 0;
visibility: hidden;
transition: opacity 0.25s ease, visibility 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.pagetop-btn.is-visible {
opacity: 1;
visibility: visible;
}

.pagetop-btn:hover {
background: #fff;
color: #80C476;
}

.pagetop-btn i { font-size: 1.1rem; }

@media (max-width: 768px) {
.main-content { padding: 0; }

.home-news { padding-bottom: 2rem; }

.cta .container,
.cta__container { margin-bottom: 2rem; }
}

.page-inquiry .cta__container { padding-bottom: 4rem; }

.post { margin-bottom: 3rem; padding-bottom: 2rem; border-bottom: 1px solid #eee; }

.post:last-child { border-bottom: none; }

.post-title { font-size: 2rem; color: #333; margin-bottom: 1rem; }

.post-title a { text-decoration: none; color: inherit; transition: color 0.3s ease; }

.post-title a:hover { color: #667eea; }

.post-meta { color: #666; font-size: 0.9rem; margin-bottom: 1rem; }

.post-content { line-height: 1.8; }

.post-content p { margin-bottom: 1rem; }

.main-content--404 {
min-height: 70vh;
display: flex;
align-items: center;
}

.main-content--404 .container {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
}

.main-content--404 .grid {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
}

.main-content--404 .content-area {
justify-content: center;
align-items: center;
}

.error-404 { text-align: center; padding: 3rem 0; }

.error-title { font-size: 8rem; font-weight: 900; color: #e7e7e7; margin-bottom: 1rem; line-height: 1; }

.error-subtitle { font-size: 2rem; color: #333; }

.error-description { font-size: 1rem; color: #333; margin-bottom: 2rem; line-height: 1.6; }

.error-actions { margin-bottom: 3rem; }

.btn-home { display: inline-block; padding: 0.75rem 1.5rem; background: #80C476; color: #fff; text-decoration: none; font-size: 0.9rem; font-weight: 500; border-radius: 5px; transition: background 0.25s ease, color 0.25s ease; margin-bottom: 2rem; }

.btn-home:hover { background: #fff; color: #80C476; }

.search-form { max-width: 400px; margin: 0 auto; }

.search-form h3 { font-size: 1.2rem; color: #333; margin-bottom: 1rem; }

.search-form input[type="search"] { width: 100%; padding: 0.8rem 1rem; border: 2px solid #eee; border-radius: 4px; font-size: 1rem; outline: none; transition: border-color 0.3s ease; }

.search-form input[type="search"]:focus { border-color: #667eea; }

.recent-posts { text-align: left; max-width: 600px; margin: 0 auto; }

.recent-posts h3 { font-size: 1.3rem; color: #333; margin-bottom: 1rem; text-align: center; }

.recent-posts ul { list-style: none; padding: 0; }

.recent-posts li { padding: 0.8rem 0; border-bottom: 1px solid #eee; }

.recent-posts li:last-child { border-bottom: none; }

.recent-posts a { color: #333; text-decoration: none; transition: color 0.3s ease; }

.recent-posts a:hover { color: #667eea; }

@media (max-width: 768px) {
.main-navigation ul { flex-direction: column; gap: 1rem; }

.site-title { font-size: 2rem; }

.content-area { padding: 1.5rem 0; }

.error-title { font-size: 6rem; }

.error-subtitle { font-size: 1.5rem; }

.error-description { font-size: 1rem; }
}

/*-- PrimeForm --*/

.primeform-form {
width: 100%;
padding: 0;
margin: 0;
background: transparent;
}

.primeform-form-fields {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0 1.5rem;
}

.primeform-form-fields .primeform-field:nth-child(5),
.primeform-form-fields .primeform-field:nth-child(6),
.primeform-form-fields .primeform-field:nth-child(7),
.primeform-form-fields .primeform-field:nth-child(8),
.primeform-form-fields .primeform-field:nth-child(9) { grid-column: 1 / -1; }

@media (max-width: 767px) {
.primeform-form-fields { grid-template-columns: 1fr; gap: 0; }
}

.primeform-field {
margin-bottom: 1.5rem;
}

.primeform-field label {
display: block;
font-weight: 500;
margin-bottom: 0.5rem;
color: #333;
font-size: 0.95rem;
}

.primeform-required-mark {
color: #dc3545;
margin-left: 0.25rem;
}

.primeform-input,
.primeform-textarea,
.primeform-select {
width: 100%;
padding: 0.75rem 1rem;
font-size: 1rem;
line-height: 1.5;
color: #333;
background-color: #fff;
border: 1px solid #707070;
border-radius: 4px;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
font-family: inherit;
}

.primeform-input:focus,
.primeform-textarea:focus,
.primeform-select:focus {
outline: 0;
border-color: #80C476;
box-shadow: 0 0 0 0.2rem rgba(128, 196, 118, 0.25);
}

.primeform-input.error,
.primeform-textarea.error,
.primeform-select.error {
border-color: #dc3545;
}

.primeform-input.error:focus,
.primeform-textarea.error:focus,
.primeform-select.error:focus {
border-color: #dc3545;
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.primeform-textarea {
min-height: 120px;
resize: none;
}

.primeform-field-radio {
margin-bottom: 1rem;
}

.primeform-field-checkbox {
margin-bottom: 1.5rem;
display: flex;
justify-content: center;
}

.primeform-field-submit {
display: flex;
justify-content: center;
align-items: center;
margin: 0 auto;
width: fit-content;
justify-self: center;
}

.primeform-field-submit .primeform-submit {
width: auto;
}

.primeform-field-checkbox .primeform-checkbox-label {
display: inline-flex;
align-items: flex-start;
gap: 0.35rem;
cursor: pointer;
font-weight: 400;
margin-bottom: 0;
font-size: 0.95rem;
}

.primeform-field-checkbox .primeform-checkbox-label input[type="checkbox"] {
width: auto;
margin: 0;
margin-top: 0.2em;
cursor: pointer;
flex-shrink: 0;
appearance: none;
-webkit-appearance: none;
width: 1.15em;
height: 1.15em;
border: 1px solid #333;
border-radius: 3px;
background: #fff;
background-position: center;
background-repeat: no-repeat;
background-size: 75%;
}

.primeform-field-checkbox .primeform-checkbox-label input[type="checkbox"]:checked {
background-color: #333;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}

.primeform-field-checkbox .primeform-checkbox-label a {
color: #80C476;
text-decoration: underline;
}

.primeform-field-checkbox .primeform-checkbox-label a:hover {
text-decoration: none;
}

.primeform-radio-group {
display: flex;
flex-wrap: wrap;
gap: 0 1.5rem;
row-gap: 0.5rem;
}

.primeform-field-radio .primeform-radio-label {
display: inline-flex;
align-items: center;
gap: 0.35rem;
cursor: pointer;
font-weight: 400;
margin-bottom: 0;
font-size: 0.95rem;
}

.primeform-field-radio .primeform-radio-label input[type="radio"] {
width: auto;
margin: 0;
cursor: pointer;
accent-color: #333;
}

.primeform-radio,
.primeform-checkbox {
display: flex;
align-items: center;
margin-bottom: 0.5rem;
cursor: pointer;
}

.primeform-radio input[type="radio"],
.primeform-checkbox input[type="checkbox"] {
width: auto;
margin-right: 0.5rem;
cursor: pointer;
}

.primeform-radio label,
.primeform-checkbox label {
margin-bottom: 0;
font-weight: 400;
cursor: pointer;
}

.primeform-field-file {
position: relative;
}

.primeform-file {
display: block;
width: 100%;
padding: 0.75rem 1rem;
font-size: 1rem;
line-height: 1.5;
color: #333;
background-color: #fff;
border: 1px solid #707070;
border-radius: 4px;
cursor: pointer;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.primeform-file:focus {
outline: 0;
border-color: #80C476;
box-shadow: 0 0 0 0.2rem rgba(128, 196, 118, 0.25);
}

.primeform-submit {
display: inline-block;
padding: 0.75rem 1.5rem;
font-size: 0.9rem;
font-weight: 500;
line-height: 1.5;
text-align: center;
text-decoration: none;
color: #fff;
background: #80C476;
border: 1px solid transparent;
border-radius: 5px;
cursor: pointer;
transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
font-family: inherit;
}

.primeform-submit:hover {
background: #fff;
color: #80C476;
border-color: #80C476;
}

.primeform-submit:active {
background: #fff;
color: #80C476;
}

.primeform-submit:disabled {
opacity: 0.6;
cursor: not-allowed;
}

.primeform-modal-content {
border: 1px solid #80C476;
}

.primeform-modal-content.success,
.primeform-modal-content.error {
border-color: #80C476;
}

.primeform-modal-close {
padding: 0.75rem 1.5rem;
font-size: 0.9rem;
font-weight: 500;
color: #fff;
background: #80C476;
border: 1px solid transparent;
border-radius: 5px;
cursor: pointer;
transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.primeform-modal-close::before {
display: none;
}

.primeform-modal-close:hover {
background: #fff;
color: #80C476;
border-color: #80C476;
}

.primeform-modal-close:hover::before {
display: none;
}

.primeform-field-group {
margin-bottom: 1.5rem;
padding: 1rem;
background-color: #f8f9fa;
border: 1px solid #e9ecef;
border-radius: 4px;
}

.primeform-group-label {
font-weight: 500;
margin-bottom: 1rem;
color: #333;
font-size: 1rem;
}

.primeform-field-recaptcha,
.primeform-field-turnstile {
margin-bottom: 1.5rem;
display: flex;
justify-content: center;
}

@media (max-width: 768px) {
.primeform-form {
padding: 0;
}

.primeform-input,
.primeform-textarea,
.primeform-select {
font-size: 16px;
}

.primeform-field-submit .primeform-submit {
width: auto;
padding: 0.75rem 1.5rem;
}
}

/*--- menu ---*/

:root {
--header-height: 4.5rem;
}

.site-header {
--header-bg: #fff;
--header-text: #1b1b1b;
--header-padding-x: 1.5rem;
--header-max-width: 1920px;
background: var(--header-bg);
color: var(--header-text);
padding: 0;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
}

.header-nav__container {
display: flex;
align-items: center;
justify-content: space-between;
max-width: var(--header-max-width);
margin-left: auto;
margin-right: auto;
padding-left: var(--header-padding-x);
padding-right: 0;
box-sizing: border-box;
}

.header-nav__logo {
flex-shrink: 0;
}

.header-nav__logo a {
display: block;
color: var(--header-text);
text-decoration: none;
font-weight: 500;
font-size: 1.6rem;
}

.header-nav__right {
display: flex;
align-items: center;
gap: 1.5rem;
}

.header-nav__mail {
color: var(--header-text);
text-decoration: none;
font-size: 1.4rem;
font-weight: 500;
transition: opacity 0.2s ease;
}

.header-nav__mail:hover {
opacity: 0.7;
}

.header-nav__burger {
display: flex;
align-items: center;
justify-content: center;
padding: 0;
margin: 0;
border: none;
background: transparent;
color: var(--header-text);
cursor: pointer;
appearance: none;
}

.header-nav__burger-inner {
display: block;
width: 2.4rem;
height: 2.4rem;
}

.header-nav__burger-svg {
width: 100%;
height: 100%;
display: block;
}

.header-nav__burger-line line {
vector-effect: non-scaling-stroke;
}

@media (min-width: 768px) {
.site-header {
--header-padding-x: 3.2rem;
}

.header-nav__container {
padding-right: var(--header-padding-x);
}
}

@media (min-width: 1025px) {
.site-header {
--header-padding-x: 9.25rem;
}
}

@media (max-width: 768px) {
.header-nav__logo a {
font-size: 1.4rem;
}
}

/*--- logo ---*/

.header-nav__logo-link--current {
cursor: default;
pointer-events: none;
}

.header-nav__logo-img {
display: block;
height: 2.4rem;
width: auto;
}

@media (min-width: 768px) {
.header-nav__logo-img {
height: 2.4rem;
}
}

@media (min-width: 1025px) {
.header-nav__logo-img {
height: 3rem;
}
}

/*--- footer ---*/

.site-footer {
--header-padding-x: 1.5rem;
--header-max-width: 1920px;
background: #fff;
color: #1b1b1b;
}

.footer__container {
max-width: var(--header-max-width);
margin-left: auto;
margin-right: auto;
padding: 2rem var(--header-padding-x);
box-sizing: border-box;
}

@media (min-width: 768px) {
.site-footer {
--header-padding-x: 3.2rem;
}
}

@media (min-width: 1025px) {
.site-footer {
--header-padding-x: 9.25rem;
}
}

.footer__columns {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 1rem;
width: 100%;
max-width: 1280px;
margin: 0 auto;
}

.footer__left {
display: flex;
flex-direction: column;
gap: 1rem;
}

.footer__logo {
flex-shrink: 0;
}

.footer__logo-link {
display: block;
}

.footer__logo-img {
display: block;
height: 2.4rem;
width: auto;
}

@media (min-width: 768px) {
.footer__logo-img {
height: 2.4rem;
}
}

@media (min-width: 1025px) {
.footer__logo-img {
height: 3rem;
}
}

.footer__menu ul {
list-style: none;
display: flex;
flex-direction: column;
gap: 0.5rem;
margin: 0;
padding: 0;
}

.footer__menu a {
color: #333;
text-decoration: none;
font-size: 0.9rem;
transition: opacity 0.2s ease;
}

.footer__menu a:hover {
opacity: 0.7;
}

.footer__menu .current-menu-item > a,
.footer__menu .current_page_item > a {
color: #adadad;
pointer-events: none;
cursor: default;
border-bottom: 1px solid #adadad;
}

.footer__right {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 1rem;
}

.footer__sns {
display: flex;
gap: 1rem;
align-items: center;
}

.footer__sns-link {
color: #333;
font-size: 1.5rem;
transition: opacity 0.2s ease;
}

.footer__sns-link:hover {
opacity: 0.7;
}

.footer__address {
font-size: 0.9rem;
line-height: 1.6;
color: #1b1b1b;
}

.footer-copyright {
width: 100%;
border-top: 1px solid #dddddb;
text-align: center;
padding: 1.5rem;
box-sizing: border-box;
}

.footer-copyright__text {
margin: 0;
font-size: 0.9rem;
color: #333;
font-style: normal;
}

@media (max-width: 768px) {
.footer__columns {
flex-direction: column;
align-items: stretch;
gap: 1.5rem;
}

.footer__left {
align-items: stretch;
}

.footer__logo {
display: flex;
justify-content: center;
}

.footer__address {
text-align: left;
}

.footer__menu ul {
align-items: flex-start;
}

.footer__right {
align-items: stretch;
}

.footer__sns {
justify-content: flex-end;
}
}

.tech-benefits .home-news__heading-as-of { font-size: 0.8rem; font-weight: 500; color: #666; }

@media (min-width: 768px) {
.imi-co-section-board .home-news__heading-wrap { text-align: center; }

.imi-co-section-board .home-news__heading { text-align: center; }
}

.imi-overview-dl {
display: grid;
grid-template-columns: 1fr;
row-gap: 0.5rem;
column-gap: 0;
}

.imi-overview-dl dt,
.imi-overview-dl dd {
padding: 1rem 0;
margin: 0;
color: #333;
line-height: 1.6;
}

.imi-overview-dl dt {
font-weight: 500;
grid-column: 1;
text-align: left;
}

.imi-overview-dl dd {
grid-column: 1;
border-bottom: 1px solid #959595;
}

.imi-overview-dl dd:last-of-type { border-bottom: none; }

.imi-overview-dl dt:first-of-type,
.imi-overview-dl dd:first-of-type { border-top: 1px solid #959595; }

/* 所在地内の地図（スマホで住所の直下に表示） */
.imi-overview-dl dd .imi-overview-map {
margin-bottom: 0;
padding-top: 0;
border-top: none;
}

@media (max-width: 639px) {
.imi-company-overview { padding: 0 0.5rem; }

.imi-overview-dl dt { padding: 1rem 0 0.5rem; }

.imi-overview-dl dd { padding: 0 0 1rem; }

.imi-overview-dl dd:first-of-type { border-top: none; }

.imi-overview-map iframe { height: 250px; min-height: 200px; }
}

@media (min-width: 640px) {
.imi-overview-dl { grid-template-columns: 10em 1fr; row-gap: 0; column-gap: 2rem; }

.imi-overview-dl dt {
grid-column: 1;
text-align: right;
border-bottom: none;
border-top: none;
}

.imi-overview-dl dd {
grid-column: 2;
position: relative;
border-bottom: none;
border-top: none;
min-width: 0;
}

.imi-overview-dl dd::after {
content: '';
position: absolute;
left: calc(-10em - 2rem);
right: 0;
bottom: 0;
border-bottom: 1px solid #959595;
}

.imi-overview-dl dd:first-of-type::before {
content: '';
position: absolute;
left: calc(-10em - 2rem);
right: 0;
top: 0;
border-top: 1px solid #959595;
}

.imi-overview-dl dd:last-of-type::after { display: none; }

.imi-overview-dl dt:first-of-type,
.imi-overview-dl dd:first-of-type { border-top: none; }

.imi-overview-dl dt:last-of-type,
.imi-overview-dl dd:last-of-type { border-bottom: none; }

}

.imi-overview-textblock {
display: flow-root;
width: 100%;
min-width: 0;
}

.imi-overview-list {
margin: 0;
padding-left: 1.25rem;
list-style-type: disc;
list-style-position: outside;
}

.imi-overview-list li {
display: list-item;
margin-bottom: 0.25rem;
color: #333;
}

.imi-overview-list li::marker {
color: #bcbcbc;
}

.imi-overview-dl .imi-overview-tel {
color: #333;
text-decoration: none;
}

.imi-overview-dl .imi-overview-tel:hover,
.imi-overview-dl .imi-overview-tel:focus {
color: #333;
text-decoration: none;
}

@media (max-width: 639px) {
.imi-overview-dl .imi-overview-tel { text-decoration: underline; }
}

.imi-overview-map { max-width: 800px; overflow: hidden; }

.imi-overview-map iframe { width: 100%; max-width: 800px; height: 460px; border: 0; }

.imi-board-members__grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }

.imi-board-members__item { background: #fff; padding: 1.5rem; }

.imi-board-members__title { font-size: 1rem; font-weight: 500; color: #333; margin: 0 0 0.75rem; }

.imi-board-members__address,
.imi-board-members__phone,
.imi-board-members__rep,
.imi-board-members__website { font-size: 0.875rem; line-height: 1.6; color: #333; margin: 0 0 0.5rem; }
.imi-board-members__website { text-align: right; }
.imi-board-members__website a,
.imi-overview-file-link { color: #80C476; text-decoration: underline; }
.imi-board-members__website a:hover,
.imi-overview-file-link:hover { text-decoration: none; }
.imi-board-members__website a .fa-up-right-from-square { margin-left: 0.25em; font-size: 0.85em; vertical-align: 0.05em; }

@media (min-width: 640px) {
.imi-board-members__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1025px) {
.imi-board-members__grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
}

.inquiry-content { padding: 0 0 4rem; }

.inquiry-section { margin-bottom: 4rem; }

.inquiry-section:last-child { margin-bottom: 0; }

.inquiry-section__heading-wrap {
text-align: left;
margin-top: 4rem;
margin-bottom: 2rem;
}

.inquiry-section__heading {
font-size: 1.6rem;
font-weight: 500;
color: #333;
margin: 0 0 0.5rem;
}

@media (max-width: 768px) {
.inquiry-section__heading { font-size: 1.5rem; }
}

.inquiry-section__caption {
font-size: 0.9rem;
line-height: 1.7;
color: #333;
margin: 0;
}

@media (min-width: 768px) {
.inquiry-section__heading-wrap { text-align: center; }
.inquiry-section__heading { text-align: center; }
.inquiry-section__caption { text-align: center; }
}

.faq-accordion {
list-style: none;
margin: 0;
padding: 0;
border-top: 1px solid #ddd;
background: transparent;
}

.faq-accordion__item {
border-bottom: 1px solid #ddd;
}

.faq-accordion__q {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
width: 100%;
padding: 1.25rem 0;
border: none;
background: transparent;
font-family: inherit;
font-size: 1rem;
font-weight: 500;
color: #333;
text-align: left;
cursor: pointer;
appearance: none;
}

.faq-accordion__q:hover .faq-accordion__q-body { color: #80C476; }

.faq-accordion__q:hover .faq-accordion__q-label { color: #bcbcbc; }

.faq-accordion__q-text {
flex: 1;
min-width: 0;
display: flex;
align-items: flex-start;
gap: 0.35em;
font-size: 1.1rem;
color: #333;
transition: color 0.25s ease;
}

.faq-accordion__q-label {
flex-shrink: 0;
color: #bcbcbc;
transition: color 0.25s ease;
}

.faq-accordion__q-body {
flex: 1;
min-width: 0;
}

.faq-accordion__icon {
flex-shrink: 0;
font-size: 1.1rem;
color: #333;
}

.faq-accordion__icon i {
font-size: 1.1rem;
color: #333;
transition: transform 0.35s ease;
}

.faq-accordion__item.is-open .faq-accordion__icon i { transform: rotate(180deg); }

.faq-accordion__a {
max-height: 0;
overflow: hidden;
transition: max-height 0.35s ease;
}

.faq-accordion__a-inner {
overflow: hidden;
min-height: 0;
padding: 0 1rem 1.25rem;
font-size: 0.95rem;
line-height: 1.8;
color: #333;
box-sizing: border-box;
}

.faq-accordion__a-inner a { color: #80C476; text-decoration: underline; }

.faq-accordion__a-inner a:hover { text-decoration: none; }

.cta-outer--inquiry .cta { background-image: url(../images/cta_inquiry_mb.png); }

@media (min-width: 769px) {
.cta-outer--inquiry .cta { background-image: url(../images/cta_inquiry.png); }
}

.inquiry-section__heading-wrap--form {
margin-top: 0;
margin-bottom: 1.5rem;
text-align: left;
}

.inquiry-section__heading-wrap--form .inquiry-section__heading {
font-size: 1.3rem;
text-align: left;
}

.inquiry-section__heading-wrap--form .inquiry-section__caption { text-align: left; }

.inquiry-form-wrap { margin-top: 0; padding-bottom: 8rem; }

.co-business {
background: #f5f5f0;
padding: 4rem 0;
}

.co-business-section {
max-width: 1000px;
margin: 0 auto 8rem;
padding: 0 1.25rem;
}

.co-business-section:last-child {
margin-bottom: 0;
}

.co-business__heading-wrap {
text-align: center;
margin-bottom: 2rem;
}

.co-business__heading {
font-size: 1.5rem;
font-weight: 500;
color: #80C476;
margin: 0;
line-height: 1.5;
}

.co-business__row {
position: relative;
width: 100%;
}

.co-business__img {
width: 68%;
display: block;
}

.co-business__img img {
width: 100%;
height: auto;
display: block;
object-fit: cover;
vertical-align: bottom;
}

.co-business__row--reverse .co-business__img {
margin-left: auto;
}

.co-business__panel {
position: absolute;
bottom: -3rem;
right: 1.5rem;
left: auto;
width: 55%;
max-width: 460px;
background: #fff;
padding: 1.25rem 2.5rem;
z-index: 10;
}

.co-business__row--reverse .co-business__panel {
left: 1.5rem;
right: auto;
}

.co-business__panel p {
margin: 0 0 1rem;
font-size: 0.95rem;
line-height: 1.8;
color: #333;
}

.co-business__panel p:last-child {
margin-bottom: 0;
}

@media (max-width: 768px) {
.co-business {
padding: 3rem 0;
}

.co-business-section {
margin-bottom: 3.5rem;
padding: 0 1rem;
}

.co-business__heading-wrap {
margin-bottom: 1.5rem;
text-align: left;
}

.co-business__heading {
font-size: 1.2rem;
text-align: left;
}

.co-business__row {
min-height: 0;
}

.co-business__img {
width: 100%;
}

.co-business__row--reverse .co-business__img {
margin-left: 0;
}

.co-business__panel {
position: static;
width: 100%;
max-width: none;
bottom: auto;
left: auto;
right: auto;
margin: 0;
padding: 1.5rem 1.25rem;
}
}
