@charset "UTF-8";



body.ready{
	overflow: auto;
}
body.is-accesed{
	overflow: auto;
}

.is-accesed .loading{
	display: none;
}
.is-accesed .loading .loading-line span{
	animation: none;	
}




@media screen and (min-width: 801px) {


/* section
------------------------------------------------------------*/

	article{
		position: relative;
	}

	.sec-2 article{
		display: flex;
		justify-content: space-between;
	}
	.sec-3 article{
		display: flex;
		justify-content: space-between;
		flex-flow: row-reverse;
	}


	.sec-1 .main-sec{
		position: relative;
		margin: auto;
		max-width: 800px;
		width: 100%;
	}

	.sec-2 .main-sec,
	.sec-3 .main-sec{
		position: relative;
		width: 50%;
	}
	.sec-2 .grid-sec,
	.sec-3 .grid-sec{
		position: relative;
		width: 50%;
	}
	.sec-1 .grid-sec{
		position: absolute;
		width: 50%;
	}

	.txt-box p + p{
		margin-top: 40px;
	}
	.txt-box p strong{
		color: #af9340;
		font-weight: 500;
	}
	.txt-box p.note{
		font-size: 16px;
		font-weight: 100;
	}


	
	.main-sec .txt-box p{
		font-size: 18px;
		line-height: 2;
	}
	.main-sec-inner{
		position: relative;
		z-index: 50;
	}


	.bg-symbol-wrap{
		position: absolute;
		width: 800px;
		height: 947px;
		transform-origin: left top;
	}
	.bg-symbol{
		position: relative;
		left: -80px;
		width: 1812px;
		height: 947px;
		background: url(../img/symbol.png) 50% 50% no-repeat;
		background-size: 100% 100%;
		z-index: 10;
	}


/* concept
------------------------------------------------------------*/


	#concept .bg-symbol{
		top: 120px;
	}

	#concept .section-header span:before,
	#concept .section-header span:after{
		width: calc(50% - 60px);
	}

	#concept .movie{
		position: relative;
		margin: 50px 0 0;
		padding-top: 56.25%;
	}
	#concept .movie iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	#concept .txt-box h3{
		padding: 0 0 60px;
		font-size: 60px;
		font-weight: 500;
		text-align: center;
	}

	
	#concept .news-sec{
		padding: 130px 0 0;
	}
	#concept .news-sec h3{
		position: relative;
	}
	#concept .news-sec h3 i{
		position: relative;
		display: inline-block;
		padding: 0 20px 0 0;
		background: #fff;
		z-index: 20;
	}
	#concept .news-sec h3:after{
		position: absolute;
		content: "";
		display: block;
		margin: auto;
		top:0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #000;
		z-index: 10;
	}
	#concept .news-sec h3 img{
		width: auto;
		height: 23px;
	}
	#concept .news-container{
		padding: 50px 0;
		max-width: 1200px;
		border-bottom: 1px solid #000;
	}
	.news-wrap{
		margin: auto;
	}
	#concept .news-pager{
		position: relative;
		margin: 50px auto 0;
		width: 250px;
		height: 30px;
		text-align: center;
	}
	#concept .news-pager li{
		display: inline-block;
		vertical-align: top;
	}
	#concept .news-pager div{
		display: block;
		height: 30px;
		width: 100%;
		line-height: 30px;
		font-size: 20px;
		font-weight: 600;
		color: #d51322;
	}
	#concept .news-pager a{
		position: relative;
		display: block;
		width: 30px;
		height: 30px;
		background: #d51322;
		outline: none;
	}
	#concept .news-pager a.swiper-button-disabled{
		opacity: 0.5;
		cursor: default;
	}

	
	#concept .news-pager a.btn-next:before,
	#concept .news-pager a.btn-prev:before{
		content: "";
		display: block;
		width: 30px;
		height: 30px;
	}
	#concept .news-pager a.btn-next{
		position: absolute;
		right: 0;
	}
	#concept .news-pager a.btn-prev{
		position: absolute;
		left: 0;
	}
	#concept .news-pager a.btn-prev:before{
		background: url(../img/arrow_wh.png) 50% 50% no-repeat;
		background-size: 16px 10px;
		transform: rotate(90deg);
	}
	#concept .news-pager a.btn-next:before{
		background: url(../img/arrow_wh.png) 50% 50% no-repeat;
		background-size: 16px 10px;
		transform: rotate(-90deg);
	}
	#concept .mode-single .news-pager{
		display: none;
	}




/* message
------------------------------------------------------------*/


	#message{
		position: relative;
		margin-top: 200px;
		z-index: 100;
	}
	#message .bg{
		display: none;
	}
	#message .section-header span:before,
	#message .section-header span:after{
		width: calc(50% - 83px);
	}

	#message dl{
		margin-top: 30px;
		float: right;
	}
	#message dl dt{
		text-align: right;
		line-height: 2;
	}
	#message dl dd{
		margin-top: 20px;
		text-align: right;
	}
	#message .sign{
		width: 235px;
		display: inline-block;
	}
	#message .sign img{
		width: 100%;
		height: auto;
	}


/* embrem
------------------------------------------------------------*/

	#embrem{
		position: relative;
		margin-top: 600px;
	}
	#embrem .section-header span:before,
	#embrem .section-header span:after{
		width: calc(50% - 164px);
	}


	#embrem .txt-col{
		padding: 0 0 60px;
	}

	#embrem article{
		position: relative;
		z-index: 100;
	}
	#embrem article p{
		color: #fff;
	}
	#embrem .txt-box figure img{
		width: 100%;
	}
	#embrem .txt-box figure{
		position: relative;
	}
	#embrem .txt-box .embrem2{
		margin: auto;
		max-width:145px;
	}



/* projects
------------------------------------------------------------*/

	#projects{
		position: relative;
		margin-top: 800px;
		z-index: 100;
	}

	#projects .bg-wrap{
		display: none;
	}
	#projects .section-header span:before,
	#projects .section-header span:after{
		width: calc(50% - 74px);
	}
	#projects .projects-detail{
		border-bottom: 1px solid #000;
	}
	#projects .projects-detail a{
		position: relative;
		display: block;
		padding: 30px 40px 30px 0;
		font-size: 22px;
		font-weight: 500;
	}
	#projects .projects-detail a:hover{
		opacity: 0.7;
		transition: opacity 300ms ease;
	}
	#projects .projects-detail a br{
		display: none;
	}
	#projects .projects-detail a span{
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		right: 0;
		bottom: 0;
		width: 30px;
		height: 30px;
		background: #d51322;
	}

	#projects .projects-detail a span:after{
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		right: 0;
		bottom: 0;
		width: 30px;
		height: 30px;
		background: url(../img/arrow_wh.png) 50% 50% no-repeat;
		background-size: 16px 10px;
		transition: transform 300ms ease;
	}

	#projects .projects-detail a.open span:after{
		transform: rotate(180deg);
		
	}

	#projects .projects-detail h3{
		position: relative;
		margin: 0 0 40px;
		padding: 0 0 0 20px;
		font-size: 22px;
		font-weight: 500;
	}
	#projects .projects-detail h3:before{
		position: absolute;
		content: "";
		margin: auto;
		top: 0;
		left: 0;
		bottom: 0;
		display: block;
		width: 5px;
		height: 25px;
		background: #000;
	}
	#projects .detail{
		height: 0;
		overflow: hidden;
		transition: height 300ms ease;
	}
	#projects .detail .detail-inner{
		padding: 0 0 60px;
	}
	#projects .detail .inner-col + .inner-col{
		margin-top: 40px;
	}
	#projects .detail .inner-col dt{
		margin: 0 0 10px;
		font-weight: 500;
		font-size: 20px;
	}
	#projects .detail .inner-col dd strong{
		margin: 0 5px;
		font-weight: 500;
	}
	#projects .detail .inner-col dd i{
		font-size: 16px;
	}
	#projects .detail .inner-col ol{
		padding-left: 1em;
	}
	#projects .detail .inner-col li{
		text-indent: -1.5em;
		padding-left: 1.5em;
		line-height: 1.8;
	}
	#projects .detail .inner-col li + li{
		margin-top: 15px;
	}


/* goods
------------------------------------------------------------*/

	#goods{
		position: relative;
		margin-top: 200px;
		z-index: 100;
	}

	#goods .bg-symbol{
		top: -90px;
	}
	#goods .bg-wrap{
		display: none;
	}
	#goods .section-header span:before,
	#goods .section-header span:after{
		width: calc(50% - 98px);
	}
	#goods figure + .txt-col{
		margin-top: 40px;
	}
	#goods figure{
		border: 10px solid #062865;
	}
	#goods figure img{
		width: 100%;
		height: auto;
	}
	#goods .main-sec{
		padding: 1000px 0 0;
	}


/* btmarea
------------------------------------------------------------*/
	#btmarea{
		position: relative;
		margin-top: 300px;
		z-index: 100;
		display: none;
	}

	#btmarea .bg-wrap{
		display: none;
	}


}

@media screen and (min-width: 900px){

	#application .application-box h3 br{
		display: none;
	}

}

@media screen and (min-width: 801px) and (max-width: 1080px) {


	.section-header span i{
		font-size: 16px;
		padding: 0 10px;
	}

	#concept .section-header span:before,
	#concept .section-header span:after {
		width: calc(50% - 50px);
	}
	#message .section-header span:before,
	#message .section-header span:after {
		width: calc(50% - 63px);
	}
	#embrem .section-header span:before,
	#embrem .section-header span:after {
		width: calc(50% - 144px);
	}
	#projects .section-header span:before,
	#projects .section-header span:after {
		width: calc(50% - 64px);
	}
	#goods .section-header span:before,
	#goods .section-header span:after{
		width: calc(50% - 78px);
	}
	#application .section-header span:before,
	#application .section-header span:after {
		width: calc(50% - 141px);
	}

}


@media screen and  (min-width: 801px) and (max-width: 900px) {


	#concept .txt-box h3 {
		font-size: 54px;
	}

}

@media screen and (max-width: 800px) {



/* section
------------------------------------------------------------*/

	article{
		position: relative;
	}

	.sec-1 .main-sec{
		position: relative;
		margin: auto;
		max-width: 800px;
		width: 100%;
	}

	.sec-2 .main-sec,
	.sec-3 .main-sec{
		position: relative;
	}
	.sec-2 .grid-sec,
	.sec-3 .grid-sec{
		position: relative;
	}
	.sec-1 .grid-sec{
		position: relative;
	}

	.txt-box p + p{
		margin-top: 20px;
	}
	.txt-box p strong{
		color: #af9340;
		font-weight: 500;
	}
	.txt-box p.note{
		font-size: 10px;
		font-weight: 100;
	}

	.main-sec .txt-box p{
		line-height: 2;
	}
	.main-sec-inner{
		position: relative;
		padding: 0 25px;
		z-index: 50;
	}

	.bg-symbol-wrap{
		display: none;
	}
	section + section{
		margin-top: 80px;
	}


/* concept
------------------------------------------------------------*/



	#concept .bg-symbol-wrap{
		top: 108px;
	}

	#concept .section-header span:before,
	#concept .section-header span:after{
		width: calc(50% - 32px);
	}

	#concept .movie{
		position: relative;
		margin: 50px 0 0;
		padding-top: 56.25%;
	}
	#concept .movie iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	#concept .txt-box h3{
		padding: 0 0 20px;
		text-align: center;
		font-size: 25px;
		font-weight: 500;
	}

	
	#concept .news-sec{
		position: relative;
		padding: 60px 25px 0;
		z-index: 100;
	}
	#concept .news-sec h3{
		position: relative;
		font-size: 0;
	}
	#concept .news-sec h3 i{
		position: relative;
		display: inline-block;
		padding: 0 20px 0 0;
		z-index: 20;
	}
	#concept .news-sec h3:after{
		position: absolute;
		content: "";
		display: block;
		margin: auto;
		top:0;
		bottom: 0;
		right: 0;
		width: calc(100% - 115px);
		height: 1px;
		background: #000;
		z-index: 10;
	}
	#concept .news-sec h3 img{
		width: auto;
		height: 13px;
		vertical-align: top;
	}
	#concept .news-container{
		padding: 20px 65px 30px 0;
		max-width: 1200px;
		border-bottom: 1px solid #000;
		overflow: inherit;
		box-sizing: border-box;
	}
	#concept .news-container.mode-single{
		padding: 20px 0 30px 0;

	}
	#concept .news-pager{
		display: none;
	}


/* message
------------------------------------------------------------*/


	#message{
		position: relative;
		z-index: 100;
	}


	#message .section-header span:before,
	#message .section-header span:after{
		width: calc(50% - 41px);
	}
	#message article p{
		color: #fff;
	}
	#message .main-sec{
		position: relative;
		margin-top: -10%;
		padding: 10% 0 60px;
		background: #032667;
		z-index: 10;
	}

	#message dl{
		padding: 30px 0;
		color: #fff;
		text-align: left;
	}
	#message dl dt{
		line-height: 2;
	}
	#message dl dd{
		margin-top: 20px;
	}
	#message .sign{
		width: 150px;
		display: inline-block;
	}
	#message .sign img{
		width: 100%;
		height: auto;
	}




/* embrem
------------------------------------------------------------*/

	#embrem{
		position: relative;
		margin-top: 0;
	}
	#embrem .section-header span:before,
	#embrem .section-header span:after{
		width: calc(50% - 82px);
	}

	#embrem .txt-col{
		padding: 0 0 30px;
	}
	#embrem article{
		position: relative;
		z-index: 100;
	}
	#embrem .txt-box figure img{
		width: 100%;
	}
	#embrem .txt-box figure{
		position: relative;
	}
	#embrem .txt-box .embrem2{
		margin: 30px auto 0;
		max-width:145px;
	}


/* projects
------------------------------------------------------------*/

	#projects{
		position: relative;
		z-index: 100;
	}
	#projects .section-header span:before,
	#projects .section-header span:after{
		width: calc(50% - 37px);
	}
	#projects .detail p{
		color: #fff;
	}
	#projects .grid-sec{
		z-index: 20;
	}
	#projects .main-sec{
		position: relative;
		margin-top: -10%;
		padding: 10% 0 120px;
		background: #032667;
		z-index: 10;
	}
	#projects .projects-detail:first-child{
		border-top: 1px solid #fff;
	}
	#projects .projects-detail{
		border-bottom: 1px solid #fff;
	}
	#projects .projects-detail a{
		position: relative;
		display: block;
		padding: 20px 40px 20px 0;
		color: #fff;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.8;
	}
	#projects .projects-detail a span{
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		right: 0;
		bottom: 0;
		width: 22px;
		height: 22px;
		background: #d51322;
	}

	#projects .projects-detail a span:after{
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		right: 0;
		bottom: 0;
		width: 22px;
		height: 22px;
		background: url(../img/arrow_wh.png) 50% 50% no-repeat;
		background-size: 12px 7px;
		transition: transform 300ms ease;
	}

	#projects .projects-detail a.open span:after{
		transform: rotate(180deg);
		
	}

	#projects .projects-detail h3{
		position: relative;
		margin: 0 0 20px;
		padding: 0 0 0 15px;
		font-size: 13px;
		font-weight: 500;
		color: #fff;
	}
	#projects .projects-detail h3:before{
		position: absolute;
		content: "";
		margin: auto;
		top: 0;
		left: 0;
		bottom: 0;
		display: block;
		width: 4px;
		height: 15px;
		background: #fff;
	}
	#projects .detail{
		height: 0;
		overflow: hidden;
		transition: height 300ms ease;
	}
	#projects .detail .detail-inner{
		padding: 15px 0 35px;
	}
	#projects .detail{
		color: #fff;
	}
	#projects .detail .inner-col + .inner-col{
		margin-top: 20px;
	}

	#projects .detail .inner-col dt{
		margin: 0 0 10px;
		font-weight: 500;
	}
	#projects .detail .inner-col dd strong{
		margin: 0 5px;
		font-weight: 500;
	}
	#projects .detail .inner-col ol{
		padding-left: 1em;
	}
	#projects .detail .inner-col li{
		text-indent: -1.5em;
		padding-left: 1.5em;
		line-height: 1.8;
	}
	#projects .detail .inner-col li + li{
		margin-top: 10px;
	}


/* goods
------------------------------------------------------------*/

	#goods{
		position: relative;
		margin: 0;
		z-index: 100;
	}
	#goods .main-sec{
		position: relative;
		margin-top: -10%;
		padding: 10% 0 25%;
		background: #032667;
		z-index: 10;
	}


	#goods .section-header span:before,
	#goods .section-header span:after{
		width: calc(50% - 49px);
	}
	#goods figure + .txt-col{
		margin-top: 20px;
	}
	#goods figure{
		border: 5px solid #062865;
	}
	#goods figure img{
		width: 100%;
		height: auto;
	}
	#goods p{
		color: #fff;
		text-shadow: 0px 0px 5px #000;
	}


/* btmarea
------------------------------------------------------------*/
	#btmarea{
		position: relative;
		z-index: 100;
		margin: 0;
	}

}


@media screen  and (max-width: 374px){

	.main-sec-inner {
	    padding: 0 15px;
	}
	#concept .txt-box h3 {
	    font-size: 20px;
	}
	#application .application-box h3 {
	    font-size: 20px;
	}
}




