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

/*//////////----- CONTAINER -----//////////*/

.container{
	box-sizing: border-box;
	padding:20px 0;
}

@media only screen and (min-width: 720px){
	
	.container{
		box-sizing: border-box;
		padding:30px 0;
	}
	
}

.inner-header{
	width:100%;
	margin-bottom:30px;
}

.inner-header h3{
	text-align: center;
	
	font-size:28px;
	line-height:40px;
	font-weight:600;
}

.inner-header h3 span.note{
	color:#069;
}

.inner-header p.comment{
	font-size:1.0rem;
	line-height:1.75em;
	
	box-sizing:border-box;
	padding:10px;
}

/*.inner-header h3 span.note{
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 25px;
	
	position: relative;
}

.inner-header h3 span.note:before{
	display:block;
	content:"";
	
	width:20px;
	height:1px;
	
	background-color:#000;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
}

.inner-header h3 span.note:after{
	display:block;
	content:"";
	
	width:20px;
	height:1px;
	
	background-color:#000;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
}*/

@media only screen and (min-width: 720px){
	
	.inner-header h3 br{
		display:none;
	}
	
	.inner-header p.comment{
		text-align:center;
	}
	
}

.btn-appli{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	
	width:100%;
	margin:0 auto;
	max-width: 480px;
}

.btn-appli li{
	width:50%;
}

.btn-appli li a{
	display:block;
	
	box-sizing: border-box;
	padding:0 5px;
}

.btn-appli li img{
	width:100%;
	vertical-align: bottom;
}

address{
	font-size:0.6rem;
	line-height:60px;
	
	text-align: center;
}

/*//////////----- COVER -----//////////*/

#cover{
	width:100%;
	
	/*background-color:#fff;*/
	color:#fff;
}

#cover::before{
	display:block;
	content:"";
	
	width:100%;
	height:100%;
	
	background-image: url("../images/dms/bg-cover.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	
	position:absolute;
	top:0;
	left:0;
	
	z-index:-10;
}

#cover::after{
	display:block;
	content:"";
	
	width:100%;
	height:100%;
	
	background-color:#000;
	
	position:absolute;
	top:0;
	left:0;
	
	opacity:0.75;
	
	z-index:-5;
}

#cover div.wrap{
	width:100%;
	margin:0 auto;
	max-width: 960px;
	
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
}

#cover p.thumbnail{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
}

#cover p.thumbnail img{
	width:100%;
	vertical-align: bottom;
}

#cover div.text{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
}

#cover div.text p img{
	width:100%;
	vertical-align: bottom;
}

#cover div.text p.logo{
	width:100%;
}

#cover div.text p.logo img{
	width:120px;
	vertical-align:bottom;
}

#cover div.text h1{
	font-size:2.0rem;
	line-height:1.5em;
	font-weight:bold;
	
	color:#fff;
	
	margin-bottom:20px;
}

#cover div.text h1 span.note{
	color:#ff0;
}

#cover div.text p.caption{
	font-size:1.0rem;
	line-height:1.75em;
	color:#fff;
	
	margin-bottom:20px;
}

#cover div.text ul.result{
	display:flex;
	flex-flow:row wrap;
	align-items:center;
	justify-content:center;
	
	width:100%;
}

#cover div.text ul.result li{
	width:100px;
	
	font-size:1.15rem;
	line-height:25px;
	font-weight:bold;
	
	text-align:center;
	
	background-color:transparent;
	color:#ff0;
	border:solid 1px #fff;
	border-radius:80px;
	
	box-sizing:border-box;
	padding:25px 0;
	
	margin:0 5px;
}

#cover div.text ul.result li span.note{
	display:block;
	
	font-size:0.8rem;
	line-height:25px;
	font-weight:normal;
	
	color:#fff;
}

#cover div.text ul.btn{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	
	width:100%;
	margin-top:20px;
}

#cover div.text ul.btn li{
	width:50%;
}

#cover div.text ul.btn li a{
	display:block;
	
	box-sizing: border-box;
	padding:0 5px;
}

#cover div.text ul.btn li img{
	width:100%;
	vertical-align: bottom;
}

@media only screen and (min-width: 720px){
	
	#cover p.thumbnail{
		width:50%;
	}
	
	#cover div.text{
		width:50%;
	}
	
	#cover div.text ul.result{
		justify-content:flex-start;
	}
	
}

/*//////////----- FUNCTION -----//////////*/

#function{
	width:100%;
	
	background-color:#f0f0f0;
	color:#222;
}

#function div.content{
	box-sizing: border-box;
	padding:0 10px;
}

#function div.wrap{
	display:flex;
	flex-flow:row wrap;
	align-items:stretch;
	justify-content:flex-start;
	
	width:100%;
	margin:0 auto;
	max-width:1080px;
}

#function article{
	width:100%;
}

.function-row{
	width:100%;
	
	box-sizing:border-box;
	padding:5px;
}

.function-row div.inner{
	width:100%;
	height:100%;
	
	background-color:#fff;
	color:#444;
	
	box-shadow:0 0 5px #ccc;
	border-radius:5px;
}

.function-row p.thumbnail{
	width:100%;
	border-top-left-radius:5px;
	border-top-right-radius:5px;
}

.function-row p.thumbnail img{
	width:100%;
	border-top-left-radius:5px;
	border-top-right-radius:5px;
	vertical-align:bottom;
}

.function-row div.text{
	box-sizing:border-box;
	padding:10px;
}

.function-row div.text h4{
	font-size:1.25rem;
	line-height:1.75em;
	font-weight:bold;
	
	margin-bottom:5px;
}

@media only screen and (min-width: 720px){
	
	#function article{
		width:50%;
	}
	
	.function-row{
		padding:10px;
	}
	
}


@media only screen and (min-width: 960px){
	
	#function article{
		width:calc(100%/3);
	}
	
}

/*//////////----- RESULT -----//////////*/

#result{
	width:100%;
	
	background-color:#f0f0f0;
	color:#222;
}

#result div.content{
	box-sizing: border-box;
	padding:0 10px;
}

#result div.wrap{
	display:flex;
	flex-flow:row wrap;
	align-items:stretch;
	justify-content:flex-start;
	
	width:100%;
	margin:0 auto;
	max-width:1080px;
}

#result article{
	width:100%;
}

.result-row{
	width:100%;
	
	box-sizing:border-box;
	padding:5px;
}

.result-row div.inner{
	width:100%;
	height:100%;
	
	background-color:#fff;
	color:#444;
	
	box-shadow:0 0 5px #ccc;
	border-radius:5px;
}

.result-row p.thumbnail{
	width:100%;
	border-top-left-radius:5px;
	border-top-right-radius:5px;
}

.result-row p.thumbnail img{
	width:100%;
	border-top-left-radius:5px;
	border-top-right-radius:5px;
	vertical-align:bottom;
}

.result-row div.text{
	box-sizing:border-box;
	padding:10px;
}

.result-row div.text h4{
	font-size:1.25rem;
	line-height:1.75em;
	font-weight:bold;
	
	margin-bottom:5px;
}

@media only screen and (min-width: 720px){
	
	#result article{
		width:50%;
	}
	
	.result-row{
		padding:10px;
	}
	
}


@media only screen and (min-width: 960px){
	
	#result article{
		width:calc(100%/3);
	}
	
}

/*//////////----- SYSTEM -----//////////*/

#system{
	width:100%;
	
	background-color:#fff;
	color:#000000;
}

#system div.wrap{
	width:100%;
	margin:0 auto;
	max-width: 640px;
}

#system div.content{
	box-sizing: border-box;
	padding:0 10px;
}

#system div.content-inner{
	margin-bottom:10px;
}

#system div.content-inner:last-child{
	margin-bottom:0;
}

#system div.row{
	display:flex;
	flex-flow: row wrap;
	align-items:stretch;
	justify-content: flex-start;
	
	width:100%;
	margin-bottom:5px;
}

#system div.row:last-child{
	margin-bottom:0;
}

#system div.row p.que{
	width:120px;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f0f0f0;
}

#system div.row p.ans{
	width:calc(100% - 120px);
	
	box-sizing: border-box;
	padding:10px;
	border-left:solid 5px #fff;
	
	background-color:#f0f0f0;
}

#system div.row p.ans span.note{
	font-size:0.8rem;
	line-height:1.75em;
}

#system ul.attention{
	font-size:0.8rem;
	line-height:1.75em;
}

#system ul.attention li{
	margin-bottom:5px;
	
	box-sizing: border-box;
	padding-left:15px;
	
	position: relative;
}

#system ul.attention li:last-child{
	margin-bottom:0;
}

#system ul.attention li:before{
	display:block;
	content:"※";
	
	position: absolute;
	top:0;
	left:0;
}

/*//////////----- CONTACTUS -----//////////*/

#contactus{
	width:100%;
	
	background-color:#444;
	color:#fff;
}

#contactus header.inner-header h3 span.note:before{
	background-color:#fff;
}

#contactus header.inner-header h3 span.note:after{
	background-color:#fff;
}

#contactus div.wrap{
	width:100%;
	margin:0 auto;
	max-width: 640px;
}

#contactus div.content{
	box-sizing: border-box;
	padding:0 10px;
}

#contactus p.caption{
	width:100%;
	margin:0 auto 20px;
}

#contactus div.content-inner{
	margin-bottom:10px;
}

#contactus div.content-inner:last-child{
	margin-bottom:0;
}

#contactus div.row{
	display:flex;
	flex-flow: row wrap;
	align-items:stretch;
	justify-content: flex-start;
	
	width:100%;
	margin-bottom:5px;
}

#contactus div.row:last-child{
	margin-bottom:0;
}

#contactus div.row p.que{
	width:120px;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#fff;
	color:#000;
}

#contactus div.row p.que span.must{
	font-size:0.6rem;
	line-height:1.75em;
	color:#f00;
}

#contactus div.row p.ans{
	width:calc(100% - 120px);
	
	box-sizing: border-box;
	padding:10px;
	border-left:solid 5px #444;
	
	background-color:#fff;
	color:#000;
}

#contactus div.row p.ans span.note{
	font-size:0.8rem;
	line-height:1.75em;
}

#contactus div.row p.btn{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	text-align: center;
}

@media only screen and (min-width: 480px){
	
	#contactus div.row p.que{
		width:180px;
	}
	
	#contactus div.row p.ans{
		width:calc(100% - 180px);
	}
	
}

/*//////////----- OUTLINE -----//////////*/

#outline{
	width:100%;
	
	background-color:#444;
	color:#fff;
}

#outline header.inner-header h3 span.note:before{
	background-color:#fff;
}

#outline header.inner-header h3 span.note:after{
	background-color:#fff;
}

#outline div.wrap{
	width:100%;
	margin:0 auto;
	max-width: 640px;
}

#outline div.content{
	box-sizing: border-box;
	padding:0 10px;
}

#outline div.content-inner{
	margin-bottom:20px;
}

#outline div.content-inner:last-child{
	margin-bottom:0;
}

#outline div.row{
	display:flex;
	flex-flow: row wrap;
	align-items:stretch;
	justify-content: flex-start;
	
	width:100%;
	box-sizing: border-box;
	padding-bottom:5px;
	border-bottom:solid 2px #fff;
	margin-bottom:5px;
}

#outline div.row:last-child{
	margin-bottom:0;
}

#outline div.row p.que{
	width:120px;
	
	box-sizing: border-box;
	padding:10px;
}

#outline div.row p.ans{
	width:calc(100% - 120px);
	
	box-sizing: border-box;
	padding:10px;
}

/*//////////----- POLICY -----//////////*/

#policy{
	width:100%;
	
	background-color:#444;
	color:#fff;
}

#policy header.inner-header h3 span.note:before{
	background-color:#fff;
}

#policy header.inner-header h3 span.note:after{
	background-color:#fff;
}

#policy div.wrap{
	width:100%;
	margin:0 auto;
	max-width: 640px;
}

#policy div.content{
	box-sizing: border-box;
	padding:0 10px;
}

#policy div.content-inner{
	margin-bottom:20px;
}

#policy div.content-inner:last-child{
	margin-bottom:0;
}

#policy div.content-scroll{
	box-sizing: border-box;
	padding:10px;
	
	background-color:#fff;
	color:#000;
	
	height:240px;
	overflow-y: scroll;
}

#policy div.content-scroll article{
	margin-bottom:20px;
}

#policy div.content-scroll article:last-child{
	margin-bottom:0;
}

#policy div.content-scroll article h6{
	font-weight:bold;
}
