@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);
  -webkit-clip-path: inset(50%);
  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 #01a46c !important;
  border-bottom: 3px solid #e84d66;
  /*@include font_noto;*/
  border-bottom: 3px solid #01a46c !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;
  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/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: calc(560vw / 7.67);/*width: calc(560vw / 7.67);*/} }

.basicBtn.btnGrn {
  font-size: 2rem;
  color: #01a46c !important;
  border-color: #01a46c;
  box-shadow: 4px 7px 0 0 #01a46c; }
  @media only screen and (max-width: 767px) {
    .basicBtn.btnGrn {
      font-size: 2.5rem; } }
  .basicBtn.btnGrn::after {
    border-color: #01a46c; }
  @media (hover: hover) and (pointer: fine) {
    .basicBtn.btnGrn:hover {
      box-shadow: 3px 3px 0 0 #01a46c;
      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/img/mv_bg_grn.png) no-repeat center, url(/html/upload/user_data/feature/ar-contents/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/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;
  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: #01a46c;
  background-image: url("../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;
  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: #01a46c;
    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;
  column-gap: 40px; }
  @media only screen and (max-width: 767px) {
    .bl_flowExamplePhoto {
      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("../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 {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 60px 0; }
  @media only screen and (max-width: 767px) {
    .bl_appearTrain h2 picture {
      width: 80%; } }

.bl_appearTrainList {
  max-width: 1200px;
  margin: auto;
  display: flex;
  justify-content: center;
  column-gap: 30px;
  padding: 0 20px;
  flex-wrap: wrap;
  row-gap: 30px;
  }
  @media only screen and (max-width: 767px) {
    .bl_appearTrainList {
      flex-direction: column;
      padding: 20px 20px 0;
      row-gap: 10px; } }
  .bl_appearTrainList dl {
    width: calc((100% - 30px) / 2);
    max-width: 550px; }
    @media only screen and (max-width: 767px) {
      .bl_appearTrainList dl {
        width: auto;
        margin: 0 auto 30px; } }
  .bl_appearTrainList dt span {
    color: #ffff6c;
    padding: 8px 20px;
    background: #01a46c;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    font-size: 2rem; }
  .bl_appearTrainList dd {
    padding: 15px;
    background: #01a46c;
    text-align: center;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px; }
    .bl_appearTrainList dd > div {
		background: #fff;
		padding-bottom: 30px;
		display: flex;
		flex-direction: column;
	}
    .bl_appearTrainList dd p {
      background: #fff;
      padding: 10px 15px 20px;
      text-align: left;
      line-height: 1.6em;
      font-size: 1.5rem;
      flex-grow: 1;
      min-height: 80px; }

/*  */
#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 (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: #01a46c; }

.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: #01a46c;
    box-shadow: 3px 6px 0 0 #01a46c;
    color: #01a46c;
    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 #01a46c;
        transform: translateY(4px); } }
    .c_grn .pagiNaviBtn::after {
      border-color: #01a46c; }

/* おすすめ特集バナー */
.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_featuredBnrInner {
  max-width: 1200px;
  margin: 0 auto 60px; }

.bl_featuredBnrInnerList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px; }
  .bl_featuredBnrInnerList li {
    width: calc((95% - 30px) / 2);
    /*max-width: 480px;*/ }
  @media only screen and (max-width: 767px) {
  .bl_featuredBnrInnerList li {
    width: auto }
}

/* タイトル */
.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;
  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 {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;
	/*background-color: #f5f5f5;*/ }
  @media only screen and (max-width: 767px) {
    .cpNotice {
      margin: auto 20px 20px 20px;
      max-width: 100%;
      padding: 30px;
      border-radius: 30px; } }
@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .cpNotice {
      margin: auto 20px 20px 20px;
      max-width: 100%;
	  } }

.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: .2s; }
  @media only screen and (max-width: 767px) {
    .cpBnrLink {
      width: 100%; } }
  @media (hover: hover) and (pointer: fine) {
    .cpBnrLink:hover {
      opacity: .8; } }

/*# sourceMappingURL=style.css.map */