/*
Theme Name:nano_tcd065-child
Theme URI:https://tcd-theme.com/tcd065
Description: "NANO" の自作子テーマです。
Author:Hitoe Akamine
Author URI:https://tcd-theme.com/
Template: nano_tcd065
Version:1.21
Text Domain:tcd-nano
*/

/* PC/SPでヘッダーの高さを固定 */
:root{
  --mv-h-pc: 520px;   /* 好みの高さに変更 */
  --mv-h-sp: 320px;
}
.p-header-slider,
.p-header-slider__item,
.p-header-slider__item-img,
.p-header-slider__item-img::before{
  height: var(--mv-h-pc) !important;
  min-height: var(--mv-h-pc) !important;
}
@media (max-width: 768px){
  .p-header-slider,
  .p-header-slider__item,
  .p-header-slider__item-img,
  .p-header-slider__item-img::before{
    height: var(--mv-h-sp) !important;
    min-height: var(--mv-h-sp) !important;
  }
}

/* コンテンツ02のボタンを非表示（p-btn / p-p-btn 両対応） */
.p-index-content02 .p-btn,
.p-index-content02 .p-btn a,
.p-index-content02 .p-p-btn,
.p-index-content02 .p-p-btn a {
  display: none !important;
}

/* --- コンテンツ01（PC）--- */
.p-index-content01 {
  padding: 92px 0 50px 0 !important;
}

/* 内側ラッパーに余白があるテーマ向け（必要な場合のみ） */
.p-index-content01 .l-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* --- スマホ（～767px）--- */
@media screen and (max-width: 767px) {
  .p-index-content01 {
    padding: 36px 20px 33px !important; /* 上 36 / 左右 20 / 下 33 */
  }
  /* l-inner 由来の上下余白を打ち消したい場合だけ有効化 */
  .p-index-content01 .l-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* 通常状態：下線なし */
.p-article04__title a{
  color: #000;
  text-decoration: none;
  transition: color .2s ease, text-decoration-color .2s ease;
  text-underline-offset: .16em;   /* 下線の余白（好みで調整） */
}

/* リンク自体にホバーしたとき */
.p-article04__title a:hover,
.p-article04__title a:focus{
  color: #4641a3 !important;
  text-decoration: underline;
  text-decoration-color: #4641a3;
}

/* 行全体（.p-article04__inner）にホバーしても同じ見た目にする */
.p-article04__inner:hover .p-article04__title a{
  color: #4641a3 !important;
  text-decoration: underline;
  text-decoration-color: #4641a3;
}

/* p-info の背景を #eee に固定 */
.p-info{
  background: #eee !important;         /* 画像/グラデをまとめて上書き */
}

/* --- コンテンツ05：レイアウト調整 --- */

/* ====== コンテンツ05：PCは4カラム固定／余白リセット／ロゴ見やすく ====== */
@media (min-width: 1024px){

  /* 並びの親（.p-index-content05 直下の .l-inner が親になっているため両方指定） */
  .p-index-content05,
  .p-index-content05 > .l-inner{
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 24px !important;
    align-items: center !important;
    justify-items: center !important;
  }

  /* 子カード：幅・マージン・パディング・float を完全リセット */
  .p-index-content05 .p-index-content05__item,
  .p-index-content05 .p-index-content05__item--1,
  .p-index-content05 .p-index-content05__item--2,
  .p-index-content05 .p-index-content05__item--3,
  .p-index-content05 .p-index-content05__item--4{
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;                     /* ← nth-child(n+3) の margin-top を殺す */
    padding: 0 !important;                    /* ← ピンクの左右余白を殺す */
    float: none !important;
    box-sizing: border-box;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 150px !important;             /* ボックスの高さは好みで */
  }

  /* a にも余白やサイズが入っていればリセット */
  .p-index-content05 .p-index-content05__item > a{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
  }

  /* ロゴ画像：高さで揃えて大きく（数値は好みで） */
  .p-index-content05 .p-index-content05__item img{
    height: 110px !important;                 /* 90〜130pxで調整 */
    width: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
    transform: none !important;
  }
}

/* タブレット=2列 / スマホ=1列（任意） */
@media (min-width:768px) and (max-width:1023px){
  .p-index-content05, .p-index-content05 > .l-inner{
    display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:16px !important;
  }
}
@media (max-width:767px){
  .p-index-content05, .p-index-content05 > .l-inner{ gap:12px !important; }
}



/* serviceセクション（三列ボックス）→ PC/タブレットは2カラムにする */
@media (min-width: 768px){
  /* 3枚目（右端）を非表示 */
  .p-index-content02 .p-three-box__item:nth-child(3){
    display: none !important;
  }

  /* 残り2枚を50%ずつに */
  .p-index-content02 .p-three-box{
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 30px; /* 余白は好みで調整 */
  }
  .p-index-content02 .p-three-box__item{
    flex: 0 0 calc(50% - 15px) !important;
    max-width: calc(50% - 15px) !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    box-sizing: border-box;
  }
}

/* スマホは1カラム（テーマ既定のままで良ければ不要） */
@media (max-width: 767px){
  .p-index-content02 .p-three-box__item{
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* スマホだけ、該当の1枚を消す */
@media (max-width: 767px){
  .p-index-content02 .p-three-box > li:nth-of-type(3){
    display: none !important;  /* ← 3を実際の位置に置き換え */
  }
}


/* ===== Tax Consultation Section ===== */
.p-consult{padding:72px 20px;}
.p-consult__head{text-align:center;margin-bottom:32px;}
.p-consult__title{
  font-family:"Times New Roman",Georgia,"Noto Serif JP",serif;
  font-size:46px; /* fallback */
  font-size:clamp(28px,4.2vw,42px);
  line-height:1.2;font-weight:700;
}

/* 見出しの下マージンをゼロに */
.p-consult__title{ margin-bottom: 14px; }

/* テーマ側が本文用に h2 に下マージンを付けている場合の保険 */
.p-entry__body .p-consult__title{ margin-bottom: 14px !important; }

@media (max-width: 767px) {
  .p-consult__title,
  .p-entry__body .p-consult__title {
    margin-bottom: 6px !important;
  }
}

/* PC表示時 */
.p-entry__body h2 {
  font-size: 46px !important;
  line-height: 1.8 !important;
}

/* スマホ表示時（767px以下） */
@media (max-width: 767px) {
  .p-entry__body h2 {
    font-size: 28px !important;
  }
}

/* PC表示時 */
.p-entry__body p {
  line-height: 1.8 !important;
}

.p-consult__subtitle{font-size:14px;color:#000000;}

/* list */
.p-consult__list{margin-top:24px;border:1px solid #e5e5e5;overflow:hidden;background:#fff;
  list-style:none;padding:0;margin-left:0;margin-right:0;}
.p-consult__item{
  display:grid;grid-template-columns:200px 1fr;align-items:center;column-gap:24px;
  padding:10px 20px;border-top:1px dotted #e5e5e5;
}
.p-consult__item:first-child{border-top:none;}
.p-consult__item:nth-child(even){background:#f7f7f7;}
.p-consult__label{font-weight:700;color:#000;white-space:nowrap;}
.p-consult__value{color:#000;}
.p-consult__note{margin-top:14px;font-size:13px;color:#666;}

/* SP */
@media (max-width:767px){
  .p-consult{padding:40px 16px 56px;}
  .p-consult__head{margin-bottom:20px;}
  .p-consult__item{grid-template-columns:1fr;row-gap:6px;padding:12px 14px;}
  .p-consult__label{font-size:14px;}
  .p-consult__value{font-size:15px;}
}

/* 「今月の税務相談」だけ UL の左余白を消す */
.p-entry__body .p-consult__list{
  margin-left: 0 !important;
  padding-left: 0;          /* 念のため */
  list-style: none;
}

/* サブ見出しの下マージンを 50px に */
.p-consult__subtitle{
  margin-bottom: 50px !important;
}

/* サブ見出しの下マージンを 50px に */
@media (max-width:767px){
.p-consult__subtitle{margin-bottom: 30px !important;}
}


/* 今月の税務相談セクションのパディングを完全に削除 */
.p-consult{ padding: 0 !important; }

/* タイトル（CONSULTATION）の上下余白をゼロに */
h2.p-consult__title{           /* h2自体の既定marginを消す */
  margin-top: 0 !important;
}

/* セクションの上下に入る余白も念のためカット */
.p-consult{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 今月の税務相談：2列テーブルだけ */
.p-consult__table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.p-consult__table{
  width:100%;
  min-width:560px;             /* SPは横スクロールで安全に */
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid #e8e8e8;    /* 外枠 */
  border-radius:2px;
}

.p-consult__table--simple th,
.p-consult__table--simple td{
  padding:18px 24px;
  font-size:16px;
  line-height:1.6;
  border:0;                    /* 行の境界は点線だけにする */
  text-align:left;
}

.p-consult__table--simple tr+tr th,
.p-consult__table--simple tr+tr td{
  border-top:1px dotted #f8f8f8; /* 行間の点線 */
}

.p-consult__table--simple th{
  font-weight:700;
  white-space:nowrap;
  width:220px;                 /* 左列の固定幅（PC） */
}

/* 余白の雰囲気を合わせたい場合は必要に応じて微調整 */
@media (max-width:767px){
  .p-consult__table{ min-width:520px; }
}

/* ===== Footer logos（.p-info の灰色帯に表示する）===== */
.p-info .footer-logos{
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: clamp(12px, 2vw, 14px);
  padding: 14px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* ← 両段とも中央揃えになる */
}

/* クリックしやすく・均等配置 */
.p-info .footer-logos a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;              /* 画像まわりの余白をなくす */
  padding: 6px 6px;            /* タップ余白 */
  border-radius: 6px;
  transition: transform .15s ease, filter .15s ease;
}

/* ホバー/フォーカス（控えめ） */
.p-info .footer-logos a:hover{ transform: translateY(-1px); filter: brightness(1.05); }
.p-info .footer-logos a:focus-visible{
  outline: 2px solid #1b73b5;  /* キーボード操作の視認性 */
  outline-offset: 2px;
}

/* ロゴ画像のサイズ（比率維持） */
.p-info .footer-logos img{
  height: clamp(36px, 6vw, 60px);  /* PC:～60px / モバイル:～36px 目安 */
  width: auto;
  max-width: 260px;                 /* 横長ロゴの暴れ防止 */
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
}

.home .p-info {
  padding: 30px 0;
}

/* スマホ：clampを無効にして大きめ固定 + gap解除 */
@media (max-width: 767px){
  .p-info .footer-logos {
    gap: 0 !important;   /* gapを強制的になしにする */
  }

  .p-info .footer-logos img {
    height: 100px;       /* 好みで調整 */
    max-width: 320px;
  }
}
@media (max-width: 767px){
.p-info__inner{
  padding:0px !important;
 }
}


@media (max-width: 480px){
  /* 2列風に並べたいときは最小幅を確保（任意） */
  /* .p-info .footer-logos a{ min-width: calc(50% - 12px); } */
}


body:not(.home) .p-info > * {
  display: none !important;
}

.btn.type01{
  width: 100%;
  max-width: 340px;
  padding: 15px 10px;
  display: inline-block;
  text-align: center;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #4641A3;
  border-bottom: 4px solid #312d80;
  border-radius: 5px;
  text-decoration: none;
  line-height: 1.4;
}

.btnArea{
  text-align: center;
}

.caution{
  color: red;
}

.zeimu_h3{
  border-left: solid 8px #4641A3;
  padding: 5px 0 5px 14px;
  font-size: 1.1em;
}

table.table01{
  width: 100%;
}

.p-entry__body table {
  width: 100% ;
}

.wpcf7-radio, .wpcf7-checkbox{
  display:flex;
}

.kensyu_site{
  border-left: solid 8px #4641A3;
  padding: 5px 0 5px 14px;
  font-size: 1.1em;
}

.post .news_headline1, .page .news_headline1{
  position: relative;
  margin: 80px 0 25px 0;
  padding: .5em;
  border-left: 8px solid #444;
  line-height: 1.2;
  font-size: 1.2em !important;
}

/* headline */
.post h1, .post h2, .post h3, .post h4, .post h5, .post h6 { clear:both; line-height:1.2; font-weight:600; margin:0 0 24px 0; }
.post h1 { font-size:150%; }
.post h2 { font-size:140%; }
.post h3 { font-size:130%; }
.post h4 { font-size:120%; }
.post h5 { font-size:110%; }
.post h6 { font-size:100%; }

.side_widget a { text-decoration: none; }
.side_widget a:hover { text-decoration: underline; }
.side_widget img { height:auto; width:100%; }
.side_headline{
	background-image: url(images/headline_bg.jpg);
	background-repeat: repeat-x;
	background-position: left bottom;
	border: solid 1px #ccc;
	border-left: solid 5px #ccc;
	height: 43px;
	line-height: 43px;
	font-size: 14px;
	font-weight: bold;
	padding: 0 15px;
	margin: 0 auto 15px;
}

/*************************************************************
【見出し】
*************************************************************/
.news_headline1{
	margin:40px 0 25px 0 !important; 
	border:1px solid #999;
	border-left:8px solid #4641A3; 
	line-height:30px !important; 
	font-size:1.2em; 
	padding:10px 0 10px 14px !important;
	box-shadow:0px 2px 3px rgba(0, 0, 0, 0.33);
}

.news_headline2{margin:40px 0 20px 0 !important; border-left:6px solid #666; line-height:26px !important; font-size:1.1em; padding:0 0 0 12px !important;}

.headline1{
  border-left:solid 5px #4641A3;
}

.headline1{
  margin: 0;
  padding: 0 0 0 20px;
  height: 43px;
  line-height: 43px;
  border: 1px solid #ccc;
  font-size: 14px;
  background: url(images/headline_bg.jpg) repeat-x left bottom;
}

.headline1 h2{
  font-size: 25px !important;
  font-weight: bold;
  color: #000;
  display: inline-block;
  float: left;
  width: 604px;
  margin: 0;
}

/* 同好会ページだけ h2 を 1.2em にする */
body.page-id-226 .p-entry__body h2 {
  font-size: 1.2em !important;
  line-height: 1.4 !important; /* 好みで */
}

/* スマホ用の強制上書き（必要なら） */
@media (max-width: 767px) {
  body.page-id-226 .p-entry__body h2 {
    font-size: 1.2em !important;
  }
}



.p-entry__body ul {
  list-style: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important; /* インデント防止 */
}

.doukoukai_h3{
  padding: 5px 0 5px 14px;
  border-left: 8px solid #444;
  background-color: #eee;
  font-size: 1.1em;
  font-weight: normal;
}

.p-entry__body h3.kanren-dantai_h3{
  font-size: 1.1em;
  font-weight: normal;
  position: relative;
  padding-left: 1.3em;
}

.kanren-dantai_h3::after{
	position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    content: '';
    width: 1em;
    height: 1em;
    background-color: #444;
}


/* 会員TOP：お知らせ（一般TOP風） */
.m-membernews { max-width: 1100px; margin: 0px 0px 60px 0px auto 40px;}
.m-membernews__head { text-align: center; margin-bottom: 24px; }
.m-membernews .m-membernews__title { font-family: var(--tcd-font-type2); font-size: 40px; line-height: 1!important; margin: 0 0 8px; }
.m-membernews__sub { font-family: var(--tcd-font-type1); color: #555; margin: 0; }

.m-membernews__list { list-style: none; margin: 0; padding: 0; border: 1px solid #e6e6e6; }
.m-membernews__item + .m-membernews__item { border-top: 1px solid #e6e6e6; }
.m-membernews__link {
  display: flex; gap: 24px; align-items: center;
  padding: 18px 20px; text-decoration: none; background: #f7f7f7;
}
/* .m-membernews__item:nth-child(even) .m-membernews__link { background: #fff; } */
.m-membernews__date { width: auto; color: #333; }
.m-membernews__tt { color: #111; flex: 1 1 auto; }
.m-membernews__link:hover .m-membernews__tt { text-decoration: underline; color: #4641a3;}

.m-membernews__more { text-align: center; margin: 26px 0 0; }
.m-membernews .m-membernews__btn { display: inline-block; padding: 16px 40px; background: #3f3fb3; color: #fff; text-decoration: none; min-width: 240px;}
.m-membernews .m-membernews__btn:hover { background-color: #56b9cb; }
.m-membernews__btn a { color: #ffffff; }

@media (max-width: 767px){
  .m-membernews { margin: 40px auto 24px; }
  .m-membernews__title { font-size: 28px; }
  .m-membernews__link { padding: 14px 14px; gap: 14px; }
  .m-membernews__date { width: 70px; flex-basis: 70px; font-size: 14px; }
}


/* ===========================
   会員エリア：ヘッダーデザイン（上書き用フルセット）
   =========================== */

/* ヘッダー配色（通常/固定後ともにパープル） */
.is-memberonly-area .l-header,
.is-memberonly-area .l-header--fixed.is-active{
  background:#4641A3;
}

/* バッジの基準位置を作る（先頭に置く .l-header__inner を絶対配置の基準に） */
.is-memberonly-area #js-header .l-header__inner,
.is-memberonly-area #js-header .l-inner{
  position: relative;
}

/* “会員専用ページ”バッジ */
.is-memberonly-area #memberonly-badge{
  position:absolute;
  top:0px; left:0px;
  z-index:60;
  padding:8px 14px;
  margin: 0 0 8px 0;
  background:#fff;
  color:#4641A3;
  font-weight:700;
  font-size:12px;
  letter-spacing:.08em;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 2px 6px rgba(0,0,0,.08);
  pointer-events:none; /* クリック妨害しない */
}

/* ロゴ/ボタンなど白基調に */
.is-memberonly-area .p-menu-btn{ color:#fff; }
.is-memberonly-area .l-header__search{ color:#fff; }

.is-memberonly-area .l-header__logo img {
	height: auto !important;
}

/* モバイル微調整 */
@media (max-width: 960px){
  .is-memberonly-area #memberonly-badge{
	  display: none;
  }
}

/* calendar */
#wp-calendar { margin:0 auto; width:100%; font-size:11px; border-collapse:separate; table-layout:fixed; }
#wp-calendar th, #wp-calendar td { color:#333; padding:0; line-height:240%; text-align:center; }
#wp-calendar td a { display:block; margin:0; padding:0; text-decoration:none; color:#333; background-color:#eee; -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; }
#wp-calendar td a:hover { text-decoration:none; color:#fff; background:#ccc; }
#wp-calendar caption { padding:7px 0; }
#wp-calendar thead th, #wp-calendar tfoot td { border:none; padding:0; line-height:200%; }
#wp-calendar #prev, #wp-calendar #next { line-height:200%; }
#wp-calendar #prev a, #wp-calendar #next a { text-decoration:none; background:none; color:#333; }
#wp-calendar #prev a:hover, #wp-calendar #next a:hover { -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; color:#fff; background:#ccc; }
#wp-calendar td#today { font-weight:bold; }

/* PC時はSP用を非表示 */
.calendar_sp {
  display: none;
}

/* 画面幅960px以下（SP）ではSP用を表示、PC用を非表示 */
@media (max-width: 960px) {
  .calendar_pc {
    display: none;
  }
  .calendar_sp {
    display: block;
  }
}

/* スマホ用：カレンダーiframeを幅いっぱいに収める */
.calendar_sp iframe {
  width: 100% !important;
  max-width: 100%;
  height: auto; /* 必要なら高さも調整 */
  border: none;
  display: block;
}

/* ラッパーでアスペクト比を維持する方法 */
.calendar_sp {
  position: relative;
  width: 100%;
  padding-top: 120%; /* 高さ比率を調整（カレンダーの見た目に合わせて90〜130%くらい） */
  overflow: hidden;
}

.calendar_sp iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: none;
}

  
.l-contents--grid-rev .l-contents__inner .l-secondary{
	grid-area: unset;
}

@media screen and (max-width: 640px) {
table.table01 thead {
	display:none;
}
table.table01 tbody th {
	display:block;
}
table.table01 tbody td {
	display:block;
}
table.table01 tbody td::before {
	content: attr(label);
	float: left;
	clear:both;
	font-weight:bold;
	margin: 20px 0;
}
table.table01 tbody td p {
	padding-left:6em;
}
}

tbody {
    display: table-row-group;
    vertical-align: middle;
    unicode-bidi: isolate;
    border-color: inherit;
}

@media screen and (max-width: 640px) {
.widget_text .textwidget p {
  margin-bottom:0px;
}
}


/* 税務相談 */
/* tabel */
table.table01 {
	width:100%;

	border-collapse: collapse;
}
table.table01 thead th {
	background:#eee;
	padding:10px 15px;
	border:#ccc solid 1px;
}
table.table01 thead th:last-child {
	border-right:#ccc solid 1px;
}
table.table01 tbody th {
	background:#eee;
	padding:10px 15px;
	border:solid 1px #ccc;
	vertical-align:middle;
}
table.table01 tbody tr:last-child th {
	border-bottom:#ccc solid 1px;
	border-left:#ccc solid 1px;
}
table.table01 tbody td {
	background:#FFF;
	padding:10px 15px;
	border-left:#ccc solid 1px;
	border-bottom:#ccc solid 1px;
	border-right:#ccc solid 1px;
	vertical-align:middle;
}

@media screen and (max-width: 640px) {
    .kashidshi-fuzoku {
        width: 100% !important;
    }
}

.p-entry__body .s_table {
  white-space: normal !important; /* 折り返し有効化 */
}


.p-breadcrumb {
  display: none !important;
}

