@charset "utf-8";
@import url(reset.css);
@import url(base.css);
@import url(common.css);


#top_main {
	position:relative;
}

#top_main .bg img {
	width:100%;
}


.index #container {
	padding:70px 0 100px;
}



/*-------------------------------------------------------------------
	index
-------------------------------------------------------------------*/

#index .read {
	max-width:94%;
	margin:0 auto 70px;
	font-size:2.4em;
	color:#0067b3;
	text-align:center;
	font-weight:500;	
}

/* sec01 */

#index .sec01 {
	padding:0;
	background:url(../image/index/sec01_bg.png) center top no-repeat;
	background-size:100% auto;
}

#index .sec01 .inwrap {
	width:94%;
	margin:0 auto;
	position:relative;
	text-align:center;
}

#index .sec01 .inwrap .btn {
	position:absolute;
	left:50%;
	bottom:100px;
	width:430px;
	transform:translateX(-50%);
}

#index .sec01 .inwrap .btn a {
	display:block;
	position:relative;
	line-height:1.0;
	background:#eb5d07;
	color:#FFF;
	text-align:center;
	padding:20px 0;
	font-size:1.45em;
}


#index .sec01 .inwrap .btn a:before {
	content:url(../image/index/sec01_icon.png);
	top:50%;
	left:60px;
	position:absolute;
	transform:translateY(-50%);
}

#index .sec01 .inwrap .btn a:hover {
	text-decoration:none;
	opacity:0.7;
}


/* bluearea */

#index .bluearea {
	background:#0067b3;
}

#index .bluearea p {
	max-width:94%;
	text-align:center;
	margin:0 auto;
	color:#FFF;
	font-size:2.1em;
	line-height:1.0;
	font-weight:500;
	padding:35px 0;
}


/* sec02 */

#index .sec02 {
	padding:60px 0 80px;
	background:url(../image/index/sec02_bg.jpg) center bottom no-repeat;
	background-size:100% auto;
	margin:0 0 100px;
	color:#FFF;
}

#index .sec02 .inwrap {
	max-width:1120px;
	margin:0 auto;
}

#index .sec02 .inwrap .caution {
	text-align:center;
	margin:20px 0 60px;
	font-size:1.05em;
	line-height:1.0;
}

#index .sec02 .inwrap .btn {
	width:380px;
	margin:0 auto;
	background:#e95486;
	padding:2px;
}

#index .sec02 .inwrap .btn a {
	border:1px solid #FFF;
	display:block;
	padding:20px 0;
	color:#FFF;
	text-align:center;
	font-size:1.3em;
	line-height:1.0;
}

#index .sec02 .inwrap .btn a:hover {
	text-decoration:none;
	opacity:0.7;
}


/* sec03 */

#index .sec03 {
	margin:-120px 0 0;
	padding:120px 0 0;
}

#index .sec03 h2 {
	font-size:2.1em;
	text-align:center;
	line-height:1.0;
	font-weight:500;
	margin:0 0 30px;
}

#index .sec03 h3 {
	font-size:2.0em;
	text-align:center;
	line-height:1.0;
	font-weight:500;
	margin:0 0 70px;
	color:#0067b3;
}

#index .sec03 .inwrap01 {
	background:url(../image/index/sec03_bg01.jpg) bottom right no-repeat;
	padding:0 0 120px;
}

#index .sec03 .inwrap01 ul {
	text-align:center;
}

#index .sec03 .inwrap01 ul li {
	display:inline-block;
	vertical-align:text-bottom;
	margin-right:20px;
}

#index .sec03 .inwrap01 ul li:last-child {
	margin-right:0;
}

#index .sec03 .inwrap02 {
	background:url(../image/index/sec03_bg02.jpg) bottom left no-repeat;
	padding:180px 0;
	background-size:100% auto;
}
/*
@media screen and (max-width: 1280px){
	#index .sec03 .inwrap02 {
		background-size:auto 100%;
	}	
}
*/

#index .sec03 .inwrap02 .into {
	width:1025px;
	margin:0 auto;
}

#index .sec03 .inwrap02 .into dl dt {
	font-size:1.7em;
	font-weight:500;
	line-height:1.0;
	color:#0067b3;
	margin:0 0 30px;
}

#index .sec03 .inwrap02 .into dl dd {
	font-size:1.05em;
	line-height:2.0;
}

#index .sec03 .inwrap03 {
	background:#ecf9ff;
	padding:80px 0;
}

#index .sec03 .inwrap03 .into {
	width:1025px;
	margin:0 auto;
	overflow:hidden;
	zoom:1;
}

#index .sec03 .inwrap03 .into .green {
	width:400px;
	float:left;
	background:#00b0bc;
	color:#FFF;
}

#index .sec03 .inwrap03 .into .green .grap {
	padding:30px 20px;
}

#index .sec03 .inwrap03 .into .green .grap h4 {
	font-size:1.15em;
	line-height:1.0;
	margin:0 0 15px;
	font-weight:500;
}

#index .sec03 .inwrap03 .into .green .grap p {
	line-height:1.8;
}

#index .sec03 .inwrap03 .into .green .grap .border {
	line-height:1.0;
	border:1px solid #FFF;
	text-align:center;
	margin:10px 0;
	padding:10px 0;
}


#index .sec03 .inwrap03 .into .texts {
	margin-left:460px;
}

#index .sec03 .inwrap03 .into .texts dt {
	font-size:1.7em;
	font-weight:500;
	line-height:1.0;
	color:#0067b3;
	margin:0 0 20px;
	background:url(../image/common/drop_icon.png) left center no-repeat;
	padding:5px 0 5px 30px;
}

#index .sec03 .inwrap03 .into .texts dd {
	line-height:1.8;
}


/* sec04 */

#index .sec04 {
	padding:80px 0 70px;
}

#index .sec04 .inwrap {
	width:1025px;
	margin:0 auto;
}

#index .sec04 h2 {
	font-size:2.0em;
	text-align:center;
	line-height:1.0;
	font-weight:500;
	margin:0 0 50px;
	color:#0067b3;
}

#index .sec04 .same {
	overflow:hidden;
	zoom:1;
}

#index .sec04 .same.fst {
	margin:0 0 50px;
}

#index .sec04 .same dl {
	width:480px;
	float:left;
}

#index .sec04 .same dl.even {
	float:right;
}

#index .sec04 .same dl dt {
	font-size:1.7em;
	font-weight:500;
	line-height:1.0;
	color:#0067b3;
	margin:20px 0;
	background:url(../image/common/drop_icon.png) left center no-repeat;
	padding:5px 0 5px 30px;
}

#index .sec04 .same dl dd {
	font-size:1.05em;
	line-height:1.8;
}

/* sec05 */

#index .sec05 {
	padding:70px 0 80px;
	background:#f1f1f1;
}

#index .sec05 .inwrap {
	width:740px;
	margin:0 auto;
}


#index .sec05 h2 {
	font-size:2.0em;
	text-align:center;
	line-height:1.0;
	font-weight:500;
	margin:0 0 50px;
	color:#0067b3;
}


#index .sec05 .same {
	background:#FFF;
	padding:15px 20px;
	position:relative;
	margin:0 0 50px;
}

#index .sec05 .same:after {
	width:15px;
	height:15px;
	border: 1px solid;
  border-color:  transparent transparent #0067b3 #0067b3;
  transform: rotate(-45deg) translateY(-50%);
	position:absolute;
	bottom:-35px;
	left:50%;
	content:'';
}

#index .sec05 .same.last:after {
	display:none;
}

#index .sec05 .same dl {
	overflow:hidden;
	zoom:1;
}

#index .sec05 .same dl dt {
	float:left;
	width:140px;
}

#index .sec05 .same dl dt span {
	display:inline-block;
	vertical-align:middle;
}

#index .sec05 .same dl dt span.number {
	background:#0067b3;
	line-height:1.0;
	color:#FFF;
	padding:3px 8px 5px;
	border-radius:30px;
}

#index .sec05 .same dl dt span.texts {
	width:90px;
	text-align:center;
	color:#0067b3;
	font-size:1.2em;
	font-weight:500;
}


#index .sec05 .same dl dd {
	margin-left:145px;
	font-size:1.2em;
}

#index .sec05 .yellow {
	text-align:center;
	line-height:1.0;
	font-size:1.3em;
	font-weight:500;
}

#index .sec05 .yellow span {
	background: linear-gradient(transparent 60%, #fecf42 60%);
	padding:0 5px;
}


/* startup */

#index .startup {
	padding:80px 0;
}

#index .startup .btn {
	width:380px;
	margin:0 auto;
	background:#e95486;
	padding:2px;
}

#index .startup .btn a {
	border:1px solid #FFF;
	display:block;
	padding:15px 0;
	color:#FFF;
	text-align:center;
	font-size:1.3em;
	line-height:1.4;
}

#index .startup .btn a:hover {
	text-decoration:none;
	opacity:0.7;
}


/* item */

#index .item {
	background:#ecf9ff;
	padding:100px 0;
}

#index .item .inwrap {
	width:1120px;
	margin:-120px auto 0;
	padding:120px 0 0;
}

#index .item h2 {
	font-size:2.6em;
	text-align:center;
	line-height:1.0;
	font-weight:500;
	margin:0 0 50px;
	color:#0067b3;
}


#index .item .inwrap .same01 {
	overflow:hidden;
	zoom:1;
	margin:0 0 30px;
}

#index .item .inwrap .same02 {
	overflow:hidden;
	zoom:1;
	margin:0 0 80px;
}

#index .item .inwrap .same01 .box {
	width:350px;
	height:675px;
	float:left;
	position:relative;
	margin-right:35px;
	background:#FFF;
}

#index .item .inwrap .same02 .box {
	width:545px;
	height:795px;
	float:left;
	position:relative;
	background:#FFF;
}

#index .item .inwrap .same01 .box.last {
	margin-right:0;
}


#index .item .inwrap .same02 .box.last {
	float:right;
}


#index .item .inwrap .box .into {
	padding:40px 25px 0;
}

#index .item .inwrap .box .btn {
	width:220px;
	position:absolute;
	bottom:50px;
	left:50%;
	transform:translateX(-50%);
}

#index .item .inwrap .box .btn a {
	display:block;
	position:relative;
	background:#00b0bc;
	text-align:center;
	line-height:1.0;
	color:#FFF;
	font-size:1.05em;
	padding:15px;
	border-radius:5px;
}

#index .item .inwrap .box .btn a:hover {
	text-decoration:none;
	opacity:0.7;
}


#index .item .inwrap .box .btn a:after {
	border-left: 8px solid #fff;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
	position:absolute;
	top:50%;
	right:20px;
	content:'';
	transform:translateY(-50%);
	
}

#index .item .inwrap .same01 .box .photo {
	display:table-cell;
	width:300px;
	height:250px;
	text-align:center;
	vertical-align:middle;
}

#index .item .inwrap .same02 .box .photo {
	display:table-cell;
	width:495px;
	height:360px;
	text-align:center;
	vertical-align:middle;
}

#index .item .inwrap .box dl {
	margin:20px 0 0;
}

#index .item .inwrap .box dl dt {
	font-size:1.3em;
	line-height:1.4;
	color:#0067b3;
	margin:0 0 10px;
}

#index .item .inwrap .box dl dt span {
	font-size:1.5em;
	font-weight:500;
}

#index .item .inwrap .box dl dd {
	font-size:1.05em;
	line-height:2.0;
}

#index .item .inwrap .box dl dd span {
	font-size:0.85em;
}

#index .item .inwrap .box dl dd table {
	width:100%;
}

#index .item .inwrap .box dl dd table th,
#index .item .inwrap .box dl dd table td {
	text-align:left;
	vertical-align:top;
}

#index .item .inwrap .box dl dd table tr.even th {
	padding:20px 0;	
}

#index .item .inwrap .box dl dd table tr.even td {
	padding:20px 0 20px 20px;
}

#index .item .inwrap .box dl dd table th {
	width:60px;
	border-right:1px solid #b8b8b8;
	font-weight:500;
}

#index .item .inwrap .box dl dd table td {
	padding-left:20px
}

#index .item .inwrap .links {
	text-align:center;
}

#index .item .inwrap .links li {
	display:inline-block;
	width:400px;
}

#index .item .inwrap .links li:last-child {
	margin-left:50px;
}

#index .item .inwrap .links li a {
	display:block;
	background:#0067b3;
	padding:25px 0;
	text-align:center;
	color:#FFF;
	line-height:1.0;
}

#index .item .inwrap .links li a dt {
	position:relative;
	font-size:1.45em;
	margin:0 0 20px;
}

#index .item .inwrap .links li a dt:after {
	position:absolute;
	top:50%;
	left:90px;
	content:url(../image/common/item_icon01.png);
	transform:translateY(-50%);
}

#index .item .inwrap .links li:last-child a dt:after {
	left:50px;
	content:url(../image/common/item_icon02.png);
}

#index .item .inwrap .links li a:hover {
	opacity:0.7;
}



/* company */

#index .company {
	width:1120px;
	overflow:hidden;
	zoom:1;
	padding:140px 0 0;
	margin:-120px auto 0;
}

#index .company h2 {
	text-align:center;
	line-height:1.0;
	font-size:2.1em;
	margin:0 0 50px;
}

#index .company .left {
	width:530px;
	float:left;
}

#index .company .left table {
	width:100%;
}

#index .company .left table th,
#index .company .left table td {
	text-align:left;
	vertical-align:top;
	font-weight:400;
	border-top:1px solid #c0bfbf;
	border-bottom:1px solid #c0bfbf;
	padding:15px 0;
}

#index .company .left table th {
	width:110px;
}


#index .company .right {
	width:530px;
	float:right;
}

#index .company .right iframe {
	width:100% !important;
	height:395px !important;
}



.topscl {
	position:fixed;
	right:3%;
	bottom:5%;
	z-index:997;
}

.topscl li:nth-child(n + 2) {
	margin-top: 20px;
}


/*===============================================
  画面の横幅が1024px以下に適用
===============================================*/
@media screen and (max-width: 1024px){
	
	.index #container {
		padding:50px 0;
	}


	/* index */

	#index .read {
		margin:0 auto 30px;
		font-size:1.6em;
	}

	/* sec01 */

	#index .sec01 {
		padding:0;
		/*background:url(../image/index/sec01_bg.png) center top no-repeat;
		background-size:100% auto;*/
		background:none;
	}
	
	#index .sec01 .inwrap {
		width:100%;
	}


	#index .sec01 .inwrap .btn {
		position:absolute;
		left:50%;
		bottom:20px;
		width:80%;
		transform:translateX(-50%);
	}

	#index .sec01 .inwrap .btn a {
		padding:15px 0;
		font-size:1.2em;
		line-height:1.4;
	}


	#index .sec01 .inwrap .btn a:before {
		left:20px;
	}


	/* bluearea */


	#index .bluearea p {
		font-size:1.4em;
		padding:20px 0;
	}


	/* sec02 */

	#index .sec02 {
		padding:30px 0 50px;
		background:url(../image/index/sec02_bg.jpg) center bottom no-repeat;
		background-size:auto 100%;
		margin:0 0 50px;
	}

	#index .sec02 .inwrap {
		max-width:94%;
		margin:0 auto;
	}

	#index .sec02 .inwrap .caution {
		text-align:center;
		margin:20px 0 30px;
		font-size:1.0em;
		line-height:1.0;
	}

	#index .sec02 .inwrap .btn {
		width:auto;
	}

	#index .sec02 .inwrap .btn a {
		padding:15px 0;
		font-size:1.2em;
	}


	/* sec03 */

	#index .sec03 h2 {
		font-size:1.6em;
		margin:0 0 30px;
	}

	#index .sec03 h3 {
		font-size:1.4em;
		line-height:1.2;
		margin:0 0 50px;
	}

	#index .sec03 .inwrap01 {
		background:url(../image/index/sec03_bg01.jpg) bottom right no-repeat;
		background-size:auto 100%;
		padding:0 0 60px;
	}


	#index .sec03 .inwrap01 ul li {
		display:block;
		margin:0 0 20px;
	}

	#index .sec03 .inwrap01 ul li:last-child {
		margin:0;
	}

	#index .sec03 .inwrap02 {
		padding:60px 0;
		background-position:right bottom;
		background-size:100% auto;
	}


	#index .sec03 .inwrap02 .into {
		width:94%;
		margin:0 auto;
	}

	#index .sec03 .inwrap02 .into dl dt {
		font-size:1.3em;
		margin:0 0 20px;
	}

	#index .sec03 .inwrap02 .into dl dd {
		font-size:1.0em;
	}
	
	#index .sec03 .inwrap03 {
		padding:50px 0;
	}

	#index .sec03 .inwrap03 .into {
		width:94%;
	}

	#index .sec03 .inwrap03 .into .green {
		width:auto;
		float:none;
		margin:0 0 20px;
	}

	#index .sec03 .inwrap03 .into .green .grap {
		padding:3%;
	}


	#index .sec03 .inwrap03 .into .texts {
		margin:0;
	}

	#index .sec03 .inwrap03 .into .texts dt {
		font-size:1.3em;
	}


	/* sec04 */

	#index .sec04 {
		padding:50px 0;
	}

	#index .sec04 .inwrap {
		width:94%;
		margin:0 auto;
	}

	#index .sec04 h2 {
		font-size:1.6em;
		margin:0 0 30px;
	}

	#index .sec04 .same.fst {
		margin:0 0 30px;
	}

	#index .sec04 .same dl {
		width:auto;
		float:none;
		margin:0 0 20px;
	}

	#index .sec04 .same dl.even {
		float:none;
	}
	
	#index .sec04 .same dl:last-child {
		margin:0;
	}

	#index .sec04 .same dl dt {
		font-size:1.3em;
	}

	#index .sec04 .same dl dd {
		font-size:1.0em;
		line-height:1.6;
	}

	/* sec05 */

	#index .sec05 {
		padding:40px 0;
	}

	#index .sec05 .inwrap {
		width:94%;
	}


	#index .sec05 h2 {
		font-size:1.6em;
		margin:0 0 30px;
	}


	#index .sec05 .same {
		background:#FFF;
		padding:10px;
		position:relative;
		margin:0 0 50px;
	}
	
	#index .sec05 .same dl dt {
		float:none;
	}

	#index .sec05 .same dl dt span.texts {
		font-size:1.0em;
		text-align:left;
		padding-left:15px;
	}


	#index .sec05 .same dl dd {
		margin:10px 0 0;
		float:none;
		font-size:1.0em;
	}
	
	#index .sec05 .yellow {
		line-height:1.4;
	}



	/* startup */

	#index .startup {
		padding:40px 0;
	}

	#index .startup .btn {
		width:90%;
		margin:0 auto;
		background:#e95486;
		padding:2px;
	}

	#index .startup .btn a {
		padding:10px 0;
		font-size:1.2em;
	}


	/* item */

	#index .item {
		padding:50px 0;
	}

	#index .item .inwrap {
		width:94%;
	}

	#index .item h2 {
		font-size:2.0em;
		margin:0 0 30px;
	}


	#index .item .inwrap .same01 {
		margin:0 0 30px;
	}

	#index .item .inwrap .same02 {
		margin:0 0 50px;
	}

	#index .item .inwrap .same01 .box {
		width:auto;
		height:auto;
		float:none;
		margin:0 0 20px;
		padding-bottom:20px;
	}

	#index .item .inwrap .same02 .box {
		width:auto;
		height:auto;
		float:none;
		margin:0 0 20px;
		padding-bottom:20px;
	}

	#index .item .inwrap .same01 .box.last {
		margin:0;
	}


	#index .item .inwrap .same02 .box.last {
		float:none;
		margin:0;
	}


	#index .item .inwrap .box .into {
		padding:20px 5%;
	}

	#index .item .inwrap .box .btn {
		width:90%;
		position:static;
		transform:none;
		margin:0 auto;
	}


	#index .item .inwrap .same01 .box .photo {
		display:block;
		width:auto;
		height:auto;
	}

	#index .item .inwrap .same02 .box .photo {
		display:block;
		width:auto;
		height:auto;
	}


	#index .item .inwrap .box dl dt {
		font-size:1.2em;
	}

	#index .item .inwrap .box dl dt span {
		font-size:1.5em;
		font-weight:500;
	}

	#index .item .inwrap .box dl dd {
		font-size:1.0em;
	}

	#index .item .inwrap .links {
		text-align:center;
	}

	#index .item .inwrap .links li {
		display:block;
		width:auto;
	}

	#index .item .inwrap .links li:last-child {
		margin:20px 0 0;
	}

	#index .item .inwrap .links li a {
		padding:20px 0;
	}

	#index .item .inwrap .links li a dt {
		position:relative;
		font-size:1.2em;
		margin:0 0 10px;
	}


	/* company */

	#index .company {
		width:94%;
	}

	#index .company h2 {
		font-size:1.8em;
		margin:0 0 30px;
	}

	#index .company .left {
		width:auto;
		float:none;
		margin:0 0 20px;
	}


	#index .company .right {
		width:auto;
		float:none;
	}

	#index .company .right iframe {
		width:100% !important;
		height:300px !important;
	}
	
	.topscl {
		text-align:right;
		bottom: 15%;
	}
	
	.topscl img {
		max-width:60%;
	}

	
}


/*===============================================
  画面の横幅が768px以下に適用
===============================================*/
@media screen and (max-width: 768px){
	
}

/*===============================================
  画面の横幅が640px以下に適用
===============================================*/
@media screen and (max-width: 640px){



}

/*===============================================
  画面の横幅が380px以下に適用
===============================================*/
@media screen and (max-width: 380px){
}



#movieBox {
	width: 94%;
	margin: 0 auto 90px;
}

#movieBox h2 {
	text-align: center;
	font-size: 2.13em;
	line-height: 1.0;
	margin-bottom: 80px;
}

.movieFlex {
	display: flex;
	align-items: center;
	justify-content: center;
}

.movieFlex li:nth-child(n + 2) {
	margin-left: 60px;
}

#questBox {
	background: #f1f1f1;
	padding: 80px 0;
	margin-bottom: 90px;
}

.questInner {
	width: 94%;
	margin: 0 auto;
}

#questBox h2 {
	text-align: center;
	font-size: 2.13em;
	line-height: 1.0;
	margin-bottom: 50px;
}

.questLead {
	text-align: center;
	margin-bottom: 40px;
	line-height: 1.8;
}

.questFlex {
	display: flex;
	align-items: center;
	justify-content: center;
}

.questFlex li {
	display: flex;
	align-items: center;
}

.questFlex li:nth-child(n + 2) {
	margin-left: 60px;
}

.questFlex li a {
	display: inline-block;
	width: 325px;
	background: #0067b3;
	color: #fff;
	text-align: center;
	line-height: 1.0;
	font-size: 1.2em;
	padding: 20px 0;
}

.questFlex li a:hover {
	background: #00406e;
}

.questFlex li figure {
	margin-left: 30px;
}

@media screen and (max-width: 767px){
	
	#movieBox {
		margin: 0 auto 60px;
	}

	#movieBox h2 {
		font-size: 1.8em;
		margin-bottom: 40px;
	}

	.movieFlex {
		display: block;
		align-items: center;
		justify-content: center;
	}

	.movieFlex li:nth-child(n + 2) {
		margin: 30px 0 0;
	}

	#questBox {
		background: #f1f1f1;
		padding: 50px 0;
		margin-bottom: 50px;
	}

	#questBox h2 {
		text-align: center;
		font-size: 1.8em;
		line-height: 1.0;
		margin-bottom: 40px;
}

	.questLead {
		margin-bottom: 30px;
	}

	.questFlex {
		display: block;
	}

	.questFlex li {
		display: flex;
		align-items: center;
	}

	.questFlex li:nth-child(n + 2) {
		margin: 30px 0 0;
	}

	.questFlex li a {
		width: 65%;
	}



	.questFlex li figure {
		margin-left: 5%;
		width: 30%;
	}

}