/* CSS Document */

.appreq-area .flex{
	align-items: flex-start;
	margin: 30px auto;
}

.appreq-area .flex figure{
	margin-right: 20px;
}

.appreq-area .flex figure a:hover{
	opacity: 0.8;
}

.essentials-area{
	text-align: left;
	font-size: 16px;
}

.essentials-area section{
	margin-bottom: 20px;
}

ol.num{
	counter-reset: item;
	list-style-type: none;
	padding-left: 0;
}
ol.num ol{
	padding-left: 1em;
}
ol.num li{
	text-indent: -1.3em;
	padding-left: 1.3em;
}
ol.num li:before {
	counter-increment: item;
	content: '('counter(item)')';
	/* 以下は自由に装飾... */
	padding-right: .5em;
}

.sec01 .content section{
	margin-bottom: 50px;
}

.sec01 .content p{
	text-align: left;
	font-size: 16px;
}

.sec01 .content p.ttl{
	font-size: 18px;
	text-align: left;
	font-weight: bold;
}

.appreq-area h2:after{
	font-family: 'FontAwesome';
	content: "\f1c1";
	display: inline-block;
	margin-left: 10px;
	width: auto;
}

.details{
	margin-bottom: 20px;
}

.terms{
	border: 4px solid #006da8;
	margin: 20px auto;
}

.terms a:before{
	font-family: 'FontAwesome';
	content: "\f1c1";
	display: inline-block;
	margin-right: 10px;
}

.terms a{
	display: block;
	padding: 20px;
	font-size: 20px;
	font-weight: bold;
	transition: 0.5s ease;
}

.terms a:hover{
	background: #006da8;
	text-decoration: none;
	color: #fff;
}

.agree-box{
	font-size: 18px;
}

.app-form{
	background: #ddd;
	border: 1px solid #ddd;
	margin: 20px auto;
	pointer-events: none;
}

.app-form a{
	display: block;
	padding: 20px;
	font-size: 20px;
	font-weight: bold;
	color: #333;
	transition: 0.5s ease;
	position: relative;
}

.app-form.on{
	background: #0ba4e0;
	border: 1px solid #0ba4e0;
	margin: 20px auto;
	pointer-events:inherit;
}

.app-form.on a{
	color: #fff;
}

.app-form a:after{
	content: "\f0a9";
	font-family: 'FontAwesome';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
	font-size: 26px;
}

.app-form a:hover{
	text-decoration: none;
	opacity: 0.8;
}

.flow{
	max-width: 800px;
	margin: 40px auto 80px;
}

.flow > li {
	position: relative;
}
.flow > li:not(:last-child) {
	margin-bottom: 40px;
}
.flow > li dl {
	width: 100%;
	padding: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border: 2px solid rgb(107,144,219);
	border-radius: 10px;
	position: relative;
}
.flow > li:not(:last-child) dl::before,
.flow > li:not(:last-child) dl::after {
	content: "";
	border: solid transparent;
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.flow > li:not(:last-child) dl::before {
	border-width: 22px;
	border-top-color: rgb(107,144,219);
}
.flow > li:not(:last-child) dl::after {
	border-width: 20px;
	border-top-color: #fff;
}
.flow > li dl dt {
	font-weight: 600;
	-ms-flex-preferred-size: 20%;
	flex-basis: 20%;
	margin-right: 2vw;
	text-align: center;
}
.flow > li dl dt .icon {
	font-size: 14px;
	color: #fff;
	background: #0ba4e0;
	padding: 5px 10px;
	display: block;
	border-radius: 20px;
	position: relative;
}

.flow > li dl dd {
	font-size: 16px;
	text-align: left;
	line-height: 1.4;
}

.link-txt{
	margin-top: 15px;
}

.link-txt a{
	text-decoration: underline;
	color: #1e639f;
}
.link-txt a:hover{
	text-decoration: none;
}

.movie {
	margin: 20px auto;
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.tblStyle01 tr th:first-child{
	width: 20%;
}

.tblStyle01 tr th:last-child{
	width: 44%;
}

.logo-about{
	justify-content: space-betwee;
	align-items: flex-start;
}
.logo-about .logotxt-area{
	width: 70%;
	padding-right: 15px;
}

#secPremium .tblStyle01 tr:first-child th,
#secPremium .tblStyle01 tr:first-child td{
	border-top: 1px solid #006da8;
}

@media screen and (max-width: 600px){
	.terms a,
	.app-form a{
		font-size: 16px;
	}
	
	.app-form a::after{
		font-size: 22px;
	}
	
	.logo-about{
		display: 
			block;
	}
	
	.logo-about .logotxt-area{
		width: 100%;
		padding: 0 0 15px;
	}
	
	.application-area{
		display: block;
	}
}

@media screen and (max-width: 478px){
	#info .tblStyle01 tr th:first-child{
		width: 18% !important;
	}
	#info .tblStyle01 tr th:nth-child(2){
		width: 15%;
	}
	#info .tblStyle01 tr th:nth-child(3){
		width: 21%;
	}
	#info .tblStyle01 tr th:last-child{
		width: 17%;
	}
	.tblStyle01 tr th:first-child {
		width: 28%;
	}
}