@charset "UTF-8";

/* ------------------- FINE WORK _ RESET-CSS _ 2025-09-01  ------------------- */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
html, body {
  width: 100%;
}
body {
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
-webkit-text-size-adjust: 100%;
line-height:1;
}
article,aside,details,figcaption,figure,footer,header,menu,nav,section { 
display:block;
}
nav ul {
list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}
a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
outline: none;
background:transparent;
text-decoration: none;
word-break: break-all;
}
a img {
	border: none;
}
img {
vertical-align:top;
}
table {
border-collapse:collapse;
border-spacing:0;
}
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:middle;
}
/* 全ての要素と疑似要素に適用 */
*, *::before, *::after {
  box-sizing: border-box;
}

/* ------------------- FINE WORK _ RESET-CSS _ ここまで  ------------------- */


/* ------------------- 基本構造 ------------------- */


/* ------------------- 表ページをグーテンベルクのCSSと同様にするため ------------------- */
.alignleft {
float: left;
margin-left: 0;
margin-right: 1.5em;
}
.alignright {
float: right;
margin-left: 1.5em;
margin-right: 0;
}
.aligncenter {
margin-left: auto;
margin-right: auto;
}
.wp-block-categories.aligncenter,
.wp-block-latest-posts.aligncenter,
.wp-block-archives.aligncenter,
.wp-block-tag-cloud.aligncenter,
.wp-block-latest-comments.aligncenter,
.wp-block-rss.aligncenter {
text-align: center;
}
figure {
margin: 0;
}

/* ------------------- 変数 ------------------- */
:root {
--f1: 1.875em;	/* 30px */
--f2: 1.625em;	/* 26px */
--f3: 1.375em;	/* 22px */
--f4: 1.125em;	/* 18px */
--fn: 1em;	    /* 16px */
--f5: 0.875em; 	/* 14px */
--f6: 0.75em;	/* 12px */

--p1: 1em;	/* 16px */
--p2: 0.938em;	/* 15px */

--fsbt: 2em;		/* ブロックタイトルのフォントサイズ */

--cc: #fbc51e;	    /* コーポレートカラー */
--cc90: #fbcb34;	/* コーポレートカラー90% */
--cc80: #fcd14b;	/* コーポレートカラー80% */
--cc70: #fcd661;	/* コーポレートカラー70% */
--cc60: #fddc78;	/* コーポレートカラー60% */
--cc50: #fde28e;	/* コーポレートカラー50% */
--cc40: #fde8a5;	/* コーポレートカラー40% */
--cc30: #feeebb;	/* コーポレートカラー30% */
--cc20: #fef3d2;	/* コーポレートカラー20% */
--cc10: #fff9e8;	/* コーポレートカラー10% */
--cc5: #fffcf4;	    /* コーポレートカラー5% */
--cc3: #fffdf8;	    /* コーポレートカラー3% */

--2cc: #e84b74;	    /* 2コーポレートカラー */
--2cc90: #ea5d82;	/* 2コーポレートカラー90% */
--2cc80: #ed6f90;	/* 2コーポレートカラー80% */
--2cc70: #ef819e;	/* 2コーポレートカラー70% */
--2cc60: #f193ac;	/* 2コーポレートカラー60% */
--2cc50: #f3a5b9;	/* 2コーポレートカラー50% */
--2cc40: #f6b7c7;	/* 2コーポレートカラー40% */
--2cc30: #f8c9d5;	/* 2コーポレートカラー30% */
--2cc20: #fadbe3;	/* 2コーポレートカラー20% */
--2cc10: #fdedf1;	/* 2コーポレートカラー10% */
--2cc5: #fef6f8;	/* 2コーポレートカラー5% */
--2cc3: #fefafb;	/* 2コーポレートカラー3% */

--3cc: #00b3c1;	    /* 3コーポレートカラー */
--3cc90: #19bbc7;	/* 3コーポレートカラー90% */
--3cc80: #33c2cd;	/* 3コーポレートカラー80% */
--3cc70: #4ccad4;	/* 3コーポレートカラー70% */
--3cc60: #66d1da;	/* 3コーポレートカラー60% */
--3cc50: #80d9e0;	/* 3コーポレートカラー50% */
--3cc40: #99e1e6;	/* 3コーポレートカラー40% */
--3cc30: #b2e8ec;	/* 3コーポレートカラー30% */
--3cc20: #ccf0f3;	/* 3コーポレートカラー20% */
--3cc10: #e5f7f9;	/* 3コーポレートカラー10% */
--3cc5: #f2fbfc;	/* 3コーポレートカラー5% */
--3cc3: #f7fdfd;	/* 3コーポレートカラー3% */

--4cc: #00aa61;	    /* 4コーポレートカラー */
--4cc90: #19b271;	/* 4コーポレートカラー90% */
--4cc80: #33bb81;	/* 4コーポレートカラー80% */
--4cc70: #4cc390;	/* 4コーポレートカラー70% */
--4cc60: #66cca0;	/* 4コーポレートカラー60% */
--4cc50: #80d4b0;	/* 4コーポレートカラー50% */
--4cc40: #99ddc0;	/* 4コーポレートカラー40% */
--4cc30: #b2e5d0;	/* 4コーポレートカラー30% */
--4cc20: #cceedf;	/* 4コーポレートカラー20% */
--4cc10: #e5f6ef;	/* 4コーポレートカラー10% */
--4cc5: #f2fbf7;	/* 4コーポレートカラー5% */
--4cc3: #f7fcfa;	/* 4コーポレートカラー3% */

--5cc: #004f7e;	    /* 5コーポレートカラー */
--5cc90: #19618b;	/* 5コーポレートカラー90% */
--5cc80: #337298;	/* 5コーポレートカラー80% */
--5cc70: #4c84a5;	/* 5コーポレートカラー70% */
--5cc60: #6695b2;	/* 5コーポレートカラー60% */
--5cc50: #80a7be;	/* 5コーポレートカラー50% */
--5cc40: #99b9cb;	/* 5コーポレートカラー40% */
--5cc30: #b2cad8;	/* 5コーポレートカラー30% */
--5cc20: #ccdce5;	/* 5コーポレートカラー20% */
--5cc10: #e5edf2;	/* 5コーポレートカラー10% */
--5cc5: #f2f6f9;	/* 5コーポレートカラー5% */
--5cc3: #f7fafb;	/* 5コーポレートカラー3% */

--cch: #eca600;	    /* コーポレートホバーカラー */
--2cch: #c42e58;	/* 2コーポレートホバーカラー */
--3cch: #009ba8;	/* 3コーポレートホバーカラー */
--3cch2: #007A84;	    /* 3コーポレートカラー */
--4cch: #009051;	/* 4コーポレートホバーカラー */
--5cch: #003b61;	/* 5コーポレートホバーカラー */
--5cchl: #00679c;	/* 5コーポレートホバーカラー ライト */

--bc: #FF6900;	    /* 基本カラー */
--bch: #CD5501;	    /* 基本カラー ホバー*/
--2bc: #B20025;	    /* 2基本カラー */
--2bch: #8B001D;	/* 2基本カラー ホバー*/

--bgc01: #f6f7f9;   /* 基本背景カラー1 */
--bgc02: #FEFCE8;   /* 基本背景カラー2 */

--ch: #FFF7A4;      /* ホバーカラー */
--ch2: #FFFDEE;      /* ホバーカラー2 */
--ch3: #FFEE44;      /* ホバーカラー3 */

--black: #000000;	/* ブラック */
--white: #ffffff;	/* ホワイト*/
--bcg2: #222222;	/* 文章カラー2（グレー） */
--bcg: #333333;	/* 文章カラー 基本（グレー） */
--bcg4: #444444;	/* 文章カラー4（グレー） */
--bcg5: #555555;	/* 文章カラー5（グレー） */
--bcg6: #666666;	/* 文章カラー6（グレー） */
--bcg7: #777777;	/* 文章カラー7（グレー） */
--bcg8: #888888;	/* 文章カラー8（グレー） */
--bcg9: #999999;	/* 文章カラー9（グレー） */
--bcgA: #AAAAAA;	/* 文章カラー9（グレー） */


--cg01: #444444;	/* グレー1 */
--cg02: #666666;	/* グレー2 */
--cg03: #999999;	/* グレー3 */
--cg04: #AAAAAA;	/* グレー4 */
--cg05: #BBBBBB;	/* グレー5 */
--cg06: #CCCCCC;	/* グレー6 */
--cg07: #DDDDDD;	/* グレー7 */
--cg08: #EEEEEE;	/* グレー8 */
--cg09: #F7F7F7;	/* グレー9 */
--cg10: #FCFCFC;	/* グレー10 */

--ct01: #009B8F;	/* ターコイズ1*/
--co01: #FF9000;	/* オレンジ1*/
--co02: #FB6C1C;	/* オレンジ2*/
--cy01: #FFED00;	/* イエロー1*/

--ccg: linear-gradient( 0deg,  rgba(236,76,147,1.00) 10.0%, rgba(241,128,178,1.00) 90.0% );	/* コーポレートカラーグラデーション */

--mwlpx: 1400px;
--mw2lpx: 1200px;
--mw3lpx: 1000px;

}/* 変数ここまで */

/* ------------------- フォント ------------------- */
body {
/* font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; ※左にあるフォントほど優先される*/
/* font-family: "M PLUS 1p", sans-serif; */
/* font-family: "M PLUS Rounded 1c", sans-serif; */
font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
h1 {
font-size: var(--f1)
}
h2 {
font-size: var(--f2)
}
h3 {
font-size: var(--f3)
}
h4 {
font-size: var(--f4)
}
h5 {
font-size: var(--f5)
}
h6 {
font-size: var(--f6)
}
h1, h2, h3, h4, h5, h6 {
color: var(--bcg);
font-weight: normal;
line-height: 1.6em;
}
p {
color: var(--bcg);
font-size: var(--p1);
line-height: 1.8em;
text-align: justify;
}
a {
color: var(--cc);
transition: all 0.3s ease;
}
a:hover {
color: var(--cch);
transition: all 0.3s ease;
}

/* スクリーンリーダー用のテキストを非表示 */
.screen-reader-text {
  border: 0;
  clip-path: inset(50%);
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  word-wrap: normal !important;
}


/* 横幅 ============================================================*/
body {
margin: 0;
}
.base_full {
width: 100%;
}
.container_wide-full {
box-sizing: border-box;
width:100%;
}
.container_wide-space {
box-sizing: border-box;
width: 80%;
max-width: 1400px;
margin: 0 auto;
}
.container_wide_f50 {
flex: 0 0 50%;
box-sizing: border-box;
width: 100%;
}
.container_wide_f70 {
flex: 0 0 70%;
box-sizing: border-box;
width: 100%;
}
.container_wide_f60 {
flex: 0 0 60%;
box-sizing: border-box;
width: 100%;
}
.container_wide_f50 {
flex: 0 0 50%;
box-sizing: border-box;
width: 100%;
}
.container_wide_f40 {
flex: 0 0 40%;
box-sizing: border-box;
width: 100%;
}
.container_wide_30 {
flex: 0 0 30%;
box-sizing: border-box;
width: 100%;
}
.container_wide_f70 img, .container_wide_f60 img,.container_wide_f50 img,.container_wide_f50 img,.container_wide_f50 img {
width: 100%;
}
@media (max-width: 579px) {
.container_wide-space {
width: 90%;
}
}

/* ヘッダー高に応じたコンテンツ上部余白 ============================================================*/
.page-contents {
padding-top: 120px;
}
@media (max-width: 799px) {
.page-contents {
padding-top: 60px;
}
}
.page-intro {
width: 100%;
height: 80vh;
background-color: var(--cc30);
}

/* ヘッダー ============================================================*/
/* スクロール途中でヘッダーを表示＆非表示させるためのCSS =================*/

/* front-page 限定用クラス */

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.6s ease-in-out, visibility 0.6s ease-in-out;
}

#header.headerShow {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}


/* ------------------- ヘッダー内 ------------------- */

#header_upper {
  flex: 0 0 100%;
  height: 80px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

#header_logo {
  height: 100%;
}

#header_logo a {
  max-width: 350px;
  height: 100%;
  display: flex;
  align-items: flex-start;
  padding: 15px 0 0 20px;
  box-sizing: border-box;
  transition: all 0.25s ease;
}

#header_logo a img {
  display: block;
  width: 100%;
  height: auto;
  transition: all 0.3s ease;
}
@media (min-width: 800px) {
#header_logo .sp {
display: none;
}
}/* mmin-width: 800px*/
@media (max-width: 799px) {
#header, #header_upper {
height: 60px;
}
#header_logo a {
max-width: 250px;
flex-direction: column;
}
#header_logo a img {
}
#header_logo .pc {
display: none;
}
}/* min-width: 800px*/


/* ---------- 下記未設定 ---------- */
/* PCとSP で 画像を切り替えするとき */
/* logo_img pc と logo_img sp それぞれのクラス割り振り画像で切り替えすることも可能 */
/*
<img class="logo_img pc" src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/img/パソコン用画像" alt="" role="presentation" aria-hidden="true">
<img class="logo_img sp" src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/img/スマホ用画像　" alt="" role="presentation" aria-hidden="true">
<span class="site-name-text">サイト名など</span>
*/
@media (min-width: 800px) {
#header_logo .sp {
display: none;
}
}/* mmin-width: 800px*/

@media (max-width: 799px) {
#header_logo .pc {
display: none;
}
}/* max-width: 799px*/

#header_logo .site-name-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* サイトキャッチコピーをテキスト表示させたりする時 */
#header_catch {
width: 330px;
color: var(--4cc);
font-size: 0.9em;
font-weight: 600;
letter-spacing: .1em;
padding: 5px 5px 5px 5px;
border-top: solid 1px var(--4cc50);
border-bottom: solid 1px var(--4cc50);
margin: 17px 0 0 30px;
}
@media (max-width: 979px) {
#header_catch {
display: none;
}
}

/* ---------- 未設定ここまで ---------- */


/* ナビ・メニュー部分は style_nav.css */

#header_lower {
flex: 0 0 100%;
display: flex;
justify-content: flex-end;
align-items: center;
box-sizing: border-box;
height: 40px;
padding-right: 15px;
}


/* フッター ============================================================*/
footer {}

/* 取扱分野 */
.footer-practice-area {
  --gap: 20px; /* このフッター内だけで有効 */
  border-top: solid 1px var(--cg05);
  background: var(--cg10);
  padding: 60px 3%;
}

.footer-practice-area-title {
margin-bottom: 20px;
}
.footer-practice-area-title h3 {
	color: var(--5cc);
	font-size: clamp(1.40rem, 1.21vw + 0.83rem, 2.40rem);
  font-weight: 600;
  letter-spacing: .05em;
	text-align: center;
}

.practice-area-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* 列数は自動可変 */
  gap: var(--gap);                                             /* 行間・列間の両方に適用 */
  max-width: 1200px;
  margin: 0 auto;
}

/* ボタン */
.practice-button {
  display: flex;
  align-items: center;
  background-color: var(--5cc);
  color: #fff;
  text-decoration: none;
  border-radius: 10px;
  padding: 10px;                         /* 左右の余白は中身で調整 */
  transition: all 0.2s ease;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  transform: translateY(0);
}

.practice-button:hover {
  background-color: var(--2cc);
  box-shadow: 0 2px 3px rgba(0,0,0,0.2);
  transform: translateY(-4px);
}

/* アイコン画像（高さ優先・左右トリミング） */
.practice-button img {
  width: 80px;
  height: 50px;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  margin-right: 15px;
  flex-shrink: 0;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.practice-button span {
	color: #fff;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .1em;
  white-space: nowrap;
  text-shadow: 0 4px 6px rgba(0,0,0,0.03);
}

.practice-button:hover span {
  color: #fff;
}

/* ▼ 最下段メッセージを“列全体”にまたがらせるのが肝 */
.practice-area-note {
  grid-column: 1 / -1;                 /* ここで全列をスパン（左右が常に揃う） */
  padding: 20px 30px;
  text-align: center;
  line-height: 1.7;
	border-top: solid 2px var(--5cc);
	border-bottom: solid 2px var(--5cc);
  background-color: var(--5cc5);
  box-sizing: border-box;
	margin-top: 20px;
}

.practice-area-note p {
  color: var(--5cc);
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 500;
	text-align: center;
  margin: 0;
}

@media (max-width: 499px) {
.practice-area-container {
    gap: 5px;
}
}


/* お問い合わせ */
.footer-inquiry-area {
  background-color: var(--2cc);
}

.inquiry-info {
  position: relative;
  z-index: 2; /* ★ 左をデフォで前面（通常時はカードより上） */
  width: 100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
	padding: 35px 0 10px 0;
}
.inquiry-info .inquiry-title_en {
  color: var(--2cc70);
  font-size: clamp(4.00rem, 4.85vw + 2.12rem, 8.00rem);
  font-weight: 800;
  width: 100%;
  height: auto;
  padding: 10px 0 0 30px;
}
.inquiry-info .inquiry-img {
  position: absolute;
  z-index: 1;       /* 左ブロック内の相対順位 */
  top: -20px;
  right: 20px;
  max-width: 180px;
  transform: rotate(5deg); /* transformは子のスタックを作るが、親z=2なのでOK */
}
.inquiry-info .inquiry-img img {
  width: 100%;
  height: auto;
  animation: sway5deg 1.5s ease-in-out infinite alternate;
}
.inquiry-info .inquiry-title {
  width: 100%;
	text-align: center;
}
.inquiry-info .inquiry-title h3 {
    color: #fff;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 600;
	line-height: 1.4;
}

.footer-inquiry-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px 30px 60px;
}

.footer-inquiry-title {
  text-align: center;
  font-size: clamp(22px, 2.5vw, 36px);
  font-weight: 700;
  margin-bottom: 32px;
}

.footer-inquiry-grid {
  display: grid;
  gap: 20px;
}

@media (max-width: 779px){
	.inquiry-info .inquiry-img {
  max-width: 120px;
}
}

@media (max-width: 499px){
.inquiry-info .inquiry-title_en {
  padding: 0 0 0 0;
}
}


@media (min-width: 640px) {
  .footer-inquiry-grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}

.inquiry-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  color: #fff; /* ← 通常は白（文字とSVGのstroke/fill） */
  border: 2px solid currentColor; /* 枠もcurrentColorで統一 */
  border-radius: 12px;
  padding: 20px;
  transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.inquiry-card-icon {
  max-width: 100px;
  height: auto;
	transition: transform 0.3s ease;
}

.inquiry-card-icon svg {
  width: 100%;
  height: auto;
  display: block;
}

/* テキスト部分も color 依存 */
.inquiry-card-main {
	color: #fff;
  font-size: clamp(1.50rem, 1.82vw + 0.55rem, 2.8rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin: 0;
}

.inquiry-card-sub {
		color: #fff;
  font-size: clamp(0.90rem, 0.36vw + 0.71rem, 1.20rem);
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  margin: 0;
}

/* ホバーで背景白、色を var(--2cc) に */
.inquiry-card:hover {
  background-color: #fff;
  color: var(--2cc);
  transform: translateY(-4px);
}
.inquiry-card:hover .inquiry-card-main,
.inquiry-card:hover .inquiry-card-sub {
	color: var(--2cc);
}
.inquiry-card:hover .inquiry-card-icon {
  transform: rotate(10deg);
}



/* アクセス */
/* ===== レイアウト（2カラム・左右いっぱい・高さ確保） ===== */
/* ==== 余白・角丸ナシ、等高2カラム ==== */
.footer-access-area{
  display: grid;
  grid-template-columns: 1fr 1fr;  /* PCは2列 */
  align-items: stretch;            /* 等高 */
  gap: 0;
  width: 100%;
  border-bottom: 1px solid var(--5cc);
}

/* 各カラムを“高さを持つ箱”にする（←これ大事） */
.access-box{
  min-width: 280px;
  display: grid;                   /* ← gridにして中身を100%にできる */
}

/* 左カラムの中（地図ラッパ）を親いっぱいに伸ばす */
.map-embed-wrap{
  position: relative;
  width: 100%;
  height: 100%;                    /* ← 親の高さいっぱい */
  min-height: 380px;               /* 下限だけ確保（必要に応じて調整） */
  overflow: hidden;
}

/* iframeは完全フィット。行内隙間対策に block 指定 */
.map-embed-wrap iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;                  /* ← 下の“謎の隙間”防止 */
}

/* 右カラム */
.access-guide{ background-color: var(--5cc);
padding: 20px 30px;
	display: flex;
flex-direction: column;    /* 縦積み */
  justify-content: center;   /* 縦方向の中央揃え */
  height: 100%;              /* ←親要素の高さが決まってることが前提 */
}

/* 行（駅情報h3・住所p）は通常フロー。左に“溝”を作る */
.google-map_info h3,
.google-map_info p{
  display: block;                    /* ← flex/gridを使わない */
  position: relative;                /* アイコン絶対配置のベース */
  margin: 0 0 12px 0;
  text-align: left;
  line-height: 1.6;
  padding-left: 1.2em;
}
.google-map_info p{
  padding-left: 2.0em;
}


/* アイコンは左の溝に固定（サイズ変動でも本文は安定） */
.google-map_info h3 > i,
.google-map_info p  > i{
  position: absolute;
  left: 0;
  top: .2em;                         /* ベースライン微調整 */
  width: 1.0em;
  line-height: 1;
  text-align: center;
  color: #fff;
  font-size: 1.0em;                  /* アイコン大きさ */
  pointer-events: none;
}
.google-map_info p  > i{
	top: -0.1em; /* ベースライン微調整 */
  font-size: 1.4em;                  /* アイコン大きさ */
	margin-left: 3px;
}

/* 見出し（駅情報）の文字仕様 */
.google-map_info h3{
  font-size: clamp(1.20rem, 0.97vw + 0.82rem, 2.00rem);
  line-height: 1.4;
  margin-bottom: 14px;               /* 行間少し広め */
}

/* 補助テキスト */
.google-map_info h3 .railway{
  color: #fff;
  font-size: 0.7em;
}
.google-map_info h3 .station,
.google-map_info h3 .walk{
  color: #FBF37B;
  font-weight: 600;
}
.google-map_info h3 .station{
  font-size: 1.2em;
}
.google-map_info h3 .walk .minutes{
  font-size: 1.2em;
}

/* 住所本文 */
.google-map_info p{
  color: #fff;
  font-size: clamp(0.90rem, 0.24vw + 0.81rem, 1.10rem);
}


/* ==== スマホ：縦積み。比率で高さ決定（任意） ==== */
@media (max-width: 699px){
  .footer-access-area{ grid-template-columns: 1fr; }
  .access-box{ display: block; }    /* 通常フローに戻す */
  .map-embed-wrap{
    height: auto;                   /* 伸ばしをやめる */
    min-height: 0;
    aspect-ratio: 4 / 3;            /* 比率でキレイに見せる（不要なら削除可） */
  }
}
@media (max-width: 4990px){
  .map-embed-wrap{
    aspect-ratio: auto; /* 比率を解除 */
    height: 500px;      /* 固定高さ */
    min-height: 500px;  /* 念のため */
  }
}


/* =========================
   フッター：オフィスエリア（既存）
   ========================= */
.footer-office-area{ background:#fff; width:100%; }
.footer-office-container{
  max-width:1200px; margin:0 auto; padding:70px 20px 10px;
  text-align:center; color:var(--text-main); box-sizing:border-box;
}

/* ロゴ */
.fo-logo{ width:clamp(280px, 9.09vw + 223.64px, 400px); height:auto; display:block; margin:0 auto 18px; }
.fo-logo img{ width:100%; height:auto; }

/* 住所 */
.fo-address{
  margin:0 0 5px; font-size:clamp(0.90rem, 0.24vw + 0.81rem, 1.10rem);
  line-height:1.9; color:var(--text-main); letter-spacing:.08em; white-space:normal; text-align:center;
}

/* TEL */
.footer-office-container .fo-tel {
	text-align:center;
	text-decoration:none;
	margin-bottom: 10px;
}
.footer-office-container .fo-tel a{
  color:var(--bcg); margin:0 0 20px; font-size:clamp(1.20rem, 0.48vw + 1.01rem, 1.60rem);
  line-height:1.6; font-weight:600; letter-spacing:.08em; transition:color .2s ease, opacity .2s ease;
}
.footer-office-container .fo-tel a:hover{ color:var(--2cc); }

/* ====== ここからメニュー横並び & 下線アニメ ====== */

/* nav自体は幅の器。横並びは ul.f-menu 側でやる */
.fo-nav{
	max-width: 1000px;
	margin:0 auto;
}

/* WordPressのul初期値リセット */
.fo-nav .f-menu{
  list-style:none; margin:0; padding:0;

  /* 横並び */
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap;
  column-gap:18px; row-gap:12px;     /* 列/行の間隔 */
}
.fo-nav .f-menu01 {
	border-top: double 3px var(--bcg6);
	border-bottom: double 3px var(--bcg6);
	padding: 5px 0 3px;
	margin-bottom: 10px;
}

/* li リセット */
.fo-nav .f-menu > li{ margin:0; padding:0; }

/* リンク共通（下線アニメのベース） */
.fo-nav .f-menu > li > a{
  position:relative; display:inline-block;
  text-decoration:none; letter-spacing:.08em;
  line-height:1; padding:2px 2px;
  transition:color .2s ease;
}

/* 上段メニューの色/サイズ */
.fo-nav-main .f-menu > li > a{
  font-size: clamp(14px, 0.15vw + 13.06px, 16px);
  color:var(--bcg6); font-weight:500;
}

/* 下段メニューの色/サイズ */
.fo-nav-sub .f-menu02 > li > a{
  font-size:clamp(0.80rem, 0.12vw + 0.75rem, 0.90rem);
  color:var(--bcg6); letter-spacing:.06em;
}

/* ▼ 左→右に走る“下線” */
.fo-nav .f-menu01 > li > a::after{
	color: var(--5cc);
  content:""; position:absolute; left:0; bottom:-4px;
  height:3px; width:100%;
	margin-bottom: -3px;
  background: currentColor;            /* 文字色と揃える */
  transform: scaleX(0);                 /* 初期は0 */
  transform-origin: left center;        /* 左端から伸びる */
  transition: transform .35s ease;      /* 伸びのアニメ */
}

/* hover時に左→右へ伸長 */
.fo-nav .f-menu01 > li > a:hover::after{
  transform: scaleX(1);
}

/* hover色（任意） */
.fo-nav-main .f-menu > li > a:hover{ color: var(--5cc); }
.fo-nav-sub  .f-menu > li > a:hover{ color: var(--5cc); }

/* 余白や文字詰めの微調整（狭幅） */
@media (max-width: 480px){
  .footer-office-container{ padding:45px 15px 10px; }
  .fo-nav .f-menu{ column-gap:22px; row-gap:10px; }
}

.fb_overall {
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
width: 100%;
height: 60px;
margin: 0 auto;
background-color: var(--3cc);
}
.footer-copyright {
box-sizing: border-box;
width: 100%;
padding: 0 40px;
}
.footer-copyright p {
color: #fff;
font-size: 0.75em;
letter-spacing: .1em;
line-height: 1.4em;
text-align: center;
}

@media (max-width: 779px) {
.footer-copyright p {
font-size: 0.7em;
text-align: center;
}
.fb_overall {
height: 50px;
}
}/* max-width: 779px */ 

@media (max-width: 550px) {
.fb_overall {
/* スマホ下部メニューを表示させる場合
margin-bottom: 50px;
 */
}
.footer-copyright {
padding: 0 15px;
}
.footer-copyright p {
font-size: 0.7em;
letter-spacing: .05em;
}
}/* max-width: 550px */ 


/* ナビ・メニュー部分は style_nav.css */

/* ==================================================================================================== */


/* 固定ページ共通 ============================================================ */
/* ============================================================ */
.page-contents {
	--page-shadow: 0 3px 12px rgba(0,0,0,0.05);
}

/* パンくず （Breadcrumb NavXT） */
/* 配置ポジション用 */
.breadcrumb-wrapper {
	text-align: right;
	margin: 0 6% 0 0;
}
.breadcrumb {
display: inline-block;
color: var(--cg02);
font-size: 0.9em;
line-height: 1.4em;
text-align: right;
vertical-align: top;
}
.breadcrumb a {
	color: var(--2cc);
	transition:color .2s ease;
}
.breadcrumb a:hover {
	color: var(--2cch);
	text-decoration: underline;
}

.breadcrumb-white .breadcrumb {
    display: inline-block;
    color: var(--cg02);
    font-size: 0.9em;
    line-height: 1.4em;
    text-align: right;
    vertical-align: top;
}

/* パンくず色ヌキ用 */
.breadcrumb-white .breadcrumb {
display: inline-block;
color: var(--cg02);
font-size: 0.9em;
line-height: 1.4em;
text-align: right;
vertical-align: top;
	background-color: #fff;
	padding: 4px 10px;
	border-radius: 5px;
}
.breadcrumb-white .breadcrumb a {
	color: var(--2cc);
	transition:color .2s ease;
}
.breadcrumb-white .breadcrumb a:hover {
	color: var(--2cch);
	text-decoration: underline;
}

.breadcrumb-white .breadcrumb {
    display: inline-block;
    color: var(--cg02);
    font-size: 0.9em;
    line-height: 1.4em;
    text-align: right;
    vertical-align: top;
}

/* 画面幅699px以下の時は非表示 */
@media (max-width: 699px) {
.breadcrumb-wrapper {
	display: none;
}
}


.page-contents .page_title {
width: 100%;
height: auto;
padding: 20px 0 10px 0;
}
.page-contents .page_title-box {
	position: relative;
width: 90%;
height: auto;
padding: 0;
margin: 0 auto;
}
.page-contents .page_title .page_title-box h1 {
	position: relative;
	z-index: 10;
color: var(--bcg);
	/* font-size: clamp(1.80rem, 0.73vw + 1.42rem, 2.40rem); */
font-size: clamp(2.00rem, 0.97vw + 1.62rem, 2.80rem);
font-weight: 600;
padding: 0 0 0 0;
	text-shadow: var(--page-shadow);
}
.page-contents .page_title-box .title_en {
	position: absolute;
	z-index: 0;
	top: -30px;
	left: -20px;
    color: var(--cg09);
    font-size: clamp(2.6rem, 2.42vw + 2.06rem, 5.00rem);
    font-weight: 800;
	line-height: 1;
    width: 100%;
    height: auto;
    padding: 0;
}

.page_body {
width: 90%;
height: auto;
padding: 40px 4% 40px 4%;
margin: 0 auto 100px auto;
border: solid 2px var(--cg08);
background-color: var(--cg10);
border-radius: 10px;
	box-shadow: var(--page-shadow);
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
}
.page_body100 {
width: 90%;
height: auto;
padding: 0 0 ;
margin: 0 auto 100px auto;
border: solid 2px var(--cg08);
background-color: var(--cg10);
border-radius: 10px;
	box-shadow: var(--page-shadow);
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
}

.page_body h2, .page_body100 h2 {
font-size: clamp(1.40rem, 0.48vw + 1.21rem, 1.80rem);
padding: 10px 0 20px 0;
}
.page_body h3, .page_body100 h3 {
font-size: clamp(1.20rem, 0.48vw + 1.01rem, 1.60rem);
padding: 10px 0 20px 0;
}
.page_body h4, .page_body100 h4 {
font-size: clamp(1.00rem, 0.48vw + 0.81rem, 1.40rem);
padding: 10px 15px 20px 0;
}
.page_body h5, .page_body100 h5 {
font-size: clamp(0.90rem, 0.24vw + 0.81rem, 1.10rem);
padding: 10px 0 20px 0;
}
.page_body h6, .page_body100 h6 {
font-size: clamp(0.70rem, 0.24vw + 0.61rem, 0.90rem);
padding: 10px 0 20px 0;
}
.page_body p, .page_body100 p {
font-size: 1rem;
padding: 0 0 20px 0;
}

/* 固定ページ共通 */
.page-contents .page_body a:not(.btn-arrow),
.page-contents .page_body100 a:not(.btn-arrow) {
	color: var(--2cc);
	transition: color .2s ease;
}
.page-contents .page_body a:hover:not(.btn-arrow),
.page-contents .page_body100 a:hover:not(.btn-arrow) {
	color: var(--2cch);
	text-decoration: underline;
}

@media (max-width: 499px) {
.page-contents .page_title-box {
width: 100%;
height: auto;
padding: 10px 0 0;
margin: 0 auto;
}
.page-contents .page_title-box .title_en {
	padding: 0 0 0 10px;
	margin-top: -10px;
}
.page-contents .page_title .page_title-box h1 {
	padding: 0 0 0 20px;
}
.page_body {
    width: 94%;
    padding: 20px 4% 30px 4%;
}
}/* max-width: 499px */

@media (max-width: 799px) {
.page-contents .page_title-box .title_en {
	top: 0px;
}
}/* max-width: 799px */



/* 弁護士紹介 ================================================================ */
/* ========================================================================== */
/* ========= 弁護士紹介 ========= */
:root{
  --band-h: 140px;                 /* 帯高さ */
  --mv-gap: 0px;                   /* 左右カラムの隙間（必要なら増やす） */
  --photo-max: 350px;
  --photo-min: 250px;
}

/* 親：60:40の2カラム。帯アニメは背面 */
.main-visual2{
  position: relative;
  display: flex;
  justify-content: space-between;  /* 左60% / 右40% */
  align-items: flex-end;           /* 下端基準で揃える（帯と整合） */
  gap: var(--mv-gap);
  width: 100%;
  margin: 0 auto 40px;
  padding: 30px 20px 0;
  background: #fff;
  border-bottom: 3px solid var(--5cc);
  overflow: visible;
}

/* 帯アニメ（背面で横に伸びる） */
.main-visual2::after{
  content:"";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: var(--band-h);
  background: var(--3cc);
  z-index: 0;
  transform: scaleX(0);
  transform-origin: left center;
  animation: band-slide 1s ease-out forwards;
  animation-delay: 2s;
}
@keyframes band-slide { to { transform: scaleX(1); } }

/* 左カラム（55%）：スローガン＋名前を帯基準で上下管理 */
.lawyer-intro-col{
  flex: 0 0 55%;
  box-sizing: border-box;
  min-width: 0;          /* 折返し暴発防止 */
  z-index: 1;            /* 帯より前面 */
}

/* 帯直上／帯内の一体コンテナ */
.slogan-and-name{
  display: grid;
  grid-template-rows: auto var(--band-h); /* 上：スローガン / 下：帯（名前） */
  align-items: end;                        /* スローガンを帯直上に寄せる */
  position: relative;
  z-index: 2;                              /* 帯（z0）の前に置く */
}

.lawyer-slogan {
  display: flex;
  justify-content: flex-end; /* 全体を右端に寄せる */
}
/* スローガン（帯直上・負の移動禁止） */
/* 中の段落は左揃え */
.lawyer-slogan p {
  margin: 0 0 .65rem 0;
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
  font-size: clamp(1.50rem, 1.82vw + 1.05rem, 3.00rem);
  line-height: 1.4;
  letter-spacing: .02em;
  color: #222;

  text-align: left;          /* 行は左揃え */
  text-wrap: balance;        /* 可能なら2行バランス */
  max-width: 100%;           /* 必要なら幅制限かけてもOK */
}

/* 名前（帯の中・縦中央） */
.lawyer-name{
  display: flex;
  flex-direction: column;
  justify-content: center; /* 帯内で縦中央 */
  height: var(--band-h);
  text-align: right;
  pointer-events: none;
	padding-top: 10px;
}
.lawyer-name h2{
  margin: 0 0 4px;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .2em;
  color: #fff;             /* 帯で白抜き */
}
.lawyer-name h2 .license{
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: .2em;
  color: rgba(255,255,255,.9);
  margin-right: .5em;
}
.lawyer-name p{
  margin: 0;
  padding-right: 3%;
  font-size: .95rem;
  letter-spacing: .12em;
  color: rgba(255,255,255,.92);
	text-align: right;
}

/* 右カラム（45%）：写真は帯ラインに接地 */
.lawyer-photo-col{
  flex: 0 0 45%;
  display: flex;
  align-items: flex-end;   /* 帯ラインへ接地 */
  text-align: left;
  z-index: 1;              /* 帯より前面 */
}
.lawyer-photo-col img{
  width: 100%;
  max-width: var(--photo-max);
  min-width: var(--photo-min);
  height: 380px;
  object-fit: cover;
  object-position: center top;
  border-radius: 8px;
}




/* ===== スマホ幅（〜699px）だけの最小限レスポンシブ調整 ===== */
@media (max-width: 699px) {

  /* 帯の高さ：固定140pxだと重く見えるので比例縮小（見た目そのまま） */
  :root { --band-h: clamp(80px, 20vw, 140px); }

  .main-visual2 {
    gap: 14px;
    padding: 20px 14px 0;   /* 余白をほんの少しだけ縮める */
  }

  /* 画像はそのまま小さく。最小幅だけ緩めて詰まりを防止 */
  .lawyer-photo-col img{  
    max-width: 320px;
    min-width: 200px;       /* ← 260pxだと狭い端末で溢れやすいので少しだけ緩める */
    height: clamp(240px, 54vw, 380px); /* 固定380pxを比例縮小 */
  }

  /* スローガンはサイズ＆上方向の押し上げ量をほんの少しだけ調整 */
  .lawyer-slogan { padding-left: 20%; }
  .lawyer-slogan p{
    font-size: clamp(1.6rem, 6vw, 2.8rem); /* 極端に大きいのを防いで自然に縮む */
    top: -20px;                             /* 上げ幅を少し弱める */
    line-height: 1.35;
  }

  /* 名前（帯の中）も自然に縮む。レイアウトは変えない */
  .lawyer-name{
    right: 42%;
	 left: 0;
    height: var(--band-h);
  }
  .lawyer-name h2{
    font-size: clamp(1.4rem, 5.2vw, 2.2rem);
    letter-spacing: .14em;
	  display: flex;
	  flex-wrap: nowrap;
	  align-items: baseline;
	  justify-content: flex-end;
  }
  .lawyer-name h2 .license{
    font-size: clamp(.8rem, 3.2vw, 1.1rem);
    letter-spacing: .16em;
  }
  .lawyer-name p{
    font-size: clamp(.8rem, 3.2vw, .95rem);
    padding-right: 2%;
    letter-spacing: .1em;
  }
}

/* ===== スマホ極小幅（〜499px）でも横並びを維持 ===== */
@media (max-width: 499px) {

  :root { --band-h: clamp(80px, 18vw, 120px); }

  .main-visual2 {
	  width: 100%;
    gap: 0;                   /* 隙間を縮める */
    padding: 20px 0 0 0;
  }

  /* 左カラム（スローガン＋名前）をもっと縮める */
  .lawyer-intro-col {
    flex: 0 0 63%;              /* 60% → 55% */
  }

  /* 写真カラムも緩める */
  .lawyer-photo-col {
    flex: 0 0 37%;              /* 40% → 45% */
    display: flex;
    justify-content: flex-end;  /* 右に寄せて圧縮感を抑える */
	  overflow: hidden;
  }
  .lawyer-photo-col img{
    max-width: 200px;
    min-width: 140px;           /* ← 最小幅を小さくして崩れ回避 */
    height: clamp(160px, 60vw, 190px);
	margin-right: -10px;
	  transform: scale(1.1);
  }

  /* スローガン：右寄せを維持しつつ字間を抑える */
  .lawyer-slogan {
    justify-content: flex-end;
    padding-left: 10px;
  }
  .lawyer-slogan p{
    font-size: clamp(1.8rem, 4.5vw, 2.2rem);
    line-height: 1.4;
    margin-bottom: .5rem;
    text-align: left;          /* 行頭は左揃え */
    max-width: 95%;            /* はみ出し防止 */
  }

  /* 名前：帯の中で縮小 */
  .lawyer-name h2{
    font-size: clamp(1.65rem, 4vw, 1.8rem);
    letter-spacing: .15em;
  }
  .lawyer-name h2 .license{
    font-size: clamp(1.2rem, 2.8vw, 1.2rem);
  }
  .lawyer-name p{
    font-size: clamp(.8rem, 2.8vw, .9rem);
    letter-spacing: .08em;
    padding-right: 1%;
  }
}/* max-width: 499px */



.section-title {
	width: 100%;
	margin: 0 auto 40px;
}
.section-title p {
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
	letter-spacing: .1em;
}

/* ごあいさつ */
.page-lawyer .profile-box {
width: 100%;
max-width: var(--mwlpx);
margin: 0 auto 80px;
    height: auto;
    display: flex;
	flex-wrap: wrap;
    gap: 2%;
    padding: 0 4%;
}
.page-lawyer .profile-box .career {
flex: 0 0 30%;
    display: flex;
    flex-direction: column;
	border-radius: 10px;
	background-color: var(--5cc);
	padding: 20px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	overflow-x: clip; 
}
.page-lawyer .profile-box .career h3 {
	color: #fff;
	font-size: 1.1rem;
	font-weight: 500;
	border-left: solid 2px var(--3cc50);
	padding: 0 0 0 10px;
	margin: 0 0 15px 0;
}
.page-lawyer .profile-box .career ul {
list-style: none;      /* デフォルトの点を消す */
  margin: 0 0 20px 0;
  padding: 0;
}
.page-lawyer .profile-box .career li {
	color: #fff;
	font-size: 0.95rem;
	line-height: 1.8;
	text-align: left;
}


/* メッセージ */
.page-lawyer .profile-box .message {
flex: 0 0 68%;
    background: #fff;
    border-radius: 10px;
    padding: 0px 2px 0px 2px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	padding: 30px 35px;
    margin: 0 auto;
}
.page-lawyer .profile-box .message p {
		font-size: 1.1rem;
	line-height: 1.8;
	margin: 0 0 1em 0;
}
.page-lawyer .profile-box .image-box {
	width: 100%;
	height: auto;
	padding: 60px
}
.page-lawyer .profile-box .image-box img {
	width: 100%;
	height: auto;
}

@media (max-width: 899px) {
  .page-lawyer .profile-box {
    flex-direction: column; /* 縦並び */
  }

  .page-lawyer .profile-box .message {
    order: 1;   /* 上に表示 */
    flex: 1 1 100%;
    margin-bottom: 20px; /* 下に余白 */
  }

  .page-lawyer .profile-box .career {
    order: 2;   /* 下に表示 */
    flex: 1 1 100%;
  }
}

@media (max-width: 899px) {
.page-lawyer .profile-box .message {
    padding: 20px 25px;
}
}
	

/* よく取り扱う事件 */
.practice-areas {
width: 100%;
  padding: 50px 5%;
  background: #f9f9f9;
}

.practice-areas h2 {
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 30px;
}

.practice-areas-inner {
max-width: var(--mw2lpx);
margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  justify-content: space-between;
}

.practice-block {
  flex: 1 1 30%;   /* 3等分 */
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.05);
	margin-bottom: 15px;
}

.practice-block h3 {
	color: var(--5cc);
  font-size: 1.4rem;
	font-weight: 500;
  margin-bottom: 15px;
  border-bottom: 2px solid var(--5cc); /* 事務所カラーをここに */
  padding-bottom: 5px;
}

.practice-block ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.practice-block li {
  margin: 0 0 5px;
  line-height: 1.5;
}

/* スマホ対応：1列に落とす */
@media (max-width: 799px) {
  .practice-block {
    flex: 1 1 100%;
  }
	.page-contents .page_title-box .title_en { top:0; left:0; } 
}


/* 主な担当事件（よく取り扱う事件と同じテイストで1列） */
.case-major.practice-areas {
  background: #EFEEEE;
  padding: 40px 5%;
}

.case-major.practice-areas h2 {
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 30px;
}

.case-major__inner {
  display: flex;
  flex-direction: column; /* ← 1列で縦並び */
  gap: 20px;
}

/* 個別ブロック（よく取り扱う事件と揃える） */
.case-major .practice-block {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 25px 30px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.05);
}

.case-major .practice-block h3 {
  color: var(--5cc);
  font-size: 1.25rem;
  font-weight: 500;
  margin-bottom: 15px;
  border-bottom: 2px solid var(--5cc);
  padding-bottom: 5px;
}

.case-major .practice-block ul {
  list-style: none;
  margin: 0;
  padding: 0 0 0 5px;
}

.case-major .practice-block li {
  position: relative; /* 擬似要素の基準にする */
  margin-bottom: 16px;
  line-height: 1.6;
  font-size: 0.95rem;
  color: #333;
  border-bottom: solid 1px var(--cg07);
  padding: 0 0 14px 15px; /* ← 左に余白を確保（丸のスペース） */
}

.case-major .practice-block li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em; /* 行高さに合わせて微調整 */
  width: 10px;
  height: 10px;
  background-color: #999; /* グレー */
  border-radius: 50%;
}


/* 論文 */
.publications {
width: 100%;
  padding: 40px 5%;
  background: #fff;
}
.publications__inner {
width: 100%;
max-width: var(--mw2lpx);
margin: 0 auto;
}

.publications h2 {
	color: var(--5cc);
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 25px;
  border-bottom: 3px double var(--5cc);
  display: inline-block;
}

.publications ul {
  list-style: none;
  margin: 0;
  padding: 0 0 0 10px;
}
.publications li {
  position: relative; /* 擬似要素の基準にする */
  margin-bottom: 16px;
  line-height: 1.6;
  font-size: 0.95rem;
  color: #333;
  padding: 0 0 0 15px; /* ← 左に余白を確保（丸のスペース） */
	margin: 0 0 10px;
	text-indent: -0.3em;
}
.publications li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em; /* 行高さに合わせて微調整 */
  width: 10px;
  height: 10px;
  background-color: var(--5cc); /* 丸の色 */
  border-radius: 50%;
}


/* 講演・学習会（主なテーマ一例） */
.lectures {
  width: 100%;
  padding: 40px 5%;
  background: #fafafa;
}
.lectures__inner {
width: 100%;
max-width: var(--mw2lpx);
margin: 0 auto;
}

.lectures h2 {
	color: var(--5cc);
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 25px;
  border-bottom: 3px double var(--5cc);
  display: inline-block;
}

.lecture-group {
  margin-bottom: 25px;
}

.lecture-group h3 {
  font-size: 1.2rem;
	font-weight: 500;
  margin: 15px 0;
  color: var(--5cc);
  border-left: 4px solid var(--5cc);
  padding-left: 8px;
}


.lecture-group ul{
  list-style: none;
  margin: 0;
  padding: 0 0 0 10px;
}

.lecture-group li {
  position: relative; /* 擬似要素の基準にする */
  margin-bottom: 16px;
  line-height: 1.6;
  font-size: 0.95rem;
  color: #333;
  padding: 0 0 0 15px; /* ← 左に余白を確保（丸のスペース） */
	margin: 0 0 8px;
}

.lecture-group li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em; /* 行高さに合わせて微調整 */
  width: 10px;
  height: 10px;
  background-color: var(--5cc); /* 丸の色 */
  border-radius: 50%;
}



/*事務所案内 ================================================================*/
/* ============================================================================== */
.page_img {
  position: relative;
  overflow: hidden;   /* 枠内だけ見せる */
  height: 400px;      /* 好きな高さに調整 */
}

/* ▼ 950px以下では高さを可変にする */
@media (max-width: 950px) {
  .page_img {
    height: clamp(
      200px,
      calc(200px + (60 * (100vw - 320px) / 479)),
      400px
    );
  }
}

.page_img .age_img-photo {
  position: relative;
  height: 100%;
}

/* パララックス画像 */
/* ← transform を「変数ベース」に変更（JSとケンカしない） */
.page_img .age_img-photo img{
  width: 100%;
  height: auto;          /* ← 高さは自動にしておく */
  display: block;
  will-change: transform;
  transform-origin: top center;          /* 上を基準に拡大 */
  transform: scale(var(--zoom, 1)) translateY(var(--move, 0px));
}


/* コピーのレイヤー */
.page_img-copy {
  position: absolute;
  inset: 0; /* top:0; right:0; bottom:0; left:0; と同じ */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.25); /* 少し暗くして読みやすく */
}

.page_img-copy p {
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
  font-style: normal;
  color: #fff;
  font-size: clamp(1.80rem, 2.67vw + 0.87rem, 4.00rem);
	letter-spacing: .15em;
  line-height: 1.6;
	text-align: center;
  margin: 0;
  text-shadow: 2px 2px 18px rgba(0,0,0,0.3);
}

@media (max-width: 599px) {
	.page_img-copy p {
		line-height: 1.5;
	}
}

.outline {
  width: min(100%, 900px);
  margin: 40px auto 100px;
  padding: 0 20px;
}

.outline h2 {
	color: var(--5cc);
  font-size: 1.4rem;
  font-weight: 500;
	border-left: solid 6px var(--5cc);
	padding: 0 0 0 10px;
  margin: 0 0 24px;
}

.outline dl {
  display: grid;
  grid-template-columns: 200px 1fr;
  border-top: 1px dotted #ccc;
}

.outline dl > div {
  display: contents; /* dt/ddをそのままグリッドに流す */
}

.outline dt,
.outline dd {
  padding: 35px 10px;
}
.outline dt a:not(.btn-arrow),
.outline dd a:not(.btn-arrow) {
  color: var(--2cc);
}
.outline dt a:hover:not(.btn-arrow),
.outline dd a:hover:not(.btn-arrow) {
  color: var(--2cch);
	text-decoration: underline;
}

.outline dt {
  font-weight: 500;
  color: var(--bcg);
	letter-spacing: .2em;
	border-bottom: 2px solid var(--5cc70);
}
.outline dd {
	color: var(--bcg6);
	line-height: 1.8;
  border-bottom: 1px solid var(--5cc30);
}

@media (max-width: 499px) {
  .outline dl {
    grid-template-columns: 1fr;
	  border-top: none;
  }
  .outline dt {
    border-bottom: 1px dotted var(--5cc);
	  color: var(--5cc);
    padding: 5px 10px;
	  margin-bottom: 10px;
  }
  .outline dd {
    padding-top: 0;
	  border-bottom:none;
  }
}




/* アクセスページ ================================================================*/
/* ============================================================================== */
/* Google Map 表示関連 */
/* Google Map（そのまま） */
.page-access .google-map_frame .google-map,
.google-map_frame100 .google-map {
  height: 660px;
  border: solid 1px var(--cg05);
  border-radius: 10px 10px 0 0;
  margin-bottom: 20px;
}

/* 住所＋ボタンの横並び */
.access-address {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 0 25px 20px;
  border-bottom: dashed 1px var(--cg06);
  margin-bottom: 30px;
}
.access-address h3 {
  font-size: clamp(0.90rem, 0.24vw + 0.81rem, 1.10rem);
  line-height: 1.4;
  padding: 0;
  margin: 0;
  flex: 1;
}
.access-address .button-center {
  padding: 0;
  margin: 0;
  flex-shrink: 0;
}
@media (max-width: 799px) {
  .access-address {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  .access-address .button-center { padding: 15px 0; }
}

/* ===== アクセスカード ===== */
/* デフォ：高さ揃えない（＝下段はこちらが効く） */
.access-root-wrap{
  display:flex;
  flex-wrap:wrap;
  gap:4%;
  width:90%;
  padding:0 0 50px 0;
  margin:0 auto;
  align-items:flex-start; /* ← デフォは揃えない */
}

/* 上段のみ高さ揃え */
.access-root-wrap.is-equalize{ align-items:stretch; }
.access-root-wrap .access-guide{ align-self:auto; }
.access-root-wrap.is-equalize .access-guide{ align-self:stretch; }

/* 見出し */
.access-root-wrap .access-root{
  flex:0 0 100%;
  align-self:auto;
}
.access-root-wrap .access-root h3 {
  text-align: center;
  line-height: 1.5;
}

/* 補助テキスト */
.access-root-wrap .access-root  h3 .railway{
  color: #1D2088;
  font-size: 1.25rem;
  font-weight: 600;
	line-height: 2rem;
}
.access-root-wrap .access-root  h3 .railway .railway-jr {
  color: #000000;
  font-size: 1.1em;
  font-weight: 700;
  letter-spacing: .2em;
}
.access-root-wrap .access-root  h3 .station,
.access-root-wrap .access-root  h3 .walk{
  font-size: 1.8rem;
  color: var(--2cc);
  font-weight: 600;
	line-height: 1.2;
}
.access-root-wrap .access-root  h3 .station{ font-size: 1.75rem; }
.access-root-wrap .access-root  h3 .walk .minutes{ font-size: 1.2em; }

/* カード本体（見た目共通） */
.access-root-wrap .access-guide {
  flex: 1 1 calc(50% - 2%);
  background-color: #fff;
  padding: 20px 20px 15px;
  border-radius: 5px;
  border: 1px solid var(--cg05);
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* フッター由来を打ち消し */
  height: auto;                /* フッター由来を打ち消し */
}
.access-root-wrap .access-guide h4{
  margin:0;
  color:#fff;
  font-size:1.4rem;
  line-height:1.2;
  text-align: center;
  background:#1D2088;
  padding:15px 20px 10px;
  border-radius:3px 3px 0 0;
}
.access-root-wrap .access-guide h4.jr-line { background:#000000; }
.access-root-wrap .access-guide .guide-photo {width:100%; margin:0 0 10px; border-radius: 0 0 3px 3px;}
.access-root-wrap .access-guide .guide-photo img{ width:100%; height:auto; display:block; border-radius: 0 0 3px 3px;}
.access-root-wrap .access-guide p{ font-size:.9rem; line-height:1.5; padding:0 5px; margin:0; }

/* SP：1列化＆右カードを先頭に（上段・下段ともDOM順共通ならそのまま効く） */
@media (max-width: 799px) {
  .access-root-wrap {
    gap: 20px;
  }
  .access-root-wrap .access-guide {
    flex: 1 1 100%;  /* 1列に */
  }
  .access-root-wrap .access-root { order: 0; }

  /* ★ 上の段（is-equalize）だけ「右を先に」する */
  .access-root-wrap.is-equalize .access-guide:nth-child(3) { order: 1; }
  .access-root-wrap.is-equalize .access-guide:nth-child(2) { order: 2; }
	
	.access-root-wrap .access-root h3 {
padding: 0;
}
	
	.access-address h3 {
text-align: center;
}
	
}

/* ===== スライダー ===== */
.guide-slider {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;   /* 通常は横長 */
  overflow: hidden;
}
.guide-slider.is-tanimachi {
	aspect-ratio: 3 / 4; /* 谷町筋は常に縦長 */
	border-radius: 3px;
}

.guide-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  margin-bottom: 10px; /* 下のテキストとの間隔 */
	border-radius: 3px;
}
.guide-slide.active { opacity: 1; }
.guide-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;     /* 余白なしで見せる */
  object-position: center;
  display: block;
	border-radius: 0 0 3px 3px;
}

/* 再生/停止ボタン（常時表示） */
.guide-control {
  display: inline-flex;
  position: absolute;
  right: 10px;
  bottom: 20px;
  z-index: 2;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  font-size: 18px;
  line-height: 1;
  border: 2px solid var(--cg04);
  border-radius: 999px;
  background: rgba(255,255,255,.60);
  backdrop-filter: blur(4px);
  cursor: pointer;
  user-select: none;
}
.guide-control:focus { outline: 2px solid #1D2088; }





/* お問い合わせページ ================================================================*/
/* ============================================================================== */

.page-contents .content-wrap {
width: 100%;
    height: auto;
    display: flex;
	flex-wrap: wrap;
    gap: 2%;
    padding: 0 4%;
    margin: 20px 0 60px;
	align-items: flex-start; /* 内容物に合わせて高さ縮める */
}
.page-inquiry .content-wrap .title-box {
flex: 0 0 25%;
    display: flex;
    flex-direction: column;
}
.page-inquiry .content-wrap .title-box .title-text {
	border-radius: 10px;
	background-color: var(--2cc);
	padding: 20px 10px 25px 25px;
	box-shadow: 0 3px 9px rgba(0, 0, 0, 0.1);
}
.page-inquiry .content-wrap .title-box .title-text h2 {
	color: #fff;
	font-size: clamp(1.2rem, 0.4vw + 1.2rem, 1.80rem);
	line-height: 1.5;
	font-weight: 600;
	letter-spacing: .1em;
}
.page-inquiry .content-wrap .title-box .title-illust {
	width: 100%;
	height: auto;
	padding: 20px;
}
.page-inquiry .content-wrap .title-box .title-illust img {
	width: 100%;
	height: auto;
}
.page-inquiry .content-wrap .body-box {
flex: 0 0 73%;
    background: #fff;
    border-radius: 10px;
    padding: 20px 35px;
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.1);
	margin: 0 0 0 0;
}
.page-inquiry .content-wrap .body-box h3 {
	color: var(--5cc);
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: 500;
	margin: 10px 0 15px;
}
.page-inquiry .content-wrap .body-box p {
	font-size: 1rem;
	line-height: 1.5;
	margin: 0 0 15px;
}

.page-inquiry .content-wrap .body-box ul {
    list-style: none;   /* デフォルトの黒丸を消す */
    padding: 0;
    margin: 0;
}

.page-inquiry .content-wrap .body-box ul li {
    position: relative;
    font-size: 1rem;
    line-height: 1.6;
    padding-left: 28px;   /* アイコン分の余白 */
    margin-bottom: 12px;  /* 行間を広めに */
}

.page-inquiry .content-wrap .body-box ul li::before {
    content: "\f05a"; /* Font Awesome の info-circle アイコン */
    font-family: "Font Awesome 6 Free"; /* Font Awesome 読み込み必須 */
    font-weight: 900; /* solid スタイル */
    position: absolute;
    left: 0;
    top: -0.15em;
    color: var(--2cc); /* 事務所カラー変数に合わせる */
    font-size: 1.2rem;
    line-height: 1.6;
}
.page-inquiry .content-wrap .body-box a:not(.btn-arrow) {
	color: var(--2cc);
}
.page-inquiry .content-wrap .body-box a:hover:not(.btn-arrow) {
	color: var(--2cch);
	text-decoration: underline;
}


/* =========================================
   799px 以下：レスポンシブ
   ========================================= */
@media (max-width: 799px) {

  /* ラッパー：縦積み＆余白最適化 */
  .page-contents .content-wrap {
    width: 100%;
    height: auto;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    gap: 14px;
    padding: 0 4%;
    margin: 16px 0 40px;
    align-items: stretch;
  }

  /* タイトルボックス：左右並びに変更 */
  .page-inquiry .content-wrap .title-box {
    flex: 0 0 auto;
    width: 100%;
    display: flex;
    flex-direction: row;       /* ← 横並び */
    align-items: center;       /* 縦中央 */
    gap: 20px;
  }

  /* タイトルテキスト */
  .page-inquiry .content-wrap .title-box .title-text {
    flex: 1;                   /* 可変幅 */
    border-radius: 10px;
    background-color: var(--2cc);
    padding: 14px 16px;
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.1);
  }
  .page-inquiry .content-wrap .title-box .title-text h2 {
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: .08em;
    margin: 0;
  }

  /* タイトルイラスト：右に固定幅で配置 */
  .page-inquiry .content-wrap .title-box .title-illust {
    flex: 0 0 120px;   /* 固定幅（好みで調整） */
    padding: 0;
  }
  .page-inquiry .content-wrap .title-box .title-illust img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* 本文ボックス：100%幅 */
  .page-inquiry .content-wrap .body-box {
    flex: 0 0 auto;
    width: 100%;
    background: #fff;
    border-radius: 10px;
    padding: 16px 18px;
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.1);
    margin: 0;
  }

  /* 見出し・本文サイズ */
  .page-inquiry .content-wrap .body-box h3 {
    color: var(--5cc);
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 500;
    margin: 8px 0 12px;
  }
  .page-inquiry .content-wrap .body-box p {
    font-size: 0.96rem;
    line-height: 1.6;
    margin: 0 0 14px;
  }

  /* 注意事項リスト */
  .page-inquiry .content-wrap .body-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .page-inquiry .content-wrap .body-box ul li {
    position: relative;
    font-size: 0.96rem;
    line-height: 1.7;
    padding-left: 26px;
    margin-bottom: 10px;
  }
  .page-inquiry .content-wrap .body-box ul li::before {
    content: "\f05a"; /* info-circle */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: -0.12em;
    color: var(--2cc);
    font-size: 1.05rem;
    line-height: 1;
  }
}

@media (max-width: 499px) {
	    .page-inquiry .content-wrap .body-box ul li::before {
        top: 0.2em;
        font-size: 1.2rem;
    }
}

/* 法律相談予約フォームページ ================================================================*/
/* ============================================================================== */

.inquiry-form .page_body {
    background-color: var(--cc3);
}


/* ===========================
   フォーム進行ステップ
   =========================== */
/* ===== PC：縦並び ===== */
.form-steps{
  --row-gap: 50px;           /* 行間（次ステップまでの距離） */
  --icon-size: 40px;         /* アイコンの見た目サイズ */
  --left-col: 50px;          /* 左カラムの幅（余白込み） */
  --line-thick: 3px;         /* 線の太さ */
  --muted: #BFC5CC;
  --sep:   #d5dde4;

  list-style:none; margin:0 0 20px 0; padding:0;
  display:flex; flex-direction:column;
}

.form-steps .step {
  position: relative;
  display: flex;
  align-items: center;   /* ← 上下中央に揃える */
  gap: 16px;
  color: var(--muted);
  font-size: 1.2rem;
  font-weight: 500;
  margin-bottom: var(--row-gap);
}
.form-steps .step:last-child{ margin-bottom:0; }

/* 左カラム（アイコン＋縦線のレール） */
.form-steps .step-left{
  position:relative;
  width: var(--left-col);
  flex: 0 0 var(--left-col);
  display:flex; justify-content:center;      /* アイコン中央配置 */
}
/* アイコン */
.form-steps .step-left i{
  font-size: var(--icon-size) !important;
  line-height: 1; color: currentColor;
}

/* 縦のコネクタ線：左カラム内で描画（必ず出る） */
.form-steps .step-left::after{
  content:"";
  position:absolute;
  left: 50%; transform: translateX(-50%);
  top: calc(var(--icon-size) + 10px);         /* アイコンの少し下から出す */
  width: var(--line-thick);
  height: calc(var(--row-gap) - 20px);        /* 線の長さ */
  background: var(--sep);
  z-index: 0;
}
.form-steps .step:last-child .step-left::after{ display:none; }

/* ラベル：幅が潰れて縦読み化しないよう最小幅確保 */
.form-steps .step-label{
  flex: 1 1 auto;
  min-width: 7em;                             /* ← ここが効いて縦に詰まらない */
  line-height: 1.2;
  word-break: keep-all;                       /* できるだけ単語内改行を避ける */
}

/* 状態色（必要に応じて） */
.form-steps .step.is-current{ color: var(--2cc); font-weight: 700; }
.form-steps .step.is-current-pass{ color: var(--2cc30); }
.form-steps .step.is-done   { color: var(--5cc); }

/* ===== 799px以下：横並び（コネクタを横線に） ===== */
@media (max-width: 799px){
  .form-steps{
    --row-gap: 0;
    display:flex; flex-direction:row; flex-wrap:wrap;
    align-items:center; justify-content:flex-start;
    gap: 20px;
    font-size: 1.05rem;
  }
  .form-steps .step{
    margin:0; gap:10px; align-items:center;
  }
  .form-steps .step-left{
    width:auto; flex:0 0 auto; position:relative; padding-right: 6px;
  }
  /* 横線：アイコン右側に出す */
  .form-steps .step-left::after{
    display: none !important; /* ← コネクタ（線）を消す */
  }
  .form-steps .step:last-child .step-left::after{ display:none; }
  .form-steps .step-label{ min-width: 0; }
}

/* ===== 499px 以下：アイコン上下レイアウト＋3つを1行に収める ===== */
@media (max-width: 499px){
  .form-steps{
    /* 横並び・折り返し禁止・全体を少し小さく */
    flex-direction: row;
    flex-wrap: nowrap;             /* ← 2段にならない */
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    --icon-size: 28px;             /* アイコン小さめ */
    font-size: .95rem;             /* 文字も少しだけ縮小 */
  }

  .form-steps .step{
    /* 3等分で必ず1行に収める */
    flex: 1 1 0;                   /* 伸縮OK */
    min-width: 0;                  /* 横膨張防止 */
    display: flex;
    flex-direction: column;        /* 縦積み（上：アイコン、下：文字） */
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    margin: 0;                     /* 既存余白をリセット */
  }

  .form-steps .step-left{
    width: auto;                   /* 固定幅を解除 */
    flex: 0 0 auto;
    padding: 0;
    position: relative;
  }
  .form-steps .step-left::after{   /* コネクタ線は非表示のまま */
    display: none !important;
  }

  .form-steps .step-label{
    min-width: 0;                  /* 折り返しOKに */
	  font-size: 1.05rem;
    text-align: center;
    line-height: 1.15;
    white-space: normal;           /* <br>は有効、不要なら削除可 */
  }
}


/* ===== フォームの内容 全体をカード風に ===== */
.inquiry-form table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 18px;
}
.inquiry-form table tbody tr {
  display: block;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
  margin-bottom: 18px;
}
.inquiry-form table tbody tr > th {
  display: block;
  width: 100%;
  padding: 20px 25px 0;
}
.inquiry-form table tbody tr > td {
  display: block;
  width: 100%;
  padding: 10px 30px 25px 35px;
	  font-size: 1.15rem;
  line-height: 1.5;
}

/* ===== th（項目名）を上に配置＋必須ラベル横に ===== */
.inquiry-form table tbody tr > th {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 10px;
  color: var(--5cc);
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1.6;
}
.form-asterisk,
.form-asterisk2 {
  display: inline-block;
  font-size: .75em;
  font-weight: 700;
  line-height: 1;
  padding: .4em .5em;
  border-radius: .3em;
}
.form-asterisk  { background: var(--5cc20); color: var(--5cc); }
.form-asterisk2 { background: var(--5cc10); color: var(--5cc50); }

/* ===== 入力欄（input / textarea / select） ===== */
.inquiry-form input[type="text"],
.inquiry-form input[type="email"],
.inquiry-form input[type="tel"],
.inquiry-form textarea,
.inquiry-form select {
  width: 100%;
  box-sizing: border-box;
  background: #f6f7f8;
  border: 2px solid #f0f2f4;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 1.25rem;
  line-height: 1.6;
  color: #333;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.inquiry-form textarea { min-height: 180px; resize: vertical; }
.inquiry-form input::placeholder,
.inquiry-form textarea::placeholder { color: #a8b2bd; }

.inquiry-form input:focus,
.inquiry-form textarea:focus,
.inquiry-form select:focus {
  background: #fff;
  border-color: var(--2cc,#ff6b9a);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--2cc,#ff6b9a) 18%, transparent);
}

/* TEL 3分割フィールド */
.inquiry-form .mwform-tel-field input[type="text"]{
  width: clamp(90px, 20%, 140px);
  text-align: center;
}

/* ===== チェックボックスを3列レイアウト ===== */
.inquiry-form td:has(.mwform-checkbox-field.horizontal-item) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding-top: 10px;
}
.inquiry-form .mwform-checkbox-field.horizontal-item {
  display: block;
  width: 100%;
  margin: 0;
}

/* □ とテキストを整列 */
.inquiry-form .mwform-checkbox-field.horizontal-item label{
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  column-gap: 10px;

  position: relative;
  background: #f6f7f8;
  border: 2px solid #eef1f4;
  border-radius: 10px;
  padding: 12px 14px;
  cursor: pointer;
  user-select: none;
  transition: border-color .2s, background-color .2s, box-shadow .2s;
}

/* inputは全面クリック可能に */
.inquiry-form .mwform-checkbox-field.horizontal-item input[type="checkbox"]{
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

/* □（枠） */
.inquiry-form .mwform-checkbox-field.horizontal-item label::before{
  content:"";
  grid-column: 1/2; grid-row: 1/2;
  justify-self: center; align-self: center;
  width: 20px; height: 20px;
  border-radius: 4px;
  background: #fff;
  border: 2px solid #cfd7df;
  box-sizing: border-box;
}

/* チェックマーク */
.inquiry-form .mwform-checkbox-field.horizontal-item label::after{
  content:"";
  grid-column: 1/2; grid-row: 1/2;
  justify-self: center; align-self: center;
  width: 6px; height: 12px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(45deg) scale(0);
  transition: transform .15s ease;
}

/* テキスト */
.inquiry-form .mwform-checkbox-field .mwform-checkbox-field-text{
  grid-column: 2/3; grid-row: 1/2;
  font-weight: 600; color: #333;
}

/* チェック時のスタイル */
.inquiry-form .mwform-checkbox-field.horizontal-item label:has(input[type="checkbox"]:checked){
  background: #fff;
  border-color: var(--2cc,#ff6b9a);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--2cc,#ff6b9a) 18%, transparent);
}
.inquiry-form .mwform-checkbox-field.horizontal-item label:has(input[type="checkbox"]:checked)::before{
  background: var(--2cc,#ff6b9a);
  border-color: var(--2cc,#ff6b9a);
}
.inquiry-form .mwform-checkbox-field.horizontal-item label:has(input[type="checkbox"]:checked)::after{
  transform: rotate(45deg) scale(1);
}
.inquiry-form .mwform-checkbox-field.horizontal-item label:has(input[type="checkbox"]:checked) .mwform-checkbox-field-text{
  color: var(--2cc,#ff6b9a);
}

/* :has() 非対応ブラウザ用のフォールバック */
@supports not(selector(:has(*))) {
  .inquiry-form .mwform-checkbox-field.horizontal-item {
    display: inline-block;
    width: calc(33.333% - 12px);
    margin: 0 12px 12px 0;
  }
  .inquiry-form .mwform-checkbox-field.horizontal-item input[type="checkbox"]:checked + .mwform-checkbox-field-text{
    color: var(--2cc,#ff6b9a);
  }
}

/* ===== 備考・注記 ===== */
.inquiry-form .form-note,
.inquiry-form .form-note2{
  color:var(--5cc);
  font-size:.95rem;
  line-height:1.5;
	padding: 0 0 5px 0;
}



/* ── 「法律相談ご希望日時」行だけ調整 ───────────────── */

/* 共通：日付と時間の入力を横並び用に */
.inquiry-form input.form_desired-date[name="第1希望日"],
.inquiry-form input.form_desired-date[name="第2希望日"],
.inquiry-form select[name="第1希望日時間"],
.inquiry-form select[name="第2希望日時間"] {
  display: inline-block;
  vertical-align: middle;
  margin: 6px 8px 12px 0;   /* 右に余白を付けて間隔をとる */
  box-sizing: border-box;
}

/* 日付は広め、時間は狭め */
.inquiry-form input.form_desired-date[name="第1希望日"],
.inquiry-form input.form_desired-date[name="第2希望日"] {
  width: clamp(180px, 40%, 280px);
  max-width: 100%;
}
.inquiry-form select[name="第1希望日時間"],
.inquiry-form select[name="第2希望日時間"] {
  width: clamp(120px, 30%, 180px);
  max-width: 100%;
}


.inquiry-form h4 {
    font-size: 1rem;
	text-align: center;
    padding: 5px 0 20px 0;
}

/* ===== 送信ボタン関連 ===== */
.form-btn {
	text-align: center;
	width: 100%;
	box-sizing: border-box;
	padding-top: 20px;
	padding-bottom: 50px;
}

/*　戻るボタン　*/
.form-btn-color1 input  {
	cursor: pointer;
	background-color: #A2A8A7;
	border: none;
	line-height: 1;
	font-weight: normal;
	color: #ffffff;
	border-radius: 5px;
    font-size: 1.4em;
	letter-spacing: .3em;
	margin-right: 20px;
	padding-top: 11px;
	padding-right: 15px;
	padding-bottom: 11px;
	padding-left: 20px;
}

/*　確認する・送信ボタン　*/
.form-btn-color2 input {
	cursor: pointer;
	background-color: #FFFFFF;
	padding: 15px 15px;
	border: 1px solid var(--2cc);
    width: 50%;
    font-size: 1.4em;
	line-height: 1;
	font-weight: normal;
	color:  var(--2cc);
	border-radius: 4px;
	letter-spacing: .2em;
	transition: 0.3s;
}
/*　ボタンオーバー　*/
.mw_wp_form_input .form-btn input:hover, .mw_wp_form_confirm .form-btn input:hover, #submitback input:hover {
	color: #FFFFFF;
	background-color: var(--2cc);
	border: 1px solid var(--2cc);
}

@media (max-width: 550px) {
/* ---------- 送信確認・送信する ---------- */
.form-btn-color2 input {
    padding: 11px 10px;
    width: 65%;
    font-size: 1.2em;
    line-height: 1.5em;
    letter-spacing: .1em;
}

/* ---------- 戻る ---------- */
.form-btn-color1 input {
    font-size: 1.2em;
    letter-spacing: .1em;
    margin-right: 15px;
    padding: 11px 10px;
}
}/* max-width: 550px */

/* ===== レスポンシブ：スマホは縦積みに ===== */
@media (max-width: 839px) {
  .inquiry-form input.form_desired-date[name="第1希望日"],
  .inquiry-form input.form_desired-date[name="第2希望日"],
  .inquiry-form select[name="第1希望日時間"],
  .inquiry-form select[name="第2希望日時間"] {
    display: block;
    width: 100%;
    margin: 8px 0 14px;
  }
}


/* ===== レスポンシブ ===== */
@media (max-width: 1024px){
  .inquiry-form table tbody tr > th,
  .inquiry-form table tbody tr > td {
    padding: 12px 16px;
  }
}
@media (max-width: 799px){
  .inquiry-form td:has(.mwform-checkbox-field.horizontal-item){
    grid-template-columns: 1fr; /* スマホは1列 */
  }
}
@media (max-width: 550px){
	.inquiry-form table tbody tr > th {
		padding-bottom: 5px;
	}
  .inquiry-form .mwform-tel-field{
    display: flex;
    align-items: center;   /* ハイフンも上下中央 */
    flex-wrap: nowrap;     /* 折り返さない */
    white-space: nowrap;   /* テキストノード（- とスペース）も改行しない */
    min-width: 0;
  }

  /* 既存の幅指定を打ち消し、3つを計算で等分して必ず収める */
  .inquiry-form .mwform-tel-field input[type="text"]{
    width: auto !important;                           /* clamp や width:100% を無効化 */
    flex: 1 1 calc((100% - 4ch) / 3);                 /* 2つのハイフン + 両側の空白 ≒ 4ch を差し引いて3分割 */
    min-width: 0;
    box-sizing: border-box;
    text-align: center;
  }
}





/* 投稿一覧 home.php ===========================================*/
/* ============================================================ */

:root{
  --info-radius: 16px;
  --info-shadow: 0 6px 24px rgba(0,0,0,0.12);
}

.page-home {
	background-color: var(--4cc);
}

.page-home .page_title-box .title_en {
    color: var(--4cc80);
	text-align: left;
}

.page-home .page_title .page_title-box h1 {
    color: #fff;
	    font-size: clamp(2.10rem, 0.97vw + 1.72rem, 2.90rem);
	font-weight: 700;
}

/* ===== 2カラムグリッドの土台 ===== */
.news-list__inner{
  position: relative;
  max-width: 1600px;
  padding: 20px 3% 60px 3%;
  margin: 0 auto;
  display: grid;
 grid-template-columns: minmax(180px, 1fr) auto; /* 左：見出し/カテゴリ、右：カード */
  gap: clamp(20px, 4vw, 40px);
  align-items: start;
  overflow: visible; /* 安全策：はみ出し切れ防止 */
}

/* 左カラム（補足） */
.news-list__aside {
	padding: 0 0 0 20px;
	min-width: 180px;
}
.news-list__title-lead {
  color: #fff;
  font-size: clamp(1.1rem, 3vw, 1.2rem);
  font-weight: 500;
  margin-bottom: 5px;
	text-align: left;
}
.news-list__title{
  color: #fff;
  font-size: clamp(1.6rem, 3vw, 2rem);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0.2em;
  margin: 0 0 20px 0;
}

/* 左カラムのカテゴリ一覧 */
.news-list__cats{
  padding: 0 0 clamp(20px, 3.90vw + 5.37px, 60px) 0;
  border-bottom: solid 1px var(--4cc50);
  margin: clamp(10px, 3vw, 20px) 0;
}
.news-list__catlist{
  list-style: none;
  margin: 0;
  padding: 0 0 0 10px;
  display: grid;
  grid-auto-rows: min-content;
  gap: 10px;
}
.news-list__catlist > li{
	position: relative;
	color: var(--cg08);
}
.news-list__catlist > li > a{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  text-decoration: none;
  font-size: clamp(1.2rem, 3vw, 1.4rem);
  padding: 6px 2px;
  border-bottom: 1px solid transparent;
  transition: opacity .2s ease, border-color .2s ease, transform .2s ease;
}
.news-list__catlist > li > a::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* solidは900 */
  content: "\f304"; /* fa-pen */
  display: inline-block;
  margin-right: 0px;
  font-size: 1em;
  transform: translateY(1px);
}
.news-list__catlist > li > a:hover{
  color: var(--cc50);
  border-color: var(--cc50);
  transform: translateX(5px);
}
.news-list__img {
	width: 100%;
	height: auto;
}
.news-list__img img {
	width: 100%;
	height: auto;
	max-width: 160px;
	padding: 15px 0 0 0;
	animation: sway5deg 1.5s ease-in-out infinite alternate;
}

/* ===== 右カラム：カードの親（grid item） ===== */
/* ★ 右親は通常は下の層に置く（左z=2より低い） */
.news-list__main{
  position: relative;
  z-index: 0;
  overflow: visible; /* はみ出し切れ防止 */
}

/* :has で「右親ごと」前面に上げる（ホバー/フォーカス時だけ） */
.news-list__main:has(.news-list__card:hover),
.news-list__main:has(.news-list__card:focus-visible) {
  z-index: 3; /* 左(=2)より上へ */
}

/* 右カラム：カード一覧 */
.news-list__list{
  position: relative; /* スタックは作るが z:auto のままに */
  z-index: auto;
  list-style: none;
	  padding: 0 0 50px 0;
  margin: 0;
  display: grid;
  gap: 25px;
}

/* ===== 投稿カード本体 ===== */
.news-list__card {
  position: relative; /* z-index を効かせる土台 */
  z-index: 0;         /* 通常は低い */
  display: grid;
  grid-template-columns: 260px 1fr; /* サムネ左 / テキスト右 */
  gap: clamp(16px, 2.4vw, 28px);
  padding: clamp(16px, 2.6vw, 24px);
  background: transparent;
  border: 2px solid var(--4cc50);
  border-radius: var(--info-radius);
  text-decoration: none;
  color: inherit;
  box-shadow: none;
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease, background-color .25s ease;
}

/* ホバー/フォーカス時：カード自身も一番手前に */
.news-list__card:hover,
.news-list__card:focus-visible{
  z-index: 999; /* 親がz:3に上がった上で、更に最前面へ */
  background: var(--4cch);
  border-color: #fff;
  box-shadow: var(--info-shadow);
  transform: translateY(-4px);
}
/* キーボードフォーカス可視化 */
.news-list__card:focus{
  outline: 5px solid #fff;
  outline-offset: 4px;
}

/* サムネイル枠 */
.news-list__thumb {
  height: 100%;             /* 親グリッド行の高さに合わせる */
  aspect-ratio: auto;       /* 固定比率は解除 */
  display: flex;            /* 中の画像を扱いやすく */
}
/* 中の画像 */
.news-list__thumb > img {
  width: 100%;
  height: 100%;
  object-fit: cover;        /* はみ出し防止 */
  transition: all 0.3s ease;
	border-radius: calc(var(--info-radius) / 2);
}
/* ホバー時のズーム */
.news-list_card:hover .news-list__thumb > img,
.news-list__card:focus-visible .news-list__thumb > img {
  transform: scale(1.1);
}

/* 投稿カード内テキスト */
.news-list__body {
  display: flex;
  flex-direction: column;
  justify-content: center;  /* 上下中央揃え */
  height: 100%;
  gap: 8px;
}

/* メタ（投稿日・カテゴリ） */
.news-list__meta{
  margin: 0;
  padding: 0;
  display: flex;
  align-items: baseline;
  gap: 15px;
  flex-wrap: wrap;
  letter-spacing: 0.2em;
}
/* カテゴリ */
.news-list__cats-inline .news-list__catname{
  color: #fff;
  display: inline-block;
  border: solid 1px var(--4cc50);
  padding: 3px 8px 2px 8px;
  border-radius: 4px;
  line-height: 1.6;
  font-size: 1.0rem;
}
/* 投稿日 */
.news-list__meta-date {
  color: #fff;
  font-size: 0.9rem;
  font-weight: 300;
	letter-spacing: .1em;
}

/* タイトル */
.news-list__heading{
  margin: 0;
  font-size: clamp(18px, 2.6vw, 22px);
  line-height: 1.5;
  font-weight: 600;
  color: #fff;
  letter-spacing: .05em;
  transition: all 0.3s ease;
}
.news-list__heading-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;   /* 2行で切る */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}
.news-list__excerpt {
  color: #fff;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.4em;
}
.news-list__card:hover .news-list__heading,
.news-list__card:focus-visible .news-list__heading {
  color: var(--ch3);
  text-shadow: var(--info-shadow);
}

/* ====== レスポンシブ ====== */
@media (max-width: 879px){
.news-list__inner{
	  gap: 10px;
    padding: 20px 3% 80px 3%;
}
.news-list__title {
    margin: 0;
}
.news-list__cats {
    border-bottom: solid 1px var(--4cc50);
	padding: 0 0 0 0;
	border-bottom: none;
    margin: 10px 0 0;
}
.news-list__aside{
    margin-bottom: 10px;
  }
.news-list__card{
    grid-template-columns: 220px 1fr;
  }
.news-list__aside > .button-right {
	text-align: center;
}
}

@media (max-width: 799px){
.news-list__inner{
	grid-template-columns: 1fr; /* 1カラムへ */
	margin-top: -10px;
}
  .news-list__aside {
    display: flex;          /* 横並びにする */
	  flex-direction: row-reverse;
    align-items: center;    /* 上下中央揃え */
    gap: 12px;              /* 画像とカテゴリの間隔 */
  }

  /* 左側：小さい画像 */
  .news-list__img {
    flex: 0 0 60px;         /* 固定幅で小さく */
    max-width: 60px;
  }
  .news-list__img img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* 右側：カテゴリ */
  .news-list__cats {
    flex: 1;                /* 残り幅いっぱい */
  }
}

@media (max-width: 699px){
.news-list__inner {
	margin-top: -20px;
}
.news-list {
    padding: 0 0 60px;
  }
.news-list__card{
    grid-template-columns: 1fr; /* サムネ→テキストの縦積み */
  }
.news-list__thumb{
    aspect-ratio: 16 / 9;
  }
.news-list__meta-row{
    display: flex;
    margin-right: 12px;
  }
.news-list__heading{
    font-size: 18px;
  }
}




/* ===============================
   ページネーション（共通デザイン）
   =============================== */
.pager {
  margin: 2rem 0;
  text-align: center;
}

.pager__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}

.pager__item {
  margin: 0;
  padding: 0;
}

/* リンク（aタグ） */
.pager__item a {
  display: inline-block;
  min-width: 2.5rem;
  height: 2.5rem;
  line-height: 2.5rem;
  padding: 0 0.75rem;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--cc50);
  border: 1px solid var(--cc50);
  border-radius: 4px;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.pager__item a:hover,
.pager__item a:focus-visible {
  background-color: var(--cch);
  border-color: var(--cch);
  color: #fff;
  outline: none;
}

/* 現在ページ */
.pager__item span.current {
  display: inline-block;
  min-width: 2.5rem;
  height: 2.5rem;
  line-height: 2.5rem;
  padding: 0 0.75rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  background-color: var(--cc);
  border: 1px solid var(--cc);
  border-radius: 4px;
}

/* 省略記号（…） */
.pager__item span.dots {
  display: inline-block;
  min-width: 2.5rem;
  height: 2.5rem;
  line-height: 2.5rem;
  font-size: 0.9rem;
  color: #888;
  border: 1px solid transparent;
}

/* レスポンシブ調整 */
@media (max-width: 480px) {
  .pager__item a,
  .pager__item span.current,
  .pager__item span.dots {
    min-width: 2rem;
    height: 2rem;
    line-height: 2rem;
    font-size: 0.85rem;
    padding: 0 0.5rem;
  }
}



/* 404.php ===========================================*/
/* ============================================================ */

.contents-404 {
	width: 100%;
	height: auto;
}
.contents-404 img {
	width: 100%;
	height: auto;
	border-radius: 5px;
}










/* ------------------- ページ共通 フレックス ------------------- */
.flex-frame_contents {
box-sizing: border-box;
width: 100%;
height: auto;
display: flex;
flex-wrap: wrap;
}
.ffc-box100 {
flex: 0 0 100%;
box-sizing: border-box;
transition: 0.3s ease;
}
.ffc-box70 {
flex: 0 0 70%;
box-sizing: border-box;
transition: 0.3s ease;
}
.ffc-box60 {
flex: 0 0 60%;
box-sizing: border-box;
transition: 0.3s ease;
}
.ffc-box50 {
flex: 0 0 50%;
box-sizing: border-box;
transition: 0.3s ease;
}
.ffc-box50k {
flex: 0 0 50%;
box-sizing: border-box;
transition: 0.3s ease;
}
.ffc-box40 {
flex: 0 0 40%;
box-sizing: border-box;
transition: 0.3s ease;
}
.ffc-box33 {
flex: 0 0 33.33%;
box-sizing: border-box;
transition: 0.3s ease;
}
.ffc-box33-1 {
flex: 0 0 33.33%;
box-sizing: border-box;
transition: 0.3s ease;
}
.ffc-box30 {
flex: 0 0 30%;
box-sizing: border-box;
transition: 0.3s ease;
}
.ffc-box25 {
flex: 0 0 25%;
box-sizing: border-box;
transition: 0.3s ease;
}

.ffc-box20 img, .ffc-box25 img, .ffc-box30 img, .ffc-box33 img, .ffc-box33-1 img,  .ffc-box40 img, .ffc-box50 img, .ffc-box60 img, .ffc-box70 img, .ffc-box80 img, .ffc-box100 img {
max-width: 100%;
height: auto;
object-fit: cover;
}

.ffc-layer0 {
position: relative;
}
.ffc-layer1 {
position: absolute;
width: auto;
height: 100%;
padding: 14% 30px 20px 30px;
margin-left: 70%;
background-color: rgba(0,0,0,0.6);
}
.ffc-layer1 h2 {
color: #FFFFFF;
font-size: var(--f1);
letter-spacing: .2em;
padding: 0 0 15px 0
}
.ffc-layer1 p {
color: #FFFFFF;
font-size: var(--f5);
padding: 0 0 5px 0
}
.ffc-layer1 h2 a,.ffc-layer1 p a {
color: #FFFFFF;
}
.ffc-layer1 h2 a:hover, .ffc-layer1 p a:hover {
color: #FEF6A2;
}
.ffc-layer1 .company-position {
font-size: var(--f4);
}
@media (max-width: 749px){
.ffc-layer1 {
padding-top: 6%;
margin-left: calc(100% - 240px);
}
.ffc-layer1 h2 {
font-size: var(--f2);
}
}
@media (max-width: 599px){
.ffc-layer1 {
position: relative;
height: 100%;
padding: 20px 30px 20px 30px;
margin-left: 0;
background-color: var(--cc70);
}
}

.ffcb-message {
}
.ffcb-message h2 {
color: var(--cc);
font-size: var(--f1);
text-align: center;
}
.ffcb-message h3 {
color: var(--cc);
font-size: var(--f4);
text-align: center;
}
.ffcb-message p {
font-size: var(--p1);
text-align: center;
}
.ffcb-photo {
height: auto;
margin-bottom: 30px;
}
.ffcb-photo img {
width: 100%;
height: 100%;
object-fit: cover;
}









/* ------------------- wordpress ブロックスタイル追加 ------------------- */
/* ------------------- 見出し------------------- */
/* headline01 見出し1 右側中央線*/
.content-body .is-style-headline01 {
color: var(--ct01);
font-weight: bold;
letter-spacing: .05em;
padding-top: 20px;
margin-left: -10px;

	display: flex;
	align-items: center;
}
.content-body .is-style-headline01:after {
	content: "";
	flex-grow: 1;
	height: 2px;
	display: block;

}
.content-body .is-style-headline01:after {
	margin-left: 0em;
	background: var(--ct01);
}

/* ------------------- テーブル ------------------- */
/* noborder1 枠なし1*/
.wp-block-table.is-style-noborder1 table {
margin-bottom: 1.5em;
}
.wp-block-table.is-style-noborder1 table td {
line-height: 1.5em;
  border: none;
  border-bottom: dashed 1px var(--cg03);
  padding: 1em 0.5em 0.3em 0.5em;
}
.wp-block-table.is-style-noborder1 table td:first-child {
/* 幅をテキストに合わせて最小にするため */
width: 0;
white-space: nowrap;
padding-right: 2em;
}
.wp-block-table.is-style-noborder1 table td:first-child::before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
color: var(--cc80);
content: "\f111";
padding-right: 5px;
}
.wp-block-table.is-style-noborder1 table td a:hover {
text-decoration: underline;
}

/* noborder2 枠なし2*/
.wp-block-table.is-style-noborder2 table {
margin-bottom: 1.5em;
}
.wp-block-table.is-style-noborder2 table {
}
.wp-block-table.is-style-noborder2 table td {
line-height: 1.5em;
  border: none;
  border-bottom: dotted 1px var(--cg05);
  padding: 1em 0.5em 0.3em 0.5em;
}
.wp-block-table.is-style-noborder2 table td:nth-child(2n+1) {
/* 幅をテキストに合わせて最小にするため */
width: 0;
white-space: nowrap;
padding-right: 2em;
}
@media (max-width: 499px) {
.wp-block-table.is-style-noborder2 table td:nth-child(2n+1) {
width: 8em;
white-space: normal;
padding-right: 1em;
}
}


/* ------------------------------------------------------------ */
/* ------------------------------------------------------------ */

/*

ポイント：論理的な画面サイズ

iPhone14 Pro Max (w)	430		×	932		iPhone12 Pro (l)		932		×	430
iPhone12 Pro (w)		390		×	844		iPhone12 Pro (l)		844		×	390
iPhoneX (w)				375		×	812		iPhoneX (l)				812		×	375
iPhone6-7-8 plus (w)	414		×	736		iPhone6-7-8 plus (l)	736		×	414
iPhone6-7-8 (w)			375		×	667		iPhone6-7-8 (l)			667		×	375
iPhone5 (w)				320		×	568		iPhone5 (l)				568		×	320

ipad pro 12.9 width		1024	×	1366	ipad pro 12.9 length	1366	×	1024
ipad pro 10.5  width	834		×	1112	ipad pro 10.5 length	1112	×	834		
ipad (w)				768		×	1024	ipad (l)				1024	×	768

*/

/* ---------- お問い合わせのテキストエリアサイズは、size="32" 程度 --------------- */

/* ------------------------------------------------------------ */
/* ------------------------------------------------------------ */