/*------ Common Style ------*/
body {margin: 0; padding: 0;}
body * {box-sizing: border-box;}
ul,li,div,p,section,label,h1,h2,h3,h4,h5,h6 {margin: 0; padding: 0;}
ul {list-style: none;}
img ( width: 100%; )
a { text-decoration: none; }
sup { font-size: 12px !important; }

.fwb {font-weight: bold !important;}
.t-indent01 {text-indent: -1em; margin-left: 1em;}
.t-indent01-75 {text-indent: -1.75em; margin-left: 1.75em;}
.taC {text-align: center;}
.taE {text-align: end !important;}
.colorR {color: red;}
.color_au {color: #eb5505 !important;}
.inner ul, .inner ul li {padding: 0;}
.inner ul li {list-style: none;}

.landing_main img {width: 100%;}
.landing_main .lpImage {margin: 15px;}

@media screen and (min-width: 768px) {
	.pc_aiC {display: flex; align-items: center;}
	.min768 {display: block;}
	.max768 {display: none !important;}
}
@media screen and (max-width: 768px) {
	.min768 {display: none !important;}
	.max768 {display: block;}
}


.pw10 {padding: 0 10px !important;}
.pw15 {padding: 0 15px !important;}
.pw20 {padding: 0 20px !important;}
.pw25 {padding: 0 25px !important;}
.pw30 {padding: 0 30px !important;}
.pw35 {padding: 0 35px !important;}
.pw40 {padding: 0 40px !important;}
.pw45 {padding: 0 45px !important;}
.pw50 {padding: 0 50px !important;}

.ph10 {padding: 10px 0 !important;}
.ph15 {padding: 15px 0 !important;}
.ph20 {padding: 20px 0 !important;}
.ph25 {padding: 25px 0 !important;}
.ph30 {padding: 30px 0 !important;}
.ph35 {padding: 35px 0 !important;}
.ph40 {padding: 40px 0 !important;}
.ph45 {padding: 45px 0 !important;}
.ph50 {padding: 50px 0 !important;}

/*------ Detail Style ------*/
.BG_fef7e9 {background: #FEF7E9 !important;}
.attention_small {font-size: 12px; font-weight: 400;}
.graph_th {background: #f7f7f7 !important;}
.emphasis_title {font-size: 36px; font-weight: 900; margin-bottom: 15px;}
.resize_image {width: 100%; margin: 0 auto;}
.border_button {
	position: relative;
	text-align: center;
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
	padding: 11px 30px 11px 20px;
	font-size: 18px;
	border: 1px solid #eb5505;
	border-radius: 25px;
	color: #eb5505;
	text-decoration: none !important;
}
.border_button:hover {transition: opacity 0.3s; opacity: 0.7; color: #eb5505;}
.border_button::before,
.border_button::after {
	content: "";
	position: absolute;
	right: 7px;
	width: 9px;
	height: 1px;
	background: #eb5505;
}
.border_button::before { top: 20px; transform: rotate(45deg); }
.border_button::after { top: 26.5px; transform: rotate(-45deg); }
@media screen and (max-width: 768px) {
	.emphasis_num {font-size: 24px !important;}
}
@media screen and (min-width: 768px) {
	.emphasis_num {font-size: 28px !important;}
	.emphasis_title {font-size: 46px;}
	.resize_image {width: 50%;}
}

.page_section { display: grid; justify-content: center; padding: 30px 0; }
.page_section_inner {padding: 0 30px; position: relative;}

.section_titile {text-align: center; line-height: 1.1;}

.section_titile_text {
	position: relative;
}
.title_text {font-size: 24px; font-weight: 600;}
.sparkling__before::before,
.sparkling__after::before {
    content: '';
    position: absolute;
    top: 40%;
    transform: translateY(-60%);
    width: 20px;
    height: 20px; /* 正方形に */
    background: radial-gradient(circle, #FAB414, #FAB414);
    clip-path: url(#sparkle-clip-path);
    -webkit-clip-path: url(#sparkle-clip-path);
}
.sparkling__before::after,
.sparkling__after::after {
    content: '';
    position: absolute;
    top: 60%;
    transform: translateY(-40%);
    width: 12px;
    height: 12px; /* 正方形に */
    background: radial-gradient(circle, #FAB414, #FAB414);
    clip-path: url(#sparkle-clip-path);
    -webkit-clip-path: url(#sparkle-clip-path);
}
.sparkling__before::before {
	left: -35px;
}
.sparkling__before::after {
	left: -15px;
}
.sparkling__after::before {
	right: -35px;
}
.sparkling__after::after {
	right: -15px;
}
.sparkling__before_95::before {
	left: -95px !important;
}
.sparkling__before_95::after {
	left: -75px !important;
}
@media screen and (min-width: 768px) {
	.title_text {font-size: 32px;}
	.sparkling__before::before,
	.sparkling__after::before { width: 24px; height: 24px; }
	.sparkling__before::after,
	.sparkling__after::after { width: 16px; height: 16px; }
	.sparkling__before::before { left: -50px; }
	.sparkling__before::after { left: -25px; }
	.sparkling__after::before { right: -50px; }
	.sparkling__after::after { right: -25px; }
	.sparkling__before_95::before { left: -50px !important; }
	.sparkling__before_95::after { left: -25px !important; }
}

.marker_line {
    /* 1. マーカーの色をグラデーションとして定義 */
    background-image: linear-gradient(transparent, transparent), linear-gradient(#FFF000, #FFF000);
    /* 2. マーカーが繰り返されないように設定 */
    background-repeat: no-repeat;
    /* 3. マーカーの位置を調整（1つ目の透明なグラデーションは全体、2つ目の黄色いマーカーは下部に） */
    background-position: 0 0, 0 85%;
    /* 4. マーカーのサイズを定義（1つ目はテキスト全体、2つ目の黄色いマーカーはテキスト幅の100%・太さ12px） */
    background-size: 100% 100%, 100% 8px;
}


/* タイトル（既にマーカーが完璧とのことなのでそのまま） */
.fancy-title{
  position: relative;
  margin: 0;
  padding: 6px 10px;
  font-weight: 800;
  font-size: 20px;
  color: #111;
  line-height: 1;
  white-space: nowrap;
	z-index: 10;
}

/* アンダーマーカー（変更不要ならそのまま） */
.fancy-title::after{
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 6px;
  width: calc(100% + 28px);
  height: 12px;            /* マーカーの太さ（必要なら数値を変更） */
  background: #e6e6e6;     /* マーカー色（そのままでOK） */
  border-radius: 999px;
  z-index: -1;
  box-shadow: 6px 6px 0 0 rgba(0,0,0,0.06); /* 右下のシャープ影 */
}

.sec_text {max-width: 980px; margin: 25px auto 15px;}
.title_sub {font-size: 18px;}

.modal_image ul {
	display: grid;
	padding: 10px;
}
.modal_image ul li {
	text-align: center;
	padding: 15px;
}
.modal_image li:nth-child(2) {
	border-top: 1px solid #E2E2E2;
}
@media screen and (min-width: 768px) {
	.modal_image ul { display: flex; }
	.modal_image li:nth-child(2) {
		border-left: 1px solid #E2E2E2;
		border-top: none;
	}
}

.image_text { margin-bottom: 15px; }
.image_text p, .image_text p span, .image_text p span s {
	font-size: 18px;
	font-weight: 600;
}
.modal_inner_ribbon {
	text-align: center;
	margin-top: 25px;
	padding-bottom: 10px;
}
.black_ribbon {
	padding: 7px 15px;
	background: #333;
	color: #fff;
}
@media screen and (min-width: 768px) {
	.black_ribbon { padding: 9px 95px; }
}
.modal_inner_title_emp { line-height: 1.1; margin-top: 20px; }
.modal_inner_title_emp p {
	text-align: center;
	font-size: 24px;
	font-weight: 900;
}
.modal_inner_title_emp p .light_emphasis { font-size: 28px; }
.inpact_font {font-size: 20px;}
.modal_inner_title_emp p b { font-size: 46px; }
.modal_inner_title_emp p .txt_emphasis { font-size: 32px; }
@media screen and (min-width: 768px) {
	.modal_inner_title_emp p { font-size: 28px; }
	.inpact_font { font-size: 24px; }
	.modal_inner_title_emp p .light_emphasis { font-size: 40px; }
	.modal_inner_title_emp p b { font-size: 66px; }
	.modal_inner_title_emp p .txt_emphasis { font-size: 44px; }
}

#page_section02 .image_container_01-1 {
	max-width: 75%;
	margin: 0 auto;
}
#page_section02 .image_container_01-2 {
	padding: 10px 20px;
}
#page_section02 .image_container_02-1 {
	max-width: 80%;
	margin: 0 auto;
}
.tab_container_innerStyle {
	padding: 15px;
}
.page_section02_deviceModal_inner,
.page_section02_simModal_inner {
	display: grid;
	padding: 15px;
}
.sub_text,
.page_section02_simModal_inner__left p {
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	margin: 15px 0;
}
.sub_text,
.page_section02_simModal_inner__left p:nth-child(1) {margin-top: 25px;}
.impact_text {
	font-size: 28px;
	font-weight: 900;
}
.link_tile {display: grid; margin-top: 35px;}
.link_tile_sp {display: grid; margin-top: 35px;}
.link_tile_pc {display: none;}

@media screen and (min-width: 768px) {
	.link_tile_pc {display: grid; margin-top: 35px;}
	.link_tile_sp {display: none;}
	.tab_container_innerStyle {padding: 15px 35px 35px;}
	#page_section02 .image_container_01-2{
		padding: 10px 50px;
	}
	.page_section02_deviceModal_inner {
		padding: 35px;
	}
	.page_section02_simModal_inner {
		display: inline-flex;
		padding: 35px;
	}
	.page_section02_simModal_inner__left {width: 65%; padding-right: 15px;}
	.page_section02_simModal_inner__right {width: 35%;}
	.page_section02_simModal_inner__left p {font-size: 18px;}
	.page_section02_simModal_inner__left p:nth-child(1) {margin-top: 25px;}
	.impact_text {font-size: 30px;}
}

/*---- Slider Style ----*/
.kt_slider_title {
    font-size: 3.2rem;
    width: 100%;
    margin: 25px 0;
    text-align: center;
    font-weight: bold;
}

.KT_slider {
  margin: 0 auto;
  width: 100%;
  max-width: 980px;
  box-sizing: border-box;
  font-family: sans-serif;
}

/* ビューポート：高さはアスペクト比で制御（高さは明示しない） */
.KT_slider__viewport {
  overflow: hidden;
  width: 100%;
  /* デフォルトはPC比率（980×400） */
  aspect-ratio: 980 / 400;
}

/* aspect-ratio 非対応ブラウザ用のフォールバック（padding-top） */
@supports not (aspect-ratio: 1 / 1) {
  .KT_slider__viewport {
    /* 高さ = 幅 * (400 / 980) = 幅 * 0.408163... -> padding-top (%) は 40.8163% */
    height: 0;
  }
  .KT_slider__viewport::before {
    content: "";
    display: block;
    padding-top: 40.8163265306%;
  }
  /* トラックを絶対配置してビューポートの高さに合わせる */
  .KT_slider__track {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .KT_slider__slide {
    height: 100%;
  }
}

/* トラック/スライド（共通） */
.KT_slider__track {
  display: flex;
  transition: transform 400ms ease;
  will-change: transform;
  height: 100%;
}
.KT_slider__slide {
  flex: 0 0 100%;
  min-width: 100%;
  box-sizing: border-box;
  height: 100%;
}
.KT_slider__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ナビボタン：ビューポートを基準に縦中央に配置 */
.KT_slider__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  border: none;
  background: rgba(0,0,0,0.5);
  color: #fff;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: start;
  justify-content: center;
  font-size: 3.5rem;
  line-height: 1;
}
.KT_slider__btn:disabled {
  opacity: 0.35;
  cursor: default;
}
.KT_slider__btn--prev { left: 12px; }
.KT_slider__btn--next { right: 12px; }

.KT_slider__btn span {
    position: relative;
}

.KT_slider__btn--prev span::before,
.KT_slider__btn--prev span::after,
.KT_slider__btn--next span::before,
.KT_slider__btn--next span::after {
    content: "";
    position: absolute;
    width: 2px;
    height: 13px;
    background: #fff;
    border-radius: 25px;
}

.KT_slider__btn--prev span::before {
    top: 10px;
    left: -1.5px;
    transform: rotate(35deg);
}
.KT_slider__btn--prev span::after {
    top: 19px;
    left: -1.5px;
    transform: rotate(-35deg);
}
.KT_slider__btn--next span::before {
    top: 10px;
    right: -1.5px;
    transform: rotate(-35deg);
}
.KT_slider__btn--next span::after {
    top: 19px;
    right: -1.5px;
    transform: rotate(35deg);
}

/* ドット：ビューポートの直下に表示（大きな隙間ができないように） */
.KT_slider__dots {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 12px; /* 画像直下に微弱な余白 */
  padding: 8px 0 0;
}
.KT_slider__dots button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ccc;
  border: none;
  cursor: pointer;
  padding: 0;
}
.KT_slider__dots button[aria-current="true"] {
  background: #eb5505;
}

/* ビューポートで横スクロールのデフォルト動作を抑制して縦スクロールは許可 */
.KT_slider__viewport {
  touch-action: pan-y; /* 横方向のブラウザ処理を防ぎ、指での横ドラッグを取得できるようにする */
}

/* 画像のネイティブドラッグを無効化し、画像自体はポインターを受け取らない */
.KT_slider__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;

  -webkit-user-drag: none; /* Safari/Chrome */
  user-drag: none;
  user-select: none;

  pointer-events: none; /* 画像上のマウス/タッチ操作は親(viewport)に届くようにする */
}

/* トラックはボタンより後ろにする（念のため） */
.KT_slider__track {
  z-index: 1;
}

/* ボタンは常に前面に表示して pointer-events を確保 */
.KT_slider__btn {
  z-index: 20; /* 十分大きい値 */
  pointer-events: auto;
}

/* ドラッグ中の見た目（任意） */
.KT_slider.dragging {
  cursor: grabbing;
  user-select: none;
  -webkit-user-drag: none;
}

/* レスポンシブ：スマホ用のアスペクト比に切替（640×860） */
@media (max-width: 767px) {
  .kt_slider_title { font-size: 2.4rem; }
    
  .KT_slider { max-width: 640px; }

  .KT_slider__viewport {
    aspect-ratio: 640 / 860;
  }
  @supports not (aspect-ratio: 1 / 1) {
    /* padding-top = (860 / 640) * 100% = 134.375% */
    .KT_slider__viewport::before {
      padding-top: 134.375%;
    }
  }
}


/*---- Index Style ----*/
.lp_index_section {margin: 50px 0; padding: 0 30px;}
.lp_index_section ul {
	display: grid;
	gap: 18px;
}
.lp_index_section ul li {
	position: relative;
	display: grid;
	align-items: center;
	width: 100%;
	height: 80px;
	line-height: 1.25;
	padding: 15px 25px 15px 40px;
	font-size: 20px;
	font-weight: 600;
	border: 2px solid #eb5505;
	border-radius: 10px;
	color: #333;
    cursor: pointer;
    box-shadow: 5px 5px 0 0 #eb5505;
    transition: transform .08s ease, box-shadow .12s ease;
    -webkit-tap-highlight-color: transparent;
}
.lp_index_section ul li::after {
	content: "↓";
	position: absolute;
    right: 25px;
	bottom: 25px;
    width: 20px;
    height: 20px;
    font-size: 14px;
    font-weight: 600;
    background: #eb5505;
    border-radius: 50%;
    color: #fff;
    display: grid;
    justify-content: center;
    align-items: center;
    line-height: 1;
}

@media screen and (min-width: 768px) {
	.lp_index_section ul { display: flex; }
	.lp_index_section ul li { padding: 15px 40px 15px 15px; font-size: 16px; }
	.lp_index_section ul li::after { right: 15px; }
}


/*---- Tab Style ----*/
.tab-component {
  position: relative;
  margin-bottom: 28px;
  max-width: 980px;
}
.tc-card {
  position: relative;
  border: 1px solid var(--border);
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  padding: 16px 10px 16px;
  box-sizing: border-box;
}
.tc-tablist {
  display: flex;
  gap: 15px;
  align-items: flex-end;
  justify-content: center;
}
.tc-tab {
  position: relative;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 43%;
  padding: 15px 0;
  border-radius: 10px 10px 0 0;
  border: 3px solid #666;
  border-bottom: none;
  background: none;
  font-size: var(--tab-font-size);
  color: #666;
  font-weight: 600;
  user-select: none;
  line-height: 1;
}
.tc-tab[aria-selected="true"] {
  background: #FCECE5;
  border-color: #eb5505;
  color: #eb5505;
  font-weight: 600;
}
.tc-tabpanel {
  display: none;
}
.tc-tabpanel.active {
	display: block;
	background: #fff;
	border: 3px solid #eb5505;
	border-radius: 10px;
}
.tc-tab[aria-selected="false"]::after {
	content: "";
	position: absolute;
	right: -3px;
	bottom: 0;
	left: -3px;
	height: 3px;
	background: #fff;
}
#page_section02 .tc-tab[aria-selected="false"]::after {background: #FEF7E9 !important;}
.tc-tab[aria-selected="true"]::after {
	content: "";
	position: absolute;
	right: 0px;
	bottom: -3px;
	left: 0px;
	height: 3px;
	background: #FCECE5;
}

.section03_u18_modaltop {
	padding: 25px 15px;
	background: #FCECE5;
	border-radius: 10px 10px 0 0;
}


.container-ribbon {
    width: 100%;
	max-width: 850px;
    height: 40px;
	margin: 0 auto;
    background: linear-gradient(to right, #f58022, #ffc06a 50%, #f58022);

    /* polygon()で切り込みの形を指定 */
    clip-path: polygon(0 0, 100% 0, 97% 50%, 100% 100%, 0 100%, 3% 50%);
    -webkit-clip-path: polygon(0 0, 100% 0, 97% 50%, 100% 100%, 0 100%, 3% 50%);
}
.container-ribbon-text {
	display: grid;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	text-shadow: 2px 2px 0px #F66300;
}
@media screen and (min-width: 768px) {
	.container-ribbon {
		height: 50px;
	}
	.container-ribbon-text { font-size: 28px; }
}

/*---- Graph Style ----*/
/* ベース（スコープ済み） */
.price-section {
  max-width: 980px;
  margin: 18px auto;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  color: #222;
}
@media screen and (min-width: 768px) {
	
}

/* セクションタイトル */
.section-title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 8px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-title .dot {
  color: #f47a41; /* オレンジ */
  font-size: 18px;
  line-height: 1;
}

/* テーブル全体 */
.pricing-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #e6e6e6;
  table-layout: fixed;
  background: #fff;
  font-size: 15px;
}
.pricing-table_02 {
  width: auto;
  max-width: 100%;
}

.pricing-table_02 th,
.pricing-table_02 td {
	height: 80px;
}
@media screen and (min-width: 768px) {
	.pricing-table_02 th, .pricing-table_02 td { height: 80px; }
}

/* ヘッダー */
.pricing-table thead tr:first-child th {
  border-bottom: 1px solid #e6e6e6;
  background: #fafafa;
  text-align: left;
  padding: 14px 16px;
  font-weight: 700;
  color: #333;
}

/* サブヘッダ行（プラン名） */
.pricing-table thead tr.subhead th.plan-name {
  padding: 16px;
  border-top: 0;
  border-bottom: 1px solid #eee;
  text-align: center;
  font-weight: 700;
  color: #333;
  vertical-align: middle;
}
.pricing-table .plan-note {
  display: block;
  font-weight: 500;
  font-size: 12px;
  margin-top: 4px;
}

/* 行ラベル（左列） */
.pricing-table th.row-label {
  text-align: left;
  padding: 18px 16px;
  vertical-align: middle;
  border-right: 1px solid #eee;
  background: #fff;
  font-weight: 700;
  color: #333;
}
.pricing-table_02 th.row-label {
  min-width: 33%;
}



/* ラベル内の補足（小さい説明） */
.pricing-table .label-note {
  margin-top: 8px;
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid #ddd;
  background: #fafafa;
  font-weight: 500;
  color: #666;
  font-size: 13px;
  border-radius: 2px;
}
.pricing-table .label-note.small { padding: 6px 8px; font-size: 13px; border: none; background: transparent; color: #666; }

/* 通常セル */
.pricing-table td.cell {
  width: 33%;
  min-width: 33%;
  padding: 5px 16px;
  border-left: 1px solid #eee;
  border-bottom: 1px solid #eee;
  vertical-align: middle;
  background: #fff;
  word-wrap: break-word;
}

/* 中央寄せセル */
.pricing-table td.center { text-align: center; }

/* 強調（価格） */
.pricing-table big {
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  color: #222;
}

/* accent（オレンジ系プラン名） */
.pricing-table td.accent .plan-header {
  color: #f47a41;
  font-weight: 800;
}
.pricing-table td .plan-header {
  font-weight: 800;
  color: #333;
}

/* totals */
.pricing-table td.total {
  text-align: center;
  font-weight: 800;
  font-size: 18px;
  color: #222;
}

/* 小さい注記（星） */
.pricing-table sup.star {
  color: red;
  font-size: 12px;
  margin-left: 4px;
}

/* 行の区切り等 */
.pricing-table tbody tr td,
.pricing-table tbody tr th {
  border-bottom: 1px solid #eee;
}

/* 最下行ボーダーの微調整 */
.pricing-table tbody tr.row-total td,
.pricing-table tbody tr.row-total th {
  border-bottom: 0;
}

/* 視覚補助（画面リーダ向け非表示） */
.visually-hidden {
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

.table_cell_flex {display: flex;}
.flex_cell {width: 50%;}
.flex_cell_02 {padding: 6px 8px 6px 16px !important;}
.cell_border_C {position: relative;}
.cell_border_C::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 1px;
	height: auto;
	background: #eee;
}
@media screen and (max-width: 768px) {
	.price-section_002 td, .price-section_002 td * {font-weight: bold; font-size: 14px !important; text-align: center;}
}
@media screen and (min-width: 768px) {
	.price-section_002 td, .price-section_002 td * {font-weight: bold; font-size: 18px !important; text-align: center;}
}

/* ------------------
   スマホ向け（添付画像に近づける調整）
   ------------------ */
@media (max-width: 600px) {
  .price-section { margin: 8px auto; padding: 0 8px; }

  .pricing-table {
    font-size: 13px;
    border: 1px solid #ddd;
    /* 固定レイアウト：左列は固定幅、右側2列を狭く並べる */
    table-layout: fixed;
  }

  /* 上段ヘッダー（左空セルと右の見出し）をコンパクトに */
  .pricing-table thead tr:first-child th {
    padding: 8px 10px;
    font-size: 13px;
    border-bottom: 1px solid #eaeaea;
    text-align: left;
  }

  /* サブヘッダー（プラン名）は小さく、中央揃え */
  .pricing-table thead tr.subhead th.plan-name {
    padding: 8px 6px;
    font-size: 12px;
    border-bottom: 1px solid #eaeaea;
    text-align: center;
  }
  .pricing-table .plan-note { display:block; font-size:11px; color:#666; }

  /* 左列（ラベル）を固定幅にして見た目を添付画像に近づける */
  .pricing-table th.row-label {
    min-width: 33%;
    padding: 10px 12px;
    font-size: 13px;
    border-right: 1px solid #eaeaea;
    vertical-align: middle;
    background: #fff;
  }

  .pricing-table td.cell {
    padding: 5px;
    border-left: 1px solid #eaeaea;
    border-bottom: 1px solid #eaeaea;
    font-size: 13px;
  }

  /* 価格等強調部分を少し小さくする */
  .pricing-table td.big,
  .pricing-table td.total {
    font-size: 14px;
    font-weight: 700;
  }

  /* ラベル内の補足を小さく */
  .pricing-table .label-note {
    margin-top: 6px;
    padding: 6px 8px;
    font-size: 12px;
  }

  /* 全体の罫線を強めにして、添付画像のようなコントラストに */
  .pricing-table,
  .pricing-table th,
  .pricing-table td {
    border-color: #e6e6e6;
  }

  /* 左右の列の割り当てを調整（2列が狭い場合は折り返し） */
  .pricing-table th.plan-name, .pricing-table td.cell {
    word-break: break-word;
    white-space: normal;
  }

  .flex_cell {width: 100%;}
  .cell_border_C::before {display: none;}
}



/*----- Accordion Style -----*/
  .accordion { width: 100%; }
  .accordion-item + .accordion-item { margin-top:8px; }

  .accordion-header { margin:0; }
  .accordion-header button {
    text-align: start; display: flex;
    background:none; border:none; cursor:pointer;
    font-size:14px; padding: 0; margin-top: 25px;
  }
  .accordion-panel {
    overflow:hidden; transition:max-height 220ms ease;
    max-height:0; background:#fff;
  }
  .panel-inner { padding:12px 0; }

  .chev { transition:transform 220ms ease; margin-left:12px; }
  .accordion-header button[aria-expanded="true"] .chev { transform:rotate(180deg); }







