@charset "utf-8";
/**************common**************/
html{
	margin:0;
	padding:0;
	scroll-behavior: smooth;
}

*{
	box-sizing: border-box;
}
html, body, div, h1, p, blockquote, pre, 
ul, ol, li, dl, dt, dd,table, th, td, form, fieldset {
	margin: 0;
	padding: 0;
	line-height:1.4;
	font-family:Meiryo,"Hiragino Kaku Gothic ProN",sans-serif;
	box-sizing: border-box;
	font-size:14px;
	color:#555555;
	word-break: break-all;
}

a{
	color:inherit;
	text-decoration:none;
  	transition: all 0.2s linear;
}
i{margin-right:0.3rem;}
.clearfix{
	clear:both;
	width:100%;
}

body{
}
.headerarea-sp{
	display:none;
}

/*-------------------------------------
width margin系
-------------------------------------*/
.w10{
	width:10% !important;
}
.w15{
	width:15% !important;
}
.w20{
	width:20% !important;
}
.w25{
	width:25% !important;
}
.w30{
	width:30% !important;
}
.w35{
	width:35% !important;
}
.w40{
	width:40% !important;
}
.w45{
	width:45% !important;
}
.w50{
	width:50% !important;
}
.w55{
	width:55% !important;
}
.w60{
	width:60% !important;
}
.w65{
	width:65% !important;
}
.w70{
	width:70% !important;
}
.w75{
	width:75% !important;
}
.w80{
	width:80% !important;
}
.w85{
	width:85% !important;
}
.w90{
	width:90% !important;
}
.w95{
	width:95% !important;
}
.w100{
	width:100% !important;
}
.mr10{
margin-right:1.0rem !important;
}
.mr20{
margin-right:2.0rem !important;
}
.mr30{
margin-right:3.0rem !important;
}
.mr40{
margin-right:4.0rem !important;
}
.mr50{
margin-right:5.0rem !important;
}
.ml10{
margin-left:1.0rem !important;
}
.ml20{
margin-left:2.0rem !important;
}
.ml30{
margin-left:3.0rem !important;
}
.ml40{
margin-left:4.0rem !important;
}
.ml50{
margin-left:5.0rem !important;
}
.mb10{
    margin-bottom:1rem !important;
}
.mb20{
    margin-bottom:2rem !important;
}
.mb30{
    margin-bottom:3rem !important;
}
.mb40{
    margin-bottom:4rem !important;
}
.mb50{
    margin-bottom:5rem !important;
}

.mt10{
    margin-top:1rem !important;
}

.mt20{
    margin-top:2rem !important;
}

.mt30{
    margin-top:3rem !important;
}

.mt40{
    margin-top:4rem !important;
}

.mt50{
    margin-top:5rem !important;
}
.nmt10{
    margin-top:-1rem !important;
}

.nmt20{
    margin-top:-2rem !important;
}

.nmt30{
    margin-top:-3rem !important;
}

.nmt40{
    margin-top:-4rem !important;
}

.nmt50{
    margin-top:-5rem !important;
}
.nmt60{
    margin-top:-6rem !important;
}
.nmt70{
    margin-top:-7rem !important;
}
.nmt80{
    margin-top:-8rem !important;
}
.nmt90{
    margin-top:-9rem !important;
}
.nmt100{
    margin-top:-10rem !important;
}


.text-center{
	text-align:center !important;
}
.text-left{
	text-align:left !important;
}
.text-right{
	text-align:right !important;
}
.div-center{
	margin:0 auto !important;
}

.max-w50{
	max-width:50% !important;
}
.max-w80{
	max-width:80% !important;
}
.max-w90{
	max-width:90% !important;
}
.max-w100{
	max-width:100% !important;
}
.disp-b{
	display:block;
}
.disp-ib{
	display:inline-block;
}

.z10{
	z-index:10;
}
.z00{
	z-index:0;
}
.fs08{
	font-size:0.8rem !important;
}
.fs12{
	font-size:1.2rem !important;
}
.fs14{
	font-size:1.4rem !important;
}
.fs16{
	font-size:1.6rem !important;
}
.fs18{
	font-size:1.8rem !important;
}
.fs20{
	font-size:2.0rem !important;
}
.bold{
	font-weight:bold !important;
}

/**************color**************/
.keycolor01{
	color:#d94f98 !important;
}
.keycolor02{
	color:#21bcd7 !important;
}



/**************inputs**************/
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"]{
	outline: none;
	background: none;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-webkit-appearance: none;
	margin-top: 0.5rem;
	border:unset;
	border-bottom: 1px solid #ccc;
	padding: 0.5rem 1rem;
}
.p_count.w50{
padding: 0.4rem 0.5rem;
width: 5rem;
}
select{
	border:1px solid #ccc;
	border-radius:0;
	height:2.5em;
	padding:0.4rem 0.5rem;
	font-size:1.0rem;
    background: #fafafa;
}
textarea {
    border: 1px solid #ccc;
	border-radius:0;
	padding:0.4rem 1.0rem;
    font-size: 1.0rem;
    line-height: 1.5rem;
    font-family: "Meiryo",sans-serif;
}


a.btn3{
	padding:1.0rem;
	border-radius:0.5em;
	letter-spacing:0.1em;
	text-align:center;
	margin:0 auto;
}
a.btn3:hover{
	opacity:0.8;
	cursor:pointer;
}


input[type="submit"]{
	display: block;
	padding: 1rem;
	text-align: center;
	border: 1px solid #555555;
	margin: 0 0 0 0;
	transition: all 0.2s linear;
	cursor:pointer;
}

input[type="submit"]:hover{
	color: #ffffff;
	background-color: #555555;
	border-color: #555555;
}


/**************header top**************/

.headerarea{
	width:100%;
	position:fixed;
	background-color: RGBA(0,0,0,0.8);
	z-index:99;
}
.header{
	min-width:800px;
	max-width:1200px;
	position:relative;
	text-align:right;
	margin: 0 auto;
	padding:0.5rem 0rem;
}
.header .sitename{
	padding:1rem 1rem;
	position:absolute;
	top:50%;
	left:0;
	transform: translate(0, -50%);
	color:#ffffff;
}

.header .hmenu{
	display:inline-block;
	margin-right:1em;
}

.header .hmenu a{
	padding:1rem 1rem;
	color:#ffffff;
}
.header .hbtn{
    display: inline-block;
	padding:1rem 1rem;
}
.header .hmenu a:hover{
	border-bottom: 1px solid #e06a9c;
	opacity:0.7;
}

.header .hbtn a{
	padding:0.5rem 1rem;
	background-color: #21bcd7;
	border: 1px solid #21bcd7;
	border-radius: 0.5rem;
	color:#ffffff;
}
.header .hbtn a:hover{
	background-color: unset;
	border: 1px solid #21bcd7;
	color:#21bcd7;
}
.topimg{
	width:100%;
	height:40vw;
	min-height:600px;
	background:url(../img/slider003.jpg) center center;
	background-repeat:no-repeat;
	background-size: cover;
	position:relative;
}
.topimg::after {
	content: '';
	background-color: rgba(255,88,124,0.82);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-image: url(../img/dot01.png);
}
.topcont{
	z-index: 1;
	position: absolute;
	top: 15rem;
	width:100%;
	text-align: center;
}
.topcont .logo{
	width:100%;
	max-width:180px;
	margin-bottom:2rem;
}
.topcont img{
	width:80%;
}


.caption{
	color:#ffffff;
	margin-bottom:2rem;
	font-size: 1.2rem;
	line-height: 1.8rem;
}
.caption i{
	margin-left:0.5rem;
}

.topimg .btnarea{
	width:100%;
}
.topimg .entbtn{
	display:inline-block;
	background-color: #21bcd7;
	border: 1px solid #21bcd7;
	border-radius: 0.5rem;
	color:#ffffff;
	margin-right:0.5rem;
}
.topimg .morebtn{
	display:inline-block;
	border-radius: 0.5rem;
	color:#ffffff;
	background-color: RGBA(0,0,0,0.5);
	margin-left:0.5rem;
}
.topimg .entbtn a ,.topimg .morebtn a{
	display:block;
	padding:0.5rem 2rem;
}

.topimg .entbtn:hover ,.topimg .morebtn:hover{
	opacity:0.7;
}

/**************content**************/


.spbr{
	display:none;
}
.pcbr{
	display:inline;
}

.content{
	max-width:1200px;
	margin:0 auto;
	padding:5rem 0 5rem 0;
}
.fwcontent{
	width:100%;
	padding:5rem 0 3rem 0;
	margin:0 auto;
}
.area-title {
	text-align: center;
	color: #d94f98;
	line-height: 1.2rem;
	margin-bottom:3rem;
}

.bottom-line{
	border-bottom: 1px dotted #d94f98;
	padding-bottom: 1rem;
}

.area-title div{
	display:inline-block;
	vertical-align: middle;
	font-size: 2.0rem;
	font-weight: bold;
    color: #d94f98;
}
.bg01{
	background:url(../img/back.png);
}

.discription{
	text-align:center;
	font-size:1.2rem;
	line-height: 2.2rem;
}

.cont3area{
	width:100%;
	text-align:center;
	padding:5rem 0;
}

.cont3{
	width:30%;
	margin:0 1%;
	display:inline-block;
	vertical-align: top;
}
.cont-icon i{
	margin:0 auto;
	font-size:5rem;
	color:#555555;
	background-color:#f8f8f8;
	border-radius:50%;
	padding:2rem;
}
.sup{
	padding:2rem 3rem !important;
}
.cont-title{
	padding: 2rem 0;
	font-size: 1.2rem;
	font-weight: bold;
}

.cont-text{
	padding: 0rem 2rem;
	font-size:0.9rem;
	line-height: 1.5rem;
}
.entrybtn{
	text-align:center;
}
.entrybtn a{
	background-color:#21bcd7;
	border:1px solid #21bcd7;
	color:#ffffff;
	padding: 1rem 3rem;
	border-radius: 0.4rem;
}
.entrybtn a:hover{
	background-color:unset;
	border:1px solid #21bcd7;
	color:#21bcd7;

}


.cont-block{
	max-width:1200px;
	margin:0 auto;
}

.cont64area{
	width:100%;
	text-align:center;
	padding:5rem 0;
}

.cont6{
	width:58%;
	margin:0 1%;
	display:inline-block;
	vertical-align: top;
	text-align:left;
	padding-left: 2rem;
}
.list-block{
	position:relative;
	padding-left:4rem;
	margin-bottom:3rem;
}

.cont4{
	width:37%;
	margin:0 1%;
	display:inline-block;
	vertical-align: top;
}

.cont4 img{
	width:80%;
}
.list-icon{
	width:5rem;
	height:5rem;
	margin:0;
	padding:1rem;
	border-radius:50%;
	background-color:#ffd8ed;
	text-align:center;
	display:inline-block;
	position: absolute;
	top: 0;
	left: 0;
}
.list-icon i{
	font-size:3rem;
}
.list-txtarea{
	width:100%;
	padding-left:3rem;
}
.list-title{
	font-size:1.6rem;
	font-weight:bold;
	overflow:hidden;
	margin-bottom:1.0rem;
}
.list-txt{
	overflow:hidden;
	line-height:1.8rem;

}
.bigword{
	font-size:2.0rem;
	font-weight:bold;
}
.bg02{
	position:relative;
}

.bg02::before {
	content: '';
	background:url(../img/bg0002.jpg) center center;
	background-repeat:no-repeat;
	background-size: cover;
	background-attachment: fixed;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	z-index: -1;
}
.bg02::after {
	content: '';
	background-color: rgba(255,255,255,0.82);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-image: url(../img/dot01.png);
}
.fwcontz{
	position:relative;
	z-index:10;
	padding-bottom:5rem;
}

.youkenarea{
	margin-top:3rem;
	margin-bottom:5rem;
	text-align:center;
}
.youkenlist{
	width:20%;
	margin:0 1%;
	display:inline-block;
}
.youkenicon i{
	margin:0 auto;
	font-size:4rem;
	color:#555555;
	background-color:#f8f8f8;
	border-radius:50%;
	padding:2rem;
	margin-bottom:2rem;
}
.youkentext{
	text-align:text;
	font-size:1.2rem;
	font-weight:bold;
}

/* 登録フロー */
.content iframe.child-iframe,.content .iframeBox{
width:100%;
max-width:800px;
margin:0 auto;
}
.content .iframeBox{
    padding: 0 1em;
    text-align: left;
}

/*-------------------------------------
レスポンシブ対応ここから
-------------------------------------*/
@media (max-width: 768px) {

.spbr{
	display:inline;
}
.pcbr{
	display:none;
}
.headerarea{
	display:none !important;
}
.header{
	display:none !important;
}
.header .hmenu{
	display:none;
}

.headerarea-sp{
	width:100%;
	position:fixed;
	background-color: RGBA(0,0,0,0.8);
	z-index:99;
	display:block;
}
.header-sp{
	width:100%;
	position:relative;
	margin: 0 auto;
	padding:0.5rem 0rem;
}
.header-sp .sitename{
	display:inline-block;
	padding:0.5rem;
	color:#ffffff;
}
.header-bar-menu-icon {
	position: fixed;
	right: 0;
	z-index: 10;
	padding: 1.0rem 1.0rem;
	color: #555555;
	top: 0;
	font-size: 1.4rem;
	line-height: 1;
	color: #ffffff;
	transition-property:none !important;
	transition: none !important;
    animation: none !important;
    transform: none !important;

}
.header-bar-menu-icon{
	transition: none !important;
	animation: none !important;
	transform: none !important;
}

.topimg {
	width: 100%;
	height: 95vh;
	min-height: unset;
	background: url(../img/slider003-sp.jpg) center center;
	background-size: cover;
}
.topcont {
	z-index: 1;
	position: absolute;
	top: 25%;
	width: 100%;
	text-align: center;
}
.topimg .entbtn{
	margin-right:0;
}
.topimg .morebtn{
	margin-left: 0;
	margin-top:2.0rem;
}
.topimg .entbtn a,.topimg .morebtn a{
	width:75vw;
	display: block;
	padding: 1.0rem 2rem;
	max-width:480px;
}

.content{
	width:100%;
}
/* CAST説明 */
.discription{
	width:100%;
	padding: 0 2.0rem;
}
.fs14.keycolor01{
	font-size:1.6rem !important;
}
.cont3area {
	padding: 5rem 0 0;
}
.cont3 {
	width: calc(100% - 4.0rem);
	margin: 0 2.0rem 4.0rem;
	display: inline-block;
	vertical-align: top;
	border-bottom:1px solid #eeeeee;
	padding-bottom: 2.0rem;
}
.cont-icon i {
	margin: 0 auto;
	font-size: 8rem;
	color: #555555;
	background-color: #f8f8f8;
	border-radius: 50%;
	padding: 2rem;
}
.cont-text{
	text-align:left;
}
.entrybtn a {
	padding: 1rem 1rem;
	font-size:1.6rem;
	display:inline-block;
	width:calc(100% - 4.0rem);
	text-align:center;
}

/* 特徴 */
.fwcontent {
	width: 100%;
	padding: 5rem 0 5rem 0;
	margin: 0 auto;
}
.cont64area {
	width: 100%;
	text-align: center;
	padding: 0;
	
}
.cont4 {
	width: 50%;
	margin: 0 auto 3.0rem;
	display:inline-block;
}
.cont6 {
	width: 100%;
	margin: 0 auto;
	display: inline-block;
	text-align: left;
	padding-left: 0;
}
.list-block {
	padding-left: 0;
	padding-top:10rem;
	width:calc(100% - 4.0rem);
	margin:0 auto 3.0rem;
}
.list-icon {
	width: 8rem;
	height: 8rem;
	margin: 0;
	padding: 1.5rem;
	border-radius: 50%;
	background-color: #ffd8ed;
	text-align: center;
	display: inline-block;
	position: absolute;
	top: 1rem;
	left:calc(50% - 4rem);
	text-align:center;
}
.list-icon i {
	font-size: 5rem;
	margin-right:0 !important;
}
.list-txtarea {
	padding-left: 0rem;
}
.list-title {
	font-size: 1.6rem;
	font-weight: bold;
	text-align:center;
	margin: 1.0rem auto;
}
.list-txt {
	overflow: unset;
	line-height: 1.8rem;
	padding:0 1.0rem 1.0rem;
}

/* 要件 */
.youkenarea {
	width:calc(100% - 4.0rem);
	margin:3.0rem auto 5.0rem;
	font-size: 0;
}
.youkenlist {
	width: 48%;
	margin: 0 0 3.0rem;
	display: inline-block;
}
.youkenarea .youkenlist:nth-child(even){
	margin: 0 0 3.0rem 4%;
}
.youkenarea .youkenlist:nth-child(n+3){
	margin-bottom: 0;
}
.youkenicon i{
	width: 8rem;
	height: 8rem;
	margin-bottom: 0.5rem;
}

/* FLOW */
.fwcontz {
    padding-bottom: 0;
}
.steparea {
	width: calc(100% - 4.0rem) !important;
	min-width: unset !important;
	margin: 0 auto !important;
	text-align: center !important;
	margin: 2rem 2.0rem 5rem !important;
}

/* FOOTER */
.footer {
	padding: 1rem 0 !important;
}


}/* max-width 768px */

@media (max-width: 576px){
.discription{
	width:100%;
	padding: 0 2.0rem;
	text-align:justify;
}


.steptxtarea {
	width: 100% !important;
}
.step-title {
	font-size: 1.4rem !important;
	text-align:center;
	margin:0 auto 0.5rem;
}


/* ENTRYコンテンツ */
.content iframe.child-iframe,.content .iframeBox{
	width:calc(100% - 4.0rem) !important;
	margin:0 auto;
	max-width:unset;
}


}/* max-width 576px */



/*---------------------------------
 フォーム
---------------------------------- */
.fromlistarea{
	width:100%;
	margin-bottom:2rem;
	border-bottom: 1px dotted #d94f98;
	padding-bottom:1rem;
}
.formlist-left{
	display:inline-block;
	width:30%;
	padding:1rem 1rem;
	vertical-align:top;
}
.formlist-right{
	display:inline-block;
	width:68%;
}

.formrightbox input,.formrightbox select{
padding: 0.5rem;
}
.formrightbox .smallinput,.formrightbox .smallselect{
width:4.5rem;
}
.formrightbox .largeinput{
max-width:90%;
}

/* ラジオボタンは非表示にする */
input[type=checkbox],input[type=radio] {
  display: none; 
}
/* チェックされた時のスタイル */
input[type="checkbox"]:checked + label,input[type="radio"]:checked + label{
  background: #d94f98;
  color: #FFF; 
  background-image: url("../img/rdo2.png");
  background-repeat: no-repeat;
}
/* マウスオーバーしたときのスタイル */
.label:hover {
}
/* lableのスタイル */
.label {
width:initial;
color: #333333;
border: #d94f98 solid 1px;
display: inline-block;
line-height: 45px;
padding-left: 3.0rem;
padding-right: 2.0rem;
cursor: pointer;
background-image: url(../img/rdo1.png);
background-repeat: no-repeat;
margin: 0 1.0rem 0.5rem 0;
background-color: ##d94f98;
}
.label.kiyakuchk{
margin:1.0rem 0 0;
}

.bt20{
	margin:2.0rem 0 0;
}
@media screen and (max-width:640px){
.formlist-left {
	display: inline-block;
	width: 100%;
	padding: 0 0 1.0rem;
	vertical-align: top;
	font-size: 1.0rem;
}
.formlist-right {
	display: inline-block;
	width: 100%;
}
.label {
	width:initial;
	color: #333333;
	border: #d94f98 solid 1px;
	display: inline-block;
	line-height: 45px;
	padding-left: 3.0rem;
	padding-right: 2.0rem;
	cursor: pointer;
	background-image: url(../img/rdo1.png);
	background-repeat: no-repeat;
	margin: 0 1.0rem 0.5rem 0;
	background-color: transparent;
}

.type-one{
	width:100%;
}
.type-two{
	width:40%;
}
.type-three{
	width:25%;
}
}
/* 確認画面 */
#formWrap{
    text-align: left;
}
.error_messe{
    color:#d94f98;
}