@charset "utf-8";
/* CSS Document */

/*----------------- general classes -------------------*/

.sp_link {
    pointer-events: none;
}

@media screen and (max-width: 768px) {
	
	.sp_link {
		pointer-events: auto;
	}
	
} /* end media query */

/*----------------- end general classes -------------------*/
.innerWrap02 {
	padding:0 3%;
}
.w10 {
	width:10%;
}
.w35 {
	width:35%;
}
.w49 {
	width:49%;
}
.w60 {
	width:60%;
}
.w85 {
	width:85%;
}
.txt02 {
	font-size:20px;
	line-height:1.7em;
}
.txt02 p {
	font-size:26px;
	font-weight:bold;
	color:#fe434c;
}
.relative {
	position:relative;
}
.ttl04 {
	font-size:36px;
}
.ttl04 span {
	color:#be1c21;
	font-size:42px;
	padding-right:3px;
}
.img_absolute {
	position:absolute;
	top:0;
	right:5%;
	width:55%;
}
.merit_area {
	background:#fe434c;
	width:100%;
	border-radius:7px;
	color:#FFFFFF;
	position:relative;
}
.merit_cont {
	/*position:absolute;
	top:0;
	left:0;*/
	width:96%;
	margin:0 auto;
}
.img_cont {
	margin:-50px 0px 0 0;
}
.img_cont02 {
	margin:-60px 0px 0 55%;
	width:35%;
}
.txt03 {
	padding:20px 0;
}
.txt03 dt {
	font-size:24px;
	font-weight:bold;
	padding-bottom:15px;
}
.txt03 dd {
	padding:0 0 30px 30px;
	line-height:1.7em;
}
.img02 {
	background:#FFFFFF;
	width:30%;
	padding:10px 35px;
	margin:10px 0 15px 0;
}
.merit_area02 {
	background:#7aa4bd;
	width:100%;
	border-radius:7px;
	color:#FFFFFF;
	position:relative;
}
.merit_area03 {
	background:#5da462;
	width:100%;
	border-radius:7px;
	color:#FFFFFF;
	position:relative;
}
.tbl_course01 {
	width:100%;
	margin:0 auto;
	border:3px solid #CCC;
	box-sizing:border-box;
	table-layout:fixed;
	border-collapse:collapse;
	background:#FFFFFF;
}
.tbl_course01 th {
	border:1px solid #ccc;
	text-align:center;
	font-size:14px;
	padding:5px 0;
	color:#FFFFFF;
	background:#be1c21;
}
.tbl_course01 td {
	border:1px solid #ccc;
	text-align:right;
	padding:5px 5px 5px 0;
}
.tbl_course01 .bg_tbl {
	background:#fe434c;
}
.tbl_course01 .ttl_tbl {
	text-align:left;
	padding-left:8px;
	background:#f8f8f8;
}
.chui {
	color:#333333;
	padding-top:3px;
	padding-bottom:20px;
}

.flow_area {
	width:25%;
	/*background:url(../images/step_icon.png) no-repeat;*/
	position:relative;
}
.number {
	position:absolute;
	font-size:46px;
	font-weight:bold;
	color:#FFF;
	top:27%;
	left:68%;
}
.flow_ttl {
	width:70%;
	font-size:39px;
	padding:5% 0 0 0;
	letter-spacing:1px;
}
.bg_flow {
	background:#f8f8f8;
}
.flow_txt {
	font-size:25px;
	letter-spacing:1px;
	color:#333333;
	line-height:1.6em;
	padding-top:10px;
}
.txt04 {
	font-size:24px;
	padding:0 0 0 30px;
	line-height:1.7em;
}
.txt04 span {
	font-size:18px;
	color:#333;
}
.txt04 span:before {
	content:"（※";
}
.txt05 {
	padding-left:20px;
	padding-bottom:30px;
	font-size:18px;
}

/*----------------------------privacy policy ---------------------- */
.privacy_policy {
	margin-bottom: 50px;
}

.privacy_policy h2 {
	font-size: 28px;
	color: #be1c21;
	font-weight: normal;
	border-bottom: 1px dotted gray;
	line-height: 1.4;
	margin-bottom: 1em;
}
.privacy_policy p {
	margin-bottom: 1em;
}
.pmark figure {
	width: 24%;
	float: right;
	margin-left: 3%;
}

.privacy_policy dl.policy {
	margin: 25px;
}
.policy > dt {
	font-size:18px;
	font-weight:bold;
	margin-bottom: .3em;
}
.policy dd {
	margin:0 0 30px 20px;
}
.privacy_bottom {
	text-align: right;
}
.privacy_bottom p {
	line-height: 1.8em;
}
.privacy_bottom .name {
	font-size: 1em;
	font-weight: bold;
}
.privacy_bottom em {
	font-size: 1.4em;
	margin-left: 0.5em;
	font-style: normal;
}
.privacy_bottom p.contact_info {
	margin-bottom: 0;
}
.privacy_bottom .tell_no {
	margin-top: -1em;
	font-weight: bold;
}

.policy dl dt {
	font-weight: bold;
}

.table_style {
    display: table;
    border-spacing: 0;
    word-wrap: break-word;
    word-break: break-all;
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
	width: 100%;
	margin: 1em 0;
}
.table_style > dl {
    position: relative;
    display: table-row;
}
.table_style > dl > dt, 
.table_style > dl > dd {
    display: table-cell;
    vertical-align: top;
    box-sizing: border-box;
    line-height: 1.4;
    padding: 10px 10px;
    margin: 0;
    border-bottom: 1px solid #ccc;
	
}
.table_style > dl > dt {
	width: 32%;
	background: #f5f5f5;
	border-right: 1px solid #ccc;
	font-weight: normal;
	color: #be1c21;
}
.table_style > dl.table_head > dt,
.table_style > dl.table_head > dd {
	background: #f5f5f5;
	color: #be1c21;
	font-weight: bold;
	text-align: center;
}

div.contact_info {
	margin: 3em 45px;
}
.contact_info h3 {
	color: #be1c21;
	font-size: 18px;
	font-weight: bold;
	border-bottom: 1px dashed #ccc;
	line-height: 1.7
}
.contact_info dl {
	margin: 1em;
}
.contact_info dt{
	font-weight: bold;
	float: left;
	width: 130px;
	line-height: 1.4;
	clear: both;
}
.contact_info dd {
	margin-bottom: 10px;
	margin-left: 130px;
}

@media screen and (max-width: 480px) {
	
	.privacy_policy dl.policy {
		margin: 25px 0;
	}
	.policy dd {
    margin-left: 0;
	}
	div.contact_info {
		margin: 2em 0;
	}
	.contact_info dt {
    	float: none;
    	width: auto;
	}
	.contact_info dd {
		padding-left: 1em;
	}
	
} /* end media query*/


/*----------- 問い合わせフォーム用 privacy policy -------------*/

.policy_contact {
	width: 80%;
	height: 250px;
	overflow-y: auto;
	border: 1px solid #ccc;
	margin: 1em auto 2em;
	padding: 1em;
}
.policy_contact h3 {
	font-size: 16px;
	text-align: center;
	margin-bottom: 1em;
}
.policy_contact dt {
	font-size: 14px;
	font-weight: bold;
    margin-bottom: .3em;
}
.policy_contact dd {
    margin: 0 0 1em 25px;
	font-size: 14px;
}


/*----------------- end privacy policy -------------------*/


.tbl_company {
	width:100%;
	margin:0 auto 50px auto;
	border:1px solid #CCC;
	box-sizing:border-box;
	border-collapse:collapse;
}
.tbl_company th {
	border:1px solid #CCC;
	width:20%;
	padding:10px 0;
	text-align:center;
	background:#f8f8f8;
}
.tbl_company td {
	text-align:left;
	padding:15px 0 15px 25px;
	border:1px solid #CCC;
}

.faq_area {
	margin-bottom:35px;
	border-bottom:1px dotted #CCC;
	padding-bottom:20px;
}
.faq {
}
.faq dt {
}
.faq dd {
	font-size:22px;
	padding:5px 0 0 20px;
}
.faq dd p {
	font-size:20px;
	color:#003366;
}
.faq .q {
	background:#be1c21;
	color:#FFFFFF;
	font-size:40px;
	font-weight:bold;
	padding:7px 25px;
	border-radius:10px;
}
.faq .a {
	background:#1b98aa;
	color:#FFFFFF;
	font-size:40px;
	font-weight:bold;
	padding:7px 25px;
	border-radius:10px;
	margin-left:30px;
}


/*----------------- contact form -------------------*/
.brwsr2 {
    margin: 0 auto;
    width: 100%;
    border: none;
    border-top: solid 1px #666;
    border-bottom: solid 1px #666;
    border-collapse: separate;
    border-spacing: 0 10px;
    background: #f5f5f5;
	margin-bottom: 40px;
}
 
.brwsr2 th {
    vertical-align: middle;
    height: 53px;
    width: 30%;
    border-right: solid 1px #666;
    margin: 0;
    text-align: center;
    color: #069;
    font-size: 16px;
    font-weight: bold;
	background:url(../images/btn_form01.png) no-repeat 10px center;
}
.brwsr2 .part2 {
    vertical-align: middle;
    height: 53px;
    width: 30%;
    border-right: solid 1px #666;
    margin: 0;
    text-align: center;
    color: #069;
    font-size: 16px;
    font-weight: bold;
	/*background:url(../images/btn_form02.png) no-repeat 10px center;*/
	background: none;
}

.brwsr2 td.data {
    padding: 0;
    margin: 0;
    height: 53px;
    /*width: 100px;*/
    border: none;
    color: #666;
    font-size: 12px;
    line-height: 16px;
    text-align: left;
	padding-left:50px;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
}
 
.brwsr2 td:fst-child {
    padding: 0 0 0 10px;
    vertical-align: middle;
}
 
.brwsr2 td.bar {
    height: 1px;
    width: 100%;
    border-top: solid 1px #34495e;
}

.brwsr2 td .check_item {
	margin-right: 1em;
	line-height: 2.4;
}
form .privacy_required {
	text-align: center;
	font-size: 14px;
}
form .privacy_required::before {
	content: url(../images/btn_form01.png);
	position: relative;
    top: 3px;
    margin-right: .5em;
	
}

/*------ 送信完了画面 */

.thanks {
    width: 70%;
    margin: 0 auto 50px;
}
.thanks p {
	font-size: 1em;
	line-height: 1.7;
	margin-bottom: 1em;
	color: #514142;
}
.thanks a:link,
.thanks a:visited {
	text-decoration: none;
	color: #be1c21;
}
.thanks a:hover,
.thanks a:active {
	text-decoration: underline;
}


/*----------------- end contact form -------------------*/


.bg_idea {
	background:url(../images/bg_idea.jpg);
	-moz-background-size:100% 100%;
	background-size:contain;
	height:0;
	padding-top:75.75%;
	z-index:1;
	position:relative;
	font-size:0;
	line-height:0;
}
.ttl_idea {
	position:absolute;
	top:9%;
	left:5%;
	font-size:31px;
	color:#FFFFFF;
	line-height:1.6em;
	text-shadow: 3px 3px 1px #666;
}