@charset "utf-8";

/* --- SP ---------- */

@media print, screen and (max-width: 740px) {

	div#index_header{
		width: 100%;
		margin: 0;
		padding: 0;
	}

	div.index_header_body{
		max-width: 1300px;
		width: 100%;
		margin: 0 auto;
		padding: 0;
	}

	div.index_header_body .left{
		width: 100%;
	}

	div.index_header_body .lead_body{
		width: 100%;
		padding: 25px 0;
		background: url(../img_sp/top/bk.jpg) center 0 repeat-x;
	}

	div.subtitle{
		max-width: 500px;
		width: 80%;
		margin: 0 auto;
	}

	div.subtext{
		width: 90%;
		margin: 0 auto;
		text-align: center;
		line-height: 2.0;
	}

	div.subtext h1{
		font-size: 90%;
		font-weight: normal;
		margin: 8px 0;
		line-height: 1.6;
	}

	div.subtext p{
		font-size: 90%;
		margin: 0;
		line-height: 1.6;
	}

	div.index_main_photo{
		width: 96%;
		padding: 10px 2%;
		background: #fff;
	}

	div.index_main_photo .bx-caption{
		display: none;
	}

	div.index_main_photo .bx-controls{
		display: none;
	}

	div.index_main_photo .bx-wrapper{
		margin-bottom: 0;
	}

	div.index_header_body .right{
		width: 98%;
		margin: 0 auto;
	}

	div.index_title{
		max-width: 140px;
		width: 100%;
		margin: 8px auto;
	}

	div.index_main_menu{
		width: 100%;
		margin: 0;
		padding: 0;
		border-top: 1px solid #eee;
		display: table;
		line-height: 0;
	}

	div.index_main_menu.last{
		border-bottom: 1px solid #eee;
	}

	div.index_main_menu_photo{
		width: 30%;
		margin: 0 auto;
		display: table-cell;
	}

	div.index_main_menu_text{
		text-align: center;
		width: 70%;
		display: table-cell;
		vertical-align: middle;
	}

	div.index_main_menu_text h2{
		max-width: 209px;
		margin: 0 auto;
	}

	div.index_main_menu_text ul{
		display: none;
	}


	div#index_salespoint{
		width: 100%;
		margin: 0;
		padding: 0 0 15px 0;
		background: #fff;
	}

	div.top-en-title{
		max-width: 140px;
		width: 80%;
		margin: 15px auto 0 auto;
	}

	h2.top-jp-title{
		font-size: 80%;
		margin: 0 0 10px;
		text-align: center;
	}

	p.lead{
		font-size: 90%;
		margin: 0 1em;
		text-align: center;
		line-height: 1.5;
	}

	div.index_salespoint_body{
		width: 98%;
		margin: 15px auto 0;
		padding: 0;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		justify-content:  space-between;
	}

	div.salespoint{
		width: 48%;
		margin: 0 0 15px 0;
		border: 1px solid #ccc;
		box-sizing: border-box;
	}

	div.salespoint a{
		display: block;
		margin: 0 auto;
		width: 90%;
		padding: 5%;
		color: #333;
		z-index: 2;
		text-align: center;
	}


	div.salespoint a:hover{
		text-decoration: none;
	}

	div.salespoint img{
		max-width: 270px;
		margin: 0 auto;
	}

	div.salespoint h3{
		margin: 5px 0 0 0;
		text-align: center;
		padding: 0 0.5em;
	}

	div.salespoint p{
		margin: 5px 0 0 0;
		padding: 0 0.5em;
		font-size: 80%;
		line-height: 160%;
		text-align: left;
	}

	div.salespoint p.more{
		display: none;
	}

	div#index_news{
		width: 100%;
		margin: 0;
		padding: 15px 0;
		background: #f2f2f2;
	}

	div#index_news .news-en-title{
		max-width: 140px;
		width: 80%;
		margin: 15px auto 0 auto;
	}

	div#index_news .news-jp-title{
		font-size: 80%;
		text-align: center;
		margin: 0 0 8px;
	}

	div.index_news_body{
		width: 96%;
		margin: 0 auto;
		padding: 0;
	}

	div.index_news_body .left{
		width: 100%;
	}

	div.index_news_body .right{
		width: 100%;
	}

	div.index_column_body{
		width: 90%;
		margin: 0 auto;
		padding: 20px 4%;
		box-sizing: border-box;
	}

	div.index_column_body a{
		display: block;
		width: 100%;
		color: #333;
	}

	div.index_column_body p.more a{
		display: block;
		text-align: center;
		color: #333;
		padding: 10px 0;
		max-width: 240px;
		width: 80%;
		margin: 10px auto;
		border: 1px solid #666;
		font-size: 12pt;
	}

	div.index_column_body p.more a:hover{
		background: #eee;
		text-decoration: none;
	}


	div.index_column_photo{
		max-width: 540px;
		width: 80%;
		margin: 0 auto;
		max-width: 240px;
		border: 1px solid #ccc;
		line-height: 0;
		box-sizing: border-box;
	}

	div.index_column_text{
		width: 100%;
	}

	div.index_column_text .date{
		margin: 5px 0;
		font-size: 90%;
	}

	div.index_column_text h3{
		margin: 8px 0;
	}

	div.index_news_detail_body{
		width: 96%;
		padding: 10px 4%;
		height: 330px;
		box-sizing: border-box;
		background: #fff;
		margin: 0 auto;
		overflow: auto;
	}

	div.index_news_detail_body dt{
		line-height: 1.6;
		margin-top: 10px;
	}

	div.index_news_detail_body dd{
		line-height: 1.6;
		margin-left: 7em;
		margin-top: -1.6em;
	}

	div.index_news_detail_body a{
		display: block;
		width: 100%;
		color: #333;
	}

	div.index_news_detail_body p.more a{
		display: block;
		text-align: center;
		color: #333;
		padding: 10px 0;
		max-width: 240px;
		width: 80%;
		margin: 25px auto;
		border: 1px solid #666;
		font-size: 12pt;
	}

	div.index_news_detail_body p.more a:hover{
		background: #eee;
		text-decoration: none;
	}



	div#index_works{
		width: 100%;
		margin: 0;
		padding: 15px 0;
		background: #fff;
	}

	div#index_works h2{
		max-width: 140px;
		width: 80%;
		margin: 0 auto 5px;
		line-height: 1.4;
	}

	div.index_works_body{
		width: 96%;
		margin: 0 auto;
		padding:0;
	}

	div.works{
		max-width: 480px;
		width: 95%;
		margin: 10px auto;
		text-align: center;
	}

	div.works a{
		display: block;
		width: 96%;
		height: 96%;
		padding: 2%;
		color: #333;
	}

	div.works a:hover{
		text-decoration: none;
	}

	div.works img{
		max-width: 440px;
		margin: 0 auto;
	}

	div.works h3{
		margin: 5px 0 0 0;
		text-align: center;
		padding: 0 0.5em;
	}

	div.works p{
		margin: 10px 0 0 0;
	}
	div.index_works_body a{
		color: #000;
	}
	div#index_works div.more{
		max-width: 240px;
		width: 80%;
		margin: 25px auto;
		border: 1px solid #666;
		font-size: 12pt;
	}

	div#index_works div.more a{
		display: block;
		text-align: center;
		color: #333;
		padding: 10px 0;
	}

	div#index_works div.more a:hover{
		background: #eee;
		text-decoration: none;
	}


	div#index_links{
		width: 100%;
		margin: 0;
		padding: 15px 0;
		background: #fff;
		border-top: 1px solid #ccc;
	}

	div#index_links h2{
		max-width: 140px;
		width: 80%;
		margin: 5px auto 0 auto;
	}

	div.index_links_body{
		width: 96%;
		margin: 0 auto;
		padding: 0;
	}

	div.links_btn{
		width: 48%;
		float: left;
		margin: 5px 1% 0 1%;
	}

	div.links_btn img{
		max-width: 280px;
		margin: 0 auto;
	}


	div#index_access{
		width: 100%;
		margin: 0;
		padding: 20px 0 5px;
		background: url(../img/top/footer_bk.jpg) center center;
	}

	div.index_access_body{
		width: 96%;
		margin: 0 auto;
		font-size: 110%;
	}

	div.index_access_body .left{
		width: 100%;
		padding: 15px 6%;
		background: #fff;
		box-sizing: border-box;
		font-size: 90%;
	}

	div.index_access_body .right{
		width: 100%;
	}

	div.access_link_btn{
		width: 100%;
		margin: 15px auto;
	}

	div.access_link_btn a{
		display: block;
		width: 48%;
		float: right;
		background: #01325D;
		color: #fff;
		text-align: center;
		padding: 10px 0;
	}

	div.access_link_btn a:first-child{
		float: left;
	}

	div.access_link_btn a:hover{
		background: #73B7F4;
		text-decoration: none;
	}

	div.index_access_body .right img{
		max-width: 580px;
		width: 100%;
		margin: 10px auto 0;
	}

}


/* --- PC ---------- */

@media print, screen and (min-width: 741px) {

	div#index_header{
		width: 100%;
		margin: 0;
		padding: 50px 0;
		background: url(../img/top/bk.jpg) center 0 repeat-x;
	}

	div.index_header_body{
		max-width: 1300px;
		width: 96%;
		margin: 0 auto;
		padding: 50px 0;
	}

	div.index_header_body .left{
		width: 52%;
		float: left;
	}

	div.index_header_body .right{
		width: 40%;
		float: right;
	}

	div.subtitle{
		max-width: 360px;
		width: 50%;
		float: left;
	}

	div.subtext{
		width: 46%;
		float: right;
		line-height: 2.0;
	}

	div.subtext h1{
		font-size: 90%;
		font-weight: normal;
		margin: 12px 0;
	}

	div.subtext p{
		font-size: 90%;
		margin: 0;
	}

	div.index_main_photo{
		margin-top: 40px;
		width: 96%;
		padding: 10px 2%;
		background: #fff;
	}

	div.index_main_photo .bx-caption{
		display: none;
	}

	div.index_main_photo .bx-controls{
		display: none;
	}

	div.index_main_photo .bx-wrapper{
		margin-bottom: 0;
	}

	div.index_main_menu{
		width: 92%;
		padding: 16px 4%;
		background: #fff;
		margin-bottom: 15px;
	}

	div.index_main_menu_photo{
		width: 46%;
		max-width: 200px;
		float: left;
	}

	div.index_main_menu_text{
		width: 52%;
		float: right;
		line-height: 150%;
	}

	div.index_main_menu_text h2{
		max-width: 209px;
		margin: 0;
		padding: 0;
	}

	div.index_main_menu_text ul{
		list-style: none;
		margin: 0 0 0 1em;
		padding: 0;
		font-size: 90%;
	}

	div.index_main_menu_text ul a{
		color:#232323;
	}

	p.lead{
		text-align: center;
		font-size: 110%;
	}

	div#index_salespoint{
		width: 100%;
		margin: 0;
		padding: 80px 0 50px 0;
		background: #fff;
	}

	div.top-en-title{
		max-width: 380px;
		width: 96%;
		margin: 20px auto 0;
		line-height: 0;
	}

	h2.top-jp-title{
		font-size: 80%;
		text-align: center;
		letter-spacing: 1px;
		margin: 0 0 20px;
	}
/*
	div#index_salespoint h2{
		max-width: 380px;
		width: 96%;
		margin: 20px auto;
	}
*/
	div.index_salespoint_body{
		max-width: 1400px;
		width: 98%;
		margin: 20px auto 0;
		padding: 0;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		justify-content:  space-between;
	}

	div.salespoint{
		width: 24%;
		margin: 0 0 20px 0;
		border: 1px solid #ccc;
		box-sizing: border-box;
	}

	div.salespoint a{
		display: block;
		margin: 0 auto;
		width: 90%;
		padding: 5%;
		color: #333;
		z-index: 2;
		text-align: center;
	}

	div.salespoint a:hover{
		text-decoration: none;
	}

	div.salespoint img{
		margin: 0 auto;
	}

	div.salespoint h3{
		margin: 5px 0 0 0;
		text-align: center;
		padding: 0 0.5em;
	}

	div.salespoint p{
		margin: 10px 0 0 0;
		padding: 0 0.5em;
		text-align: left;
		font-size: 90%;
		line-height: 180%;
	}

	div.salespoint p.more{
		text-align: right;
		color: #1E72BA;
	}

	div#index_news{
		width: 100%;
		margin: 0;
		padding: 50px 0;
		background: #f2f2f2;
	}

	div#index_news .news-title-box{
		display: -webkit-flex;
		display: flex;
		margin: 0 0 15px;
	}

	div#index_news .news-en-title{
		margin: 0;
		display: inline-block;
	}

	div#index_news .news-jp-title{
		font-size: 80%;
		letter-spacing: 1px;
		margin: 4% 0 0 2%;
	}
/*
	div#index_news h2{
		max-width: 220px;
		width: 96%;
		margin: 0;
	}
*/

	div.index_news_body{
		max-width: 1300px;
		width: 96%;
		margin: 0 auto;
		padding: 25px 0;
		display: table;
	}

	div.index_news_body .left{
		width: 48%;
		padding-right: 2%;
		display: table-cell;
		vertical-align: top;
	}

	div.index_news_body .right{
		width: 48%;
		padding-left: 2%;
		display: table-cell;
		vertical-align: top;
	}

	div.index_column_body{
		width: 92%;
		padding: 20px 4% 0;;
		background: #fff;
		height: 330px;
		overflow: auto;
	}

	div.index_column_body a{
		display: block;
		width: 100%;
		color: #333;
		font-size: 90%;
		line-height: 150%;
	}

	div.index_column_body p.more a{
		color: #1e72ba;
		font-size:90%;
	}

	div.index_column_photo{
		width: 42%;
		max-width: 240px;
		float: left;
		border: 1px solid #ccc;
		box-sizing: border-box;
		line-height:0;
	}

	div.index_column_text{
		width: 54%;
		float: right;
	}

	div.index_column_text p.date{
		margin-bottom:0;
		font-size:80%;
	}

	div.index_column_text p{
		margin-top:0;
		font-size: 80%;
		line-height: 160%;
	}

	div.index_column_text h3{
		margin:10px 0;
	}

	div.index_news_detail_body{
		width: 92%;
		padding: 20px 4% 0;
		background: #fff;
		height: 330px;
		overflow: auto;
		font-size:80%;
	}

	div.index_news_detail_body dt{
		line-height: 1.6;
		margin-top: 10px;
	}

	div.index_news_detail_body dd{
		line-height: 1.6;
		margin-left: 7em;
		margin-top: -1.4em;
	}

	div.index_news_detail_body a{
/*
		display: block;
*/
		width: 100%;
		color: #333;
	}

	div.index_news_detail_body p.more a{
		color: #1e72ba;
		font-size:90%;
	}

	div.index_news_body p.more{
		text-align: center;
	}


	div#index_works{
		width: 100%;
		margin: 0;
		padding: 80px 0 50px 0;
		background: #fff;
	}

/*
	div#index_works h2{
		max-width: 380px;
		width: 96%;
		margin: 20px auto;
	}
*/

	div.index_works_body{
		max-width: 1300px;
		width: 96%;
		margin: 0 auto;
		padding: 25px 0;
	}
	div.index_works_body a{
		color: #000;
	}

	div.works{
		width: 30%;
		float: left;
		margin-left: 3.5%;
		position: relative;
		transition: all .3s;
		padding: 10px 0 25px 0;
		box-sizing: border-box;
	}

	div.works::before,
	div.works::after {
		position: absolute;
		top: -2px;
		right: -2px;
		bottom: -2px;
		left: -2px;
		z-index: 2;
		content: '';
		transition: all .3s;
	}

	div.works::before {
		border-top: 4px solid #003A6B;
		border-bottom: 4px solid #003A6B;
		transform: scale(0, 1);
	}

	div.works::after {
		border-right: 4px solid #003A6B;
		border-left: 4px solid #003A6B;
		transform: scale(1, 0);
	}

	div.works:hover::after,
	div.works:hover::before {
		transform: scale(1);
	}
	div.works:hover,
	div.works:hover {
		-webkit-transform: translate(0px,-5px);
		-moz-transform: translate(0px,-5px);
		-ms-transform: translate(0px,-5px);
		-o-transform: translate(0px,-5px);
		transform: translate(0px,-5px);
	}

	div.works{
		margin: 0 1.5%;
	}

	div.works a{
		display: block;
		width: 96%;
		height: 96%;
		padding: 2%;
		color: #333;
	}

	div.works a:hover{
		text-decoration: none;
	}

	div.works img{
		max-width: 440px;
		margin: 0 auto;
	}

	div.works h3{
		margin: 5px 0 0 0;
		text-align: center;
		padding: 0 0.5em;
	}

	div.works p{
		margin: 10px 0 0 0;
		padding: 0 0.5em;
		text-align:center;
		font-size: 90%;
	}

	div#index_works div.more{
		max-width: 240px;
		width: 80%;
		margin: 25px auto;
		border: 1px solid #666;
		font-size: 14pt;
	}

	div#index_works div.more a{
		display: block;
		text-align: center;
		color: #333;
		padding: 15px 0;
		font-size:80%;
	}

	div#index_works div.more a:hover{
		background: #333;
		color:#fff;
		text-decoration: none;
	}

	div#index_links{
		width: 100%;
		margin: 0;
		padding: 80px 0 50px 0;
		background: #fff;
		border-top: 1px solid #ccc;
	}
/*
	div#index_links h2{
		max-width: 380px;
		width: 96%;
		margin: 20px auto;
	}
*/
	div.index_links_body{
		max-width: 1200px;
		width: 96%;
		margin: 0 auto;
		padding: 10px 0;
	}

	div.links_btn{
		width: 23%;
		float: left;
		margin-left: 2%;
	}

	div.links_btn img{
		max-width: 280px;
		margin: 0 auto;
	}

	div.links_btn:first-child{
		margin-left: 0;
	}


	div#index_access{
		width: 100%;
		margin: 0;
		padding: 120px 0 80px 0;
		background: url(../img/top/footer_bk.jpg) center center;
	}

	div.index_access_body{
		max-width: 1300px;
		width: 96%;
		margin: 0 auto;
		font-size: 120%;
	}

	div.index_access_body .left{
		width: 44%;
		padding: 40px 4%;
		float: left;
		background: #fff;
		font-size: 80%;
		line-height: 160%;
	}

	div.index_access_body .left h2{
		letter-spacing:2px;
	}

	div.index_access_body .right{
		width: 46%;
		float: right;
	}

	div.access_link_btn{
		width: 100%;
		margin: 50px auto 25px auto;
		font-size:90%;
	}

	div.access_link_btn a{
		display: block;
		border:1px solid #666;
		width: 48%;
		float: right;
		color: #666;
		text-align: center;
		padding: 15px 0;
		-webkit-transition: all 0.7s ease;
		-moz-transition: all 0.7s ease;
		-o-transition: all 0.7s ease;
		transition: all  0.7s ease;
	}

	div.access_link_btn a:first-child{
		float: left;
	}

	div.access_link_btn a:hover{
		background: #333;
		color:#fff;
		text-decoration: none;
		opacity: 0.75 ;
	}

	div.index_access_body .right img{
		max-width: 590px;
		margin: 5px auto;
	}

	div.index_access_body .right img:first-child{
		margin-top: 0;
	}

}


@media print, screen and (min-width: 741px) and (max-width: 1110px) {
	div.subtitle{
		float: none;
		width: 100%;
	}

	div.subtext{
		float: none;
		width: 100%;
		line-height: 1.6;
	}

	div.subtext h1{
		font-size: 90%;
	}

	.tab_contents{
		display: none;
	}
}

/* --- SP ---------- */
@media print, screen and (max-width: 740px) {

}



/* --- PC ---------- */
@media print, screen and (min-width: 741px) {
	.notice{
		max-width: 1200px;
		width: 90%;
		margin: 50px auto;
		background: #f2f2f2;
		box-sizing: border-box;
		padding: 20px;
		display: -webkit-flex;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.notice p{
		font-size: 90%;
		margin: 0;
	}




}

