@charset "UTF-8";
/**************************************************************************

	POC

	コンテンツ幅： PC1160px, SP375
	基本フォントサイズ： 10px

***************************************************************************/
/*@function vw($size, $baseWidth) {
	@return calc($size / $baseWidth) * 100vw;
}*/
/**************************************************************************

	基本設定

***************************************************************************/
body {
  overflow-x: hidden; }

/* リセット */
picture {
  display: block; }

p,dl {
  margin: 0; }

ol {
  list-style-type: none;
  padding: 0; }

.ec-layoutRole__header { margin-bottom: 0;}
.ec-featureRole *,
.ec-featureRole *::before,
.ec-featureRole *::after {
  font-size: inherit; }

/* コンテンツ部分の背景色・フォント設定 */
.ec-layoutRole .ec-layoutRole__contents {
  max-width: none;
  /*background-color: #fff !important;*/
  background: url("/html/upload/user_data/feature/poc/img/bg_contentsall.png") repeat top center #fff4bc;
  padding-top: 15px; }
@media only screen and (max-width: 767px) {
	.ec-layoutRole .ec-layoutRole__contents {
	background-size: 80%;
	}
}
.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 {
  position: relative;
  padding: 15px 0 20px !important;
  border-top: 4px solid #018803;
  border-bottom: 4px solid #018803 !important;
  /*@include font_noto;*/
  color: #151515 !important;
  font-size: 2.8rem !important;
  font-weight: bold !important;
  text-align: center;
  /*	&::before {
  		content: "";
  		position: absolute;
  		bottom: 0;
  		left: 0;
  		width: 100%;
  		height: 2px;
  		background: $c_grad;
  	}*/ }
  @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 only screen and (max-width: 767px) {
    .giftItemsHeadImg h3 {
      margin-bottom: vw(20, 375) !important;
      padding: vw(10, 375) 0 vw(15, 375) !important;
      font-size: 2.1rem !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: #0a50b9; }

.fontRed {
  color: #d81212; }

.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; }

.mb40 {
  margin-bottom: 40px !important; }

.mb50 {
  margin-bottom: 50px !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; } }
.txtLink {
  text-decoration: underline !important; }

.lineText {
  text-decoration: underline;
  text-underline-offset: -0.1em;
  text-decoration-thickness: 0.4em;
  text-decoration-color: #feda26;
  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; } }

/* ボタン */
.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: 30px 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: #0a50b9; }
    @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);
        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 {
  font-size: 3rem;
  color: #135390 !important;
  border-color: #135390;
  box-shadow: 4px 7px 0 0 #135390; }
  @media only screen and (max-width: 767px) {
    .basicBtn.btnNavy {
      font-size: 2.5rem; } }
  .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); } }

.basicBtn.btnGrn {
  font-size: 2rem;
  color: #018803 !important;
  border-color: #018803;
  box-shadow: 4px 7px 0 0 #018803; }
  @media only screen and (max-width: 767px) {
    .basicBtn.btnGrn {
      font-size: 2.5rem; } }
  .basicBtn.btnGrn::after {
    border-color: #018803; }
  @media (hover: hover) and (pointer: fine) {
    .basicBtn.btnGrn:hover {
      box-shadow: 3px 3px 0 0 #018803;
      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_pocContents {
  /*font-family:'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;*/
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;
  /*font-family: "Helvetica Neue","Arial","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic","Meiryo","sans-serif";*/
  background: #fff;
  letter-spacing: 1px; }

.bl_pocContents_wrapper {
  padding: 50px 40px; }
  @media only screen and (max-width: 767px) {
    .bl_pocContents_wrapper {
      padding: 20px 20px 30px; } }

.bl_pocContents h2 {
  margin-bottom: 20px; }

@media only screen and (max-width: 767px) {
  .bl_pocContents 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;
	@include sp {
		background: none;
	}
}*/
/* コンテンツ背景 */
.contsBgDot {
  background: url(/html/upload/user_data/feature/ar-contents/img/bg_contents_dot.png) repeat; }

/* リード */
.bl_lead {
  /*margin: 0 calc(50% - 50vw);
  width: 100vw;*/
  text-align: center;
  background: #eef8ff;
  border-radius: 40px;
  padding: 40px 20px 0;
  max-width: 960px;
  margin: auto; }
  @media only screen and (max-width: 767px) {
    .bl_lead {
      padding: 30px 20px 0; } }

.bl_leadInner h3 {
  color: #0a50b9;
  font-weight: 700;
  font-size: 1.6em;
  margin-bottom: 10px; }
.bl_leadInner p {
  color: #0a50b9;
  /*font-weight: 700;*/
  font-size: 1.4em;
  margin-bottom: 20px; }
  @media only screen and (max-width: 767px) {
    .bl_leadInner p {
      font-size: 1.2em; } }
.bl_leadInner picture {
  max-width: 395px;
  margin: auto; }
  @media only screen and (max-width: 767px) {
    .bl_leadInner picture {
      text-align: center; } }
@media only screen and (max-width: 767px) {
  .bl_leadInner picture img {
    width: 80%; } }

.bl_laedInnerText {
  font-size: 2rem; }

/*---------------------------------------------

ボタン

---------------------------------------------*/
/* ノーマルボタン */
.normal__btn {
  display: block;
  font-size: 2.3rem;
  font-weight: bold;
  color: #0a50b9;
  background-color: #fff;
  border: #0a50b9 6px solid;
  text-align: center;
  padding: 20px 15px 23px;
  border-radius: 50vh;
  max-width: 470px;
  width: 100%;
  margin: auto;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .normal__btn {
      font-size: 2rem;
      padding: 20px 15px 20px; } }
  .normal__btn:hover {
    color: #0a50b9;
    background: #eef5ff; }
  .normal__btn:after {
    position: absolute;
    content: "";
    width: 12px;
    height: 12px;
    border-top: 3px solid #0a50b9;
    border-right: 3px solid #0a50b9;
    transform: translateY(-50%) rotate(45deg);
    top: 50%;
    right: 30px; }

.pswd {
  background: #fff1e7;
  padding: .3em .5em;
  color: #d81212;
  display: inline-block;
  font-size: 1.8rem;
  text-align: center; }

/* エントリーボタン */
.entry__btn {
  display: block;
  font-size: 3rem;
  font-weight: bold;
  color: #fff;
  background-color: #f66400;
  text-align: center;
  padding: 23px 15px 20px;
  border-radius: 50vh;
  max-width: 470px;
  width: 100%;
  margin: auto;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .entry__btn {
      font-size: 2rem;
      padding: 20px 15px 20px; } }
  .entry__btn:hover {
    color: #fff;
    background: #f68500; }

.entry__btn:after {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  top: 50%;
  right: 30px; }

/*---------------------------------------------

アンカーリンク

---------------------------------------------*/
.bl_anchorlink {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 2px;
  /*border-radius: 0 0 8px 8px;
  padding: 20px 0 23px !important;*/ }
  @media only screen and (max-width: 767px) {
    .bl_anchorlink {
      grid-template-columns: 1fr 1fr 1fr;
      /*padding: 5px 0 8px !important;*/
      margin-bottom: 10px !important; } }
  .bl_anchorlink .arrow_btm {
    position: relative;
    z-index: 1;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 2rem;
    font-weight: 600;
    line-height: initial;
    background-color: #272727;
    /*border-right: 1px solid #5cb531;*/
    padding: 15px 10px 20px; }
    @media only screen and (max-width: 767px) {
      .bl_anchorlink .arrow_btm {
        font-size: 1.4rem;
        letter-spacing: 0.5px;
        padding: 10px 10px 20px; } }
    @media print, screen and (min-width: 768px) {
      .bl_anchorlink .arrow_btm .arrow_btm:before {
        position: absolute;
        content: "";
        width: 90%;
        height: 120%;
        transform: translate(-50%, -50%);
        top: 50%;
        left: 50%;
        transition: 0.3s;
        background-color: #00773d;
        /*border-radius: 20px;*/
        opacity: 0;
        z-index: -1; } }

.bl_anchorlink__item .arrow_btm:after {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  border-right: 3px solid #feda26;
  border-bottom: 3px solid #feda26;
  transform: translateX(-50%) rotate(45deg);
  bottom: 10px;
  left: 50%;
  transition: 0.3s; }

@media only screen and (max-width: 767px) {
  .bl_anchorlink__item .arrow_btm:after {
    bottom: 10px;
    width: 10px;
    height: 10px; } }
@media only screen and (min-width: 768px) {
  .bl_anchorlink__item .arrow_btm:hover:before {
    opacity: 1; } }
@media only screen and (min-width: 768px) {
  .bl_anchorlink__item .arrow_btm:hover:after {
    bottom: 6px; } }
.bl_anchorlink__item .arrow_btm .icon {
  width: 40px;
  height: 40px; }

@media only screen and (max-width: 767px) {
  .bl_anchorlink__item .arrow_btm .icon {
    display: none; } }
.bl_anchorlink__item:last-child .arrow_btm {
  border-right: none; }

.bl_anchorlink__item span {
  font-size: 90%; }

/* 期間 */
.bl_cpPeriod {
  border: #f66400 solid 8px;
  padding: 16px 20px;
  max-width: 960px;
  margin: auto;
  text-align: center;
  font-size: 1.6em;
  font-weight: 700;
  margin-bottom: 30px; }
  @media only screen and (max-width: 767px) {
    .bl_cpPeriod {
      font-size: 1.3em; } }

.bl_cpPeriod_note {
  text-align: center;
  margin: 15px 0 30px; }

/*---------------------------------------------

ポイント付与までの流れ

---------------------------------------------*/
.bl_flow {
  border: #f66400 solid 6px;
  border-radius: 40px;
  max-width: 960px;
  margin: auto;
  padding-bottom: 20px; }
  .bl_flow h3 {
    background: #f66400;
    padding: 14px 20px 18px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px; }
  .bl_flow .bl_flow__list {
    font-size: 1.6rem;
    padding: 30px 30px 10px; }
    @media only screen and (max-width: 767px) {
      .bl_flow .bl_flow__list {
        padding: 30px 15px 10px; } }
    .bl_flow .bl_flow__list li {
      margin-bottom: 7px; }
  .bl_flow picture {
    text-align: center; }

.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: #018803;
    color: #feda26;
    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; } }

/* 商品枠へのアンカー */
#content.gift .bl_itemLink {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  background-color: #feda26;
  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; }
  @media only screen and (max-width: 767px) {
    .bl_appearTrainList {
      flex-direction: column;
      padding: 20px 20px 0; } }
  .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: #feda26;
    padding: 8px 20px;
    background: #018803;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    font-size: 2rem; }
  .bl_appearTrainList dd {
    padding: 15px;
    background: #018803;
    text-align: center;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px; }
    .bl_appearTrainList dd p {
      background: #fff;
      padding: 10px 15px 20px;
      text-align: left;
      line-height: 1.6em;
      font-size: 1.5rem; }

#content.gift .bl_notes {
  background: #f6f6f6;
  padding: 30px;
  border-radius: 30px; }

.ec-giftArea {
  background: #fff;
  padding: 60px 40px;
  max-width: 1200px;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .ec-giftArea {
      padding: 40px 20px; } }

/* おすすめ特集バナー */
.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((100% - 30px) / 2);*/
    max-width: 480px; }

/* タイトル */
.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: 30px 0 0; } }

.bl_giftItemHeadingInner {
  max-width: 1200px;
  margin: 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; } }
  .bl_giftItemHeadingInner h2 {
    margin: 20px auto 0; }
  .bl_giftItemHeadingInner picture {
    text-align: center; }
    .bl_giftItemHeadingInner picture > img {
      width: 80%;
      margin: auto; }

/*---------------------------------------------

注意事項

---------------------------------------------*/
.cpNotice {
  margin: 40px auto;
  padding: 30px 40px;
  max-width: 960px;
  background-color: #f5f5f5; }
  @media only screen and (max-width: 767px) {
    .cpNotice {
      margin-bottom: 30px;
      width: 100%;
      padding: 30px 15px;
      border-radius: 30px; } }
  .cpNotice h4 {
    font-size: 1.8rem;
    font-weight: bold;
    padding-left: 1em;
    border-left: #333 6px solid;
    padding: 3px 0px 0px .5em;
    margin-bottom: 15px; }
  .cpNotice li {
    margin-bottom: 3px; }

.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; } }

/*---------------------------------------------

特典

---------------------------------------------*/
.bl_benefit .bl_benefit__heading {
  background-color: #f66400;
  background-image: radial-gradient(#f7741a 18%, transparent 18%), radial-gradient(#f7741a 18%, transparent 18%);
  background-position: 0 0, 26px 26px;
  background-size: 52px 52px;
  padding: 20px;
  position: relative;
  text-align: center;
  /*margin-bottom: 20px;*/ }
  @media only screen and (max-width: 767px) {
    .bl_benefit .bl_benefit__heading {
      margin-bottom: 20px; } }
  .bl_benefit .bl_benefit__heading::after {
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    border-color: rgba(246, 100, 0, 0);
    border-top-width: 20px;
    border-bottom-width: 20px;
    border-left-width: 14px;
    border-right-width: 14px;
    margin-left: -14px;
    border-top-color: #f66400;
    top: 100%;
    left: 50%; }
  .bl_benefit .bl_benefit__heading h2 {
    max-width: 451px;
    margin: auto; }
  .bl_benefit .bl_benefit__heading p.bl_benefit__headingDtl {
    font-size: 3.5rem;
    font-weight: 700;
    color: #fff;
    margin-top: 15px; }
    @media only screen and (max-width: 767px) {
      .bl_benefit .bl_benefit__heading p.bl_benefit__headingDtl {
        font-size: 2.6rem; } }
    .bl_benefit .bl_benefit__heading p.bl_benefit__headingDtl span {
      font-size: 2.6rem; }
      @media only screen and (max-width: 767px) {
        .bl_benefit .bl_benefit__heading p.bl_benefit__headingDtl span {
          font-size: 1.8rem; } }

.bl_benefit__lead {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 40px; }
  @media only screen and (max-width: 767px) {
    .bl_benefit__lead {
      font-size: 1.6rem; } }

/*---------------------------------------------

よくあるご質問

---------------------------------------------*/
.faq_box h2 {
  font-size: min(6.41vw, 28px);
  font-weight: bold;
  text-align: center;
  margin: 0 0 min(4.31vw, 50px);
  letter-spacing: 1px;
  line-height: 1;
  position: relative; }

.faq_box {
  width: 91.37%;
  /*margin: min(5.17vw, 60px) auto 0;*/
  margin: 0 auto 50px;}

@media screen and (max-width: 767px) {
  .faq_box {
    width: auto;
    margin: 0 2vw 0; } }
.each .myfont1 {
  font-family: 'Roboto','Hiragino Sans','Meiryo','Hiragino Kaku Gothic ProN',sans-serif; }

.each {
  width: 100%;
  border-style: solid;
  border-width: 0 0 1px 0;
  border-color: black; }

.each:nth-of-type(1) {
  border-width: 1px 0 1px 0; }

.each .each-inner,
.each .faq-content {
  width: 100%;
  line-height: 1.6;
  position: relative; }

@media screen and (max-width: 767px) {
  .each .each-inner {
    line-height: 1.5; } }
.each .each-inner .each-inner-head {
  position: relative;
  width: 100%;
  padding: 20px 0; }

@media screen and (max-width: 767px) {
  .each .each-inner .each-inner-head {
    padding: 5vw 0 5vw 0; } }
.each .each-inner .each-inner-head .ear {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -52%);
  width: 100px;
  height: 100%; }

@media screen and (max-width: 767px) {
  .each .each-inner .each-inner-head .ear {
    width: 12vw; } }
.each .each-inner .each-inner-head .ear p {
  display: table;
  width: 100%;
  height: 100%; }

.each .each-inner .each-inner-head .ear p span {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  width: 100%;
  height: 100%;
  font-size: 32px;
  font-weight: 300; }

@media screen and (max-width: 767px) {
  .each .each-inner .each-inner-head .ear p span {
    font-size: 8vw; } }
.each .each-inner .each-inner-head .pane {
  padding: 0 100px; }

@media screen and (max-width: 767px) {
  .each .each-inner .each-inner-head .pane {
    padding: 0 8vw 0 12vw; } }
.each .each-inner .each-inner-head .pane p {
  font-size: 16px;
  font-weight: normal; }

@media screen and (max-width: 767px) {
  .each .each-inner .each-inner-head .pane p {
    font-size: 4vw; } }
.each details summary i .btnLink-arrow {
  position: absolute;
  right: 44px;
  top: 50%;
  width: 14px;
  height: 14px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-delay: 0.2s;
  transform-origin: center center;
  transform: translate(0, -50%) rotateZ(135deg); }

.each details[open] summary i .btnLink-arrow {
  transform: translate(0, -50%) rotate(-45deg); }

.each details summary::-webkit-details-marker {
  display: none; }

@media screen and (max-width: 767px) {
  .each details summary i .btnLink-arrow {
    right: 2vw;
    top: 50%;
    width: 2vw;
    height: 2vw;
    margin: -1vw 0 0 0; } }
.each details summary .faq-content {
  position: relative;
  width: 100%;
  padding: 0 0 30px 0;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s ease-out; }

@media screen and (max-width: 767px) {
  .each details summary .faq-content {
    padding: 0 0 3vw 0; } }
.each .faq-content .ear {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -74%);
  width: 100px;
  height: 100%; }

@media screen and (max-width: 767px) {
  .each .faq-content .ear {
    width: 14vw; } }
.each .faq-content .ear p {
  display: table;
  width: 100%;
  height: 100%; }

.each .faq-content .ear p span {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  width: 100%;
  height: 100%;
  font-size: 32px; }

@media screen and (max-width: 767px) {
  .each .faq-content .ear p span {
    font-size: 8vw; } }
.each .faq-content .pane {
  padding: 0 100px; }

@media screen and (max-width: 767px) {
  .each .faq-content .pane {
    padding: 0 8vw 0 12vw; } }
.each .faq-content .pane p {
  font-size: 16px;
  font-weight: normal; }

@media screen and (max-width: 767px) {
  .each .faq-content .pane p {
    font-size: 4vw; } }
.each .faq-content .pane p.ind {
  padding: 0 0 0 1em;
  text-indent: -1em; }

.each .faq-label {
  display: flex;
  align-items: center;
  cursor: pointer; }

.each .faq-content {
  padding: 0 0 20px; }

/*# sourceMappingURL=style.css.map */
