@charset "UTF-8";
/**************************************************************************

	列車AR

	コンテンツ幅： PC1160px, SP375
	基本フォントサイズ： 10px

***************************************************************************/
/*@function vw($size, $baseWidth) {
	@return calc($size / $baseWidth) * 100vw;
}*/
/**************************************************************************

	基本設定

***************************************************************************/
body {
  overflow-x: hidden;
}

/* リセット */
picture {
  display: block;
}

dl {
  margin: 0;
}

ol {
  list-style-type: none;
  padding: 0;
}

.ec-featureRole *,
.ec-featureRole *::before,
.ec-featureRole *::after {
  font-size: inherit;
}

/* コンテンツ部分の背景色・フォント設定 */
.ec-layoutRole .ec-layoutRole__contents {
  max-width: none;
  background-color: #fff !important;
}

.ec-featureRole {
  color: #151515;
  /*@include font_noto;*/
  letter-spacing: 0.02em;
}

/* コンテンツ上部の親要素 */
.ec-featureRole__headdescription {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* デフォルトH1テキストを非表示 */
.ec-featureRole .ec-featureRole__head {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

h1, h2, h3 {
  margin: 0;
}

/* デフォルト商品タイトルカスタマイズ */
.giftItemsHeadImg {
  padding-bottom: 0 !important;
}

.giftItemsHeadImg h3 {
  padding: 18px 0 15px !important;
  border-top: 3px solid #094d8e !important;
  border-bottom: 3px solid #e84d66;
  /*@include font_noto;*/
  border-bottom: 3px solid #094d8e !important;
  color: #151515 !important;
  font-size: 2.8rem !important;
  font-weight: bold !important;
  text-align: center;
}

@media print, screen and (max-width: 767px) {
  .giftItemsHeadImg h3 {
    font-size: 2.2rem !important;
  }
}
/*@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .giftItemsHeadImg h3 {
    margin-bottom: vw(30, 1024) !important;
    padding: vw(15, 1024) 0 vw(23, 1024) !important;
    font-size: 2.6rem !important; } }*/
/* マージン調整 */
@media print, screen and (min-width: 768px) {
  #content.gift .ec-giftArea + .ec-giftArea {
    margin-top: 70px;
  }
}
@media only screen and (max-width: 767px) {
  #content.gift .ec-giftArea + .ec-giftArea {
    margin-top: vw(45, 375);
  }
}
/* 商品のナビ */
.ec-featureItems.buttons {
  display: none !important;
}

/* もっと見る */
.more-link {
  margin-top: 15px !important;
}

/* お知らせ */
/* キャンペーン終了 */
.cp-end {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
  border: solid 1px #fff17f;
  padding: 24px;
  background-color: #fffee3;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  color: #f00;
}

/***************************************************************************

	汎用クラス・共通要素

****************************************************************************/
.indent {
  padding-left: 1em !important;
  text-indent: -1em;
}

.txtC {
  text-align: center !important;
}

.txtL {
  text-align: left !important;
}

@media only screen and (max-width: 767px) {
  .txtC_sp {
    text-align: center !important;
  }
  .txtL_sp {
    text-align: left !important;
  }
}
.fontSz60 {
  font-size: 60%;
}

.fontSz65 {
  font-size: 65%;
}

.fontSz75 {
  font-size: 75%;
}

.fontSz80 {
  font-size: 80%;
}

.fontSz90 {
  font-size: 90%;
}

.fontSz110 {
  font-size: 110%;
}

.fontSz115 {
  font-size: 115%;
}

.fontSz120 {
  font-size: 120%;
}

.fontSz130 {
  font-size: 130%;
}

.fontSz160 {
  font-size: 160%;
}

.fontSz180 {
  font-size: 180%;
}

.fontSz190 {
  font-size: 190%;
}

.fontB {
  font-weight: bold;
}

.fontM {
  font-weight: 500;
}

.fontEn {
  font-family: "Poppins";
}

.fontPink {
  color: #e84d66;
}

.fontBlue {
  color: #217bd4;
}

.lh_basic {
  line-height: 1.6;
}

.mt0 {
  margin-top: 0px !important;
}

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

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

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

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

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

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

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

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

@media only screen and (max-width: 767px) {
  .mt15_sp {
    margin-top: vw(15, 375) !important;
  }
  .mt20_sp {
    margin-top: vw(20, 375) !important;
  }
  .mt25_sp {
    margin-top: vw(25, 375) !important;
  }
  .mt30_sp {
    margin-top: vw(30, 375) !important;
  }
  .mb10_sp {
    margin-bottom: vw(10, 375) !important;
  }
  .mb20_sp {
    margin-bottom: 20px !important;
  }
  .mb25_sp {
    margin-bottom: vw(25, 375) !important;
  }
  .mr5_sp {
    margin-right: vw(5, 375) !important;
  }
}
.pc {
  display: block;
}

@media only screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}
.pc_inb {
  display: inline-block;
}

@media only screen and (max-width: 767px) {
  .pc_inb {
    display: none;
  }
}
.sp {
  display: block;
}

@media print, screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}
.sp_inb {
  display: inline-block;
}

@media print, screen and (min-width: 768px) {
  .sp_inb {
    display: none;
  }
}
.tablet_inb {
  display: none;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .tablet_inb {
    display: inline-block;
  }
}
.sp_tablet_inb {
  display: none;
}

@media only screen and (max-width: 1024px) {
  .sp_tablet_inb {
    display: inline-block;
  }
}
.disp_inb {
  display: inline-block;
}

@media print {
  .print_inb {
    display: inline-block;
  }
}
.lineText {
  text-decoration: underline;
  text-underline-offset: -0.1em;
  text-decoration-thickness: 0.4em;
  text-decoration-color: #ffff6c;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

.textLink {
  color: #0054a6;
  text-decoration: underline !important;
  text-underline-offset: 0.2em;
}

@media (hover: hover) and (pointer: fine) {
  .textLink:hover {
    text-decoration: none !important;
  }
}
.contents_scrolltarget {
  margin-top: -130px;
  padding-top: 130px;
}

/* ボタン */
.basicBtn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 9999px;
  width: 100%;
  background-color: #fff;
  /*
  	box-shadow: 4px 7px 0 0 $c_navy;
  */
  color: #151515 !important;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  padding: 25px 10px;
  /*padding: 40px 10px;*/
  border-width: 5px;
  border-style: solid;
}

/*  .basicBtn::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    display: block;
    margin: auto;
    width: 12px;
    height: 12px;
    border-width: 4px 4px 0 0;
    border-style: solid;
    transform: rotate(45deg); }
    #sign_up .basicBtn::after {
      border-color: #e84d66; }
    #enquete .basicBtn::after {
      border-color: #217bd4; }
    @media only screen and (min-width: 768px) and (max-width: 1024px) {
      .basicBtn::after {
        right: vw(15, 1024); } }
    @media only screen and (max-width: 767px) {
      .basicBtn::after {
        right: vw(15, 375);
		right: 15px;
        width: 10px;
        height: 10px;
        border-width: 3px 3px 0 0; } }*/
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .basicBtn {
    padding: vw(20, 1024);
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .basicBtn {
    padding: vw(12, 375);
    font-size: clamp(12px, vw(15, 375), 23px);
  }
}
.basicBtn.btnNavy {
  width: 100%;
  margin: auto;
  font-size: 2.2rem;
  /*font-size: 3rem;*/
  padding: 20px 10px;
  color: #135390 !important;
  border-color: #135390;
  box-shadow: 3px 5px 0 0 #135390;
}

@media only screen and (max-width: 767px) {
  .basicBtn.btnNavy {
    font-size: 2rem;
    /*padding: 20px 35px 20px 0;*/
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .basicBtn.btnNavy {
    width: 90%;
    font-size: 2.2rem;
  }
}
.basicBtn.btnNavy span {
  position: relative;
}

.basicBtn.btnNavy span::before {
  content: "";
  width: 34px;
  height: 25px;
  /*	width: 44px;
  	height: 32px;*/
  position: absolute;
  background: url(/html/upload/user_data/feature/ar-contents-yamanote/img/img_camera.png) no-repeat left top/cover;
  right: -40px;
  top: 3px;
}

@media only screen and (max-width: 767px) {
  .basicBtn.btnNavy span::before {
    width: 30px;
    height: 22px;
    right: -30px;
  }
}
.basicBtn.btnNavy::after {
  border-color: #135390;
}

@media (hover: hover) and (pointer: fine) {
  .basicBtn.btnNavy:hover {
    box-shadow: 3px 3px 0 0 #135390;
    transform: translateY(3px);
  }
}
@media only screen and (max-width: 767px) {
  .bl_appearTrain .pagiNaviBtnListItem {
    /*max-width: 400px;*/
    width: 73.0117340287vw; /*width: calc(560vw / 7.67);*/
  }
}
.basicBtn.btnGrn {
  font-size: 2rem;
  color: #094d8e !important;
  border-color: #094d8e;
  box-shadow: 4px 7px 0 0 #094d8e;
}

@media only screen and (max-width: 767px) {
  .basicBtn.btnGrn {
    font-size: 2.5rem;
  }
}
.basicBtn.btnGrn::after {
  border-color: #094d8e;
}

@media (hover: hover) and (pointer: fine) {
  .basicBtn.btnGrn:hover {
    box-shadow: 3px 3px 0 0 #094d8e;
    transform: translateY(3px);
  }
}
/* ボタン枠 */
.btnWrapper {
  margin: 40px auto 55px;
  display: flex;
  justify-content: center;
  gap: 26px;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .btnWrapper {
    margin: vw(30, 1024) auto vw(50, 1024);
    gap: vw(20, 1024);
  }
}
@media only screen and (max-width: 767px) {
  .btnWrapper {
    margin: vw(25, 375) auto vw(30, 375);
    flex-direction: column;
    gap: vw(15, 375);
  }
}
.btnWrapper > div {
  width: 360px;
}

@media only screen and (max-width: 767px) {
  .btnWrapper > div {
    width: 100%;
  }
}
/***************************************************************************

	コンテンツ

****************************************************************************/
.bl_arContents {
  font-family: "メイリオ", "Meiryo", "ＭＳ ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}

.bl_arContents + p {
  display: none;
}

.bl_arContents h2 {
  margin-bottom: 20px;
}

@media only screen and (max-width: 767px) {
  .bl_arContents h2 picture {
    width: 90%;
    margin: auto;
  }
}
/* MV */
#mainVisual {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  text-align: center;
  background: url(/html/upload/user_data/feature/ar-contents-yamanote/img/mv_bg_navy.png) no-repeat center, url(/html/upload/user_data/feature/ar-contents-yamanote/img/bg_mv_dot.png) repeat;
}

@media only screen and (max-width: 767px) {
  #mainVisual {
    background: none;
  }
}
/* コンテンツ背景 */
.contsBgDot {
  background: url(/html/upload/user_data/feature/ar-contents-yamanote/img/bg_contents_dot.png) repeat;
}

/* リード */
.bl_laed {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  text-align: center;
  background: #ffffb9;
  padding: 40px 0;
}

@media only screen and (max-width: 767px) {
  .bl_laed {
    padding: 25px 0 30px;
  }
}
.bl_laedInner {
  display: flex;
  justify-content: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .bl_laedInner {
    flex-direction: column-reverse;
    padding: 10px 20px 0;
  }
}
@media only screen and (max-width: 767px) {
  .bl_laedInner picture {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .bl_laedInner picture img {
    width: 80%;
  }
}
.bl_laedInnerText {
  font-size: 2rem;
}

/* ARの遊び方 */
.bl_flow {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  background: #094d8e;
  background-image: url("/html/upload/user_data/feature/ar-contents-yamanote/img/bg_flow_deco_pc.png");
  background-repeat: no-repeat;
  background-position: 50% 100%;
  padding: 50px 0;
}

@media only screen and (max-width: 767px) {
  .bl_flow {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.bl_flowInner {
  max-width: 850px;
  margin: auto;
  padding: 40px 45px 50px;
  background: #fff;
  border-radius: 70px;
  border: #ffff6c 14px solid;
}

@media only screen and (max-width: 767px) {
  .bl_flowInner {
    padding: 40px 20px 50px;
    border-width: 10px;
  }
}
.bl_flowList {
  display: flex;
  justify-content: center;
  -moz-column-gap: 40px;
       column-gap: 40px;
}

@media only screen and (max-width: 767px) {
  .bl_flowList {
    flex-direction: column;
  }
}
.bl_flowList dl {
  width: calc((100% - 40px) / 2);
}

@media only screen and (max-width: 767px) {
  .bl_flowList dl {
    width: auto;
    margin-bottom: 30px;
  }
}
.bl_flowList dt {
  background: #094d8e;
  color: #ffff6c;
  position: relative;
  text-align: center;
  padding: 5px;
  font-size: 2.4rem;
  margin-bottom: 30px;
}

.bl_flowList dt::after {
  content: "";
  display: block;
  position: absolute;
  /*吹き出しの三角*/
}

.bl_flowList dd {
  text-align: center;
}

.bl_flowList dd img {
  max-width: 188px;
  height: auto;
}

.bl_flowList dd > p {
  text-align: left;
  font-size: 1.6rem;
  margin-top: 10px;
}

@media only screen and (max-width: 767px) {
  .bl_flowList dd > p {
    margin-top: 15px;
  }
}
.bl_flowExample {
  margin-top: 60px;
}

@media only screen and (max-width: 767px) {
  .bl_flowExample {
    margin-top: 30px;
  }
}
.bl_flowExamplePhoto {
  display: flex;
  justify-content: center;
  -moz-column-gap: 40px;
       column-gap: 40px;
}

@media only screen and (max-width: 767px) {
  .bl_flowExamplePhoto {
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}
.bl_flowExamplePhoto picture {
  max-width: 310px;
}

/* 商品枠へのアンカー */
#content.gift .bl_itemLink {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  background-color: #ffff6c;
  background-image: url("/html/upload/user_data/feature/ar-contents-yamanote/img/bg_item.png");
  background-repeat: repeat-x;
  min-height: 182px;
}

@media only screen and (max-width: 767px) {
  #content.gift .bl_itemLink ul {
    padding: 0 20px;
  }
}
.bl_itemLinkInner {
  max-width: 1200px;
  margin: auto;
  min-height: 182px;
}

@media only screen and (max-width: 767px) {
  .bl_itemLinkInner {
    display: flex;
    justify-content: center;
  }
}
/* 列車紹介
------------------------------------------------------- */
.bl_appearTrain {
  background: #cde5fc url(/html/upload/user_data/feature/ar-contents-yamanote/img/bg_appear_deco.png) no-repeat 50% 100%;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 60px 0;
}
@media only screen and (max-width: 767px) {
  .bl_appearTrain {
    padding: 50px 20px;
  }
  .bl_appearTrain h2 picture {
    width: 80%;
  }
}
.bl_appearTrain .bl_appearTrainList {
  max-width: 850px;
  margin: auto;
  border-radius: 70px;
  border: #094d8e 14px solid;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .bl_appearTrain .bl_appearTrainList {
    border-width: 10px;
  }
}
.bl_appearTrain .bl_appearTrainList dl {
  max-width: 850px;
}
@media only screen and (max-width: 767px) {
  .bl_appearTrain .bl_appearTrainList dl {
    width: auto;
    margin: 0 auto 30px;
  }
}
.bl_appearTrain .bl_appearTrainList dl dt {
  color: #ffff6c;
  padding: 8px 0 13px;
  background: #094d8e;
  font-size: 30px;
  text-align: center;
  border-radius: 50px 50px 0 0;
}
@media only screen and (max-width: 767px) {
  .bl_appearTrain .bl_appearTrainList dl dt {
    padding: 6px 0 11px;
    font-size: 20px;
  }
}
.bl_appearTrain .bl_appearTrainList dl dd {
  text-align: center;
  padding: 40px;
}
@media only screen and (max-width: 767px) {
  .bl_appearTrain .bl_appearTrainList dl dd {
    padding: 30px 20px 10px;
  }
}
.bl_appearTrain .bl_appearTrainList dl dd img {
  width: auto;
  height: auto;
}
.bl_appearTrain .bl_appearTrainList dl dd p {
  padding: 30px 15px 30px;
  line-height: 1.6;
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .bl_appearTrain .bl_appearTrainList dl dd p {
    padding: 20px 10px;
    font-size: 16px;
  }
}
.bl_appearTrain .bl_appearTrainBnr {
  text-align: center;
  margin: 50px 0 0;
}
@media only screen and (max-width: 767px) {
  .bl_appearTrain .bl_appearTrainBnr {
    margin-top: 40px;
  }
}
.bl_appearTrain .bl_appearTrainBnr p {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 5px;
}
@media only screen and (max-width: 767px) {
  .bl_appearTrain .bl_appearTrainBnr p {
    font-size: 15px;
  }
}
.bl_appearTrain .bl_appearTrainBnr img {
  width: 100%;
  max-width: 640px;
  height: auto;
}

/*  */
#content.gift .bl_notes {
  background: #f6f6f6;
  padding: 30px;
  border-radius: 30px;
}

/*  */
.ec-featureRole__content {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  /*padding: 60px 0;*/
  padding: 40px 20px;
  background: #ffffb9;
  padding-bottom: 0 !important;
  margin-bottom: 40px;
}

@media only screen and (max-width: 767px) {
  .ec-featureRole__content {
    padding: 30px 20px;
  }
}
.ec-giftArea {
  background: #fff;
  border-radius: 40px;
  padding: 60px 40px;
  max-width: 1200px;
  margin: 0 auto 70px;
}

@media only screen and (max-width: 767px) {
  .ec-giftArea {
    padding: 40px 20px;
  }
}
@media only screen and (max-width: 767px) and (min-width: 768px) and (max-width: 1024px) {
  .ec-giftArea {
    padding: 0 20px;
  }
}
/* ARで遊ぶ */
.playBntNotes {
  color: #fff;
}

.bl_playBtn {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 60px 0;
  background: #094d8e;
}

.bl_playBtnInner {
  max-width: 1200px;
  margin: auto;
}

@media only screen and (max-width: 767px) {
  .bl_playBtnInner {
    /*margin: vw(25,375) auto vw(30,375);*/
    padding: 0 20px;
  }
}
.playBtnList {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 55px;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .playBtnList {
    gap: vw(30, 1024);
  }
}
@media only screen and (max-width: 767px) {
  .playBtnList {
    gap: vw(15, 375);
  }
}
.playBtnListItem {
  width: 420px;
}

/* ボタン */
.pagiNavi {
  max-width: 1200px;
  margin: auto;
}

.pagiNaviBtnList {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagiNaviBtnList.btnGrn {
  min-height: 182px;
}

.pagiNaviBtnListItem {
  width: 420px;
}

@media only screen and (max-width: 767px) {
  .pagiNaviBtnListItem {
    max-width: 400px;
  }
}
.pagiNaviBtn {
  position: relative;
  display: block;
  padding: 20px 10px 35px;
  border-width: 3px;
  border-style: solid;
  border-radius: 9999px;
  font-size: 1.9rem;
  font-weight: bold;
  line-height: 1.35;
  text-align: center;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .pagiNaviBtn {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .pagiNaviBtn {
    padding: vw(12, 375) vw(10, 375) vw(25, 375);
    border-radius: 40px;
    font-size: clamp(12px, vw(15, 375), 23px);
  }
}
.pagiNaviBtn::after {
  content: "";
  position: absolute;
  bottom: 12px;
  right: 0;
  left: 0;
  margin: auto;
  display: block;
  width: 12px;
  height: 12px;
  border-right: 4px solid #fff;
  border-bottom: 4px solid #fff;
  transform: rotate(45deg);
}

@media only screen and (max-width: 767px) {
  .pagiNaviBtn::after {
    bottom: vw(10, 375);
    width: 10px;
    height: 10px;
    border-width: 0 3px 3px 0;
  }
}
.c_grn .pagiNaviBtn {
  background-color: #fff;
  border-color: #094d8e;
  box-shadow: 3px 6px 0 0 #094d8e;
  color: #094d8e;
  padding: 23px 30px 35px;
  border-radius: 9999px;
}

@media only screen and (max-width: 767px) {
  .c_grn .pagiNaviBtn {
    padding: 20px 30px 30px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c_grn .pagiNaviBtn:hover {
    box-shadow: 3px 3px 0 0 #094d8e;
    transform: translateY(4px);
  }
}
.c_grn .pagiNaviBtn::after {
  border-color: #094d8e;
}

/* おすすめ特集バナー */
.bl_featuredBnr {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 60px 0;
}
@media only screen and (max-width: 767px) {
  .bl_featuredBnr {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.bl_featuredBnr .bl_featuredBnrInner {
  max-width: 1200px;
  margin: 0 auto 60px;
}
.bl_featuredBnr .bl_featuredBnrInner .bl_featuredBnrInnerList {
  display: flex;
  flex-wrap: wrap;
  gap: 3%;
}
@media only screen and (max-width: 767px) {
  .bl_featuredBnr .bl_featuredBnrInner .bl_featuredBnrInnerList {
    display: block;
  }
}
.bl_featuredBnr .bl_featuredBnrInner .bl_featuredBnrInnerList li {
  width: 48.5%;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  .bl_featuredBnr .bl_featuredBnrInner .bl_featuredBnrInnerList li {
    width: auto;
  }
}
.bl_featuredBnr .bl_featuredBnrInner .bl_featuredBnrInnerList .tokyo-moving-round {
  border: 1px solid #221815;
}

/* タイトル */
.bl_giftItemHeading {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 60px 0 0;
  background: #ffffb9;
}

@media only screen and (max-width: 767px) {
  .bl_giftItemHeading {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.bl_giftItemHeadingInner {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: center;
  -moz-column-gap: 30px;
       column-gap: 30px;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .bl_giftItemHeadingInner {
    flex-direction: column-reverse;
    /*padding: 0 20px;*/
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .bl_giftItemHeadingInner {
    -moz-column-gap: 5%;
         column-gap: 5%;
  }
}
.bl_giftItemHeadingInner h2 {
  margin: 0;
}

.bl_giftItemHeadingInner picture {
  text-align: center;
}

.bl_giftItemHeadingInner picture > img {
  width: 80%;
  margin: auto;
}

/* 注意事項 */
.cpNotice {
  margin: 0 auto;
  padding: 50px 60px;
  max-width: 850px;
  border-radius: 60px;
  background: #ededed;
}
@media only screen and (max-width: 767px) {
  .cpNotice {
    margin: 0;
    max-width: 100%;
    padding: 40px 30px;
  }
}

.cpNoticeTitle {
  margin: 0 0 20px;
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .cpNoticeTitle {
    font-size: 2.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cpNoticeTitle {
    font-size: clamp(15px, vw(22, 375), 31px);
  }
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 30px 0;
  padding: 0;
}

@media only screen and (max-width: 767px) {
  hr {
    margin: vw(25, 375) 0;
  }
}
/* バナーリスト */
.cpBnrGroup {
  display: flex;
  gap: 46px;
}

@media only screen and (max-width: 767px) {
  .cpBnrGroup {
    flex-direction: column;
    gap: vw(20, 375);
  }
}
.cpBnrLink {
  width: calc((100% - 45px) / 2);
  box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.06);
  transition-duration: 0.2s;
}

@media only screen and (max-width: 767px) {
  .cpBnrLink {
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .cpBnrLink:hover {
    opacity: 0.8;
  }
}
.ec-featureRole__headdescription.cke-content + .slideContentArea.slideLayout_1.swiper-parent {
	display: none;
}

/*# sourceMappingURL=style.css.map */