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

img {
    line-height:0;
    vertical-align:top;
}

#wrapper {
	width:640px;
	margin:0 auto;
	background: #fff;
}

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


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

header h1{
	width: 391px;
	height: 45px;
	margin-left: 15px;
}

/***************************************
		contents
***************************************/
#wrapper {
	width:750px;
	margin: 0 auto;
	overflow: hidden;
}

#main_visual{
	width: 750px;
	margin: 0 auto;
}

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

#introduction{
	width: 750px;
	margin: 0 auto;
	padding: 50px 0;
	background: url("../images/intr_bk230901.png") repeat-x;
	position: relative;
}

/*#introduction::before{
	content: url("../images/intr_icn.svg");
	display: inline-block;
	position: absolute;
	top: -50px;
	left: 20px;
}*/

#introduction .inner{
	width: 640px;
	margin: 0 auto;
}

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

.introduction-yume{
	width: 403px;
	margin: 50px auto 0 auto;
}

#item{
	width: 750px;
	margin: 0 auto;
	padding: 20px 0 50px 0;
	background: url("../images/item_bk.png") repeat;
}

#item .inner{
	width: 640px;
	margin: 0 auto;
}

.present{
	width:640px;
	margin:70px auto 0 auto;
}
.present:first-child{ margin-top: 30px; }

.present-btn-flex{
	width:640px;
	margin:25px auto 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.present-btn{
	width:250px;
	margin-right: 25px;
}
.present-btn:last-child{ margin-right: 0; }

.present-btn a{ 
	padding: 15px 0;
	border: 2px solid #fff;
	border-radius: 24px;
	font-size: 18px;
	color: #fff;
	text-align: center;
	cursor: pointer;
	display: block;
}

.present-btn a:link{
	color: #fff;
	text-decoration: none;;
}

.present-btn a:hover{
	color: #a50027;
	background: #fff;
}

.oubo{
	width: 566px;
	margin:80px auto 35px auto;
}

/*#oubo{
	width: 390px;
	margin:35px auto;
}*/

#about{
	width:640px;
	margin:30px auto;
}

#about h2{
	width: 300px;
	margin: 0 auto;
	padding: 15px 0;
	font-family: 'Hiragino Maru Gothic ProN W4',sans-serif;
	font-size: 22px;
	color: #fff;
	text-align: center;
	background: #000;
	border-radius: 32px;
}

.about_content{
	width:640px;
	margin:25px auto;
	line-height:160%;
}

h3.about_tit{
	width:640px;
	font-size: 18px;
	font-weight: 900;
	color: #445C8C;
	background:#CFF4FF;
	border-left: 6px solid #445C8C;
	padding: 10px 0px 10px 5px;
	margin-bottom:15px;
	text-align: left;
}

.about_box{
	width:620px;
	margin:15px auto 30px auto;
	padding:10px;
	background-color:#F5F2D1;
}

.about_box p{ margin-bottom:15px; }

#sub-contents{
	width:656px;
	margin:35px auto;
}

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



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

#line-contents .inner{
	width: 650px;
	margin: 0 auto;
	padding: 50px 50px 130px 50px;
	background: #fff;
}

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

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

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

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

.line-contents_oubo{
	width: 650px;
	margin: 0 auto;
	padding: 50px;
	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%);
}

.line-contents_oubo_step{
	width: 515px;
	margin: 50px auto;
}

.line-contents_oubo_step p{
	margin: 25px auto 0 auto;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 900;
}

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

.line-contents_oubo_step_flex{
	width: 520px;
	margin: 0 auto 50px auto;
	display: flex;
}
.oubo_step_left{ margin-right: 10px; }
.oubo_step_right{ width: 240px; }
.oubo_step_right p{ 
	margin-top: 15px;
	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: 515px;
	margin: 50px auto 0 auto;
}

.oubo-end_box { 
	width: 515px;
	margin: 15px auto 0 auto;
}
.oubo-end_box p{
	font-size: 0.8rem;
	line-height: 160%;
	color: #088f4a;
}

#line-contents .inner-end{
	width: 650px;
	margin: 0 auto;
	padding: 50px;
	background: #fff;
	text-align: center;
}

.line-privacy{
	margin: 0 auto;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 900;
}

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

.inner-end_img01{
	width: 332px;
	margin: 50px auto 0 auto;
}
.inner-end_img02{
	width: 544px;
	margin: 15px auto 0 auto;
}

#line-yume{
	width: 750px;
	margin: 0 auto;
	padding: 50px 0;
}

.line-yume_flex{
	width: 520px;
	margin: 0 auto 25px auto;
	display: flex;
	justify-content: space-between;
}

.line-yume_flex p{ flex-shrink: 0; }
.line-yume_txt{
	width: 520px;
	margin: 25px auto 0 auto;
	font-size: 0.8rem;
	line-height: 160%;
}


/***************************************
		form
***************************************/
#form{
	width: 640px;
	margin: 80px auto 0 auto;
}

.form-oubo{ 
	width: 600px;
	margin: 0 auto;
}

#form h2{
	width: 300px;
	margin: 0 auto;
	padding: 15px 0;
	font-family: 'Hiragino Maru Gothic ProN W4',sans-serif;
	font-size: 22px;
	color: #fff;
	text-align: center;
	background: #000;
	border-radius: 32px;
}

.form-wrap{
	width:640px;
	margin:15px auto;
	padding-bottom: 10px;
	background:#FFF;
}

.form-wrap h3{
	margin: 0 auto;
	padding:15px 0;
	background:#F4F9E9;
	font-size:22px;
	font-weight:900;
	text-align:center;
}

.form-sec{ display:flex; }

.fs-left,.fs-left02{
	width:200px;
	padding:25px 0 25px 20px;
	background:#f0ffff;
	font-size:15px;
	color:#000;
	font-family:"Hiragino Maru Gothic ProN W4", sans-serif;
	border-bottom:2px solid #E1E1E1;
}

.fs-left span{
	padding-left:45px;
	font-size:12px;
	font-weight:100;
}

.fs-left::before{
	content:'必須';
	display: inline-block;
	width:40px;
	margin-right:5px;
	padding: 5px 0;
	font-size:12px;
	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:5px;
	padding: 5px 0;
	font-size:12px;
	font-weight:900;
	text-align: center;
	color:#FFF;
	background:#ACACAC;
	border-radius:8px;
	vertical-align:middle;
}

.fs-right{
	width:440px;
	padding:25px 0 25px 25px;
	background:#FFF;
	border-bottom:2px solid #E1E1E1;
}

.fs-right ul{ margin-top: 10px; }

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

input{
	padding:0 0 0 5px;
	background:#FFFFE4;
	border-radius:12px;
}

input[type="tel"] {
	width:100% !important;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

input[type="email"] {
	width:100% !important;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

select{ color:#000; }
.sl-width{ width: 150px; }

textarea {
    width: 400px !important;
    height: 150px !important;
	border-radius:12px;
}

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

.form-wrap th{
	width:130px;
	padding:10px 0 10px 5px;
	background:#F4F3E1;
	border-bottom:solid #DDD;
	border-width:0 0 1px 0;
	vertical-align:middle;
	text-align:left;
	font-size: 14px;
}

.form-wrap td{
	width:400px;
	padding:10px 0 10px 5px;
	border-bottom:solid #DDD;
	border-width:0 0 1px 0;
	font-size: 14px;
}

.bno{ border: none !important; }

.button02 {
	display: inline-block !important;
	font-size : 20px !important;
	font-weight: 900;
	text-align: center !important;
	cursor: pointer !important;
	margin:  25px auto 0 auto;
	padding: 20px 60px !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{
	margin: 15px auto;
	font-size: 14px;
	text-align: center;
}

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

.guid{
	width:590px;
	margin:25px auto;
	padding:25px;
	border:solid 1px #CCC;
	background:#FFF;
	text-align:center;
}

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


/***************************************
		thanks
***************************************/
#thanks_contents{
	max-width: 540px;
	margin: 50px auto 350px auto;
	background: #fffced;
	padding: 50px;
	border-radius: 18px;
}

.thanks_box{ 
	display:flex;
	align-items: center;
}

.thanks-txt{
	width:800px;
	margin:0 35px 0 0;
}

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

.thanks-img img{ width:100%; }

.thanks-txt > h3{
	margin: 0 auto 25px auto;
	text-align: left;
	color: #f00;
	font-size: 28px;
	font-weight: 900;	
}



/***************************************
		footer
***************************************/
footer {
    width:100%;
    background:#333;
	padding:25px 0;
}

#footer_wrapper {
    width:1000px;
    margin:0 auto;
}

.copy {
	text-align:center;
	margin: 0 auto 10px auto;
    color:#fff;
    font-size:13px;
}

.footermenu {
	text-align:center;
	margin: 0 auto 10px auto;
    color:#fff;
    font-size:13px;
}

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

.address {
	text-align:center;
	margin: 0 auto 10px auto;
    color:#fff;
    font-size:13px;
}

/***************************************
　　　　　　protocol
***************************************/
#protocol{
	width: 1000px;
	margin: 50px auto 150px auto;
}

h1.h1-tit{
	margin: 50px auto 10px auto;
	padding:0 0 10px 10px;
	text-align:left;
	font-size: 24px;
	font-weight: bold;
	border-bottom: 2px solid #dd0c78;
}

.protocol-day{
	margin-bottom: 30px;
	text-align: right;
}

.protocol-inner{
	width: 900px;
	margin: 0 auto;
}

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

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

ol.protocol-list{
	margin:25px 0 25px 25px;
	padding-left: 25px;
}

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

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