@charset "UTF-8";

/*
 * このファイルは scripts/css-scope-prefixer.py が生成しています。直接編集しないでください。
 * 変更する場合は変換元CSSを直したうえで scripts/build-cp-components.sh を実行してください。
 *
 * スコープ: #cp
 * 変換元（この順にカスケード）:
 *   - reset.css
 *   - html5reset-1.6.1.css
 *   - dpc_lp_temp_base_190201.css
 *   - dpc_lp_common_190201.css
 *   - faq.css
 *   - include.css
 *   - style.css
 */

/* ===== reset.css ===== */

#cp input,
#cp button,
#cp textarea,
#cp select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

#cp div,
#cp dl,
#cp dt,
#cp dd,
#cp ul,
#cp ol,
#cp li,
#cp h1,
#cp h2,
#cp h3,
#cp h4,
#cp h5,
#cp h6,
#cp pre,
#cp form,
#cp fieldset,
#cp p,
#cp blockquote,
#cp th,
#cp td {
  margin: 0;
  padding: 0;
  word-break: normal;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
}

#cp fieldset,
#cp img,
#cp figure {
  border: 0;
  padding: 0;
  margin: 0;
  vertical-align: top;
  font-size:0;
  line-height: 0;
}

#cp address,
#cp caption,
#cp cite,
#cp code,
#cp dfn,
#cp th,
#cp var {
  font-style: normal;
  font-weight: normal;
}

#cp ol,
#cp ul {
  list-style: none;
}

#cp caption,
#cp th {
  text-align: left;
}

#cp h1,
#cp h2,
#cp h3,
#cp h4,
#cp h5,
#cp h6 {
  font-size: 100%;
  font-weight: normal;
}

#cp q:before,
#cp q:after {
  content: '';
}

#cp abbr,
#cp acronym {
  border: 0;
}

#cp hr {
  display: none;
}

#cp div {
  word-break:break-all;
}

#cp a:link,
#cp a:visited,
#cp a:active,
#cp a:hover {
  /*-- overflow: hidden; --*/
  outline: none;
  text-decoration:none;
  outline: none;
}

#cp input[type="button"],
#cp input[type="submit"],
#cp input[type=radio],
#cp input[type=checkbox] {
  -webkit-appearance: none;
  border-radius:0;
}

/* ===== html5reset-1.6.1.css ===== */

#cp div,
#cp span,
#cp object,
#cp iframe,
#cp h1,
#cp h2,
#cp h3,
#cp h4,
#cp h5,
#cp h6,
#cp p,
#cp blockquote,
#cp pre,
#cp abbr,
#cp address,
#cp cite,
#cp code,
#cp del,
#cp dfn,
#cp em,
#cp img,
#cp ins,
#cp kbd,
#cp q,
#cp samp,
#cp small,
#cp strong,
#cp sub,
#cp sup,
#cp var,
#cp b,
#cp i,
#cp dl,
#cp dt,
#cp dd,
#cp ol,
#cp ul,
#cp li,
#cp fieldset,
#cp form,
#cp label,
#cp legend,
#cp table,
#cp caption,
#cp tbody,
#cp tfoot,
#cp thead,
#cp tr,
#cp th,
#cp td,
#cp article,
#cp aside,
#cp canvas,
#cp details,
#cp figcaption,
#cp figure,
#cp footer,
#cp header,
#cp hgroup,
#cp menu,
#cp nav,
#cp section,
#cp summary,
#cp time,
#cp mark,
#cp audio,
#cp video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
  list-style: none;
}

#cp article,
#cp aside,
#cp details,
#cp figcaption,
#cp figure,
#cp footer,
#cp header,
#cp hgroup,
#cp menu,
#cp nav,
#cp section {
  display:block;
}

#cp nav ul {
  list-style:none;
}

#cp ol,
#cp ul {
  list-style: none;
}

#cp blockquote,
#cp q {
  quotes:none;
}

#cp blockquote:before,
#cp blockquote:after,
#cp q:before,
#cp q:after {
  content:'';
  content:none;
}

#cp a {
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}

#cp ins {
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}

#cp mark {
  background-color:#ff9;
  color:#000;
  font-style:italic;
  font-weight:bold;
}

#cp del {
  text-decoration: line-through;
}

#cp abbr[title],
#cp dfn[title] {
  border-bottom:1px dotted;
  cursor:help;
}

#cp table {
  border-collapse:collapse;
  border-spacing:0;
}

#cp hr {
  display:block;
  height:1px;
  border:0;
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}

#cp input,
#cp select {
  vertical-align:middle;
}

#cp img {
  vertical-align: top;
  font-size:0;
  line-height: 0;
}

/* ===== dpc_lp_temp_base_190201.css ===== */

/*
***base
 * main contents
 * utility
*/
/* //
省略文字一覧
fs -> font-size
fw -> font-weight
mb -> margin-bottom
ml -> margin-left
mr -> margin-right
mt -> margin-top
pb -> padding-bottom
pl -> padding-left
pr -> padding-right
pt -> padding-top
x -> extra
l -> large
s -> small
*/
/* -------------------------------------------------------

   BASE

------------------------------------------------------- */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
#cp audio,
#cp canvas,
#cp progress,
#cp video {
  display: inline-block;
  vertical-align: baseline;
}

#cp audio:not([controls]) {
  display: none;
  height: 0;
}

#cp [hidden],
#cp template {
  display: none;
}

#cp b,
#cp strong {
  font-weight: bold;
}

#cp dfn {
  font-style: italic;
}

#cp mark {
  background: #ff0;
  color: #000;
}

#cp small {
  font-size: 80%;
}

#cp sub,
#cp sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

#cp sup {
  top: -0.5em;
}

#cp sub {
  bottom: -0.25em;
}

#cp svg:not(:root) {
  overflow: hidden;
}

#cp figure {
  margin: 1em 40px;
}

#cp pre {
  overflow: auto;
}

#cp code,
#cp kbd,
#cp pre,
#cp samp {
  font-family: monospace, monospace;
  font-size: 0.9em;
}

#cp button,
#cp input,
#cp optgroup,
#cp select,
#cp textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

#cp button {
  overflow: visible;
}

#cp button,
#cp select {
  text-transform: none;
}

#cp button,
#cp input[type="reset"],
#cp input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

#cp button[disabled] {
  cursor: default;
}

#cp button::-moz-focus-inner,
#cp input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

#cp input {
  line-height: normal;
}

#cp input[type="checkbox"],
#cp input[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
}

#cp input[type="number"]::-webkit-inner-spin-button,
#cp input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

#cp input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

#cp input[type="search"]::-webkit-search-cancel-button,
#cp input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

#cp fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

#cp textarea {
  overflow: auto;
}

#cp optgroup {
  font-weight: bold;
}

/* add base */
#cp ul,
#cp ol {
  list-style: none;
}

#cp ul,
#cp ol,
#cp dl,
#cp p {
  margin: 0;
  padding: 0;
}

#cp img {
  vertical-align: top;
}

#cp a:link,
#cp a:visited {
  text-decoration: none;
}

#cp a:hover,
#cp a:active {
  text-decoration: none;
}

#cp h1 {
  font-size: 2em;
}

#cp h2,
#cp h3 {
  font-size: 1em;
  font-weight: bold;
}

#cp a {
  color: #333;
  text-decoration: underline;
}

#cp a:link,
#cp a:visited,
#cp a:hover,
#cp a:active {
  text-decoration: none;
}

/* -------------------------------------------------------

   MAIN CONTENTS

------------------------------------------------------- */
#cp:not(#cp-noop) {
  position: relative;
  min-height: 100%;
  width: 100%;
  background: #fff;
  line-height: 1.4;
}

#cp:not(.cp-noop):not(.cp-noop) {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  background-color: #fff;
}

#cp:not(.cp-noop):not(.cp-noop) img {
  width: 100%;
}

/* -------------------------------------------------------

   UTILITY

------------------------------------------------------- */
/*
   テキスト
----------------------------------------*/
/* フォントサイズ */
#cp .fsXL {
  font-size: 16px;
}

#cp .fsL {
  font-size: 15px;
}

#cp .fsS {
  font-size: 13px;
}

#cp .fsXS {
  font-size: 12px;
}

#cp .fsXXS {
  font-size: 11px;
}

@media only screen and (min-width:361px) {
  #cp .fsXL {
    font-size:1.4em;
  }

  #cp .fsL {
    font-size:1.2em;
  }

  #cp .fsS {
    font-size:0.9em;
  }

  #cp .fsXS {
    font-size:0.8em;
  }

  #cp .fsXXS {
    font-size:0.67em;
  }

}

/* フォントの太さ */
#cp .fwB {
  font-weight: bold;
}

#cp .fwN {
  font-weight: normal;
}

/* テキストカラー */
#cp .white {
  color : white;
}

#cp .black {
  color: black;
}

#cp .gray {
  color: gray;
}

#cp .error {
  color: #ff0000;
}

#cp .dRed {
  color: #d00e31;
}

/* docomo red */
/* 行揃え */
#cp .textLeft {
  text-align: left;
}

#cp .textRight {
  text-align: right;
}

#cp .textCenter {
  text-align: center;
}

/* 非表示テキスト */
#cp .invisibleTxt {
  display: none;
}

/* インデント */
#cp .notesIndent {
  text-indent: -1.0em;
  padding: 0px 0px 0px 1em; /* 左一文字分開ける */
  font-size: 16px;
  line-height: 1.4;
}

@media screen and (max-width:900px) {
  #cp .notesIndent {
    font-size: 14px;
  }
}

/* 段落 */
#cp .lineSpan {
  margin-bottom: 1em; /* 下一行分開ける */
}

/*
   ブロック
----------------------------------------*/
/* フロート */
#cp .floatLeft {
  float: left;
}

#cp .floatRight {
  float: right;
}

#cp .floatNone {
  float: none;
}

/* clearfix */
#cp .cfx {
  *zoom: 1;
}

#cp .cfx:before,
#cp .cfx:after {
  content: "";
  display: table;
}

#cp .cfx:after {
  clear: both;
}

/* ブロック要素 */
#cp .dBlock {
  display: block;
}

/*
   余白
----------------------------------------*/
/*----------------margin----------------*/
/* px指定 */
#cp .mt0 {
  margin-top: 0 !important;
}

#cp .mt5 {
  margin-top: 5px !important;
}

#cp .mt10 {
  margin-top: 10px !important;
}

#cp .mb0 {
  margin-bottom: 0 !important;
}

#cp .mb5 {
  margin-bottom: 5px !important;
}

#cp .mb10 {
  margin-bottom: 10px !important;
}

#cp .ml0 {
  margin-left: 0 !important;
}

#cp .ml5 {
  margin-left: 5px !important;
}

#cp .ml10 {
  margin-left: 10px !important;
}

#cp .mr0 {
  margin-right: 0 !important;
}

#cp .mr5 {
  margin-right: 5px !important;
}

#cp .mr10 {
  margin-right: 10px !important;
}

/* %指定 */
#cp .mt5p {
  margin-top: 0.5208% !important;
}

#cp .mt10p {
  margin-top: 1.0416% !important;
}

#cp .mt20p {
  margin-top: 2.0832% !important;
}

#cp .mt30p {
  margin-top: 3.125% !important;
}

#cp .mt40p {
  margin-top: 4.1664% !important;
}

#cp .mt50p {
  margin-top: 5.2083% !important;
}

#cp .mt60p {
  margin-top: 6.25% !important;
}

#cp .mt70p {
  margin-top: 7.2916% !important;
}

#cp .mb5p {
  margin-bottom: 0.5208% !important;
}

#cp .mb10p {
  margin-bottom: 1.0416% !important;
}

#cp .mb20p {
  margin-bottom: 2.0832% !important;
}

#cp .mb30p {
  margin-bottom: 3.125% !important;
}

#cp .mb40p {
  margin-bottom: 4.1664% !important;
}

#cp .mb50p {
  margin-bottom: 5.2083% !important;
}

#cp .mb60p {
  margin-bottom: 6.25% !important;
}

#cp .mb70p {
  margin-bottom: 7.2916% !important;
}

#cp .mr5p {
  margin-right: 0.5208% !important;
}

#cp .mr10p {
  margin-right: 1.0416% !important;
}

#cp .mr20p {
  margin-right: 2.0833% !important;
}

#cp .mr40p {
  margin-right: 4.1666% !important;
}

#cp .mr80p {
  margin-right: 8.3333% !important;
}

#cp .ml5p {
  margin-left: 0.5208% !important;
}

#cp .ml10p {
  margin-left: 1.0416% !important;
}

#cp .ml20p {
  margin-left: 2.0833% !important;
}

#cp .ml40p {
  margin-left: 4.1666% !important;
}

#cp .ml80p {
  margin-left: 8.3333% !important;
}

/*----------------padding---------------*/
/* px指定 */
#cp .pt0 {
  padding-top: 0 !important;
}

#cp .pt5 {
  padding-top: 5px !important;
}

#cp .pt10 {
  padding-top: 10px !important;
}

#cp .pb0 {
  padding-bottom: 0 !important;
}

#cp .pb5 {
  padding-bottom: 5px !important;
}

#cp .pb10 {
  padding-bottom: 10px !important;
}

#cp .pl0 {
  padding-left: 0 !important;
}

#cp .pl5 {
  padding-left: 5px !important;
}

#cp .pl10 {
  padding-left: 10px !important;
}

#cp .pr0 {
  padding-right: 0 !important;
}

#cp .pr5 {
  padding-right: 5px !important;
}

#cp .pr10 {
  padding-right: 10px !important;
}

/* %指定 */
#cp .pt5p {
  padding-top: 0.5208% !important;
}

#cp .pt10p {
  padding-top: 1.0416% !important;
}

#cp .pt20p {
  padding-top: 2.0832% !important;
}

#cp .pt30p {
  padding-top: 3.125% !important;
}

#cp .pt40p {
  padding-top: 4.1664% !important;
}

#cp .pt50p {
  padding-top: 5.2083% !important;
}

#cp .pt60p {
  padding-top: 6.25% !important;
}

#cp .pt70p {
  padding-top: 7.2916% !important;
}

#cp .pb5p {
  padding-bottom: 0.5208% !important;
}

#cp .pb10p {
  padding-bottom: 1.0416% !important;
}

#cp .pb20p {
  padding-bottom: 2.0832% !important;
}

#cp .pb30p {
  padding-bottom: 3.125% !important;
}

#cp .pb40p {
  padding-bottom: 4.1664% !important;
}

#cp .pb50p {
  padding-bottom: 5.2083% !important;
}

#cp .pb60p {
  padding-bottom: 6.25% !important;
}

#cp .pb70p {
  padding-bottom: 7.2916% !important;
}

#cp .pr5p {
  padding-right: 0.5208% !important;
}

#cp .pr10p {
  padding-right: 1.0416% !important;
}

#cp .pr20p {
  padding-right: 2.0833% !important;
}

#cp .pr40p {
  padding-right: 4.1666% !important;
}

#cp .pr80p {
  padding-right: 8.3333% !important;
}

#cp .pl5p {
  padding-left: 0.5208% !important;
}

#cp .pl10p {
  padding-left: 1.0416% !important;
}

#cp .pl20p {
  padding-left: 2.0833% !important;
}

#cp .pl40p {
  padding-left: 4.1666% !important;
}

#cp .pl80p {
  padding-left: 8.3333% !important;
}

/* デバイス表示切り分け */
#cp .pcView {
  display: none;
}

#cp .spView {
  display: block;
}

@media only screen and (min-width:641px) {
  #cp .pcView {
    display: block;
  }

  #cp .spView {
    display: none;
  }

}

/* ===== dpc_lp_common_190201.css ===== */

/*
***component
 * contents
 * dcard
 * global
 * interactive
 */
/* //
命名規則はキャメルケース
*/
/* //
省略文字一覧
btn -> button
c -> center
cp -> campaign
conts -> contents
d_red -> docomo red
fs -> font-size
fw -> font-weight
l -> left/large
mb -> margin-bottom
ml -> margin-left
mr -> margin-right
mt -> margin-top
pb -> padding-bottom
pl -> padding-left
pr -> padding-right
pt -> padding-top
r -> right
s -> small
txt -> text
ttl -> title
*/
/* -------------------------------------------------------

  コンポーネント

------------------------------------------------------- */
/*
  コンテンツ
----------------------------------------*/

html { 
  scroll-behavior: smooth;
}

#cp .kv {
  text-align: center;
}

/* 見出し */
#cp .kv + section > .contsTtl {
  padding-top: 7.29167%;
}

#cp .contsTtl {
  padding: 0 3.125% 3.125%;
}

#cp .contsTtl span {
  display: block;
  padding: 7px 20px 5px;
  font-size: 22px;
  background: #999;
  color: #ffffff;
  font-weight: bold;
  line-height: 1.5;
}

@media only screen and (min-width: 641px) {
  #cp .contsTtl,
  #cp .contsTtl_line {
    padding: 0 4.16667% 3.125%;
  }

  #cp .contsTtl_line span {
    border-bottom: 4px solid #D00F31;
  }

}

/* テキスト */
#cp .contsTxt {
  padding: 0 3.125% 3.125%;
  line-height: 1.6;
  font-size: 18px;
  color: #333333;
  padding: 0 8.33333% 3.125%;
}

@media only screen and (min-width: 641px) {
  #cp .contsTxt {
    /*padding: 0 8.33333% 3.125%;*/
  }

}

/* 画像 */
#cp .contsImg {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 3.125% 3.125%;
}

@media only screen and (min-width: 641px) {
  #cp .contsImg {
    padding: 0 8.33333% 3.125%;
  }

}

/*
  ご利用カードエリア
----------------------------------------*/
#cp .dcard {
  padding: 0 3.125% 3.125%;
}

#cp .dcardArea {
  background: #fff;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border: 2px solid #D00F31;
}

#cp .dcardAreaTtl {
  max-width: 800px;
  margin: 0 auto;
  padding: 4.09091% 3.63636% 3.63636%;
}

#cp .dcardAreaList {
  padding: 0 4.20455% 4.54545%;
}

#cp .dcardAreaBtn {
  max-width: 540px;
  margin: 0 auto;
  padding: 0 4.20455% 4.54545%;
}

#cp .dcardAreaBtn a {
  display: block;
  text-align: center;
}

@media only screen and (min-width: 361px) {
  #cp .dcardArea {
    border: 3px solid #D00F31;
  }

}

@media only screen and (min-width: 641px) {
  #cp .dcard {
    padding: 0 4.16667% 3.125%;
  }

}

/*
  全体
----------------------------------------*/
/* ご注意事項 */
#cp .cpNotes {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 8.33333% 3.125%;
}

#cp .cpNotesBtnWrap {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

#cp .cpNotesBtnWrap {
  position: relative;
  padding-bottom: 3px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-shadow: 0px -3px 0px 0px #d00e31 inset;
  box-shadow: 0px -3px 0px 0px #d00e31 inset;
  border: 2px solid #D00E31;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  background-color: #fff;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

#cp .cpNotesBtn {
  display: table;
  width: 100%;
}

#cp .cpNotesBtn a {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
}

#cp .cpNotesFlame {
  display: none;
  border-left: 2px solid #D00E31;
  border-right: 2px solid #D00E31;
  border-bottom: 2px solid #D00E31;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border-radius: 0 0 3px 3px;
  -webkit-border-radius: 0 0 3px 3px;
}

#cp .cpNotesList {
  padding: 10px;
  font-size: 12px;
  text-align: left;
}

#cp .cpNotesTtl {
  font-weight: bold;
  text-align: center;
  font-size: 12px;
}

#cp .cpNotesSubttl {
  margin-top: 1em;
}

#cp .cpNotesItem {
  text-indent: -1.0em;
  padding: 0px 0px 0px 1em;
}

@media only screen and (min-width: 361px) {
  #cp .cpNotesList {
    padding: 20px;
  }

  #cp .cpNotesTtl,
  #cp .cpNotesList {
    font-size: 14px;
  }

  #cp .cpNotesBtnWrap {
    padding-bottom: 4px;
    -webkit-box-shadow: 0px -4px 0px 0px #d00e31 inset;
    box-shadow: 0px -4px 0px 0px #d00e31 inset;
    border-width: 3px;
  }

  #cp .cpNotesFlame {
    border-width: 3px;
  }

}

@media only screen and (min-width: 641px) {
  #cp .cpNotesBtnWrap {
    padding-bottom: 6px;
    -webkit-box-shadow: 0px -6px 0px 0px #d00e31 inset;
    box-shadow: 0px -6px 0px 0px #d00e31 inset;
  }

}

#cp .shadowJs {
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 3px 3px 0 0;
  border-radius: 3px 3px 0 0;
}

/* テキストボタン */
#cp .normalBtn {
  margin: 0 auto;
  padding: 0 8.33333% 3.125%;
}

#cp .normalBtnLink {
  display: table;
  position: relative;
  padding: 19px 45px 20px;
  margin: 0 auto;
  font-size: 16px;
  background-color: #999;
  line-height: 1.3;
  color: #FFF;
  width: 100%;
  text-align: center;
  font-weight: bold;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-shadow: 0px -5px 0px 0px #666 inset;
  box-shadow: 0px -5px 0px 0px #666 inset;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

#cp .normalBtnLink:after {
  content: "";
  position: absolute;
  background-image: url("../img/btn_arrrow.png");
  background-repeat: no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
  margin: auto;
  top: 50%;
  right: 13px;
  vertical-align: middle;
  -ms-transform: translate(-50%, -60%);
  -webkit-transform: translate(-50%, -60%);
  transform: translate(-50%, -60%);
}

#cp .normalBtnSpan {
  display: table-cell;
  text-align: center;
}

#cp .normalBtnTxt {
  display: inline-block;
}

@media only screen and (max-width: 640px) {
  #cp .normalBtnLink:after {
    width: 20px;
    height: 20px;
  }

}

@media only screen and (min-width: 641px) {
  #cp .normalBtn {
    font-size: 36px;
    width: 540px;
  }

  #cp .normalBtnLink {
    font-size: 30px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
  }

  #cp .normalBtnLink:after {
    width: 30px;
    height: 30px;
  }

}

/* 注釈全般 */
#cp .notesItem {
  padding: 0px 0px 0px 1em;
  font-size: 16px;
  text-indent: -1.0em;
}

/* dポイントクラブサイトTOPへボタン */
#cp .dpointLinkTp {
  padding: 5.2083% 8.3333%;
}

#cp .dpointBtnTp {
  display: block;
  max-width: 798px;
  margin: 0 auto;
}

/* 終了対応 */
#cp .cpCloseAlertWrp {
  width: 100%;
  display: table;
}

#cp .cpCloseAlert {
  padding-left: 19px;
  padding-bottom: 3px;
  color: #C70014;
  font-size: 14px;
  font-weight: bold;
  margin: 25px 20px 20px;
  padding: 15px;
  border: solid 1px #df6177;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  background-color: #fcf0f2;
  margin-bottom: 30px;
}

#cp .cpCloseBr {
  display: none;
}

@media screen and (max-width: 460px) {
  #cp .cpCloseBr {
    display: block;
  }

}

/* 注釈文言 */
#cp .info_wrap {
  padding: 4.166%;
  border-top: 1px solid #ccc;
}

#cp .info_mt {
  display: table;
  padding: 1em;
  border: 3px solid #bd0c2c;
  border-radius: 6px;
  background: #fff;
}

#cp .info_wrap h3 {
  margin: 0 0 0.5em;
  color: #bd0c2c;
  font-weight: bold;
  font-size: 20px; /* 20px */
  text-align: center;
  padding: 0 !important;
}

#cp .info_wrap h3::before {
  content:none !important;
}

#cp .info_wrap .info_inner {
  overflow: hidden;
}

#cp .info_wrap dd {
  display: table-cell;
  margin: 0;
}

#cp .info_wrap .info_mark {
  float: left;
  padding: 0 1em 0 0;
  box-sizing: border-box;
  max-width: 130px;
  width: 22%;
  min-width: 48px;
}

#cp .info_wrap .info_txt {
  width: 78%;
  line-height: 1.4;
  font-size: 18px; /* 18px */
}

#cp .info_wrap a {
  color: #3366ff;
  text-decoration: underline;
}

#cp .txtIndent {
  text-indent: -1em;
  padding-left: 1em;
}

/*
  インタラクティブ
----------------------------------------*/
/* カルーセル */
#cp .carouselLink {
  display: block;
}

/* アコーディオン */
#cp .displayNone {
  display: none;
}

#cp .accordion {
  font-size: 22px;
  max-width: 540px;
  margin: 0 auto;
  padding: 0 8.33333% 3.125%;
}

#cp .accordion ul {
  overflow: hidden;
  border-right: 3px solid #999;
  border-bottom: 3px solid #999;
  border-left: 3px solid #999;
  -webkit-border-radius: 0 0 3px 3px;
  border-radius: 0 0 3px 3px;
}

#cp .accordion li {
  float: left;
  width: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  text-align: center;
}

#cp .accordion a {
  display: block;
}

#cp .switch {
  cursor: pointer;
  color: #ffffff;
  font-size: 16px;
  font-weight: bold;
  padding: 19px 45px 20px;
  background: #ec265d;
  position: relative;
  text-align: center;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-shadow: 0px -5px 0px 0px #666 inset;
  box-shadow: 0px -5px 0px 0px #666 inset;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  margin: 0 auto;
  background-color: #999;
  line-height: 1.3;
  width: 100%;
}

#cp .switch:after {
  content: "";
  position: absolute;
  background-image: url("../img/btn_arrrow.png");
  background-repeat: no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
  margin: auto;
  top: 50%;
  right: 13px;
  vertical-align: middle;
  -ms-transform: translate(-50%, -60%) rotate(90deg);
  -webkit-transform: translate(-50%, -60%) rotate(90deg);
  transform: translate(-50%, -60%) rotate(90deg);
}

#cp .switch.open {
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}

#cp .switch.open:after {
  -moz-transform: translate(-50%, -60%) rotate(-90deg);
  -ms-transform: translate(-50%, -60%) rotate(-90deg);
  -webkit-transform: translate(-50%, -60%) rotate(-90deg);
  transform: translate(-50%, -60%) rotate(-90deg);
}

#cp .txtLinkBlock {
  text-align: center;
  font-size: 28px;
  font-weight: bold;
  padding: 1em 0;
}

#cp .txtLinkBlock a {
  text-decoration: underline;
}

@media only screen and (max-width: 640px) {
  #cp .switch:after {
    width: 20px;
    height: 20px;
  }

  #cp .accordion {
    font-size: 18px;
  }

}

@media only screen and (min-width: 641px) {
  #cp .accordion {
    font-size: 22px;
    width: 540px;
  }

  #cp .switch {
    font-size: 30px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
  }

  #cp .switch.open {
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-border-radius: 10px 10px 0 0;
    border-radius: 10px 10px 0 0;
  }

  #cp .switch:after {
    width: 30px;
    height: 30px;
  }

}

/* ===== faq.css ===== */

#cp div.terms .accordion_area {
  background-color: #343434;
  width: 100%;
  max-width: 100%;
  border-radius: 10px;
  padding: unset;
}

#cp div.terms .accordion_area~.accordion_area {
  margin-top: 25px;
}

#cp div.terms .accordion_area .accordion_head {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: default;
  pointer-events: none;
  font-size: 30px;
  font-weight: bold;
  color: #fff;
  padding: 13px 0 13px 0px;
  text-align: center;
}

#cp div.terms .accordion_area .accordion_head::before {
  display: none;
}

#cp div.terms .accordion_area.open .accordion_head::before {
  background-image: url(../img/minus.png);
  height: 6px;
}

#cp div.terms .accordion_area .accordion_body {
  padding: 0;
}

#cp div.terms .accordion_area .accordion_body a {
  text-decoration: underline;
  color: #437EF5;
}

#cp div.terms .accordion_area .accordion_body .inner {
  border-radius: 0 0 10px 10px;
  background-color: #fff;
  padding: 20px 30px;
  border: 2px solid #4D4D4D;
}

#cp div.terms .accordion_area .accordion_body a,
#cp div.terms .accordion_area .accordion_body p {
  font-size: 18px;
  font-weight: normal;
}

#cp div.terms .accordion_area .accordion_body h4 {
  margin: 20px 0 10px;
  padding-top: 20px;
  border-top: #707070 solid 1px;
  text-align: left;
  font-size: 22px;
  font-weight: bold;
}

#cp div.faq .faqList {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#cp div.faq .faqList li {
  list-style: none;
}

#cp div.faq .accordion_head,
#cp div.faq .accordion_body {
  position: relative;
}

#cp div.faq .accordion_head {
  width: auto;
  background-color: #2e1603;
  cursor: pointer;
  position: relative;
  padding: 20px 85px 20px 73px;
  border-radius: 10px;
  font-weight: bold;
  font-size: 22px;
  color: white;
}

#cp div.faq .accordion_head::after {
  content: '';
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-image: url(../img/plus.png);
  background-size: contain;
}

#cp div.faq .accordion_area.open .accordion_head {
  border-radius: 10px 10px 0 0;
}

#cp div.faq .accordion_area.open .accordion_head::after {
  background-image: url(../img/minus.png);
  height: 6px;
}

#cp div.faq .accordion_area summary {
  list-style: none;
}

#cp div.faq .accordion_body {
  border: 2px solid #2e1603;
  background: white;
  border-radius: 0 0 10px 10px;
}

#cp div.faq .accordion_head::before,
#cp div.faq .accordion_body::before {
  content: '';
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
  background-size: contain;
}

#cp div.faq .accordion_head::before {
  width: 30px;
  height: 30px;
  background-image: url(../img/icn_q.png);
}

#cp div.faq .accordion_body::before {
  top: 35px;
  width: 30px;
  height: 30px;
  background-image: url(../img/icn_a.png);
}

#cp div.faq .accordion_body .inner {
  padding: 15px 80px 15px 73px;
  font-size: 22px;
}

#cp div.faq .accordion_body .inner>div {
  margin: 15px 0;
}

#cp div.faq .accordion_body .inner>div~div {
  margin: unset;
}

#cp div.faq .accordion_body .inner a {
  text-decoration: underline;
  color: #437EF5;
  font-size: 22px;
}

#cp div.faq .faqList .notes_list li {
  font-size: 16px;
}

#cp .notes_list>li {
  position: relative;
  padding-left: 1em;
  font-size: 18px;
  text-indent: 0;
}

#cp .notes_list>li a {
  font-size: 18px !important;
}

#cp .notes_list02>li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 18px;
}

#cp .notes_list>li:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

#cp .notes_list_inner>li:before {
  content: "※";
  top: 0;
  left: 0;
}

#cp .notes_list.asterisk>li:before {
  content: "＊";
}

#cp .notes_list.square>li:before {
  content: "■";
}

#cp .notes_list.interpunct>li:before {
  content: "・";
}

#cp .notes_list.numbering {
  counter-reset: number 0;
}

#cp .notes_list.numbering>li {
  padding-left: 1.5em;
}

#cp .notes_list.numbering>li:before {
  counter-increment: number 1;
}

#cp .notes_list.numbering.numbering01>li:before {
  content: "※"counter(number);
}

#cp .notes_list.numbering.parenthesis>li {
  padding-left: 3em;
}

#cp .notes_list.numbering.parenthesis>li:before {
  content: "（"counter(number)"）";
}

#cp .notes_list.numbering03>li {
  padding-left: 2.5em;
}

#cp .notes_list.numbering.numbering03>li:before {
  content: "（"counter(number)"）";
}

@media screen and (max-width:640px) {
  #cp div.terms .accordion_area~.accordion_area {
    margin-top: 15px;
  }

  #cp div.terms .accordion_area {
    border-radius: 2.00000vw;
  }

  #cp div.terms .accordion_area .accordion_head {
    height: 16.00000vw;
    font-size: clamp(14px, 4.26667vw, 22px);
    padding: 0 4vw 0 0;
  }

  #cp div.terms .accordion_area .accordion_head::before {
    right: 5vw;
    width: 3.33333vw;
    height: 3.33333vw;
    background-size: cover;
  }

  #cp div.terms .accordion_area .accordion_body {
    padding: 0;
  }

  #cp div.terms .accordion_area .accordion_body .inner {
    padding: 2.66667vw 4.00000vw;
  }

  #cp div.terms .notes_list>li,
  #cp div.terms .notes_list02>li {
    font-size: 14px;
  }

  #cp div.faq .accordion_head,
  #cp div.faq .accordion_body,
  #cp div.faq .faqList .notes_list li {
    position: relative;
    font-size: clamp(14px, 4.26667vw, 22px);
  }

  #cp div.faq .accordion_body {
    margin-top: -2px;
    padding-right: 0;
  }

  #cp div.faq h2 img {
    width: 54.29467vw !important;
  }

  #cp div.faq .notes_list li {
    font-size: 4.26667vw;
  }

  #cp .notes_list>li a {
    font-size: 14px !important;
  }

}

@media screen and (max-width:640px) {
  #cp div.faq .accordion_head {
    padding: 20px 70px 20px 55px;
  }

  #cp div.faq .accordion_head::after {
    right: 5vw;
    width: clamp(15px, 4.26667vw, 30px);
    height: clamp(15px, 4.26667vw, 30px);
  }

  #cp div.faq .accordion_head::before,
  #cp div.faq .accordion_body::before {
    left: 15px;
  }

  #cp div.faq .accordion_area.open .accordion_head::after {
    height: clamp(2px, 1.26667vw, 6px);
  }

  #cp div.faq .accordion_body .inner {
    padding: 15px 70px 15px 57px;
    font-size: 14px;
  }

  #cp div.faq .accordion_body::before {
    top: 29px;
  }

  #cp div.faq .accordion_body .inner a {
    font-size: 14px;
  }

  #cp div.terms .accordion_area .accordion_head::before {
    width: clamp(15px, 4.26667vw, 30px);
    height: clamp(15px, 4.26667vw, 30px);
  }

  #cp div.terms .accordion_area.open .accordion_head::before {
    height: clamp(2px, 1.26667vw, 6px);
  }

  #cp div.terms .accordion_area .accordion_body h4 {
    font-size: 16px;
  }

  #cp div.terms .accordion_area .accordion_body a,
  #cp div.terms .accordion_area .accordion_body p {
    font-size: 14px;
    font-weight: normal;
  }

}

/* ===== include.css ===== */

#cp .mod-section-head {
  height: clamp(80px, 12.8vw, 123px);
  display: flex;
  align-items: center;
  justify-content: center;
  border-top-left-radius: clamp(8px, 1.67vw, 16px);
  border-top-right-radius: clamp(8px, 1.67vw, 16px);
  margin-top: calc(clamp(8px, 1.67vw, 16px) * -1);
}

#cp .mod-section-head h3 {
  font-size: clamp(28px, 5.625vw, 54px);
  color: #fff;
}

#cp .mod-section-body {
  padding:
  clamp(24px, 4.17vw, 40px) clamp(16px, 3.13vw, 30px) clamp(40px, 10vw, 96px) clamp(16px, 3.13vw, 30px);
}

#cp .section-campaign h4 {
  font-weight: bold;
  font-size: 32px;
  color: #211002;
  margin-bottom: clamp(12px, 2.08vw, 20px);
}

#cp .section-campaign h5 {
  font-weight: 500;
  font-size: 22px;
}

#cp .section-campaign .mod-section-body-content:nth-child(2) h5 {
  margin-bottom: clamp(12px, 2.08vw, 20px);
}

#cp .section-campaign .mod-section-body-content ul {
  display: flex;
  flex-direction: column;
  gap: clamp(2px, 0.5vw, 5px);
}

#cp .section-campaign .mod-section-head,
#cp .section-contact .mod-section-head {
  background-color: #211002;
}

#cp .section-campaign .mod-section-body,
#cp .section-contact .mod-section-body {
  background-color: #fff6df;
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 4.17vw, 40px);
}

#cp .section-campaign .mod-section-body-content,
#cp .section-contact .mod-section-body-content {
  border-color: #211002;
  padding: clamp(24px, 4.17vw, 40px) clamp(16px, 2.5vw, 24px);
}

#cp .section-contact h4 {
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  margin-bottom: clamp(20px, 3.33vw, 32px);
}

#cp .section-contact h4:nth-of-type(2) {
  margin-top: clamp(30px, 5.21vw, 50px);
}

#cp .section-contact h5 {
  margin-bottom: clamp(12px, 2.08vw, 20px);
}

#cp .section-contact h5,
#cp .section-contact h5 a {
  font-weight: bold;
  font-size: 22px;
}

#cp .section-contact .notesIndentList {
  margin-bottom: clamp(12px, 2.08vw, 20px);
}

#cp .section-contact .notesIndentList:last-child {
  margin-bottom: 0;
}

#cp .section-double-point {
  margin-top: clamp(48px, 9.17vw, 88px);
  padding-right: clamp(16px, 3.13vw, 30px);
  padding-bottom: clamp(24px, 8.33vw, 80px);
  padding-left: clamp(16px, 3.13vw, 30px);
}

#cp .section-double-point img {
  width: clamp(280px, 83.33vw, 800px);
  margin: 0 auto;
  display: block;
}

#cp .section-double-point .notesIndentList {
  margin-top: clamp(24px, 4.17vw, 40px);
}

#cp .section-double-point .notesIndentList a {
  display: inline;
}

#cp .section-code .contsTxt {
  padding-left: 30px;
  padding-right: 30px;
  max-width: 960px;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
}

#cp .section-code .contsTxt+p {
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
  background-color: #fff;
  padding-bottom: 40px;
}

@media screen and (max-width: 640px) {
  #cp .mod-section-head {
    height: 17.6vw;
    border-top-left-radius: 2.6667vw;
    border-top-right-radius: 2.6667vw;
    margin-top: calc(2.6667vw * -1);
  }

  #cp .mod-section-body {
    padding: 5.3333vw 3.2vw 13.3333vw 3.2vw;
  }

  #cp .section-campaign h4 {
    font-size: 17px;
    margin-bottom: 2.6667vw;
  }

  #cp .section-campaign h5 {
    font-size: 15px;
  }

  #cp .section-campaign .mod-section-body-content ul {
    gap: 0.5vw;
  }

  #cp .section-campaign .mod-section-body,
  #cp .section-contact .mod-section-body {
    gap: 5.3333vw;
  }

  #cp .section-campaign .mod-section-body-content,
  #cp .section-contact .mod-section-body-content {
    padding: 5.3333vw 4vw;
  }

  #cp .section-campaign .mod-section-body-content:nth-child(2) h5 {
    margin-bottom: 2.6667vw;
  }

  #cp .section-contact h4 {
    font-size: 17px;
    margin-bottom: 3.2vw;
  }

  #cp .section-contact h5,
  #cp .section-contact h5 a {
    font-size: 15px;
  }

  #cp .section-contact h5 {
    margin-bottom: 2.6667vw;
  }

  #cp .section-contact h4:nth-of-type(2) {
    margin-top: 5.3333vw;
  }

  #cp .section-contact h5:nth-of-type(2)+p {
    margin-bottom: 2.6667vw;
  }

  #cp .section-double-point {
    margin-top: 10.6667vw;
    padding-right: 3.2vw;
    padding-bottom: 10.6667vw;
    padding-left: 3.2vw;
  }

  #cp .section-double-point img {
    width: 100%;
  }

  #cp .section-code .contsTxt {
    padding-bottom: 10.6667vw;
  }

  #cp .section-code .contsTxt p {
    font-size: 15px;
  }

  #cp .section-code .contsTxt+p {
    padding-left: calc(3.2vw + 1em);
    padding-right: 3.2vw;
    padding-bottom: 12.5vw;
    text-indent: -1em;
  }

}

/* ===== style.css ===== */

#cp .pc_only {
  display: block !important;
}

#cp .sp_only {
  display: none !important;
}

#cp .only_900 {
  display: none !important;
}

#cp .fwB {
  font-weight: bold !important;
}

#cp:not(#cp-noop) {
  line-height: 1.7;
}

#cp:not(.cp-noop):not(.cp-noop) img {
  display: block;
  width: auto;
  max-width: 100%;
}

#cp:not(.cp-noop):not(.cp-noop) a {
  display: inline;
  color: #006BE5;
  text-decoration: underline;
  line-break: anywhere;
}

#cp:not(.cp-noop) .btnBlock .redBtn {
  box-shadow: 0px -7px 0px 0px #a2031f inset;
}

#cp:not(.cp-noop) .btnBlock a {
  padding: 18px 45px 22px;
  display: inline-table;
  color: #fff;
}

@media screen and (min-width:640px) {
  #cp:not(.cp-noop) .btnBlock .normalBtnLink:after {
    margin-top: 2px;
  }

}

@media screen and (max-width:640px) {
  #cp:not(.cp-noop) .btnBlock a {
    font-size: 18px;
  }

}

#cp:not(.cp-noop) {
  font-family: "Noto Sans JP", sans-serif;
}

#cp .contsTtl .redH {
  background: #d00f31;
}

#cp .redBtn {
  background-color: #d00f31;
  -webkit-box-shadow: 0px -5px 0px 0px #a2031f inset;
  box-shadow: 0px -5px 0px 0px #a2031f inset;
}

#cp .cpBtnY {
  background: #fad025;
  color: #111111;
  -webkit-box-shadow: 0px -5px 0px 0px #b39f3f inset;
  box-shadow: 0px -5px 0px 0px #b39f3f inset;
}

#cp .cpBtnG {
  background: #2dad55;
  -webkit-box-shadow: 0px -5px 0px 0px #1f823e inset;
  box-shadow: 0px -5px 0px 0px #1f823e inset;
}

#cp .dbaraiBtn {
  margin: 0 auto;
  padding: 0 13.54167% 3.125%;
}

#cp .dbaraiList01 {
  padding: 0 5%;
  overflow: hidden;
  background: url("../img/imgparts9_2_01_bg.png") repeat-y;
}

#cp .dbaraiList02 {
  padding: 0 5%;
  overflow: hidden;
  background: url("../img/imgparts9_5_01_bg.png") repeat-y;
}

#cp .dbaraiList03 {
  padding: 0 5%;
  overflow: hidden;
  background: url("../img/imgparts9_8_01_bg.png") repeat-y;
}

#cp .dbaraiList01 li,
#cp .dbaraiList02 li,
#cp .dbaraiList03 li {
  width: 31.945%;
  float: left;
  margin-right: 2.085%;
}

#cp .dbaraiList01 li:nth-child(3n+0),
#cp .dbaraiList02 li:nth-child(3n+0),
#cp .dbaraiList03 li:nth-child(3n+0) {
  margin-right: 0;
  margin-bottom: 3%;
}

#cp .kome {
  color: white;
}

#cp .festa_body .kome {
  color: #000000;
}

#cp .kome li {
  font-size: 18px;
  padding-left: 18px;
  text-indent: -18px;
}

#cp .kome li::before {
  content: '※';
}

#cp .dotList li {
  padding-left: 20px;
  text-indent: -20px;
}

#cp .dotList li::before {
  content: '・';
}

#cp .kv_area {
  padding-bottom: 2px;
  background-color: #211002;
}

#cp .kv_area h1 {
  margin-bottom: 0;
}

/* KVは960px幅での入稿を前提としているが、それ未満の画像が入ると
   width:auto のまま左端に寄り、右側だけ .kv_area の赤地が残ってしまう */
#cp .kv_area h1 img {
  margin-left: auto;
  margin-right: auto;
}

#cp .festa_area {
  position: relative;
  padding: 30px 30px 80px;
  background-color: #be0807;
}

#cp .festa_ttl {
  padding: 50px 10px;
  position: relative;
  z-index: 10;
  background-color: #fff6df;
  text-align: center;
  color: #2a1206;
  font-size: 24px;
  font-weight: 500;
}

@media screen and (max-width:900px) {
  #cp .festa_ttl {
    padding: 20px 10px;
    font-size: 19px;
  }
}

#cp .festa_ttl>p {
  margin-bottom: 30px;
  font-weight: bold;
  color: white;
  font-size: 48px;
  text-align: center;
  letter-spacing: -1px;
  line-height: 1.4;
}

#cp span.bigY {
  font-size: 70px;
  color: #FDFA15;
}

#cp .festa_ttl .kome {
  max-width: 800px;
  margin: 0 auto;
}

#cp .festa_box {
  border-radius: 10px;
  overflow: hidden;
}

#cp .festa_head {
  padding: 19px;
  background-color: #211002;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 54px;
}

#cp .festa_body {
  padding: 40px 40px 60px;
  background-color: white;
}

#cp .festa_body>p {
  font-size: 18px;
}

#cp .goods_list_flex {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 0;
  justify-content: space-between;
}

#cp .goods_list {
  flex-basis: 47.5%;
  display: flex;
  justify-content: center;
  gap: 20px;
}

#cp a.goodsList_Btn {
  width: fit-content;
}

#cp .goods_box {
  width: 42%;
}

#cp .goods_box img {
  border: 2px solid #D0D0D0;
  border-radius: 10px;
  overflow: hidden;
}

#cp .goods_list>p {
  width: 60%;
  font-size: 20px;
}

#cp .goodsList_Btn {
  margin: 40px auto;
  text-align: center;
}

#cp a.goodsList_Btn._02 {
  display: block;
}

#cp .tableBlue {
  width: 100%;
  border: 2px solid #7b624a;
  border-collapse: collapse;
  border-radius: 10px;
  border-style: hidden;
  box-shadow: 0 0 0 2px #7b624a;
  overflow: hidden;
}

#cp .tableBlue td {
  padding: 30px 18px;
  font-size: 20px;
  border: 2px solid #7b624a;
}

#cp .tableBlue tr:first-child td {
  padding: 20px 10px;
  background-color: #f39b00;
  text-align: center;
}

#cp .tableBlue tr .tableBlueT {
  color: #1C4493;
  font-weight: bold;
}

#cp .goods_area .tableBlue {
  margin-bottom: 30px;
}

#cp .goods_area .tableBlue td {
  width: 50%;
  border: unset;
}

#cp .etc_goods_area {
  display: flex;
  width: 90%;
  gap: 25px;
  margin: 0 auto;
  flex-direction: column;
}

#cp .etc_goods_area div {
  display: flex;
  align-items: center;
  gap: 20px;
}

#cp .etc_goods_area div img {
  width: 130px !important;
  flex-basis: 20%;
  border: 2px solid #D0D0D0;
  border-radius: 10px;
  overflow: hidden;
}

#cp .etc_goods_area div p {
  flex-basis: 74%;
  font-size: 18px;
}

#cp .tableBlue .notesIndentList {
  padding: 20px 30px 0 30px;
}

#cp .tableBlue .notesIndentList .notesIndent {
  font-size: 18px;
  line-height: 1.6;
}

#cp .store_area {
  margin-top: 80px;
}

#cp p.line_ttl {
  margin-bottom: 20px;
  padding-left: 10px;
  font-size: 22px;
  color: #333333;
  font-weight: bold;
  border-left: solid 6px #1C4493;
}

#cp .store_area .festa_body .tableBlue tr:first-child {
  font-weight: bold;
  color: #211002;
  text-align: center;
}

#cp .store_area .festa_body>.tableBlue {
  margin: 20px auto;
}

#cp .store_area .festa_body>.tableBlue tr td:first-child {
  width: 30%;
}

#cp .store_area .festa_body>.tableBlue tr td:nth-child(2) {
  width: 46%;
}

#cp .store_area .festa_body .tableBlue td:first-child {
  width: 27%;
}

#cp .store_area .accordionBlock {
  width: 100%;
  max-width: 100%;
  padding: unset;
  margin-top: 60px;
  border-radius: 10px;
  background-color: #1C4493;
}

#cp .store_area .accordionBlock .head {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 88px;
  cursor: pointer;
  font-size: 30px;
  font-weight: 600;
  color: #fff;
  background-color: #211002;
  text-align: center;
  text-decoration: none;
  border-radius: 10px;
  list-style: none;
}

/* Safari は display 変更だけでは開閉三角が消えないため個別に打ち消す */
#cp .store_area .accordionBlock .head::-webkit-details-marker {
  display: none;
}

#cp .store_area .accordionBlock .head::before {
  content: '';
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-image: url(../img/plus.png);
  background-size: contain;
}

#cp .store_area .accordionBlock.open .head::before {
  background-image: url(../img/minus.png);
  height: 6px;
}

/* 開閉は details 要素が持つため display は指定しない。
   faq.js が height をアニメーションさせるので overflow を閉じておく。 */
#cp .store_area .accordionBlock .body {
  overflow: hidden;
  background: white;
  border: #211002 solid 2px;
  border-radius: 0 0 10px 10px;
}

#cp .store_area .accordionBlock .body .inner {
  border-radius: 10px;
  background-color: #fff;
  padding: 40px 30px 60px;
}

#cp .store_area .accordionBlock .body p {
  margin-bottom: 36px;
  font-size: 20px;
}

#cp .sns_area {
  width: 100%;
  max-width: 750px;
  padding: 40px;
  text-align: center;
  margin: 40px auto 0;
  background: white;
  font-weight: bold;
  color: #8F8C8C;
  box-sizing: border-box;
}

#cp .sns_area p {
  font-size: 30px;
}

#cp .sns_flex {
  display: flex;
  margin-top: 30px;
  gap: 33px;
  justify-content: center;
  align-items: center;
}

#cp .sns_flex * {
  width: 50px;
}

#cp .sns_flex img.logo_x {
  width: 47px;
}

/*共通CSS*/
#cp .mod-section * {
  font-size: 18px;
}

#cp .mod-section-head {
  position: relative;
}

#cp .mod-section-head h3 {
  font-size: clamp(28px, 5.625vw, 54px);
  color: #fff;
}

#cp .mod-section-body-content {
  border: 2px solid #000;
  border-radius: clamp(10px, 2.08vw, 20px);
  background-color: #fff;
}

#cp .section-faq .mod-section-head {
  background-color: #211002;
}

#cp .section-faq .mod-section-body {
  background-color: #FFF9C7;
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 4.17vw, 40px);
}

#cp .section-faq .mod-section-body-content {
  border-color: #1C4493;
  padding: clamp(24px, 4.17vw, 40px) clamp(16px, 2.5vw, 24px);
}

#cp .section-faq .mod-section-body-content h5,
#cp .section-policy .mod-section-body-content h5,
#cp .section-faq .mod-section-body-content h5 a,
#cp .section-policy .mod-section-body-content h5 a {
  font-size: 22px;
}

#cp .condition h5 {
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  margin-top: clamp(30px, 3.5vw, 35px);
  margin-bottom: clamp(20px, 3.33vw, 32px);
}

#cp .point_img-single {
  display: flex;
  justify-content: center;
}

#cp .point_img-single img {
  width: 70% !important;
}

#cp .point_img-double {
  display: flex;
  justify-content: space-between;
}

#cp .point_img-double img {
  width: 49% !important;
}

#cp .point_flex {
  display: flex;
  justify-content: space-between;
}

#cp .point_flex table {
  width: 49%;
  border-collapse: collapse;
}

#cp .patternA tr,
#cp .patternA td {
  padding: 5px 20px;
  border: 2px solid #1C4493;
}

#cp .patternA tr td {
  font-size: 20px;
  color: #1C4493;
}

#cp .patternA tr td:first-child {
  background: #E2F5FD;
  font-size: 22px;
  font-weight: bold;
}

#cp .patternB tr,
#cp .patternB td {
  padding: 5px 20px;
  border: 2px solid #D80010;
}

#cp .patternB tr td {
  font-size: 20px;
  color: #D80010;
}

#cp .patternB tr td:first-child {
  background: #FFEFEF;
  font-size: 22px;
  font-weight: bold;
}

#cp .point_table {
  margin: 30px auto;
  border-collapse: collapse;
  text-align: left;
}

#cp .point_table th {
  width: 17.5%;
  padding: 4px 7px;
  background: #F5F5F5;
  font-size: 14px;
  font-weight: normal;
}

#cp .point_table tr,
#cp .point_table td {
  border: solid 1px black;
  font-size: 14px;
  font-weight: 500;
  vertical-align: middle;
}

#cp .point_table td {
  width: 12.5%;
  text-align: center;
}

#cp .point_table tr:first-child td {
  padding: 11px 8px;
  background: #FFFFFF;
  color: black;
  text-align: left;
}

#cp .point_table td.td_Pb {
  color: #E74863;
  background: #FFEFEF;
}

#cp .point_table td.td_Pa {
  color: #1C4493;
  background: #ECF9FE;
}

#cp .point_table td.td_none {
  color: #000000;
  background: #fff;
}

#cp .section-policy {
  background-color: #F5F5F5;
}

#cp .section-policy .mod-section-head {
  height: unset;
  margin-top: unset;
}

#cp .section-policy h3 {
  color: #1c1c1c;
  margin-top: clamp(40px, 8.33vw, 80px);
}

#cp .section-policy .mod-section-body-content {
  border-color: #4D4D4D;
  padding: clamp(24px, 4.17vw, 40px) clamp(16px, 2.5vw, 24px);
}

#cp .section-double-point *,
#cp .section-code * {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
}

#cp .back_btn {
  margin-top: 80px;
}

#cp .back_btn a {
  display: flex !important;
  position: relative;
  width: 760px;
  max-width: 100%;
  height: 100px;
  margin: 0 auto;
  background: #CC0033;
  border-radius: 60px;
  text-decoration: unset !important;
  color: #fff !important;
  font-weight: bold;
  text-align: center;
  font-size: clamp(27px, 3.5vw, 32px);
  justify-content: center;
  align-items: center;
}

#cp .back_btn a::before {
  position: absolute;
  content: '';
  background: url(../img/red_arrow.png);
  width: 38px;
  height: 38px;
  top: 50%;
  transform: translateY(-50%);
  left: 3%;
  background-size: contain;
}

#cp .section-code .textCenter {
  padding-bottom: 40px;
}

@media screen and (max-width:900px) {
  #cp .only_900 {
    display: block !important;
  }

}

@media screen and (max-width:800px) {
  #cp .goods_list>p {
    width: 60%;
    font-size: 15px;
  }

}

@media screen and (max-width:640px) {
  #cp .pc_only {
    display: none !important;
  }

  #cp .sp_only {
    display: block !important;
  }

  #cp .only_900 {
    display: block !important;
  }

  #cp .kome li {
    font-size: 14px;
    padding-left: 14px;
    text-indent: -14px;
  }

  #cp .dotList li {
    padding-left: 15px;
    text-indent: -15px;
  }

  #cp .festa_area {
    position: relative;
    padding: 15.63vw 3.75vw 12.5vw;
  }

  #cp .festa_area::after {
    width: 100%;
    height: 215px;
  }

  #cp .festa_ttl>p {
    margin-bottom: 4.69vw;
    font-size: 27px;
  }

  #cp span.bigY {
    font-size: 40px;
  }

  #cp .festa_ttl .kome {
    max-width: 100.47vw;
  }

  #cp .festa_head {
    padding: 3.44vw;
    font-size: 30px;
  }

  #cp .festa_body {
    padding: 6.25vw 4.69vw;
  }

  #cp .festa_body>p {
    font-size: 14px;
  }

  #cp .goods_area {
    margin-top: 12.5vw;
  }

  @media screen and (max-width:900px) {
    #cp .goods_area {
      margin-top: -20px;
    }
  }

  #cp .goods_list_flex {
    gap: 6.25vw;
    flex-direction: column;
  }

  #cp .goods_list_flex.slide {
    margin-top: 6.25vw;
  }

  #cp .goods_list {
    gap: 5.81vw;
    align-items: center;
  }

  #cp .goods_box {
    width: 28.13vw;
  }

  #cp .goods_list>p {
    width: 49.38vw;
    font-size: 15px;
  }

  #cp .goodsList_Btn {
    margin: 6.25vw auto;
  }

  #cp .tableBlue td {
    padding: 6.25vw 2.81vw;
    font-size: 15px;
  }

  #cp .tableBlue tr:first-child td {
    padding: 2.34vw;
  }

  #cp .goods_area .tableBlue {
    margin-bottom: 6.25vw;
  }

  #cp .etc_goods_area {
    display: flex;
    width: 100%;
    gap: 15px;
    margin: 0 auto;
    flex-direction: column;
  }

  #cp .etc_goods_area div {
    gap: 15px;
  }

  #cp .etc_goods_area div img {
    width: 28vw !important;
  }

  #cp .etc_goods_area div p {
    font-size: 14px;
  }

  #cp .tableBlue .notesIndentList {
    padding: 25px 0 0 0;
  }

  #cp .tableBlue .notesIndentList .notesIndent {
    font-size: 14px;
  }

  #cp .store_area {
    margin-top: 12.5vw;
  }

  #cp p.line_ttl {
    margin-bottom: 2.97vw;
    padding-left: 14px;
    font-size: 16px;
  }

  #cp .store_area .festa_body>.tableBlue {
    margin: 6.25vw auto;
  }

  #cp .store_area .festa_body>.tableBlue tr td:first-child {
    width: 36%;
  }

  #cp .store_area .festa_body>.tableBlue tr td:nth-child(2) {
    width: 36%;
  }

  #cp .store_area .festa_body>.tableBlue tr td:nth-child(3) {
    width: 25%;
  }

  #cp .store_area .accordionBlock {
    margin-top: 6.25vw;
  }

  #cp .store_area .accordionBlock .head {
    height: 18.28vw;
    font-size: 19px;
  }

  #cp .store_area .accordionBlock .head::before {
    content: '';
    position: absolute;
    right: 4vw;
    top: 50%;
    transform: translateY(-50%);
    width: 4vw;
    height: 4vw;
    background-image: url(../img/plus.png);
    background-size: contain;
  }

  #cp .store_area .accordionBlock.open .head::before {
    background-image: url(../img/minus.png);
    height: 4px;
  }

  #cp .store_area .accordionBlock .body .inner {
    padding: 6.25vw 3.13vw;
  }

  #cp .store_area .accordionBlock .body p {
    margin-bottom: 4.69vw;
    font-size: 15px;
  }

  #cp .sns_area {
    padding: 20px;
    margin: 5vw auto 0;
  }

  #cp .sns_area p {
    font-size: 20px;
  }

  #cp .sns_flex {
    margin-top: 5vw;
    gap: 15px;
  }

  #cp .sns_flex * {
    width: 10vw;
    max-width: 50px;
  }

  #cp .sns_flex img.logo_x {
    width: 8.8vw;
  }

  #cp .point_img {
    flex-direction: column;
    gap: 4vw;
  }

  #cp .point_img img {
    width: 100% !important;
  }

  #cp .mod-section * {
    font-size: 14px;
  }

  #cp .condition h5 {
    font-size: 17px;
    margin-top: 7vw;
    margin-bottom: 3.2vw;
  }

  #cp .point_flex {
    flex-direction: column;
  }

  #cp .point_flex table {
    width: 100%;
    text-align: center;
  }

  #cp .point_flex table:first-child {
    margin-bottom: 3.5vw;
  }

  #cp .patternA tr td:first-child {
    font-size: 15px;
  }

  #cp .patternA tr td {
    font-size: 15px;
  }

  #cp .patternB tr td:first-child {
    font-size: 15px;
  }

  #cp .patternB tr td {
    font-size: 15px;
  }

  #cp .patternA tr,
  #cp .patternA td {
    padding: 5px 10px;
  }

  #cp .patternB tr,
  #cp .patternB td {
    padding: 5px 10px;
  }

  #cp .point_table th {
    padding: 3px;
  }

  #cp .point_table td {
    padding: 3px;
  }

  #cp .section-faq .mod-section-body-content h5,
  #cp .section-policy .mod-section-body-content h5,
  #cp .section-faq .mod-section-body-content h5 a,
  #cp .section-policy .mod-section-body-content h5 a {
    font-size: 17px;
  }

  #cp .section-faq .mod-section-body {
    gap: 5.3333vw;
  }

  #cp .section-faq .mod-section-body-content {
    padding: 5.3333vw 4vw;
  }

  #cp .section-double-point *,
  #cp .section-code * {
    font-size: 14px;
  }

  #cp .back_btn {
    margin-top: 12vw;
  }

  #cp .back_btn a {
    width: 642px;
    height: 80px;
    font-size: 20px;
  }

  #cp .section-campaign h4 {
    font-size: 19px !important;
  }

}

@media screen and (max-width:370px) {
  #cp .store_area .accordionBlock .head {
    font-size: 17px;
  }

  #cp .back_btn a {
    font-size: 16px;
  }

  #cp .back_btn a::before {
    width: 30px;
    height: 30px;
  }

}

/*個別ページCSS*/
#cp .c205 span.bigY,
#cp .c303 span.bigY,
#cp .c701 span.bigY {
  font-size: 64px;
}

@media screen and (max-width:640px) {
  #cp .c204 span.bigY,
  #cp .c205 span.bigY,
  #cp .c303 span.bigY,
  #cp .c701 span.bigY {
    font-size: 39px;
  }

}

