/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 22 2025 | 18:38:37 */
/* Access */
.c-access hr {
	margin: 20px 0;
}
.c-access p {
	font-size: calc(16rem / 16);
}
@media (max-width: 959px) {
	.c-access p {
		font-size: calc(16rem / 13.5);
		font-weight: normal;
	}
	.c-access iframe {
		height: 280px;
	}
}

/* Price */
.c-price .midashi {
	margin-bottom: 6em;
}
@media (max-width: 959px) {
	.c-price .midashi {
		margin-bottom: 0;
	}
}
.c-price th,
.c-price td {
	font-size: calc(16rem / 16);
	padding: 5px;
}
.c-price thead th {
	background-color: #FFF4C3;
	color: #333;
	font-weight: normal;
}
.c-price .has-fixed-layout tr:nth-of-type(even) td { 
	background-color: #F9FAFB;
}
.c-price .has-fixed-layout tr:nth-of-type(1) td:first-of-type,
.c-price .has-fixed-layout tr:nth-of-type(2) td:first-of-type,
.c-price .has-fixed-layout tr:nth-of-type(3) td:first-of-type,
.c-price .has-fixed-layout tr:nth-of-type(4) td:first-of-type,
.c-price .has-fixed-layout tr:nth-of-type(5) td:first-of-type { 
	background-color: #FDD835;
}
.c-price .has-fixed-layout tr:nth-of-type(6) td:first-of-type,
.c-price .has-fixed-layout tr:nth-of-type(7) td:first-of-type,
.c-price .has-fixed-layout tr:nth-of-type(8) td:first-of-type { 
	background-color: #AFC2FF;
}
.c-price .has-fixed-layout tr:nth-of-type(9) td:first-of-type,
.c-price .has-fixed-layout tr:nth-of-type(10) td:first-of-type { 
	background-color: #FFB9C8;
}
/* 固定ヘッダー用の最上位レイヤー */
#gi-fixed-table-head{
  position: fixed;
  left: 0;
  top: 0; /* 実際の表示位置はJSで制御 */
  z-index: 9999; /* SWELLのヘッダーやモーダルより前に */
  pointer-events: none; /* クリックは下のテーブルへ通す */
}
/* テーブルごとの固定ボックス */
#gi-fixed-table-head .gi-fixed-box{
	position: fixed;
	left: 0;
	top: 0;
	background: #fff;
	border-bottom: 1px solid rgba(0,0,0,.06);
	box-shadow: 0 2px 4px rgba(0,0,0,.04);
	overflow: hidden;  /* 横スクロールは下のfigure側で */
	pointer-events: none;
}
/* クローンtheadの見た目 */
#gi-fixed-table-head .gi-fixed-box thead th{
	background:#FFF4C3;
	border: 1px solid #ccc;
	line-height: 1.4;
}
/* PCでは無効化（JS側もモバイル限定だが念のため） */
@media (min-width: 960px){
	#gi-fixed-table-head{ 
		display:none; 
	}
}
/* モバイルだけ有効　横スクロールしたときの、一番左の列を固定表示 */
@media (max-width: 959px) {
  /* 1列目（見出し＆本文）を左に固定 */
  figure.wp-block-table[data-table-scrollable="sp"] th:first-child,
  figure.wp-block-table[data-table-scrollable="sp"] td:first-child {
    position: sticky;
    left: 0;                    /* 画面（スクロール枠）の左端に固定 */
	z-index: 2;                 /* 後ろのセルより前面に */ 
    /* iOS/Safariの描画安定化 */
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}




/* Flow */
.c-flow .midashi {
	margin-bottom: 6em;
}
@media (max-width: 959px) {
	.c-flow .midashi {
		margin-bottom: 4em;
	}
}
.c-flow .content {
	width: min(900px, 100%);
	margin: 0 auto;
}
.c-flow .item {
	gap: 60px!important;
}
@media (max-width: 959px) {
	.c-flow .item {
		gap: 0!important;
	}
}
.c-flow .item:not(:last-of-type) {
	margin-bottom: 60px;
}
@media (max-width: 959px) {
	.c-flow .item:not(:last-of-type) {
		margin-bottom: 30px;
	}
}
.c-flow .item h3 {
	font-size: calc(28rem /16);
}
.c-flow .item p {
	font-size: calc(20rem /16);
	line-height: 1.8;
}
@media (max-width: 959px) {
	.c-flow .item p {
		font-size: calc(20rem /13.5);
	}
}
.c-flow .item .img-area {
	padding-bottom: 60px;
	position: relative;
}
@media (max-width: 959px) {
	.c-flow .item .img-area {
		padding-bottom: 0;
	}
	.c-flow .item .img-area figure {
		width: min(170px, 90%);
	}
}
@media (min-width: 960px) {
	.c-flow .item:not(:last-of-type) .img-area::before {
		position: absolute;
		content: "";
		bottom: -20px;
		left: 50%;
		transform: translatex(-50%);
		width: 1px;
		height: 33px;
		background-color: var(--color_main);
	}
}
.c-flow .item .text-area {
	border-bottom: 1px solid var(--color_main);
	padding-bottom: 60px;
}
@media (max-width: 959px) {
	.c-flow .item .text-area {
		border-bottom: 0;
		padding-bottom: 30px;
		position: relative;
	}
	.c-flow .item .text-area::before {
		content: "";
		position: absolute;
		bottom: 0;
		right: 0; 
		width: 50%;
		border-bottom: 1px solid var(--color_main);
	}
	.c-flow .item:not(:last-of-type) .text-area::after {
		content: "";
		position: absolute;
		bottom: -20px;
		left: 10px; 
		width: 1px;
		height: 30px;
		background-color: var(--color_main);
	}
}

/* FAQ */
.c-faq .midashi {
	margin-bottom: 6em;
}
@media (max-width: 959px) {
	.c-faq .midashi {
		margin-bottom: 2em;
	}
}
.c-faq .swell-block-accordion__title {
	background-color: var(--color_main);
	color: #fff;
	font-size: calc(20rem / 16);
}
@media (max-width: 959px) {
	.c-faq .swell-block-accordion__body {
		font-size: calc(18rem / 13.5);
	}
}