@charset "utf-8";


/* index1 */
#index1{ border-bottom:1px solid #ccc; padding-bottom:15px;}
#index1 .container{max-width: 1500px;padding: 0;}
@media only screen and (max-width:991px)	{#index1 .container{max-width: 1500px;padding: 0 20px;}}

#index1 h2{text-align: left;font-size: 36px;margin-bottom: 75px;font-weight: bold;}
#index1 h2 span{text-align: right;font-size:20px;font-weight: bold; display:block;font-style: italic;}

	@media only screen and (max-width:991px)	{#index1 h2{font-size: 24px;margin-bottom: 30px;text-align: center;}
	#index1 h2 span{text-align: center;font-size:16px;font-weight: bold; display:block;}}

section h2{text-align: center;font-size: 42px;margin-bottom: 75px;font-weight: normal}
	@media only screen and (max-width:991px)	{section h2{font-size: 24px;margin-bottom: 30px;}}

section h3{text-align: center;font-size: 18px;margin-bottom: 45px;font-weight: normal;}


#index2{border-bottom:1px solid #ccc;}
#index2 h2{color:#000;font-weight:bold;border-bottom: 2px solid #b5b5b5;font-size:36px;padding-bottom: 50px;}
	@media only screen and (max-width:991px)	{#index2 h2{font-size: 24px;margin-bottom: 30px;padding-bottom: 20px;}}
#index2 h2:first-letter{ color:#2e3aa6; font-size:120%;}

.item-list{ background:#fff; border:1px solid #ccc; position:relative;}
.item-list.new:after{content: "";background: url(../images/top/new-icon.png) left center /80px no-repeat;width: 100px;height: 60px;display: block;position: absolute;top:-20px;left: -13px;right: 0;}
.item-list-text{ padding:10px;}
.item-list h3{ font-weight:bold; text-align:left; font-size:18px; color:#2e3aa6; margin-bottom:15px;}
.item-list h4{ font-weight:bold; text-align:left; font-size:16px; color:#333;}

.img_wrap {position: relative; width: 100%; height: 100%; padding: 90% 0 0;
}
.img_wrap a{position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; background: #fff;}

.item-list img { width: auto; height: auto; text-align: center; max-width: 100%; max-height: 100%; display: block; margin-left: auto; margin-right: auto;}
.owl-carousel{position:relative;margin-bottom: 50px;}
.owl-carousel .owl-stage-outer{z-index:1;}

.item > a{padding-bottom: 66.6666666666%;background-size:cover;background-position: center center;background-repeat: no-repeat;display: block;background-color: #fff;}

.owl-carousel img{height:auto;}


.owl-prev:before,.owl-next:before{font-family: 'Font Awesome\ 5 Pro';position: absolute;top: 50%;bottom: 50px;margin: -15px 0;text-align: center;font-size: 30px;color:#fff;z-index: 1100;}

.owl-prev{width: 30px;line-height: 30px;}
.owl-prev:before{content: "\f104";left: 10px;}

.owl-next{width: 30px;line-height: 30px;}
.owl-next:before{content: "\f105";right: 10px;}

.owl-carousel .owl-dots{text-align: center;height: 5px;display: flex;justify-content:center;margin-top: 45px;position: absolute;top: 100%;left: 0;right: 0;}
.owl-carousel .owl-dot{width: 30px;height: 5px;background: #ddd;margin:0 3px;}
.owl-carousel .owl-dot.active{border:1px solid #333;background: #333;}

#index3{border-bottom:1px solid #ccc;}
#index3 h2{color:#000;font-weight:bold;border-bottom: 2px solid #b5b5b5;font-size:36px;padding-bottom: 50px;}
	@media only screen and (max-width:991px)	{#index3 h2{font-size: 24px;margin-bottom: 30px;padding-bottom: 20px;}}
#index3 h2:first-letter{ color:#2e3aa6; font-size:120%;}




#index4{border-bottom: 1px solid #ccc;}

#index4 h2{color:#000;}


.bg_gallery01{
	background: url(../images/top/img01.jpg) no-repeat center center;
}

.bg_gallery02{
	background: url(../images/top/img02.jpg) no-repeat center center;
}
.bg_gallery03{
	background: url(../images/top/img03.jpg) no-repeat center center;
}
.bg_gallery04{
	background: url(../images/top/img04.jpg) no-repeat center center;
}


.square-content2{
	display: block;
	height: 0;
	width: 100%;
	padding-bottom: 84%;
	position:relative;
	overflow:hidden;
	background-size: auto 100% ;
	transition:0.5s ease-in-out;
	overflow:hidden;
}
.square-content2::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: '';
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	background-color: rgba(0,0,0,0.4);
}

.square-content2:hover::before{background-color: rgba(0,0,0,0);}

.square-content2:hover{
	background-size: auto 110%;
	transition: all 0.5s ease-in;
}

.square-content2 > div {
	position:absolute;
	top:0;
	bottom:0;
}
.square-content2-inner{
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
}

.square-content2 p {
	color: #fff;
	font-size: 18px;
	text-align: center;
	line-height: 30px;
	font-weight:bold;
}

.square-content2 h3{
	margin-top: 30px;
	color:#fff;
	line-height: 50px;
	padding:5px 25px 0;
	position: relative;
}
.square-content2 h3 span{
	display: inline-block;
	position: relative;
	height: 50px;
	width: auto;
	line-height: 50px;
	font-size: 28px;
	text-align: center;
	color: #fff;
	font-weight: 600;
}
@media only screen and (max-width:991px)	{.square-content2 h3 span{ line-height: 1.7; font-size: 18px;}
.square-content2 h3{
	margin-top: 30px;
	color:#fff;
	line-height: 50px;
	padding:5px 10px 0;
	position: relative;
}
}

#index5{border-bottom: 1px solid #ccc;}

#index5 h2{color:#000;font-weight:bold;border-bottom: 2px solid #b5b5b5;font-size:36px;padding-bottom: 50px;}
	@media only screen and (max-width:991px)	{#index5 h2{font-size: 24px;margin-bottom: 30px;padding-bottom: 20px;}}
#index5 h2:first-letter{ color:#2e3aa6; font-size:120%;}




.list_btn {	list-style: none;width:100%;display: inline-block;}

.list_btn li{	border-right: 1px solid #fff;	width: 25%; border-bottom: 1px solid #fff;	float: left;	text-align:center;}

.list_btn li a{background: #2e3aa6;font-size: 14px;color:#fff;line-height: 1;font-weight: normal;padding: 15px 15px;position: relative;display: block;}
@media only screen and (max-width:991px)	{.list_btn li{width: 50%;}}
.list_btn > li > a:hover,
.list_btn > li > a:active,
.list_btn > li > a:focus,
.list_btn > li.active > a	{	background:#010d32; color:#fff; border-radius:0;}

#index6{}

#index6 h2{color:#000;font-weight:bold;border-bottom: 2px solid #b5b5b5;font-size:36px;padding-bottom: 50px;}
	@media only screen and (max-width:991px)	{#index6 h2{font-size: 24px;margin-bottom: 30px;padding-bottom: 20px;}}
#index6 h2:first-letter{ color:#2e3aa6; font-size:120%;}


#link-area{border: 1px solid #e5e5e5;border-top: none; border-radius: 0 0 4px 4px; background: #fff; font-size: 12px; box-shadow: 0 0 6px rgba(4, 0, 0, 0.2);  margin-bottom: 40px;}
#link-area h3{ background:#333; color:#fff; text-align:center; font-size:20px; font-weight:bold; padding:10px;margin-bottom:0px;}
.link-list{ list-style: none; overflow: hidden; padding-bottom: 8px; font-size:16px; }
.link-list li span { display: block; }
.link-list li { border-bottom: 1px solid #e5e5e5;}
.link-list li:last-child{ border-bottom:none;}
.link-list li a { display: block; line-height: 18px; padding: 12px 12px 12px 12px; color:#0d88d0}
.link-list li a:hover{color:#0d88d0; opacity:0.8;}

#index7{}
#index7 h2{color:#000;}

.qabox{position: relative;word-wrap: break-word;background: #fff;}
	@media only screen and (max-width:991px)	{.qabox{}}

.qabox dt{background: #f6f6f6;display: block;position: relative;overflow: hidden;font-size: 24px;line-height: 30px;padding:45px 0 45px 60px;color:#00c1ff;font-weight: normal;}
	@media only screen and (max-width:991px)	{.qabox dt{font-size: 15px;line-height: 1.25;padding:15px 0 15px 45px;}}

.qabox dt .container:before{content: "Q.";display: inline-block;width: 60px;font-size: 30px;margin-left: -60px;}
	@media only screen and (max-width:991px)	{.qabox dt .container:before{width: 45px;margin-left: -45px;}}


.qabox dd{background: #fff;display: block;position: relative;overflow: hidden;padding:45px 0 45px 60px;font-weight: normal;}
	@media only screen and (max-width:991px)	{.qabox dd{line-height: 1.25;padding:15px 0 15px 45px;}}

.qabox dd .container:before{content: "A.";display: inline-block;width: 60px;font-size: 30px;margin-left: -60px;color:#00c1ff;}
	@media only screen and (max-width:991px)	{.qabox dd .container:before{width: 45px;margin-left: -45px;}}




.qabox dd p{margin-top: -25px;}

.qabox + .qabox{margin-top: 45px;}
	@media only screen and (max-width:767px)	{.qabox + .qabox{margin-top: 10px;}}

#index8{}
#index8 h2{color:#000;}

.news-box{}

.news-article{display: table;width: 100%;align-items:center;}
	@media only screen and (max-width:991px)	{.news-article{display: block;}}

.news-article + .news-article{margin-top: 15px;}

.news-date,.news-comment{display: table-cell;vertical-align: top;}
	@media only screen and (max-width:575px)	{.news-date,.news-comment{display: block;}}

.news-date{width: 110px;text-align: left;padding: 9px 0;}
	@media only screen and (max-width:991px)	{.news-date{width: auto;}}

.news-date.shp{border-bottom: 1px solid #0d88d0;}
.news-date.tpc{border-bottom: 1px solid #00c1ff;}

.news-comment{border-bottom: 1px solid #999;padding: 9px 15px;}
	@media only screen and (max-width:991px)	{.news-comment{width: 100%;}}



#index9{}
#index9 h2{color:#000;}

#index10{}
#index10 h2{color:#fff;}

#index11{background: url(../images/top/bg-index3.jpg) center center /cover no-repeat #00c1ff;color:#fff;}
	@media only screen and (max-width:991px)	{#index11{background: url(../images/top/bg-index3-sp.jpg) center center /cover no-repeat;padding-bottom: 90%;}}

#index11 h2{color:#fff;text-align: left;font-size: 60px;font-weight: bold;margin-bottom: 30px;}
	@media only screen and (max-width:991px)	{#index11 h2{font-size: 29px;font-weight: bold;margin-bottom: 15px;}}

.index11-copy img{}
	@media only screen and (max-width:991px)	{.index11-copy img{width: 290px;height: auto;}}

#index11 .lead{font-size: 30px;line-height: 36px;margin: 30px 0;}
	@media only screen and (max-width:991px)	{#index11 .lead{font-size: 21px;line-height: 27px;margin: 15px 0;}}


.check{list-style: none;}
.check li{font-size: 18px;line-height: 48px;padding-left: 45px;padding-left: 48px;position: relative;}
	@media (max-width:991px)	{.check li{font-size: 16px;line-height: 24px;padding-left: 24px;}}

.check li:before{content: "";background: url(../images/common/checkmark.png) left center /30px no-repeat;width: 30px;height: 48px;display: block;position: absolute;top: 0;left: 0;right: 0;}
	@media (max-width:991px)	{.check li:before{width: 30px;height: 24px;background-size:20px;}}

.comment{font-size: 18px;line-height: 48px;padding-left: 45px;padding-left: 48px;position: relative;}
	@media (max-width:991px)	{.check li{font-size: 16px;line-height: 18px;padding-left: 24px;}}
