@charset "UTF-8";
/* ---------------------------------------------
  reset
--------------------------------------------- */
body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

/* 解析タグの隙間対策 */
body > img {
  display: none;
}

.lp_main div, .lp_main span, .lp_main iframe, .lp_main h1, .lp_main h2, .lp_main h3, .lp_main h4, .lp_main h5, .lp_main h6, .lp_main p, .lp_main address, .lp_main img, .lp_main small, .lp_main strong, .lp_main sub, .lp_main sup, .lp_main dl,
.lp_main dt, .lp_main dd, .lp_main ol, .lp_main ul, .lp_main form, .lp_main label, .lp_main table, .lp_main caption, .lp_main tbody, .lp_main tfoot, .lp_main thead, .lp_main tr, .lp_main th, .lp_main td, .lp_main article,
.lp_main aside, .lp_main footer, .lp_main header, .lp_main menu, .lp_main nav, .lp_main section, .lp_main video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 0;
  line-height: 0;
  vertical-align: baseline;
}
.lp_main article, .lp_main aside, .lp_main details, .lp_main figcaption, .lp_main figure,
.lp_main footer, .lp_main header, .lp_main menu, .lp_main nav, .lp_main section {
  display: block;
}
.lp_main ol, .lp_main ul {
  list-style: none;
}
.lp_main :focus {
  outline: 0;
}
.lp_main table {
  border-collapse: collapse;
  border-spacing: 0;
}
.lp_main *,
.lp_main *::before,
.lp_main *::after {
  box-sizing: border-box;
}
.lp_main img,
.lp_main video,
.lp_main svg {
  display: block;
  height: auto;
  vertical-align: bottom;
  width: 100%;
  max-width: 100%;
}


/* ---------------------------------------------
  common
--------------------------------------------- */
/* スムーススクロール */
html {
  scroll-behavior: smooth;
}
body {
  font-family: 'Noto Sans JP',Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Helvetica Neue",Meiryo,sans-serif;
}

.lp_main {
  width: min(100%, 1920px);
  margin: 0 auto;
}

.lp_main .innerFv {
  width: min(100%, 1200px);
  margin: 0 auto;
}


.lp_main .inner {
  width: min(100%, 1000px);
  margin: 0 auto;
}

/* positionで配置したい要素の外側に使用 */
.lp_main .p_box {
  position: relative;
}

/* 背景色 */
.lp_main .bg_yellowGreen {
  background-color: #d7f6ea;
}
.lp_main .bg_green {
  background-color: #009782;
}
.lp_main .bg_gray {
  background-color: #f7f7f7;
}

/* 注釈 */
.lp_main .note {
  padding: 5%;
  font-size: min(calc((18 / 750)* 100vw), 18px);
  line-height: 1.6;
}
.lp_main .note a {
  text-decoration: underline;
  text-underline-offset: .3em;
  font-weight: 700;
  color: #009782;
}

/* ---------------------------------------------
  header
--------------------------------------------- */
.lp_main header {
  padding: min(2%, 16px) min(5%, 115px) min(1%, 10px) min(5%, 115px);
}
.lp_main .logo {
  display: block;
  width: min(25%, 175px);
}


/* ---------------------------------------------
  fv
--------------------------------------------- */
.lp_main .sec_fv {
  background: url(/event/stock-01/images/fv-bg-pc.gif) no-repeat;
  background-position: center top;
}

@media screen and (max-width: 1201px) {
  .lp_main .fv_btn {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 11%;
  width: min(92%, 998px);
  margin: 0 auto;
}  
}

@media screen and (min-width: 751px) {
  .lp_main .fv_btn {
  position: absolute;
  left: 0;
  right: 0;
  bottom:2%;
  width: min(92%, 998px);
  margin: 0 auto;
}
}

/* ---------------------------------------------
  cv
--------------------------------------------- */
.lp_main .btn {
  width: calc(688 / 750 * 100%);
  margin: 0 auto;
}


/* ---------------------------------------------
 アコーディオン用 アイコン
--------------------------------------------- */

/* アイコン： 共通
------------------------------ */
.lp_main .icn_area {
  --icon-size: min(calc((35 / 750) * 100vw), 45px); /* アイコンのサイズ */

  position: relative;
  display: flex;
  width: var(--icon-size);
  height: var(--icon-size);
  align-items: center;
  justify-content: center;
}

/* アイコン： プラス
------------------------------ */
.lp_main .icn__plus::before,
.lp_main .icn__plus::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: min(calc((6 / 750)* 100vw), 6px); /* 線の幅 */
  background: #fff; /* 線の色 */
}
.lp_main .icn__plus::before {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.lp_main .icn__plus.is_active::before {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}



/* ---------------------------------------------
 アコーディオン
--------------------------------------------- */
.lp_main .aco_btn {
  position: relative;
  cursor: pointer;
}
.lp_main .aco_btn .icn_area {
  position: absolute;
  top: 50%;
  right: 3%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.lp_main .aco_main {
  display: none;
}


/* ---------------------------------------------
 slide
--------------------------------------------- */
.lp_main .slide_area {
  position: relative;
}
.lp_main .slide_area .swiper {
  width: 80%;
  margin: 0 auto;
  padding-bottom: min(calc((50 / 750)* 100vw), 50px);
}

/* 左右の矢印アイコン */
.lp_main .slide_area .swiper-button-next {
  right: 2%;
}
.lp_main .slide_area .swiper-button-prev {
  left: 2%;
}
.lp_main .swiper-button-disabled {
  display: none;
}
.lp_main .slide_area .swiper-button-next,
.lp_main .slide_area .swiper-button-prev {
  top: calc((100% - 50px) * 0.5);  /* ページネーションのサイズをマイナス */
  margin-top: -70px; /* ボタンの高さの半分 */
  width: min(calc((19 / 750)* 100vw), 19px);
  height: min(calc((49 / 750)* 100vw), 49px);
}
.lp_main .slide_area .swiper-button-next:after,
.lp_main .slide_area .swiper-button-prev:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(/event/stock-01/images/slide-arrow-01.png) no-repeat;
  background-size: contain;
  font-size: 0;
}
.lp_main .slide_area .swiper-button-prev:after {
  transform: scale(-1, 1);
}

/* ページネーション */
.lp_main .slide_area .swiper-pagination {
  bottom: 0;
}
.lp_main .slide_area .swiper-pagination-bullet {
  width: min(calc((20 / 750)* 100vw), 20px);
  height: min(calc((20 / 750)* 100vw), 20px);
  margin: 0 min(calc((10 / 750)* 100vw), 10px);
  background: #d7f6ea;
  opacity: 1;
}
.lp_main .slide_area .swiper-pagination-bullet-active {
  background: #ffe400;
  opacity: 1;
}



/* ---------------------------------------------
 point
--------------------------------------------- */
.lp_main .sec_point {
  padding-bottom: 5%;
}
.lp_main .point_01 dd {
  padding-bottom: 6%;
}
.lp_main .point_01 .slide_area {
  padding-bottom: 5%;
}

/* youtube埋め込み */
.lp_main .point_video {
  position: relative;
  padding-bottom: 47%;
  height: 0;
  overflow: hidden;
  width: 85%;
  margin: 5% auto;
  border: min(calc((5 / 750)* 100vw), 5px) solid #009782;
}

.lp_main .point_video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* アコーディオン */
.lp_main .point_aco {
  width: calc(664 / 750 * 100%);
  margin: 0 auto 5% auto;
  background-color: #fff;
  border-radius: min(calc((27 / 750)* 100vw), 27px);
  border: min(calc((5 / 750)* 100vw), 2px) solid #009782;
  overflow: hidden;
}
.lp_main .point_aco__yellow {
  border-color: #f8e33a;
}
.lp_main .point_aco__yellow .icn__plus::before,
.lp_main .point_aco__yellow .icn__plus::after {
  background: #000;
}

@media screen and (min-width: 751px) {
  .lp_main .point_aco {
    width: min(calc(978 / 1200 * 100%), 978px);
  }
}


/* ---------------------------------------------
 flow
--------------------------------------------- */
.lp_main .sec_flow .note {
  width: 80%;
  margin: 0 auto;
  padding: 5% 0 10% 0;
}
@media screen and (min-width: 1201px) {
  .lp_main .flow_bg {
    background: url(/event/stock-01/images/flow-bg-pc.gif) no-repeat;
    background-position: center top;
    display: block;
    margin: 0 auto;
}
/* --    
  .lp_main .sec_flow .note {
    width: min(calc(905 / 1920 * 100%), 905px);
  }
--- */    
}


/* ---------------------------------------------
 cp
--------------------------------------------- */
.lp_main .sec_cp {
  padding-bottom: 5%;
}

/* キャンペーン 1枚ver */
.lp_main .cp_inner {
  width: 89%;
  margin: 0 auto;
  padding-bottom: 5%;
}

/* キャンペーン カルーセルver */
.lp_main .cp_slide .swiper-button-next,
.lp_main .cp_slide .swiper-button-prev {
  margin-top: -10px;
}
.lp_main .cp_slide .swiper-button-next {
  right: 11%;
}
.lp_main .cp_slide .swiper-button-prev {
  left: 11%;
}


/* ---------------------------------------------
 item
--------------------------------------------- */
.lp_main .sec_item {
  padding-bottom: 5%;
}


/* ---------------------------------------------
 contact
--------------------------------------------- */
.lp_main .contact_btn {
  position: absolute;
  top: 30%;
  left: 0;
  right: 0;
  width: calc(558 / 750 * 100%);
  margin: 0 auto;
}


/* ---------------------------------------------
 security
--------------------------------------------- */

/* カルーセル */
.lp_main .security_slide .swiper {
  padding-bottom: min(calc((200 / 750)* 100vw), 200px);
}

/* 左右の矢印アイコン - 下部に配置 */
.lp_main .security_slide .swiper-button-prev03,
.lp_main .security_slide .swiper-button-next03 {
  top: auto !important;
  bottom: min(calc((60 / 750)* 100vw), 60px) !important;
  left: auto !important;
  right: auto !important;
  margin-top: 0 !important;
  width: min(calc((100 / 750)* 100vw), 100px) !important;
  height: min(calc((100 / 750)* 100vw), 100px) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.lp_main .security_slide .swiper-button-prev03 {
  left: calc(50% - min(calc((50 / 750)* 100vw), 50px) - min(calc((140 / 750)* 100vw), 140px)) !important;
}

.lp_main .security_slide .swiper-button-next03 {
  right: calc(50% - min(calc((50 / 750)* 100vw), 50px) - min(calc((140 / 750)* 100vw), 140px)) !important;
}

/* 矢印画像を変更 */
.lp_main .security_slide .swiper-button-next03:after,
.lp_main .security_slide .swiper-button-prev03:after {
  background: url(/event/stock-01/images/slide-arrow-02.png) no-repeat center;
  background-size: contain;
  width: 100%;
  height: 100%;
}

/* 非アクティブ状態のボタン - 既存のdisplay:noneを上書き */
.lp_main .security_slide .swiper-button-disabled {
  display: flex !important;
  opacity: 1 !important;
  filter: grayscale(100%) brightness(1.6) !important;
}

/* ページネーション - 中央下部に配置 */
.lp_main .security_slide .swiper-pagination03 {
  bottom: min(calc((110 / 750)* 100vw), 110px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  display: flex !important;
  justify-content: center !important;
  gap: min(calc((30 / 750)* 100vw), 30px) !important;
}

/* ページネーションドットのサイズと色を変更 */
.lp_main .security_slide .swiper-pagination-bullet {
  width: min(calc((16 / 750)* 100vw), 16px) !important;
  height: min(calc((16 / 750)* 100vw), 16px) !important;
  margin: 0 !important;
  background: #ccc !important;
}

.lp_main .security_slide .swiper-pagination-bullet-active {
  background: #5a9b8e !important;
}


/* ---------------------------------------------
 commission
--------------------------------------------- */
.lp_main .commission_btn {
  display: flex;
  flex-wrap: wrap;
  width: calc(648 / 750 * 100%);
  margin: 0 auto;
  gap: min(calc((30 / 750)* 100vw), 30px);
}
.lp_main .commission_btn li {
  width: calc(50% - min(calc((30 / 750) * 100vw), 30px));
}

/* ---------------------------------------------
 追従ボタン
--------------------------------------------- */
.lp_main .bl_floatArea {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transition: visibility .4s , opacity .4s;
  box-sizing: border-box;
}
.lp_main .bl_floatArea.is_show {
  visibility: visible;
  opacity: 1;
}
.lp_main .bl_floatArea_inner {
  max-width: 750px;
  margin: auto;
  padding: 0 3%;
  box-sizing: border-box;
}

/* ボタン */
.lp_main .bl_floatArea_btn {
  display: block;
}
