@charset "utf-8";
/*#wrapper{overflow: visible !important;}*/
.mt5em{margin-top:5em !important;}
.m1em{margin: 1.5em auto 0;}
.mt5em{margin-top: 5em !important;}
.mb1em{margin-bottom: 1.5em !important;}
.mt1em{margin-top: 1.5em !important;}
.mtb1em{margin:1.5em auto;}
.mw700{max-width: 700px;}
.mw350{max-width: 350px;}
.a_block{display: block;}
.tx_ac{text-align: center;}
.sh_cl{box-shadow: none !important}
.fs_s{font-size: 0.85em}
.fw_b{font-weight: bold;}
a:hover{opacity: 0.8;}

/*最下部*/
.only_SP {
    display: none;
} .sp_on {
   display: none;
 }

/*------------------------------------
共通
------------------------------------*/

body {
	overflow: visible;
	margin: 0;
	    background: #f1f1f1;
	font-size: 16px;
	font-family: "tbudgothic-std", sans-serif;
}
.mt_0 {   margin-top: 0 !important;}
.mt_20 {   margin-top: 20px !important;}
.mt_30 {   margin-top: 30px !important;}
.mb_0 {   margin-bottom: 0 !important;}

.font_n{font-family: "tbudgothic-std", sans-serif;
font-weight: 400;
font-style: normal;}

/*------------------------------------
ボタン
------------------------------------*/

.entry-block{margin: 1em auto;}
.entry-btn {
  font-size: 1.4em;
  display: block;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  text-decoration: none;
  max-width: 600px;
  margin: auto;
  padding: 1.5rem 0rem;
  font-weight: bold;
  color: #ffffff;
  border-radius: 100vh;
  position: relative;
  background: #6f6f6f;
  width: 100%;
  box-shadow:none;
}
/*チェック済みボタン*/
.entry-btn.entry-btnStyle_checked {
	 background: #fc8e3d;
    background: -moz-linear-gradient(left, #fc8e3d 0%, #ff0576 100%);
    background: -webkit-linear-gradient(left, #fc8e3d 0%, #ff0576 100%);
    background: linear-gradient(to right, #fc8e3d 0%, #ff0576 100%);
	/*-webkit-box-shadow: inset -12px -14px 8px -9px rgba(172,12,41,1);
	-moz-box-shadow: inset -12px -14px 8px -9px rgba(172,12,41,1);
	box-shadow: inset -12px -14px 8px -9px rgba(172,12,41,1);*/
	transition: 0.5s;
    z-index: 999;box-shadow: 0 4px 0 #414141;
	cursor: pointer;
}
.entry-btn.entry-btnStyle_checked a {
  display: inline;
}
/*未チェックボタン*/
.entry-btn {
	background: -moz-linear-gradient(top, #aaaaaa 0%, #959595 20%, #959595 100%);
	background: -webkit-linear-gradient(top, #aaaaaa 0%, #959595 20%, #959595 100%);
	background: linear-gradient(to bottom, #aaaaaa 0%, #959595 20%, #959595 100%);
	/*-webkit-box-shadow: inset -10px -12px 6px -7px rgba(13, 13, 13, 0.309804) !important;
	-moz-box-shadow: inset -10px -12px 6px -7px rgba(13, 13, 13, 0.309804);
	box-shadow: inset -10px -12px 6px -7px rgba(13, 13, 13, 0.309804);*/
	border: 0;
	 color: #fff;
    max-width: 500px;
    height: 2.5em;
    text-align: center;
    margin-bottom: 0.5em;
    font-weight: 600;
    z-index: 999;
    box-shadow: none;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: unset;
	position: relative;
}


.entry-btn.entry-btnStyle_checked:hover{ transform: translateY(4px);
  box-shadow: none;}


.entry-btn.disabled {
  pointer-events: none; /* マウス操作無効化 */
  opacity: 0.5;         /* 見た目で無効を表現 */
  cursor: default;
}

.yet{pointer-events: none!important;    background: #3f3f3f!important;box-shadow: none!important;font-size: 1.2em}

.check_p{margin: 0 auto;
    text-align: center;
    color: #2b2b2b;
    padding: 0.2em 0 0;
background: none;
font-size: 0.9em;}
.check_notes {text-align: center;color: #2b2b2b; margin-bottom: .5em;}


.arrow{
	position: relative;
}
.arrow::before,
.arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}

.tri::before{
	    right: 1em;
    width: 15px;
    height: 15px;
    border-top: 4px solid #ffffff;
    border-right: 4px solid #ffffff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.b_gray{    background: #656565 !important;
    color: #fff !important;
    pointer-events: none !important;
    font-weight: normal;}
.b_gray::before{display: none!important;}

/*------------------------------------
追従ボタン
------------------------------------*/

.lp_cta_fixed .entry-btn {
  font-size: 1.4em;
  text-decoration: none;
  max-width: 400px;
  padding: 1.5rem 0rem;
  font-weight: bold;
  color: #ffffff;
}
/*チェック済みボタン*/
.lp_cta_fixed .entry-btn.entry-btnStyle_checked {
	 background: #fc8e3d;
    background: -moz-linear-gradient(left, #fc8e3d 0%, #ff0576 100%);
    background: -webkit-linear-gradient(left, #fc8e3d 0%, #ff0576 100%);
    background: linear-gradient(to right, #fc8e3d 0%, #ff0576 100%);
	/*-webkit-box-shadow: inset -12px -14px 8px -9px rgba(172,12,41,1);
	-moz-box-shadow: inset -12px -14px 8px -9px rgba(172,12,41,1);
	box-shadow: inset -12px -14px 8px -9px rgba(172,12,41,1);*/
	transition: 0.5s;
    z-index: 999;box-shadow: 0 4px 0 #414141;
	cursor: pointer;
}
.lp_cta_fixed .entry-btn.entry-btnStyle_checked a {
  display: inline;
}
/*未チェックボタン*/
.lp_cta_fixed .entry-btn {
	background: -moz-linear-gradient(top, #aaaaaa 80%, #959595 100%, #959595 100%);
	background: -webkit-linear-gradient(top, #aaaaaa 80%, #959595 100%, #959595 100%);
	background: linear-gradient(to bottom, #aaaaaa 80%, #959595 100%, #959595 100%);
	/*-webkit-box-shadow: inset -10px -12px 6px -7px rgba(13, 13, 13, 0.309804) !important;
	-moz-box-shadow: inset -10px -12px 6px -7px rgba(13, 13, 13, 0.309804);
	box-shadow: inset -10px -12px 6px -7px rgba(13, 13, 13, 0.309804);*/
	border: 0;
	 color: #fff;
    max-width: 500px;
    height: 2.5em;
    text-align: center;
    margin-bottom: 0.3em;
    font-weight: 600;
}

.lp_cta_fixed .entry-btn.disabled {
  opacity: 1;         /* 見た目で無効を表現 */
}
.lp_cta_fixed .entry-btn.entry-btnStyle_checked:hover {
  box-shadow: none !important;
  transform: translateY(4px);
}
/*------------------------------------
HEADER＿PC
------------------------------------*/
#head_logo{
        position: relative;
    background: #000;
    z-index: 100;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.logo a{display: block;
    background-image: url("../images/logo.svg");
    background-size: 100% 100%;
    text-indent: -9999px;
    overflow: hidden;
margin: 0 auto;
	width: 180px;
height: 30px;}

/*------------------------------------
共通
------------------------------------*/
.bg_p{    background: #e61e71;}
.bg_w{background:#f1f1f1;}
.bg_g{background: repeating-linear-gradient(-45deg, #dfdfdf, #e9e9e9 5px, #dfdfdf 5px, #e9e9e9 10px);}

.sec_inner{max-width: 1200px;margin: 0 auto;text-align: center;    padding: 2em 0;}

/*------------------------------------
FV_PC
------------------------------------*/
/* wrapper */
#wrapper {
   box-sizing: border-box;
}
#contents {
max-width: 100%;
margin: 0 auto 0;
font-weight: 400;
font-style: normal;
}
.fv{background: #e8e5e5;}
.fv h1 {
 width: 100%;

    margin: 0 auto;
    padding: 0;
}
p.h_txt{    font-size: 1em;
    font-weight: 500;
    line-height: 1.5em;
    font-family: "noto-sans-cjk-jp", sans-serif;
    display: flex;
    border: 2px solid #fff;
    justify-content: center;
    align-items: center;
    height: 3em;
    max-width: 750px;
    margin: 0 auto 10px;}
p.h_txt span{    font-size: 1.5em;
    font-weight: 600;
    display: inline-block;}
p.h_txt02{
font-size: 1em;
text-align: left;
max-width: 680px;
margin: 0 auto;
}


/*------------------------------------
STEP＿PC
------------------------------------*/
#step img{max-width: 800px;margin: 0 auto;}

#step h2,#qa h2{color: #000;
    font-weight: 600;
    font-size: 2.5em;
    margin: 1em auto 1.5em;}
#step #entry h2{margin-top: 0;margin-bottom: 1em;}
#step h3{    background: #213c4c;
    color: #fff;
    font-size: 1.5em;
    margin: 2em auto 1em;
    max-width: 800px;
    padding: .5em;
    font-weight: 400;
    border-radius: 6px;}
#step h3 + p{font-weight: 600;color: #2d2d30;font-size: 1.5em;}
#step .step_li li{position: relative;}
#step .step_li li:before{    content: '';
    position: absolute;
    right: 0;
    width: 1.5em;
    height: 1.5em;
   border-top: 4px solid #fe1a7e;
    border-right: 4px solid #fe1a7e;
    transform: translateY(-2px) rotate(135deg);
    box-sizing: border-box;
    left: 0;
    margin: 0 auto;
    bottom: -3em;}
#step .step_li li + li{margin-top: 4em;}
#step .step_img{max-width: 600px;width: 90%;margin: 1em auto;}
#step .step_img h4{    color: #1c3c4b;
    font-weight: bold;
    text-align: left;
    font-size: 1.3em;
    margin:2em auto 0.5em;
    border-left: 0.5em solid #1c3c4b;
    padding-left: 0.5em;}

#step .step_li li img{padding: 1em;background: #fff;border-radius: 6px;}
#step .step_li li:nth-child(2) img{margin: 2em auto;}
#step .step_li li:last-child::before{display: none;}
#step .step_li p.lead{font-weight: 800;
    font-size: 1.9em;
    line-height: 1.35em;
    color: #fe1a7e;
    margin: 1em auto 0.2em;
    letter-spacing: 0.04em;
    font-family: "noto-sans-cjk-jp", sans-serif;}
#step .step_li p.lead + p{        font-weight: 600;
    color: #213c4c;
    font-size: 1.4em;
    line-height: 1.2em;
    font-family: "noto-sans-cjk-jp", sans-serif;
    background: #ffffff;
    max-width: 800px;
    margin: 0 auto 3.5em;
    border-radius: 6px;
    padding: 1em;}
	#step .lead_02{    font-weight: 600;
    font-size: 1.4em;
    line-height: 1.6em;
    color: #fe1a7e;
    border-radius: 10px;
    padding: 1em;
    max-width: 900px;
    margin: 0 auto 2em;
    font-family: "noto-sans-cjk-jp", sans-serif;}
#step .lead_02 a{text-decoration: underline;}
#step .lead_02 span.ft_ad{font-size: 14px;
    font-weight: normal;
    color: #000;
    display: inline-block;
    line-height: 1.35em;
    margin-top: 0.2em;}

#step .step_li li:nth-child(3) .entry-block{margin-top: 3em;}
#step .step_li li .img_area{background: #fff;border-radius: 6px;}
#step .step_li li .img_area img{margin: 0 auto;}
#step .step_li li .img_area .chart_img{background: #ffeef1;margin: 1em 1em 0 ;}
#step .step_li li .img_area .chart_img img{background: none;padding-bottom: 0;}
#step .step_li li .img_area .chart_img p{    font-weight: 600;
    color: #1b3d4c;line-height: 1.35em;padding-bottom: 1em;
    font-size: 1.5em;}
#step .step_li p.lead.blue{color: #1c3c4b;margin-bottom: 2em;margin-top: 0;}
#step .step_li p.lead.blue span{font-size: 0.38em;
    padding: 1em;
    text-align: left;
    display: inline-block;
    line-height: 1.2em;
    font-weight: normal;}

/*------------------------------------
よくある質問＿PC
------------------------------------*/
#qa{}

.accordion-content {
    display: none;
}
.accordion{max-width: 700px;margin: 0 auto;font-family: "noto-sans-cjk-jp", sans-serif;}
.accordion-header
{    background: #ededed;
    padding: 1em;
        background: repeating-linear-gradient(-45deg, #dfdfdf, #e9e9e9 5px, #dfdfdf 5px, #e9e9e9 10px);
    color: #000;
    text-align: left;
    margin: 0 auto;
	padding-right: 1em;
position: relative;font-weight: bold;}
.accordion li{box-shadow: 5px 3px 4px -2px rgb(0 0 0 / 13%);}
.accordion li + li{margin-top: 1em;}
.accordion-content{      background: #ffffff;
    padding: 1em 1em 1em 2em;
    text-align: left;
    color: #000;
text-indent: -1.5em;
    padding-left: 2.5em;
font-size: 0.9em;}

.accordion-header::before,
.accordion-header::after{
  position:absolute;
  content:'';
  top:1px;
  right:10px;
  bottom:0;
  width:12px;
  height:2px;
  margin:auto;
  background:#ff0b74;
}
.accordion-header::after{
  transform:rotate(-90deg);
  transition:transform 0.3s;
}
.accordion-header.active::after{transform:rotate(0deg);}
.accordion-header span,
.accordion-content span{
  padding-left: 18px;
  position: relative;
}

.accordion-header span::before{
  position: absolute;
    content: "Q";
    top: 2px;
    left: 0;
    color: #000;
    font-size: 1.1em;
    font-weight: bold;
}


.accordion-content span::before{
    position: absolute;
  content:"A";
  top: 3px;
      left: unset;
  color: #ff0b74;
  font-size: 1.1em;
	font-weight: bold;
}

/*------------------------------------
ポップアップ_規約_PC
------------------------------------*/

.note_b{           border-radius: 4px;
    margin: 0 auto 2em;
    padding: 0.5em;
    font-size: 1.1em;
    font-weight: 500;
    background: #fff;
    color: #cc0032;
    box-shadow: unset;
    border-left: 0;
    border: 3px solid #cc0032;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.02em;
    width: 500px;}
.note_b p{width: 100%;}
.note_b p span{    display: block;
    background: #cc0032;
	padding-right: 10px;
    width: 100%;
    color: #fff;
    padding: 0.3em 0 0.2em;
    margin: 0.1em 0 0;}

button.note_b:hover p span{background: #000;}

.arw01::before{
	    right: 10px;
    width: 14px;
    height: 4px;
    background: #ffffff;
}
.arw01::after{
	right: 10px;
    width: 12px;
    height: 12px;
    border-top: 4px solid #ffffff;
    border-right: 4px solid #ffffff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.popup {
  position: fixed;
  inset: 0;
  display: none;
	z-index: 999;
}

.popup[aria-hidden="false"] {
  display: block;
}

.popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
}

.popup__content {
   position: absolute;
    top: 50%;
    left: 50%;
    width: 90%;
    max-width: 600px;
    background: #fff;
    padding: 20px;
    transform: translate(-50%, -50%);
    border-radius: 8px;
    max-height: 70vh;
    overflow: auto;
    border: 10px solid #ccc;
    color: #000;
	    font-family: "noto-sans-cjk-jp", sans-serif;
}

.popup__content p.kiyaku_title,#kiyaku p.kiyaku_title{font-size: 0.9em;
    font-weight: bold;
    margin-bottom: 1em;}
.popup__content h2,#kiyaku h2{    color: #fe1a7e;
    border-left: 0.5em solid #fe1a7e;
    letter-spacing: 0.5px;
    font-size: 1em;
    font-weight: normal;
    margin: 1.5em 0 1em;
    background: #e4e4e4;
    display: flex;
    align-items: center;
    height: 1.8em;
	padding-left:0.5em;}

#kiyaku h2{display: inline-block;
    padding: 0.2em 1em 0 0.5em;
    font-size: 0.85em;}

.popup__content p,.popup__content ul{font-size: 0.8em;line-height: 1.45em;}
#kiyaku p,#kiyaku ul{font-size: 0.8em;line-height: 1.45em;}
.popup__content ul li,#kiyaku ul li{ text-indent: -1em;padding-left: 1em;}
.popup__content img,#kiyaku img{margin: 0 auto 1em}
.popup__content button{font-size: 0.9em;
    width: 6em;
    height: 2.5em;
    padding: 00;
    background: #000;
    color: #fff;
    text-align: center;
    border-radius: 10em;
    margin: 2em auto 0;
    display: block;}


#kiyaku{background: #fff;color: #000;font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic", "メイリオ", Meiryo, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", Helvetica, sans-serif;}
#kiyaku .inner{max-width: 1200px;margin: 0 auto;padding: 2em 1em;}



@media only screen and (max-width: 820px) {
	.sec_inner{width: 96%;padding: 1em 0;}
	
	#first .sec_inner{padding: 1em 0;}
	p.h_txt{font-size: clamp(12px, 0.8em, 16px);padding: 0.5em 0;
        display: block;
        height: unset;}
	p.h_txt span{line-height: 1.35em;font-size: 1.4em;}
	.note_b{            font-size: 0.9em;
        border: 2px solid #cc0032;
        width: 90%;}
	p.h_txt02{
  font-size: 0.8em;
  text-indent: -9em;
  margin-left: 9em;
  }
	button.entry-btn{
	font-size: 1.2em;
    width: 90%;
    padding: 0;
    height: 2.2em;}
	.yet{font-size: 0.8em;}
	
	.lp_cta_fixed .entry-btn{
	max-width: 95%;
	height: 2.2em;
	margin-bottom: 3px;
	font-size: 20px;
	}
	.yet{font-size: 0.8em;}
	
	#step h2, #qa h2{font-size: 1.5em;
    margin: 1em auto 0.5em;}
	#step h3{    font-size: 1.2em;
    padding: 0.4em 0 0.2em;
    margin: 1em auto 0.5em;
	width: 100%;
	    border-radius: 4px;
	font-weight: 400;}
	#step h3 + p{font-size: 1em;}
	#step .step_li li + li {
    margin-top: 3em;
}
	#step .step_li li:before{    bottom: -2em;}
	#step .step_li p.lead{font-size: 1.4em;}
	#step .lead_02{font-size: 1em;}
	#step .lead_02 span{font-size: 0.9em}
	#step .step_img{width: 96%;}
	#step .step_img h4{    font-size: 1em;
    margin: 1em auto 0.5em;}
	#step .step_li p.lead.blue{padding: 0 0.5em;
    font-size: 1.1em;}
	#step .step_li p.lead.blue span{font-size: 0.7em;}
	#step .step_li p.lead + p{font-size: 1.1em;width: 96%;
    line-height: 1.25em;margin-bottom: 1.5em;padding: 0.5em;}
	#step .step_li li:nth-child(2) img{margin: 1em auto;}
	#step .step_li li .img_area .chart_img p{font-size: 1em;}
	#step .step_li li .img_area .chart_img{    margin: 0.3em 0.5em 0;}
	#step .step_li li img{padding: 0.5em;}
	
	
	
	#qa h2 {
        font-size: 1.2em;
		margin: 0em auto 0.5em;}
	.accordion{font-size: 0.8em;margin-top: 2em;}
	
	.popup__content{    padding: 1em;
    font-size: 0.8em;
    border: 5px solid #ccc;}
	.popup__content h2{font-size: 0.9em;}
	
	#kiyaku{font-size: 0.9em;}
	
}





.tokuten_scroll {
    padding: 2em;
    background: #d7d7d7;
	max-width: 800px;
    margin: 0 auto;
	font-size: 0.9em;
	line-height: 1.2em;
}
.tokuten_scroll h4{
	font-size: 1.2em;
}
.tokuten_scroll .inn {
    padding-right: 2em;
    height: 230px;
    overflow-y: scroll;
    text-align: left;
}

.tokuten_scroll .inn .inn_box {
    margin-bottom: 2em;
}

.tokuten_scroll .inn .inn_box > ul > li {
    text-indent: -1em;
    margin-left: 1em;
    margin-bottom: 0.3em;
}


@media print,
screen and (min-width: 821px) {
 #all {
 background: url("../images/2404_cp_bn.webp");
 background-repeat: repeat;
 background-attachment: fixed;
 background-position:center center;
 background-size: auto;
 }
}


@media only screen and (max-width: 820px) {
#all { position: relative; background: none;}
 .fv h1{}
	#head_logo{height: 50px;}
	.logo a{display: block;
    background-image: url(../images/logo.svg);
    background-size: 100% 100%;
    text-indent: -9999px;
		        max-width: 120px;
}
 #contents  {  width: 100%; }

}
 
 .only_PC {   display: inline; }
 .only_SP {   display: none; }
 .indent_PC {   margin-left: min(1vw, 15px); }
 .copy_size {   font-size: 15px;   vertical-align: -15%; }
 .pc_on {   display: block; }
 .sp_on {   display: none; }
 
 @media screen and (max-width: 820px) {
   .pc_on {     display: none;   }
   .sp_on {     display: block;   }
   .only_PC {     display: none;   }
   .only_SP {     display: inline;   }
   .indent_PC {    margin-left: 0; }
.tokuten_scroll {     font-size: 12px;		padding: 1.5em;   }
 .tokuten_scroll .inn {     padding-right: 0.5em;    }
#footer_inc { margin-bottom: 10px;}
	  footer {    height: 120px;}
	  .kv {  padding-top: 2vw!important; }
 }
  @media screen and (max-width: 480px) {
	  section.ent_btn, section.content_area{    padding: 1.5em 0;}
	  button{width: 90%;
    font-size: 1.2em;}
}
