.lp-contents {font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, ".SFNSDisplay-Regular", "Helvetica Neue", "Hiragino Sans", ヒラギノ角ゴシック, "ヒラギノ角ゴ ProN W3", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", Arial, メイリオ, Meiryo, Roboto, "Droid Sans", sans-serif;color: #262626;}
.lp-contents .ryumin {font-family: 'リュウミン L-KL', 'Ryumin Regular KL', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝体', YuMincho, '游明朝', 'Yu Mincho', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;line-height: 1;}
.lp-contents .ryumin-m {font-family: 'リュウミン M-KL', 'Ryumin Medium KL','リュウミン L-KL', 'Ryumin Regular KL', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝体', YuMincho, '游明朝', 'Yu Mincho', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;line-height: 1;}
.lp-contents .ryumin-r {font-family: 'リュウミン R-KL', 'Ryumin Regular KL','リュウミン M-KL', 'Ryumin Medium KL', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝体', YuMincho, '游明朝', 'Yu Mincho', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;line-height: 1;}
.lp-contents .ryumin-b {font-family: 'リュウミン B-KL', 'Ryumin Bold KL','リュウミン M-KL', 'Ryumin Medium KL', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝体', YuMincho, '游明朝', 'Yu Mincho', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;line-height: 1;}
.lp-contents .mb10 {margin-bottom: 10px !important;}
.lp-contents .mb15 {margin-bottom: 15px !important;}
.lp-contents .mb20 {margin-bottom: 20px !important;}
.lp-contents .mb30 {margin-bottom: 30px !important;}
.lp-contents .mb40 {margin-bottom: 40px !important;}
.lp-contents .mb50 {margin-bottom: 50px !important;}
.lp-contents .mb60 {margin-bottom: 60px !important;}
.lp-contents .mb70 {margin-bottom: 70px !important;}
.lp-contents .mb80 {margin-bottom: 80px !important;}
.lp-contents .mb100 {margin-bottom: 100px !important;}
.lp-contents .mb130 {margin-bottom: 130px !important;}
.lp-contents .mb150 {margin-bottom: 150px !important;}
.lp-contents h1, .lp-contents h2, .lp-contents h3, .lp-contents h4, .lp-contents h5, .lp-contents p {margin: 0;padding: 0;border: none;background: none; color: #001388;}
.lp-contents img {max-width: 100%;height: auto;vertical-align: bottom;}
.lp-contents a {color: #052f57;text-decoration: none;outline: none;}
.lp-contents .redTxt {color: #c20000;}
.lp-contents .txtLeft {text-align: left;}
.lp-contents .txtCenter {text-align: center;}
.lp-contents .txtRight {text-align: right;}

html {
  font-size: 10px;
}
@media screen and (max-width: 640px) {
  html {
    font-size: 1.5625vw;
  }
}
body {
  max-width: 640px;
  margin: auto;
  position: relative;
}
.lp-contents {
  background: #FFF;
  text-align: center;
  margin: 0 auto;
  font-size: 2.133rem;
  overflow: hidden;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
}
/* common */
.m_line {
  position: relative;
  z-index: 2;
}
.m_line:after {
  content: "";
  width: 0%;
  height: 1.4rem;
  background: #001388;
  opacity: 0.2;
  position: absolute;
  bottom: 0.3rem;
  left: 0;
  z-index: -1;
  transition: 2s;
}
.m_line_mini {
  position: relative;
  z-index: 2;
}
.m_line_mini:after {
  content: "";
  width: 100%;
  height: 0.9rem;
  background: #001388;
  opacity: 0.2;
  position: absolute;
  bottom: 0.2rem;
  left: 0;
  z-index: -1;
  background-size: 0% 100%;
}
.js-anim.is-open:after {
  width: 100%;
}
.fadeUp {
  opacity: 0;
  transform: translateY(4rem);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.fadeUp.active {
  opacity: 1;
  transform: translateY(0);
}

/* mainVisual */
.mainVisual {
  position: relative;
  background: #c8d9ed;
  margin-top: -1rem;
}
.mainVisual .mv_ttl { 
  color: #fff;
  font-size: 6.144rem;
  position: absolute;
  top: 7.1rem;
  left: 0;
  right: 0;
  margin: auto;
  letter-spacing: 0.4rem;
}
.mainVisual .mv_ttl .small {
  font-size: 4rem;
}
.mainVisual .mv_detail {
  position: absolute;
  top: 69rem;
  left: 0;
  right: 0;
  margin: auto;
}
.mainVisual .mv_detail img {
  width: 55.6rem;
}
.mainVisual .mv_caution {
  margin: -4.8rem 0 4.8rem;
  /* background-image: url(../img/mv_caution_bg.webp);*/
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #00118a;
}
.mainVisual .mv_caution_txt {
  width: 53.5rem;
  margin: 0 auto;
  font-size: 1.536rem;
  line-height: 1.5;
  color: #333333;
  text-align: left;
}
/* mainVisual出し分け */
.qa__1 .mainVisual .mv_ttl { 
  font-size: 5.3rem;
  line-height: 1.1;  
}
.qa__1 .mainVisual .mv_ttl sup {
  font-size: 2.3rem;
}
.qa__2 .mainVisual .mv_ttl {
  font-size: 5.3rem;
  line-height: 1.1;  
}
.qa__3 .mainVisual .mv_ttl {
  font-size: 5.3rem;
  line-height: 1.1;  
}
.qa__4 .mainVisual .mv_ttl {
  font-size: 5.3rem;
  line-height: 1.1;  
}

/* モーダルCSS */
#openModal {
  text-decoration: underline;
  cursor: pointer;
}
#openModal:hover {
  opacity: 0.8;
}
.modalArea {
display: none;
position: fixed;
z-index: 10; /*サイトによってここの数値は調整 */
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.modalBg {
width: 100%;
height: 100%;
background-color: rgba(30,30,30,0.9);
}
.modalWrapper {
position: absolute;
top: 50%;
left: 50%;
transform:translate(-50%,-50%);
width: 80%;
max-width: 570px;
}
.modalContents {
position: relative;
}
.closeModal {
position: absolute;
top: 0.5rem;
right: 0.5rem;
width: 3rem;
font-size: 0;
cursor: pointer;
}

/* movie */
.lp-contents video {
	width: 100%;
	display: block;
}

/* first_time */
.first_time {
  background: #00118a;
  position: relative;
  padding: 0;
}
.first_time:after {
  content: "";
  width: 100%;
  height: 1px;
  background: #001388;
  position: absolute;
  top: 2.3rem;
  left: 0;
  right: 0;
  margin: auto;
}
.first_time .first_time_ttl {
  font-size: 3.072rem;
  font-weight: bold;
  letter-spacing: 0.5rem;
  border: 1px solid #001388;
  background: #c8d9ed;
  border-radius: 10px;
  vertical-align: middle;
  line-height: 1.5;
  box-sizing: border-box;
  width: 20rem;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.first_time .first_time_btn a {
  display: block;
  color: #fff;
  font-size: 3.925rem;
  font-weight: 300;
  background: #001388;
  border: 2px solid #001388;
  width: 92%;
  margin: 0 auto;
  padding: 1.5rem 0;
  border-radius: 100px;
  letter-spacing: 1.5rem;
  position: relative;
  box-sizing: border-box;
  transition: 0.3s;
}
.first_time .first_time_btn a:before,
.first_time .first_time_btn a:after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 3.6rem;
  width: 2.3rem;
  height: 0.2rem;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: calc(100% - 1px) 50%;
}
.first_time .first_time_btn a:before {
  transform: rotate(45deg);
}
.first_time .first_time_btn a:after {
  transform: rotate(-45deg);
}
.first_time .first_time_btn a:hover {
  color: #001388;
  background: #fff;
}
.first_time .first_time_btn a:hover:before,
.first_time .first_time_btn a:hover:after {
  background-color: #001388;
}
.first_time .first_time_caution {
  color: #001388;
  width: 93.2%;
  margin: 0 auto;
  padding: 2.4rem 0;
  background: #e8eff8;
  border: 1px solid #a1afc8;
  box-sizing: border-box;
  font-size: 2.13rem;
  line-height: 1.7;
}
.first_time .under_line {
  text-decoration: underline;
}

/* mask */
.first_time.cv_mask:after {
  display: none;
}
.first_time_btn {
  position: absolute;
  top: 585px;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (max-width: 640px){
  .first_time_btn {
    top: 91.406vw;
  }
}
.first_time.cv_mask .first_time_btn a {
  width: 84%;
  height: 120px;
  font-size: 3.6rem;
  padding-top: 28px;
  padding-right: 20px;
  line-height: 1.5;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 640px){
  .first_time.cv_mask .first_time_btn a {
    padding-top: 5vw;
    padding-left: 3vw;
    height: 20vw;
  }
}
.first_time.cv_mask .first_time_btn a span {
  display: block;
  font-size: 2.2rem;
  letter-spacing: 0.5rem;
  text-decoration: underline;
}
.first_time.cv_mask .mv_caution_txt {
  width: 85%;
  margin: 0 auto;
  font-size: 1.536rem;
  line-height: 1.5;
  color: #b8bad5;
  text-align: left;
  padding-bottom:3rem;
}

/* change */
.change .change_head {
  position: relative;
}
.change .change_head_txt {
  position: absolute;
  text-align: left;
  top: 14.4rem;
  left: 1.8rem;
}
.change .change_head_txt p {
  font-size: 2.56rem;
  margin-bottom: 3.2rem;
}
.change .change_head_ttl {
  font-size: 5.83rem;
  padding-left: 2.4rem;
  line-height: 1.5;
  letter-spacing: -0.2rem;
  position: relative;
}
.change .change_content {
  padding: 6.9rem 0 3.7rem;
  background-image: url(../img/change_content_bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
.change .change_content:after {
  content: "";
  width: 20.5rem;
  height: 58.3rem;
  background-image: url(../img/change_item.webp);
  background-size: cover;
  position: absolute;
  top: 50.9rem;
  left: 4.2rem;
  z-index: 3;
}
.change .change_content_ttl {
  font-size: 2.485rem;
  letter-spacing: 0.3rem;
  line-height: 1.5;
  margin-bottom: 2rem;
}
.change .change_content_ttl_l {
  font-size: 5.632rem;
  font-weight: bold;
  margin-bottom: 14.2rem;
  position: relative;
  line-height: 1;
}
.change .change_content_ttl_l:before,
.change .change_content_ttl_l:after {
  content: "";
  position: absolute;
  bottom: -5.5rem;
  left: calc(50% - 1px);
  width: 0.2rem;
  height: 3rem;
  border-radius: 9999px;
  background-color: #cad7e7;
  transform-origin: 50% calc(100% - 1px);
}
.change .change_content_ttl_l:before {
  transform: rotate(60deg);
}
.change .change_content_ttl_l:after {
  transform: rotate(-60deg);
}
.change .change_content_ttl_l .small {
  font-size: 4.8rem;
}
.change .change_content_ttl_af {
  font-size: 3.925rem;
  font-weight: bold;
  margin-bottom: 4.6rem;
  position: relative;
}
.change .change_content_ttl_af:before,
.change .change_content_ttl_af:after {
  content: "";
  position: absolute;
  top: -10rem;
  left: calc(50% - 1px);
  width: 0.2rem;
  height: 3rem;
  border-radius: 9999px;
  background-color: #cad7e7;
  transform-origin: 50% calc(100% - 1px);
}
.change .change_content_ttl_af:before {
  transform: rotate(60deg);
}
.change .change_content_ttl_af:after {
  transform: rotate(-60deg);
}
.change .change_content_ttl_af sup {
  font-size: 2.3rem;
}
.change .change_content_ttl_af .num {
  font-size: 4.8rem;
}
.change .change_feature {
  background-image: url(../img/change_feature_bg.webp);
  background-size: cover;
  border-radius: 37px;
  width: 37rem;
  min-height: 52.6rem;
  margin: 0 0 14.8rem 22.5rem;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.change .change_feature:before {
  content: '';
  border-radius: 100%;
  width: 65rem;
  height: 100rem;
  position: absolute;
  top: -25rem;
  right: -12.5rem;
  background: #fafdfe;
  z-index: 2; /* 背景画像の上に表示 */
  transform: rotate(135deg);
}
.change .change_feature.show:before {
  animation: moveDiagonal 2.5s ease-in-out forwards;
}
@keyframes moveDiagonal {
  0% {
    transform: translate(0, 0); /* 初期位置（左下） */
  }
  100% {
    transform: translate(65rem, -100rem); /* 右上へ移動 */
  }
}
.change .change_feature_list {
  padding: 5.9rem 3.9rem 0 9rem;
  position: relative;
  z-index: 3;
}
.change .change_feature_item {
  font-size: 2.731rem;
  font-weight: bold;
  color: #333;
  text-align: left;
  letter-spacing: 0.2rem;
  margin-bottom: 6.2rem;
  position: relative;
}
.change .change_feature_item:before {
  content: "";
  width: 3.2rem;
  height: 2.6rem;
  background-image: url(../img/check_icon.webp);
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -4.2rem;
  margin: auto;
}
.change .change_feature_item:after {
  content: "";
  width: 0%;
  height: 1.7rem;
  background: rgb(140,177,240);
  background: linear-gradient(90deg, rgba(140,177,240,1) 0%, rgba(72,132,231,1) 50%, rgba(15,93,223,1) 100%);
  border-radius: 0.2rem;
  position: absolute;
  left: 0;
  bottom: -2.8rem;
  transition: 2s;
}
.change .change_feature_item:nth-child(1).js-anim.is-open:after {
  width: 75%;
}
.change .change_feature_item:nth-child(2).js-anim.is-open:after {
  width: 50%;
}
.change .change_feature_item:nth-child(3).js-anim.is-open:after {
  width: 100%;
}
.change .change_feature_item:nth-child(4).js-anim.is-open:after {
  width: 50%;
}
.change .change_feature_item:nth-child(5).js-anim.is-open:after {
  width: 20%;
}
.change .change_feature_item sup {
  font-size: 1.8rem;
}
.change .change_caution {
  width: 86%;
  margin: 0 auto;
  text-align: left;
  font-size: 1.707rem;
  color: #333;
  line-height: 1.72;
}
/* buy */
.buy {
  background: url(../img/buy_bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 3.3rem 0 4.6rem;
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}
.buy .buy_first,
.buy .buy_teiki {
  background: #fff;
  min-height: 63.6rem;
  border-radius: 30px;
  padding: 2.7rem 0 0 0;
  box-sizing: border-box;
}
.buy .buy_first {
  width: 28.3rem;
}
.buy .buy_teiki {
  width: 29.7rem;
}
.buy .buy_first_img,
.buy .buy_teiki_img {
  margin-bottom: 2.8rem;
  display: block;
}
.buy .buy_btn a {
  width: 25.7rem;
  min-height: 8.6rem;
  display: block;
  color: #fff;
  background: #001388;
  font-size: 2.731rem;
  border: 2px solid #001388;
  border-radius: 10rem;
  padding: 1.49rem 1.4rem 1.49rem 0;
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
  transition: 0.3s;
}
.buy .buy_btn a:before,
.buy .buy_btn a:after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 1.8rem;
  width: 1.5rem;
  height: 2px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: calc(100% - 1px) 50%;
}
.buy .buy_btn a:before {
  transform: rotate(45deg);
}
.buy .buy_btn a:after {
  transform: rotate(-45deg);
}
.buy .buy_btn a:hover {
  color: #001388;
  background: #fff;
}
.buy .buy_btn a:hover:before,
.buy .buy_btn a:hover:after {
  background-color: #001388;
}

/* skin */
.skin .skin_sec01 {
  background: #edf3f9;
  padding: 8rem 0 7.8rem;
}
.skin .skin_sec01_intro_txt {
  font-size: 2.901rem;
  font-weight: bold;
  line-height: 1.65;
  margin-bottom: 7rem;
}
.skin .skin_sec01_intro_img {
  margin-bottom: 9.6rem;
}
.skin .skin_sec01_mid_txt {
  font-size: 5.376rem;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 8rem;
  position: relative;
}
.skin .skin_sec01_mid_txt:before,
.skin .skin_sec01_mid_txt:after {
  content: "";
  position: absolute;
  bottom: -4rem;
  left: calc(50% - 1px);
  width: 0.2rem;
  height: 3rem;
  border-radius: 9999px;
  background-color: #cad7e7;
  transform-origin: 50% calc(100% - 1px);
}
.skin .skin_sec01_mid_txt:before {
  transform: rotate(60deg);
}
.skin .skin_sec01_mid_txt:after {
  transform: rotate(-60deg);
}
.skin .skin_sec01_mid_txt .small {
  font-size: 3.584rem;
}
.skin .skin_sec01_bt_txt {
  font-size: 4.437rem;
  font-weight: bold;
  margin-bottom: 2.5rem;
  position: relative;
}
.skin .skin_sec01_bt_txt:before,
.skin .skin_sec01_bt_txt:after {
  content: "";
  position: absolute;
  top: -5.5rem;
  left: calc(50% - 1px);
  width: 0.2rem;
  height: 3rem;
  border-radius: 9999px;
  background-color: #cad7e7;
  transform-origin: 50% calc(100% - 1px);
}
.skin .skin_sec01_bt_txt:before {
  transform: rotate(60deg);
}
.skin .skin_sec01_bt_txt:after {
  transform: rotate(-60deg);
}
.skin .skin_sec01_btaf_txt {
  font-size: 3.072rem;
  font-weight: bold;
  margin-bottom: 6.2rem;
}
.skin .skin_sec02 {
  position: relative;
}
.skin .skin_sec02_txt {
  position: absolute;
  top: 10.1rem;
  left: 0;
  right: 0;
  margin: auto;
}
.skin .skin_sec02_head_txt {
  font-size: 3.413rem;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 3.8rem;
}
.skin .skin_sec02_main_txt {
  font-size: 5.83rem;
  font-weight: bold;
}
.skin .skin_fact {
  position: relative;
  top: 3rem;
}
.skin .skin_fact_wrapper {
  overflow: hidden;
  height: 11.5rem;
  position: absolute;
  padding: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.skin .skin_fact_txt {
  font-size: 2.56rem;
  color: #001388;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.skin .move_line {
  display: inline-block;
  width: 1px;
  height: 12rem;
  background: #001388;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 2;
  animation: moveline 2s ease-in-out infinite;
  transform: translateY(0%);
}
@keyframes moveline {
  0% {
    transform: translateY(-75%);
  }
  100% {
    transform: translateY(125%);
  }
}
.skin .move_txt {
  display: inline-block;
  position: relative;
  top: 2.3rem;
  z-index: 3;
}
.skin .move_txt img {
  width: 5.9rem;
}
.skin .skin_sec03 {
  padding: 6.9rem 0 5.5rem;
  background: #edf3f9;
}
.skin .skin_sec03_ttl {
  font-size: 4.693rem;
  line-height: 1.17;
  margin-bottom: 8.5rem;
}
.skin .skin_sec03_ttl .bold {
  font-weight: bold;
}
.skin .skin_sec03_mislead {
  width: 84%;
  min-height: 17.9rem;
  border: 2px solid #001388;
  padding: 2.5rem 2.9rem 1rem;
  margin: 0 auto 3.5rem;
  box-sizing: border-box;
  position: relative;
}
.skin .skin_sec03_mislead:before {
  content: "毛穴ケアのよくある誤解";
  font-size: 2.987rem;
  font-weight: bold;
  color: #001388;
  position: absolute;
  top: -3.1rem;
  left: 0;
  right: 0;
  margin: auto;
  letter-spacing: 0.2rem;
  background: #edf3f9;
  display: inline-block;
  width: 68%;
}
.skin .skin_sec03_mislead_txt {
  color: #333;
  font-size: 2.219rem;
  text-align: left;
  line-height: 1.5;
}
.skin .skin_sec03_so {
  font-size: 2.56rem;
  position: relative;
  margin-bottom: 5.1rem;
  position: relative;
}
.skin .skin_sec03_so:before,
.skin .skin_sec03_so:after {
  content: "";
  position: absolute;
  bottom: -2.5rem;
  left: calc(50% - 1px);
  width: 0.2rem;
  height: 2rem;
  border-radius: 9999px;
  background-color: #cad7e7;
  transform-origin: 50% calc(100% - 1px);
}
.skin .skin_sec03_so:before {
  transform: rotate(60deg);
}
.skin .skin_sec03_so:after {
  transform: rotate(-60deg);
}
.skin .skin_sec03_main_txt {
  font-size: 4.437rem;
  line-height: 1.5;
  margin-bottom: 2.6rem;
  position: relative;
}
.skin .skin_sec03_main_txt:before,
.skin .skin_sec03_main_txt:after {
  content: "";
  position: absolute;
  top: -3.5rem;
  left: calc(50% - 1px);
  width: 0.2rem;
  height: 2rem;
  border-radius: 9999px;
  background-color: #cad7e7;
  transform-origin: 50% calc(100% - 1px);
}
.skin .skin_sec03_main_txt:before {
  transform: rotate(60deg);
}
.skin .skin_sec03_main_txt:after {
  transform: rotate(-60deg);
}
.skin .skin_sec03_main_txt .bold {
  font-weight: bold;
}
.skin .skin_sec03_img01 {
  margin-bottom: 7.9rem;
}
.skin .skin_sec03_img02 {
  position: relative;
  margin-bottom: 3rem;
}
.skin .skin_sec03_img02_area {
  width: 31.1rem;
  min-height: 40.5rem;
  background: rgba( 255 , 255, 255 , 0.9 );
  position: absolute;
  top: 5.4rem;
  right: 4.3rem;
  padding: 6.3rem 1rem 2.5rem 2.5rem;
  box-sizing: border-box;
}
.skin .skin_sec03_img02_ttl {
  font-size: 3.413rem;
  font-weight: bold;
  text-align: left;
  line-height: 1.37;
  margin-bottom: 3rem;
}
.skin .skin_sec03_img02_txt {
  color: #333;
  font-size: 2.2rem;
  text-align: left;
  letter-spacing: 0.3rem;
  line-height: 1.8;
}
.skin .skin_sec03_img03 {
  margin-bottom: 3.8rem;
}
.skin .skin_sec03_bt_area {
  width: 84%;
  margin: 0 auto;
  text-align: left;
  line-height: 1.4;
  letter-spacing: 0.2rem;
}
.skin .skin_sec03_bt_txt01 {
  color: #333;
  font-size: 2.389rem;
  margin-bottom: 0.4rem;
}
.skin .skin_sec03_bt_txt02 {
  font-size: 2.389rem;
}

/* idea */
.idea {
  padding: 7rem 0 8.5rem;
  background-image: url(../img/idea_bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
}
.idea .idea_ttl {
  font-size: 4.267rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 55.5rem;
}
.idea .idea_icon_img {
  margin-bottom: 2.3rem;
}
.idea .idea_caution {
  width: 89%;
  color: #333;
  text-align: left;
  font-size: 1.707rem;
  opacity: 0.5;
  line-height: 1.4;
  margin: 0 auto;
}

/* step */
.step {
  background: #f4f6fa;
  padding: 9.8rem 0 7.3rem;
}
.step .step_ttl {
  font-size: 4.267rem;
  font-weight: bold;
  margin-bottom: 1.6rem;
  letter-spacing: 0.5rem;
}
.step .step_txt {
  color: #1b224e;
  font-size: 2.901rem;
  margin: 0 auto 3.5rem;
  line-height: 1.85;
  letter-spacing: 0.1rem;
}
/* cosme */
.cosme {
  background: #f0f5f9;
}
.cosme .cosme_slider_ttl {
  font-size: 4.608rem;
  font-weight: 500;
  letter-spacing: 0.4rem;
  margin: 5rem auto 3rem;
  line-height: calc(64/46);
}
.cosme .cosme_slider_txt {
  font-size: 2.4rem;
  margin-top: 1.2rem;
  letter-spacing: 0.2rem;
}
.cosme .cosme_slider_link a {
  display: inline-block;
  color: #6a88b1;
  font-size: 2.4rem;
  margin-top: 1.2rem;
  letter-spacing: 0.2rem;
  text-decoration: underline;
  transition: 0.3s;
}
.cosme .cosme_slider_link a:hover {
  opacity: 0.7;
  text-decoration: none;
}
.cosme .slick-list {
  width: 100%;
}
.cosme .slick-dots {
  bottom: 0.7rem;
  line-height: 1.5;
}
.cosme .slick-dots li {
  width: 1.3rem;
  height: 1.3rem;
  margin: 0 0.5rem;
  border: 1px solid #001388;
  background: transparent;
}
.cosme .slick-dots li.slick-active {
  background: #001388;
}
.cosme .slick-prev,
.cosme .slick-next {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-image: url(../img/arrow_r.webp);
}
.cosme .slick-next {
  right: 1.9rem;
}
.cosme .slick-prev {
  left: 2.1rem;
  background-image: url(../img/arrow_l.webp);
}
/* voice */
.voice .voice_head {
  background-image: url(../img/voice_head_bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 9.2rem 0 3.4rem;
}
.voice .voice_head_ttl {
  font-size: 4.267rem;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 47.3rem;
}
.voice .voice_head_txt_area {
  width: 46rem;
  min-height: 25rem;
  background: rgba( 249, 250, 252, 0.5);
  padding: 3rem 0 0 3.8rem;
  margin-left: 3.2rem;
  box-sizing: border-box;
}
.voice .voice_head_list {
  text-align: left;
}
.voice .voice_head_item {
  color: #333;
  font-size: 2.219rem;
  margin-bottom: 2rem;
  position: relative;
  border-bottom: 1px solid #333;
  display: inline-block;
}
.voice .voice_head_item:before {
  content: "#";
  display: inline-block;
  margin-right: 1.3rem;
}
.voice .voice_content {
  padding: 0 0 7.4rem;
  background: #ebf8f7;
  position: relative;
}
.voice .voice_content_item {
  width: 56rem;
  min-height: 26.8rem;
  margin: 0 auto 2rem;
  border: 1px solid #dbe4ee;
  background: #fff;
  padding: 1.4rem 1.6rem 2.3rem 2rem;
  box-sizing: border-box;
}
.voice .voice_content_item_top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.3rem;
}
.voice .voice_content_item_star {
  color: #ffc426;
  font-size: 1.8rem;
  letter-spacing: 0.4rem;
}
.voice .voice_content_item_star .blank {
  color: #e5ebf3;
}
.voice .voice_content_item_star .num {
  color: #4c4c4c;
}
.voice .voice_content_item_user {
  font-size: 1.6rem;
  color: #4c4c4c;
}
.voice .voice_content_item_bottom {
  display: flex;
  justify-content: center;
}
.voice .voice_content_item_txt {
  width: 33.2rem;
}
.voice .voice_content_item_img {
  width: 13.8rem;
}
.voice .voice_content_item_txt {
  width: 42rem;
}
.voice .voice_content_item_comment {
  font-size: 2.4rem;
  color: #001388;
  text-align: left;
  margin-bottom: 2.2rem;
  position: relative;
  letter-spacing: 0.1rem;
}
.voice .voice_content_item_comment:after {
  content: "";
  width: 100%;
  height: 1px;
  background: #e5ebf3;
  position: absolute;
  bottom: -1.4rem;
  right: 0;
  left: 0;
  margin: auto;
}
.voice .voice_content_item_detail {
  color: #4c4c4c;
  font-size: 2rem;
  line-height: 1.5;
  text-align: justify;
  text-justify: inter-ideograph;
  letter-spacing: 0.2rem;
}
.voice .voice_content_item_detail .bold {
  font-weight: bold;
}
.voice .voice_btn {
  width: 26rem;
  margin: 4.5rem auto 3.2rem;
  color: #fff;
  font-size: 2.4rem;
  background: #001388;
  border-radius: 50px;
  letter-spacing: 0.2rem;
  position: relative;
  cursor: pointer;
}
.voice .voice_btn:before,
.voice .voice_btn:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -7rem;
  margin: auto;
  left: calc(50% - 1px);
  width: 0.2rem;
  height: 1.2rem;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: 50% calc(100% - 1px);
}
.voice .voice_btn:before {
  transform: rotate(36.85deg);
}
.voice .voice_btn:after {
  transform: rotate(-36.85deg);
}
.voice .voice_notes {
  color: #333;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
}
/* qa */
.qa {
  padding: 8.4rem 0 15rem;
  background: #f5f7fb;
}
.qa .qa_ttl {
  margin-bottom: 3.7rem;
}
.qa .qa_ttl_bt_txt {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #333;
  font-weight: bold;
  font-size: 2.219rem;
  margin-bottom: 3.7rem;
}
.qa .qa_ac_wrapper {
  margin: 0 3.4rem;
}
.qa .qa_ac {
  background-color: #fff;
  border-radius: 20px;
  padding: 2.5rem 0;
  box-shadow: 0px 3px 15px 0px rgba(0, 7, 62, 0.35);
  margin-bottom: 1em;
  text-align: left;
}
.qa .qa_ac_ttl {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  color: #001388;
  font-size: 2.219rem;
  font-weight: bold;
  padding-left: 6.8rem;
  padding-right: 3em;
  position: relative;
}
.qa .qa_ac_ttl::before {
  content: "Q. ";
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 2.56rem;
  position: absolute;
  top: -0.4rem;
  left: 2.7rem;
}
.qa .qa_ac_ttl:hover {
  cursor: pointer;
}
.qa .qa_ac_box {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.8rem;
  background-color: #001388;
  width: 3.84rem;
  height: 3.84rem;
  border-radius: 50%;
  z-index: 1;
}
.qa .qa_ac_inner_01 {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 1px;
  height: 1.6rem;
  background-color: #fff;
  transform-origin: center;
  transition-duration: 0.2s;
  z-index: 2;
}
.qa .qa_ac_inner_02 {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 1.6rem;
  height: 1px;
  background-color: #fff;
  transform-origin: center;
  transition-duration: 0.2s;
  z-index: 2;
}
.qa .qa_ac_ttl.active .qa_ac_inner_01 {
  opacity: 0;
}
.qa .qa_ac_ttl.active .qa_ac_inner_02 {
  transform: translate(-50%, -50%) rotate(180deg);
  transform-origin: center;
}
.qa .qa_ac_content {
  padding: 4.5rem 2.2rem 0 6.9rem;
}
.qa .qa_ac_desc {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  color: #333;
  font-size: 2.219rem;
  position: relative;
  line-height: 1.9;
}
.qa .qa_ac_desc:before {
  content: "A. ";
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #6a88b1;
  font-size: 2.56rem;
  position: absolute;
  top: -0.4rem;
  left: -4.1rem;
}
.qa .qa_ac_note {
  display: block;
  font-size: 1.707rem;
}
.qa .qa_ac_youtube {
  width: 90%;
  margin: 5% auto 0;
}
.qa .qa_ac_youtube iframe {
  width: 100%;
  height: 24.4rem;
}

/* brand */
.brand {
  background: #fff;
}
.brand .brand_head {
  padding: 8.1rem 0 46rem;
  background-image: url(../img/brand_head_bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
}
.brand .brand_ttl {
  font-size: 4.352rem;
  font-weight: bold;
  line-height: 1.5;
}
.brand .brand_txt_area {
  padding: 30px 5rem 10.7rem;
  text-align: left;
}
.brand .brand_txt {
  color: #333;
  font-size: 2.133rem;
  line-height: 1.75;
  margin-bottom: 2rem;
}
.brand .brand_caution {
  color: #333;
  font-size: 1.963rem;
}

/* line */
.line {
  text-align: center;
  position: relative;
}
.line .line_desc {
  color: #333;
  font-size: 2.219rem;
  line-height: 1.75;
  margin-bottom: 1.3rem;
}
.line .line_btn {
  width: 80%;
  margin: -164px auto 0;
}
@media screen and (max-width: 767px){
  .line .line_btn {
    margin: -25vw auto 0;
  }
}
.line .line_btn img {
  transition: 0.3s;
}
.line .line_btn:hover img {
  opacity: 0.7;
  transform: scale(0.98);
}

/* footer */
footer {
  background-color: #f8f8f8;
  padding-bottom: 15.4rem;
}
footer .logo {
  padding: 11rem 0 8rem;
  background: #fff;
}
footer .logo img {
  width: 15.9rem;
  margin: 0 auto;
}
footer .nav {
  margin-bottom: 5.866%;
  padding: 2% 5.333% 0;
  text-align: left;
}
footer .nav li {
  border-bottom: 1px solid #e4e4e4;
}
footer .nav li a {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  padding: 1em 0 1em 0.5em;
  color: #333;
  text-decoration: none;
  display: block;
  position: relative;
  transition: 0.3s;
}
footer .nav li a:hover {
  text-decoration: underline;
  opacity: 0.7;
  transform: scale(0.98);
}
footer .nav li a::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 6px;
  height: 6px;
  margin: -4px 0 0 0;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
footer .copy {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #333;
  font-size: 1.707rem;
  text-align: center;
  padding-bottom: 8%;
}
.sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  max-width: 100%;
  opacity: 0;
  transform: translateY(100%);
  transition: all .5s;
}
.sticky.is-fixed {
opacity: 1;
transform: translateY(0);
}

/* ----------------------------------------
about mask
---------------------------------------- */
#about_mask .txt {
  color: #313131;
	margin-top: -240px;
	padding: 0 50px 50px;
	font-size: 22px;
	line-height: calc(35/22);
	text-align: left;
}
@media screen and (max-width: 767px) {
	#about_mask .txt {
		margin-top: -37.5vw;
		font-size: 3.44vw;
		padding: 0 7.81vw 7.81vw;
	}
}
#about_mask .notes {
	display: block;
	padding: 20px 0 0;
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	#about_mask .notes {
		padding: 3.13vw 0 0;
		font-size: 2.19vw;
	}
}
#about_mask .mask_link {
	color: #001388;
	font-size: 22px;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin: 30px 30px 0 0;
}
@media screen and (max-width: 767px) {
	#about_mask .mask_link {
		margin: 4.69vw 4.69vw 0 0;
		font-size: 3.44vw;
	}
}
#about_mask .mask_link a {
  color: #001388;
	text-decoration: underline;
	font-weight: bold;
	padding-right: 4px;
}
#about_mask .mask_cm_list {
	display: flex;
	flex-wrap: wrap;
	padding: 0 50px 80px;
}
@media screen and (max-width: 767px) {
	#about_mask .mask_cm_list {
		padding: 0 6.67vw 10.67vw;
	}
}
#about_mask .mask_cm_list li {
	cursor: pointer;
	position: relative;
}
#about_mask .mask_cm_list li:after {
	content: '';
	display: block;
	width:0;
	height:0;
	border-style:solid;
	border-width: 10px 0 10px 14px;
	border-color: transparent transparent transparent #FFFFFF;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
@media screen and (max-width: 767px) {
	#about_mask .mask_cm_list li:after {
		border-width: 2.67vw 0 2.67vw 3.73vw;
	}
}
#about_mask .mask_cm_list li:before {
	content: '';
	display: block;
	border-radius: 50%;
	background: rgba(0,0,0,0.3);
	width: 50px;
	height: 50px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
@media screen and (max-width: 767px) {
	#about_mask .mask_cm_list li:before {
		width: 10.67vw;
		height: 10.67vw;
	}
}
#about_mask .mask_cm_list li:nth-child(1) {
	width: 100%;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
	#about_mask .mask_cm_list li:nth-child(1) {
		margin-bottom: 4%;
	}
}
#about_mask .mask_cm_list li:nth-child(2) {
	width: 48%;
	margin-right: 4%;
}
#about_mask .mask_cm_list li:nth-child(3) {
	width: 48%;
}
.modal-video-close-btn {
	cursor: pointer;
}
.mask_bnr {
  position: relative;
  z-index: 1;
}

/* ----------------------------------------
teiki_graph
---------------------------------------- */
.lp-contents .teiki_graph {
  padding-top: 60px;
  padding-bottom: 75px;
}
.lp-contents .teiki_graph .teiki_graph_txt {
  margin-bottom: 34px;
}
.lp-contents .teiki_graph .teiki_graph_caution {
  color: #777;
  line-height: 1.5;
  font-size: 19.2px;
  inline-size: fit-content;
  margin-inline: auto;
  text-align: left;
  margin-top: -3px;
}
@media screen and (max-width: 767px) {
  .lp-contents .teiki_graph {
    padding-top: 9.38vw;
    padding-bottom: 9.8vw;
  }
  .lp-contents .teiki_graph .teiki_graph_txt {
    margin-bottom: 4.6vw;
  }
  .lp-contents .teiki_graph .teiki_graph_caution {
    font-size: 2.6vw;
    margin-top: 0;
  }
}

/* ----------------------------------------
teiki_merit
---------------------------------------- */
.teiki_merit {
  background: #f8f8f8;
  font-feature-settings: normal;
}
.teiki_merit {
  background-color: #f8f8f8;
  padding: 45px 25px;
}
.teiki_merit .m-head--line {
  border-bottom: 1px #001388 solid;
  border-top: 1px #001388 solid;
  color: #001388;
  line-height: 1.3636363636;
  margin-bottom: 40px;
  padding: 23px 0 21px;
}
.teiki_merit .m-head--line span {
  display: block;
  margin: 0 auto;
  width: 60%;  
}
.teiki_merit .MeritList__contents {
  margin-top: 40px;
}
.teiki_merit .MeritList__contents .item {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.375;
  list-style: none;
  text-align: left;
  margin: 0;
}
.teiki_merit .MeritList__contents .item + .item {
  margin-top: 20px;
}
.teiki_merit .MeritList__contents sup {
  font-size: 12px;
  font-size: 1.2rem;
}
.teiki_merit .MeritList__contents .MeritTitle {
  align-content: center;
  align-items: center;
  background-color: #fff;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  position: relative;
  font-size: 25.6px;
  min-height: 85px;
  padding: 20px 35px 20px 20px;
}
.teiki_merit .MeritList__contents .MeritTitle p {
  color: #1a1a1a;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5625;
}
.teiki_merit .MeritList__contents .MeritTitle p span {
  color: #001388;
}
.teiki_merit .MeritList__contents .MeritTitle:after {
  background-image: url(../img/icon_plus.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  position: absolute;
  width: 34px;
  height: 34px;
  top: 50%;
  right: 17px;
  transform: translateY(-50%) rotate(-90deg);
  transition: transform 300ms ease;
}
.teiki_merit .MeritList__contents .MeritTitle.-open:after {
  background-image: url(../img/icon_minus.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%) rotate(180deg);
}
.teiki_merit .MeritList__contents .MeritContents {
  display: none;
  padding: 20px 15px;
  font-size: 16px;
  line-height: 1.875;
}
.teiki_merit .MeritList__contents .MeritContents p {
  color: #1a1a1a;
}
.teiki_merit .MeritList__contents .MeritContents p .m-text--blue {
  color: #001388;
  font-weight: 700;
}
.teiki_merit .MeritList__contents .title {
  color: #001388;
  font-size: 17px;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0;
  margin: 30px 0 15px;
  padding: 0 0 0 45px;
  position: relative;
}
.teiki_merit .MeritList__contents .title:first-of-type {
  margin-top: 5px;
}
.teiki_merit .MeritList__contents .title::after {
  content: "";
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.teiki_merit .MeritList__contents .title.-calendar::after {
  background: url(../img/sec04_icon_calendar.svg) center center no-repeat;
  background-size: contain;
  height: 37px;
  width: 34px;
}
.teiki_merit .MeritList__contents .title.-cart::after {
  background: url(../img/sec04_icon_cart.svg) center center no-repeat;
  background-size: contain;
  height: 34px;
  width: 35px;
}
.teiki_merit .MeritList__contents .title.-mail::after {
  background: url(../img/sec04_icon_mail.svg) center center no-repeat;
  background-size: contain;
  height: 26px;
  width: 35px;
}
.teiki_merit .MeritList__contents .title.-suspend::after {
  background: url(../img/sec04_icon_suspend.svg) center center no-repeat;
  background-size: contain;
  height: 26px;
  width: 35px;
}
@media screen and (max-width: 767px) {
  .lp-contents #intro .teiki_merit {
    margin-bottom: 8vw;
  }
  .teiki_merit {
    padding: 5.86vw 3.26vw;
  }
  .teiki_merit .m-head--line {
    margin-bottom: 5.21vw;
    padding: 3vw 0 2.73vw;
  }
  .teiki_merit .MeritList__contents {
    margin-top: 5.21vw;
  }
  .teiki_merit .MeritList__contents .item + .item {
    margin-top: 2.6vw;
  }
  .teiki_merit .MeritList__contents .MeritTitle {
    font-size: 3.34vw;
    min-height: 15.7vw;
    padding: 2.62vw 4.57vw 2.62vw 2.62vw;
  }
  .teiki_merit .MeritList__contents .MeritTitle p {
    letter-spacing: 0.02em;
  }
  .teiki_merit .MeritList__contents .MeritTitle:after {
    width: 4.5vw;
    height: 4.5vw;
    right: 3vw;
  }
  .teiki_merit .MeritList__contents .MeritContents {
    padding: 2.62vw 2vw;
    font-size: 2.8vw;
  }
  .teiki_merit .MeritList__contents .title {
    font-size: 3.55vw;
    margin: 3.91vw 0 1.95vw;
    padding: 0 0 0 5.86vw;
  }
  .teiki_merit .MeritList__contents .title:first-of-type {
    margin-top: 0.65vw;
  }
  .teiki_merit .MeritList__contents .title.-calendar::after {
    width: 4.43vw;
    height: 4.82vw;
  }
  .teiki_merit .MeritList__contents .title.-cart::after {
    width: 4.56vw;
    height: 4.43vw;
  }
  .teiki_merit .MeritList__contents .title.-mail::after {
    width: 4.56vw;
    height: 3.38vw;
  }
  .teiki_merit .MeritList__contents .title.-suspend::after {
    width: 4.56vw;
    height: 3.38vw;
  }
}

/* ----------------------------------------
teiki_qa
---------------------------------------- */
.m-QAList {
  background-color: #f8f8f8;
  padding: 62px 40px;
  font-feature-settings: normal;
}
.m-QAList .m-head--line {
  border-bottom: 1px #001388 solid;
  border-top: 1px #001388 solid;
  color: #001388;
  line-height: 1.3636363636;
  margin-bottom: 47px;
  padding: 36px 0 29px;
}
.m-QAList .m-head--line span {
  display: block;
  margin: 0 auto;
  width: 75%;
}
.m-QAList__contents .item {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.375;
  list-style: none;
  text-align: left;
  margin: 0;
}
.m-QAList__contents .item + .item {
  margin-top: 31px;
}
.m-QAList__contents sup {
  font-size: 12px;
}
.m-QAList__contents .QTitle {
  color: #1b224e;
  font-size: 25.59px;
  line-height: calc(35.19 / 25.59);
  align-content: center;
  align-items: center;
  background-color: #fff;
  box-sizing: border-box;
  color: #1a1a1a;
  cursor: pointer;
  display: flex;
  min-height: 136px;
  padding: 34px 55px 25px 110px;
  position: relative;
}
.m-QAList__contents .QTitle p {
  color: #1b224e;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5625;
}
.m-QAList__contents .QTitle p span {
  font-weight: normal;
}
.m-QAList__contents .QTitle:before {
  background-image: url(../img/icon_q.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 72px;
  height: 72px;
  top: 50%;
  left: 25px;
  position: absolute;
  transform: translateY(-50%);
}
.m-QAList__contents .QTitle:after {
  background-image: url(../img/icon_plus.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 34px;
  height: 34px;
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translateY(-50%) rotate(-90deg);
  transition: transform 300ms ease;
}
.m-QAList__contents .QTitle.-open:after {
  background-image: url(../img/icon_minus.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%) rotate(180deg);
}
.m-QAList__contents .QAContents {
  display: none;
  padding-bottom: 20px;
}
.m-QAList__contents .QAContents p {
  color: #1a1a1a;
}
.m-QAList__contents .QAContents .m-text--bold {
  font-weight: 700;
}
.m-QAList__contents .ATitle {
  color: #001388;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0;
  margin: 35px 0 15px;
  padding: 0 0 0 40px;
  position: relative;
  line-height: 1.375;
}
.m-QAList__contents .ATitle::before {
  background-image: url(../img/icon_a.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  top: 50%;
  left: 0;
  position: absolute;
  transform: translateY(-50%);
}
.m-QAList__contents .m-text {
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .m-QAList {
    padding: 8vw 5.21vw;
  }
  .m-QAList .m-head--line {
    margin-bottom: 6.12vw;
    padding: 4.69vw 0 3.78vw;
  }
  .m-QAList__contents .item {
    font-size: 2.08vw;
  }
  .m-QAList__contents .item + .item {
    margin-top: 4.04vw;
  }
  .m-QAList__contents sup {
    font-size: 1.56vw;
  }
  .m-QAList__contents .QTitle {
    font-size: 4vw;
    min-height: 17.7vw;
    padding: 4.43vw 7.17vw 3.25vw 14.34vw;
  }
  .m-QAList__contents .QTitle:before {
    width: 9.38vw;
    height: 9.38vw;
    left: 3.25vw;
  }
  .m-QAList__contents .QTitle:after {
    width: 4.43vw;
    height: 4.43vw;
    right: 2.22vw;
  }
  .m-QAList__contents .QAContents {
    padding-bottom: 2.6vw;
  }
  .m-QAList__contents .ATitle {
    font-size: 3.7vw;
    margin: 4.56vw 0 1.96vw;
    padding: 0 0 0 9vw;
  }
  .m-QAList__contents .ATitle::before {
      width: 7.5vw;
      height: 7.5vw;
  }
  .m-QAList__contents .m-text {
    font-size: 3.5vw;
  }
}

/* 250619_1000ptキャンペーン追加 */
.rabbit_content {
  padding: 18px 0 40px;
  background: #e6e8f3;
  position: relative;
}
.rabbit_content:before {
  content: "";
  width: 100%;
  height: 4px;
  background: #001388;
  position: absolute;
  top: 44px;
  left: 0;
  right: 0;
}
.rabbit_content:after {
  content: "";
  width: 102px;
  height: 152px;
  background-image: url(../img/rabbit_illust.webp) ;
  background-size: cover;
  position: absolute;
  top: -14px;
  right: 44px;
}
.rabbit_content_top {
  width: 211px;
  color: #fff;
  background: #001388;
  font-size: 34px;
  border-radius: 100px;
  padding: 10px 0;
  box-sizing: border-box;
  margin: 0 auto 30px;
  position: relative;
  letter-spacing: 1px;
}
.lp-contents .rabbit_content_txt01 {
  font-size: 34px;
  margin-bottom: 15px;
}
.lp-contents .rabbit_content_txt02 {
  font-size: 50px;
  margin-bottom: 25px;
  position: relative;
  z-index: 2;
}
.lp-contents .rabbit_content_txt02:before {
  content: "";
  width: 85%;
  height: 26px;
  background: #fff;
  position: absolute;
  bottom: -5px;
  z-index: -1;
  left: 0;
  right: 0;
  margin: auto;
}
.lp-contents .rabbit_content_txt03 {
  font-size: 34px;
}
@media screen and (max-width: 767px) {
  .rabbit_content {
    padding: calc(18vw / 7.67) 0 calc(40vw / 7.67);
  }
  .rabbit_content:before {
    height: calc(4vw / 7.67);
    top: calc(44vw / 7.67);
  }
  .rabbit_content:after {
    width: calc(102vw / 7.67);
    height: calc(152vw / 7.67);
    top: calc(-14vw / 7.67);
    right: calc(44vw / 7.67);
  }
  .rabbit_content_top {
    width: calc(211vw / 7.67);
    font-size: calc(34vw / 7.67);
    border-radius: calc(100vw / 7.67);
    padding: calc(10vw / 7.67) 0;
    margin: 0 auto calc(30vw / 7.67);
    letter-spacing: calc(1vw / 7.67);
  }
  .lp-contents .rabbit_content_txt01 {
    font-size: calc(34vw / 7.67);
    margin-bottom: calc(15vw / 7.67);
  }
  .lp-contents .rabbit_content_txt02 {
    font-size: calc(50vw / 7.67);
    margin-bottom: calc(25vw / 7.67);
  }
  .lp-contents .rabbit_content_txt02:before {
    width: 75%;
    height: calc(26vw / 7.67);
    bottom: calc(-5vw / 7.67);
  }
  .lp-contents .rabbit_content_txt03 {
    font-size: calc(34vw / 7.67);
  }
}
