/*=================================================
 * CSS for PC
 * ================================================= */

body{
	text-align	: center;
	font-size	: 12px;
	line-height	: 16px;
	font-family: Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
    -webkit-text-size-adjust: 100%;
	scrollbar-face-color: #ffffff;
	scrollbar-3dlight-color: #553f09;
	scrollbar-highlight-color: #ffffff;
	scrollbar-shadow-color: #ffffff;
	scrollbar-darkshadow-color: #553f09;
	scrollbar-arrow-color: #553f09;
	scrollbar-track-color: #ffffff;
	-webkit-font-smoothing: subpixel-antialiased;
}

a, a:hover{
	text-decoration	: none;
	color: currentColor;
}


a[href^="tel:"] { cursor: default; text-decoration: none; color: #000;}
a[href^="tel:"]:hover{	text-decoration: none;}

h1, h2, h3, h4{
	font-size	: 13px;
	font-weight: normal;
}

ul{
	list-style-type	: none;
}

li{
	margin		: 0px;
	padding		: 0px;
}

table{
	font-size	: 13px;
}

table tr{
	vertical-align	: top;
}

i, em{
	font-style		: normal;
}

body{
	min-width: 1200px;
}

div, p, ul, li, h2, h3, h4, dl{	margin: 0; padding: 0; font-weight: normal;}



body{	background: #eee;}
header,
nav,
main,
aside,
footer{
	position: relative;
	z-index: 2;
	width: 750px;
	margin: 0 auto;
}

/** header **/

header{
	position: relative;
	height: 835px;
	background: url(../img/header.jpg) no-repeat top center;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
h1{
	font-size: 10px;
	line-height: 1;
	position: absolute;
	top: -20px;
	left: 0;
}


/** main **/

main{
	display: block;
	background: #fff;
}


/*=========================
POINT
======================== */

#point{
	background: #f3fafe;
	padding: 0 0 20px 0;
}
#point h2{
	font-size: 0;
	line-height: 0;
	height: 390px;
	background: url(../img/point_title.png) no-repeat top center;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.pointbox{
	position: relative;
	background: #fff;
	border-radius: 10px;
	margin: 0 15px 50px 15px;
	padding: 35px 15px 15px 15px;
	box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.pointbox:last-of-type{	margin-bottom: 0;}
.pointbox h3{
	font-size: 22px;
	font-weight: bold;
	line-height: 34px;
	text-align: center;
	margin: 0 0 10px 0;
}
.pointbox h3 em{
	box-shadow: 0px -3px 0px 0px #74d2e7 inset;
}
.pointbox span{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	font-size: 25px;
	font-weight: bold;
	line-height: 30px;
	color: #fff;
	background: #74d2e7;
	border-radius: 50%;
	position: absolute;
	top: -25px;
	left: calc(50% - 25px);
}
.pointbox p{
	font-size: 14px;
	line-height: 25px;
	text-align: left;
}


/*=========================
ASSIGN
======================== */

#assign{
	background: #b9e9f3;
	box-shadow: 0px 30px 0px 0px #f3fafe inset;
	padding: 0 0 20px 0;
}
#assign h2{
	font-size: 0;
	line-height: 0;
	height: 370px;
	margin: 0 0 50px 0;
	background: url(../img/assign_title.png) no-repeat top center;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.assignbox{
	position: relative;
}
.assignbox .no{
	display: inline-block;
	vertical-align: top;
	width: 52px;
	font-size: 10px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	position: absolute;
	top: -33px;
	left: 15px;
}
.assignbox .no em{
	font-size: 16px;
}
.assignbox h3{
	position: relative;
	font-size: 18px;
	font-weight: bold;
	line-height: 25px;
	text-align: left;
	background: #74d2e7;
	margin: 0 30px 20px 40px;
	padding: 7px 10px 7px 35px;
	border: 2px solid #222;
	border-radius: 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.assignbox h3:after{
	content: "";
	width: 52px;
	height: 52px;
	position: absolute;
	top: -7px;
	left: -27px;
	background: url(../img/assign_i1.png) no-repeat;
	background-size: 52px auto;
}

.assignbox div{
	position: relative;
	background: #fff;
	border-radius: 10px;
	margin: 0 30px 50px 40px;
	padding: 15px;
	box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.assignbox:last-of-type div{	margin-bottom: 0;}
.assignbox div:after{
	content: "";
	width: 65px;
	height: 65px;
	position: absolute;
	top: -10px;
	right: -20px;
	background: url(../img/assign_i2.png) no-repeat;
	background-size: 65px auto;
}
.assignbox div h4{
	font-size: 22px;
	font-weight: bold;
	line-height: 34px;
	color: #1b9fd3;
	text-align: left;
	margin: 0 0 10px 0;
	padding: 0 30px 0 0;
}
.assignbox div p{
	font-size: 14px;
	line-height: 25px;
	text-align: left;
}


/*=========================
SYSTEM
======================== */

#system{
	background: #fff;
	box-shadow: 0px 30px 0px 0px #b9e9f3 inset;
	padding: 0 0 20px 0;
}
#system h2{
	font-size: 0;
	line-height: 0;
	height: 310px;
	margin: 0 0 20px 0;
	background: url(../img/system_title.png) no-repeat top center;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#system p{
	font-size: 14px;
	line-height: 25px;
	text-align: left;
	margin: 0 0 30px 0;
	padding: 0 15px;
}

#system div{
	font-size: 0;
	line-height: 0;
	margin: 0 0 30px 0;
}
#system div:last-of-type{	margin-bottom: 0;}
#system div:nth-of-type(1){
	padding-top: 300px;
	background: url(../img/system_i1.png) no-repeat top center;
	background-size: 150px auto;
}
#system div h3{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 300px;
	font-size: 22px;
	font-weight: bold;
	line-height: 30px;
	color: #fff;
	background: #222;
	padding: 10px 0;
	border-radius: 25px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#system div span{
	display: block;
	font-size: 12px;
	line-height: 15px;
	padding: 10px 0 0 0;
}

#system div img{
	width: 100%;
	height: auto;
}


/*=========================
CASE
======================== */

#case{
	background: #f3fafe;
	padding: 0 0 50px 0;
}
#case h2{
	font-size: 50px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	padding: 30px 15px;
}
.casebox{
	position: relative;
	background: #fff;
	border-radius: 10px;
	margin: 0 15px 50px 15px;
	padding: 15px;
	box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.casebox:last-of-type{	margin-bottom: 0;}

.casebox dl{
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	width: 100%;
	font-size: 0;
	line-height: 0;
	margin: 0 0 20px 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.casebox dt{
	width: 140px;
	margin-right: 15px;
}
.casebox dt img{
	width: 140px;
	height: auto;
	border: 2px solid currentColor;
	border-radius: 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.casebox dd{
	width: calc(100% - 155px);
	text-align: left;
	margin: 0;
	padding: 0;
}

.casebox dd div{
	display: flex;
	align-items: flex-end;
	align-content: flex-end;
	justify-content: flex-start;
	margin: 0 0 15px 0;
}
.casebox dd div span{
	position: relative;
	top: -6px;
	font-size: 22px;
	line-height: 1;
	color: #fff;
	background: #1b9fd3;
	margin-right: 10px;
	padding: 10px 10px 8px 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.casebox dd div em{
	position: relative;
	bottom: -8px;
	font-size: 80px;
	font-weight: bold;
	line-height: 1;
	color: #1b9fd3;
}
.casebox dd div i{
	font-size: 40px;
	font-weight: bold;
	line-height: 1;
	color: #1b9fd3;
}

.casebox dd p:nth-of-type(1){
	font-size: 22px;
	line-height: 25px;
}
.casebox dd p:nth-of-type(2){
	font-size: 14px;
	line-height: 25px;
}

.casebox h3{
	font-size: 24px;
	font-weight: bold;
	line-height: 28px;
	text-align: center;
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
	border-bottom: 1px solid currentColor;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.casebox .txt{
	font-size: 14px;
	line-height: 25px;
	text-align: left;
}


/*=========================
TERMS
======================== */

#terms{	padding: 0 0 50px 0;}
#terms .terms_top{
	text-align: center;
	color: #fff;
	background: #1b9fd3;
	margin: 0 0 30px 0;
	padding: 30px 15px;
}
#terms .terms_top h2{
	font-size: 46px;
	font-weight: bold;
	line-height: 1.2;
}
#terms .terms_top p{
	font-size: 11px;
	line-height: 14px;
	margin: 10px 0 0 0;
}

#terms dl{
	display: table;
	width: calc(100% - 30px);
	font-size: 0;
	line-height: 0;
	margin: 0 15px 30px 15px;
}
#terms dl:last-of-type{	margin-bottom: 0;}
#terms dt,
#terms dd{
	display: table-cell;
	vertical-align: top;
	font-size: 22px;
	line-height: 25px;
}
#terms dt{
	width: 120px;
}
#terms dt span{
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 100%;
	height: 30px;
	font-size: 16px;
	border: 1px solid currentColor;
	border-radius: 15px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#terms dd{
	text-align: left;
	margin: 0;
	padding-left: 15px;
}
#terms dd p{}
#terms dd p span{	font-size: 15px;}

#terms dd li{
	position: relative;
	margin: 0 0 10px 0;
	padding: 0 0 0 15px;
}
#terms dd li:after{
	content: "";
	width: 8px;
	height: 8px;
	background: currentColor;
	border-radius: 50%;
	position: absolute;
	top: 7px;
	left: 0;
}
#terms dd li:last-of-type{	margin-bottom: 0;}
#terms dd li span{	font-size: 15px;}
#terms dd p.sub{
	position: relative;
	font-size: 12px;
	line-height: 20px;
	margin: 10px 0 0 0;
	padding-left: 18px;
}
#terms dd p.sub em{
	display: inline-block;
	vertical-align: top;
	font-size: 12px;
	position: absolute;
	top: 0;
	left: 0;
}


/*=========================
QA
======================== */

#qa{
	background: #74d2e7;
	padding: 0 15px 50px 15px;
}
#qa h2{
	font-size: 46px;
	font-weight: bold;
	line-height: 1.2;
	padding: 30px 15px;
}
.qabox{
	position: relative;
	text-align: left;
	margin: 0 0 15px 0;
	padding: 10px;
	background: #1b9fd3;
	border-radius: 10px;
	border: 2px solid currentColor;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.qabox:last-of-type{	margin-bottom: 0;}

.qabox .acdbt{
	position: relative;
	font-size: 18px;
	font-weight: bold;
	line-height: 25px;
	color: #fff;
	text-align: left;
	padding: 7.5px 35px 7.5px 45px;
	cursor: pointer;
}

.qabox .acdbt:before{
	content: 'Q';
	width: 32px;
	font-size: 16px;
	font-weight: bold;
	line-height: 28px;
	text-align: center;
	color: #222;
	background: #fff;
	border-radius: 50%;
	border: 2px solid currentColor;
	position: absolute;
	top: 3px;
	left: 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.qabox .acdbt:after{
	content: '';
	width: 20px;
	height: 20px;
	background: url(../img/qa.png) no-repeat;
	background-size: 20px auto;
	-webkit-transition	: 0.4s ease-in-out;
	-moz-transition	: 0.4s ease-in-out;
	-o-transition	: 0.4s ease-in-out;
	transition		: 0.4s ease-in-out;
	position: absolute;
	top: 7.5px;
	right: 10px;
}
.qabox .acdbt.open:after{
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	     -o-transform: rotate(45deg);
	        transform: rotate(45deg);
}

.qabox .acdbox{
	position: relative;
	font-size: 14px;
	line-height: 25px;
	text-align: left;
	margin: 10px 0 0 0;
	padding: 12.5px 15px;
	background: #fff;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}


/*=========================
CONTACT
======================== */

#contact{
	background: #fff;
	padding: 0 0 50px 0;
}
#contact h2{
	font-size: 46px;
	font-weight: bold;
	line-height: 1.5;
	color: #1b9fd3;
	text-align: center;
	margin: 0 15px 15px 15px;
	padding: 15px;
	border-bottom: 2px solid currentColor;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.formtxt{
	font-size: 18px;
	line-height: 30px;
	text-align: center;
	margin: 0 0 30px 0;
	padding: 0 15px;
}


/** form **/

.form{
	background: #f3fafe;
	border-radius: 10px;
	margin: 0 15px;
	padding: 15px 15px 50px 15px;
	box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.cbox{
	width: 100%;
	text-align: left;
	margin: 0 0 30px 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.form_in{
	display: flex;
	justify-content: space-between;
}
.form_in p{
	width: 100%;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.form_in p:nth-of-type(2){	padding-left: 10px;}
.form_in p .select_bg{
	display: inline-flex;
}
.form_in p select{	width: 310px;}

.check_box .cbox{
	border-bottom: 1px dotted #b8b8b8;
	margin: 0 0 20px 0;
	padding-bottom: 20px;
}

.cbox h4{
	position: relative;
	font-size: 18px;
	font-weight: bold;
	line-height: 25px;
	margin: 0 0 5px 0;
}

.cbox h4 em{
	position: relative;
	bottom: -5px;
	display: inline-block;
	vertical-align: top;
	font-size: 12px;
	font-weight: normal;
	line-height: 15px;
	margin: 0 0 0 5px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.cbox h4 em.hissu{	color: #ff9900;}
.cbox h4 em.ninni{	color: #74d2e7;}

.cbox p{
	font-size: 16px;
	line-height: 25px;
}

.cbox .prv{
	display: flex;
	align-items: stretch;
	align-content: center;
	justify-content: flex-start;
	border: 1px solid #ccc;
}
.cbox .prv p:nth-of-type(1){
	width: calc(100% - 140px);
	font-size: 12px;
	line-height: 20px;
	text-align: left;
	padding: 15px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.cbox .prv p:nth-of-type(1) a{
	color: #000;
	text-decoration: underline;
}
.cbox .prv p:nth-of-type(1) a:hover{	text-decoration: none;}
.cbox .prv p:nth-of-type(2){
	width: 140px;
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	border-left: 1px dotted #ccc;
	font-size: 16px;
	line-height: 25px;
}
.cbox .prv p:nth-of-type(2) span{	margin-right: 10px;}


.submit{
	width: 100%;
	text-align: center;
}
.submit p{
	font-size: 14px;
	line-height: 22px;
	text-align: center;
	padding: 10px 0 40px 0;
}

.submit_bt{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 100%;
	max-width: 220px;
	height: 45px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	color: #fff;
	background: #000;
	border: 1px solid #000;
	border-radius: 0;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.submit_bt:hover{
	color: #000;
	background: #fff;
	text-decoration: none;
}

.w1{	width		: 220px;}
.s1{	width		: 220px;}
.w2{	width		: 100%;}
.w3{	width		: 150px;}
.select{	width	: 170px;}

.form textarea{
	width: 100%;
	height: 210px;
	padding			: 15px;
	font-family		: Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
    vertical-align	: middle;
	border-radius	: 10px;
	border: 1px solid #b8b8b8;
	background: #fff;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.form input[type="text"],
.form input[type="email"],
.form input[type="tel"]{
	padding			: 15px;
	font-family		: Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
	border-radius	: 10px;
	border: 1px solid #b8b8b8;
	background: #fff;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.form input::placeholder,
.form textarea::placeholder{	color: #999;}
.form input:-ms-input-placeholder,
.form textarea:-ms-input-placeholder{	color: #999;}
.form input::-ms-input-placeholder,
.form textarea::-ms-input-placeholder{	color: #999;}

.form input[type="file"]{
	display: block;
	margin: 0 0 10px 0;
}
.form input[type="file"]:last-of-type{	margin-bottom: 0;}

select{
	width: 100%;
	font-size: 16px;
	line-height: 20px;
	padding: 17px 30px 17px 15px;
	border: 1px solid #b8b8b8;
	border-radius: 10px;
	font-family: Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
	background: #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
}
.select_bg{
	position: relative;
	display: block;
}
.select_bg:before{
	content: '';
	display: inline-block;
	width: 30px;
	height: 54px;
	background: #ddd;
	border-radius: 0 8px 8px 0;
	position: absolute;
	top: 1px;
	right: 1px;
}
.select_bg:after{
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 5px 0 5px;
	border-color: #666 transparent transparent transparent;
	position: absolute;
	top: calc(50% - 5px);
	right: 10px;
}


/*
.chk_bar{
	font-size: 0;
	line-height: 0;
}

.chk_bar li{
	display: inline-block;
	vertical-align: top;
	margin-right: 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.chk_bar input[type="checkbox"],
.chk_bar input[type="radio"]{	display: none;}

.chk_bar input[type="checkbox"] + label,
.chk_bar input[type="radio"] + label{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 120px;
	height: 40px;
	font-size: 14px;
	line-height: 16px;
	text-align: center;
	color: #333;
	background: #fff;
	border: 1px solid #b8b8b8;
	border-radius: 20px;
	cursor: pointer;
	padding: 0 3px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.chk_bar input[type="checkbox"]:checked + label,
.chk_bar input[type="radio"]:checked + label{
	color: #fff;
	background: #1b9fd3;
	border-color: #1b9fd3;
	box-shadow:none;
	-moz-box-shadow:none;
	-webkit-box-shadow:none;
}
*/

.cbox p input[type="checkbox"],
.cbox p input[type="radio"]{
	display: inline-block;
	vertical-align: top;
	width: 20px;
	height: 20px;
	margin-right: 5px;
	border-radius: 3px;
	background: #fff;
	border: 1px solid #b8b8b8;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.cbox p input[type="checkbox"]:checked,
.cbox p input[type="radio"]:checked{
	background: #1b9fd3;
}

.error,
.over{
	margin: 0;
	text-align: center;
	font-size: 14px;
	line-height: 18px;
}
.over{	padding-bottom: 80px;}

.error span{
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	line-height: 30px;
	color: #ff0000;
	padding: 80px 0;
}
.over div{
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	line-height: 30px;
	padding: 80px 0 0 0;
}
.over div span{
	position: relative;
	font-size: 18px;
	line-height: 1;
	bottom: -2px;
}

.error_text{
    display: block;
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 30px;
    color: #ff0000;
    font-weight: bold;
}

.error_text:empty{ display: block;}

.error_block h4{
	color: #ff0000 !important;
	animation-name: indfade !important;
	animation-duration: 2.0s;
	animation-timing-function: ease-out;
	animation-delay: 0.0s;
	animation-iteration-count: infinite;
	animation-fill-mode: backwards;
}
@keyframes indfade {
	0%{
		opacity: 1.0;
		filter: alpha(opacity=100);
	}
	80% {
		opacity: 1.0;
		filter: alpha(opacity=100);
	}
	85% {
		opacity: 0.3;
		filter: alpha(opacity=30);
	}
	90% {
		opacity: 1.0;
		filter: alpha(opacity=100);
	}
	95% {
		opacity: 0.3;
		filter: alpha(opacity=30);
	}
	100%{
		opacity: 1.0;
		filter: alpha(opacity=100);
	}
}

.error_block input[type="text"],
.error_block input[type="email"],
.error_block input[type="tel"],
.error_block textarea{
    border-color: #ff0000 !important;
    background: #fff5f5 !important;
}

.capt_bg{
	width: 100%;
	border-bottom: 1px dotted #ddd;
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
}

.capt{
	width: 280px;
	margin: 0 auto;
	padding: 0 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.capt div{
	width: 100%;
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: space-between;
	margin: 0 0 10px 0;
}

.capt div span{
	font-size: 34px;
	line-height: 40px;
	color: #999;
}

.capt div input[type="text"]{
	width: 110px;
	padding: 7px;
	font-size		: 16px;
	line-height: 20px;
	font-family: Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
	border-radius: 3px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.capt p{
	font-size: 11px;
	line-height: 16px;
	text-align: left;
	padding: 0 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.capt p em{	color: #ff0000;}


/** footer **/
footer{
	color: #fff;
	background: #333;
}
footer address{
	font-style: normal;
	line-height: 15px;
	text-align: center;
	padding: 10px 0;
}
footer address p:nth-of-type(1);{	font-size: 12px;}
footer address p:nth-of-type(2){	font-size: 10px;}

br.pc_none{	display: none;}


/*=================================================
 * CSS for SP
 * ================================================= */

@media screen and (max-width: 750px) {
	a[href^="tel:"] { cursor: pointer;}
	a:hover{	text-decoration: none;}
	body{	min-width: 0;}
	header,
	nav,
	main,
	aside,
	footer{
		position: relative;
		z-index: 2;
		width: 100%;
		margin: 0;
	}


	/** header **/
	header{
		position: relative;
		height: auto;
		padding-top: calc(835 / 760 * 100%);
		background: url(../img/header.jpg) top center / cover no-repeat;
		-webkit-background-size: contain;
		background-size: contain;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}

	/*=========================
	POINT
	======================== */
	#point h2{
		position: relative;
		height: auto;
		padding-top: calc(390 / 760 * 100%);
		background: url(../img/point_title.png) top center / cover no-repeat;
	}
	.pointbox h3{
		font-size: 5vw;
		line-height: 1.7;
		margin: 0 0 15px 0;
	}

	/*=========================
	ASSIGN
	======================== */
	#assign h2{
		position: relative;
		height: auto;
		padding-top: calc(370 / 760 * 100%);
		background: url(../img/assign_title.png) top center / cover no-repeat;
	}
	.assignbox h3{
		font-size: 4.5vw;
		line-height: 1.5;
	}
	.assignbox h4{
		font-size: 5vw;
		line-height: 1.7;
		margin: 0 0 10px 0;
	}

	/*=========================
	SYSTEM
	======================== */
	#system h2{
		position: relative;
		height: auto;
		padding-top: calc(310 / 760 * 100%);
		background: url(../img/system_title.png) top center / cover no-repeat;
	}
	#system p{
		margin: 0 0 10px 0;
	}
	#system div{
		font-size: 0;
		line-height: 0;
		margin: 0 0 30px 0;
	}
	#system div:nth-of-type(1){
		padding-top: 150px;
		background: url(../img/system_i1.png) no-repeat top center;
		background-size: 75px auto;
	}
	#system div h3{
		width: 270px;
		font-size: 18px;
		line-height: 20px;
		padding: 10px 0;
		border-radius: 20px;
	}
	#system div span{
		display: block;
		font-size: 11px;
		line-height: 15px;
		padding: 5px 0 0 0;
	}

	/*=========================
	CASE
	======================== */
	#case{
		background: #f3fafe;
		padding: 0 0 30px 0;
	}
	#case h2{
		font-size: 9vw;
		line-height: 1.2;
		text-align: center;
		padding: 20px 15px;
	}
	.casebox{
		margin: 0 15px 30px 15px;
	}
	.casebox:last-of-type{	margin-bottom: 0;}

	.casebox dl{
		align-items: flex-start;
		align-content: flex-start;
		margin: 0 0 15px 0;
	}
	.casebox dt{
		width: 70px;
		margin-right: 15px;
	}
	.casebox dt img{
		width: 70px;
		height: auto;
	}
	.casebox dd{
		width: calc(100% - 85px);
	}
	.casebox dd div{
		margin: 0 0 15px 0;
	}
	.casebox dd div span{
		position: relative;
		top: -2px;
		font-size: 14px;
		margin-right: 3px;
		padding: 5px 5px 3px 5px;
	}
	.casebox dd div em{
		position: relative;
		bottom: -7px;
		font-size: 44px;
	}
	.casebox dd div i{
		font-size: 20px;
	}

	.casebox dd p:nth-of-type(1){
		font-size: 22px;
		line-height: 25px;
	}
	.casebox dd p:nth-of-type(2){
		font-size: 12px;
		line-height: 20px;
	}
	.casebox h3{
		font-size: 22px;
		font-weight: bold;
		line-height: 25px;
		text-align: left;
		margin: 0 0 15px 0;
		padding: 0 0 15px 0;
	}

	/*=========================
	TERMS
	======================== */
	#terms{	padding: 0 0 30px 0;}
	#terms .terms_top{
		margin: 0 0 30px 0;
		padding: 15px;
	}
	#terms .terms_top h2{
		font-size: 7.1vw;
		line-height: 1.2;
	}
	#terms .terms_top p{
		font-size: 11px;
		line-height: 14px;
		text-align: left;
		margin: 10px 0 0 0;
	}

	#terms dl{
		margin: 0 15px 20px 15px;
	}
	#terms dl:last-of-type{	margin-bottom: 0;}
	#terms dt,
	#terms dd{
		font-size: 15px;
		line-height: 20px;
	}
	#terms dt{	width: 80px;}
	#terms dt span{
		width: 100%;
		height: 30px;
		font-size: 14px;
		border-radius: 17.5px;
	}
	#terms dd{
		text-align: left;
		padding-top: 7px;
	}
	#terms dd p{}
	#terms dd li{
		position: relative;
		margin: 0 0 10px 0;
		padding: 0 0 0 15px;
	}
	#terms dd li:after{
		content: "";
		width: 8px;
		height: 8px;
		background: currentColor;
		border-radius: 50%;
		position: absolute;
		top: 6px;
		left: 0;
	}
	#terms dd li:last-of-type{	margin-bottom: 0;}
	#terms dd li span{	display: inline-block; font-size: 12px;}
	#terms dd p.sub{
		position: relative;
		font-size: 12px;
		line-height: 14px;
		margin: 5px 0 0 0;
		padding-left: 18px;
	}
	#terms dd p.sub em{
		display: inline-block;
		vertical-align: top;
		font-size: 12px;
		position: absolute;
		top: 0;
		left: 0;
	}


	/*=========================
	QA
	======================== */
	#qa{	padding: 0 15px 30px 15px;}
	#qa h2{
		font-size: 7.1vw;
		line-height: 1.2;
		text-align: center;
		padding: 15px 0;
	}
	.qabox{
		position: relative;
		text-align: left;
		margin: 0 0 15px 0;
		padding: 10px;
		background: #1b9fd3;
		border-radius: 10px;
	}
	.qabox:last-of-type{	margin-bottom: 0;}
	.qabox .acdbt{
		position: relative;
		font-size: 18px;
		font-weight: bold;
		line-height: 25px;
		color: #fff;
		text-align: left;
		padding: 5px 35px 5px 40px;
		cursor: pointer;
	}
	.qabox .acdbt:before{
		top: 1px;
		left: 0;
	}
	.qabox .acdbt:after{
		position: absolute;
		top: 7.5px;
		right: 5px;
	}


	/*=========================
	CONTACT
	======================== */
	#contact{
		padding: 0 0 30px 0;
	}
	#contact h2{
		font-size: 7.1vw;
		line-height: 1.2;
		padding: 30px 15px 15px 15px;
	}

	/** form **/
	.form{
		display: block;
		width: auto;
	}
	.formtxt{
		font-size: 14px;
		line-height: 25px;
		text-align: left;
		margin: 0 0 15px 0;
		padding: 0 15px;
	}
	.cbox p{
		font-size: 14px;
		line-height: 22px;
	}


	/** footer **/
	footer address{
		line-height: 18px;
	}
	footer address p:nth-of-type(1);{	font-size: 11px;}
	footer address p:nth-of-type(2){	font-size: 10px;}

	br.pc_none{	display: inline;}
	br.sp_none{	display: none;}

}
