@charset "utf-8";
body {
	font-size:16px;
	margin:0 auto;
	padding:0;
}

*{
	padding:0;
	margin:0;
}

img{ width:100%; }

.PC { display: none !important; }
.SP { display: block !important; }

/***************************************
		header
***************************************/
header{
	width: 100%;
	margin:0 auto;
	padding: 2% 0;
	border-bottom: 1px solid #dddddd;
}

header h1{
	width: 80%;
	margin-left: 2%;
}

/***************************************
		contents
***************************************/
#wrapper {
	width:100% !important;
	overflow: hidden;
}

#main_visual{
	width: 100%;
	margin: 0 auto;
}

#main_visual p{
	text-align: center;
	margin-bottom: 5%;
}
#main_visual p:last-child{ margin-bottom: 0; }

#introduction{
	width: 100%;
	margin: 0 auto;
	padding: 5% 0;
	background: url("../images/intr_bk230901_sp.png") repeat-x;
	position: relative;
}

/*#introduction::before{
	content: url("../images/intr_icn.svg");
	display: inline-block;
	position: absolute;
	top: -15%;
	left: -2%;
	scale: 0.5;
}*/

#introduction .inner{
	width: 94%;
	margin: 0 auto;
}

#introduction .inner p{
	font-family: 'Yu Mincho',sans-serif;
	font-size: 15px;
	font-weight: bold;
	margin-bottom: 5%;
	text-align: center;
	color: #fff;
}

.introduction-yume{
	width: 90%;
	margin: 10% auto 0 auto;
}

#item{
	width: 100%;
	margin: 0 auto;
	padding: 5% 0 10% 0;
	background: url("../images/item_bk.png") repeat;
}

#item .inner{
	width: 94%;
	margin: 0 auto;
}

.present{
	width:100%;
	margin:10% auto 0 auto; 
}

.present-btn-flex{
	width:100%;
	margin:5% auto 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.present-btn{
	width:40%;
	margin-right: 5%;
}
.present-btn:last-child{ margin-right: 0; }

.present-btn a{
	padding: 8% 0;
	display:block;
	border: 2px solid #fff;
	border-radius: 20px;
	font-size: 14px;
	color: #fff;
	text-align: center;
}

.oubo{
	width: 100%;
	margin:15% auto 0 auto;
}

/*#oubo{
	width: 80%;
	margin:5% auto;
}*/

#about{
	width:98%;
	margin:10% auto;
}

#about h2{
	width: 70%;
	margin: 0 auto;
	padding: 4% 0;
	font-size: 18px;
	font-weight: 900;
	color: #fff;
	text-align: center;
	background: #000;
	border-radius: 32px;
}

.about_content{
	width:98%;
	margin:5% auto;
	line-height:160%;
}

h3.about_tit{
	width:98%;
	font-size: 1.1em;
	font-weight: 900;
	color: #445C8C;
	background:#CFF4FF;
	border-left: 6px solid #445C8C;
	padding: 2% 0 2% 1%;
	margin-bottom:15px;
	text-align: left;
}

.about_box{
	width:96%;
	margin:3% auto 5% auto;
	padding:2%;
	background-color:#F5F2D1;
}

.about_box p{ margin-bottom:3%; }

#sub-contents{
	width:98%;
	margin:5% auto;
}

.line{
	width:100%;
	margin:15px auto;
	text-align:center;
}
.map{
	width:100%;
	margin:15px auto;
	text-align:center;
	border:1px solid #CCC;
}



/***************************************
		line pre ver
****************************************/
#line-contents{
	width: 100%;
	margin: 0 auto 10% auto;
	padding-bottom: 8%;
	background: linear-gradient(180deg, #88ba55 90%, #fff 100%);
}

#line-contents .inner{
	width: 90%;
	margin: 0 auto;
	padding: 10% 5% 25% 5%;
	background: #fff;
}

.line-contents_about{
	margin: 0 auto 5%;
	text-align: center;
	line-height: 180%;
	font-size: 1rem;
}

.line-contents_about > h2{
	margin: 0 auto 5% auto;
	text-align: center;
	font-size: 1rem;
	font-weight: normal;
}
.line-contents_about > h2 span{ 
	font-size: 1.5rem;
	font-weight: 900;
	background: linear-gradient(transparent 80% , yellow 70%);
}

.line-contents_about > p span{ 
	font-size: 1.5rem;
	font-weight: 900;
}

#line-contents .inner .line-contents_img{
	margin: 0 auto 5% auto;
	text-align: center
}

.line-contents_oubo{
	width: 90%;
	margin: 0 auto;
	padding: 10% 5% 5% 5%;
	background: #e7f0dd;
	position: relative;
}
.line-contents_oubo::before{
	content: url("../images/oubo-flow_tit.png");
  	display: inline-block;
  	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%,-50%) scale(0.8);
}

.line-contents_oubo_step{
	width: 100%;
	margin: 8% auto;
}

.line-contents_oubo_step p{
	margin: 5% auto 0 auto;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 900;
	line-height: 140%;
}

.line-contents_oubo_step p > a{
	color: #404040 !important;
	text-decoration:underline !important;
}

.line-contents_oubo_step_flex{
	width: 100%;
	margin: 0 auto 8% auto;
}
.oubo_step_left{ 
	width: 100%;
	margin: 5% auto 0 auto;
	text-align: center;
}
.oubo_step_right{ 
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.oubo_step_right p{ 
	margin-top: 5%;
	font-size: 1.2rem;
	line-height: 140%;
	font-weight: 900;
}
.oubo_step_right p > span{ 
	font-size: 0.9rem;
	font-weight: normal;
}

.line-contents_oubo_img{
	width: 100%;
	margin: 10% auto 0 auto;
}

.oubo-end_box { 
	width: 100%;
	margin: 5% auto 0 auto;
}
.oubo-end_box p{
	font-size: 0.7rem;
	line-height: 160%;
	color: #088f4a;
}

#line-contents .inner-end{
	width: 90%;
	margin: 0 auto;
	padding: 10%;
	background: #fff;
	text-align: center;
}

.line-privacy{
	margin: 0 auto;
	text-align: center;
	font-size: 1.3rem;
	font-weight: 900;
	line-height: 160%;
}

.line-privacy > a{
	color: #000 !important;
	text-decoration:underline !important;
}

.inner-end_img01{
	width: 100%;
	margin: 10% auto 0 auto;
}

.inner-end_img02{
	width: 100%;
	margin: 5% auto 0 auto;
}

#line-yume{
	width: 100%;
	margin: 0 auto;
	padding: 10% 0;
}

.line-yume_flex{
	width: 90%;
	margin: 0 auto 5% auto;
}

.line-yume_flex p{ 
	width: 80%;
	margin: 0 auto 5% auto;
 }
.line-yume_txt{
	width: 90%;
	margin: 0 auto;
	font-size: 0.8rem;
	line-height: 160%;
}



/***************************************
		form
***************************************/
#form{
	width: 100%;
	margin: 0 auto;
}

.form-oubo{ 
	width: 94%;
	margin: 0 auto;
}

#form h2{
	width: 70%;
	margin: 0 auto;
	padding: 4% 0;
	font-size: 18px;
	font-weight: 900;
	color: #fff;
	text-align: center;
	background: #000;
	border-radius: 32px;
}

.form-wrap{
	width:96%;
	margin:5% auto 0 auto;
	padding-bottom: 1%;
	background:#FFF;
}




.form-sec{
	width: 90%;
	margin: 3% auto;
	padding: 2% 0 2% 2%;
}

.fs-left,.fs-left02{
	width:100%;
	margin-bottom:2%;
	font-size:1.1em;
	font-weight:900;
	color:#000;
	font-family:"Hiragino Maru Gothic ProN W4", sans-serif;
}

.fs-left::before{
	content:'必須';
	display: inline-block;
	width:40px;
	margin-right:3%;
	padding: 2% 0;
	font-size:0.7em;
	font-weight:900;
	text-align: center;
	color:#FFF;
	background:#4AA34A;
	border-radius:8px;
	vertical-align:middle;
}

.fs-left02::before{
	content:'任意';
	display: inline-block;
	width:40px;
	margin-right:3%;
	padding: 2% 0;
	font-size:0.7em;
	font-weight:900;
	text-align: center;
	color:#FFF;
	background:#ACACAC;
	border-radius:8px;
	vertical-align:middle;
}

.fs-right{
	width:100%;
	margin:0 auto;
}

.fs-right ul{ 
	margin-top: 3%;
	display: flex;
}

.fs-right ul li{ 
	margin: 0 8% 0 0;
	line-height: 0;
}

.form-sec-foot{
	width:94%;
	margin:0 auto;
	padding:0;
}

.form-sec-foot p{
	width:90%;
	margin:0 auto;
	font-size:0.8em;
	color:#000;
	line-height:1.8em;
	text-align:left;
}

.fsf{ color:#4AA34A !important; }

input{
	max-width:100%;
	height:40px;
	background:#FFFFE4;
	/*padding: 2% 0 2% 2%;*/
	border-radius: 8px;
}

input[type="date"] {
	/*padding: 2% 0 2% 2%;*/
	height:40px;
	color:#000;
	border-radius: 8px;
}

input[type="text"] {
	width:100% !important;
	height:40px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	/*padding: 2% 0 2% 2%;*/
	border-radius: 8px;
}

input[type="tel"] {
	width:100% !important;
	height:40px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	/*padding: 2% 0 2% 2%;*/
	border-radius: 8px;
}

input[type="email"] {
	width:100% !important;
	height:40px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	/*padding: 2% 0 2% 2%;*/
	border-radius: 8px;
}

select{ 
	color:#000;
	height:40px;
}
.sl-width{ width: 100px; }

textarea {
    width: 100% !important;
    height: 100px !important;
	border-radius: 8px;
}

.form-wrap table{
	width:100%;
	margin:0 auto;
	border:none !important;
}

.form-wrap th{
	width: 97%;
	display: inline-block;
	padding: 0 0 2% 3%;
	vertical-align: middle;
	text-align: left;
	font-size: 14px;
	font-weight: 900;
}

.form-wrap td{
	width: 97%;
	display: inline-block;
	margin-bottom: 5%;
	padding: 0 0 0 3%;
	font-size: 14px;
}

.bg{ background:#F3F3F3; }

.bno{ border: none !important; }

.button02 {
	display: inline-block !important;
	font-size : 18px !important;
	font-weight: 900;
	text-align: center !important;
	cursor: pointer !important;
	padding: 5% 17% 5% 5% !important;
	background: #DA1E79 !important;
	color: #ffffff !important;
	line-height: 1em !important;
	transition: .3s !important;
	border: 2px solid #DA1E79 !important;
	position:relative;
}

.button02::after{
	content:url("../images/button02_icn.png");
	display: inline-block;
	position: absolute;
    top: 27%;
    right: 5%;
}

.button02:hover {
	opacity: 0.6;
}

.b-span{
	margin-right:15px;
	padding:5px 8px;
	background:#FFF;
	font-size: 22px;
	font-weight: 900;
	color: #DA1E79;
	border-radius: 4px;
}

.form-end{
	width: 90%;
	margin: 15px auto;
	font-size: 14px;
	text-align: center;
	line-height: 180%;
}

.form-end > a:link{
	color:#01A73C;
	text-decoration: underline;
}

.guid{
	width: 90%;
	margin: 5% auto;
	padding: 4% 0;
	border: solid 1px #CCC;
	background: #FFF;
	text-align: center;
	font-size: 0.8em;
}

.guid a{ color:#690 !important; }


/***************************************
		thanks
***************************************/
#thanks_contents{
	width:80%;
	margin:10% auto;
	padding:10% 5%;
	background: #fffced;
	border-radius: 18px;
}

.thanks_box{
	width:96%;
	margin: 0 auto;
}

.thanks_box p{
	line-height: 180%;
    text-align: center;
}

.thanks-txt > h3{
	width:96%;
	margin: 5% auto !important;
	text-align: center;
	color: #f00;
	font-size: 1.8em;
	font-weight: 900;	
}

.thanks-txt{
	width:90%;
	margin:5% auto;
}

.thanks-txt p{
	line-height: 180%;
	text-align: left;
	margin-bottom: 10px;
}

.thanks-img{
	width:50%;
	margin:0 auto;
}




/***************************************
		footer
***************************************/
footer {
	width:100%;
	margin:0 auto;
	padding:5% 0;
    background:#333;
	text-align:center;
}

#footer_wrapper {
	width:90%;
	margin:0 auto;
	text-align:center;
	color:#FFF;
	line-height: 180%;
}

.copy {
	color:#fff;
	font-size:12px;
	text-align:center;
}

.address {
	color:#fff;
	font-size:12px;
	text-align:center;
}

footer a {
	color:#fff;
	text-decoration:none;
}


/***************************************
　　　　　　protocol
***************************************/
#protocol{
	width: 94%;
	margin: 10% auto;
}

h1.h1-tit{
	margin: 0 auto 5% auto;
	padding:0 0 3% 0;
	text-align:center;
	font-size: 20px;
	font-weight: bold;
	border-bottom: 2px solid #dd0c78;
}

.protocol-day{
	margin-bottom: 10%;
	text-align: right;
}

.protocol-inner{
	width: 94%;
	margin: 0 auto;
}

.protocol-inner p{
	margin-bottom: 5%;
	font-size: 16px;
	line-height: 180%;
}

h2.h2-protocol{
	margin: 10% auto 5% auto;
	text-align: left;
	font-size: 20px;
	font-weight: bold;
	color: #dd0c78;
	border-bottom: 2px solid #dd0c78;
}

ol.protocol-list{
	margin:10% 0 10% 5%;
	padding-left: 5%;
}

ol.protocol-list li{
	margin-bottom:5%;
	font-size: 15px;
	line-height: 160%;
	list-style-type: decimal;
}

.protocol-inner a{
	text-decoration: none;
	color: rgb(55, 119, 192) !important;
}