@charset "UTF-8";
/* 共通 / SP */
body {
	font-family: "Noto Sans JP",
	"Hiragino Kaku Gothic ProN",
	"Hiragino Sans",
	"Helvetica Neue",
    Arial,
    sans-serif;
	background-color: #e8e8e8;
	font-feature-settings: "palt";
}
:root {
    --com-fs-heading: clamp(16px, 4.26vw, 32px);
	--com-fs-base: clamp(14px, 3.73vw, 28px);
    --com-fs-caution: clamp(12px, 3.20vw, 24px);
    --com-btn-py: clamp(14px, 3.2vw, 23px);
    --accordion-icon-size: clamp(24px, 5.2vw, 39px);
    --accordion-icon-right: clamp(12px, 2.66vw, 20px);
	--com-color-main: #FFFAF2;
	--com-color-primary: #e8e8e8;
}
.bg_main {
	background-color: var(--com-color-main);
}
/* テキストサイズ調整 */
h3 {
    font-size: var(--com-fs-heading);
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    color: #008516;
    font-weight: 700;
    line-height: 1;
}
.copyright {
	font-size: clamp(12px, 3.20vw, 24px);
}
.campaign_code{
	text-align: right;
	font-size: clamp(10px, 2.66vw, 20px);
	margin-right:10px;
}
.fs_note{
    font-size: var(--com-fs-caution);
}
/* 見出しデザイン */
h2 {
    margin: 0;
    padding: clamp(8px, 2vw, 14px);
    background: #008516;
    color: #fff;
    font-size: var(--com-fs-heading);
    font-weight: 700;
    text-align: center;
}
h3 {
    position: relative;
    padding-left: clamp(12px, 3.3vw, 25px);
}
h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: clamp(4px, 1.33vw, 10px);
    height: 1em;
    background: #008516;
    transform: translateY(-45%);
}
/* 注意書きインデント表示 */
.note {
    padding-left: 1em;
    text-indent: -1em;
}
.note::before {
    content: "※";
}
/*リスト表示*/
.conditions_list {
    padding-left: 0;
    margin: 0;
    list-style: none;
}
.conditions_list li {
    position: relative;
    padding-left: 1em;
}
.conditions_list li:nth-child(1)::before {
    content: "①";
}
.conditions_list li:nth-child(2)::before {
    content: "②";
}
.conditions_list li::before {
    position: absolute;
    left: 0;
    top: 0;
}
/* フォントサイズ */
.fs_base {
    font-size: var(--com-fs-base);
    line-height: calc(1em * 1.4);
}
/* ボタン */
.btn_link {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding:
        var(--com-btn-py)
        50px;
    border-radius: 7px;
    text-decoration: none;
    font-size: var(--com-fs-heading);
    font-weight: 700;
}
.btn_link::after {
    content: "";
    position: absolute;
    right: clamp(15px, 4vw, 25px);
    top: 50%;
    width: clamp(8px, 2vw, 14px);
    height: clamp(8px, 2vw, 14px);
    border-top: clamp(3px, 0.39vw, 4px) solid currentColor;
    border-right: clamp(3px, 0.39vw, 4px) solid currentColor;
    transform: translateY(-50%) rotate(45deg);
}
/* 赤 */
.btn_link--red {
    color: #fff;
    background: #cb0033;
   	box-shadow: 0 calc(clamp(4px, 1.2vw, 8px)) 0 #9a2225;
}
/* 緑 */
.btn_link--green {
    color: #008516;
    background: #fff;
    border: 3px solid #008516;
    box-shadow: 0 clamp(4px, 1.2vw, 8px) 0 #008516;
}
/* コンテンツサイズ調整 */
.contents_wrap {
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
}
.footer_wrap {
	background-color: #008516;
	color: #ffffff;
	padding: clamp(12px, 3.2vw, 24px);
}
/* コンテンツ余白調整 */
.section_wrap {
	padding: 0 clamp(20px, 5.33vw, 40px);
}
.campaign_banner{
	padding:5px 0;
}
/* 余白ユーティリティクラス */
.set_mt_para {
	margin-top: 1em;
}
.set_p20 {
	padding: clamp(10px, 2.66vw, 20px);
}
.set_p40 {
	padding: clamp(20px, 5.32vw, 40px);
}
.set_pb40 {
	padding-bottom: clamp(20px, 5.32vw, 40px);
}
.set_mt10 {
    margin-top: clamp(5px, 1.33vw, 10px);
}
.set_mt20 {
	margin-top: clamp(10px, 2.66vw, 20px);
}
.set_mt26 {
	margin-top: clamp(13px, 3.46vw, 26px);
}
.set_mt30 {
	margin-top: clamp(15px, 4.0vw, 30px);
}
.set_mt40 {
	margin-top: clamp(20px, 5.32vw, 40px);
}
.set_mt50 {
	margin-top: clamp(25px, 6.66vw, 50px);
}
.set_mt60 {
	margin-top: clamp(30px, 6.66vw, 60px);
}
.set_mt70 {
	margin-top: clamp(35px, 10.64vw, 70px);
}
.set_mt80 {
	margin-top: clamp(40px, 10.64vw, 80px);
}
.set_mt100 {
	margin-top: clamp(50px, 13.32vw, 100px);
}
.set_mb40 {
	margin-bottom: clamp(20px, 5.32vw, 40px);
}
.set_mb60 {
    margin-bottom: clamp(30px, 7.98vw, 60px);
}
.set_mw590 {
	max-width: 590px;
	margin-left: auto;
	margin-right: auto;
}
.set_mw670 {
	max-width: 670px;
	margin-left: auto;
	margin-right: auto;
}
/* レイアウト */
.t_center {
	text-align: center;
}
.stores_flex{
	display: flex;
	max-width: 670px;
	padding:10px 0;
}
.stores_flex a {
	flex: 1;
}
.stores_flex a img{
	display:block;
	width:80%;
	margin:0 auto;
}
/* ライブラリ用 */
[data-accordion-id], [data-radio-condition], [data-tab-target] {
  display: none;
}
[data-tab-target].js-active, [data-radio-condition].js-active {
  display: block;
}
/* =================================
   Accordion
================================= */
.st-accordion {
    background: #ffffff;
    border-radius: 7px;
    overflow: visible;
    border: none;
}
/* タイトル部分 */
.st-accordion-btn {
    box-sizing: border-box;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: var(--com-btn-py) 0;
    border: 3px solid #cf3040;
    background: #ffffff;
    font-size: var(--com-fs-heading);
    font-weight: 700;
    border-radius: 7px;
    box-shadow: 0 clamp(4px, 1.2vw, 8px) 0 #cf3040;
    cursor: pointer;
}
/* アイコン部分 */
.st-accordion-btn::before,
.st-accordion-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: var(--accordion-icon-right);
    width: var(--accordion-icon-size);
    height: var(--accordion-icon-size);
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.st-accordion-btn::before {
    background-image: url("../img/accordion_open.png");
}
.st-accordion-btn::after {
    display: none;
    background-image: url("../img/accordion_close.png");
}
.js-active .st-accordion-btn::before {
    display: none;
}
.js-active .st-accordion-btn::after {
    display: block;
}
/* コンテンツエリア */
.st-accordion-panel {
	border-radius: 0 0 10.3px 10.3px;
}
.st-accordion-panel-inner {
    border-radius: 0 0 10.3px 10.3px;
    padding: clamp(20px, 4vw, 32px);
    background: #ffffff;
    font-size: var(--com-fs-base);
    line-height: 1.8;
}
.accordion_content a {
    display: inline;
    word-break: keep-all;
	white-space: nowrap;
    overflow-wrap: normal;
    white-space: normal;
	/* font-size: clamp(15px, 4vw, 30px); */
}
/* コンテンツ内 */
.accordion_content h4 {
    margin-top: 40px;
	font-weight: 400;
}
/* display:block のとき */
.st-accordion:has(.st-accordion-panel[style*="display: block"]) {
    border: 3px solid #cf3040;
}
.st-accordion:has(.st-accordion-panel[style*="display: block"]) .st-accordion-btn {
    border: none;
	box-shadow: 0 calc(clamp(4px, 1.2vw, 8px) + 1.5px) 0 #cf3040;
    border-radius: 7px 7px 0 0;
}
@media (hover: hover) {
  /* リンクの場合 */
  /*a:any-link:hover {
  }*/
  .inner_link:hover {
	text-decoration: underline;
  }
  /* ボタンの場合 */
button:enabled:hover {
		cursor: pointer;
  }
}
/* PC（751px〜） */
@media screen and (min-width: 751px) {
/* アコーディオン */
.accordion_wrap {
	padding: 0 36px;
	margin-top: 40px;
}
}