@charset "utf-8";
/* CSS Document */
/*
Theme Name: iteya
Theme URI: https://iteya-higashiumeda.com
Author: Egg design office
Author URI: https://egg-do.com
*/

*{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
html{ -webkit-text-size-adjust: 100%; height:100%; scroll-behavior: smooth;}
body{ height:100%; letter-spacing:1px; animation: fadeIn 1.5s ease 0s 1 normal; -webkit-animation: fadeIn 1.5s ease 0s 1 normal; font-family: 'Noto Sans JP', sans-serif;}
::after,
::before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

:root{ 
	--main-color: #00a44e;/* グリーン var(--main-color)*/
	--sub-bgcolor: #f6f6f6;/*薄グリーン*/
	--sub-color: #004831;/*濃いグリーン*/
}


p { font-size: 15px; line-height: 1.7; color: #333; margin-block: 5px 15px;}
a { text-decoration: none; transition: color 0.3s ease;}
strong{ font-weight: 600;}

.bg-1{ background: #f6f6f6}
.usi{ color: #ccc;}

header.hero { background: linear-gradient(to right, #005bac, #0077cc); color: white; text-align: center; padding: 60px 20px;}

.gall{ display: flex;}
.gall img{ width: 40%; margin-right: 5px;}

/* ul, ol {  padding-left: 20px;} */

.placeholder-image { background: #ddd; height: 150px; text-align: center; line-height: 150px; color: #666; border-radius: 8px; margin-top: 10px;}
.matrix-diagram { margin-top: 30px; background: #f0f8ff; padding: 20px; border-radius: 8px; box-shadow: 0 1px 4px rgba(0,0,0,0.05);}
.matrix-diagram h3 { margin-bottom: 15px; color: var(--main-color);}
.matrix-diagram table { width: 100%; border-collapse: collapse; text-align: center;}
.matrix-diagram th,
.matrix-diagram td { border: 1px solid #ccc; padding: 12px; font-size: 14px; text-align: left; line-height: 1.5;}
.matrix-diagram thead th { background-color: #e0ecf8; font-weight: bold;}
.matrix-diagram tbody td:first-child { background-color: #f5f5f5; font-weight: bold;}
.matrix-diagram .note { margin-top: 10px; font-size: 0.85em; color: #666;}
.gaten-intro { background: #fff8f0; padding: 30px 20px; border-radius: 8px; margin-bottom: 30px;}
.gaten-intro h2 { color: var(--main-color); margin-bottom: 15px;}/*color: #d2691e;*/
.gaten-intro p { margin-bottom: 20px; font-size: 1em;}
.gaten-intro .highlight { background-color: #ffe4b5; padding: 2px 6px; border-radius: 4px; font-weight: bold;}
.gaten-benefits { list-style: none; padding-left: 0; margin-bottom: 20px;}
.gaten-benefits li { margin-bottom: 10px; font-size: 1em;}
.gaten-matrix,
.gaten-priority { padding: 30px 20px; border-radius: 8px; margin-bottom: 30px;}
.gaten-matrix h2,
.gaten-priority h2 { color: var(--main-color); margin-bottom: 15px;}
.gaten-matrix table { width: 100%; border-collapse: collapse; text-align: center; margin-top: 15px;}
.gaten-matrix th, .gaten-matrix td { border: 1px solid #ccc; padding: 12px; font-size: 0.95em;}
.gaten-matrix thead th { background-color: #e0ecf8; font-weight: bold;}
.gaten-matrix tbody td:first-child { background-color: #f5f5f5; font-weight: bold;}
.gaten-matrix .note { margin-top: 10px; font-size: 0.85em; color: #666;}
.priority-guidelines { list-style: none; padding-left: 0; margin-bottom: 20px;}
.priority-guidelines li { margin-bottom: 10px; font-size: 1em;}
.gaten-matrix, .gaten-priority { padding: 30px 20px; border-radius: 8px; margin-bottom: 30px;}
.gaten-matrix h2, .gaten-priority h2 { color: var(--main-color); margin-bottom: 15px;}
.gaten-matrix table { width: 100%; border-collapse: collapse; text-align: center; margin-top: 15px;}
.gaten-matrix th, .gaten-matrix td { border: 1px solid #ccc; padding: 12px; font-size: 14px; text-align: left; line-height: 1.5;}
.gaten-matrix thead th { background-color: #e0ecf8; font-weight: bold;}
.gaten-matrix tbody td:first-child { background-color: #f5f5f5; font-weight: bold;}
.gaten-matrix .note { margin-top: 10px; font-size: 0.85em; color: #666;}
.priority-guidelines { list-style: none; padding-left: 0; margin-bottom: 20px;}
.priority-guidelines li { margin-bottom: 10px; font-size: 1em;}
.gaten-case { padding: 30px 20px; border-radius: 8px; margin-bottom: 30px;}/*background: #e5f5ed;*/
.gaten-case h2 { color: var(--main-color); margin-bottom: 15px;}
.case-table-wrapper { overflow-x: auto;}
.case-table { width: 100%; border-collapse: collapse; font-size: 0.95em; margin-top: 15px; border: 1px solid #ddd;}
.case-table tr{ border-bottom: 1px solid #ddd;}
/*.case-table tr:nth-child(odd) { background: #fff; border-bottom: 1px solid #aaa;}*/
.case-table tr:last-child { /*border-bottom: 1px solid #ddd;*/ border-bottom: none;}
.case-table th{ border: none; color: #333; font-size: 15px; padding: 16px 0 14px 20px; vertical-align: top; text-align: left; line-height: 1.5; width: 25%; font-weight: 600; border-right: 1px solid #ddd;}
.case-table td { border: none; padding: 16px 0 14px 20px; vertical-align: top; text-align: left; line-height: 1.8; font-size: 15px;}
.case-table thead th { background-color: #e6f2f8; font-weight: bold;}
.section-lead{ text-align: center;}

.gaten-case .note { margin-top: 10px; font-size: 0.85em; color: #666;}
/* === ヘッダー・ナビゲーション === */

header { width: 94%; padding: 20px 0; display: flex; align-items: center; margin: 0 auto;}
.logo-area { width: 100%; max-width: 380px; display: flex; align-items: center;}
.logo-area a { display: flex; align-items: center; width: 100%; height: 100%;}
.logo-area img { margin-right: 10px; width: 55px; height: 55px;}
.corp-name { text-align: left;}
.logo-area .co-catch { font-size: 16px; line-height: 1.3; color: var(--main-color);}
.logo-area p { font-size: 18px; font-weight: bold; margin-bottom: 0; line-height: 1.3; color: var(--main-color);}

.top-nav { height: 100%; flex: 1;}
.top-nav ul { display: flex; justify-content: flex-end; height: 100%;}
.top-nav ul li { width: auto; margin: 0; padding: 0;}
.top-nav ul li a { padding: 10px; width: auto; color: #333; font-size: 16px; font-size: clamp(14px,1vw,16px); font-weight: 600;}

.top-nav ul li a.current { color: var(--main-color) !important; position: relative;}
.top-nav ul li a.current::before {
  content: "";
  display: block;
  width: 70%;
  height: 3px;
  background: var(--main-color) !important;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

nav.globalMenuSp{ display: none;}

.firstview {
	width: 95.55%; 
	height: calc(100vh - 140px);
	overflow: hidden;
	position: relative;
	margin: 0 auto;
	border-radius: 18px;
}

.firstview figure{ width: 100%; height: 100%;}
.firstview figure img{ width: 100%; height: auto; object-fit: cover; object-position: 0 -300px;}
/* === レスポンシブ：タブレット（1200px以下） === */
@media screen and (max-width: 1440px) {
.firstview figure img{ width: 100%; height: 100%; object-fit: cover; object-position: 0 -200px;}
}
@media screen and (max-width: 1300px) {
.firstview figure img{ object-position: 0 -100px;}
}
@media screen and (max-width: 1190px) {
.firstview figure img{ object-position: 0 0;}
}

.catch-area { 
	position: absolute; 
	top: 30%;
	left: 50%;
	transform: translateX( -50%);
	max-width: 600px;
	width: 100%;
	background: rgba(255,255,255,.6);
	padding: 30px 30px 40px;
}
.catch-area h1{ font-size: 18px; line-height: 1.6; margin-bottom: 15px; color: var(--main-color); font-weight: 600;}
@media screen and (max-width: 680px) {
.catch-area { width: 95%;}
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––　
　パンくずリスト
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#breadcrumb{ max-width: 90%; margin:10px auto; clear: both; overflow: hidden; line-height: 1.4; /*position: absolute; bottom: 10px; left: 100px;*/}
#breadcrumb li{ font-size: 12px !important; float: left; margin-right: 3px; color: #333; line-height: 1.8;}
#breadcrumb li a{ font-size: 12px; float: left; margin-right: 3px; color: #777;}
#breadcrumb li::after{ content: '→'; display: inline; padding-right: 3px;}
#breadcrumb li:last-child{ margin-right: 0;}
#breadcrumb li:last-child:after { content : none;}

/* === 共通ユーティリティ === */
.has-padding { padding: 120px 0;}
.has-padding-bottom { padding-bottom: 120px;}
.has-padding-top { padding-top: 120px;}
.paragraph-space{ padding: 40px 0; max-width: 700px; width: 100%; margin: 0 auto;}

.entry-content .paragraph-space:first-of-type{ padding: 40px 0; max-width: 900px; width: 100%; margin: 0 auto;}
li::marker { display: block;}

ol { list-style: none;}

/*下層ページ　カスタム投稿やhomeなど*/
.archive-head{ text-align: center;}


.connect-area{ width: 100%; padding: 60px 0 0; margin-bottom: 10px; position: relative;}
.connect-area::before{ content: ''; position: absolute; top: -80px; left: 50%; width: 1px; height: 100px; background: #333;}
.connect-area::after{ content: ""; display: block; clear: both;}

.connect-area ol li{ margin-bottom: 80px;}
.connect-area ol li h3{ color: var(--main-color); font-size: 18px; font-weight: 600; margin-bottom: 20px; margin-top: 30px; line-height: 1.4;}
.connect-area ol li h3 span{ display: block; font-size: 40px; font-weight: 600; margin-bottom: 20px;}

.connect-area ol li ul li{ margin-bottom: 5px; font-weight: 600;}

/*.connect-area ol.strong-point{ padding: 0;}*/
ol.strong-point > li{ padding: 50px; background: #e5f5ed; border-radius: 18px; position: relative;}/* box-shadow: 3px 3px 12px #ddd;*/
ol.strong-point > li::before{ content: ''; position: absolute; top: -100px; left: 50%; width: 1px; height: 70px; background: #333;}
ol.strong-point > li:first-child::before{ display: none;}
.num{ position: absolute; top: -50px; left: 50%; color: var(--main-color); font-weight: 600; font-size: 60px; color: #ccc; transform: translateX(-50%);}

.inner-point-list > li,
ol.strong-point > li { display: block; /* これで ::marker 自体が消滅します */}

.inner-point-list{  padding: 10px 20px;}
.inner-point-list li{ font-size: 16px; line-height: 1.6; color: #333; margin-bottom: 10px;}
.inner-point-list li strong{ color: var(--main-color);}

.wp-block-list li{ font-size: 16px; line-height: 1.6; color: #333; margin-bottom: 10px;}

.wp-block-list{ padding-left: 20px;}
.wp-block-list li::before,
.inner-point-list li::before {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #b27e50;
  border-radius: 50%;
  margin-right: 10px;
}

.inner-point-list span{ display: block;}
.c-pagelead .inner-point-list li,
.c-pagelead p{ font-size: 14px !important;}

/* コンテンツを中央に配置するラッパー */
.one-column,
.wrapper { width: 100%; max-width: 1140px; margin: 0 auto; padding: 0 15px; display: flow-root;}

.one-column{ display: flex; flex-wrap: wrap; width: 100%;}
.has-img{ width:45%;}
.has-img img{ width: 100%; height: auto;}
.list-area{ width: 55%; padding-left: 30px;}
.has-bg1{ padding: 70px 60px 50px; background: #e5f5ed; border-radius: 12px;}/*box-shadow: 3px 3px 12px #ddd;*/
.bg-2{ background: #e5f5ed;}

/*.main-column{ background: #e5f5ed;}*/

.entry-content { max-width: 900px; margin: 0 auto;}
.paragraph-space{ padding: 40px 0; max-width: 700px; width: 100%; margin: 0 auto;}

h2{ color: var(--main-color); font-size: 24px; font-weight: 600; line-height: 1.4; margin-bottom: 10px;}
h3{ color: #333; font-size: 18px; font-weight: 600; line-height: 1.4; margin-bottom: 10px;}
.entry-content h2{ margin: 30px 0 20px; background: var(--main-color); color: #fff; padding: 10px 10px; font-size: 18px;}
.entry-content h3{ font-size: 18px; color: var(--main-color); margin-bottom: 10px; margin-top: 20px; padding: 0 10px;}

.paragraph-space > p,
.paragraph-space > h3{ padding: 0 10px;}
.paragraph-space > ul.inner-list{ padding: 10px;}

/*.paragraph-space > p{ padding: 0 10px;}*/

.keishin-sup h2{ border-bottom: 1px solid var(--main-color); padding-bottom: 10px;}

.doc-title{ text-align: center;}
.t-center{ text-align: center; margin-block: 20px 30px; font-weight: 600; font-size: 16px; color: #666;}

.block-1 h2{ color: var(--main-color);}

.section-title{ font-size: 24px; margin-bottom: 50px; text-align: center;}
/*シミュレーション目次*/
/* 目次 */
.c-toc{ background:#fff; border: 2px solid #999; border-radius:10px; padding:18px 18px 8px; box-shadow:0 2px 8px rgba(0,0,0,.04); max-width: 600px; margin: 20px auto 0;}
.c-toc__head{ font-size:18px; font-weight:700; margin:0 0 12px; cursor:pointer; display: inline-block; position: relative; width: 100%;}
.c-toc__list{ margin:0;}
.c-toc__list li{ margin: 0 0 5px; line-height: 1.4;}
.c-toc__list a{ text-decoration:none; font-size: 14px; color: #333;}
.c-toc__list a:hover{ text-decoration:underline;}

/* detailsのマーカーを整える */
.c-toc--toggle summary{ list-style:none; }
.c-toc--toggle summary::-webkit-details-marker{ display:none; }
.c-toc--toggle .c-toc__head::after{ 
	content:"＋";
	float:right;
	font-weight:700;
}
.c-toc--toggle[open] .c-toc__head::after{ 
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 25px;
	height: 5px;
	background: #666;
	border-radius: 7px;
}

/* このページで分かること */
.c-pagelead{ padding:16px 18px; background:#f7f9fc; border:1px solid #e6eefc; border-radius:10px; max-width: 600px; margin: 16px auto 0;}
.c-pagelead__title{ font-size:16px; font-weight:700; margin:0 0 10px;}
.c-pagelead__list{ margin:0; padding-left:1.2em;}
.c-pagelead__list li{ margin:0 0 8px; line-height:1.7; font-size: 14px;}

.c-pagelead .inner-list li{ font-size: 14px !important;}

/* 目次へ戻る */
.c-backtotoc{ margin:26px auto 0; text-align: center;}
.c-backtotoc a{ font-size:14px; display: inline-block; max-width: 360px; background: var(--main-color); padding: 5px 15px; color: #fff;}
.c-backtotoc a:hover{ text-decoration:underline;}


/* 固定ヘッダーがある場合：アンカー位置調整（必要なら数値調整） */
#toc, #about-simulation, #role, #risk, #benefits, #deliverables, #simulation-feature, #reasons, #simulation-flow, #required-docs, #faq, #contact{
  scroll-margin-top:90px;
}

.page-target{ font-size: 14px;}

/*お知らせ　NEWS*/

time{ color: #666; font-size: 14px; display: flex; align-items: center;}
time img{ width: 20px; margin-right: 5px;}

.column-list{ display:flex; flex-direction:column; gap:24px;}
.column-item{ border:1px solid #ddd; border-radius:10px; background:#fff; transition:.3s;}
.column-item:hover{ border-color:#003f8c; transform:translateY(-2px);}
.column-item__link{ display:block; padding:28px 32px; color:inherit; text-decoration:none;}
.column-item__meta{ display:flex; align-items:center; flex-wrap:wrap; gap:10px 15px; margin-bottom:14px;}

/*.column-item__date{ font-size:.9rem; color:#666;}*/

.column-item__cat{
	display:inline-flex;
	align-items:center;
	padding:5px 12px;
	border-radius:999px;
	background:#003f8c;
	color:#fff;
	font-size:.82rem;
	font-weight:700;
	line-height:1;
}

.column-item__title{ margin:0; font-size:1.35rem; line-height:1.5;}
.column-item__excerpt{ margin:14px 0 0; color:#555; line-height:1.8;}
.navigation.pagination{ margin-top:50px;}
.nav-links{ display:flex; justify-content:center; align-items:center; gap:8px;}

.page-numbers{ display:flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; border:1px solid #ddd; border-radius:6px; text-decoration:none;}
.page-numbers.current{ background:#003f8c; color:#fff; border-color:#003f8c;}
.page-numbers:hover{ border-color:#003f8c;}
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
トップNEWS
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.news-area{ width: 100%; display: flex; flex-wrap: wrap; padding: 0 20px;}
.news-inner-head{ width: 40%; padding: 80px; background: var(--main-color);}
.news-inner-content{ width: 100%; max-width: 1140px; margin: 0 auto;}
.news-inner-content ul{ display: flex; flex-wrap: wrap;}
.news-inner-content ul li{ width: 100%; padding: 15px; margin-bottom: 15px; border-bottom: 1px dotted #666;}
/*.news-inner-content ul li .date { float: left; width: 110px;}*/
.news-inner-content ul li span { display: block;}
.news-inner-content ul li a { font-size: 14px; line-height: 1.6; color: #333; transition: 0.5s; text-decoration: none; display: flex; flex-wrap: wrap;}/*padding: 10px 5px; */
.news-inner-content ul li a span.date { display: block; margin-bottom: 5px; font-size: 14px;}
.news-inner-content ul li a span.date .update-icon-svg { display: inline-block; width: 18px; height: 18px; vertical-align: sub; margin-right: 0;}	
.news-inner-content ul li span.text{ padding: 0; width: 100%; font-size: 15px; font-weight: 600;}
.news-inner-content h2{ text-align: center; margin-bottom: 50px;}
.news-inner-content .btn-primary{ margin: 60px auto 0;}

/**/
.keishin-list{ margin: 20px 0; padding-left: 10px;}
.keishin-list li img{ display: inline-block; margin-right: 10px; width: 26px;}
.keishin-list li{ color: #333; margin-bottom: 10px; font-size: 16px; font-weight: 600; display: flex; align-items: center; position: relative; padding-left: 32px;}
.keishin-list li img{ display: inline-block; margin-right: 10px;} 

.keishin-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 20px;
	height: 20px;
	background: url("images/checksquare.svg") no-repeat center center / contain;
}
/* 背景薄いグリーン　background: #e5f5ed;　*/
.section-wrapper{ background: #e5f5ed; border-radius: 18px; padding: 50px; margin-bottom: 30px;}
.keishin-img-box{ display: flex; flex-wrap: wrap; margin-top: 20px;}
.score-image{ width: 40%;}
.keishin-img-text{ width: 60%; padding: 0 30px;}

.score-flow-image{ width: 100%; background: #e5f5ed; padding: 20px 0; margin-bottom: 30px;}
.score-flow-image img{ margin: 0 auto; padding: 0 20px;}
.keishin-flow-text{ width: 100%; padding: 0 20px;}
.keishin-flow-text > ol{ display: grid; gap: 30px; grid-template-columns: 1fr 1fr 1fr; counter-reset: number 0;}
.keishin-flow-text > ol li > h3{ position: relative; counter-increment: number 1; padding-left: 50px;}
.keishin-flow-text > ol li > h3::before{ 
  content: counter(number) "";
  color: #fff;
  font-size: 24px;
  margin-right: 15px;
  border-radius: 50%;
  background: var(--main-color);
  display: inline-block;
  position: absolute;
  left: 0;
  width: 40px;
  height: 40px;
  line-height: 1.5;
  text-align: center;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.usage-examples{ background: #e5f5ed; padding: 30px 30px 20px; margin-bottom: 15px;}
.sub-headline{ display: block; font-size: 16px; margin-top: 5px; font-weight: 600;}


/*下層ページ　トップ*/
.page-header{ width: 100%; height: 180px; padding: 60px 20px; background: var(--main-color); text-align: center;}
.page-header h1{ color: #fff !important; font-size: 20px; font-weight: 600; margin-bottom: 10px;}
.page-header__lead{ color: #fff;}
.cate-title{ color: #fff;}
/*.sub-top-1 h2{ color: #fff !important; font-weight: 600;}*/
/*コラム*/
.column-tit-header{ width: 100%; max-width: 900px; margin: 0 auto 50px; padding: 30px 30px 20px; border-radius: 10px; border: 2px solid var(--main-color);}
.column-title{ font-size: 18px; color: var(--main-color); font-weight: 600; border-bottom: 1px solid var(--main-color); padding-bottom: 10px;}
.page-header-tit{ color: #fff !important; font-size: 20px; font-weight: 600; margin-bottom: 10px;}

.public-data{ font-size: 14px; display: flex; margin-block: 10px; color: #666;}
.public-data time{ display: flex; align-items: center; margin-right: 15px;}
.public-data img{ width: 18px; height: auto; margin: 0 5px;}
/*コラムここまで*/

.list-area h2{ margin: 0 0 20px;}
.list-area h3{ color: #333; margin-bottom: 10px;}

.btn{ background: #c49961; color: #fff;}
.btn-primary{
  /*display: inline-block;*/
  padding: 14px 22px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  transition: opacity 0.3s;
  display: block;
  width: 300px;
}
.btn-sub{ background: var( --main-color); color: #fff; width: 300px; margin: 30px 0 0;}
.btn-primary-sub{ display: inline-block; padding: 14px 22px; border-radius: 6px; font-size: 14px; font-weight: 600; text-align: center; transition: opacity 0.3s;}


/*テキストリンクの場合*/
.text-link a { display: block; margin: 6px 0; color: #0070c9; font-weight: 600; text-decoration: underline;}
.strong-tit{ text-align: center; margin-bottom: 20px;}
.headline{ font-size: 26px !important; text-align: center; font-weight: 600; margin-bottom: 30px;}
.section-title-head { border-bottom: 1px solid var(--main-color); margin: 0 auto 50px; width: 100%;}
.section-title-head p { text-align: center;}
.headline-tit{ width: 100%; display: flex; flex-wrap: wrap; align-items: center;}
.headline-tit h2{ width: 25%; text-align: left; font-size: 24px;}
.headline-tit h3{ color: var(--main-color); font-size: 24px; line-height: 1.6; /*border-left: 3px solid var(--main-color);*/ padding-left: 30px;}
.greeting-text{ width: 100%;}
.greeting-img{ width: 100px; border-radius: 8px; overflow: hidden;}

.sign{ text-align: right; margin-top: 10px; font-weight: 600;}
.sign span{ display: block; font-weight: 600;}

/*プライバシーポリシー*/

.privacy-block{ width: 100%; max-width: 1140px; padding: 0 20px; margin: 0 auto;}
.privacy-block h2 { font-size: 20px; color: var(--main-color); padding: 10px 20px 10px 10px; margin-top: 30px; border-bottom: 1px solid var(--main-color);}
.privacy-block p{ font-size: 14px; line-height: 1.6; margin-bottom: 10px; padding: 5px 10px 10px;}

.privacy-block .inner-list{ padding: 10px 20px;}
.privacy-block .inner-list li{ font-size: 14px; color: #333;}


/*プライバシーポリシーここまで*/

/*強み　選ばれる理由*/
.feature{ background: #e5f5ed; padding: 120px 0 0;}

.feature .wrapper { width: 100%; max-width: 1140px; margin: 0 auto; padding: 0 15px; display: flex; flex-wrap: wrap;}

.feature .wrapper .feature-title { color: var(--main-color); font-size: 24px; font-weight: 600; text-align: left; margin-bottom: 40px; line-height: 1.6; width: 35%;}
.feature .wrapper .feature-title span{ display: block; font-size: 18px; font-weight: 600;}
.feature .wrapper .feature-area{ padding: 0 20px 50px 50px; width: 65%; background: none; box-shadow: none; }

/*強みここまで*/
.feature-area{ background: #e6f7ee; padding: 70px 60px 50px; box-shadow: 3px 3px 12px #ddd; background: #e5f5ed;}
.feature-title { color: var(--main-color); font-size: 26px; font-weight: 700; text-align: center; margin-bottom: 40px; line-height: 1.6;}
.feature-title .caption { display: inline-block; position: relative; padding: 0 20px; font-size: 18px; font-weight: 500; color: #333;}
.feature-title .caption::before,
.feature-title .caption::after { content: ""; position: absolute; top: 50%; width: var(--line-width, 40px); height: 1px; background: #333;}
.feature-title .caption::before { left: -40px; transform: translateY(-50%);}
.feature-title .caption::after { right: -40px; transform: translateY(-50%);}
.feature-item { display: flex; gap: 20px; margin-bottom: 50px; align-items: flex-start;}

/* 番号デザイン */
.feature-number { 
	flex-shrink: 0;
	background: var(--main-color);
	color: #fff;
	font-size: 26px;
	font-weight: bold;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.feature-icon svg { width: 42px; height: 42px; fill: var(--main-color);}

/*選ばれる理由の自動付加*/
.feature-area{ counter-reset: feature-number;}


.feature-content h3 { color: var(--main-color); font-size: 20px; margin-bottom: 20px; font-weight: 600; position: relative; padding-left: 50px;}

.feature-content h3::before{ 
	counter-increment: feature-number;
	content: counter(feature-number);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 35px;
	height: 35px;
	border-radius: 50%;
	display: flex;
	line-height: 32px;
	justify-content: center;
	font-size: 22px;
	font-weight: 700;
	background: var(--main-color);
	color: #fff;
}




/*step*/

/* カード全体の並び */
.flow-cards { display: flex; flex-wrap: wrap; gap: 28px; counter-reset: step;}

/* 各カード */
.flow-card { width: calc(33.33334% - 28px); padding: 26px 20px; border-radius: 10px; box-shadow: 0 3px 10px rgba(0,0,0,.3); position: relative; display: flex; flex-direction: column;}

/* 見出し（STEP + タイトル） */
.step { position: relative; padding-left: 50px; font-size: 18px; font-weight: 700; line-height: 1.5; height: 3.5em;}

/* STEP番号を自動付加 */
.step::before { 
	counter-increment: step;
	content: counter(step);
	position: absolute;
	left: 0;
	top: 0;
	width: 42px;
	height: 42px;
	background: var(--main-color);
	color: #fff;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	font-weight: 700;
}

/* STEP番号の下に「STEP」を小さく表示 */
.step::after { 
	content: "STEP";
	position: absolute;
	left: 6px;
	top: -18px;
	font-size: 11px;
	color: var(--main-color);
	font-weight: 600;
	letter-spacing: 1px;
}

/* テキスト */
.flow-card p { color: #333; font-size: 15px; line-height: 1.7;}


/*相談の流れ*/

.flow-intro{ text-align: center;}

.flow-intro__text{ width: 100%; max-width: 900px; margin: 0 auto 50px; padding: 30px 30px 20px; border-radius: 30px; background: #f5f5f5;}

/* 1. 基本設定とコンテナ */
#contact-flow { max-width: 1000px; margin: 0 auto 40px; padding: 20px;}

#contact-flow h2 { text-align: center; padding-bottom: 10px; margin-bottom: 30px;}

/* 2. ステップリストのスタイル */
#contact-flow ol { list-style: none; padding: 0; counter-reset: step-counter;}

.flow-step { border-bottom: 1px dotted #333; padding: 20px 20px 40px; margin-bottom: 25px; position: relative;}

/* 3. ステップタイトルのスタイル */
.flow-step h3 {
    color: var(--main-color); /* アクセントカラーに合わせる */
    font-size: 18px;
    margin-top: 0;
    margin-bottom: 15px;
    padding-left: 48px; /* 番号スペースを確保 */
    position: relative;
    text-align: left;
}

/* ステップ番号を装飾して表示 */
.flow-step h3::before {
    counter-increment: step-counter;
    content: counter(step-counter);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 28px;
    font-weight: bold;
    color: #fff;
    background-color: var(--main-color);
    width: 36px;
    height: 36px;
    line-height: 33px;
    text-align: center;
    border-radius: 50%;
}

/* 4. 強調したい情報 (初回無料) */
.flow-step .note {
    display: inline-block;
    background-color: #ffcccc;
    color: #cc0000;
    font-weight: bold;
    padding: 3px 8px;
    margin-left: 10px;
    border-radius: 3px;
    font-size: 0.9em;
}

/* 5. お問い合わせリンク/ボタン */
.contact-links {
    margin-top: 20px;
    display: flex;
    gap: 15px; /* ボタン間のスペース */
}

.contact-links a {
    display: inline-block;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    transition: background-color 0.3s;
    text-align: center;
    flex-grow: 1; /* スペースに合わせて幅を広げる */
}

.btn-form { background-color: #f90; color: #fff; border: 2px solid #f90;}

.btn-form:hover { background-color: #e68a00;}

.btn-phone { background-color: #fff; color: #004d99; border: 2px solid #004d99;}

.btn-phone:hover { background-color: #f0f8ff;}
/**/

.keishin-support .support-row { display: flex; gap: 40px; margin-top: 50px;}

.keishin-support .support-img { flex: 1.5;}
.keishin-support .support-text { flex: 2;}
.keishin-support .support-img img { width: 100%; height: auto; display: block; border-radius: 8px;}
.keishin-support h2 { color: var(--main-color); font-size: 22px; font-weight: 700; margin-bottom: 18px;}
.keishin-support p { line-height: 1.8; margin-bottom: 15px;}

.feature-points,
.support-points { list-style: none; padding: 0; margin: 0 0 20px;}

.feature-points li{ position: relative; padding-left: 18px; margin-bottom: 8px; color: #333; line-height: 1.5; font-size: 16px;}
.support-points li { position: relative; padding-left: 18px; margin-bottom: 8px; color: #333; line-height: 1.5; font-size: 16px; font-weight: 600;}
.feature-points li::before,
.support-points li::before { 
	content: "●";
	position: absolute;
	left: 0;
	top: 4px;
	font-size: 10px;
	color: var(--main-color);
}

.feature-block-area{ background: #e5f5ed; padding: 30px; margin-top: 30px;}

.feature-block,
.benefit-item{ margin-bottom: 30px; border-bottom: 1px dotted #333; padding-bottom: 15px;}
.feature-block p,
.benefit-item p{ font-size: 14px;}

.benefit-item h3{ color: var(--main-color);}
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
コラム用プロフィール
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.author-profile { margin-top: 80px; padding: 40px; background: #f7f5f0; border: 1px solid #e2ddd2; border-radius: 16px; margin-bottom: 80px;}

.author-profile__inner { display: grid; grid-template-columns: 140px 1fr; gap: 26px; align-items: start;}

.author-profile__image img { width: 140px; height: 140px; object-fit: cover; border-radius: 10px; background: #fff; border: 4px solid #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);}

.author-profile__label { display: inline-block; margin-bottom: 5px !important; padding: 0; font-size: 13px; font-weight: 700; color: var(--main-color) !important;}

.author-profile__name { 
	margin: 0 0 8px !important;
	font-size: 28px !important;
	line-height: 1.4;
	color: #222 !important;
	background: none !important;
	padding: 0 !important;
}

.author-profile__position { margin-bottom: 20px; font-weight: 700; color: #5f4a2d; line-height: 1.8; border-bottom: 1px dotted #333; padding-bottom: 10px;}
.author-profile__content p { margin-bottom: 16px; line-height: 1.9; color: #333;}
.author-profile__list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; padding: 0; list-style: none;}
.author-profile__list li { padding: 6px 12px; font-size: 13px; font-weight: 700; color: #5f4a2d; background: #fff; border: 1px solid #ddd3c3; border-radius: 999px;}
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
フッター　トップへ
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.btn-top {
  width: 120px;
  height: 50px;
  padding-top: 15px;
  text-align: center;
  background: #ededed;
  font-size: 14px;
  color: #333;
  font-weight: bold;
  transition: background-color .6s,color .6s;
  cursor: pointer;
  position: absolute;
  top: -30px;
  left: 50%;
  right: 50%;
  transform: translate(-50%);
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
フッター
–––––––––––––––––––––––––––––––––––––––––––––––––– */
footer{ width: 100%; background: #f6f6f6; position: relative;}

.footer-inner{ display: flex; flex-wrap: wrap; width: 100%; max-width: 1260px; padding: 0 20px; margin: 0 auto;}
.footer-inner-left{ width: 50%; padding: 30px;}
.footer-inner-right{ flex: 1; padding: 30px;}
footer .logo-area{ display: flex; align-items: center;}
footer .logo-area figure{ width: 50px; margin-right: 10px;}
footer .footer-inner-left .logo-area figure img{ margin-right: 10px; width: 50px; height: 50px;}
footer .logo-area .logo-text{ font-size: 20px; font-weight: 600;}
footer .logo-text p{ margin-bottom: 5px;}
footer .logo-text p:first-child { font-size: 14px;}
footer .logo-text p:last-child { font-size: 20px; font-weight: 600;}
footer .logo-text p:last-child { margin-bottom: 0;}

.footer-nav{ display: flex; flex-wrap: wrap;}
.footer-nav ul{ display: block; margin-right: 20px; flex: 1;}
.footer-nav ul li{ width: auto; margin-bottom: 10px;}
.footer-nav ul li a.current,
.footer-nav ul li a{ color: #333; padding-left: 10px; position: relative; font-size: 14px;}
.footer-nav ul li a.current{ color: var(--main-color) !important; font-weight: 600;}
.footer-nav li a.current::before,
.footer-nav li a::before { content: ""; position: absolute; left: 0; top: 55%; transform: translateY(-50%); width: 6px; height: 6px; background: #333; clip-path: polygon(0 0, 100% 50%, 0 100%);}
.footer-nav li a.current::before { background: var(--main-color) !important;}
.footer-disc{ line-height: 1.5; margin-top: 10px;}
.footer-disc > p{ font-size: 14px;}
#copyright{ width: 100%; background: var(--main-color); position: absolute; bottom: 0; text-align: center; padding: 5px;}
#copyright p{ padding: 0; margin: 0; font-size: 14px; color: #fff;}

/* ボディテキスト */
.feature-content p { color: #444; line-height: 1.75; margin-bottom: 12px;}

/* リンク */
.feature-link { display: inline-block; margin-top: 10px; color: var(--main-color); font-weight: 600; text-decoration: underline;}


/*リストスタイル*/
.inner-list { padding: 10px 10px 10px 15px; margin-bottom: 10px;}
.inner-list li { font-size: 16px; line-height: 1.6; color: #333; margin-bottom: 10px;}
.inner-list li:last-child { margin-bottom: 0;}

.inner-list li::before { 
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #b27e50;
  border-radius: 50%;
  margin-right: 10px;
}

/* --- 基本レイアウト（画像 + テキスト） --- */
.layout-block { display: flex; gap: 40px; align-items: flex-start; flex-wrap: wrap;}
.layout-block.reverse { flex-direction: row-reverse;}
.layout-img{ flex: 1;}

.layout-img img { width: 100%; height: auto; display: block; border-radius: 6px;}
.layout-text { flex: 2; min-width: 360px;}
.layout-text h2 { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #666; font-size: 18px;}
.layout-text h3 { margin-bottom: 10px; font-size: 20px; color: #333;}
.layout-text p { margin-bottom: 20px;}

/* --- section05 上画像 → 下テキスト --- */
.layout-stack .layout-img { margin-bottom: 20px;}

/* --- 定義リスト（DL） --- */
.block-dl dl { margin-bottom: 20px;}
.block-dl dt { font-weight: bold; font-size: 18px;}
.block-dl dd { margin-left: 0; margin-top: 15px;}
.block-dl ul { padding-left: 10px; padding-top: 15px; margin-bottom: 15px;}

/* --- 箇条書き（UL） --- */
.block-ul ul { padding-left: 10px; padding-top: 5px; margin-bottom: 20px;}

.block-dl ul li,
.block-ul ul li { line-height: 1.5; margin-bottom: 10px; color: #333132; font-size: 16px; padding-left: 15px; position: relative;}

.block-dl ul li::before,
.block-ul ul li::before { 
	content: '';
	position: absolute;
	left: 0;
	top: 12px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--list-color);
}

/* --- ギャラリー（section06） --- */
.layout-gallery { display: flex; gap: 40px; flex-wrap: wrap;}
.layout-imgs .gallery img { width: 100%; display: block; border-radius: 6px;}

/* 画像無しの05 */
.layout-text-only { max-width: 1140px; margin: 0 auto;}
.layout-section.no-image .section-heading { text-align: center;}

table.pattern01{ width: 100%; margin-bottom: 20px;}
table.pattern01,
table.pattern02{ width: 100% !important; border: 1px solid #ccc;}
table.pattern01,
table.pattern02 th{ width: 25%; padding: 10px 10px 10px 0; text-align: center; border: 1px solid #ccc; color: #333;}
table.pattern01,
table.pattern02 td{ line-height: 1.4; padding: 20px 5px; border: 1px solid #ccc; color: #333;}
.spot-table table tr{ text-align: center;}

.other-table table th{ width: 33%; padding: 10px; text-align: left; border: 1px solid #ccc; color: #333; background: var(--main-color);;}
.other-table table td{ line-height: 1.4; padding: 20px 10px; border: 1px solid #ccc; color: #333; text-align: left; font-size: 14px;}
.other-table table tr{ text-align: center;}

.table-like{ width: 100%;}
.table-like dl{ display: flex; flex-wrap: wrap; border: 1px solid #666;}
.table-like dl dt{ width: 30%; background: #f2f2f2; border-bottom: 1px solid #666; padding: 10px; font-size: 14px;}
.table-like dl dd{ width: 70%; border-bottom: 1px solid #666; padding: 10px; font-size: 14px;}
.table-like dl dt:last-of-type,
.table-like dl dd:last-of-type{ border-bottom: none;}
.table-like dl dd li{ line-height: 1.8; position: relative; padding-left: 15px;}
.table-like dl dd li::before{ content: ''; position: absolute; left: 0; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--list-color);}

.office-section{ width: 100%; display: flex; flex-wrap: wrap; gap: 40px; padding: 50px 0;}

.has-left-img{ max-width: 200px; width: 100%;}

.office-text{ flex: 1; /* ← 残りを全部とる */}

.office-text-section{ margin-bottom: 30px;}
.office-text-section ul.inner-point-list{ background: #f6f6f6; padding: 15px; border-radius: 8px;}

/* =========================
  Generic Two Column Layout
========================= */

.u-two-col{ display: grid; gap: 24px; align-items: start;}

/* 左35% 右65% */
.u-two-col--left-35 { grid-template-columns: 35% 1fr;}

/* もし別パターンも使うなら増やせる */
.u-two-col--left-40 { grid-template-columns: 40% 1fr;}

.u-two-col--left-50 { grid-template-columns: 1fr 1fr;}

.u-two-col__left,
.u-two-col__right {  min-width: 0; /* 長文折返し崩れ防止 */}

/* よくある質問 */

.post-type-archive-faq .faq-list{ display: flex; flex-direction: column; gap: 24px;}
.post-type-archive-faq .faq-item{ border: 1px solid #ddd; border-radius: 10px; overflow: hidden;}

.post-type-archive-faq .faq-item__question{
	display: flex;
	align-items: flex-start;
	gap: 15px;
	margin: 0;
	padding: 20px;
	background: #f8f8f8;
	font-size: 1.125rem;
	line-height: 1.5;
}

.post-type-archive-faq .faq-item__answer{
	display: flex;
	align-items: flex-start;
	gap: 15px;
	padding: 20px;
}

.post-type-archive-faq .faq-item__label{
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	font-weight: 600;
}

.post-type-archive-faq .faq-item__question .faq-item__label{ background: var(--main-color); color: #fff;}
.post-type-archive-faq .faq-item__answer .faq-item__label{ background: #f2f2f2; color: #333; font-size: 20px;}
.post-type-archive-faq .faq-item__content{ flex: 1;}
.post-type-archive-faq .faq-item__content > *:first-child{ margin-top: 0;}
.post-type-archive-faq .faq-item__content > *:last-child{ margin-bottom: 0;}

.post-type-archive-faq .faq-category-block__head{ text-align: center; margin-bottom: 50px;}

/*よくある質問ナビ*/
.post-type-archive-faq .faq-category-nav{
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
	gap: 15px;
	margin: 40px 0 60px;
	padding: 0;
	list-style: none;
}

.post-type-archive-faq .faq-category-nav a{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 24px;
	color: #333;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 10px;
	font-weight: 600;
	text-decoration: none;
	transition: .3s;
}

.post-type-archive-faq .faq-category-nav a::after{
	content:"↓";
	font-size:1.1rem;
}

.post-type-archive-faq .faq-category-nav a:hover{ background: var(--main-color); color:#fff; border-color: var(--main-color); transform:translateY(-2px);}

/* よくある質問 */
.faq-section { width: 100%; margin: 0 auto; font-family: Arial, sans-serif;}

.faq-item { border-bottom: 1px solid #ddd; position: relative;}
.faq-question { 
	background: none;
	cursor: pointer;
	color: #f66;
	padding: 15px 40px 15px 30px; /* 右側に余白を確保 */
	font-size: 16px;
	font-weight: bold;
	position: relative; /* toggleを絶対配置するため */
	transition: background 0.3s;
}
.faq-question::before{ content: "Q"; display: inline-block; position: absolute; left: 20px; top: 20px;}
.faq-question p{padding-left: 12px; margin-bottom: 0;}
.faq-question:hover { background: #eaeaea;}
.faq-question .label { margin-right: 8px; color: #333;}
.faq-toggle { 
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 18px; 
	font-weight: bold;
	color: #666;
}
.faq-answer { display: none; padding: 15px; font-size: 15px; line-height: 1.6; background: #fff;}
.faq-item.active .faq-answer { display: block;}

/* === 事務所案内ページ === */
.policy-heading{ font-size: 16px; color: var(--main-color); margin-bottom: 10px;}
.office-text-section .policy-heading{ font-size: 20px; color: var(--main-color); margin-bottom: 15px; font-weight: 600;}
.google-map{ max-width: 1120px; width: 100%; margin: 0 auto; padding: 80px 0;}
.google-map iframe{ width:100%; height:450px; border:0;}
/* === フッター === */
footer { width: 100%; padding: 30px 0; background: #e5f5ed; position: relative;}

/* === レスポンシブ：タブレット（1200px以下） === */
@media screen and (max-width: 1200px) {
.top-nav { display: none;}
/*　ハンバーガーボタン　*/
.hamburger { display: block; position: fixed; right: 25px; top: 12px; width: 64px; height: 54px; cursor: pointer; text-align: center; z-index: 9997; background: rgba(0, 164, 78,.7);}
.hamburger:before { content: 'MENU'; display: inline-block; font-size: 12px; text-align: center; position: absolute; bottom: -18px; left: 0; width: 100%;}
.hamburger span { display: block; position: absolute; width: 46px; height: 3px; left: 9px; background: #fff; transition: 0.3s ease-in-out;}

.hamburger span:nth-child(1) { top: 10px; }
.hamburger span:nth-child(2) { top: 25px; }
.hamburger span:nth-child(3) { top: 40px; }

.hamburger.active { right: 36px;}

.hamburger.active span:nth-child(1) { transform: rotate(45deg); top: 25px;}
.hamburger.active span:nth-child(2) { opacity: 0;}
.hamburger.active span:nth-child(3) { transform: rotate(-45deg); top: 25px;}
/**/
nav.globalMenuSp{ 
	position: fixed;
	z-index: 1000;
	top: 0;
	right: 0;
	text-align: center;
	transform: translateX(100%);
	transition: all 0.6s;
	width: 40%;
	height: 100vh;
	padding-top: 80px;
	margin-top: 0;
	display: block;
	background: #f9f9f9;
}

nav.globalMenuSp{ display: block;}

/*nav.globalMenuSp ul > li::after{ content: ""; display: block;}*/
nav.globalMenuSp ul li ul.children{ display: block; height: auto; overflow: hidden;}
nav.globalMenuSp ul li ul.children li{ display: block; border: none; width: 100%;}
nav.globalMenuSp ul > li ul.children li .nav-img{ width: 64px; height: 64px; overflow: hidden; display: block; margin: 0 auto;}
nav.globalMenuSp .logo-area{ width: 100%; position: absolute; top: 0; left: 0; padding-top: 20px; background: #fff;}
nav.globalMenuSp .logo-area img { width: 150px; margin: 0 auto;}
nav.globalMenuSp ul { padding: 20px; width: 100%; display: flex; flex-wrap: wrap; height: auto; margin-bottom: 100px;}
nav.globalMenuSp ul > li { padding: 0; width: 100%; border-bottom: 1px dotted #666; position: relative;}

nav.globalMenuSp ul > li:last-child { padding-bottom: 0; border-bottom: none;}
nav.globalMenuSp ul li:hover{ background :none;}
/*nav.globalMenuSp ul > li a{ width: 100%; display: block; height: 100%;}*/
/*nav.globalMenuSp ul > li a{ text-align: left; display: flex; justify-content: space-between; align-items: center; font-weight: 600;}*/
nav.globalMenuSp ul > li a{ width: 100%; height: 100%; display: flex; color: #333; padding: 20px 5px 20px 15px; transition: all 0.4s; justify-content: space-between; align-items: center;}
/*nav.globalMenuSp ul > li a figure{ width: 120px;}*/
nav.globalMenuSp ul > li a:hover{ color: #666; background: #f66;}
nav.globalMenuSp ul li a.current{ font-weight: 600; color: var(--main-color);}
nav.globalMenuSp.active{ transform: translateX(0%); overflow-y: scroll; background-size: 100%;}


}


/* Responsive */
@media (max-width: 900px) {
  .u-two-col,
  .u-two-col--left-35,
  .u-two-col--left-40,
  .u-two-col--left-50 { grid-template-columns: 1fr;}


}
/* タブレット対応 */
@media screen and (max-width: 821px) {
/*.firstview{ height: auto;}
.firstview figure img { object-position: 0;}*/
nav.globalMenuSp{ width: 60%;}

}

/* === レスポンシブ：タブレット（860px以下） === */
@media screen and (max-width: 860px) {
.wrapper{ width: 80%; padding: 0;}
.one-column{ width: 80%;}
.has-img{ width: 100%;}
.list-area { width: 100%; padding-left: 0;}
.feature .wrapper { width: 80%; padding: 0;}
.feature .wrapper .feature-title{ text-align: center; width: 100%;}
.feature .wrapper .feature-area { padding: 0; width: 100%;}
.has-bg1{ background: none; border-radius: 0;}
.has-left-img { max-width: 120px; width: 100%;}
.section-wrapper { background: none; border-radius: 0; margin-bottom: 0; padding: 0;}
.flow-card{ width: 100%; box-shadow: none; border: 1px solid var(--main-color);}
.connect-area::before {
  content: '';
  position: absolute;
  top: -30px;
  left: 50%;
  width: 1px;
  height: 80px;
  background: #333;
}
.score-image { width: 100%;}
.keishin-img-text { width: 100%; padding: 0 30px;}
.flow-intro {
  text-align: center;
  width: 80%;
  margin: 0 auto;
}
#contact-flow {
  max-width: 80%;
  margin: 0 auto 40px;
  padding: 0;
}
.entry-content { width: 80%;}



}

/* === レスポンシブ：タブレット（768px以下） === */
@media screen and (max-width: 768px) {

header{ padding: 20px 10px;}
.logo-area { width: 100%; max-width: 100%; display: flex; align-items: center;}
.logo-area a img{ width: 40px; height: 40px;}
.logo-area .co-catch { font-size: 15px; margin: 0;}
.logo-area p { font-size: 15px; margin: 0;}

.has-padding { padding: 120px 0;}
.has-padding-bottom { padding-bottom: 120px;}
.has-padding-top { padding-top: 120px;}

nav.globalMenuSp{ width: 80%;}
.top-nav{ display: none;}
.sub-top-1 h1{ font-size: 22px;}
.headline { font-size: 20px !important;}

.keishin-support .support-row { flex-direction: column;}

.connect-area { width: 100%; padding: 60px 20px 0; margin-bottom: 10px; position: relative;}
.score-image { width: 100%;}
.keishin-img-text { width: 100%; padding: 30px 0;}
.benefit-item{ margin: 0 auto 30px;}/*padding: 0 15px;*/
.connect-area ol li h4 { font-size: 18px;}
.feature-item { flex-direction: column;}
.feature-number { margin-bottom: 10px;}

.flow-card { flex-basis: 100%;}

/*プロフィール*/
.author-profile { margin-top: 56px; padding: 28px 20px;}
.author-profile__label { 
	display: block;
	margin: 0 auto 12px !important;
	padding: 6px 14px;
	font-size: 13px;
	font-weight: 700;
	color: #fff !important;
	background: #8a6a3f;
	border-radius: 999px;
	margin: 0 auto 12px;
	width: 200px;
	text-align: center;
}

.author-profile__inner { grid-template-columns: 1fr; gap: 24px;}
.author-profile__image { text-align: center;}
.author-profile__image img { width: 120px; height: 120px; margin: 0 auto; border-radius: 50%;}
.author-profile__name { font-size: 24px !important; padding: 0 !important; background: none !important;}
.author-profile__list li { padding: 6px 8px;}



}



/* === レスポンシブ：スマホ（480px以下） === */
@media screen and (max-width: 480px) {
.has-padding { padding: 60px 0; }
.has-padding-bottom { padding-bottom: 60px; }
.has-padding-top { padding-top: 60px; }
.footer-nav { max-width: 100%; margin: 0 auto 30px; justify-content: center; padding: 5px 10px;}
.footer-nav ul { display: flex; flex-wrap: wrap;}
p { font-size: 15px;}
ul li{ font-size: 15px; line-height: 1.5;}
h2{ font-size: 18px;}

.firstview{ width: 100%; height: 60vh; border-radius: 0;}
.firstview figure{ width: 100%; height: 100%;}
.firstview figure img{ width: 100%; height: 100%; object-fit: cover; object-position: 0;}

.catch-area { position: absolute; top: 20%; left: 50%; transform: translateX( -50%); width: 90%; background: rgba(255,255,255,.6); padding: 30px 20px 20px;}
.catch-area p{ font-size: 15px; font-weight: 600;}

/*コラム*/
.main-column { background: none;}
.entry-content{ padding: 0 20px; margin-top: 0;}

.section-title { font-size: 18px; font-weight: 600; margin-bottom: 30px; text-align: center;}
.feature-title { font-size: 18px; font-weight: 600; text-align: center; margin-bottom: 40px; line-height: 1.6; padding: 0 15px;}
.has-img { width: 100%; margin-bottom: 20px;}
.list-area { width: 100%; padding-left: 0;}

.feature .wrapper .feature-title{ width: 100%; text-align: center;}
.feature .wrapper .feature-area { padding: 0; width: 100%; background: none; box-shadow: none;}

.section-wrapper { padding: 20px; /*background: none;*/ /*margin-bottom: 30px;*/}
.wrapper { padding: 0 20px;}

/*スマホ時ボタンはセンター*/
.btn-sub { margin: 30px auto 0;}

/*トップページ*/
.feature { background: #e5f5ed; padding: 60px 0 0;}
.feature-content h3{ font-size: 16px;}
.feature .wrapper .feature-title{ margin-bottom: 20px;}

/*トップページここまで*/
/*事務所案内ここから*/
.office-section{ gap: 20px;}

/*事務所案内*/
.case-table th{ padding: 15px 0 5px 20px; display: block; width: 100%; border-right: none;}
.case-table td { border: none; padding: 5px 0 14px 20px; display: block; width: 100%;}
.office-section{ padding: 10px 0;}
.has-left-img { max-width: 100%;}
.has-left-img img{ width: 140px; margin: 0 auto 20px;}

.feature-block-area { padding: 15px; margin-top: 30px;}
.num { position: absolute; top: -40px;}
.headline-tit{ align-items: center;}

.connect-area { width: 100%; padding: 60px 0 0;}
.connect-area ol li ul li { margin-bottom: 15px; font-weight: 600;}
ol.strong-point > li { padding: 20px;}
.usage-examples { background: #e5f5ed; padding: 20px 15px 20px; margin-bottom: 15px;}
.usage-examples h3{ font-size: 16px; text-align: center;}
.inner-list { padding: 10px 0 15px; margin-bottom: 10px;}

.greeting-img { width: 60px;}
.headline-tit h3 { padding-left: 10px; width: calc(100% - 60px); font-size: 16px;}

.gaten-case { padding: 30px 0px;}

.inner-point-list { padding: 10px 0;}

/*Googleマップ*/ /* 16:9 */
/*.google-map{
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	overflow: hidden;
	border-radius: 10px;
}

.google-map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
*/
.google-map{ padding: 40px 20px;} 
/* 経審シミュレーション*/
.keishin-flow-text{ padding: 0;}
.keishin-flow-text > ol{ display: block;}

/*流れ*/
.flow-intro__text{ padding: 20px; border-radius: 0;}
.flow-step{ padding: 10px 0 20px;}
.flow-step h3{ padding-left: 40px; font-size: 16px;}
.flow-step h3::before{ width: 30px; height: 30px; font-size: 20px; line-height: 28px;}

/*フッター*/
footer { padding: 30px 0;}

.footer-nav ul li { width: 50%;}
.footer-inner { width: 100%; padding: 10px 15px 20px; margin: 0;}
.footer-inner-left { width: 100%; padding: 0;}
footer .logo-area { margin: 0 auto 10px;}
footer .logo-text p:last-child { font-size: 18px; font-weight: 600;}
.copyright p { font-size: 12px;}

.footer-nav ul { margin-right: 0; flex: auto;}
.footer-inner-right { flex: auto; padding: 0;}



}
