@charset "UTF-8";
/* main */
main {
  color:#747D82;
  background: #ffffff;
	font-weight: 500;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.lp-body a {
  color: #696969;
	text-decoration: none;
	font-family: 'Noto Sans JP', sans-serif !important;
}
.lp-body li {
	font-family: 'Noto Sans JP', sans-serif !important;
}
@media screen and (min-width: 641px) {
  .lp-body a:hover img {
    opacity: .7;
  }
}
.lp-body a img {
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
}
.lp-body img {
	max-width: 100%;
	height: auto;
}

/* base-custom */
.clear {
	clear: both;
}
.-fw-normal {
	font-weight: 400 !important;
}
.-fw-bold {
	font-weight: 700 !important;
}
.-align-left {
	text-align: left;
}
.-align-center {
	text-align: center;
}
.-align-right {
	text-align: right;
}
.-valign-top {
	vertical-align: top;
}
.-valign-middle {
	vertical-align: middle;
}
.-valign-bottom {
	vertical-align: bottom;
}
.-float-left {
	float: left;
}
.-float-right {
	float: right;
}
.-float-none {
	float: none;
}
.-mt5 {
	margin-top: 5px;
}
.-mt10 {
	margin-top: 10px;
}
.-mt15 {
	margin-top: 15px;
}
.-mt20 {
	margin-top: 20px;
}
.-mt25 {
	margin-top: 25px;
}
.-mt30 {
	margin-top: 30px;
}
.-mb5 {
	margin-bottom: 5px;
}
.-mb10 {
	margin-bottom: 10px;
}
.-mb15 {
	margin-bottom: 15px;
}
.-mb20 {
	margin-bottom: 20px;
}
.-mb25 {
	margin-bottom: 25px;
}
.-mb30 {
	margin-bottom: 30px;
}
.-ml5 {
	margin-left: 5px;
}
.-ml10 {
	margin-left: 10px;
}
.-ml15 {
	margin-left: 15px;
}
.-ml20 {
	margin-left: 20px;
}
.-ml25 {
	margin-left: 25px;
}
.-ml30 {
	margin-left: 30px;
}
.-mr5 {
	margin-right: 5px;
}
.-mr10 {
	margin-right: 10px;
}
.-mr15 {
	margin-right: 15px;
}
.-mr20 {
	margin-right: 20px;
}
.-mr25 {
	margin-right: 25px;
}
.-mr30 {
	margin-right: 30px;
}
@media screen and (min-width:641px){
  .only-pc {
    display: block;
  }
  .only-pc.-inline {
    display: inline-block;
  }
  .only-sp {
    display: none;
  }
  .only-sp.-inline {
    display: none;
  }
  .s-font {
    font-size: 12px;
  }
}
@media screen and (max-width: 640px) {
	.only-pc {
		display: none;
	}
	.only-pc.-inline {
		display: none;
	}
	.only-sp {
		display: block;
	}
	.only-sp.-inline {
		display: inline-block;
	}
	.-sp-align-left {
		text-align: left;
	}
	.-sp-align-center {
		text-align: center;
	}
	.-sp-align-right {
		text-align: right;
	}
	.s-font {
		font-size: 10px;
	}
}
.box {
	display: table-cell;
	text-align: center;
}
span.resp_cp_line {
	position: relative;
}
._resp_sp_modal {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .8);
	z-index: 999;
	overflow-y: auto;
	visibility: hidden;
	opacity: 0;
	transition: all .2s linear;
	-moz-transition: all .2s linear;
	-webkit-transition: all .2s linera;
}
._resp_sp_modal._resp_visible {
	visibility: visible;
	opacity: 1;
}
._resp_sp_modal_inner {
	position: absolute;
	left: 10px;
	right: 10px;
	top: 10px;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 0 3px #000;
	padding: 10px;
	margin-bottom: 20px;
}
._resp_modal_close {
	display: block;
	position: absolute;
	width: 30px;
	height: 30px;
	background: url(/sol/contents/img/tourokuyoyaku_sp/close.gif) no-repeat center center;
	background-size: 100%;
	border-radius: 4px;
	right: 10px;
	top: 10px;
}
.user_confirm_popup {
	position: fixed;
	background: rgba(0,0,0,0.4);
	left: 0;
	right: 0;
	height: 100%;
	top: 0;
	display: none;
	z-index: 1000;
}
.user_confirm_popup--inner {
	position: absolute;
	display: block;
	background: #fff;
	padding: 15px 15px 20px 15px;
	border-radius: 4px;
	overflow-y: auto;
	margin: 10px;
}
.user_confirm_popup .user_data {
	margin-bottom: 20px;
	font-size: 14px;
}
.open15_mbox {
	padding: 10px;
	font-size: 12px;
	margin-top: 10px;
	background: #f0f8fc;
	max-height: 280px;
	overflow: scroll;
}
.user_confirm_popup .ns15-btn_base.ns15-btn_inlined {
	display: block;
	margin-right: 0px;
}
.user_confirm_popup input[type="text"] {
	width: 100%;
	height: 35px;
	border: 1px solid #ccc;
	border-radius: 4px;
}
.ns15-btn_base {
	transition: opacity .1s linear;
	-webkit-transition: opacity .1s linear;
	-moz-transition: opacity .1s linear;
}
.ns15-btline {
	background: #00c400;
}
.ns15-btline .ns15-btn_inner {
	background: #7bf37b;
	background: -moz-linear-gradient(top, #10dc10 0%, rgba(0, 196, 0, 0) 100%);
	background: -webkit-linear-gradient(top, #10dc10 0%,rgba(0, 196, 0, 0) 100%);
	background: linear-gradient(to bottom, #10dc10 0%,rgba(0, 196, 0, 0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#10dc10', endColorstr='#00c400',GradientType=0 );
}
.ns15-btline .ns15-btn_inner span {
	background: #00c400;
	color: #fff;
	background: -moz-linear-gradient(top, #00c400 97%, #00b003 97%, #00b003 97%, #00b003 100%);
	background: -webkit-linear-gradient(top, #00c400 97%,#00b003 97%,#00b003 97%,#00b003 100%);
	background: linear-gradient(to bottom, #00c400 97%,#00b003 97%,#00b003 97%,#00b003 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00c400', endColorstr='#00b003',GradientType=0 );
}

@media screen and (max-width: 640px) {
	._both {
		font-weight: 400 !important;
		font-size: 4.5vw !important;
		color: #68B7E6 !important;
		text-align: right !important;
	}
	.box {
		display: block;
		text-align: center;
	}
	a[href^="tel:"] {
		pointer-events: none;
	}
	.s-font {
		font-size: 12px;
	}
	.copyright {
		vertical-align: sub;
		color: #435B67;
		font-size: 10px;
		letter-spacing: 0;
	}
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	font-family: 'Noto Sans JP', sans-serif !important;
	line-height: 1.8;
	letter-spacing: -0.01em;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;	
}
.resp15_body {
  overflow-x: hidden;
  background-color: #FFF !important;
}
/* cp-20241021 */

/*--- only_syokai ---*/
.resp15_wrap--inner{
  max-width: none;
  padding-bottom: 0;
} 
/*--- only_friends ---*/
.res14-contents-inner{
  width: auto;
  padding: 0;
} 
.pc-pankuzu-mB{
  display: none;
}
/*------------------------*/
/*common*/
/*------------------------*/
.lp-body .contents--inner{
  max-width: 960px;
  margin:0 auto;
}
.lp-body .contents--inner_s{
  max-width: 660px;
  margin:0 auto;
}
.effect-wrapper .effect {
	opacity: 0;
	margin: auto;
	transition: .2s;
	transition-delay: .2s;
}
@media screen and (max-width:640px){
  .lp-body .contents--inner,
  .lp-body .contents--inner_s{
    padding:0 20px;
  }
}

/*--- title ---*/
.lp-body .section--tit{
  color:#495D69;
  font-size: 29px;
  font-weight: 700;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap:16px;
  margin-bottom: 48px;
  line-height: 1.6;
}
.lp-body .section--tit:after{
  content:"";
  width: 220px;
  height: 18px;
  background: url(/sol/contents/mypage/scp/img/friends/deco_title.svg)no-repeat left top;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  .lp-body .section--tit{
    font-size: 19px;
    gap:10px;
    margin-bottom: 24px;
  }
  .lp-body .section--tit:after{
    width: 140px;
    height: 12px;
  }
}
/*--- caution ---*/
@media screen and (min-width: 641px) {
  .lp-body .caution a:hover{
    opacity: 0.7;
  }
}
.lp-body .caution,
.default_popup_inner .caution{
  font-size: 14px;
  padding-left: 1em;
  text-indent: -1em;
}
.lp-body .caution a{
  transition: 0.3s;
  text-decoration: underline;
}
.lp-body .caution.caution_base{
  font-size: 16px;
  color:#A1A6A9;
}
@media screen and (max-width: 640px) {
  .lp-body .caution,
  .default_popup_inner .caution{
    font-size: 12px;
    text-align: left;
  }
}

/*--- btn ---*/
@media screen and (min-width: 641px) {
  .lp-body .cv-link-btn a:hover {
    opacity: .7;
  }
}
.lp-body .cv-link {
  margin: 0 auto;
	text-align: center;
}
.lp-body .cv-link-btn {
  width: 520px;
  margin-bottom:16px;
  display: inline-block;
  position: relative;
}
.lp-body .cv-link-btn:last-of-type {
  margin-bottom:0;
}
.lp-body .cv-link-btn a {
  font-size: 20px;
  font-weight: 700;
  background: #68B7E6;
  color: #fff;
  padding: 10px 0;
  border-radius: 6px;
  display: block;
  position: relative;
  z-index: 1;
  transition: .3s;
}
.lp-body .cv-link-btn a.LineBtn {
	background: #00C400;
}
.lp-body .btn_area .cv-link:has( + .caution){
  margin-bottom: 16px;
}
.lp-body .btn_area .cv-link.flex_btn{
  display: flex;
  align-items: center;
  justify-content: center;
  gap:4%;
}
.lp-body .btn_area .cv-link.flex_btn .cv-link-btn{
  margin-bottom: 0;
  width: 48%;
  max-width: 320px;
}
@media screen and (max-width: 640px) {
  .lp-body .cv-link-btn {
    width: 100%;
  }
  .lp-body .cv-link-btn a {
    font-size: 16px;
  }
  .lp-body .btn_area .cv-link:has( + .caution){
    margin-bottom: 12px;
  }
  .lp-body .cv-link.flex_btn a{
    padding: 6px 0;
  }
}
/*------------------------*/
/*btn_area*/
/*------------------------*/
.lp-body .btn_area{
  overflow: hidden;
  padding: 80px 0;;
  margin-bottom: 16px;
}
.lp-body .btn_area .emphasis_tit{
  font-size: 30px;
  text-align: center;
  color: #495D69;
  margin-bottom: 20px;
  display: flex;
  align-items:center;
  justify-content: center;
  gap:4px;
  line-height: 1;
}
.lp-body .btn_area .emphasis_tit:before,
.lp-body .btn_area .emphasis_tit:after{
  content: "";
  display: block;
  width:26px;
  height: 41px;
  margin-top:8px;
}
.lp-body .btn_area .emphasis_tit:before{
  background: url(/sol/contents/mypage/scp/img/friends/deco_emphasis_left.svg)no-repeat left top;
  background-size: contain;
}
.lp-body .btn_area .emphasis_tit:after{
  background: url(/sol/contents/mypage/scp/img/friends/deco_emphasis_right.svg)no-repeat left top;
  background-size: contain;
}
.lp-body .btn_area .caution{
  font-size: 14px;
  text-align: center;
  color:#A1A6A9;
}
.lp-body .btn_area .caution a{
  color:#A1A6A9;
}
@media screen and (max-width: 640px) {
  .lp-body .btn_area{
    margin-bottom: 0;
    padding: 70px 0;
  }
  .lp-body .btn_area .emphasis_tit{
    font-size: 18px;
    margin-bottom: 12px;
    gap:2px;
  }
  .lp-body .btn_area .emphasis_tit:before,
  .lp-body .btn_area .emphasis_tit:after{        
    width: 13px;
    height: 23px;
    margin-top: 5px;
  }
  .lp-body .btn_area .caution{
    font-size: 12px;
    text-align: left;
  }
}
/*------------------------*/
/*main_visual*/
/*------------------------*/
.intro-top{
  padding:50px 0 40px;
  background: #E8F3FA url(/sol/contents/mypage/scp/img/friends/mv_bg.svg)no-repeat left top;
  background-size: cover;
  color:#434E54;
  font-weight: 700;
  text-align: center;
}
.intro-top .invitation_text{
  margin-bottom: 8px;
}
.intro-top .invitation_text > span{
  display: block;
  font-size: 19px;
}
.intro-top .invitation_text p,
.intro-top .invitation_text p span{
  font-size: 29px;
}
.intro-top h1{
  font-size: 47px;
  font-weight: 700;
  margin-bottom: 16px;
}
.intro-top h1:has(span){
  line-height: 1.4;
  margin-bottom: 24px;
}
.intro-top h1 span{
  display: block;
  font-size: 30px;
}
.intro-top .period{
  position: relative;
  color:#ffffff;
  padding:10px 0;
  margin: 0 auto 8px;
  width: 450px;
  z-index: 1;
}
.intro-top .period:before{
  content: "";
  position: absolute;
  top:0;
  left:-5%;
  display: block;
  width: 110%;
  height: 100%;
}
.intro-top .period:before{
  background:url(/sol/contents/mypage/scp/img/friends/ribbon.svg)no-repeat center center;
  background-size: contain;
  z-index: -1;
}
.intro-top .period span{
  font-size: 20px;
  letter-spacing: 0.04em;
}
.intro-top .period.outside span {
  text-decoration: line-through;
}
.intro-top .end_txt {
    font-size: 20px;
    text-align: center;
    margin-bottom: 10px;
}
.intro-top .mv_img{
  margin: 0 auto 20px;
  position: relative;
  width: 554px;
}
.intro-top .mv_img .mv_txt_wrp {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 60px;
}
.intro-top .mv_img .mv_txt_wrp .mv_txt {
    width: 246px;
    text-align: center;
}
.intro-top .mv_img .mv_txt_wrp .mv_txt dt {
    font-size: 19px;
    line-height: 38px;
    color: #ffffff;
    margin-bottom: 3px;
}
.intro-top .mv_img .mv_txt_wrp .mv_txt dd {
    color: #68B7E6;
    font-weight: 700;
}
.intro-top .mv_img .mv_txt_wrp .mv_txt.to dd {
    color: #F484B5;
}
.intro-top .mv_img .mv_txt_wrp .mv_txt dd .mv_gift {
    font-size: 20px;
}
.intro-top .mv_img .mv_txt_wrp .mv_txt dd .mv_gift_price {
    font-size: 42px;
    margin-top: -23px;
}
.intro-top .mv_img .mv_txt_wrp .mv_txt dd span.yen {
    font-size: 23px;
    display: inline-block;
    margin-left: 5px;
}
.intro-top .caution{
  color: #626262;
  font-weight: 500;
}
.intro-top.limited{
  position: relative;
  padding-top: 70px;
  background: url(/sol/contents/mypage/scp/img/friends/mv_bg_limited.svg)no-repeat left top;
  background-size: cover;
  overflow: hidden;
}
.intro-top.limited:before,
.intro-top.limited:after{
  content: "";
  position: absolute;
  top:0;
  display: block;
  width: max(225px,17vw);
  height: max(150px,23vw);
}
.intro-top.limited:before{
  left: 0;
  background: url(/sol/contents/mypage/scp/img/friends/garland_left.svg)no-repeat left top;
  background-size: contain;
}
.intro-top.limited:after{
  right: 0;
  background: url(/sol/contents/mypage/scp/img/friends/garland_right.svg)no-repeat left top;
  background-size: contain;
}
.intro-top.limited h1 picture{
  display: block;
  max-width: 290px;
  margin: 0 auto;
}
.intro-top.limited .ribbon {
    width: 500px;
    height: 68px;
    margin: -15px auto 15px;
    background:url(/sol/contents/mypage/scp/img/friends/limited_ribbon.png)no-repeat center center;
  background-size: contain;
    color: #ffffff;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
}
.intro-top.limited .mv_wrap{
  padding-bottom: 32px;
  background: url(/sol/contents/mypage/scp/img/friends/cloud.svg)no-repeat center top;
  background-size: contain;
}
.intro-top.limited .period{
  width: 460px;
  margin: 0 auto 15px;
  background: #FFF323;
  color: #3E9ED7;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
    border-radius: 20px;
    padding: 0 15px;
}
.intro-top.limited .period:before{
  content: none;
}
.intro-top.limited .mv_img{
  position: relative;
  z-index: 2;
  margin: 0 auto;
}

.intro-top .mv_img .mv_txt_wrp .mv_txt dd .mv_gift_bfprice {
    font-size: 17px;
    color: #878787;
    display: inline-block;
    position: relative;
    margin-bottom: 32px;
}
.intro-top .mv_img .mv_txt_wrp .mv_txt dd .mv_gift_bfprice::before,
.intro-top .mv_img .mv_txt_wrp .mv_txt dd .mv_gift_bfprice::after {
    content: "";
    position: absolute;
    top: 45%;
    left: -5px;
    display: block;
    width: 117%;
    height: 1px;
    background: #68B7E6;
}
.intro-top .mv_img .mv_txt_wrp .mv_txt dd .mv_gift_bfprice::after {
    top: 55%;
}
.intro-top .mv_img .mv_txt_wrp .mv_txt.to dd .mv_gift_bfprice::before,
.intro-top .mv_img .mv_txt_wrp .mv_txt.to dd .mv_gift_bfprice::after {
    background: #F484B5;
}
.intro-top.limited .mv_img .mv_txt_wrp .mv_txt dd .mv_gift_price {
    font-size: 47px;
}
.intro-top.limited .mv_img img {
    width: 100%;
}
.intro-top.limited .mv_img .only_now{
  position: absolute;    
  bottom: 52px;
  left: -74px;
  width: 100px;
  height: 100px;
}

@media screen and (max-width: 640px) {
  .intro-top{
    background: #E8F3FA url(/sol/contents/mypage/scp/img/friends/mv_bg_sp.svg)no-repeat left top;
    background-size: cover;
  }
  .intro-top:has(.invitation_text){
    padding-top: 24px;
  }
  .intro-top .invitation_text p{
    font-size: 28px;
    line-height: 1.1;
    margin-bottom: 16px;
  }
  .intro-top .invitation_text span,
  .intro-top .invitation_text p span{
    font-size: 16px;
  }
  .intro-top .invitation_text span{
    line-height: 1.4;
    margin-bottom: 6px;
  }
  .intro-top h1{
    font-size: 30px;
    line-height: 1.4;
  }
  .intro-top h1 span{
    font-size: 26px;
  }
  .intro-top .period{
    padding:8px;
    max-width: 80vw;
  }
  .intro-top .period span{
    display: flex;
    justify-content: center;
    align-items: center;
    padding-block: 6px;
    font-size: 14px;
  }

    .intro-top .end_txt {
        font-size: 17px;
    }
  .intro-top .mv_img{
    width: 90vw;
  }
  .intro-top .mv_img .mv_txt_wrp {
    gap: 9vw;
  }
  .intro-top .mv_img .mv_txt_wrp .mv_txt dt {
    font-size: 3.6vw;
    line-height: 5vw;
    margin-bottom: 0.8vw;
  }
  .intro-top .mv_img .mv_txt_wrp .mv_txt dd .mv_gift {
    font-size: 3.4vw;
  }
  .intro-top .mv_img .mv_txt_wrp .mv_txt dd .mv_gift_price {
    font-size: 7vw;
    margin-top: -4vw;
  }
  .intro-top .mv_img .mv_txt_wrp .mv_txt dd span.yen {
    font-size: 5vw;
    margin-left: 1vw;
  }
  .intro-top.limited{
    padding-top: 22vw;
    background: url(/sol/contents/mypage/scp/img/friends/mv_bg_limited_sp.svg)no-repeat left top;
    background-size: cover;
  }
  .intro-top.limited:before,
  .intro-top.limited:after{
    width: max(120px,40vw);
    height: max(80px,27vw);
  }
  .intro-top.limited:before{
    left: -4vw;
  }
  .intro-top.limited:after{
    right: -4vw;
  }
  .intro-top.limited .contents--inner{
    padding:0;
  }
  .intro-top.limited h1 {
    margin-bottom: 2vw;
  }
  .intro-top.limited h1 picture{
    width: 76vw;
  }
  .intro-top.limited .ribbon {
    width: 90vw;
    font-size: 5.4vw;
    padding-top: 1vw;
    margin-bottom: 2vw;
    background:url(/sol/contents/mypage/scp/img/friends/limited_ribbon.png)no-repeat center 1vw / contain;
  }
  .intro-top.limited .mv_wrap{
    padding-bottom: 60px;
    background-size: 90vw;
    background-position-y: bottom;
  }
  .intro-top.limited .period{
    padding:0;
    max-width: 92vw;
  }
  .intro-top.limited .mv_img{
    margin: 0 auto;
  }
  .intro-top.limited .mv_img .mv_txt_wrp .mv_txt dd .mv_gift_price {
    font-size: 7vw;
  }
  .intro-top.limited .mv_img .mv_txt_wrp .mv_txt {
    padding-bottom: 1vw;
  }
  .intro-top.limited .mv_img .mv_txt_wrp .mv_txt dt {
    line-height: 6vw;
  }
  .intro-top .mv_img .mv_txt_wrp .mv_txt dd .mv_gift_bfprice {
    margin-bottom: 4vw;
    margin-top: -1vw;
  }
  .intro-top .mv_img .mv_txt_wrp .mv_txt dd .mv_gift_bfprice p {
    font-size: 4vw;
  }
  .intro-top.limited .mv_img .mv_txt_wrp .mv_txt dd span.yen {
    font-size: 4vw;
  }
  .intro-top.limited .mv_img .only_now{
    left: -2vw;
    width: 12vw;
    height: 12vw;
  }
}
@media screen and (max-width: 320px) {
  .intro-top .period span{
    font-size: 12px;
  }
  .intro-top.limited .mv_img .only_now{
    width: 54px;
    height: 54px;
  }
}
/*------------------------*/
/*section--merit*/
/*------------------------*/
.section--merit{
  margin-bottom: 56px;
}
.section--merit .point_list{
  display: flex;
  justify-content: space-between;
  gap:2%;
}
.section--merit .point_list > div{
  width: 32%;
}
.section--merit .point_list .point_img{
  position: relative;
  margin-bottom: 16px;
}
.section--merit .point_list .point_img::after{
  content: "";
  position: absolute;
  top:-16px;
  left:10px;
  display: block;
  width: 65px;
  height: 65px;
}
.section--merit .point_list > div:nth-of-type(1) .point_img::after{
  background:#68B7E6 url(/sol/contents/mypage/scp/img/friends/point01.svg)no-repeat left top;
  background-size: contain;
}
.section--merit .point_list > div:nth-of-type(2) .point_img::after{
  background:#68B7E6 url(/sol/contents/mypage/scp/img/friends/point02.svg)no-repeat left top;
  background-size: contain;
}
.section--merit .point_list > div:nth-of-type(3) .point_img::after{
  background:#68B7E6 url(/sol/contents/mypage/scp/img/friends/point03.svg)no-repeat left top;
  background-size: contain;
}
.section--merit .point_list .point_detail{
  margin: 0 10px;
  color: #707070;
}
.section--merit .point_list h3{
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
}
.section--merit .point_list p{
  font-size: 13px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 640px) {
  .section--merit{
    margin-bottom: 0;
  }
  .section--merit .point_list{
    flex-direction: column;
    gap:34px;
  }
  .section--merit .point_list > div{
    width: 100%;
  }
  .section--merit .point_list .point_img{
    margin-bottom: 10px;
  }
  .section--merit .point_list .point_img::after{
    top:-10px;
    width: 69px;
    height: 69px;
  }
  .section--merit .point_list h3{
    font-size: 17px;
    margin-bottom: 10px;
  }
}
/*------------------------*/
/*section--entry*/
/*------------------------*/
.section--entry{
  margin-bottom: 100px;
}
.section--entry .section--tit{
  margin-bottom: 56px;
}
.section--entry .entry_step{
  display: flex;
  justify-content: space-between;
}
.section--entry .entry_step .step_wrap{
  display: flex;
  flex-direction: column;
  position: relative;
  width: 28%;
}
.section--entry .entry_step .step_wrap:not(:last-of-type):after{
  content: "";
  position: absolute;
  top:calc(50% - 13px);
  right: -49px;
  display: block;
  width: 15px;
  height: 27px;
  background:url(/sol/contents/mypage/scp/img/friends/entry_arrow.svg)no-repeat left top;
  background-size: contain;
}
.section--entry .entry_step .step_wrap .step_inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #F0F8FC;
  border-radius: 12px;
  padding:0 24px 24px;
  flex-grow: 1;
}
.section--entry .entry_step .step_wrap:nth-of-type(2) .step_inner{
  background: #FDF2F7;
}
.section--entry .entry_step .step_wrap .step_img{
  margin-top:-24px;
  margin-bottom: 20px;
}
.section--entry .entry_step .step_wrap h3{
  text-align: center;
  color:#ffffff;
  background: #68B7E6;
  width: 80px;
  border-radius: 20px;
  font-size: 16px;
  margin: 0 auto 16px;
}
.section--entry .entry_step .step_wrap:nth-of-type(2) h3{
  background: #F484B5;
}
.section--entry .entry_step .step_wrap .step_icon{
  width: 85px;
  height: 85px;
  margin: 0 auto 12px;
}
.section--entry .entry_step .step_wrap p{
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  .section--entry{
    margin-bottom: 64px;
  }
  .section--entry .entry_step{
    flex-direction: column;
    gap:56px;
  }
  .section--entry .entry_step .step_wrap{
    width: 100%;
  }
  .section--entry .entry_step .step_wrap:not(:last-of-type):after{
    top:auto;
    right:auto;
    bottom:-40px;
    left: calc(50% - 7px);
    width: 14px;
    height: 24px;
    transform:rotate(90deg);  
  }
  .section--entry .entry_step .step_wrap:after{
    top:auto;
    right:auto;
    bottom:-34px;
    left: calc(50% - 7px);
    width: 14px;
    height: 24px;
    transform:rotate(90deg);  
  }
  .section--entry .entry_step .step_wrap .step_inner{
    padding: 0;
    height:auto;
  }
  .section--entry .entry_step .step_wrap .step_upper{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-top: -10px;
  }
  .section--entry .entry_step .step_wrap .step_img{
    width: 67px;
    margin: -7px 0 0 16px;
  }
  .section--entry .entry_step .step_wrap h3{
    width: 74px;
    font-size: 13px;
    margin: 0;
  }
  .section--entry .entry_step_wrap p{
    font-size: 13px;
  }
  .section--entry .entry_step .step_wrap .step_detail{
    display: flex;
    align-items: center;
    gap:16px;
    padding: 12px 20px 18px;
  }
  .section--entry .entry_step .step_wrap .step_icon{
    width: 70px;
    height: 70px;
    margin: 0;
    flex-shrink: 0;
  }
  .section--entry .entry_step .step_wrap p .caution{
    margin-top:12px;
  }
}
/*------------------------*/
/*section--cp_detail*/
/*------------------------*/
@media screen and (min-width: 641px) {
  .section--cp_detail .cp_detail .target_area p a:hover:before{
    opacity: 0;
  }
}
.section--cp_detail{
  background: #7FC3EA;
  padding:40px 0 56px;
  margin-bottom: 40px;
}
.section--cp_detail .section--tit{
  color:#ffffff;
}
.section--cp_detail .section--tit:after{
  background: url(/sol/contents/mypage/scp/img/friends/deco_title_wh.svg)no-repeat left top;
  background-size:contain ;
}
.section--cp_detail .cp_detail{
  color:#ffffff;
}
.section--cp_detail .cp_detail dt{
  font-size: 17px;
  font-weight: 700;
  margin-bottom:8px;
}
.section--cp_detail .cp_detail dd:not(:last-of-type){
  margin-bottom: 32px;
}
.section--cp_detail .cp_detail dd:first-of-type p,
.section--cp_detail .cp_detail dd:first-of-type p span,
.section--cp_detail .cp_detail .present_detail p:not(.caution){
  font-size: 17px;
}
.section--cp_detail .cp_detail dd .cp_term{
  background: #ffffff;
  color:#747D82;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 16px;
}
.section--cp_detail .cp_detail dd .cp_term:last-of-type{
  margin-bottom: 0;
}
.section--cp_detail .cp_detail dd .cp_term .cp_target{
  background: #7fc3ea;
  color:#ffffff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  padding:2px 16px;
  border-radius: 16px;
  width: 190px;
  margin: 0 auto 24px;
  word-break: keep-all;
  white-space: nowrap;
}
.section--cp_detail .cp_detail dd .cp_term .cp_target + p,
.section--cp_detail .cp_detail dd .cp_term ol li{
  font-size: 17px;
  letter-spacing: -0.02em;
  font-weight: 700;
  margin-bottom: 4px;
}
.section--cp_detail .cp_detail .present_detail p:has( + .caution){
  margin-bottom: 4px;
}
.section--cp_detail .cp_detail .present_detail p:not(.caution){
  font-weight: 700;
}
.section--cp_detail .cp_detail .present_detail .caution{
  margin-bottom: 14px;
}
.section--cp_detail .cp_detail .target_area{
  display: flex;
  flex-direction: column;
  gap:8px;
}
.section--cp_detail .cp_detail .target_area p:not(.caution){
  line-height: 1.1;
  margin-bottom: 4px;
}
.section--cp_detail .cp_detail .target_area p a{
  position: relative;
  display: inline-block;
  color:#ffffff;
  font-size: 15px;
}
.section--cp_detail .cp_detail .target_area p a:after{
  content: "";
  position: absolute;    
  bottom: 0;
  right: -20px;
  display: block;
  width: 14px;
  height: 14px;
  background:url(/sol/contents/mypage/scp/img/friends/icon_arrow_popup.png)no-repeat left top;
  background-size: contain;
}
.section--cp_detail .cp_detail .target_area p a:before{
  content: "";
  position: absolute;
  bottom:0;
  left: 0;
  display: block;
  width: 3em;
  height: 1px;
  background:#ffffff;
  transition: .3s;
}
@media screen and (max-width: 640px) {
  .section--cp_detail .cp_detail dt,
  .section--cp_detail .cp_detail dd{
    font-size: 15px;
  }
  .section--cp_detail .cp_detail dd:first-of-type p,
  .section--cp_detail .cp_detail dd:first-of-type p span,
  .section--cp_detail .cp_detail .present_detail p:not(.caution){
    font-size: 15px;
  }
  .section--cp_detail .cp_detail dd .cp_term{
    margin-bottom: 8px;
    font-size: 13px;
  }
  .section--cp_detail .cp_detail dd .cp_term .cp_target{
    width: 190px;
    margin: 0 auto 20px;
  }
  .section--cp_detail .cp_detail dd .cp_term .cp_target + p,
  .section--cp_detail .cp_detail dd .cp_term ol li{
    font-size: 15px;
  }
  .section--cp_detail .cp_detail .target_area p a{
    font-size: 13px;
  }
  .section--cp_detail .cp_detail .target_area p a:after{
    right: -14px;
    width: 10px;
    height: 10px;
  }
}
/*------------------------*/
/*section--after*/
/*------------------------*/
.section--after .after_step{
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}
.section--after .after_step .step{
  position: relative;
  width: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap:16px;
  background: #F0F8FC;
  border-radius: 6px;
  padding:24px 16px;
}
.section--after .after_step .step:nth-of-type(2){
  background: #E8F3FA;
}
.section--after .after_step .step:nth-of-type(3){
  background: #C3E2F5;
}
.section--after .after_step .step:nth-of-type(4){
  background: #A4D4F0;
}
.section--after .after_step .step:after{
  content: "";
  position: absolute;
  top:calc(50% - 13px);
  right: -35px;
  display: block;
  width: 15px;
  height: 27px;
}
.section--after .after_step .step:nth-of-type(1):after{
  background:url(/sol/contents/mypage/scp/img/friends/after_arrow01.svg)no-repeat left top;
  background-size: contain;
}
.section--after .after_step .step:nth-of-type(2):after{
  background:url(/sol/contents/mypage/scp/img/friends/after_arrow02.svg)no-repeat left top;
  background-size: contain;
}
.section--after .after_step .step:nth-of-type(3):after{
  background:url(/sol/contents/mypage/scp/img/friends/after_arrow03.svg)no-repeat left top;
  background-size: contain;
}
.section--after .after_step .step_detail{
  margin: 0 10px;
  color: #707070;
}
.section--after .after_step h3{
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 16px;
  line-height: 1;
}
.section--after .after_step p{
  font-size: 14px;
}
.section--after .after_step .step:nth-of-type(2) p{
  font-size: 13px;
  letter-spacing: -0.06em;
}
.section--after .balloon {
  position: relative;
  display: block;
  margin: 0 auto 16px;
  padding: 10px 20px;
  color: #ffffff;
  font-size: 17px;
  background: #F484B5;
  font-weight: bold;
  border-radius: 41px;
  max-width: 400px;
  text-align: center;
}
.section--after .balloon:before{	
  content: "";
  position: absolute;
  top: 100%;
  left: calc(50% - 3px);
  border: 6px solid transparent;
  border-top: 6px solid #F484B5;
}
.section--after .after_cheers .cheers_img{
  width: 322px;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .section--after .after_step{
    flex-direction: column;
    gap:45px;
    margin-bottom: 32px;
  }
  .section--after .after_step .step{
    width: 100%;
    flex-direction:row;
    align-items: center;
    gap:20px;
    padding:20px 12px 18px 18px;
  }
  .section--after .after_step .step:after{
    top:auto;
    right:auto;
    bottom:-34px;
    left: calc(50% - 7px);
    width: 14px;
    height: 24px;
    transform:rotate(90deg);  
  }
  .section--after .after_step .step .step_img{
    width: 34px;
    flex-shrink: 0;
  }
  .section--after .after_step h3{
    font-size: 15px;
    margin-bottom: 8px;
    text-align: left;
  }
  .section--after .after_step p{
    font-size: 13px;
  }
  .section--after .balloon {
    margin: 0 auto 8px;
    padding: 8px 20px;
    font-size: 14px;
    max-width: 190px;
    line-height: 1.4;
  }
  .section--after .after_cheers .cheers_img{
    width: 260px;
  }
}
/*------------------------*/
/*section--voice*/
/*------------------------*/
.section--voice{
  background: #F0F8FC;
  padding:40px 0 32px;
}
.section--voice .voice_list .voice{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}
.section--voice .voice_list .voice:not(:nth-of-type(2)){
  flex-direction: row-reverse;
}
.section--voice .voice_list .voice_detail{
  display: flex;
  justify-content: space-between;
}
.section--voice .voice_list .voice:nth-of-type(2) .voice_detail{
  justify-content: flex-end;
}
.section--voice .voice_list .voice .voice_icon{
  width: 120px;
  height: 120px;
}
.section--voice .voice_list .voice_detail {
  width: 86%;
}
.section--voice .voice_list .voice_detail p{
  position: relative;
  width: 97%;
  background: #ffffff;
  border-radius: 12px;
  padding:24px 28px;
  font-size: 16px;
  z-index: 1;
}
.section--voice .voice_list .voice_detail p:after {
  content: "";
  display: block;
  width: 32px;
  height: 16px;
  position: absolute;
  top:50%;
  right: -20px;
  background:url(/sol/contents/mypage/scp/img/friends/voice_fukidashi.svg)no-repeat left top;
  background-size: cover;
  flex-shrink: 0;
  z-index: -1;
}
.section--voice .voice_list .voice:nth-of-type(2) .voice_detail p:after {
  transform: scale(-1, 1);
  right: auto;
  left:-20px;
}
@media screen and (max-width: 640px) {
  .section--voice{
    padding:40px 0;
  }
  .section--voice .voice_list .voice{
    margin-bottom: 24px;
  }
  .section--voice .voice_list .voice .voice_icon{
    width: 73px;
    height: 73px;
  }
  .section--voice .voice_list .voice_detail {
    width:76%;
  }
  .section--voice .voice_list .voice_detail p{
    padding:18px;
    font-size: 13px;
  }
  .section--voice .voice_list .voice_detail p:after {
    top:40%;
    right: -12px;
  }
  .section--voice .voice_list .voice:nth-of-type(2) .voice_detail p:after {
    left:-12px;
  }
}
/*------------------------*/
/*section--qa*/
/*------------------------*/
.section--qa{
  margin-bottom: 56px;
}
.section--qa .qa_list dt,
.section--qa .qa_list dd{
  font-size: 16px;
  line-height: 2;
}
.section--qa .qa_list dt{
  position: relative;
  color:#68B7E6;
  padding-bottom: 8px;
  margin-bottom: 8px;
  border-bottom: 1px solid #68B7E6;
  padding-left:1.7em;
}
.section--qa .qa_list dt:before{
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  left:0;
  top:7px;
  background:url(/sol/contents/mypage/scp/img/friends/icon_q.svg)no-repeat left top;
  flex-shrink: 0;
}
.section--qa .qa_list dd:not(:last-of-type){
  margin-bottom: 32px;
}
@media screen and (max-width: 640px) {
  .section--qa .qa_list{
    font-size: 13px;
  }
  .section--qa .qa_list dt,
  .section--qa .qa_list dd{
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 0.1em;
  }
  .section--qa .qa_list dt{
    padding-bottom: 6px;
    margin-bottom: 6px;
    padding-left:1.8em;
  }
  .section--qa .qa_list dt:before{
    top:1px;
  }
  .section--qa .qa_list dd:not(:last-of-type){
    margin-bottom: 24px;
  }
}
/*------------------------*/
/*section--notes*/
/*------------------------*/
.section--notes{
  background: #F0F8FC;
  padding:40px 0 56px;
}
.section--notes .notes_content {
  font-size: 14px;
}
.section--notes .notes_list {
	margin-bottom: 24px;
}
.section--notes .notes_list:last-child {
	margin-bottom: 0;
}
.section--notes .notes_list li {
	text-indent: -1em;
	margin-left: 1em;
}
.section--notes + .btn_area {
  margin-bottom: 0;
}
@media screen and (max-width: 640px) {
  .section--notes{
    padding:40px 0;
  }
  .section--notes .notes_content {
    font-size: 12px;
    padding: 14px 0;
  }
}

/* accordion */
.accordion_list {
  display: flex;
  flex-direction: column;
  gap:16px;
}
.accordion_list .item{
  border-radius: 6px;
  background: #ffffff;
}
.accordion_list .item .accordion_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 20px;
}
.accordion_list .item .accordion_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 20px;
}
.accordion_list .item .accordion_header h3{
  font-weight: 700;
  font-size: 16px;
}
.accordion_list .item .accordion_header .icon {
  position: relative;
  flex: 0 0 auto;
  margin-left: 2em;    
  width: 24px;
  height: 24px;
}
.accordion_list .item .accordion_header .icon::before,
.accordion_list .item .accordion_header .icon::after {
  content: "";
  display: block;
  background-color: #68b7e6;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border-radius: 8px;    
  width: 16px;
  height: 3px;
  transition: .3s;
}
.accordion_list .item .accordion_header .icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
  transform: translate(-50%, -50%) rotate(-90deg);
}
.accordion_list .item .accordion_inner {
  display: none;
  padding: 0px 20px 20px;
  color:#A1A6A9;
  font-size: 13px;
}
.accordion_list .item .accordion_header.open .icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
  transform: translate(-50%, -50%) rotate(0deg);
}
@media only screen and (max-width: 640px) {
  .accordion_list {
    gap:10px;
  }
  .accordion_list .item .accordion_header {
    padding: 16px 12px;
  }  
  .accordion_list .item .accordion_header h3{
    font-size: 13px;
  }
  .accordion_list .item .accordion_header .icon::before,
  .accordion_list .item .accordion_header .icon::after {
    width: 13px;
  }  
  .accordion_list .item .accordion_inner {
    padding: 0 12px 16px;
    font-size: 12px;
  }
}
/*------------------------*/
/*popup*/
/*------------------------*/

/*--- common ---*/
.default_popup {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.8);
	opacity: 0;
	transition: all .3s linear;
	overflow: hidden;
	visibility: hidden;
	z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
}
.default_popup_inner{
  position: relative;
	width: 660px;
	height: auto;
	padding: 32px 30px;
	border-radius: 6px;
    /* animation */
	transform: translateY(10%);
	opacity: 0;
	transition: all 0.2s;
}
.default_popup_inner .popup_tit{
  font-size: 19px;
  font-weight: 700;
  margin-bottom: 16px;
}
.default_popup_inner .popup_text{
  font-size: 15px;
  margin-bottom: 16px;
}
.popup_close,
.mail_close {
  position: absolute;
  width: 22px;
  height: 22px;
  top:15px;
  right: 12px;
  cursor: pointer;
  background: none;
  margin-top: 0;
}
.popup_close::before,
.popup_close::after,
.mail_close::before,
.mail_close::after {
  content: '';
  position: absolute;
  top: 10px;
  left: 0;
  width: 22px;
  height: 1px;
  background: #ffffff;
}
.mail_close::before,
.mail_close::after {
  background: #495D69;
}
.popup_close::before,
.mail_close::before {
  transform: rotate(45deg);
}
.popup_close::after,
.mail_close::after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 640px) {
  .default_popup_inner {
    width: calc(100vw - 40px);
    margin:0 auto;
    padding: 32px 20px;
  }
  .default_popup_inner .popup_tit{
    font-size: 17px;
    margin-bottom: 20px;
  }
  .default_popup_inner .popup_text{
    font-size: 13px;
    margin-bottom: 20px;
  }
  .popup_close,
  .mail_close {
    top: 7px;
    right: 5px;
  }
  .popup_close::before,
  .popup_close::after,
  .mail_close::before,
  .mail_close::after{
    width: 18px;
  }
}

/*--- copy_popup ---*/
._resp_cp_popup {
	background: rgba(0, 0, 0, 0.8);
}
._resp_cp_popup._showing {
	opacity: 1;
	visibility: visible;
}
._resp_cp_popup_inner._showing {
	transform: translateY(0);
	opacity: 1;
}
._resp_cp_popup_inner .caution{
  margin-bottom: 8px;
}
._resp_cp_popup_inner .popup_text {
  color: #495D69;
  margin-bottom: 8px;
}
.mail_assist_contents .inner {
	display: block;
	width: 100%;
	height: 250px;
	margin-bottom: 10px;
	border: 1px solid #DDD;
  border-radius: 4px;
	resize: none;
	overflow-y: scroll;
  padding: 10px;
  font-size: 13px;
}
/*--- normal_popup ---*/
._resp_normal_popup._showing {
	opacity: 1;
	visibility: visible;
}
._resp_normal_popup_inner._showing {
	transform: translateY(0);
	opacity: 1;
}

/*--- line_popup ---*/
span.resp_cp_line {
	position: relative;
}
div._resp_cp_line_qr {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.7);
	opacity: 0;
  display: none;
	overflow: hidden;
	z-index: 5;
	transition: all .1s linear;
}
div._resp_cp_line_qr ._resp_cp_line_qr_inner {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
	width: 660px;
	height: 246px;
	padding: 20px !important;
	background: #fff !important;
	border: 1px solid #ccc;
	border-radius: 4px;
	z-index: 5;
  display:flex ;
  justify-content: space-between;
  align-items: center;
}
div._resp_cp_line_qr ._resp_cp_line_qr_inner ._img_holder {
	background: #fff !important;
	display: inline-block;
	min-width: auto !important;
}
div._resp_cp_line_qr ._resp_cp_line_qr_inner img {
	width: 200px;
}
div._resp_cp_line_qr ._resp_cp_line_qr_inner ._text {
	font-size: 14px !important;
	color: #444;
	text-align: left;
	width: 385px;
}
div._resp_cp_line_qr ._resp_cp_line_qr_inner .mail_close::before,
div._resp_cp_line_qr ._resp_cp_line_qr_inner .mail_close::after {
  background: #495D69;
}
div._resp_cp_line_qr._showing {
	opacity: 1;
	display: block;
}
#qrcode {
	display: none;
}
@media screen and (max-width: 640px) {
  div._resp_cp_line_qr {
    display: none;
  }
}