@charset "utf-8";

body{}
@media only screen and (max-width:991px)	{body{margin-top: 80px;}}

#index1{text-align:center;}


#index1 h2{ font-size:32px; margin-bottom:45px; color:#333; font-weight:bold;}
#index1 h2 span{color:#ababab; margin-bottom:40px; font-size:20px;}
#index1 p{font-size: 18px; line-height: 2;}
@media only screen and (max-width:991px)	{#index1 h2{font-size:24px; text-align:center; margin:0 0 45px 0;}
#index1 p{font-size: 16px; line-height: 2;}}


#index2{text-align:center;}


#index2 h2{ font-size:32px; margin-bottom:45px; color:#333; font-weight:bold;}
#index2 h2 span{color:#ababab; margin-bottom:40px; font-size:20px;}
#index2 p{font-size: 18px; line-height: 2;}
@media only screen and (max-width:991px)	{#index2 h2{font-size:24px; text-align:center; margin:0 0 45px 0;}
#index2 p{font-size: 14px; line-height: 2;}}

#index3{}
.works-intro{font-size:32px; margin-bottom:45px; color:#333; font-weight:bold; text-align: center;}
@media only screen and (max-width:991px)	{.works-intro{font-size:24px; text-align:center; margin:0 0 45px 0;}}

#appeal{}
.appeal-tb,.appeal-top,.appeal-bottom{display: table;width: 100%;table-layout: fixed;}
	@media (max-width:991px)	{.appeal-tb,.appeal-top,.appeal-bottom{display: block;}}

.appeal-left,.appeal-right{display: table-cell;width: 50%;vertical-align:top;overflow: hidden;}
	@media (max-width:991px)	{.appeal-left,.appeal-right{display: block;width: 100%;}}


.appeal1,.appeal2,.appeal3,.appeal4,.appeal5,
.appeal1:hover,.appeal2:hover,.appeal3:hover,.appeal4:hover,.appeal5:hover,
.appeal1:active,.appeal2:active,.appeal3:active,.appeal4:active,.appeal5:active,
.appeal1:focus,.appeal2:focus,.appeal3:focus,.appeal4:focus,.appeal5:focus
{text-align: center;padding:30px 15px;}

.appeal4,.appeal5,.appeal4:hover,.appeal5:hover,.appeal4:active,.appeal5:active,.appeal4:focus,.appeal5:focus{display: table-cell;vertical-align: middle;}


.appeal1,.appeal2,.appeal3,.appeal4,.appeal5{position: relative;}

.appeal1:hover,.appeal2:hover,.appeal3:hover,.appeal4:hover,.appeal5:hover,
.appeal1:active,.appeal2:active,.appeal3:active,.appeal4:active,.appeal5:active,
.appeal1:focus,.appeal2:focus,.appeal3:focus,.appeal4:focus,.appeal5:focus{opacity:.75;overflow: hidden;}


.appeal1 *,.appeal2 *,.appeal3 *,.appeal4 *,.appeal5 *{position: relative;z-index: 1;}


.appeal1 h2,.appeal2 h2,.appeal3 h2,.appeal4 h2,.appeal5 h2{font-size: 24px;line-height: 1;margin-bottom: 15px;font-weight: bold;}

.appeal1,.appeal2,.appeal3,.appeal4,.appeal5,
.appeal1:hover,.appeal2:hover,.appeal3:hover,.appeal4:hover,.appeal5:hover,
.appeal1:active,.appeal2:active,.appeal3:active,.appeal4:active,.appeal5:active,
.appeal1:focus,.appeal2:focus,.appeal3:focus,.appeal4:focus,.appeal5:focus{color:#fff;text-shadow: 0 0 3px #000;}

.appeal5,
.appeal5:hover,
.appeal5:active,
.appeal5:focus{height: 400px;}

.appeal2,.appeal3,.appeal4,
.appeal2:hover,.appeal3:hover,.appeal4:hover,
.appeal2:active,.appeal3:active,.appeal4:active,
.appeal2:focus,.appeal3:focus,.appeal4:focus{height: 300px;vertical-align: middle;}
.appeal1:before,.appeal2:before,.appeal3:before,.appeal4:before,.appeal5:before{content: "";position: absolute;top: 0;left: 0;right: 0;bottom: 0;background-position: center center;background-size:cover;background-repeat: no-repeat;transform-origin:50% 50%;transform:scale(1.0);transition:.5s;}

.appeal1:before,.appeal1:hover:before,.appeal1:active:before,.appeal1:focus:before{background-image: url(../images/top/appeal1.jpg);height: 600px;}
.appeal2:before,.appeal2:hover:before,.appeal2:active:before,.appeal2:focus:before{background-image: url(../images/top/appeal2.jpg);}
.appeal3:before,.appeal3:hover:before,.appeal3:active:before,.appeal3:focus:before{background-image: url(../images/top/appeal3.jpg);}
.appeal4:before,.appeal4:hover:before,.appeal4:active:before,.appeal4:focus:before{background-image: url(../images/top/appeal4.jpg);}
.appeal5:before,.appeal5:hover:before,.appeal5:active:before,.appeal5:focus:before{background-image: url(../images/top/appeal5.jpg);}

	@media (max-width:991px)	{.appeal1,.appeal2,.appeal3,.appeal4,.appeal5,.appeal1:hover,.appeal2:hover,.appeal3:hover,.appeal4:hover,.appeal5:hover,.appeal1:active,.appeal2:active,.appeal3:active,.appeal4:active,.appeal5:active,.appeal1:focus,.appeal2:focus,.appeal3:focus,.appeal4:focus,.appeal5:focus{height: auto;}
.appeal5,
.appeal5:hover,
.appeal5:active,
.appeal5:focus{display: block;}
.appeal1,.appeal2,.appeal3,.appeal4,.appeal5,
.appeal1:hover,.appeal2:hover,.appeal3:hover,.appeal4:hover,.appeal5:hover,
.appeal1:active,.appeal2:active,.appeal3:active,.appeal4:active,.appeal5:active,
.appeal1:focus,.appeal2:focus,.appeal3:focus,.appeal4:focus,.appeal5:focus
{text-align: center;padding:80px 15px;}}

	@media (max-width:991px)	{.appeal4,.appeal4:hover,.appeal4:active,.appeal4:focus{display: block;padding-left: 15px;}}

.appeal1:hover:before,.appeal1:active:before,.appeal1:focus:before,
.appeal2:hover:before,.appeal2:active:before,.appeal2:focus:before,
.appeal3:hover:before,.appeal3:active:before,.appeal3:focus:before,
.appeal4:hover:before,.appeal4:active:before,.appeal4:focus:before,
.appeal5:hover:before,.appeal5:active:before,.appeal5:focus:before{transform-origin:50% 50%;transform:scale(1.1);transition:.5s;}


#top-btn{padding: 90px 0!important;}

/*square-img*/
#square-img{}


#square-img h2{color:#333; font-weight:bold; text-align:center; margin-bottom:75px; font-size: 42px;}
#square-img h2 span{font-size: 18px;display: block;padding-top: 15px;}
	@media only screen and (max-width:991px)	{#square-img h2{font-size: 24px;margin-bottom:45px}}


#square-img  h3{font-size:20px; text-align:center;color:#000;line-height:1.7;margin-bottom: 15px; font-weight: bold;}
.square-content{ display: block; height: 0; width: 100%; padding-bottom: 63%; position:relative; overflow:hidden; margin-bottom:20px;}
.square-content h3{font-size:40px; text-align:center;color:#fff;line-height: 30px;padding:10px;position:absolute;top:0;bottom:0;}
.square-content h3 span{ font-size:20px; display:block; padding-top:15px; font-weight: bold;line-height: 1.7;}

.bg_about01{
	background: no-repeat center center;
	background-size: auto 100%;
	-webkit-transition:0.5s ease-in-out;
	-moz-transition:0.5s ease-in-out;
	-ms-transition:0.5s ease-in-out;
	-o-transition:0.5s ease-in-out;
	transition:0.5s ease-in-out;
	overflow:hidden;
}
.square-content > div { position: absolute; top: 28%;}
.square-content-inner { display: flex; justify-content: center; align-items: center; width: 100%;}
.square-content:hover { background-size: auto 110%; transition: all 0.5s ease-in;}


#bg-img-contents{background: url(../images/top/bg-img-contents.jpg) center center /cover no-repeat #fff;color:#fff;}
	@media only screen and (max-width:991px)	{#bg-img-contents{background: url(../images/top/bg-img-contents.jpg) center center /cover no-repeat;}}

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

#bg-img-contents .lead{font-size: 30px;line-height: 36px;margin: 30px 0;}
	@media only screen and (max-width:991px)	{#bg-img-contents .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;}}


#layer{ padding-top:125px;}
@media only screen and (max-width:991px) {#layer{}}

#layer .top_img{position: relative; top: 0; left: 0; width: 60%;}
#layer .top_img span { display: block; width: 100%; top: 0; bottom: 0; left: 0; right: 0; margin: auto; position: absolute;}

@media only screen and (max-width:991px) {#layer .top_img{width: 100%;}
#layer .top_img span{ display: block; width: 100%; top: 0; bottom: 0; left: 0; right: 0; margin: auto; position: absolute;}
#layer .col-12{ padding-top:40%;}}

#layer h2{text-align: center;font-size: 32px;font-weight: bold; position:relative;color:#333;margin-bottom: 75px;}
@media only screen and (max-width:991px)	{#layer h2{font-size: 32px;margin-bottom: 30px;}}

#layer h2 span{ font-size:20px; color:#333; display:block; padding-top:15px; font-weight:bold;}

@media only screen and (max-width:991px)	{#layer h2 span{ display:block;}}


#layer h3{text-align:left;font-size: 24px;margin-bottom: 35px;font-weight: bold; position:relative; line-height:1.7}
@media only screen and (max-width:991px)	{#layer h3{font-size: 18px;margin-bottom: 30px;}}

#layer .inner{ background-color: rgba(239,239,239,0.95); padding:80px 80px; color:#333;}
@media only screen and (max-width:991px)	{#layer .inner{padding:25px 20px;display: block;width: 90%; margin-left:auto; margin-right:auto;}}


#layer2{ padding-top:125px;}
@media only screen and (max-width:991px) {#layer2{padding-top:45px;}}

#layer2 .top_img{position: relative; top: 0; left: 0; width: 70%;}
#layer2 .top_img span { display: block; width: 100%; top: 0; bottom: 0; left: 50%; right: 0; margin: auto; position: absolute;}

@media only screen and (max-width:991px) {#layer2 .top_img{width: 100%;}
#layer2 .top_img span{ display: block; width: 100%; top: 0; bottom: 0; left: 0; right: 0; margin: auto; position: initial;}
#layer2 .col-12{ }}

#layer2 h2{text-align: left;font-size: 4.5vw;font-weight: bold; position:relative;color:#333;margin-bottom: 75px;}
@media only screen and (max-width:991px)	{#layer2 h2{font-size: 32px;margin-bottom: 30px;}}

#layer2 h2 span{ font-size:20px; color:#333; display:block; padding-top:15px; font-weight:bold;}

@media only screen and (max-width:991px)	{#layer2 h2 span{ display:block;}}


#layer2 h3{text-align:left;font-size: 24px;margin-bottom: 35px;font-weight: bold; position:relative; line-height:1.7}
@media only screen and (max-width:991px)	{#layer2 h3{font-size: 18px;margin-bottom: 30px;}}

#layer2 .inner{ padding:80px 10px; color:#333;}
@media only screen and (max-width:991px)	{#layer2 .inner{padding:25px 15px;display: block;width: 100%; margin-left:auto; margin-right:auto;}}


#access h2{color:#333; font-weight:bold; text-align:center; margin-bottom:75px; font-size: 42px;}
#access h2 span{font-size: 18px;display: block;padding-top: 15px;}
	@media only screen and (max-width:991px)	{#access h2{font-size: 24px;margin-bottom:45px}}


#news{}
#news h2{color:#333; font-weight:bold; text-align:center; margin-bottom:40px; font-size: 32px;}
#news h2 span{font-size: 18px;display: block;padding-top: 15px;}
	@media only screen and (max-width:991px)	{#news h2{font-size: 24px;margin-bottom:45px}}

#news h4{color:#333; font-weight:bold; text-align:left; margin-bottom:15px; font-size: 20px;}
.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:991px)	{.news-date,.news-comment{display: block;}}

.news-date{width: 130px;text-align: center;padding: 9px 0;}
	@media only screen and (max-width:991px)	{.news-date{width: auto;}}
.news-date .red{font-size: 80%;color: #FF0004;}
.news-date.shp{border-bottom: 1px solid #000;}
.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{}}
.news-comment a{text-decoration: underline;color:#0075c1 }

.news-scroll{overflow:auto;overflow-y:scroll;height: 160px;background:#f6f6f6;padding: 10px;font-size: 9pt;}
.top-t{color: #018d81!important;text-decoration: underline;}
.news-t{color: #cc1616!important;}
#contact{background: url(../images/top/bg-contact.jpg) center center /cover no-repeat #fff;}
#contact p{color:#000;}
#contact h2{font-size: 36px; text-align: center; margin-bottom: 40px;color:#000; font-weight: bold;}
#contact .lead{ text-align:center; font-weight:bold; font-size:20px; color: #000;margin: 10px 0 35px;}
#contact .inner{ padding:45px 30px; background: rgba(255,255,255,.8); }
@media only screen and (max-width:991px)	{#contact .lead{ text-align:center; font-weight:bold; font-size:16px;}
#contact h2{font-size: 24px;}}