@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Shippori+Mincho:wght@400;700&family=Roboto:wght@500&display=swap');


/* 汎用レイアウト */
.l-content {
  width: 90%;
  margin: 0 auto;
}
@media screen and (min-width:1024px) {
  .l-content {
    width: 980px;
    max-width: 100%;
  }
}

/* 汎用インナー */
.l-box {
}
.l-box_inner {
  padding: 0 3.90625vw; /* 40px / 1024px * 100vw */
}

@media screen and (min-width: 769px) {
  .l-box_inner {
    padding: 0 3.90625vw;  /* 40px / 1024px * 100vw */
  }
}
@media screen and (min-width: 1024px) {
  .l-box_inner {
    padding: 0 40px;
  }
}


/* 汎用背景 */
.l-bg.-type01 {
}
.l-bg.-type02 {
  background-color: #f5f5f5;
}

/* 汎用flex */
.l-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.l-flex.-pc0500sp1000 .l-flex-item {
  width: 100%;
}

.l-flex.-pc0475sp1000 .l-flex-item {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .l-flex.-pc0500sp1000 .l-flex-item {
    width: 50%;
  }

  .l-flex.-pc0475sp1000 .l-flex-item {
    width: 47.5%; /* 430px / 900px * 100% */
  }
}

/* 汎用grid */
.l-grid {
  display: grid;
  justify-content: space-between;
  align-items: stretch;
}
.l-grid.-half {
  grid-template-columns: repeat(1, 1fr);
}
.l-grid.-gap020 {
  gap: 1.953125vw 1.953125vw;  /* 20px / 1024px * 100vw */
}
.l-grid.-gap040 {
  gap: 3.90625vw 3.90625vw;  /* 40px / 1024px * 100vw */
}

.l-grid.-half.-halfCenter {
  grid-template-columns: repeat(1, 1fr);
}
.l-grid.-half.-halfCenter.-gap020 {
  gap: 0 1.953125vw;  /* 20px / 1024px * 100vw */
}
.l-grid.-half.-halfCenter.-gap040 {
  gap: 0 3.90625vw;  /* 40px / 1024px * 100vw */
}
.l-grid.-half.-halfCenter .l-grid-item {
  justify-content: center;
}

@media screen and (min-width: 769px) {
  .l-grid.-gap020 {
    gap: 0 1.953125vw;  /* 20px / 1024px * 100vw */
  }
  .l-grid.-gap040 {
    gap: 0 3.90625vw;  /* 40px / 1024px * 100vw */
  }

  .l-grid.-half {
    grid-template-columns: repeat(2, 1fr);
  }

  .l-grid.-half.-halfCenter {
    grid-template-columns: 1fr calc(50% - (1.953125vw / 2)) 1fr;
  }
}
@media screen and (min-width: 1024px) {
  .l-grid.-gap020 {
    gap: 0 20px;
  }
  .l-grid.-gap040 {
    gap: 0 40px;
  }

  .l-grid.-half.-halfCenter {
    grid-template-columns: 1fr calc(50% - (20px / 2)) 1fr;
  }
}


/* 汎用ボックス */
.p-box {
  box-sizing: border-box;
}
.p-box.-ib {
  display: inline-block;
}
.p-box.-inline {
  display: inline;
}
.p-box.-block {
  display: block;
}

.p-box.-note01 {
  padding: 1.953125vw 3.90625vw;  /* 40px / 1024px * 100vw */
  background-color: #ededed;
}
.p-box.-note02 {
  padding: 1.953125vw 3.90625vw 3.90625vw;  /* 40px / 1024px * 100vw */
  background-color: #ededed;
}

.p-box.-ttl06box1 {
  padding: 12px 1em; /* 14px * 0.8 = 11.2px */
  box-sizing: border-box;
  color: #ffffff;
  background-color: #d80c18;
}
.p-box.-ttl06box1 span {
  display: inline-block;
  transform: translateY(-1px);
}

.p-box.-detailttl01box1 {
  padding: 5px 1em; /* 6px * 0.8 = 4.8px */
  border-top: 2px solid #d80c18;
  border-bottom: 2px solid #d80c18;
  box-sizing: border-box;
  color: #d80c18;
}
.p-box.-detailttl01box1 span {
  display: inline-block;
  transform: translateY(-1px);
}

.p-box.-detailttl01box2 {
  padding: 3px 1em; /* 4px * 0.8 = 3.2px */
  box-sizing: border-box;
  color: #ffffff;
  background-color: #eb9d7b;
}
.p-box.-detailttl01box2 span {
  display: inline-block;
  transform: translateY(-1px);
}

.p-box.-detailttl01box3 {
  padding: 10px 1em; /* 12px * 0.8 = 9.6px */
  box-sizing: border-box;
  color: #ffffff;
  background-color: #aa8947;
}
.p-box.-detailttl01box3 span {
  display: inline-block;
  transform: translateY(-1px);
}

.p-box.-detailttl02box {
  padding: 8px 1em; /* 10px * 0.8 = 8px */
  box-sizing: border-box;
  color: #ffffff;
  background-color: #aa8947;
}
.p-box.-detailttl02box span {
  display: inline-block;
  transform: translateY(-1px);
}

.p-box.-detailttl04box1 {
  padding: 7px 8px; /* 8px * 0.8 = 6.4px、10px * 0.8 = 8px */
  border-top: 1px solid #d80c18;
  border-bottom: 1px solid #d80c18;
  box-sizing: border-box;
  color: #d80c18;
}
.p-box.-detailttl04box1 span {
  display: inline-block;
  transform: translateY(-1px);
}

.p-box.-detailttl04box2 {
  padding: 9px 1em; /* 4px * 0.8 = 3.2px */
  box-sizing: border-box;
  color: #000000;
  background-color: rgba(235, 157, 123, 0.3);
  font-feature-settings: "palt";
}
.p-box.-detailttl04box2 span {
  display: inline-block;
  transform: translateY(-1px);
}

.p-box.-detailttl05box2 {
  padding: 8px 8px;
  /* border: 2px solid #124a47; */
  box-sizing: border-box;
  color: #ffffff;
  background-color: #d80c18;
}
.p-box.-detailttl05box2 span {
  display: inline-block;
  transform: translateY(-1px);
}

.p-box.-detailttl06box, .p-box.-detailttl06box1 {
  padding: 12px 1em; /* 14px * 0.8 = 11.2px */
  box-sizing: border-box;
  color: #ffffff;
  background-color: #950006;
}
.p-box.-detailttl06box span, .p-box.-detailttl06box1 span {
  display: inline-block;
  transform: translateY(-1px);
}

.p-box.-detailttl06box {
  position: relative;
}

.p-box.-detailttl06box::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 15px;
  transform: translateY(-50%) rotate(0);
  width:0;
  height:0;
  border-style:solid;
  border-width: 6.4px 5.6px 0 6.4px;  /* 8px * 0.8 = 6.4px ,  7px * 0.8 = 5.6px */
  border-color: #ffffff transparent transparent transparent;
  transition: transform 0.3s ease 0s;
}
.p-box.active.-detailttl06box::after {
  transform: translateY(-50%) rotate(180deg);
}

.p-box.-detailttl06box2 {
  padding: 12px 1em; /* 14px * 0.8 = 11.2px */
  box-sizing: border-box;
  color: #ffffff;
  background-color: #950006;
  position: relative;
}
.p-box.-detailttl06box3 {
  padding: 12px 1em; /* 14px * 0.8 = 11.2px */
  box-sizing: border-box;
  color: #ffffff;
  background-color: #950006;
  position: relative;
}

.p-box.-detailttl06box2::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width:0;
  height:0;
  border-style:solid;
  border-width: 6.4px 5.6px 0 6.4px;  /* 8px * 0.8 = 6.4px ,  7px * 0.8 = 5.6px */
  border-color: #ffffff transparent transparent transparent;
  transition: transform 0.3s ease 0s;
}
.p-box.active.-detailttl06box2::after {
  transform: translateY(-50%) rotate(180deg);
}

@media screen and (min-width:769px) {
  .p-box.-detailttl06box::after {
    right: 41px;
    border-width: 7px 8px 0 8px;
  }
  .p-box.-detailttl06box2::after {
    right: 41px;
    border-width: 8px 7px 0 8px;
  }

  .p-box.-ttl05box {
    padding: 10px 10px;
  }

  .p-box.-ttl06box1 {
    padding: 15px 19px;
  }

  .p-box.-detailttl01box1 {
    padding: 7px 1em;
  }

  .p-box.-detailttl02box {
    padding: 4px 1em;
  }

  .p-box.-detailttl02box {
    padding: 12px 1em;
  }

  .p-box.-detailttl02box {
    padding: 10px 1em;
  }

  .p-box.-detailttl04box1 {
    padding: 8px 10px;
  }

  .p-box.-detailttl05box1 {
    padding: 10px 10px;
  }

  .p-box.-detailttl05box2 {
    padding: 13px 0 17px;
  }

  .p-box.-detailttl06box, .p-box.-detailttl06box1 {
    padding: 9px 0;
  }

  .p-box.-detailttl06box2 {
    padding: 9px 0;
  }

  .p-box.-detailttl06box3 {
    padding: 9px 0;
  }
}
@media screen and (min-width: 1024px) {
  .p-box.-note01 {
    padding: 20px 40px;
    background-color: #ededed;
  }
  .p-box.-note02 {
    padding: 20px 40px 40px;
    background-color: #ededed;
  }
}


/* 汎用テキスト */
.p-text.-regular {
  font-weight: 400 !important;
}
.p-text.-medium {
  font-weight: 500 !important;
}
.p-text.-bold {
  font-weight: 700 !important;
}

.p-text.-left {
  text-align: left !important;
}
.p-text.-center {
  text-align: center !important;
}
.p-text.-right {
  text-align: right !important;
}
.p-text.-justify {
  text-align: justify !important;
}

.p-text.-h1 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 30px;
  line-height: 1.5;
  font-weight: 700;
}

.p-text.-ttl01 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 14.4px;  /* 18px * 0.8 = 14.4px */
  line-height: 1.6;
  font-weight: 400;
}

.p-text.-ttl02 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 19.2px;  /* 24px * 0.8 = 19.2px */
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.18em;
}

.p-text.-ttl03 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 32px;  /* 40px * 0.8 = 32px */
  line-height: 1.5;
  font-weight: 700;
}

.p-text.-ttl04 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 12.8px;  /* 16px * 0.8 = 12.8px */
  line-height: 1.5;
  font-weight: 500;
  font-feature-settings: "palt";
}

.p-text.-ttl05 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 18.5px;  /* 指定値 */
/*  font-size: 20.8px;*/  /* 26px * 0.8 = 20.8px */
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.17em;
}

.p-text.-ttl06 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 16.8px;  /* 21px * 0.8 = 16.8px */
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.165em;
}

.p-text.-ttl07 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 16px;  /* 20px * 0.8 = 16px */
  line-height: 1.5;
  font-weight: 700;
}

.p-text.-ttl08 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 12px;  /* 15px * 0.8 = 12px */
  line-height: 1.6;
  font-weight: 400;
}

.p-text.-ttl09 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 14.4px;  /* 18px * 0.8 = 14.4px */
  line-height: 1.5;
  font-weight: 400;
}

.p-text.-imgttl01 {
	/* width: 350px;  438px * 0.8 = 350.4px */
	max-width: 100%;
}

@media screen and (min-width:769px) {
  .p-text.-ttl01 {
    font-size: 15px;
  }

  .p-text.-ttl02 {
    font-size: 24px;
  }

  .p-text.-ttl03 {
    font-size: 40px;
  }

  .p-text.-ttl04 {
    font-size: 16px;
  }

  .p-text.-ttl05 {
    font-size: 20px;
  }

  .p-text.-ttl06 {
    font-size: 16px;
  }

  .p-text.-ttl07 {
    font-size: 20px;
  }
  
  .p-text.-ttl08 {
    font-size: 15px;
  }

  .p-text.-ttl09 {
    font-size: 18px;
  }

  .p-text.-imgttl01 {
    width: 800px;
  }

}


.p-text.-t01 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 10px;  /* 10px * 0.8 = 8 */
  line-height: 1.5;
  font-weight: 400;
}

.p-text.-t02 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 11px;  /* 11px * 0.8 = 8.8 */
  line-height: 1.5;
  font-weight: 500;
}

.p-text.-t03 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 10px;  /* 12px * 0.8 = 9.6 */
  line-height: 1.5;
  font-weight: 400;
}

.p-text.-t04 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 14.4px;  /* 18px * 0.8 = 14.4 */
  line-height: 1.5;
  font-weight: 400;
}

.p-text.-t05 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 19.2px;  /* 24px * 0.8 = 19.2px */
  line-height: 1.5;
  font-weight: 400;
}

.p-text.-t06 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 12px;  /* 15px * 0.8 = 12px */
  line-height: 1.8;
  font-weight: 400;
}

.p-text.-t07 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 22.4px;  /* 28px * 0.8 = 22.4px */
  line-height: 1.2;
  font-weight: 400;
}

.p-text.-t08 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 12.8px;  /* 16px * 0.8 = 12.8px */
  line-height: 1.7;
  font-weight: 400;
}

.p-text.-t09 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 17.6px;  /* 22px * 0.8 = 17.6px */
  line-height: 1.2;
  font-weight: 400;
}

.p-text.-t10 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 13px;  /* 20px * 0.65 = 13px */
  line-height: 1.5;
  font-weight: 400;
}

.p-text.-t11 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 12.8px;  /* 16px * 0.65 = 12.8px */
  line-height: 1.75;
  font-weight: 400;
}
.p-text.-t11 span {
  font-size: 12px;  /* 15px * 0.8 = 12px */
  font-weight: 400;
  position: relative;
  padding-left: 1em;
  display: block;
}
.p-text.-t11 span::before {
  position: absolute;
  content: "※";
  left: 0;
  padding-right: 0.1em;
  font-size: 12px;  /* 15px * 0.8 = 12px */
  font-weight: 400;
}

.p-text.-t31 {
  font-family: 'Roboto', 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 15.2;  /* 19px * 0.8 = 15.2 */
  line-height: 1.5;
  font-weight: 500;
}

@media screen and (min-width:480px) {
  .p-text.-t10 {
    font-size: 16px;  /* 20px * 0.8 = 16px */
  }
}
@media screen and (min-width:769px) {
  .p-text.-t01 {
    font-size: 11px;
  }
  .p-text.-t02 {
    font-size: 12px;
  }
  .p-text.-t03 {
    font-size: 12px;
  }
  .p-text.-t04 {
    font-size: 18px;
  }
  .p-text.-t05 {
    font-size: 24px;
  }
  .p-text.-t06 {
    font-size: 15px;
  }
  .p-text.-t07 {
    font-size: 28px;
  }
  .p-text.-t08 {
    font-size: 16px;
  }
  .p-text.-t09 {
    font-size: 22px;
  }
  .p-text.-t10 {
    font-size: 20px;
  }
  .p-text.-t11 {
    font-size: 16px;
  }
  .p-text.-t11 span {
      font-size: 15px;
  }
  .p-text.-t11 span::before {
      font-size: 15px;
  }

  .p-text.-t31 {
    font-size: 19px;  /* 19px * 0.8 = 15.2 */
  }
}


.p-fs.-per50 {
  font-size: 50%;
}
.p-fs.-per60 {
  font-size: 60%;
}
.p-fs.-per70 {
  font-size: 70%;
}
.p-fs.-per80 {
  font-size: 80%;
}

.p-fc.-wh {
  color: rgba(255, 255, 255, 1);
}
.p-fc.-bk {
  color: rgba(0, 0, 0, 1);
}
.p-fc.-black01 {
  color: rgba(51, 51, 51, 1); /* #333333 */
}
.p-fc.-black02 {
  color: rgba(49, 38, 39, 1); /* #312627 */
}
.p-fc.-black03 {
  color: rgba(34, 34, 34, 1); /* #222222 */
}
.p-fc.-gold01 {
  color: rgba(170, 137, 71, 1); /* #aa8947 */
}
.p-fc.-red01 {
  color: rgba(222, 0, 127, 1); /* #de007f */
}
.p-fc.-red02 {
  color: rgba(149, 0, 6, 1); /* #950006 */
}
.p-fc.-red03 {
  color: rgba(216, 12, 24, 1); /* #d80c18 */
}
.p-fc.-pink01 {
  color: rgba(235, 110, 165, 1); /* #eb6ea5 */
}
.p-fc.-cyan01 {
  color: rgba(18, 74, 71, 1); /* #124a47 */
}

.p-fc.-gray {
  color: rgba(208, 208, 208, 1);
}
.p-fc.-blue {
  color: rgba(0, 18, 36, 1);
}
.p-fc.-yellow {
  color: rgba(255, 241, 0, 1);
}

.p-va.-top {
  vertical-align: top;
}
.p-va.-middle {
  vertical-align: middle;
}
.p-va.-baseline {
  vertical-align: baseline;
}
.p-va.-bottom {
  vertical-align: bottom;
}


/* letter-spacing */
.p-ls.-ffspalt {
  font-feature-settings: "palt";
}
/* 句読点、かっこを半分にする */
.p-ls.-lsmdot {
  letter-spacing: -0.5em;
}
/* letter-spacing */


/* 汎用リスト */
.p-list.-list01 {
  box-sizing: border-box;
  text-align: justify;
}
.p-list.-list01.-center {
  text-align: center;
}
.p-list.-list01 > li {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
}
.p-list.-list01.-center > li {
  justify-content: center;
}
.p-list.-list01 > li:before {
  display: block;
  position: relative;
  transform: translateY(-0.1em);
  content: "※";
  padding-right: 3px;
  box-sizing: border-box;
}

.p-list.-list02 {
  box-sizing: border-box;
  text-align: justify;
}
.p-list.-list02 > li {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
}
.p-list.-list02 > li:before {
  display: block;
  position: relative;
  content: "※";
  padding-right: 0.1em;
  box-sizing: border-box;
}

.p-list.-list03 {
  box-sizing: border-box;
  text-align: justify;
}
.p-list.-list03 > li {
  padding-left: 1.1em;
}
.p-list.-list03 > li::before{
  display: inline-block;
  content: "\025cf";
  width: 1.1em;
  margin-left: -1.1em;
}

.p-list.-list04 {
  box-sizing: border-box;
  text-align: justify;
}
.p-list.-list04 > li {
  padding-left: 1.1em;
}
.p-list.-list04 > li::before{
  display: inline-block;
  content: "\025ce";
  width: 1.1em;
  margin-left: -1.1em;
}

.p-list.-list05 {
  box-sizing: border-box;
  text-align: justify;
}
.p-list.-list05 > li {
  padding-left: 1.1em;
}
.p-list.-list05 > li::before{
  display: inline-block;
  width: 1.1em;
  margin-left: -1.1em;
}
.p-list.-list05 > li:nth-of-type(1)::before{
  content: "\02460";
}
.p-list.-list05 > li:nth-of-type(2)::before{
  content: "\02461";
}
.p-list.-list05 > li:nth-of-type(3)::before{
  content: "\02462";
}
.p-list.-list05 > li:nth-of-type(4)::before{
  content: "\02463";
}
.p-list.-list05 > li:nth-of-type(5)::before{
  content: "\02464";
}
.p-list.-list05 > li:nth-of-type(6)::before{
  content: "\02465";
}
.p-list.-list05 > li:nth-of-type(7)::before{
  content: "\02466";
}
.p-list.-list05 > li:nth-of-type(8)::before{
  content: "\02467";
}
.p-list.-list05 > li:nth-of-type(9)::before{
  content: "\02468";
}
/* 汎用リスト */

/* 汎用リンク */
.p-link.-link01 {
  border-bottom: 1px solid #fff100;
  color: #fff100;
  cursor: pointer;
}

.p-link.-link02 {
  border-bottom: 1px solid #d80c18;
  color: #d80c18;
  cursor: pointer;
}
/* 汎用リンク */

/* 汎用区切り線 */
.p-border.-type01 {
}

/* 汎用画像回り込み */
.p-break.-minpc {
  display: none;
}

@media screen and (min-width:769px) {
  .p-break.-minpc {
    display: inline;
  }
}


/* 汎用画像回り込み */
.p-img.-floatleft {
  float: left;
}
.p-img.-floatleft.-minpc {
  float: none;
}
.p-img.-floatright {
  float: right;
}
.p-img.-floatright.-minpc {
  float: none;
}
.p-clearboth {
  clear: both;
}

@media screen and (min-width:769px) {
  .p-img.-floatleft.-minpc {
    float: left;
  }
  .p-img.-floatright.-minpc {
    float: right;
  }
}


.dbt {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 500;
}

.dbt h1,
.dbt h2,
.dbt h3,
.dbt h4,
.dbt h5{
  font-weight: 700;
}

.dbt .rob{
  font-family: 'Roboto', 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-weight: 500;
}

/* 汎用テキスト */

/* アンカーリンク設定 */
.u-anchor-cashbackbox {
  position: absolute;
  top: -60px;
  left: 0;
  width: 100%;
  height: 0;
}

.u-anchor-product {
  position: absolute;
  /*top: 0*/
  left: 0;
  width: 100%;
  height: 0;
}

.u-anchor-detail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
}
@media screen and (min-width:769px) {
  .u-anchor-cashbackbox {
    top: -60px;
  }

  .u-anchor-product {
    /*top: 0px;*/
  }

  .u-anchor-detail {
    top: 0;
  }
}


/* 汎用margin */
.u-m-auto {
  margin-left: auto;
  margin-right: auto;
}

.u-mb5 {
  margin-bottom: 5px;
}
.u-mb10 {
  margin-bottom: 10px;
}
.u-mb10_0 {
  margin-bottom: 0;
}
.u-mb10_half {
  margin-bottom: 5px;
}
.u-mb15 {
  margin-bottom: 15px;
}
.u-mb15_half {
  margin-bottom: 10px;
}
.u-mb20 {
  margin-bottom: 20px;
}
.u-mb20_half {
  margin-bottom: 10px;
}
.u-mb25 {
  margin-bottom: 25px;
}
.u-mb30 {
  margin-bottom: 30px;
}
.u-mb30_20 {
  margin-bottom: 20px;
}
.u-mb30_half {
  margin-bottom: 15px;
}
.u-mb35 {
  margin-bottom: 35px;
}
.u-mb35_half {
  margin-bottom: 20px;
}
.u-mb40 {
  margin-bottom: 40px;
}
.u-mb40_half {
  margin-bottom: 20px;
}
.u-mb45_half {
  margin-bottom: 25px;
}
.u-mb50_half {
  margin-bottom: 25px;
}
.u-mb55_half {
  margin-bottom: 30px;
}
.u-mb60 {
  margin-bottom: 60px;
}
.u-mb60_half {
  margin-bottom: 30px;
}
.u-mb65_50 {
  margin-bottom: 50px;
}
.u-mb70 {
  margin-bottom: 70px;
}
.u-mb70_half {
  margin-bottom: 35px;
}
.u-mb70_60 {
  margin-bottom: 60px;
}
.u-mb80 {
  margin-bottom: 80px;
}
.u-mb80_half {
  margin-bottom: 40px;
}
.u-mb90 {
  margin-bottom: 90px;
}
.u-mb100_half {
  margin-bottom: 50px;
}
.u-mb140_half {
  margin-bottom: 70px;
}
.u-mb160_half {
  margin-bottom: 80px;
}
.u-mt30_half {
  margin-top: 15px;
}
.u-mt20_half {
  margin-top: 10px;
}
.u-mb180_half {
  margin-bottom: 90px;
}
.u-mb240_half {
  margin-bottom: 120px;
}
.u-mb120_half {
  margin-bottom: 60px;
}

@media screen and (min-width:769px){
  .u-mb10_0 {
    margin-bottom: 10px;
  }
  .u-mb10_half {
    margin-bottom: 10px;
  }
  .u-mb15_half {
    margin-bottom: 15px;
  }
  .u-mb20_half {
    margin-bottom: 20px;
  }
  .u-mb30_20 {
    margin-bottom: 30px;
  }
  .u-mb30_half {
    margin-bottom: 30px;
  }
  .u-mb35_half {
    margin-bottom: 35px;
  }
  .u-mb40_half {
    margin-bottom: 40px;
  }
  .u-mb45_half {
    margin-bottom: 45px;
  }
  .u-mb50_half {
    margin-bottom: 50px;
  }
  .u-mb55_half {
    margin-bottom: 55px;
  }
  .u-mb60_half {
    margin-bottom: 60px;
  }
  .u-mb65_50 {
    margin-bottom: 65px;
  }
  .u-mb70_half {
    margin-bottom: 70px;
  }
  .u-mb70_60 {
    margin-bottom: 70px;
  }
  .u-mb80_half {
    margin-bottom: 80px;
  }
  .u-mb100_half {
    margin-bottom: 100px;
  }
  .u-mb140_half {
    margin-bottom: 140px;
  }
  .u-mb160_half {
    margin-bottom: 160px;
  }
  .u-mt30_half {
    margin-top: 30px;
  }
  .u-mt20_half {
    margin-top: 20px;
  }
  .u-mb180_half {
    margin-bottom: 180px;
  }
  .u-mb240_half {
    margin-bottom: 240px;
  }
  .u-mb120_half {
  margin-bottom: 120px;
}
}
/* 汎用margin */

/* 汎用padding */
.u-pt0 {
  padding-top: 0;
}
.u-pt3 {
  padding-top: 3px;
}
.u-pt5 {
  padding-top: 5px;
}
.u-pb5 {
  padding-bottom: 5px;
}
.u-py5 {
  padding-top: 5px;
  padding-bottom: 5px;
}
.u-pb10 {
  padding-bottom: 10px;
}

.u-px10 {
  padding-left: 10px;
  padding-right: 10px;
}

.u-pt15_10 {
  padding-top: 10px;
}

.u-pt30_half {
  padding-top: 15px;
}

.u-pb80_half {
  padding-bottom: 40px;
}

@media screen and (min-width:769px) {
  .u-pt15_10 {
    padding-top: 15px;
  }
  .u-pt30_half {
    padding-top: 30px;
  }
  .u-pb80_half {
    padding-bottom: 80px;
  }
}

/* 汎用padding */

/* 汎用字下げ */
.u-indent {
  text-indent: -1em;
  padding-left: 1em;
}
/* 汎用字下げ */

/* 汎用ボタン */
.p-btn1 {
  position: relative;
  width: 576px; /* 720px * 0.8 = 576px */
  max-width: 100%;
  height: 60px; /* 120px * 0.5 = 60px */
  box-sizing: border-box;
}

.p-btn1_inner {
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  position: relative;
  box-sizing: border-box;
}

.p-btn1_link, .p-btn1_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  text-align: center;
  background-color: rgba(216, 12, 24, 0.6);
  transition: background-color 0.3s ease 0s;
  border: 1px solid #ffffff;
}

.p-btn1_link {
  position: relative;
}
.p-btn1_link::after {
  position: absolute;
  content: "";
  right: 26.4px;
  top: 50%;
  transform: translateY(-50%);
  width:0;
  border-style:solid;
  border-width: 6.4px 0 6.4px 5.6px;
  border-color: transparent transparent transparent #FFFFFF;
  transition: all 0.3s ease 0s;
}
.p-btn1_link:hover::after {
  border-color: transparent transparent transparent rgba(216, 12, 24, 0.6);
}

.p-btn1_txt, .p-btn1_btn {
  font-size: 19.2px;  /* 24px * 0.8 = 19.2px */
  color: #ffffff;
  transition: color 0.3s ease 0s;
}

@media screen and (min-width:375px) {
  .p-btn1 {
    height: 33px; /* 60px * 0.55 = 33px */
  }

}
@media screen and (min-width:480px) {
  .p-btn1 {
    height: 39px; /* 60px * 0.65 = 39px */
  }
}
@media screen and (min-width:640px) {
  .p-btn1 {
    width: 576px; /* 720px * 0.8 = 576px */
    height: 48px; /* 60px * 0.8 = 96px */
    border-width: 5px;
  }

}
@media screen and (min-width: 769px) {
  .p-btn1 {
    width: 720px;
    height: 60px;
  }

  .p-btn1_txt {
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0.17em;
  }

  .p-btn1_txt .p-btn1_txt2, .p-btn1_span .p-btn1_txt2, .p-btn1_btn .p-btn1_txt2 {
    font-size: 40px;
  }
  .p-btn1_link::after {
    right: 33px;
    border-width: 8px 0 8px 7px;
  }
}

.p-btn1_link:hover, .p-btn1_btn:hover {
  background-color: #ffffff;
  transition: background-color 0.3s ease 0s;
  opacity: 1;
  border: 1px solid rgba(216, 12, 24, 0.6);
}
.p-btn1_link:hover .p-btn1_txt, .p-btn1_btn:hover .p-btn1_txt {
  color: rgba(216, 12, 24, 0.6);
  transition: color 0.3s ease 0s;
}

.p-btn1_link:hover .p-btn1 {
  border: 3px solid rgba(216, 12, 24, 0.6);
}

.p-btn2 {
  position: relative;
  width: 200px; /* 250px * 0.8 = 200px */
  max-width: 100%;
  height: 26px; /* 32px * 0.8 = 25.6px */
  border-radius: 100vh;
  box-sizing: border-box;
}

.p-btn2_inner {
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  position: relative;
  box-sizing: border-box;
}

.p-btn2_link, .p-btn2_span, .p-btn2_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  width: 100%;
  height: 100%;
  border: 1px solid #ffffff;
  box-sizing: border-box;
  text-align: center;
  transition: all 0.3s ease 0s;
}
.p-btn2_link:hover, .p-btn2_span:hover, .p-btn2_btn:hover {
  background-color: #ffffff;
  opacity: 1;
}
.p-btn2_link:hover .p-btn2_txt {
  color: #413f3a;
}

.p-btn2_txt {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 8px; /* 10px * 0.8 = 8px */
  transform: translateY(-1px);
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 12.8px;  /* 16px * 0.8 = 12.8px */
  line-height: 1;
  font-weight: 400;
  color: #ffffff;
  transition: all 0.3s ease 0s;
}

@media screen and (min-width: 769px) {
  .p-btn2 {
    width: 170px;
    height: 24px;
  }

  .p-btn2_txt {
    font-size: 12px;
  }
}

.p-btn3 {
  position: relative;
  width: 576px; /* 720px * 0.8 = 576px */
  max-width: 100%;
  height: 60px; /* 120px * 0.5 = 60px */
  box-sizing: border-box;
}

.p-btn3_inner {
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  position: relative;
  box-sizing: border-box;
}

.p-btn3_link, .p-btn3_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  text-align: center;
  background-color: rgba(255, 255, 255, 1);
  transition: background-color 0.3s ease 0s;
  border: 1px solid #d80c18;
}

.p-btn3_link {
  position: relative;
}
.p-btn3_link::after {
  position: absolute;
  content: "";
  right: 26.4px;
  top: 50%;
  transform: translateY(-50%);
  width:0;
  border-style:solid;
  border-width: 6.4px 0 6.4px 5.6px;
  border-color: transparent transparent transparent #d80c18;
  transition: all 0.3s ease 0s;
}
.p-btn3_link:hover::after {
  border-color: transparent transparent transparent rgba(255, 255, 255, 1);
}

.p-btn3_txt, .p-btn3_btn {
  font-size: 19.2px;  /* 24px * 0.8 = 19.2px */
  color: #d80c18;
  transition: color 0.3s ease 0s;
}

@media screen and (min-width:375px) {
  .p-btn3 {
    height: 33px; /* 60px * 0.55 = 33px */
  }

}
@media screen and (min-width:480px) {
  .p-btn3 {
    height: 39px; /* 60px * 0.65 = 39px */
  }
}
@media screen and (min-width:640px) {
  .p-btn3 {
    width: 576px; /* 720px * 0.8 = 576px */
    height: 48px; /* 60px * 0.8 = 96px */
    border-width: 5px;
  }

}
@media screen and (min-width: 769px) {
  .p-btn3 {
    width: 720px;
    height: 60px;
  }

  .p-btn3_txt {
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0.17em;
  }

  .p-btn3_txt .p-btn3_txt2, .p-btn3_span .p-btn3_txt2, .p-btn3_btn .p-btn3_txt2 {
    font-size: 40px;
  }
  .p-btn3_link::after {
    right: 33px;
    border-width: 8px 0 8px 7px;
  }
}

.p-btn3_link:hover, .p-btn3_btn:hover {
  background-color: #d80c18;
  transition: background-color 0.3s ease 0s;
  opacity: 1;
  border: 1px solid rgba(255, 255, 255, 0.6);
}
.p-btn3_link:hover .p-btn3_txt, .p-btn3_btn:hover .p-btn3_txt {
  color: rgba(255, 255, 255, 1);
  transition: color 0.3s ease 0s;
}

.p-btn3_link:hover .p-btn3 {
  border: 3px solid rgba(255, 255, 255, 0.6);
}

/* 汎用ボタン */


/* 個別指定 */
#content {
	margin: 0 auto 0;
	min-width: 100% !important;
	max-width: 100%;
	min-height: 30px;
    color: #ffffff;
	overflow: hidden;
}
@media screen and (min-width:769px){
  #content {
    margin: 0 auto 0;
  }
  #content.-noscroll {
    margin-top: 0;
  }
}
@media screen and (min-width:1024px){
  #content {
    margin: 0 auto 0;
  }
  #content.-noscroll {
    margin-top: 0;
  }
}
@media screen and (max-width: 1366px){
  #content {
    margin: 0 auto 0;
  }
}
@media screen and (min-width: 1367px) {
  #content {
    margin: 0 auto 0;
  }
}
@media screen and (min-width:1400px) {
  #content.-noscroll {
    margin-top: 0;
  }
}

.dbt .dbt_inner {
  max-width: 1180px;
  margin: 0 auto;
}

.dbt img {
  max-width: 100%;
  width: auto;
  height: auto;
}

.dbt p.note {
  text-indent: -1em;
  padding-left: 1em;
}

.dbt a {
  color: #d80c18;
}

.dbt a.blank {
  padding-right: 1.3em;
  background: url("/.resources/webresources/cpn/24bscr/images/icon_blank.png") right center no-repeat;
  background-size: 1em auto;
}

.dbt .tac {
  text-align: center;
}

.dbt .red {
  color: #ff0000 !important;
}


/* g-nav */
.g-nav-fixed {
  height: 0 !important;
}
/* g-nav */

/* Adjust Space 2024/11/19 add start */
.mv.-adjustspace {
  height: auto !important;

  &::before {
    display: block;
    position: relative;
    width: 100%;
    height: 60px;
    content: "";
    background-color: #fc2c00;
  }
}
@media screen and (min-width: 0) and (max-width: 768px) {
  .mv.-adjustspace {
    &::before {
      height: 60px;
    }
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .mv.-adjustspace {
    &::before {
      height: calc(80px - 50px);  /* id="container"のmargin-top: 50px分マイナスする */
    }
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  .mv.-adjustspace {
    &::before {
      height: calc(80px - 50px);  /* id="container"のmargin-top: 50px分マイナスする */
    }
  }
}
@media screen and (min-width: 1367px) and (max-width: 1599px) {
  .mv.-adjustspace {
    &::before {
      height: calc(96px - 50px);  /* id="container"のmargin-top: 50px分マイナスする */
    }
  }
}
@media screen and (min-width: 1600px) {
  .mv.-adjustspace {
    &::before {
      height: calc(100px - 50px);  /* id="container"のmargin-top: 50px分マイナスする */
    }
  }
}
/* Adjust Space add end */

/* メインビジュアル */
.mv {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: start;
  align-items: stretch;
  position: relative;
  width: 100%;
/*  height: calc(100vh - 100px);*/
  height: calc(100vh - 50px);  /* id="container"のmargin-top:50px分マイナス */
  box-sizing: border-box;
  text-align: center;
  overflow: hidden;
  background: #081924;
}

/* 横長(高さ480px以上) */
@media screen and (min-width: 0) and (max-width: 768px) {
  .mv {
    height: calc(100vh) !important;
    padding-top: 0;/* 2024/11/19変更後 */
/*    padding-top: 60px;*//*2024/11/19コメントアウト*/
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .mv {
/*    height: calc(100vh - 80px);*/
    padding-top: 0;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  .mv {
/*    height: calc(100vh - 80px);*/
  }
}
@media screen and (min-width: 1367px) and (max-width: 1599px) {
  .mv {
    /*height: calc(100vh - 96px);*/
  }
}

/* 横長(高さ479px以下) */
@media screen and (orientation: landscape) and (min-width: 0) and (max-width: 339px) and (max-height: 479px) {
  .mv {
    height: calc(100vh + 2px + (190px + 60px)) !important;
  }
}
@media screen and (orientation: landscape) and (min-width: 340px) and (max-width: 499px) and (max-height: 479px) {
  .mv {
    height: calc(100vh + 2px + (130px + 12vw + 22.1875vw)) !important; /* 60px / 500px * 100vw、142px / 640px * 100vw */
  }
}
@media screen and (orientation: landscape) and (min-width: 500px) and (max-width: 768px) and (max-height: 479px) {
  .mv {
    height: calc(100vh + 2px + (190px + 22.1875vw)) !important; /* 142px / 640px * 100vw */
  }
}
@media screen and (orientation: landscape) and (min-width: 640px) and (max-width: 768px) and (max-height: 479px) {
  .mv {
    height: calc(100vh + 2px + 270px) !important;
  }
}
@media screen and (orientation: landscape) and (min-width: 769px) and (max-width: 1023px) and (max-height: 479px) {
  .mv {
    height: calc(100vh - 50px + 10.868876689189189vw + 12px + 12px) !important; /* 142px / 111px = 1.279279279279279、調整前8.49609375vw * 1.279279279279279 = 10.868876689189189vw */
  }
}
@media screen and (orientation: landscape) and (min-width: 1024px) and (max-width: 1366px) and (max-height: 479px) {
  .mv {
    height: calc(100vh - 80px + 2px + 142px) !important;
  }
}
@media screen and (orientation: landscape) and (min-width: 1367px) and (max-width: 1599px) and (max-height: 479px) {
  .mv {
    height: calc(100vh - 96px + 142px) !important;
  }
}
@media screen and (orientation: landscape) and (max-height: 479px) {
  .mv {
    height: calc(100vh - 100px + 142px);
  }
}
/* 横長(高さ479px以下) */

/* 縦長 */
@media screen and (orientation: portrait) and (max-width: 768px) {
  .mv {
    height: 100vh !important;
  }
}
/* 縦長 */


.mv .l-content {
  position: relative;
  height: 100%;
}

.mv-bg {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.mv-bg .mv-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
}

.mv .mv-img01 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: auto;
  max-width: none !important;
  height: 100%;
  opacity: 0;
}
.mv .mv-img01.-pc {
  display: none;
}
.mv .mv-img01.-sp {
  display: block;
}

/* 仮画像版 */
.mv .mv-img01.-pc.-temp, .mv .mv-img01.-sp.-temp {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background-color: #71af42 !important;
}

/* 縦長 */
@media screen and (orientation: portrait) {
  .mv .mv-img01 {
    /*height: 125%;*/
/*    height: 182%;*//*2024/11/19コメントアウト*/
    top: -60px;
    height: calc(100% + 60px);/* 2024/11/19変更後 */
  }

  /* 2024/11/19変更後 */
  .mv .mv-img01.-pc {
    display: none;
  }
  .mv .mv-img01.-sp { 
    display: block;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }
  /* 2024/11/19変更後 */
}
@media screen and (orientation: portrait) and (min-width: 769px) {
  .mv .mv-img01 {
/*    height: 100%;*//*2024/11/19コメントアウト*/
  }

  /* 2024/11/19変更後 */
  .mv .mv-img01.-pc {
    display: block;
  }
  .mv .mv-img01.-sp { 
    display: none;
  }
  /* 2024/11/19変更後 */
}
@media (max-aspect-ratio: 5/8) {
  .mv .mv-img01.-sp {
/*    height: 125%;*//*2024/11/19コメントアウト*/
  }
}
@media (max-aspect-ratio: 5/7) {
  .mv .mv-img01.-sp {
/*    height: 150%;*//*2024/11/19コメントアウト*/
  }
}
@media (max-aspect-ratio: 5/8) {
  .mv .mv-img01.-sp {
/*    height: 128%;*//*2024/11/19コメントアウト*/
  }
}
@media (max-aspect-ratio: 5/9) {
  .mv .mv-img01.-sp {
/*    height: 111%;*//*2024/11/19コメントアウト*/
    /*left: 50%;*/
  }
}
@media (max-aspect-ratio: 5/11) {
  .mv .mv-img01.-sp {
/*    height: 109%;*//*2024/11/19コメントアウト*/
/*     left: 62%;*//*2024/11/19コメントアウト*/
    left: 50%;  /* 2024/11/19変更後 */
  }
}
@media (max-aspect-ratio: 5/13) {
  .mv .mv-img01.-sp {
/*    height: 108%;*//*2024/11/19コメントアウト*/
/*    left: 74%;*//*2024/11/19コメントアウト*/
    left: 50%;  /* 2024/11/19変更後 */
  }
}
/* 縦長 */

@media screen and (min-width:769px) {
  .mv .mv-img01.-pc {
    display: block;
    transform: translate(-50%, 0);
    height: calc(100% + 50px);/* 2024/11/19変更後 */
/*    height: calc(106% + 20px);*//*2024/11/19コメントアウト*/
    /* margin-top: calc(50px - 20px); */
    top: -50px; /* 2024/11/19変更後 */
    left: 60%;
  }
  .mv .mv-img01.-sp {
    display: none;
  }
}
@media screen and (orientation: landscape) and (max-width: 768px) {
  .mv .mv-img01.-pc {
    display: block;
  }
  .mv .mv-img01.-sp {
    display: none;
  }
}
@media screen and (orientation: portrait) and (min-width: 769px) {
  .mv .mv-img01.-pc {
    left: 70%; /* 2024/11/19変更後 */
  }
}
@media screen and (min-width: 1367px) {
  .mv .mv-img01.-pc {
    height: calc(100% + 60px);/* 2024/11/19変更後 */
/*    height: calc(100% + 100px);*//*2024/11/19コメントアウト*/
    /* margin-top: 50px; */
    top: -60px; /* 2024/11/19変更後 */
    left: 50%;
  }
}

/* メインビジュアル内テキスト */
.mv .mv-txt01 {
  position: absolute;
  top: 35%;
  /*left: 0;*/
  right: -15px;
  transform: translate(0px, -50%);
  width: 36.8vw; /* 138px / 375px * 100vw */
}
.mv .mv-txt01 img {
  width: 100%;
  height: auto;
  opacity: 0;
}

@media screen and (min-width:362px) {
  .mv .mv-txt01 {
    top: 35%;
    right: 0;
  }
}
@media screen and (min-width:769px) {
  .mv .mv-txt01 {
    width: 300px;
    top: 50%;
  }
}
@media screen and (min-width: 1024px) {
  .mv .mv-txt01 {
    /*left: 0;*/
    width: 400px;
  }
}
@media screen and (min-width: 1049px) { /* 1024 + 25px */
  .mv .mv-txt01 {
    /*left: -25px;*/
  }
}

/* メインビジュアル内下帯 */
.mv .mv-band01 {
  flex-shrink: 0;
  width: 100%;
  padding: 40px 0;
  box-sizing: border-box;
  background: url(/.resources/webresources/cpn/24bscr/images/bg-item-sp.png) no-repeat center -20px / 130%;
  background-color: #fd2c00;
  opacity: 0;
}

.mv .mv-band01_inner {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  gap: 20px 0;
  box-sizing: border-box;
  max-width: 500px;
}

.mv .mv-band01-item01 {
  width: 100%;
}
.mv .mv-band01-item01 .mv-band01-item01-img {
  max-width: 690px;
}

.mv .mv-band01-item02 {
  width: 100%;
}
.mv .mv-band02-item02 .mv-band02-item02-img {
  max-width: 365px;
}

@media screen and (min-width:769px) {
  .mv .mv-band01 {
    /* height: calc(10.868876689189189vw + 12px + 12px);  (142px - 12px - 12px) / 1024px * 100vw = 10.868876689189189vw、10.868876689189189vw + 12px + 12px */
    padding: 1.953125vw 0;  /* 20px / 1024px * 100vw */
    background: url(/.resources/webresources/cpn/24bscr/images/bg-item01_v2.png) no-repeat bottom center / cover;
    background-color: #fd2c00;
  }

  .mv .mv-band01_inner {
    flex-direction: row;
    gap: 0 33px;
    padding: 0 40px;
    max-width: 900px;
  }

  .mv .mv-band01-item01 {
    width: calc((501 / 900)*100%);  /* 900px - 501px */
    /* width: 47.0%;  100% - 47% */
    text-align: center;
  }
  .mv .mv-band01-item01 .mv-band01-item01-img {
    width: 501px;
    max-width: 100%;
  }

  .mv .mv-band01-item02 {
    gap: 10px 0;
    max-width: calc((366/900)*100%);  /* 366px / 900px * 100% */
    /* width: 53.0%;  520px / 980px * 100% */
    width: 100%;
    /* padding: 1.171875vw 5px;  12px / 1024px * 100vw */
  }

  .mv .mv-band01-item02-row {
    justify-content: flex-start;
  }

  .mv-band01-item02-period {
    width: auto;
  }
}
@media screen and (min-width: 1024px) {
  .mv .mv-band01 {
    /* height: 123px; */
    padding: 20px 0;
  }
  .mv .mv-band01-item02 {
    /* padding: 12px 5px; */
  }
}

/* メインビジュアル外下帯 */
.mv-band02 {
  flex-shrink: 0;
  width: 100%;
  padding: 38px 0;
  box-sizing: border-box;
  background-color: #d80c18;
}

.mv-band02_inner {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  gap: 10px 0;
  box-sizing: border-box;
}

.mv-band02-item01 {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100%;
}

.mv-band02-item02 {
  max-width: 82%;
}

.mv-band02-item01-first {
  width: 100%;
}
.mv-band02-item01-end {
  width: 100%;
  max-width: 409px;
  margin-top: -14px;
}

@media screen and (min-width: 769px) {
  .mv .mv-band02-item01 {
  }
}

.mv-band02-ttl01-ib {
  display: inline-block;
}

/* メインビジュアル外下帯 */
/* メインビジュアル */


/* キャッシュバックキャンペーン */
/* キャッシュバックキャンペーンバナー */
.sec-cashback {
  padding-top: 50px;
  padding-bottom: 100px;
  box-sizing: border-box;
}

.bg-item02 {
  background: url(/.resources/webresources/cpn/24bscr/images/bg-item02_v2.png) no-repeat center -90px / 130%;
  background-color: #fd2c00;
}

.cashback {

}
.cashback-bnr {
  box-sizing: border-box;
  color: #ffffff;
  background-color: #d80c18;
  padding-bottom: 40px;
  margin-bottom: 30px;
}
.cashback-bnr-ttl {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  gap: 0 13px;
}
.cashback-bnr-ttl {
  height: auto;
}
.cashback-bnr-ttl .cashback-bnr-num {
  max-width: calc((129/900)*100%);
  width: 100%;
}
.cashback-bnr-ttl .cashback-bnr-txt {
  max-width: calc((721/900)*100%);
  width: 100%;
  margin-top: 20px;
}
.cashback-bnr-ttl .cashback-bnr-txt .-bnr02 {
  max-width: calc((742/900)*100%);
  width: 100%;
  margin-top: 20px;
}

@media screen and (min-width:769px) {
  .sec-cashback {
    /*background: url(/.resources/webresources/cpn/24bscr/images/bg-item02_v2.png) no-repeat top center / contain;*/
    padding-bottom: 90px;
    box-sizing: border-box;
  }
  .cashback-bnr {
    padding-bottom: 80px;
    margin-bottom: 60px;
  }
  .cashback-bnr-ttl .cashback-bnr-txt {
    margin-top: 39px;
  }
}
/* キャッシュバックキャンペーンバナー */


/* LINE */

.sec-cashback .linechallenge-bnr {
  padding-top: 3.90625vw;  /* 40px / 1024px * 100vw */
  padding-bottom: 3.90625vw;
  box-sizing: border-box;
  background-color: #45b035;
}

.sec-cashback .linechallenge-bnr .linechallenge-bnr-inner.-sp {
  display: block;
}

.sec-cashback .linechallenge-bnr .linechallenge-bnr-inner.-pc {
  display: none;
  max-width: 710px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 769px) {
  .sec-cashback .linechallenge-bnr {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .sec-cashback .linechallenge-bnr .linechallenge-bnr-inner.-sp {
    display: none;
  }

  .sec-cashback .linechallenge-bnr .linechallenge-bnr-inner.-pc {
    display: block;
  }
}

.sec-cashback .linechallenge-bnr .linechallenge-bnr-fukidashi {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 0 15px;
  padding: 3px 0 4px;
  border-top: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  box-sizing: border-box;
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	font-weight: bold;
	font-size: 16px;
  line-height: 1.1;
  color: #ffffff;
  text-align: center;
}
.sec-cashback .linechallenge-bnr .linechallenge-bnr-fukidashi::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
  width: 0;
  height: 0;
  content: "";
  border-style: solid;
  border-width: 11px 9px 0 9px;
  border-color: #ffffff transparent transparent transparent;
}
.sec-cashback .linechallenge-bnr .linechallenge-bnr-fukidashi::after {
  display: block;
  position: absolute;
  bottom: 3px;
  left: 50%;
  transform: translate(-50%, 100%);
  width: 0;
  height: 0;
  content: "";
  border-style: solid;
  border-width: 11px 9px 0 9px;
  border-color: #45b035 transparent transparent transparent;
}

.sec-cashback .linechallenge-bnr .linechallenge-bnr-fukidashi-sup {
	font-weight: 400;
	font-size: 10px;
}
.sec-cashback .linechallenge-bnr .linechallenge-bnr-btn {
  display: block;
  width: 100%;
  padding: 12px;
  box-sizing: border-box;
  text-align: center;
  background-color: #efeddc;
}
.sec-cashback .linechallenge-bnr .linechallenge-bnr-btn img {
  width: 193px;
}
/* LINE */


/* キャッシュバックキャンペーン1&2 */
.sec-cashback .cashbackbox {
  position: relative;
  box-sizing: border-box;
  background-color: #d80c18;
}

.sec-cashback .cashbackbox .cashbackbox-ttl {
  width: 82%;
}

@media screen and (min-width: 600px) {
  .sec-cashback .cashbackbox .cashbackbox-ttl {
    width: calc((438/820)*100%);  /* 438px / 820px * 100% */
    /* width: 87.1%;  784px / 900px * 100% */
  }
}

/* キャッシュバックキャンペーン1 */
.sec-cashback .cashbackbox.-cashback1 {
  position: relative;
}

.sec-cashback .cashbackbox .cashbackbox-eligiblebox {
  border: 3px solid #e4007f;
}
.sec-cashback .cashbackbox .cashbackbox-eligiblebox-ttl {
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
/*  align-items: stretch;*/
  padding: 3px 10px 4px;
  box-sizing: border-box;
  text-align: center;
  line-height: 1.3;
  color: #ffffff;
  background-color: #e4007f;
}

.sec-cashback .cashbackbox .cashbackbox-eligiblebox-ttl .cashbackbox-eligiblebox-ttl-head {
  flex-shrink: 0;
  padding-bottom: 2px;
  box-sizing: border-box;
  line-height: 1;
/*  line-height: calc(1.5 * 1.2);*/
}
.sec-cashback .cashbackbox .cashbackbox-eligiblebox-ttl .cashbackbox-eligiblebox-ttl-series {
}

.sec-cashback .cashbackbox .cashbackbox-eligiblebox-coursebox {
  display: grid;
  position: relative;
  grid-template-columns: repeat(1, 1fr);
  box-sizing: border-box;
}

.sec-cashback .cashbackbox .cashbackbox-eligiblebox-course {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  position: relative;
  box-sizing: border-box;
}

.sec-cashback .cashbackbox .cashbackbox-eligiblebox-course.-courseA {
  border-bottom: 3px solid #e3007e;
  box-sizing: border-box;
}

.sec-cashback .cashbackbox .cashbackbox-eligiblebox-course .cashbackbox-eligiblebox-course-inner {
  padding: 10px;
  box-sizing: border-box;
}
.sec-cashback .cashbackbox .cashbackbox-eligiblebox-course .cashbackbox-eligiblebox-course-inner:last-of-type {
  border-top: 3px dashed #e4007f;
}

.sec-cashback .cashbackbox .cashbackbox-eligiblebox-course-ttl {
  background-color: #eb6ea5;
}

.sec-cashback .cashbackbox .cashbackbox-eligiblebox-course-prize {
  display: grid;
  position: relative;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px 16px;
  box-sizing: border-box;
}

.sec-cashback .cashbackbox .cashbackbox-eligiblebox-btmsup {
  position: relative;
}
.sec-cashback .cashbackbox .cashbackbox-eligiblebox-btmsup .cashbackbox-eligiblebox-btmsup-list {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-bottom: 15px
}

@media screen and (min-width: 769px) {
  .sec-cashback .cashbackbox.-cashback1::after {
    bottom: -20px;
    width: 68px;
    height: 68px;
    border: 8px solid #e0f3dd;
  }

  .sec-cashback .cashbackbox .cashbackbox-eligiblebox-ttl {
    padding: 3px 10px 5px;
  }

  .sec-cashback .cashbackbox .cashbackbox-eligiblebox-coursebox {
    grid-template-columns: repeat(2, 1fr);
  }

  .sec-cashback .cashbackbox .cashbackbox-eligiblebox-course {
  }
  .sec-cashback .cashbackbox .cashbackbox-eligiblebox-course.-courseA {
    border-bottom-style: none;
  }
  .sec-cashback .cashbackbox .cashbackbox-eligiblebox-course.-courseA::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, 0);
    content: "";
    width: 3px;
    height: 100%;
    background-color: #e3007e;
  }

  .sec-cashback .cashbackbox .cashbackbox-eligiblebox-course .cashbackbox-eligiblebox-course-inner {
    padding: 12px;
  }

  .sec-cashback .cashbackbox .cashbackbox-eligiblebox-course-prize {
    gap: 8px 20px;
  }

  .sec-cashback .cashbackbox .cashbackbox-eligiblebox-btmsup {
  }
  .sec-cashback .cashbackbox .cashbackbox-eligiblebox-btmsup .cashbackbox-eligiblebox-btmsup-list {
    position: relative;
/*    position: absolute;
    top: 0;
    left: 0;
    width: calc(50% - 60px);*/
    margin-bottom: 25px;
  }
}
@media screen and (min-width: 1024px) {
  .sec-cashback .cashbackbox .cashbackbox-eligiblebox-btmsup .cashbackbox-eligiblebox-btmsup-list {
/*    width: calc(50% - 80px);*/
  }
}

/* Wチャンス */
.wchance {
  background: #ad0a13;
  padding-top: 20px;
  padding-bottom: 40px;
  position: relative;
}

.wchance-ttl {
  width: 100%;
  /* width: 278px;  348px * 0.8 = 324.8 */
  max-width: calc((239/900)*100%);  /* 239px */
  /* max-width: calc(100% - 3.90625vw - 3.90625vw); 40px / 1024px * 100vw */
  /* margin-left: auto;
  margin-right: auto; */
  box-sizing: border-box;
  position: absolute;
  top: calc((-18/980)*100%);  /* -18px */
  left: calc((-40/980)*100%);  /* -40px */
}



.wchance-box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.wchance-box-head {
  text-align: center;
  max-width: 180px;
}

.wchance-box-txt {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 14.4px;  /* 18px * 0.8 = 14.4 */
  line-height: 1.8;
  letter-spacing: -0.012em;
  font-weight: 500;
  text-align: justify;
}

@media screen and (min-width: 769px) {
  .wchance-ttl {
    width: 348px;
  }

  .wchance-box {
    max-width: 820px;
  }
  .wchance-box-head {
    min-width: 240px;
  }

  .wchance-box-txt {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 2;
    font-size: 16.2px;  /* 18px * 0.9 = 16.2 */
  }
}
@media screen and (min-width: 1024px) {
  .wchance-box {
  }
  .wchance-box-head {
  }
  .wchance-box-txt {
  }
}

/* Wチャンス */
/* キャッシュバックキャンペーン1 */
.cashbackbox .cashbackbox-inner {
  max-width: 900px;
  margin-inline: auto;
}

.cashbackbox .cashbackbox-txt {
  margin-top: calc((40/900)*100%);
}

@media screen and (min-width: 769px) {
  .cashbackbox .cashbackbox-txt {
    padding-left: calc((205/920)*100%); /* 205px */
    margin-top: 0;
  }
}

/* キャッシュバックキャンペーン2 */
.cashbackbox .cashbackbox-cashback2-eligiblebox {
  width: 100%;
  text-align: center;
}

.cashbackbox .cashbackbox-cashback2-eligiblebox img {
  width: calc(100% - 3.90625vw - 3.90625vw);  /* 40px / 1024px * 100vw */
  height: auto;
}

@media screen and (min-width: 769px) {
  .cashbackbox .cashbackbox-cashback2-eligiblebox {
  }
}
@media screen and (min-width: 1024px) {
  .cashbackbox .cashbackbox-cashback2-eligiblebox {
    width: calc(100% - 40px - 40px);
  }
}
/* キャッシュバックキャンペーン2 */
/* キャッシュバックキャンペーン1&2 */
/* キャッシュバックキャンペーン */


/* 対象商品 */
.sec-eligible {
  position: relative;
  padding-bottom: 30px;
  box-sizing: border-box;
  background: #000000;
}

.sec-eligible .productlist {
  display: grid;
  position: relative;
  justify-content: space-between;
  justify-items: stretch;
  align-content: start;
  align-items: stretch;
  
  grid-template-columns: repeat(1, 1fr);
  gap: 3.90625vw 3.90625vw; /* 40px / 1024px * 100vw */
}

.sec-eligible .productlist-item {
}
.sec-eligible .productlist-item.-wide {
}

.sec-eligible .productlist .product {
  color: #ffffff;
  background-color: rgba(49, 47, 43, 1);
}

.sec-eligible .productlist-item.-wide.product {
  /* background-color: transparent; */
  /* background-image: url("/.resources/webresources/cpn/24dbt/images/product_wide_bg_v1.png"); */
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}


.sec-eligible .productlist .product .product-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  height: 100%;
  padding: 1.953125vw;  /* 20px / 1024px * 100vw */
  box-sizing: border-box;
}
.sec-eligible .productlist .product .product-mainbox {
  display: grid;
  position: relative;
  justify-content: space-between;
  justify-items: stretch;
  align-content: start;
  align-items: stretch;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 15px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.sec-eligible .productlist .product .product-mainboxwide {
  display: grid;
  position: relative;
  justify-content: space-between;
  justify-items: stretch;
  align-content: start;
  align-items: center;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 15px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

.sec-eligible .productlist .product .product-type {
  width: 80px;  /* 100px * 0.8 = 80px */
  margin-bottom: 5px;
  box-sizing: border-box;
}
.sec-eligible .productlist .product .product-type img {
  width: 100px;
  max-width: 100%;
}
.sec-eligible .productlist .product .product-txtbox {
}
.sec-eligible .productlist .product .product-imgbox {
  padding-top: 1.953125vw;  /* 20px / 1024px * 100vw */
  box-sizing: border-box;
}
.sec-eligible .productlist .product .product-btn {
  box-sizing: border-box;
  text-align: center;
}
.sec-eligible .productlist .product .product-btn.-wide {
  padding-top: 3px;
}
.sec-eligible .productlist .product .product-btn.-sp {
  display: block;
  padding-top: 10px;
}
.sec-eligible .productlist .product .product-btn.-pc {
  display: none;
}

.sec-eligible .productlist .product .product-wide32 {
  grid-column-start: 1;
  grid-column-end: 3;
  grid-row-start: 1;
  grid-row-end: 2;
}
.sec-eligible .productlist .product .product-wide31 {
  grid-column-start: 1;
  grid-column-end: 2;
  grid-row-start: 2;
  grid-row-end: 3;
}
.sec-eligible .productlist .product .product-wide33 {
  grid-column-start: 2;
  grid-column-end: 3;
  grid-row-start: 2;
  grid-row-end: 3;
  text-align: right;
}
.sec-eligible .productlist .product .product-wide33 img {
  max-width: 138px;
}

.sec-eligible .productlist .product .product-txt1 {
  margin-bottom: 8px;
  box-sizing: border-box;
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 10px;  /* 11px * 0.8 = 8.8 */
  line-height: 1.2;
  letter-spacing: -0.03em;
  font-weight: 500;
}
.sec-eligible .productlist .product .product-txt2 {
  margin-bottom: 6px;
  box-sizing: border-box;
}
.sec-eligible .productlist .product .product-txt2-line1 {
  margin-bottom: 8px;
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 22.4px;  /* 28px * 0.8 = 22.4 */
  line-height: 0.6;
  font-weight: 500;
}
.sec-eligible .productlist .product .product-txt2-line2 {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 12px;  /* 15px * 0.8 = 12 */
  line-height: 1.2;
  font-weight: 500;
}
.sec-eligible .productlist .product .product-txt3 {
  box-sizing: border-box;
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 10px;  /* 11px * 0.8 = 8.8 */
  line-height: 1.6;
  font-weight: 400;
}

.sec-eligible .productlist .product .product-wideimg.-sp {
  display: inline;
}
.sec-eligible .productlist .product .product-wideimg.-pc {
  display: none;
}


@media screen and (min-width: 660px) {
  .sec-eligible .productlist .product .product-mainboxwide {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 15px;
  }

  .sec-eligible .productlist .product .product-wide32 {
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 1;
    grid-row-end: 2;
  }
  .sec-eligible .productlist .product .product-wide31 {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 2;
  }
  .sec-eligible .productlist .product .product-wide33 {
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 1;
    grid-row-end: 2;
  }
}
@media screen and (min-width: 769px) {
  .sec-eligible {
    padding-bottom: 60px;
  }

  .sec-eligible .productlist {
    grid-template-columns: repeat(2, 1fr);
  }

  .sec-eligible .productlist .product .product-mainboxwide {
    grid-template-columns: minmax(260px, 36%) 1fr;
    gap: 0 20px;
    padding-top: 10px;
    box-sizing: border-box;
  }

  .sec-eligible .productlist-item.-wide {
    grid-column-start: 1;
    grid-column-end: 3;
  }

  .sec-eligible .productlist .product .product-type {
    width: 100px;
    margin-bottom: 10px;
  }
  .sec-eligible .productlist .product .product-txt1 {
    margin-bottom: 10px;
    font-size: 11px;
  }
  .sec-eligible .productlist .product .product-txt2 {
    margin-bottom: 12px;
  }
  .sec-eligible .productlist .product .product-txt2-line1 {
    font-size: 25.2px;  /* 28px * 0.9 = 25.2 */
  }
  .sec-eligible .productlist .product .product-txt2-line2 {
    font-size: 13.5px;  /* 15px * 0.9 = 13.5 */
  }
  .sec-eligible .productlist .product .product-txt3 {
    font-size: 11px;
  }

  .sec-eligible .productlist .product .product-btn {
    
  }
  .sec-eligible .productlist .product .product-btn.-wide {
    padding-top: 5px;
  }
  .sec-eligible .productlist .product .product-btn.-sp {
    display: none;
  }
  .sec-eligible .productlist .product .product-btn.-pc {
    display: block;
  }

  .sec-eligible .productlist .product .product-widetxtbox {
    display: flex;
    justify-content: flex-end;
  }
  .sec-eligible .productlist .product .product-wideimgbox {
    padding: 0 25px;
    box-sizing: border-box;
  }

  .sec-eligible .productlist .product .product-wideimg.-sp {
    display: none;
  }
  .sec-eligible .productlist .product .product-wideimg.-pc {
    display: inline;
  }
}
@media screen and (min-width: 1024px) {
  .sec-eligible .productlist {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 40px;
  }

  .sec-eligible .productlist .product .product-inner {
    padding: 20px;
  }

  .sec-eligible .productlist .product .product-imgbox {
    padding-top: 20px;
  }

  .sec-eligible .productlist .product .product-txt2-line1 {
    font-size: 28px;
  }
  .sec-eligible .productlist .product .product-txt2-line2 {
    font-size: 15px;
  }
}
/* 対象商品 */

/* バナーセクション */
.sec-bnrs {
  padding: 50px 0 90px;
  box-sizing: border-box;
}

@media screen and (min-width: 769px) {
  .sec-bnrs {
    padding: 100px 0 180px;
  }
}

/* スペシャルサイトバナー */
.bnr-specialsite {
  display: block;
  position: relative;
  width: 100%;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  background-color: #ffffff;
}
.bnr-specialsite .bnr-specialsite-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
}
.bnr-specialsite .bnr-specialsite-ttl {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  padding: 5px;  /* 6px * 0.8 = 4.8px */
  box-sizing: border-box;
  font-family: "Shippori Mincho", serif;
  font-size: 20.8px;  /* 26px * 0.8 = 20.8px */
  font-weight: 700;
  font-style: normal;
  text-align: center;
  color: #ffffff;
  background-color: #124a47;
}
.bnr-specialsite .bnr-specialsite-ttl .bnr-specialsite-ttl-txt {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0 24px;  /* 30px * 0.8 = 20.8px */
}
.bnr-specialsite .bnr-specialsite-ttl .bnr-specialsite-ttl-txt::after {
  display: inline-block;
  position: relative;
  transform: translateY(1px);
  width: 11px;  /* 13px * 0.8 = 10.4px */
  height: 17px;  /* 21px * 0.8 = 16.8px */
  content: "";
  background-image: url("/.resources/webresources/cpn/24dbt/images/icon_chevron_right_wh.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
}

@media screen and (min-width: 769px) {
  .bnr-specialsite .bnr-specialsite-ttl {
    padding: 6px;
    font-size: 26px;
  }
  .bnr-specialsite .bnr-specialsite-ttl .bnr-specialsite-ttl-txt {
    gap: 0 30px;
  }
  .bnr-specialsite .bnr-specialsite-ttl .bnr-specialsite-ttl-txt::after {
    width: 13px;
    height: 21px;
  }
}
/* スペシャルサイトバナー */

/* UEFA EURO 2024 Official Partnerバナー */
.bnr-euro2024 {
  display: block;
  width: 100%;
  max-width: 380px; /* 240px -> 380px */
  margin-left: auto;
  margin-right: auto;
}
.bnr-euro2024-img {
  width: 100%;
}
/* UEFA EURO 2024 Official Partnerバナー */

/* バナーセクション */


/* キャンペーン概要 */
#detail {
  position: relative;
}

.sec-detail {
  padding-top: 40px;
  box-sizing: border-box;
}

@media screen and (min-width: 769px) {
  .sec-detail {
    padding-top: 80px;
  }
}


/* タブ・パネル */
.detail .tab {
  display: grid;
  position: relative;
  justify-items: center;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.44140625vw 2.44140625vw;  /* 25px / 1024px * 100vw */
}

.detail .tab .tab-item {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  color: #000000;
  background-color: #ffffff;
  cursor: pointer;
  transition: background-color 0.3s ease 0s;
}

.detail .tab .tab-item.cp01, .detail .tab .tab-item.cp02, .detail .tab .tab-item.cp03 {
  margin-bottom: 36px;
}

.detail .tab .tab-item.cp02::before, .detail .tab .tab-item.cp03::before {
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translate(-50%, -100%);
  content: "";
  width: 164px; /* 234px * 0.7 = 163.8 */
  height: 26px; /* 37px * 0.7 = 25.9 */
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  pointer-events: none;
}
.detail .tab .tab-item.cp02::before {
  background-image: url("/.resources/webresources/cpn/24bscr/images/tab2_fukidashi_v3.png");
}
.detail .tab .tab-item.cp03::before {
  background-image: url("/.resources/webresources/cpn/24bscr/images/tab3_fukidashi_v3.png");
}

@media screen and (min-width:375px){
  .detail .tab .tab-item.cp02::before, .detail .tab .tab-item.cp03::before {
    width: 188px; /* 234px * 0.8 = 187.2 */
    height: 30px; /* 37px * 0.8 = 29.6 */
  }
}
@media screen and (min-width:480px){
  .detail .tab .tab-item.cp03 {
    margin-bottom: 0;
  }
}
@media screen and (min-width:769px){
  .detail .tab .tab-item.cp01, .detail .tab .tab-item.cp02 {
    margin-bottom: 0;
  }

  .detail .tab .tab-item.cp02::before, .detail .tab .tab-item.cp03::before {
    width: 211px; /* 234px * 0.9 = 210.6 */
    height: 34px; /* 37px * 0.9 = 33.3 */
  }
}
@media screen and (min-width: 1024px) {
  .detail .tab .tab-item.cp02::before, .detail .tab .tab-item.cp03::before {
    width: 234px;
    height: 37px;
  }
}

.detail .tab .tab-item:hover {
  color: #ffffff;
  background-color: #000000;
  transition: background-color 0.3s ease 0s;
}

.detail .tab .tab-item.active, .detail .tab .tab-item.active:hover {
  color: #ffffff;
  background-color: #000000;
  transition: background-color 0.3s ease 0s;
}

.detail .tab .tab-item .tab-item-inner {
  position: relative;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

.detail .tab .tab-item .tab-item-inner .tab-item-txt {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  padding: 12px 0;  /* 17px * 0.7 = 11.9*/
  box-sizing: border-box;
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 16px;  /* 24px * 0.8 = 16 */
  line-height: 1.5;
  font-weight: 400;
  text-align: center;
}
.detail .tab .tab-item .tab-item-inner .tab-item-txt span {
  display: inline-block;
}

@media screen and (min-width:480px){
  .detail .tab {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.44140625vw 2.44140625vw;  /* 25px / 1024px * 100vw */
  }

  .detail .tab .tab-item .tab-item-inner .tab-item-txt {
    flex-direction: row;
    padding: 14px 0;  /* 17px * 0.8 = 13.6 */
  }
}
@media screen and (min-width:640px) {
  .detail .tab .tab-item .tab-item-inner .tab-item-txt {
    font-size: 16px;  /* 20px * 0.8 = 16 */
  }
}
@media screen and (min-width:769px){
  .detail .tab {
    grid-template-columns: repeat(4, 1fr);
    gap: 0 2.44140625vw;  /* 25px / 1024px * 100vw */
  }

  .detail .tab .tab-item {
  }

  .detail .tab .tab-item .tab-item-inner .tab-item-txt {
    flex-direction: column;
    padding: 10px 0;
    font-size: 18px;  /* 20px * 0.9 = 18 */
  }

  .detail .tab .tab-item .tab-item-inner .tab-item-txt span {
    display: block;
  }
}
@media screen and (min-width: 920px) {
  .detail .tab .tab-item .tab-item-inner .tab-item-txt {
    font-size: 18px;  /* 20px * 0.9 = 18 */
  }
}
@media screen and (min-width: 1024px) {
  .detail .tab {
    gap: 0 25px;
  }

  .detail .tab .tab-item .tab-item-inner .tab-item-txt {
    font-size: 15px;
  }
}

.wbox section {
  /*padding-bottom: 40px;*/
  box-sizing: border-box;
}

@media screen and (min-width:769px) {
  .wbox section {
    /*padding-bottom: 80px;*/
  }
}

.wbox .cp02, .wbox .cp03, .wbox .cp04 {
  display: none;
}

.cp04 {
  background: #ffffff;
}

/* タブ・パネル */


/* 手順 */
.step {
}

.step .step-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px 0;  /* 40px * 0.8 = 32 */
}

.step .step-list .step-item {
  display: grid;
  grid-template-columns: 64px 1fr;  /* * 0.8、可変、* 0.7 */
  position: relative;
  background-color: #f1f1f1;
}

.step .step-list.-type02 .step-item {
  background-color: #f1f1f1;
}

.step .step-list .step-item .step-head {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 5px;  /* * 0.8 */
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
  color: #ffffff;
  background-color: #eb9d7b;
}
.step .step-list.-type02 .step-item .step-head {
  background-color: #eb9d7b;
}

.step .step-list .step-item .step-head img {
  width: 61.25%;  /* 49px / 80px * 100% */
}
.step .step-list .step-item .step-body {
  position: relative;
  padding: 8px 12px 15px;  /* * 0.8 */
  box-sizing: border-box;
}
.step .step-list.-type02 .step-item .step-body {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.step .step-list .step-item .step-body.-qr {
  padding-right: 90px;
}

.step .step-list .step-item .step-ttl {
  margin-bottom: 4px; /* 5px * 0.8 = 4px */
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 14.4px;  /* 18px * 0.8 = 14.4 */
  line-height: 1.2;
  font-weight: 700;
  color: #d80c18;
}
.step .step-list.-type02 .step-item .step-ttl {
  margin-bottom: 0;
  font-size: 14.4px;  /* 18px * 0.8 = 14.4 */
  color: #d80c18;
}

.step .step-list .step-item .step-txt {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 12px;  /* 15px * 0.8 = 12 */
  line-height: 1.5;
  font-weight: 400;
  text-align: justify;
  color: #333333;
}

.step .step-list .step-item .step-body .step-qr {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  width: 80px;  /* 100px * 0.8 = 80px */
  height: 80px;
}

@media screen and (min-width:769px) {
  .step .step-list {
    gap: 40px 0;
  }

  .step .step-list .step-item {
    display: grid;
    grid-template-columns: 80px 1fr;
  }

  .step .step-list .step-item .step-head {
    padding: 12px 6px;
  }

  .step .step-list .step-item .step-body {
    padding: 10px 15px 18px;
  }

  .step .step-list .step-item .step-body.-qr {
    padding-right: 110px;
  }

  .step .step-list .step-item .step-ttl {
    margin-bottom: 5px;
    font-size: 18px;
  }
  .step .step-list.-type02 .step-item .step-ttl {
    margin-bottom: 0;
    font-size: 18px;  /* 18px * 0.8 = 14.4 */
  }

  .step .step-list .step-item .step-txt {
    font-size: 15px;
  }

  .step .step-list .step-item .step-body .step-qr {
    width: 100px;
    height: 100px;
  }
}

.step-receiptbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.953125vw 2.9296875vw; /* 20px / 1024px * 100vw、30px / 1024px * 100vw */
}
.step-receiptbox .step-receiptbox-item {
  display: inline-block;
  width: auto;
}

.step-receiptbox .step-receipt1 {
  width: 158px;
}
.step-receiptbox .step-receipt2 {
  width: 415px;
}
.step-receiptbox .step-receipt3 {
  width: 356px;
  max-width: 85.7%; /* 356px / 415px * 100% */
}

@media screen and (min-width:640px) {
  .step-receiptbox {
    flex-wrap: nowrap;
    justify-content: center;
  }
}
@media screen and (min-width:769px) {
  .step-receiptbox {
    flex-wrap: nowrap;
  }
}
@media screen and (min-width: 1024px) {
  .step-receiptbox {
    gap: 20px 30px;
  }
}

.step-imgdata {
  position: relative;
  background-color: #ededed;
  padding: 32px 3.90625vw; /* 40px / 1024px * 100vw */
}
.step-imgdata-ttl {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 192px;  /* 240px * 0.8 = 192 */
  padding: 16px;
  border-radius: 100vh;
  box-sizing: border-box;
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 16px;  /* 20px * 0.8 = 16 */
  line-height: 1;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
  background-color: #d80c18;
}

@media screen and (min-width:769px) {
  .step-imgdata {
    padding: 40px 3.90625vw;  /* 40px / 1024px * 100vw */
  }
  .step-imgdata-ttl {
    width: 240px;
    padding: 20px;
    font-size: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .step-imgdata {
    padding: 40px 40px;
  }
}

.step-complete {
  display: inline-block;
  width: 33% !important;
  margin-top: 15px;
  margin-left: 15px;
  margin-bottom: 15px;
}

@media screen and (min-width:769px) {
  .step-complete {
    width: 200px !important;
    margin-top: 0;
    margin-left: 30px;
    margin-bottom: 30px;
  }
}

.step-sevenbank01 {
  display: inline-block;
  width: 100%;
  max-width: 623px;
}

.step-sevenbank02 {
  display: inline-block;
  width: 100%;
  max-width: 314px;
}
/* 手順 */


/* 必要書類 */
.doc-num {
  display: inline-block;
  vertical-align: middle;
  width: 28px;  /* 36px * 0.8 = 28.8px */
  height: auto;
  margin: 0 5px;
}
.doc-num.-beginning {
  margin-left: 0;
}

.doc-box {
  display: grid;
  grid-template-columns: 1fr;  /* * 0.8、可変 */
  padding: 0 12px;  /* 15px * 0.8 = 12px */
  border: 2px solid #d80c18;
  box-sizing: border-box;
}
.doc-box-head {
  display: grid;
  justify-items: center;
  align-items: center;
  border-bottom: 2px solid #d80c18;
  padding: 10px 0;
  box-sizing: border-box;
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 14.4px;  /* 18px * 0.8 = 14.4 */
  line-height: 1;
  font-weight: 700;
  text-align: center;
  color: #d80c18;
}
.doc-box-body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px 0;
  padding: 10px 4px;
  box-sizing: border-box;
}
.doc-box-body-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
}
.doc-box-body-row .doc-num {
  flex-shrink: 0;
}

@media screen and (min-width:640px) {
  .doc-box {
    grid-template-columns: 96px 1fr;  /* * 0.8、可変 */
    padding: 12px 0;  /* 15px * 0.8 = 12px */
  }

  .doc-box-head {
    padding: 0 0;
    border-bottom-style: none;
    border-right: 2px solid #d80c18;
  }

  .doc-box-body {
    padding: 4px 16px;  /* * 0.8 */
  }
}
@media screen and (min-width:769px) {
  .doc-num {
    width: 36px;
    margin: 0 6px;
  }

  .doc-num.-beginning {
    margin-left: 0;
  }

  .doc-box {
    grid-template-columns: 120px 1fr;
    padding: 15px 0;
  }
  .doc-box-head {
    font-size: 18px;
  }
  .doc-box-body {
    gap: 10px 0;
    padding: 5px 20px;
  }
}
/* 必要書類 */


/* よくあるご質問 */
.faq .faq-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px 0;  /* 5px * 0.8 = 4 */
}

.faq .faq-list .faq-item {
  display: grid;
  grid-template-columns: 64px 1fr;  /* * 0.8、可変、* 0.7 */
  position: relative;
  min-height: 64px;  /* 80px * 0.8 = 64px */
}
.faq .faq-list .faq-item.-q {
  background-color: #f1f1f1;
}
.faq .faq-list .faq-item.-a {
  margin-bottom: 12px;
  background-color: #fafafa;
}


.faq .faq-list .faq-item .faq-head {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 5px;  /* * 0.8 */
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
  color: #ffffff;
}
.faq .faq-list .faq-item.-q .faq-head {
  background-color: #d80c18;
}
.faq .faq-list .faq-item.-a .faq-head {
  background-color: #950006;
}

.faq .faq-list .faq-item .faq-head img {
  transform: translateX(2px);
  width: 30%;  /* 24px / 80px * 100% */
}
.faq .faq-list .faq-item .faq-body {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  padding: 8px 16px 9px;  /* * 0.8 */
  box-sizing: border-box;
}

.faq .faq-list .faq-item .faq-txt {
	font-family: 'Noto Sans JP',"Hiragino Sans","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  line-height: calc(28/15);
}
.faq .faq-list .faq-item.-q .faq-txt {
  font-size: 14.4px;  /* 18px * 0.8 = 14.4 */
  font-weight: 700;
  color: #d80c18;
}
.faq .faq-list .faq-item.-a .faq-txt {
  font-size: 12px;  /* 15px * 0.8 = 12 */
  font-weight: 400;
  color: #333333;
}

@media screen and (min-width:769px) {
  .faq .faq-list {
    gap: 5px 0;
  }

  .faq .faq-list .faq-item {
    grid-template-columns: 80px 1fr;
    min-height: 80px;
  }
  .faq .faq-list .faq-item.-a {
    margin-bottom: 15px;
  }

  .faq .faq-list .faq-item .faq-head {
    width: 80px;
  }
  .faq .faq-list .faq-item .faq-body {
    padding: 10px 20px 10px;
  }

  .faq .faq-list .faq-item.-q .faq-txt {
    font-size: 18px;
  }
  .faq .faq-list .faq-item.-a .faq-txt {
    font-size: 15px;
  }
}

/* よくあるご質問 */






.dbt .note_list li {
  font-size: 15px;
  line-height: 1.6;
  text-indent: -1em;
  padding-left: 1em;
}

.dbt .note_list li + li{
  margin-top: 3px;
}

.dbt .note_list li a{
  color: #000;
}

.caution ul + h3{
  margin-top: 55px;
}


.tv{
  text-align: center;
  margin-bottom: 60px;
}

.tv h2{
  font-size: 30px;
  line-height: 1;
  color: #FFF;
  font-weight: bold;
  padding: 20px 0;
  background: #333;
  border-radius: 10px;
  margin-bottom: 30px;
}

.tv ul{
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
  margin-bottom: 30px;
}

.tv ul li{
  width: 495px;
  color: #FFF;
  text-align: left;
  padding: 20px 15px 70px;
  background: #333;
  position: relative;
  box-sizing: border-box;
  border-radius: 10px;
}

.tv ul li:nth-of-type(n + 3){
  margin-top: 20px;
}

.tv ul li.sed{
  padding-top: 50px;
  padding-bottom: 100px;
}

.tv ul li.sed.pb{
  padding-bottom: 60px;
}

.tv ul li.sed > p{
  width: 145px;
  height: 30px;
  font-size: 14px;
  text-align: center;
  line-height: 30px;
  color: #FFF;
  background: #ff3eb3;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.tv ul li > img{
  width: auto;
  height: 34px;
  margin-bottom: 15px;
  display: block;
}

.tv ul li .pic{
  width: 240px;
  position: absolute;
  top: 75px;
  right: 10px;
}

.tv ul li .pic img:first-of-type{
  width: auto;
  height: 30px;
  position: absolute;
  right: 10px;
  bottom: -35px;
}

.tv ul li.sed .pic{
  top: 50px;
}

.tv h4{
  font-size: 33px;
  line-height: 32px;
  margin-bottom: 5px;
}

.tv h4 em{
  font-style: normal;
  font-size: 12px;
  line-height: 1.3;
  display: block;
  margin-bottom: 5px;
}

.tv h4 span{
  font-size: 16px;
  padding-left: 10px;
}

.tv ul li h5{
  font-size: 24px;
  line-height: 1;
  margin-bottom: 5px;
}

.tv ul li p {
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 10px;
}

.tv ul li p span{
  line-height: 1.1;
  padding: 1px 4px;
  margin-left: .5em;
  color: #FFF;
  background: #ff3eb3;
  border-radius: 3px;
  display: inline-block;
  vertical-align: middle;
}

.tv ul li .txt div p,
.br_box p{
  font-size: 12px;
  line-height: 1.6;
  margin-bottom: 5px;
}

.tv ul li  a,
.br_box a{
  font-size: 18px;
  line-height: 1;
  color: #000;
  background: #ffd100;
  padding: 10px 20px;
  border-radius: 5px;
  display: inline-block;
}

.tv ul li a + a,
.br_box a + a{
  margin-left: 13px;
}

.tv_box > p,
.br_box > p{
  font-size: 15px;
  line-height: 1;
  color: #FFF;
  text-align: center;
}

.tv ul li a.single,
.br_box a.single{
  width: 50%;
  font-size: 16px;
  text-align: center;
  display: block;
  margin: 0 auto;
}

.tv ul li a.single{
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%)
}

.tv ul li .oln{
  font-size: 12px;
  line-height: 1.6;
  margin-bottom: 0;
}

.tv ul li.rd img{
  width: 350px;
  height: auto;
  display: block;
  margin: 30px auto 0;
}

.bg-black {
  background: #000000;
  padding: 100px 0 60px;
}

.foot_block{
  margin: 0 auto;
}

.contact h2{
  height: auto;
  font-size: 20px;
  line-height: 1;
  text-align: center;
  font-weight: bold;
  color: #ffffff;
  padding: 18px 0;
  margin-bottom: 60px;
  border-top: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  background: none;
  -webkit-box-shadow: none;
  -moz-box-shadow:    none;
  box-shadow: none;
}

.contact h3{
  font-size: 20px;
  line-height: 1;
  font-weight: normal;
  text-align: center;
  margin-bottom: 15px;
}

.contact h3.line{
  font-size: 18px;
  line-height: 1;
  font-weight: normal;
  text-align: center;
  margin-bottom: 30px;
  margin-top: 80px;
}

.contact table{
  width: 100%;
  margin-bottom: 10px;
  border-collapse:  collapse;
  border-color: #ffffff;
}

.contact table a{
  text-decoration: underline;
}

.contact th,
.contact td{
  font-size: 18px;
  line-height: 1.4;
  color: #ffffff;
  padding: 12px 20px;
  border: 1px solid #ffffff;
  box-sizing: border-box;
}

.contact th{
  width: 385px;
  background: #413f3a;
  text-align: center;
}

.contact td li{
  font-size: 14px;
  line-height: 1.4;
  text-indent: -1em;
  padding-left: 1em;
}

.dbt  .logo_box{
  margin-top: 50px;
}

.dbt .logo {
  width: 100%;
  max-width: 800px;
/*  height: 368px;*/
/*  padding-right: 20px;*/
  margin: 0 auto 20px;
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  align-content: space-between;
  gap: 10px 20px;
}

.dbt .logo a {
/*  margin-left: 20px;*/
  display: inline-block;
  width: calc( (100% / 2) - (20px / 2) ) !important;
}
@media screen and (min-width:769px){
  .dbt .logo {
    gap: 20px 20px;
  }
  .dbt .logo a {
    width: calc( (100% / 3) - (20px / 3 * 2) ) !important;
  }
}

.dbt  .logo img {
  border: 1px solid #00412e;
}

.dbt  .logo_box > p{
  text-align: center;
  font-size: 16px;
}

.dbt .logo_box h3 {
  font-size: 18px;
  line-height: 1;
  color: #ffffff;
  font-weight: normal;
  text-align: center;
  margin-bottom: 30px;
}


.dbt .link_box{
  display: flex;
  justify-content: space-between;
  margin-top: 80px;
  margin-left: -15px;
  margin-right: -15px;
}

.dbt .link_box li{
  width: calc( (100% / 3) - (10px / 3 * 2) );
/*  width: 330px;*/
  height: 100px;
  text-align: center;
}

.dbt .link_box li a{
  width: 100%;
  height: 100%;
  font-size: 20px;
  line-height: 1.5;
  text-decoration: none;
  color: #FFF;
  background: #12432E;
  padding-top: 23px;
  box-sizing: border-box;
  display: block
}

.dbt .link_box li a span{
  font-size: 16px;
  display: block;
}

.sp{
  display: none;
}

.pc{
  display: block;
  margin: 0 auto;
}

@media screen and (max-width:768px){
  .sp{
    display: block !important;
  }

  .pc{
    display: none !important;
    margin: 0;
  }

  #container {
    margin-top: 0 !important;
  }
  #content {
    margin: 0 auto 0;
    min-width: inherit;
    color: #000;
    overflow: hidden;
  }

  .dbt {
    overflow: hidden;
    font-size: 3.5vw;
  }

  .dbt a:hover{
    opacity: 1;
  }

  .dbt img{
    width: 100%;
    height: auto;
  }

  .dbt .tac{
    text-align: left;
  }

  .dbt p.note{
    font-size: 3vw;
    line-height: 1.5;
  }

  .dbt .dbt_inner{
    width: 100%;
    padding: 0;
    box-sizing: border-box;
  }

  .mv-bg {
  }

  .mv{
/*    height: auto;*/
  }

  .mv h1{
    width: auto;
    height: auto;
  }

  .mv img{
    max-width: inherit;
    width: 100%;
    height: auto
  }

  .hr{
    height: auto;
  }

  .desc{
    padding: 10vw 0 15vw;
  }

  .desc > div{
    width: 100%;
    padding: 0 5vw;
  }

  .desc h2{
    font-size: 6vw;
    line-height: 1.3;
    margin-bottom: 2vw;
  }

  .desc h3{
    font-size: 4.8vw;
    line-height: 1.3;
    margin: 3vw 0;
    white-space: nowrap;
  }

  .desc h3.mih{
    min-height: inherit;
    position: relative;
  }

  .desc h3.mih span{
    display: block;
    width: 100%;
    position: static;
    top: auto;
    left: auto;
    transform: translateY(0)
  }

  .desc h3 + p,
  .desc h3 + a{
    height: 10vw;
    font-size: 4.3vw;
    line-height: 10vw;
  }

  .desc > div > p {
    font-size: 4.5vw;
    line-height: 1.4;
    margin-bottom: 8vw;
  }

  .desc .c1 > div img,
  .desc .c2 img{
    width: 100%;
  }

  .desc .c1 > div img + img{
    border: none;
    display: block;
    width: 80%;
    margin: 6vw auto;
    position: static;
    top: auto;
    right: auto;
    transform: translateY(0)
  }

  .desc .c2 {
    display: block;
    margin-top: 15vw;
  }

  .desc .c2 > div{
    width: 100%;
  }

  .desc .c2 > div + div{
    margin-top: 15vw;
  }

  .desc .yt{
    width: 100%;
    margin: 0 auto 10vw;
    box-sizing: border-box;
  }

  .ts{
    padding: 10vw 5vw 15vw;
  }

  .ts h2{
    width: 75%;
    height: 15vw;
    font-size: 7vw;
    line-height: 14vw;
    margin: 0 auto 8vw;
  }

  .ts .ts_list{
    display: block;
  }

  .ts .ts_list + .ts_list{
    margin-top: 8vw;
    padding-top: 8vw;
    border-top: 1px solid #9d9d9e;
  }

  .ts .ts_list > div{
    width: 100%;
    text-align: center;
    box-sizing: content-box;
  }

  .ts .ts_list > div + div{
    margin-left: 0;
    padding-left: 0;
    padding-top: 8vw;
    margin-top: 8vw;
    border-left: none;
    border-top: 1px solid #9d9d9e;
  }

  .ts .ts_list h3{
    height: 8vw;
    font-size: 4vw;
    line-height: 8vw;
    border-radius: 10vw;
    margin: 5vw 0;
  }

  .ts .ts_list h3.sm{
    font-size: 3.5vw;
  }

  .ts .ts_list h4{
    font-size: 10vw;
    line-height: 1;
    margin-bottom: 2vw;
  }

  .ts .ts_list p.type{
    min-height: inherit;
    font-size: 6.5vw;
    line-height: 1.2;
    margin-bottom: 5vw
  }

  .ts .ts_list p.txt{
    font-size: 4vw;
    line-height: 1.6;
    font-feature-settings: "palt";
    margin-bottom: 5vw;
  }

  .ts .ts_list a{
    width: 80%;
    height: 14vw;
    font-size: 4.5vw;
    line-height: 14vw;
    border-radius: 2vw;
    display: block;
    margin: 0 auto;
  }

  .ts .ts_list a::after{
    border-top: 1vw solid transparent;
    border-bottom: 1vw solid transparent;
    border-left: 2vw solid #000;
    right: 6vw;
  }

  .cp{
    padding: 10vw 3vw;
  }

  .tab{
    display: flex;
    justify-content: space-between;
    margin-bottom: 6vw;
  }

  .dbt .note_list li{
    font-size: 3.5vw;
    line-height: 1.6;
  }

  .dbt .note_list li + li{
    margin-top: 1vw;
  }

  .caution{
    margin-bottom: 10vw;
  }

  .caution h2{
    margin-bottom: 10vw;
  }

  .caution ul + h3{
    margin-top: 10vw;
  }

  .foot_block{
    width: 100%;
    margin: 10vw auto;
    padding: 0 6vw;
    box-sizing: border-box;
  }

  .dbt  .contact h3{
    font-size: 3.3vw;
    line-height: 1.6;
    margin-bottom: 4vw;
  }

  .contact h2{
    height: auto;
    font-size: 3.8vw;
    line-height: 1;
    text-align: center;
    font-weight: bold;
    padding: 3vw 0;
    margin-bottom: 5vw;
    border-top: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    background: none;
    -webkit-box-shadow: none;
    -moz-box-shadow:    none;
    box-shadow: none;
  }

  .dbt  h3.line{
    font-size: 4vw;
    line-height: 1.4;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    margin-bottom: 0;
    margin-top: 5vw;
    padding: 2vw 0;
  }

  .dbt  .contact table{
    width: 100%;
    margin-bottom: 10px;
    border-collapse:  collapse;
  }

  .dbt  .contact th,
  .dbt  .contact td{
    font-size: 3vw;
    line-height: 1.3;
    text-align: center;
    font-weight: bold;
    padding: 2vw 4vw;
    display: block;
    margin-top: -1px;
  }

  .dbt  .contact th{
    width: 100%;
  }

  .dbt  .contact td ul{
    text-align: left;
    margin-top: 2vw;
  }

  .dbt  .contact td ul li{
    font-size: 2.5vw;
    font-weight: normal;
  }

  .dbt .logo{
    width: 100%;
    height: auto;
    padding: 0 2vw;
    margin: 0 auto 3vw;
    justify-content: space-between;
  }

  .dbt .logo a{
    width: 48%;
    display: block;
    margin-bottom: 8px;
    margin-left: 0;
  }

  .dbt .logo img{
    border: 1px solid #00412e;
    box-sizing: border-box;
  }

  .dbt .logo_box{
    width: 100%;
    padding: 0;
    margin-top: 5vw;
    box-sizing: border-box;
  }
  .dbt .logo_box > p{
    text-align: left;
    font-size: 3vw;
    text-indent: -1em;
    padding-left: 1em;
    margin: 0 4vw;
  }

  .dbt .logo_box h3{
    font-size: 3.8vw;
    line-height: 1.4;
    color: #ffffff;
    font-weight: normal;
    text-align: center;
    margin-bottom: 2vw;
    margin-top: 0;
  }

  .dbt .link_box{
    margin-top: 8vw;
    display: block;
  }

  .dbt .link_box li{
    width: 100%;
    height: auto;
  }

  .dbt .link_box li + li{
    margin-top: 2vw;
  }

  .dbt .link_box li a{
    font-size: 4vw;
    line-height: 1.5;
    padding: 3vw 0;
    box-sizing: border-box;
    display: block
  }

  .dbt .link_box li a span{
    font-size: 3.5vw;
    display: block;
  }
}



.breadcrumb-wrap.desktop-only.floating {
  z-index: -1;
}


/* テーブル設定 */
/* 幅が狭い時、横スクロール */
.p-tblWrap.-scroll {
  display: block;
  position: relative;
  overflow-x: auto;
}

.p-tbl {
  width: 100%;
  border-collapse: collapse;
  word-break: break-all;
}

.p-tbl th, .p-tbl td {
  font-size: 15px;
  line-height: 1.8;
  text-align: center;
  padding: 15px;
  box-sizing: border-box;
  background: #FFF;
  border: 1px solid #dedede;
  white-space: nowrap;
  color: #333333;
}

.p-tbl.t4 td, .p-tbl.t5 td {
  padding: 30px 15px;
}

.p-tbl tbody th {
  background: #FFF;
}

.p-tbl th {
  background: #eaeaea;
}

.p-tbl thead th:nth-of-type(1) {
  width: 7em !important;
}

.p-tbl.-col3 thead th {
  width: calc(100%/3);
}

.p-tbl.-col4 thead th:nth-of-type(1) {
  width: 15%;
}
.p-tbl.-col4 thead th {
  width: calc((100% - 15%) / 3);
}

.p-tbl.-col5 thead th:nth-of-type(1) {
  width: 10%;
}
.p-tbl.-col5 thead th {
  width: calc((100% - 10%) / 4);
}


@media screen and (min-width:769px) {
  .p-tbl th, .p-tbl td {
    white-space: normal;
  }

  .p-tbl thead th:nth-of-type(1) {
    width: 7em !important;
  }

  /*.p-tbl.-col5 thead th {*/
  /*  width: calc((100% - 7em) / 4);*/
  /*}*/
}

.p-tbl td div, .p-tbl th div {
  display: inline-block;
}

.p-tbl span {
  display: block;
  padding-right: 0;
}
.p-tbl td br {
  display: none;
}

@media screen and (min-width:769px) {
  .p-tbl span {
    display: inline-block;
    padding-right: 1em;
  }

  .p-tbl td br {
    display: inline-block;
  }
}


/* 印刷設定 */
@media print{
  .u-print-none {
    display: none !important;
  }
}


/* キャンペーンタブ内のアイテム */
.cp_item {
  background: #ffffff;
}

.cp_item + .cp_item {
  /*margin-top: 30px;*/
}

/* アコーディオンメニュー */
.accordion-content {
  display: none;
  padding-bottom: 30px;
}

@media screen and (min-width:769px) {
  .accordion-content {
    padding-bottom: 60px;
  }
}

/* MVフェード */
.wrap_f {
  width: 100%;
  position: relative;
  transition: opacity 7s ease 1.5s;
}

.wrap_f.fade.mv-img01.-pc {
  opacity: 1;
}

.wrap_f.fade.mv-img01.-sp {
  opacity: 1;
}

.mv-txt01 img.wrap_f.fade {
  opacity: 1;
}

.mv-band01.wrap_f.fade {
  opacity: 1;
}


/* 流れるテキスト */
.float_txt{
  align-items: center;
  background: #ffffff;
  padding-top: 12px;
  padding-bottom: 13px;
  border-top: 1px solid #d80c18;
  border-bottom: 1px solid #d80c18;
  display: flex;
  overflow:hidden;
  width: 100%;
  white-space:nowrap;
}
.float_txt ul {
  animation: flowing 20s linear infinite;
  transform:translateX(100%);
  margin: 0;
  padding: 0;
}
.float_txt ul li{
  display: inline-block;
  padding-left: 16px;
}
@keyframes flowing {
  0% { transform:translateX(0); }
  100% { transform:translateX(-100%); }
}


/* loading */
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 50;
  background-color: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeOut 3.8s forwards 0s;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  14% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

.loading .loading__logo {
  opacity: 0;
  animation: logo_fade 3.8s forwards 0s;
  width: 50%;
  max-width: 380px;
}

@keyframes logo_fade {
  0% {
    opacity: 0;
  }
  14% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@media screen and (min-width: 769px) {
  .loading .loding__logo {
    width: 100%;
  }
}

/* sec-black */
.sec-black {
  padding-top: 100px;
  padding-bottom: 120px;
}

.sec-black .sec-black-inner {
  width: 90%;
  margin-inline: auto;
}

.sec-black .sec-black-ttl {
  text-align: center;
}

.sec-black .sec-black-ttl img {
  max-width: calc((728/920)*100%);
  width: 100%;
}

.sec-black .sec-black-img img {
  width: 100%;
  margin-inline: auto;
}

.sec-black .sec-black-bnr {
  max-width: calc((675/920)*100%);
  width: 100%;
  margin-inline: auto;
  display: block;
}


@media screen and (min-width: 769px) {
  .sec-black {
    padding-top: 90px;
    padding-bottom: 100px;
  }
  .sec-black .sec-black-inner {
    max-width: 980px;
    width: 100%;
  }
  .sec-black .sec-black-ttl img {
    max-width: 728px;
  }
  .sec-black .sec-black-img img {
    max-width: 980px;
  }
  .sec-black .sec-black-bnr {
    max-width: 675px;
  }
}

/* cashback-table */
.cashback-table {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  overflow-x: scroll;
}

.cashback-table table {
  width: 100%;
  border-collapse: collapse;
}

.cashback-table th, .cashback-table td {
  padding: 10px;
  background-color: #ad0a13;
  color: #ffffff;
  font-size: 16px;
  text-align: center;
}

.cashback-table th {
  font-size: 12.8px;  /* 16px * 0.8 = 12.8px */
  font-weight: bold;
  background-color: #8b0000;
  text-wrap: nowrap;
}
.cashback-table th:first-of-type {
    border-right: 2px solid #d80c18;
}

.cashback-table .dashed-border {
  border-left: 2px dashed #d80c18;
}

.cashback-table .cashback-table-series img {
  max-width: 150px;
}

.cashback-table .cashback-table-price {
  padding: 10px 30px;
}
.cashback-table .cashback-table-price img {
  max-width: 107px;
  margin-left: auto;
  display: block;
}
@media screen and (min-width: 769px) {
  .cashback-table .cashback-table-series img {
    max-width: 215px;
  }
  .cashback-table .cashback-table-price img {
    max-width: 153px;
  }
}


.cashback-table tr td {
  font-weight: bold;
  font-size: 12.8px;  /* 16p * 0.8 = 12.8px */
  line-height: 1.5;
  border-top: 2px solid #d80c18;
  border-bottom: 2px solid #d80c18;
  border-left: 2px solid #d80c18;
  text-wrap: nowrap;
}

@media screen and (min-width: 769px) {
  .cashback-table th {
    font-size: 16px;
  }
  .cashback-table tr td {
      font-size: 16px;
  }
}

.step-charge {
  display: flex;
  gap: 40px;
  overflow-x: scroll;
}

.step-charge-item {
  min-width: 195px;
  width: 100%;
  position: relative;
}
.step-charge-item:not(:last-of-type)::after {
  position: absolute;
  content: "";
  top: 112px;
  right: -28px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 13px 13px;
  border-color: transparent transparent transparent #E0E1E1;
}

.pireod-img {
  overflow-x: scroll;
}
.pireod-img img {
  min-width: 600px;
}

.cashbackbox02-item {
  max-width: calc((780/900)*100%);
  margin: 0 auto;
}


/* ボタン一時無効 */
.btn-none {
  opacity: 0.3;
  pointer-events: none;
}


/* CP終了後マスク */
.mv-band02.-overlayend01 {
  position: relative;
}

.mv-band02.-overlayend01::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 11;
  width: 100%;
  content: "対象商品の購入は終了しました。";
  /* padding: 0 5vw; */
  box-sizing: border-box;
  font-family: 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 21.6px;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .mv-band02.-overlayend01::before {
      font-size: 36px;
  }
}
.mv-band02.-overlayend01::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(0, 0, 0, 0.8);
}