@charset "utf-8";
/*
Theme Name: QUADRA child
Theme URI:https://tcd-theme.com/biz001
Description:WordPressテーマ「QUADRA」の子テーマ
Template:quadra_biz001
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0
*/

/*
ここから下にCSSを追記してください。
*/

/*------------- トップページ --------------*/

#front_page_contents #article .post_content {
background: rgba(246, 248, 247, .92);
}

#front_page_contents {
width: 100%;
padding: 0;
margin: 0 auto;
}

#front_page_contents .wrap {
max-width: 1200px;
width: auto;
margin: 0 auto;
padding: 2em 0;
}

@media screen and (max-width: 1201px) {
#front_page_contents {
width: 100% !important;
padding: 0 !important;
}

#front_page_contents .wrap {
padding: 2em 1em;
}

#article .post_content {
padding: 0 !important;
}
}

/* ---------- hero ---------- */
.hero {
position: relative;
min-height: 560px;
display: flex;
align-items: center;
overflow: hidden;
background:
linear-gradient(
to right,
rgba(0, 0, 0, 0.75) 0%,
rgba(0, 0, 0, 0.45) 40%,
rgba(0, 0, 0, 0.1) 100%
),
url("https://soshinsha.biz/wp-content/uploads/2026/05/toppc_banner3.png")
center center / cover no-repeat;
color: #EFF4F2;
}

#front_page_contents .hero .wrap {
position: relative;
z-index: 2;
margin: auto;
max-width: 1200px;
width: 100%;
padding: 1em;
}

.badge {
display: inline-flex;
align-items: center;
gap: 15px;
border: 1px solid rgba(239, 244, 242, .35);
padding: 6px 16px;
border-radius: 100px;
letter-spacing: 0.08em;
color: #fff;
margin-bottom: 28px;
}

.badge b {
font-family: serif;
color: #C9A227;
font-weight: 500;
}

.post_content .hero h1 {
font-size: 200%;
font-family: serif;
line-height: 1.5;
color: #fff;
margin-bottom: 26px;
animation: riseIn .9s ease both;
}

.hero p.sub {
line-height: 2;
max-width: 560px;
color: #fff;
margin-bottom: 40px;
animation: riseIn 1.1s ease both;
}

@keyframes riseIn {
from {
opacity: 0;
transform: translateY(14px);
}

to {
opacity: 1;
transform: translateY(0);
}
}

.hero-ctas {
display: flex;
gap: 16px;
flex-wrap: wrap;
}

.btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 14px 30px;
font-size: 14px;
letter-spacing: .05em;
border-radius: 2px;
transition: transform .15s ease, background .15s ease;
}

.btn:hover {
transform: translateY(-1px);
}

.hero .hero-ctas .btn-gold {
background: #C9A227;
color: #fff;
}

.hero .hero-ctas .btn-gold:hover {
opacity: 0.8;
}

.hero .hero-ctas  .btn-outline {
border: 1px solid #fff;
background: #0F3A34;
color: #fff;
}

.hero .hero-ctas .btn-outline:hover {
opacity: 0.8;
}

@media screen and (max-width: 1201px) {
#front_page_contents .hero .wrap {
margin: 0 auto !important;
}
}

/* ---------- section shell ---------- */

.eyebrow {
font-size: 12.5px;
letter-spacing: .14em;
color: var(--teal);
margin-bottom: 14px;
}

.sec-head {
max-width: 640px;
margin-bottom: 1em;
}

.sec-head h2 {
font-size: 27px;
color: var(--ink);
margin-bottom: 16px;
}

.sec-head p {
color: var(--mist);
font-size: 14.5px;
}

/* ---------- strengths ---------- */
.grid3 {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px;
}

.strength-card {
background: #ffff;
border: 1px solid #DCE3E1;
border-radius: 4px;
padding: 34px 28px;
}

.strength-card .num {
font-family: serif;
font-size: 18px;
color: #C9A227;
letter-spacing: .1em;
margin-bottom: 18px;
display: block;
}

.post_content .strength-card h3 {
font-size: 21px;
color: var(--ink);
margin-bottom: 12px;
line-height: 1.6;
}

.strength-card p {
font-size: 13.8px;
color: var(--mist);
line-height: 1.9;
}

@media screen and (max-width: 768px) {

.grid3 {
grid-template-columns: unset;
}
}

/* ---------- proof band ---------- */
.proof {
background: #0F3A34;
color: #6E8783;
padding: 70px 0;
}

.proof-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
text-align: center;
}

.proof-item .num {
font-family: serif;
font-size: 44px;
color: #C9A227;
line-height: 1;
}

.proof-item .rule {
width: 28px;
height: 1px;
background: rgba(201, 162, 39, .6);
margin: 16px auto;
}

.proof-item .label {
font-size: 12.5px;
color: #C6D8D4;
line-height: 1.7;
}

@media(max-width:780px) {
.proof-grid {
grid-template-columns: repeat(2, 1fr);
row-gap: 36px;
}
}

/* ---------- services ---------- */
section#services {
padding: 3em 0;
}

.service-card {
background: #fff;
border: 1px solid #ddd;
border-radius: 4px;
overflow: hidden;
display: flex;
flex-direction: column;
}

.service-card .thumb {
height: 150px;
display: flex;
align-items: center;
justify-content: center;
}

.service-card .thumb img {
max-width: 150px;
width: 100%;
}

.service-body {
padding: 26px 26px 30px;
flex: 1;
display: flex;
flex-direction: column;
}

.service-body h3 {
font-size: 18px;
color: var(--ink);
margin-bottom: 12px;
}

.service-body p {
font-size: 13.6px;
color: var(--mist);
margin-bottom: 18px;
flex: 1;
}

.chip {
display: inline-block;
font-size: 11.5px;
color: var(--teal-deep);
background: #E6EEEC;
border: 1px solid var(--line);
padding: 5px 12px;
border-radius: 100px;
margin-bottom: 18px;
width: fit-content;
}

.more {
font-size: 13px;
color: #C9A227;
display: inline-flex;
align-items: center;
gap: 6px;
}

.more:after {
content: "→";
transition: transform .15s ease;
}

.service-card:hover .more:after {
transform: translateX(3px);
}

/* ---------- industries ---------- */

section.industries {
padding: 3em 0;
}

.industries {
background: #EDF2F0;
}

.pill-row {
display: flex;
flex-wrap: wrap;
gap: 12px;
}

.pill {
font-size: 13.5px;
color: var(--teal-deep);
background: #fff;
border: 1px solid var(--line);
padding: 9px 18px;
border-radius: 100px;
}

/* ---------- csr / news ---------- */
.split {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
margin: 3em auto;
}

.simple-card {
border-top: 1px solid var(--line);
padding: 22px 0;
}


.simple-card p {
font-size: 13px;
color: var(--mist);
}

.split a.more-link {
display: inline-block;
margin-top: 24px;
font-size: 13px;
color: #1F6F64;
padding: 5px 0;
border-bottom: 1px solid #1F6F64;
}

.split img.attachment-post-thumbnail.size-post-thumbnail.wp-post-image {
display: none;
}

.split .su-posts-default-loop .su-post-thumbnail {
float: unset;
display: block;
width: unset;
height: unset;
}

.split .su-posts-default-loop .su-post-excerpt {
display: none;
}

.split .su-posts-default-loop .su-post {
display: flex;
flex-direction: column-reverse;
margin-bottom: 1em;
padding-bottom: 10px;
border-bottom: 1px solid #DCE3E1;
}

.split .su-posts-default-loop h2.su-post-title {
font-size: 14px;
margin: 0 !important;
font-weight: unset;
}
.split .su-posts-default-loop h2.su-post-title a {
color: #333;
}

.split .su-posts-default-loop h2.su-post-title a:hover {
opacity: 0.8;
}

.split .su-posts-default-loop .post_content a, .split .su-posts-default-loop .custom-html-widget a {
color: #333;
}

@media(max-width:820px) {
.split {
grid-template-columns: 1fr;
gap: 3em;
}
}

/* ---------- cta banner ---------- */
.cta-banner {
background: #C9A227;
color: #fff;
text-align: center;
padding: 80px 0;
background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.6)), url(https://soshinsha.biz/wp-content/uploads/2026/07/corporate-1-scaled-1.jpeg);
background-position: right;
background-repeat: no-repeat;
}

.cta-banner h2 {
font-size: 26px;
margin-bottom: 18px;
color: #fff;
}

.cta-banner p {
font-size: 14.5px;
margin-bottom: 34px;
color: #fff;
line-height: normal;
}

.cta-banner .btn-outline {
border: 1px solid #fff;
color: #fff;
}

.cta-banner .btn-outline:hover {
color: #333;
background: #fff;
}

/*------------- トップページここまで --------------*/

#bread_crumb ul {
display: none;
}

#global_menu ul ul {
box-shadow: 0px 0px 10px 0px rgba(136, 136, 136, 1) !important;
}

#global_menu>ul>li>a {
color: #333;
font-size: 16px;
}

#global_menu>ul>li>a:hover {
color: #333;
background: #F4F4F4;
}

.cb_column_content .link {
box-shadow: 5px 5px 15px 1px rgba(0, 0, 0, 0.2);
}

/* ページ共通 */
#header_logo {
position: unset;
left: 50px;
}

#header_search .input_area input {
background: #f4f4f4;
}

#header_search .button label:before {
color: #333;
top: 23px;
}

.site_description {
color: #009b1a;
}

#main_col h2 {
color: #333;
padding: 1em 0;
font-size: 170%;
}

#main_col h3 {
text-align: left;
color: #009b1a;
}

#main_col h4 {
text-align: left;
color: #333;
margin: 0 0 0.5em !important;
}

#main_col h5 {
font-size: 14px !important;
text-align: left;
color: #333;
border-top: 0 solid #ddd;
border-bottom: 1px solid #ddd;
border-left: 0 solid #ddd;
border-right: 0 solid #ddd;
padding: 3px 0 3px 24px !important;
margin: 0 0 30px !important;
}

.post_content p {
line-height: 1.5;
margin: 0 0 1.5em 0;
}

.post_content li,
.post_content dt,
.post_content dd {
line-height: 1.5;
list-style: disc;
}

.post_content .img {
float: right;
margin: 0 0 1em 1em;
}

#archive_header_title .image_wrap {
display: none;
}

.post_content .timeline>li {
overflow: hidden;
margin: 0;
position: relative;
}

.post_content .timeline-date {
width: 110px;
float: left;
margin: 0;
line-height: 0;
margin-top: 35px;
text-align: end;
padding-right: 1em;
font-weight: bold;
}

.post_content .timeline-content {
width: 75%;
float: left;
border-left: 1px #e5e5d1 solid;
padding: 1em;
}

.post_content .timeline-content:before {
content: '';
width: 12px;
height: 12px;
background: #9dc595;
position: absolute;
left: 121px;
top: 30px;
border-radius: 100%;
}

#main_contents.right #main_col {
padding: 60px 60px 150px 60px;
}

#main_contents.right {
background: #f4f4f4;
}

#main_contents>.inner {
max-width: 1200px;
}

#main_col {
width: 1200px;
}

.post_content .s_table table {
margin-bottom: 0;
max-width: 800px;
margin: auto;
}

#global_menu_button span {
background: #333 !important;
}

#header_logo {
margin-left: 1em;
}

#mobile_menu a {
font-weight: 600;
}

#mobile_menu li li a {
background: #e1f0e4;
}

.icon:before {
color: #333 !important;
}

#mobile_menu .child_menu_button:hover .icon:before {
color: #9dc595 !important;
}

#mobile_menu a:hover,
#drawer_menu .close_button:hover,
#mobile_menu .child_menu_button:hover {
background: #009b1a !important;
}

#footer_menu .footer_menu li:first-of-type a {
color: #9dc595 !important;
}

#footer_menu .footer_menu li#menu-item-262 {
margin-top: 2em;
}

#footer_menu .footer_menu li#menu-item-279 a {
color: #9dc595 !important;
font-size: 16px;
font-weight: 600;
}

#footer_menu .footer_menu li#menu-item-353 a:after ,#footer_menu .footer_menu li#menu-item-264 a:after{
content: "\f08e";
font-family: "Font Awesome 6 Free";
font-weight: 900;
display: inline-block;
margin-left: 5px;
}

a.out-link:after {
content: "\f08e";
font-family: "Font Awesome 6 Free";
font-weight: 900;
display: inline-block;
margin-left: 5px;
}

@media screen and (max-width: 1201px) {
#main_col>.inner {
width: 100% !important;
}
}

@media screen and (max-width: 900px) {
#article {
margin: 0 !important;
padding: 0 !important;
}
}

@media screen and (max-width: 768px) {
#main_contents.right #main_col {
padding: 30px 10px 150px 10px;
}

.post_content .img {
float: unset;
margin: 1em 0;
}

.post_content .simple_table th,
.post_content .simple_table td {
display: block;
border-bottom: none;
padding: 10px;
}

.post_content .simple_table tr:last-child td:last-child {
border-bottom: 1px solid #ccc;
}

.post_content .timeline {
list-style: none;
margin: 0;
}

.post_content .timeline-content:before {
left: 0px;
top: 15px;
}

.post_content .timeline-content {
width: 90%;
margin: 5px;
}

.post_content .timeline-date {
margin-top: 20px;
margin-left: 1em;
text-align: left;
}

.cb_header {
padding: 0px 10px;
}

.btn-wrap {
margin-right: 2em;
}

#main_col h2 {
font-size: 150%;
}

}

/*  お問合せボタン  */
#header_logo .info_btn {
position: absolute;
right: 0;
}

#header_logo .info_btn a {
display: block;
background: #fff;
height: auto;
line-height: unset;
padding: 10px 2em;
border: 2px solid #009b1a;
color: #009b1a;
font-weight: 600;
border-radius: 5px;
transition: all 0.5s ease 0s;
}

#header_logo .info_btn a:hover {
background: #009b1a;
color: #fff;
}

#header_logo .info_btn.mhlab_btn {
right: 11em;
}

#header_logo .info_btn.mhlab_btn a {
color: #0083cc;
border-color: #0083cc;
}

#header_logo .info_btn.mhlab_btn a:hover {
background: #0083cc;
color: #fff;
}

@media screen and (max-width: 1201px) {
#header_logo .info_btn {
right: 5em;
}
#header_logo .info_btn.mhlab_btn {
right: 14em;
}
}

@media screen and (max-width: 768px) {
#header_logo .info_btn {
display: none;
}
}

/* 右矢印リンク */
.post_content .arrow-link-right {
position: relative;
display: inline-block;
text-decoration: none;
font-weight: 500;
color: #333;
}

.post_content .arrow-link-right::after {
content: "";
position: absolute;
left: 100%;
top: 50%;
width: 30px;
height: 10px;
border-bottom: 1px solid #009b1a;
border-right: 1px solid #009b1a;
transform: translateY(-50%) skewX(50deg) translateX(0);
transition: transform .3s ease;
}

.post_content .arrow-link-right:hover::after {
transform: translateY(-50%) skewX(50deg) translateX(10px);
}

/* トップページニュース */

.topnews .su-posts-default-loop .su-post-thumbnail {
display: none;
}

.topnews .su-post-excerpt {
display: none;
}

.topnews .su-post-comments-link {
display: none;
}

.topnews .su-posts-default-loop .su-post {
display: flex;
flex-direction: column-reverse;
border-bottom: 1px dotted #a2af9f;
padding: 1em 0;
margin: 0;
}

.topnews .su-posts-default-loop .su-post-meta {
text-align: left;
}

.topnews .su-posts-default-loop h2.su-post-title {
margin: 0 !important;
padding: 0;
text-align: left;
}

.topnews .su-posts-default-loop h2.su-post-title a {
color: #333;
font-size: 16px;
font-weight: 500;
}

/* ブログページ */
#blog_archive .post_list .category {
font-weight: bold;
}

#main_col .info {
background: #f4f4f4;
padding: 1em;
margin-bottom: 1em;
}

#blog_title #blog_image {
position: relative;
max-width: 300px;
width: 100%;
height: 200px;
}

#blog_title {
display: flex;
flex-direction: row-reverse;
border-bottom: solid 1px #ddd;
padding: 1em 0;
margin-bottom: 40px;

}

#blog_title .content {
border-top: unset;
border: none;
}

#blog_archive .inner .category_list {
width: auto;
}


@media screen and (max-width: 768px) {
#blog_title {
flex-direction: column-reverse;
width: unset;
margin-left: 0;
}

#blog_title #blog_image {
max-width: unset;
}

#blog_archive .inner .category_list {
display: flex;
flex-wrap: wrap;
width: auto;
margin-bottom: 20px;

}

#blog_archive .category_list .item {
margin-bottom: 10px;
}
}


/* リスト*/

section.service-list {
margin-top: 2em;
}

.service-list .service-list {
max-width: 1200px;
margin: 0 auto;
padding: 80px 20px;
}

.service-list .service-list ul {
margin: 0;
}

.service-list .service-item {
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
margin-bottom: 20px;
padding: 30px;
border: 1px solid #ddd;
border-radius: 10px;
}

.service-list .service-text {
width: 100%;
}

.service-list .service-item:last-child {
margin-bottom: 0;
}

.service-list .service-icon {
max-width: 120px;
flex-shrink: 0;
text-align: center;
}

.service-list .service-icon img {
width: 100%;
height: auto;
display: block;
}

.service-list .service-text h3 {
color: #009b22;
line-height: 1.4;
}

.service-list .service-text p {
margin: 0;
line-height: 2;
}

.service-list .btn-wrap {
margin-top: 1em;
text-align: end;
margin-right: 3em;
}

/* スマホ */
@media screen and (max-width: 768px) {
.service-list .service-list {
padding: 50px 20px;
}

.service-list .service-item {
flex-direction: column;
align-items: flex-start;
gap: 24px;
margin-bottom: 30px;
}

.service-list .service-icon {
margin: 0 auto;
}

.service-list .service-text h3 {
margin-bottom: 18px;
}

.service-list .service-text p {
line-height: 1.8;
}
}

/*  メディアページ  */

.warp_service_box .service_box {
display: flex;
padding: 2em;
box-shadow: 5px 5px 15px 1px rgba(0, 0, 0, 0.2);
border-radius: 10px;
margin: 1.5em auto;
max-width: 850px;
width: auto;
}

.warp_service_box .cont_imgbox {
max-width: 350px;
min-width: 350px;
width: 100%;
margin-right: 1.5em;
}

.warp_service_box .cont_imgbox img {
border: 1px solid #f4f4f4;
}

.warp_service_box .link_box {
display: flex;
margin: 10px 0;
align-items: center;
}

.post_content .warp_service_box p {
margin: 0;
}

.warp_service_box .link_box a {
display: inline-block;
}

.warp_service_box .link_box img {
max-width: 30px;
width: 100%;
margin: 0 5px;
}

.warp_service_box .btn a {
display: block;
border: 1px solid #009b1a;
padding: 10px 40px;
max-width: max-content;
border-radius: 5px;
margin: auto;
}

.warp_service_box ul.cont_textbox {
list-style: circle outside none;
margin-left: 0;
margin: 0;
}

.warp_service_box .cont_textbox li {
list-style: none;
margin: 0;
padding: 0;
line-height: 2;
}

.warp_service_box .cont_textbox li span {
display: inline-block;
font-weight: 600;
color: #009b1a;
width: 150px;
}

.warp_service_box .cont_textbox li span:before {
content: url(https://soshinsha.biz/wp-content/uploads/2026/06/cl_icon.png);
display: inline-block;
margin-right: 6px;
position: relative;
top: 3px;
left: 0;
}

.warp_service_box .cont_textbox li span.user_icon:before {
content: url(https://soshinsha.biz/wp-content/uploads/2026/06/hu_icon.png);
}

.warp_service_box .cont_textbox li span.mail_icon:before {
content: url(https://soshinsha.biz/wp-content/uploads/2026/06/mail_icon.png);
}

figure {
margin: 1em auto;
}

figure img {
display: block;
margin: auto;
}

@media screen and (max-width: 768px) {
.warp_service_box .service_box {
flex-direction: column;
align-items: center;
max-width: 500px;
}

.warp_service_box .cont_imgbox {
margin: 1em auto;
min-width: auto;
}
}

/*  ニュースページ一覧  */

#news_archive_list .image_wrap {
display: none;
}

#main_col #news_archive_list .title {
border: none;
background: none;
padding: 0;
color: #333;
}

#news_archive_list .content {
width: 100%;
border-left: unset;
border: 1px solid #ddd;
border-radius: 10px;
}

#news_archive_list .item {
height: calc(220px * 0.56);
}

@media screen and (max-width: 900px) {
#news_archive_list .content {
width: 100% !important;
}
}

@media screen and (max-width: 550px) {
#news_archive_list .content {
width: 100% !important;
}
}

/*  事業内容  */

.post_content ul.flex-list {
display: flex;
flex-wrap: wrap;
justify-content: center;
}

.post_content ul.flex-list li {
flex: 1 1 30%;
margin: 5px;
}

@media screen and (max-width: 768px) {
.post_content ul.flex-list {
flex-direction: column;
}
}

/*  テーブル スライド  */

#ss-harmonic-table-wrapper {
width: 100%;
margin: 30px 0;
overflow-x: auto;
}

#ss-harmonic-table-wrapper table.ss-harmonic-table {
width: 100%;
table-layout: fixed; 
border-collapse: collapse;
color: inherit;
font-family: inherit;
border: 1px solid #d1d5db;
}

#ss-harmonic-table-wrapper table.ss-harmonic-table thead tr {
background-color: #f1f5f9;
}

#ss-harmonic-table-wrapper table.ss-harmonic-table th {
color: #1e293b;
font-weight: 600;
padding: 14px 16px;
border: 1px solid #d1d5db;
text-align: left;
}

#ss-harmonic-table-wrapper table.ss-harmonic-table td {
padding: 16px;
border: 1px solid #e5e7eb;
vertical-align: top;
text-align: left;
line-height: 1.7;
}


#ss-harmonic-table-wrapper table.ss-harmonic-table .col-sh {
width: 32%; 
font-weight: 600;
white-space: normal;       
word-wrap: break-word;      
overflow-wrap: break-word; 
word-break: break-all;     
}


#ss-harmonic-table-wrapper table.ss-harmonic-table .col-ch {
width: 68%;
white-space: normal;
word-wrap: break-word;
overflow-wrap: break-word;
word-break: break-all;
}


@media (max-width: 768px) {
#ss-harmonic-table-wrapper table.ss-harmonic-table .col-sh {
width: 38%; 
padding: 12px 8px;
}
#ss-harmonic-table-wrapper table.ss-harmonic-table .col-ch {
width: 62%; 
padding: 12px 8px;
}
}

/* ==========================================================================
事業内容
========================================================================== */

#main_col{
color: inherit;
font-family: inherit;
}
#main_colp {
line-height: 1.9;
text-align: left;
}

#main_col .ss-lead {
font-size: 15px;
line-height: 2;
margin-bottom: 8px;
}

/* ---------- 3事業カード ---------- */
.business-section {
--text-color: #333;
--border-color: #d5dce4;
--header-bg: #fafafa;
background: #fff;
color: var(--text-color);
}

.business-section__inner {
width: min(1400px, 100%);
margin: 0 auto;
}

.business-section__title {
margin: 0 0 36px;
padding-bottom: 18px;
border-bottom: 1px solid #cfd6de;
color: var(--text-color);
font-size: clamp(26px, 2.4vw, 36px);
font-weight: 700;
line-height: 1.4;
}

.business-cards {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 24px;
}

.business-card {
display: flex;
flex-direction: column;
min-width: 0;
border: 1px solid var(--border-color);
background: #fff;
}

#main_col h3.business-card__title {
margin: 0;
padding: 1em;
border-bottom: 1px solid var(--border-color);
background: var(--header-bg);
color: var(--text-color);
font-size: 100%;
font-weight: 700;
line-height: 1.45;
}

.business-card__body {
display: flex;
flex: 1;
flex-direction: column;
padding: 0 1em;
justify-content: space-between;
}

.business-card__list {
margin: 0 !important;
}

.business-card__item {
padding: 1em 0;
}

.business-card__item + .business-card__item {
border-top: 1px solid var(--border-color);
}

.business-card__label {
display: flex;
align-items: center;
gap: 14px;
color: #009b1a;
font-weight: 700;
line-height: 1.5;
}

.business-card__text {
margin: 0 !important;
}

.business-card__link {
color: #333 !important;
align-items: center;
padding: 1em 0;
font-weight: bold;
text-decoration: auto;
text-underline-offset: 4px;
transition: color 0.2s ease, gap 0.2s ease;
align-self: flex-end;
}

.business-card__link:hover {
color: var(--accent-color);
gap: 15px;
}

/* 共通アイコン */
.business-card__icon {
position: relative;
display: inline-block;
flex: 0 0 auto;
width: 28px;
height: 28px;
box-sizing: border-box;
color: currentColor;
}

/* 人物アイコン */
.business-card__icon--person::before {
content: "";
position: absolute;
top: 2px;
left: 7px;
width: 12px;
height: 12px;
border: 2px solid currentColor;
border-radius: 50%;
box-sizing: border-box;
}

.business-card__icon--person::after {
content: "";
position: absolute;
left: 4px;
bottom: 2px;
width: 18px;
height: 11px;
border: 2px solid currentColor;
border-bottom: 0;
border-radius: 12px 12px 0 0;
box-sizing: border-box;
}

/* 吹き出しアイコン */
.business-card__icon--message {
width: 27px;
height: 21px;
margin-bottom: 2px;
border: 2px solid currentColor;
border-radius: 50%;
}

.business-card__icon--message::before {
content: "";
position: absolute;
left: 5px;
bottom: -5px;
width: 8px;
height: 8px;
border-left: 2px solid currentColor;
transform: rotate(-28deg);
}

.business-card__icon--message::after {
content: "•••";
position: absolute;
top: -8px;
left: 3px;
font-size: 14px;
font-weight: 700;
letter-spacing: 1px;
}

/* チェックアイコン */
.business-card__icon--check {
border: 2px solid currentColor;
border-radius: 50%;
}

.business-card__icon--check::before {
content: "";
position: absolute;
top: 7px;
left: 7px;
width: 9px;
height: 5px;
border-left: 2px solid currentColor;
border-bottom: 2px solid currentColor;
transform: rotate(-45deg);
}

/* タブレット */
@media screen and (max-width: 1000px) {
.business-cards {
grid-template-columns: 1fr;
}

.business-card__body {
padding: 26px;
}

.business-card__text {
font-size: 17px;
}
}

/* スマートフォン */
@media screen and (max-width: 600px) {
.business-section {
padding: 30px 16px 45px;
}

.business-section__title {
margin-bottom: 24px;
padding-bottom: 12px;
font-size: 25px;
}

.business-cards {
gap: 20px;
}

.business-card__title {
padding: 20px;
font-size: 21px;
}

.business-card__body {
padding: 22px 20px;
}

.business-card__label {
margin-bottom: 10px;
}

.business-card__text {
line-height: 1.7;
}

}

/* ---------- ご相談例 ---------- */
#main_col .ss-needs {
list-style: none;
margin: 24px 0 12px;
padding: 0;
border-top: 1px solid #e5e7eb;
}

#main_col .ss-needs li {
margin: 0;
padding: 16px 18px;
border-bottom: 1px solid #e5e7eb;
background: #fafafa;
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: 6px 16px;
}

#main_col .ss-needs li:nth-child(even) {
background: #ffffff;
}

#main_col .ss-need-q {
flex: 1 1 320px;
font-size: 14.5px;
font-weight: 600;
line-height: 1.8;
}

#main_col .ss-need-a {
flex: 0 1 auto;
font-size: 13.5px;
white-space: normal;
background: #ebf7ec;
border-radius: 5px;
padding: 0 1em;
}

#main_col .ss-need-a a {
color: #009b1a;
font-weight: bold;
}

#main_col .ss-need-a::before {
content: "→ ";
color: #64748b;
}

#main_col .ss-note {
font-size: 13.5px;
color: #64748b;
margin: 0 0 8px;
}

/* ---------- ご相談の流れ ---------- */


.consultation-flow__inner {
width: min(1200px, 100%);
margin: 0 auto;
}

.consultation-flow__title {
margin: 0 0 38px;
font-size: 30px;
line-height: 1.4;
text-align: center;
letter-spacing: 0.04em;
}

.consultation-flow__list {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 26px;
margin-left: unset;
margin: 0;
padding: 0;
list-style: none;
}

.consultation-flow__item {
position: relative;
min-height: 250px;
padding: 1em;
border: 1px solid #dce2e8;
border-radius: 4px;
background: #fff;
text-align: center;
box-sizing: border-box;
list-style: none !important;
}

.consultation-flow__item:not(:last-child)::after {
content: "";
position: absolute;
top: 50%;
right: -19px;
width: 13px;
height: 13px;
border-top: 4px solid #8d969d;
border-right: 4px solid #8d969d;
transform: translateY(-50%) rotate(45deg);
z-index: 2;
}

.consultation-flow__number {
position: absolute;
top: 18px;
left: 18px;
display: grid;
place-items: center;
width: 34px;
height: 34px;
border-radius: 50%;
background: #009b1a;
color: #fff;
font-size: 13px;
font-weight: 700;
line-height: 1;
}

.consultation-flow__icon {
width: 62px;
height: 62px;
margin: 12px auto 22px;
}

.consultation-flow__icon svg {
width: 100%;
height: 100%;
fill: none;
stroke: #009b1a;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}

#main_col h3.consultation-flow__heading {
margin: 0 0 12px;
color: #009b1a;
font-size: 18px;
line-height: 1;
text-align: center;
}

.consultation-flow__text {
margin: 0;
color: #333;
font-size: 14px;
line-height: 1.9;
}

/* タブレット */
@media screen and (max-width: 900px) {
.consultation-flow__list {
grid-template-columns: repeat(2, minmax(0, 1fr));
margin: 0 !important;
}

.consultation-flow__item:nth-child(2)::after {
display: none;
}
}

/* スマートフォン */
@media screen and (max-width: 600px) {

.consultation-flow__title {
margin-bottom: 28px;
font-size: 24px;
}

.consultation-flow__list {
display: block;
}

.consultation-flow__item {
min-height: auto;
margin-bottom: 42px;
padding: 32px 20px 26px;
}

.consultation-flow__item:not(:last-child)::after {
top: auto;
right: 50%;
bottom: -25px;
width: 12px;
height: 12px;
transform: translateX(50%) rotate(135deg);
}

.consultation-flow__item:nth-child(2)::after {
display: block;
}

.consultation-flow__item:last-child {
margin-bottom: 0;
}

.consultation-flow__icon {
width: 56px;
height: 56px;
margin-bottom: 18px;
}

.consultation-flow__text br {
display: none;
}
}

/* ---------- CTA ---------- */
#main_col .ss-cta {
margin: 48px 0 0;
padding: 32px 26px;
background: #fafafa;
text-align: center;
}

#main_col .ss-cta h2 {
margin: 0 0 12px;
padding: 0;
border: none;
font-size: 19px;
}

#main_col .ss-cta p {
margin: 0 0 20px;
text-align: center;
}

#main_col .ss-cta-btn {
margin: 0;
text-align: center;
}

#main_col .ss-cta-btn a {
display: inline-block;
padding: 13px 34px;
background: #1e293b;
color: #ffffff;
font-size: 14.5px;
text-decoration: none;
border-radius: 2px;
}

#main_col .ss-cta-btn a:hover {
opacity: .85;
}

/* ---------- スマートフォン ---------- */
@media (max-width: 768px) {

#main_col .ss-cards {
gap: 16px;
}
#main_col .ss-card {
flex: 1 1 100%;
min-width: 0;
}
#main_col .ss-needs li {
padding: 14px;
gap: 4px;
}
#main_col .ss-need-q {
flex: 1 1 100%;
font-size: 14px;
}
#main_col .ss-need-a {
flex: 1 1 100%;
font-size: 13px;
}
#main_col .ss-synergy {
padding: 20px 18px;
}
#main_col .ss-cta {
padding: 26px 18px;
}
}