/*
Template: generic
Theme Name: generic-child
*/

/* ベース */


body {
  background-color: #fff;
  color: #000;
  font-family: "Noto Sans JP","Helvetica Neue", Arial,
  "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  letter-spacing: 1px;
}

a:hover {opacity: .6;}
h1 {
  background: url('../../uploads/2025/08/midashi-bg.png');
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  color: #fff;
  padding: 1em 0;
  text-align: center;
  margin: 0 !important;
  line-height: 160% !important;
  min-height: 240px;

  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.single-tt {
  border-bottom: 2px solid #22326e;
  font-size: 24px;
  font-weight: 600;
  padding-bottom: .8em;
  text-align: left;
  margin-top: 1em;
}

h2 {
  font-size: 2.6em;
  text-align: center;
  padding-bottom: 1em;
}

h2 strong {
  background: linear-gradient(transparent 70%, #fffc05 0%);
  color: #22326e;
  font-size: 46px;
  font-weight: 800;
  padding: 0 5px;
}

h2 strong span {
  font-size: 2em;
  font-weight: 800;
  font-style: italic;
  padding-right: 8px;
}

#results strong, #voice strong, #greeting strong,
#stafftt strong, #price strong, #faq strong, #service strong {background: none !important;}
#service strong {color: #fff;}

#stafftt {margin-top: 2em;}

.qna-layer h2 {font-weight: 800;}

h3 {
  font-size: 1.6em;
  padding: .6em 0;
}

.qna-layer h3 {
  border-bottom: 1px solid #22326e;
  padding-top: 0;
}

.qna-layer h3:before {
  content: 'Q.';
  color: #22326e;
  padding-right: 8px;
}

.point-box h3 {
  color: #22326e;
  font-size: 2.2em;
  padding: 1em 0 0 3.4em;
  height: 75px;
}

.step-box h3 {border-bottom: 1px solid #b39f60;}

.voice-box h3 {
  color: #22326e;
  font-size: 1.6em;
  font-weight: 600;
  text-align: center;
  line-height: 140%;
}

.support-container h3 {
  background: url('../../uploads/2025/09/x.png') no-repeat left 20px center;
  background-size: 60px;
  color: #22326e;
  font-size: 1.8em !important;
  font-weight: 800;
  line-height: 300%;
}

.indent {
  display: inline-block;
  padding-left: 1em;
}

.gray-txt {
  display: block;
  font-size: 1.6em !important;
}

.price-txt strong {
  color: #fff;
  display: inline-block;
  font-size: 1.4em;
  padding-top: 1em;
}

.m-txt {font-size: 1.4em !important;}

.gray-txt strong {
  font-size: 34px;
  font-weight: 600;
}

.numberbl-txt {
  display: block;
  padding-top: 1em;
}

.numberbl-txt strong {
  font-family: "Cinzel", serif;
  color: #1f3d74;
  font-size: 5em !important;
  font-weight: 600;
}

.gold-line {
  background: #fff;
  border: 1px solid #968859;
  text-align: center;
  padding: .5em 0;
}

.service-container h4 {
  border-bottom: 1px solid #22326e;
  color: #22326e;
  font-size: 1.4em;
  padding: 1em 0 .8em 0;
}

.service-container h4:before, .category-box ul li a:before {
  content: url('../../uploads/2025/08/plan-arrow.png');
  padding-right: 10px;
}

.aobalg-txt {margin-block-start: 1em;}

.aobalg-txt:before {
  content: "";
  display: block;
  width: 100%;
  height: 14px;
  background: url("../../uploads/2025/08/aobaline.png") no-repeat center;
  background-size: contain;
  margin: 0 auto;
}

.voice-container h3, .greeting-box h3 {
  color: #22326e;
  font-size: 1.8em;
  text-align: center;
}

.point-box h4 {
  background: url('../../uploads/2025/08/check.png'),
  linear-gradient(45deg,  rgba(179,159,96,1) 0%,rgba(213,192,124,1) 30%,rgba(179,159,96,1) 100%);
  background-repeat: no-repeat;
  background-position: left 15px center, center;
  color: #fff;
  font-size: 1.6em;
  padding: .5em 1em .5em 2.2em;
  font-weight: 500;
}

.point-box [id^="point0"] {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  min-height: 64px;
  line-height: 1.2;
  margin: 0;
  padding: 0;
}

.point-box [id^="point0"]::before {
  content: "";
  flex: 0 0 66px;
  width: 66px;
  height: 66px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  align-self: flex-end;
}

.point-box #point01::before { background-image: url('../../uploads/2025/08/point01.png');}
.point-box #point02::before { background-image: url('../../uploads/2025/08/point02.png'); }
.point-box #point03::before { background-image: url('../../uploads/2025/08/point03.png'); }
.point-box #point04::before { background-image: url('../../uploads/2025/08/point04.png'); }
.point-box #point05::before { background-image: url('../../uploads/2025/08/point05.png'); }

[id^="steptt"]{
  display: flex;
  align-items: flex-end;
  gap: 12px;
  line-height: 1.3;
  margin: 0;
}

[id^="steptt"]::before{
  content: "";
  display: inline-block;
  width: var(--step-w, 56px);
  height: var(--step-h, 56px);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex: 0 0 auto;
  background-color: transparent;
}

#steptt01::before{ background-image: url('../../uploads/2025/08/step01.jpg'); }
#steptt02::before{ background-image: url('../../uploads/2025/08/step02.jpg'); }
#steptt03::before{ background-image: url('../../uploads/2025/08/step03.jpg'); }

.single-post table td, .single-post table th { border:1px solid #767676;}
.entry-content ul, .widget-container ul, .comment-body ul { list-style:circle; text-indent:0;}
.entry-content ul li:before, .widget-container ul li:before, .comment-body ul li:before {content:none;}

#header {padding: 0 3% !important;}

:root {
  --container: 1180px;
  --g: 16px;
  --white:#fff;
  --ink:#111;
  --cta:#2e5d84;
}

/* =================
   Header（背景は疑似要素）
   ================= */
.header-layer {
  position: relative;
  z-index: 100;
  background: none;
  color: var(--white);
}

.page-id-2 {
  --header-bg: url('../../uploads/2025/08/h-bg.png');
}

#wrapper {
  background: var(--header-bg);
  background-repeat: no-repeat;
  background-position: top left;
}

.header-layer-inner {
  margin:0 auto;
  padding:10px var(--g);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--g);
}

.category-box ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style-type: none;
  padding: 0;
  max-width: 1180px;
  gap: 10px;
  margin: 2em auto;
}

.category-box ul li {
  align-items: center;
  display: flex;
}

.category-box ul li a {
  background: #fff;
  border: 1px solid #22326e;
  box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.1);
  color: #22326e;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  padding: .5em 1.5em;
}

.top-left img { display:block; height:60px; width:auto }

.top-right {
  display:flex; align-items:center; gap:16px;
  color:var(--ink);
  padding:10px 14px 10px 28px;
  clip-path: polygon(10% 0,100% 0,100% 100%,0 100%,0 35%);
}

.top-tel { display:inline-flex; align-items:center; text-decoration:none; }
.top-tel img { display:block; height:44px; width:auto;}

.top-contact {
  background-color:#2a3e55;
  background-image:
    url('../../uploads/2025/08/ctc-arrow.png'),
    linear-gradient(45deg, rgba(80,125,160,1) 0%, rgba(37,58,75,1) 100%);
  background-repeat:no-repeat, no-repeat;
  background-position:right 14px center, center;
  background-size:18px 18px, cover;

  color:#fff; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px;
  font-weight:700; letter-spacing:1px;
  padding:12px 3em 12px 2em; border-radius:9999px;
  transition:filter .2s ease, transform .05s ease;
}
.top-contact:hover{ filter:brightness(1.08) }
.top-contact:active{ transform:translateY(1px) }

.page-id-2 #content.full-width {
  margin: 0 auto;
  padding: 0;
  float: none;
  width: 100% !important;
}

#container {padding: 0 !important;}

.container-1180, .voice-ctn1180, .page-id-315 #content.full-width {
  max-width: var(--container);
  width: min(var(--container), 100%);
  margin: 0 auto;
  padding: 0 10%;
  box-sizing: border-box;
}

.page-id-321 #content.full-width,
.page-id-421 #content.full-width {
  max-width: var(--container);
  width: min(var(--container), 100%);
  margin: 0 auto;
  padding: 1em 0 4em 0;
  box-sizing: border-box;
}

.page-id-321 #container, .page-id-315 #container, .page-id-421 #container,
.single #container, .category  #container {background: #e9f4fb;}

.results-container .voice-box {
  padding-left: 2%;
  padding-right: 2%;
}

.qna-box {
  background: #fff;
  padding: 2em 3em;
}

.point-box {
  background: #fff;
  padding: 2em 5em 3em 5em;
}

.point-box, .greeting-box {position: relative;}

.zissekibg {
  background: url("../../uploads/2025/08/zissekibg.png") no-repeat center;
  background-size: cover;
  pointer-events: none;
}

.voice-marginbg {
  background: url("../../uploads/2025/08/zissekibtbg.png") no-repeat bottom center;
  background-size: contain;
  pointer-events: none;
}

.point-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;

  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  background-image: url('../../uploads/2025/08/sankaku.png');
  pointer-events: none;
  z-index: 1;
}

.greeting-box::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;

  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
  background-image: url('../../uploads/2025/08/sankaku-right.png');
  pointer-events: none;
  z-index: 1;
}

.voice-box, .greeting-box {border: 1px solid #22326e;}
.voice-box-inner01 {
  font-size: 1.25em;
}

.voice-box-inner01, .greeting-box-inner01 {
  background: #fff;
  padding: 2em 3em 4em 3em;
}

.voice-box-inner02 {padding: 2em 3em;}
.greeting-box-inner02 {padding: 4em 3em;}

.voice-box-inner01 p, .voice-box-inner02 p {line-height: 160% !important;}

.greeting-box-inner02 strong {
  background: #22326e;
  color: #fff;
  display: inline-block;
  font-weight: 400;
  padding: .2em 3em;
}

.voice-margin {
  padding-top: 24px;
  padding-bottom: 8em;
}

.name-txt {
  color: #968859;
  font-family: "Cinzel", serif;
  margin-top: 10px;
}

.b-txt, .a-txt {
  font-family: "Cinzel", serif;
  display: inline-block;
  padding: .4em .5em .2em .5em;
  font-style: italic; 
}

.b-txt {
  border: 1px solid #968859;
  color: #968859;
}

.a-txt {
  background: #968859;
  color: #fff;
}

.bnr-container, .service-container, .price-container,
.support-container, .step-container, .qna-layer,
.greeting-container, .results-container, .voice-container {
  position: relative;
  padding-top: clamp(56px, 10vw, 150px);
}

.support-container::before, .step-container::before,
.bnr-container::before, .price-container::before,
.results-container::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  width: 100vw;
  aspect-ratio: 1920 / 160;
  background: url('../../uploads/2025/08/deco01.png')
              center / 100% 100% no-repeat;
  pointer-events: none;
  z-index: 1;
}

.qna-layer::before, .service-container::before,
.greeting-container::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  width: 100vw;
  aspect-ratio: 1920 / 160;
  background: url('../../uploads/2025/08/deco02.png')
              center / 100% 100% no-repeat;
  pointer-events: none;
  z-index: 1;
}

.service-container .wp-block-list {
  background: #fff;
  display: block;
  margin: 0;
  overflow: hidden;
  padding: 1em 2em;
}

.service-container .wp-block-list li {
  float: left;
  width: 46%;
  list-style-image: url('../../uploads/2025/08/list-dot.png');
  margin: 10px 2%;
  font-size: 18px;
  font-weight: 600;
}

.plan-box {
  height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}

.plan-box strong {font-size: 1.2em !important;}

.step-container {
  background-image: url('../../uploads/2025/08/step-bg.jpg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}

.step-box {
  background: #fff;
  border: 1px solid #b39f60;
  padding: 2em;
}

/* =========
   Hero full-bleed（横幅いっぱい）
   ========= */

:root{
  --container: 1400px;
  --g: 16px;
  --hero-h: clamp(420px, 62vw, 680px);
}

#container {background: transparent;}

.g-hero {
  position: relative;
  isolation: isolate;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: calc(var(--hero-h) - 3em);
  overflow: hidden;
}

.g-hero__inner {  
  position: relative;
  z-index: 2;
  max-width: var(--container);
  margin-inline: auto;
  padding: clamp(40px, 6vw, 96px) var(--g) 0;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
}

.g-hero__inner .eyecatch-img {
  position: absolute;
  top: 0; bottom: 0;
  right: calc(50% - 50vw);
  left: auto;
  width: 100vw;
  height: 150%;
  object-fit: cover;
  object-position: 78% center;
  z-index: 0;
  pointer-events: none;
  transform: none;
}

.g-hero__inner .catchcopy {
  justify-self: start;
  width: min(620px, 92%); 
  height: auto;
  display: block;
  filter: drop-shadow(0 8px 20px rgba(0,0,0,.25));
  z-index: 2;
}

.page-id-2 .entry-title {display: none;}

.voice-container, .point-container, .step-container, 
.qna-layer, .service-container, .price-container,
.greeting-container, .support-container {padding: 8em 3%;}
.results-container {padding: 8em 3% 4em 3%;}
.bnr-container {padding: 8em 3% 4em 3%;}

.results-ttbox {
  background-image: 
    url('../../uploads/2025/08/results-left.png'),
    url('../../uploads/2025/08/results-right.png');
  background-position: left 3em center, right 3em center;
  background-repeat: no-repeat, no-repeat;
  text-align: center;
  padding: 1em;
}

.bnr01, .bnr02 {background: rgba(255, 255, 255, 0.9);}

.mailmaga {padding: 1.5em 3em;}
.mailmaga-btn a {
  background-image: url('../../uploads/2025/08/maga-arrow.png');
  background-position: right 20px center;
  background-repeat: no-repeat;
  padding: 0.667em 1.8em 0.667em 1em;
}

.contact-bnr {padding: 3em 4em;}

.contact-bnr-ima {
  font-size: 2.3em !important;
  font-weight: 800;
}

.contact-bnr-ima strong {
  background: linear-gradient(transparent 70%, #fffc05 0%);
  color: #22326e;
  padding: 0 5px;
}

.freesend {border-right: 1px solid #293874;}

.bnr-btn a strong {
  background-image:
    url('../../uploads/2025/08/bnr-arrow.png');
  background-repeat: no-repeat, no-repeat;
  background-position: right 14px center, center;
  background-size: 38px 38px, cover;
  color:#fff;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap: 8px;
  font-size: 1.6em;
  font-weight: 700;
  letter-spacing:1px;
  padding: .2em 3em .2em 1em;
  border-radius:9999px;
  transition:filter .2s ease, transform .05s ease;
}

.bnr-btn a:hover { filter:brightness(1.08) }
.bnr-btn a:active { transform:translateY(1px) }

.bnr-left{position: relative;}

.bnr-left::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(56px, 10vw, 110px);
  height: clamp(120px, 24vw, 200px);
  background: url('../../uploads/2025/08/dot-line.png')
              left center / contain no-repeat;
  pointer-events: none;
  z-index: 0;
}

.bnr-blog {
  background: #b79d47;
  color: #fff;
  text-align: center;
  padding: .5em;
  margin-top: 0;
}

.bnr-blog strong, .bnr-blog a {color: #fff !important;}

.bnr-time {
  background: #eceded;
  font-size: 15px;
}

#footer {
  background-image: linear-gradient(45deg, rgba(80,125,160,1) 0%, rgba(37,58,75,1) 100%);
  color: #fff;
  text-align: center;
  padding: 0 0 4em 0;
  line-height: 230%;
}

#footer a {
  color: #fff;
  display: block;
}

.a-pp {
  text-decoration: none;
}

.footer-logo {padding: 4em 0 2em 0;}

.footer-logo img {
  height: 60px;
}

.lp-nav {
  border-bottom: 1px solid #eee;
  display: block;
}

.lp-navlist {
  margin: 0 auto;
  padding: 10px 16px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px 20px;
  list-style: none;
}

.lp-navlist a {
  display: inline-block;
  padding: 8px 10px;
  border-radius: 6px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 400;
  transition: background .2s, color .2s;
}

.lp-navlist a:hover {
  background: #f5f7fa;
  color: #283d4e !important;
}

#copyright {
  color: #fff;
  font-size: 14px;
}

html {scroll-behavior: smooth;}

.aoba-txt {font-size: 15px !important;}
.aoba-txt span {
  text-decoration: underline;
  text-underline-offset: 4px;
}


.service-box {
  background: #fff;
  padding: 4em 3%;
  position: relative;
  margin-top: 6em;
}

.daiko-plan, .gold-txt strong {
  background: #b39f60;
  color: #fff;
  font-size: 1.2em !important;
  font-weight: 600;
  padding: .5em 1em;
}

.blue-txt strong {
  background: #273672;
  color: #fff;
  font-size: 1.2em !important;
  font-weight: 600;
  padding: .5em 1em;
}

.service-box h3.gold-txt, .service-box h3.blue-txt {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
}



/* ================================
   Price Tables 修正版
================================== */
:root{
  --ink:#243041;
  --line:#dfe5ec;
  --bg-white:#ffffff;
  --bg-gray:#f9fbfd;
  --badge:#c6a86a;
  --free:#0a9d7a;
  --off:#c0392b;
  --blue1:#2a5976;
  --blue2:#1e3f56;
}

/* 共通ラッパー */
.table-plan{
  background:var(--bg-white);
  border:1px solid var(--line);
  box-shadow:0 4px 14px rgba(0,0,0,.05);
  margin:24px 0;
  padding:0;
  overflow:hidden;
}

/* table 基本 */
.table-plan table{
  width:100%;
  border-collapse:collapse;
  font-size:17px;
  color:var(--ink);
  font-variant-numeric: tabular-nums;
  margin-top: 0;
}

.table-plan td {
  padding: 1.5em 1em;
  vertical-align: middle;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid var(--line);
  background: var(--bg-white);
  text-align: right;
}

.table-plan tr:nth-child(even) td {background:var(--bg-gray);}
.table-plan tr:last-child td{ border-bottom: none;}

/* ラベル系 */
.table-plan .point{
  display: inline-block;
  background: var(--badge);
  color: #fff;
  padding: 2px 8px;
  font-size: 11px;
  border-radius: 999px;
  margin-left: 6px;
}

.red-txt {color: #e60012 !important;}
.table-plan .total{
  font-weight: 800;
  font-size: 18px;
}

/* -------------------------
   左テーブル
------------------------- */
.table-plan-left, .table-plan-right {padding: 1em;}
.table-plan-left td:first-child {
  width:60%;
  text-align:left;
  font-weight:600;
  color:#344354;
  border-left: none;
  border-right: none;
}

.table-plan-left td:last-child {
  width: 40%;
  text-align: right;
  border-left: none;
  border-right: none;
}

.table-plan-left tr:first-child td {
  background: var(--bg-white);
  border: none;
  font-weight: 800;
  font-size: 18px !important;
  text-align: center !important;
  color: #2f3b4d;
}

/* -------------------------
   右テーブル
------------------------- */

.table-plan-right td:first-child {
  width: 60%;
  text-align: left;
  color: #344354;
  border-left: none !important;
  border-right: none !important;
}

.table-plan-right tr:first-child td {
  background: var(--bg-white);
  border: none !important;
  border-bottom: 1px solid #b39f60 !important;
  font-weight: 800;
  font-size: 18px !important;
  text-align: center !important;
  color: #2f3b4d;
}

.table-plan-right tr:last-child td {
  font-weight: 800;
  font-size: 18px;
  background:var(--bg-white);
}

.table-plan-right tr:last-child td:last-child {font-size:20px;}

.price-column {
  background: #f6f6f6;
  padding: 2em;
}

.price-column,
.price-column .wp-block-column,
.price-column .wp-block-table { overflow: visible; }

.table-plan-right {
  --heading-h: 38px;
  --heading-overlap: 14px;
  --navy-1:#3b5a77;
  --navy-2:#1e3248;

  position: relative;
  z-index: 0;
  background: linear-gradient(to bottom,  rgba(77,120,153,1) 0%,rgba(77,120,153,1) 40%,rgba(37,58,75,1) 100%);
  border: none;
  padding-top: 0 !important;
}

.table-plan-right table {
  width:100%;
  background:#fff;
  border-collapse: collapse;
  border: 1px solid #e1e6ed;
  position: relative;
  z-index: 1;
  margin-top: 0;
}

.table-plan-right td {
  background:#fff;
  padding: 1.5em 1em;
  border-bottom: 1px solid #e9edf3;
  text-align: right !important;
}
.table-plan-right tr:last-child td {border-bottom:none;}

.tb-contact th p, .tb-contact td p {margin: 0;}

.tb-contact th {
  background: #446a88;
  color: #fff;
  text-align: left;
  vertical-align: middle;
}

.tb-contact th strong {
  background: #b69c47;
  color: #fff;
  display: inline-block;
  font-size: 14px;
  float: right;
  padding: 0 10px;
  margin-left: 10px;
}

.tb-contact th, .tb-contact td {
  border: none;
  border-bottom: 5px solid #e9f4fb;
  padding: 1em;
}

.tb-contact td {background: #fff;}

.breadcrumb-area {
  font-size: 14px;
  overflow: hidden;
  margin: 0 auto;
  max-width: 1200px !important;
  padding: 1em 0;
}

.aioseo-breadcrumb a, .breadcrumb-layer .current-item,
.breadcrumb-layer .home, .breadcrumb-layer .category {
  color: #000;
  text-decoration: none;
}

select,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
textarea {
  background: #fff;
  border: 1px solid #cbcbcb;
  width: 100% !important;
  margin: 0 !important;
}

input[type="submit"] {
  background:linear-gradient(45deg, rgba(80,125,160,1) 0%, rgba(37,58,75,1) 100%);
  border-radius: 50px;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  padding: 1em 4em;

  font-size: 18px;
  font-family: "Noto Sans CJK JP",
  "Helvetica Neue",
  Arial,
  "Hiragino Kaku Gothic ProN",
  "Hiragino Sans",
  Meiryo,
  sans-serif;
  letter-spacing: .1em;
}

input[type="submit"]:hover {
  color: #fff !important;
  background-color: #5eb2bf !important;
}

.pd {padding: 0 2em;}
.pd p {margin-top: 0;}

#blog-container {
  display: block;
  overflow: hidden;
}

.blog-tt {margin: 0;}

.blog-tt a, #blog-container h2 a, .single h1.entry-title a {
  color: #22326e;
  display: block;
  font-size: 24px;
  text-decoration: none;
  text-align: left;
  padding: .2em 0;
}

.blog-layer {
  background: #fff;
  border: 1px solid #22326e;
  padding: 2em 4em 4em;
  overflow: hidden;
  max-width: 960px;
  margin: 4em auto;
}

.entry-summary {
  background: #fff;
  border: 1px solid #22326e;
  box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: flex-start;
  max-width: 1180px;
  margin: 2em auto;
  padding: 2em;
}

.entry-summary .wp-post-image {margin-bottom: 0;}

.thumbnail-wrapper {margin-right: 20px;}

.thumbnail-wrapper {
  width: 100%;
  max-width: 240px;
  height: auto;
  overflow: hidden;
  position: relative;
}

.thumbnail-wrapper img {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  top: 0;
  left: 0;
}

.description-wrapper {flex: 1;}

.pagenavi-layer {
  width: 100%;
  margin: 0 auto 2em 0;
  overflow: hidden;
  text-align: center;
}

.wp-pagenavi {
  padding: 2em 1em 1em 1em;
  width: 100%;
  overflow: hidden;
}

.wp-pagenavi a, .wp-pagenavi span {
  background: #fff;
  border: 1px solid #fff !important;
  color: #22326e;
  display: inline-block;
  padding: .4em .8em !important;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
  background: #22326e;
  border-radius: 5px;
  color: #fff;
}

.wp-pagenavi span.current {border: none;}

.align-c {text-align: center;}

.wpcf7-select {
 background-color: #fff;
 font-size: 16px;
 line-height: 2;
 border: 1px solid #808080 !important;
 margin-top: 0;
 font-weight: 500;
 width: 100%;
 max-width: 310px !important;
 padding: 1em !important;
}

#block-3, #block-10 {margin-bottom: 0;}
#block-3 ul, #block-10 ul {
  margin: 0 !important;
  margin-top: 1em;
}

#block-3 h3, #block-10 h3 {
  border-top: none;
  text-align: left;
}

#block-3 h3:before, #block-10 h3:before, .only-sp {display: none;}

.widget-container ul li {list-style-type: none;}
.mb-eyecatch {display: none !important;}

.reversebox {display: flex;}

/* 横並び用の親コンテナ */
.plan-compare {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

/* 共通の表スタイル */
.table-plan {
  flex: 1 1 45%;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  position: relative;
  overflow: visible;
}

.table-plan table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
}

.table-plan td {
  padding: 1em;
  border-bottom: 1px solid #eee;
  text-align: center;
  vertical-align: middle;
}

/* 色付け */
.table-plan .free {
  color: #0a9d7a;
  font-weight: bold;
}
.table-plan .red-txt {
  color: #c0392b;
  font-weight: bold;
}
.table-plan .total {
  font-weight: bold;
  background: #f5f5f5;
}
.table-plan .total.red-txt {
  color: #c0392b;
}

/* RECOMMEND バッジ（Xserver風 太帯） */
.is-recommend {
  position: relative;
}
.recommend-badge {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  background: #e67e22; /* オレンジ系 */
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .05em;
  padding: 10px 50px;
  border-radius: 4px;
  box-shadow: 0 3px 12px rgba(0,0,0,.15);
  z-index: 10;
  pointer-events: none;
}


@media (max-width: 1180px) {

  h2 {font-size: 1.6em;}

  h2 strong, .gray-txt strong, .contact-bnr-ima {font-size: 26px !important;}
  h2 strong span {font-size: 1.4em;}
  .qna-layer h2 {font-weight: 800;}

  h3, .point-box h3, .support-container h3, .voice-box h3, .price-txt strong,
  .gray-txt, .voice-container h3, .greeting-box h3, .bnr-btn a strong {font-size: 1.2em;}

  .numberbl-txt strong {font-size: 2.8em !important;}

  .service-container h4, .point-box h4 {font-size: 1.1em !important;}
  .m-txt {font-size: 16px !important;}
  #footer, #copyright {font-size: 13px;}

 .point-box h4 {
    background-size: 30px auto, cover;
    padding: .5em .5em .5em 3em;
  }

  .g-hero {min-height: calc(var(--hero-h) - 7em);}

  .page-id-315 .container-1180,
  .page-id-315 #content.full-width, .page-id-321 #content.full-width, .page-id-421 #content.full-width,
  .single #content.full-width, .category  #content.full-width,
  .single .container-1180, .category .container-1180 {padding: 0 2% 2em 2%;}
  .breadcrumb-layer {padding: 0 2%;}
  .mb-eyecatch {display: none !important;}


}   

@media (max-width: 960px){

  .page-id-2 h2 {
    padding-top: .6em;
    padding-bottom: .6em;
  }

  .point-box [id^="point0"] { gap: 10px; min-height: 52px; }
  .point-box [id^="point0"]::before {
    flex-basis: 40px; width: 40px; height: 40px;
  }

  .page-id-2 #content.full-width {
    position: unset !important;
    overflow: hidden;
  }

  .mb-eyecatch {display: none !important;}

}


@media (max-width: 740px){
  

  .page #content p, .single-post #content p {font-size: 16px;}
  .container-1180, .voice-ctn1180, .page-id-315 #content.full-width {padding: 0;}
  
  .top-left img {
    height: 50px;
  }

  .support-container h3 {
    background: url('../../uploads/2025/09/x.png') no-repeat left 20px center;
    background-size: 40px;
    color: #22326e;
    font-size: 1.3em !important;
    line-height: 240%;
  }

  .g-hero {display: none;}
  .mb-eyecatch {
    display: block !important;
    max-width: 100px;
  } 

  .gold-txt strong, .blue-txt strong,
  .service-box h3.gold-txt, .service-box h3.blue-txt {
    display: block;
    width: 100%;
  }

  .voice-container, .point-container, .step-container,
  .qna-layer, .service-container, .price-container, .results-container,
  .greeting-container, .support-container {padding: 3em 2% !important;}

  .mb-none {display: none;}
  .header-layer-inner {
    padding: 2em 0 1em 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: clamp(8px, 3vw, 16px);
  }

  .mb-logo {content: url('../../uploads/2025/09/logo-m.png');}
  .top-left {margin: 0 auto;}

  .top-right {
    flex-direction: column;
    align-items: center;
    gap: 12px;
    clip-path: none;
    padding: 12px;
  }

  .top-right .top-contact {
    display: inline-block;
    margin-inline: auto;
    width: auto;
    text-align: center;
  }

  .top-right .top-contact {
    display: block;
    width: 100%;
    text-align: center;
  }

  #wrapper {background: #fff;}

  .voice-box-inner01, .greeting-box-inner01,
  .voice-box-inner02, .greeting-box-inner02,
  .point-box, .bnr-container, .contact-bnr, .voice-marginbg {padding: 2em 2%;}

  .pd {padding: 0 2% 2em 2%;}

  .greeting-box-inner02 .has-text-align-center {text-align: left !important;}


  .voice-ctn1180 {padding: 0 2%;}
  .step-box {padding: .6em 2% 1.5em 2%;}
  .qna-box {padding: 1em 2%;}

  .point-box h3 {height: 45px;}
  .point-box::before, .greeting-box::after {
    width: 40px;
    height: 40px;
  }

  .table-plan-left, .table-plan-right, .price-column {
    background: none;
    padding: 0;
  }

  .service-container .wp-block-list {padding: 1em 0 1em 1.5em;}

  .service-container .wp-block-list li {
    width: 100%;
    margin: 6px 0;
    font-size: 16px;
    font-weight: 600;
  }

  .bnr-left::after, .only-pc {display: none;}
  .only-sp { display: block; }

  .bnr01 {text-align: center;}
  .bnr01 .wp-block-image img {max-width: 80% !important;}

  .mailmaga {padding: 1.5em 2%;}
  .freesend {border-right: none;}
  .lp-navlist {
    gap: 0;
    padding: 0;
  }

  .lp-navlist a {font-size: 14px;}
  .table-plan-right td, .table-plan-right td:first-child {
    text-align: center !important;
    width: 50%;
  }

  .tb-contact th, .tb-contact td {
    display: block;
    width: 100%;
  }

  .entry-summary {
    display: block !important;
    padding: 1em 1em 2em 1em;
  }

  .thumbnail-wrapper {
    width: 100%;
    max-width: 100% !important;
  }

  .more-btn {display: block;}
  .description-wrapper p, .date-layer {margin-top: .6em;}
  .blog-layer {padding: 2em 2%;}
  .lp-navlist a:hover {
    background: none;
    opacity: .6;
  }

  .results-ttbox {
    background-image: 
      url('../../uploads/2025/08/results-left.png'),
      url('../../uploads/2025/08/results-right.png');
    background-position: left center, right center;
  }

  .zissekibg {
    background: url("../../uploads/2025/08/zissekibg.png") no-repeat center;
    background-size: contain;
    pointer-events: none;
  }

  .graff {
    width: 80%;
    margin: 0 auto;
  }

  .table-plan table {margin: 0;}

  .reversebox {flex-direction: column-reverse;}



}