/* =========================================
   WordPress・Cocoon 枠リセット
   ========================================= */
.content { margin-top: 0 !important; }
.main { padding: 0 !important; }
.entry-content { margin-top: 0 !important; }

.wrap {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

/* 📦 下のコンテンツエリア（最大幅1400px・中央寄せ） */
.maincontainer {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 4%; /* 左右の余白 */
	box-sizing: border-box;
	position:relative;
	z-index:2;
}

/* 改行コントロール用の便利クラス */
/* 🖥️ 通常時（パソコンなど画面が広いとき）は改行タグを非表示にする */
.sp-only {
  display: none !important;
}

/* 📱 画面幅が768px以下（スマホ・タブレット）になったら改行を有効にする */
@media screen and (max-width: 768px) {
  .sp-only {
    display: inline !important;
  }
}

/* =========================================
   pricelist ページ専用 カプセル化スタイル
   ========================================= */

.pricelist-container .tp-page-title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 38px;
  font-weight: 700;
  color: #FE6564;
  text-align: center;
  margin-top: 40px;
  margin-bottom: 20px;
}

.pricelist-container .tp-lead-text {
	font-family: "Zen Maru Gothic", sans-serif;
	text-align: justify;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.8;
	color: #585858;
	margin-bottom: 35px;
}

/* 📢 注意喚起アラート */
.pricelist-container .tp-attention-box {
  background-color: #FFF2F2 !important;
  border-radius: 12px !important;
  padding: 20px 25px !important;
  margin-bottom: 50px !important;
}
.pricelist-container .tp-alert-title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 25px;
  color: #D63A3A;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
	.pricelist-container .tp-alert-title {font-size:20px;}
}
.pricelist-container .tp-alert-list {
  margin: 0 !important;
  padding-left: 20px !important;
  line-height: 1.8 !important;
  color: #444444 !important;
  list-style-type: disc !important;
}
.pricelist-container .tp-alert-list li span {
  color: #FE6564;
  font-weight: bold;
}

/* 📦 各大枠セクション */
.pricelist-container .tp-service-section {
  border-radius: 20px !important;
  padding: 40px !important;
  margin-bottom: 60px !important;
  box-sizing: border-box !important;
}
.pricelist-container .tp-section-pink {
  background-color: #FFF9F9 !important;
  border: 3px solid #FFE3E3 !important;
}
.pricelist-container .tp-section-green {
  background-color: #F9FDF9 !important;
  border: 3px solid #E3F5E3 !important;
}

/* 大見出しタイトル */
.pricelist-container .tp-section-title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: #FE6564 !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  border-bottom: 2px solid #FFE3E3 !important;
  padding-bottom: 10px !important;
}
@media screen and (max-width: 768px) {
	.pricelist-container .tp-section-title span {
		padding-left:2.5em;
		text-indent:-2.4em;
		    display: block;
	}
}
.pricelist-container .tp-title-green {
  color: #4CAF50 !important;
  border-bottom: 2px solid #E3F5E3 !important;
}

.pricelist-container .tp-time-info {
  font-size: 18px;
  font-weight: bold;
  color: #585858;
}

/* 角丸の中見出し */
.pricelist-container .tp-sub-title-round {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 22px;
  font-weight: 700;
  background-color: #FE6564 !important;
  color: #ffffff !important;
  display: inline-block;
  padding: 6px 20px !important;
  border-radius: 20px !important;
  margin-top: 30px !important;
  margin-bottom: 20px !important;
}
.pricelist-container .tp-section-green .tp-sub-title-round {
  background-color: #4CAF50 !important;
}
@media screen and (max-width: 768px) {
	.pricelist-container .tp-sub-title-round {
		font-size:20px;
		        text-align: center;
        display: block;
	}
}

/* ➊➋➌の流れリスト */
.pricelist-container .tp-flow-container {
  background: #ffffff !important;
  border: 1px solid #FFE3E3 !important;
  border-radius: 12px !important;
  padding: 25px !important;
  margin-bottom: 30px !important;
}
.pricelist-container .tp-flow-step, 
.pricelist-container .tp-flow-step-final {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
}
.pricelist-container .tp-step-num {
  font-family: "Zen Maru Gothic", sans-serif;
  background: #FE6564;
  color: white;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  flex-shrink: 0;
}
.pricelist-container .tp-step-txt {
  margin: 0 !important;
  font-size: 20px;
  line-height: 1.6;
}
.pricelist-container .tp-tel-link {
  color: #D63A3A !important;
  font-weight: bold;
  text-decoration: underline !important;
}
.pricelist-container .tp-flow-arrow {
  text-align: left;
  padding-left: 8px;
  color: #FE6564;
  margin: 8px 0;
  font-size: 12px;
}

/* 🖥️ PC用自治体テーブル */
.pricelist-container .tp-pc-table-responsive {
  width: 100%;
  overflow-x: auto;
  margin-bottom: 40px;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #FFE3E3;
}
.pricelist-container .tp-municipality-table {
  width: 100% !important;
  border-collapse: collapse !important;
  text-align: left !important;
  margin: 0 !important;
}
.pricelist-container .tp-municipality-table th {
  background-color: #FFEBEB !important;
  color: #FE6564 !important;
  font-weight: bold !important;
  padding: 15px !important;
  font-size: 16px !important;
  border: none !important;
}
.pricelist-container .tp-municipality-table td {
  padding: 15px !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 1px solid #FFF0F0 !important;
  color: #444444 !important;
  font-size: 15px !important;
}
.tp-municipality-table td a {color:#444444;text-decoration:none;} 
.pricelist-container .tp-municipality-table tr:last-child td {
  border-bottom: none !important;
}
/* 📱 スマホ用カードレイアウト（※PC時は非表示にする設定を追加） */
.pricelist-container .tp-sp-card-container {
  display: none !important;
}

/* 🎁・🐬 料金表カード共通 */
.pricelist-container .tp-menu-intro-text {
  font-size: 15px;
  color: #666;
  margin-top: -10px;
  margin-bottom: 20px;
}
.pricelist-container .tp-text-left { text-align: left; margin-top: 0; }

.pricelist-container .tp-price-card-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 15px !important;
}
.pricelist-container .tp-price-item {
  background: #ffffff !important;
  border: 1px solid #FFE3E3 !important;
  border-left: 5px solid #FE6564 !important;
  border-radius: 8px !important;
  padding: 15px 20px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
.pricelist-container .tp-item-green {
  border-color: #E3F5E3 !important;
  border-left-color: #4CAF50 !important;
}
.pricelist-container .tp-item-name {
  font-weight: bold;
  color: #585858;
  font-size: 15px;
}
.tp-item-green .tp-item-name small {width:90%;}
.pricelist-container .tp-item-name small, 
.pricelist-container .tp-item-cost small {
  display: block;
  font-weight: normal;
  color: #888;
  font-size: 12px;
  margin-top: 2px;
}
.pricelist-container .tp-item-cost {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  color: #FE6564;
  font-size: 22px;
  white-space: nowrap;
}
.pricelist-container .tp-item-green .tp-item-cost {
  color: #4CAF50;
	text-align:end;
}
.pricelist-container .tp-font-small {
  font-size: 18px !important;
	    text-align: end;
}

/* 📅 予約コンテナー */
.pricelist-container .tp-booking-container {
  padding: 35px !important;
  margin-top: 40px !important;
  text-align: center !important;
}
.pricelist-container .tp-booking-title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #388E3C;
  margin-bottom: 25px;
}
.pricelist-container .tp-booking-title.pink {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #FE6564;
  margin-bottom: 25px;
}
/* 米じるしの注釈要素（全幅ぶち抜き設定） */
.day-option-item-kome {
  margin: 5px 0;          /* ★ネガティブマージン(-1%)を廃止し、安全なpx値に変更 */
  padding: 12px 15px;      /* ★上下左右に内側パディングを設定 */
  font-size: 0.95rem;      /* ★スマホで見やすいサイズに調整 */
  color: #fff;
  line-height: 1.5;
  text-align: center;
  background: #FE6564;
  border-radius: 6px;      /* ★少し角丸にするとカードと馴染みます */
  box-sizing: border-box;
  width: 100%;
}

/* PC（768px以上）で2列になった時に全幅にする */
@media screen and (min-width: 768px) {
  .day-option-item-kome {
    grid-column: 1 / -1; /* 1列目から最後の列までぶち抜く */
  }
}

/* 🟢 ボタン */
.pricelist-container .tp-booking-btn {
  display: inline-block !important;
  background-color: #4CAF50 !important;
  color: #ffffff !important;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 22px;
  font-weight: 700;
  padding: 18px 45px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  box-shadow: 0 6px 0 #388E3C !important;
  transition: all 0.2s ease;
  margin-bottom: 25px !important;
}
.pricelist-container .tp-booking-btn.pink {
	background-color: #FE6564 !important;
	box-shadow: 0 6px 0 #D63A33 !important;
}
.pricelist-container .tp-booking-btn:hover {
  transform: translateY(2px);
  box-shadow: 0 4px 0 #388E3C !important;
}
.pricelist-container .tp-booking-btn.pink:hover {
  transform: translateY(2px);
  box-shadow: 0 4px 0 #D63A33 !important;
}
.pricelist-container .tp-booking-btn:active {
  transform: translateY(6px);
  box-shadow: none !important;
}

.pricelist-container .tp-booking-notice {
  max-width: 700px;
  margin: 0 auto !important;
  background-color: #FFF !important;
  border-radius: 8px !important;
  padding: 15px 20px !important;
  font-size: 16px;
  line-height: 1.7;
  color: #444444;
  text-align: left;
	text-align:justify;
}
.pricelist-container .tp-booking-notice strong {
  color: #D63A3A;
}

/* =========================================
   📱 スマホ・タブレット用レスポンシブ (768px以下)
   ========================================= */
@media screen and (max-width: 768px) {
  .pricelist-container .tp-page-title { font-size: 28px; }
  .pricelist-container .tp-lead-text { font-size: 14px; text-align: left; }
  .pricelist-container .tp-service-section { padding: 20px !important; }
  .pricelist-container .tp-section-title { font-size: 20px; }
  
  .pricelist-container .tp-pc-table-responsive { display: none !important; }
  .pricelist-container .tp-sp-card-container { display: block !important; }
  
  /* 自治体カード */
  .pricelist-container .tp-muni-card {
    background: #ffffff !important;
    border: 1px solid #FFE3E3 !important;
    border-radius: 12px !important;
    padding: 15px !important;
    margin-bottom: 12px !important;
  }
  .pricelist-container .tp-muni-name {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #FE6564;
    border-bottom: 1px dashed #FFE3E3 !important;
    padding-bottom: 5px !important;
    margin-bottom: 10px !important;
  }
  .pricelist-container .tp-muni-detail, 
  .pricelist-container .tp-muni-tel {
    font-size: 14px;
    line-height: 1.5;
    color: #555555;
    margin-bottom: 5px;
  }
  .pricelist-container .tp-muni-tel a {
    color: #D63A3A !important;
    font-weight: bold;
    text-decoration: underline !important;
  }

  /* 料金表 縦並び */
  .pricelist-container .tp-price-card-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .pricelist-container .tp-price-item {
    padding: 12px 15px !important;
	      flex-direction: column;
    align-items: flex-start !important;
  }
  .pricelist-container .tp-item-name { font-size: 14px; }
  .pricelist-container .tp-item-cost { font-size: 20px; margin: 0 0 0 auto; }
	.pricelist-container .tp-font-small {
  font-size: 20px !important;
	    text-align: end;
}

  .pricelist-container .tp-booking-container { padding: 20px 15px !important; }
  .pricelist-container .tp-booking-btn {
    font-size: 20px;
    padding: 14px 20px !important;
    width: 100% !important;
  }
}