@charset "UTF-8";
/*-------- parts-------- */
.mb100 { margin-bottom: 100px; }

.bg_blue_ { background-color: #f6f9fe; }

.txt_center_ { text-align: center; }

.anchor_ {
	margin-top: -100px;
	padding-top: 100px;
}

/*-------- page-------- */
.page_contents {
	overflow: hidden;
	width: 1000px;
	margin: 0 auto;
	padding: 30px 0;
	line-height: 200%;
}
.page_contents_inner {
	margin-bottom:40px;
}
.page_contents p{
	padding:0 10px;
	margin-bottom:20px;
}
.page_contents h1{
	text-align: center;
	line-height: 140%;
	padding-bottom: 35px;
	margin-bottom: 50px;
	position: relative;
	letter-spacing: 0.1em;
	font-size: 26px;
	font-weight: normal;
}
.page_contents h1 span{
	display: block;
	font-size: 13px;
	line-height: 110%;
	letter-spacing: 0;
	padding-top:5px;
}
.page_contents h1:after{
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 2em;
	margin-left: -1em;
	height: 2px;
	background-color: #444;
}
.page_contents h2{
	line-height: 140%;
	padding-bottom: 20px;
	margin-bottom: 20px;
	position: relative;
	letter-spacing: 0.1em;
	font-size: 20px;
	font-weight: normal;
	border-bottom: 2px solid #444;
}
.page_contents h3{
	margin: 10px 0;
	background-color: #333;
	color:#fff;
	font-size: 18px;
	padding: 10px;
}
.page_contents h4{
	font-weight: bold;
	font-size: 16px;
	padding: 8px;
	margin-bottom: 14px;
	border-bottom: 1px solid #333;
}
.page_contents h5{
	font-weight: bold;
	font-size: 16px;
	margin-bottom: 10px;
	margin: 10px 0;
	background-color: #f2f2f2;
	padding: 6px 6px 6px 10px;
}
.page_contents .page_box1{
	text-align: center;
	padding: 20px;
	border: 1px solid #e0e0e0;
	margin-bottom: 20px;
}
.page_contents .page_box1 span{
	font-size:13px;
}
.page_contents .page_box2{
	background-color: #f2f2f2;
	padding: 20px;
}
.page_contents .txt_l{
	font-weight: bold;
	font-size: 16px;
	border-bottom: 1px solid #e0e0e0;
	padding-bottom: 10px;
}
.page_contents .txt_s{
	font-size: 12px;
	color: #808080;
}
.page_contents .page_button1{
	margin: 0 auto 30px auto;
	width: 360px;
	display: block;
	font-size: 18px;
}
.page_contents a.page_button1{
	text-decoration: none;
}
.page_contents .page_table{
	width:100%;
	margin-bottom:40px;
}

/* --------------------------------------------------------------------
	特定商取引法
--------------------------------------------------------------------- */
#legal_block {
	overflow: hidden;
	width: 740px;
	margin: 0px;
	padding: 0px;
}

#legal_wrapper {
	overflow: hidden;
	text-align: left;
	margin-top: 20px;
}
.legal_frame {
	height: 100%;

}
.legal_daimei {
	width: 210px;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-right: 15px;
	padding-left: 15px;
	background-color: #F0E8DA;
	line-height: 25px;
	vertical-align: top;
}
.legal_honbun {
	overflow: hidden;
	width: 470px;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 20px;
	line-height: 25px;
	vertical-align: top;
}


/* =========================
   Coupon UI: 2026 styles
   ========================= */
/* 右寄せレイアウト */
.sp-cpn-2026-layout-right {
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 16px !important;
}

/* ラッパー */
.sp-cpn-2026-wrapper {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 8px !important;
  max-width: 100% !important;
}

/* クリックエリア（ボタン風アンカー） */
.sp-cpn-2026-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  text-decoration: none !important;
  border: none !important;
  border-radius: 12px !important;

  background: #d81b60 !important;        /* 濃いピンク */
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: clamp(16px, 2.4vw, 20px) !important;
  line-height: 1 !important;

  padding: 14px 20px !important;
  box-shadow: 0 6px 16px rgba(0,0,0,0.15) !important;
  cursor: pointer !important;

  transform: translateZ(0) !important;
  transition: background-color 180ms ease, transform 120ms ease, box-shadow 180ms ease, filter 180ms ease !important;

  white-space: nowrap !important; /* 改行防止 */
}

/* ホバー／アクティブ */
.sp-cpn-2026-cta:hover {
  background: #f48fb1 !important; /* 薄いピンク */
  filter: saturate(1.05) !important;
}

.sp-cpn-2026-cta:active {
  transform: translateY(1px) !important;
  background: #f48fb1 !important;
}

/* フォーカスリング強制 */
.sp-cpn-2026-cta:focus-visible {
  outline: none !important;
  box-shadow:
    0 0 0 3px #fff,
    0 0 0 6px #ff80ab,
    0 6px 16px rgba(0,0,0,0.15) !important;
}

/* クーポンコード文字の微調整 */
#sp-cpn-2026-targetText {
  letter-spacing: 0.5px !important;
}

/* トースト（コピーしました！） */
.sp-cpn-2026-toast {
  position: relative !important;
  margin: 0 !important;
  font-size: 14px !important;
  background: #212121 !important;
  color: #fff !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 20px rgba(0,0,0,0.18) !important;
  opacity: 0 !important;
  transform: translateY(-6px) !important;
  pointer-events: none !important;
  transition: opacity 220ms ease, transform 220ms ease !important;
}

.sp-cpn-2026-toast.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* モバイル時の微調整 */
@media (max-width: 480px) {
  .sp-cpn-2026-layout-right {
    padding-right: 12px !important;
  }
  .sp-cpn-2026-cta {
    border-radius: 10px !important;
    padding: 12px 16px !important;
  }
}

:where(.sp-cpn-2026-layout-right) :is(.sp-cpn-2026-wrapper) > .sp-cpn-2026-cta { background:#d81b60 !important; }

