/* ---------------------------------------------------------------
	start max 850px
--------------------------------------------------------------- */

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

	body {
		padding-top: 68px;
	}

	/* --------------- common --------------- */




	/* --------------- header -------------- */

	.col_header {
		width: 100%;
		height: 68px;
		padding-left: 18px;
	}

	.logo_header {
		width: 236px;
	}

	.tel_header {
		display: none;
	}

	.btn_contact_header {
		display: none;
	}

	.sp_headerarea {
		height: 100%;
		margin-left: auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		   -ms-flex-align: center;
		      align-items: center;
	}

	.spbtn_contact {
		width: 52px;
		height: auto;
		display: block;
	}

	.spbtn_contact.tel {
		margin-right: 10px;
	}

	.spbtn_contact.mail {
		margin-right: 12px;
	}

	#menubtn {
		width: 68px;
		height: 100%;
		margin: 0;
		padding: 0;
		background-color: #011142;
		display: block;
	}

	#menubtn .btn {
		width: 40px;
		height: 100%;
		margin: 0 auto;
		position: relative;
		z-index: 0;
	}

	#menubtn .btn span {
		width: 100%;
		height: 3px;
		margin: auto;
		padding: 0;
		background-color: #fff;
		display: inline-block;
		transition: all .4s;
		-moz-transition: all .4s;
		-webkit-transition: all .4s;
		position: absolute;
		left: 0;
		right: 0;
	}

	#menubtn span:nth-child(1) {
		top: 19px;
	}

	#menubtn span:nth-child(2) {
		top: 34px;
	}

	#menubtn span:nth-child(3) {
		top: 49px;
	}

	#menubtn.active span:nth-of-type(1) {
		width: 96%;
		-webkit-transform: translateY(20px) rotate(-45deg);
		transform: translateY(20px) rotate(-45deg);
		top: 12px;
	}

	#menubtn.active span:nth-of-type(2) {
		opacity: 0;
	}

	#menubtn.active span:nth-of-type(3) {
		width: 96%;
		-webkit-transform: translateY(-20px) rotate(45deg);
		transform: translateY(-20px) rotate(45deg);
		top: 52px;
	}

	.nav_header {
		width: 100%;
		height: calc(100vh - 68px);
		display: none;
		background-color: rgba(0,16,65,0.9);
		position: absolute;
		top: 68px;
		right: 0;
		overflow: auto;
	}

	.nav_header > ul {
		width: 100%;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		   -ms-flex-direction: column;
		       flex-direction: column;
	}

	.nav_header > ul > li {
		width: 100%;
		border-right: none;
		border-bottom: solid 1px #7e87a0;
		background-color: transparent;
		position: relative;
		z-index: 0;
	}

	.nav_header > ul > li:not(.btm):after {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 5px 0 5px 5px;
		border-color: transparent transparent transparent #ada046;
		position: absolute;
		top: 26px;
		left: 22px;
	}

	.nav_header > ul > li.pc_none {
		display: block;
	}

	.nav_header > ul > li:first-child {
		border-left: none;
	}

	.nav_header > ul > li > a {
		height: auto;
		padding: 17px 36px;
		position: relative;
		z-index: 0;
		-webkit-box-pack: start;
		   -ms-flex-pack: start;
		 justify-content: flex-start;
	}

	.nav_header > ul > li.trigger > a:before,
	.nav_header > ul > li.trigger > a:after {
		content: "";
		width: 18px;
		height: 2px;
		background-color: #fff;
		position: absolute;
		transition: all .3s;
	}

	.nav_header > ul > li.trigger > a:before {
		top: 29px;
		right: 30px;
	}

	.nav_header > ul > li.trigger > a:after {
		top: 29px;
		right: 29.5px;
		transform: rotate(90deg);
	}

	.nav_header > ul > li.trigger.open > a:after {
		transform: rotate(180deg);
	}


	.nav_header > ul > li:before {
		content: none;
	}

	.nav_header > ul > li:hover > a {
		color: #fff;
	}

	.nav_header > ul > li.active > a,
	.nav_header > ul > li:hover > a:not(.btn_nav_contact) {
		color: #fff !important;
	}

	.submenu_header {
		width: 100%;
		margin: 0 auto 25px;
		padding: 0 20px;
		position: static;
		top: 0;
		opacity: 1;
		visibility: visible;
		display: none;
	}
	
	.submenu_header ul li{
		background-color: rgb(255 255 255 / 90%);
		position: relative;
	}
	
	.submenu_header ul li::before{
		content: "";
        display: inline-block;
        width: 8px;
        height: 8px;
        border-top: 2px solid #a58f3e;
        border-right: 2px solid #a58f3e;
        transform: rotate(45deg);
        position: absolute;
        top: 19px;
        right: 14px;
	}
	
	.submenu_header ul li:hover {
		background-color: #fff !important;
	}

	.submenu_header ul li a {
		min-height: 48px;
		font-weight: 400;
		text-align: left;
	}

	.submenu_header ul li a br {
		display: none;
	}

	.submenu_header ul li a span {
		position: relative;
		z-index: 0;
	}

	.submenu_header ul li a span:before {
		content: "\30FB";
	}

	.nav_header > ul li.btm {
		padding-bottom: 80px;
		border-bottom: none;
	}

	.nav_header > ul > li.btm .btn_nav_contact {
		width: 280px;
		margin: 30px auto 50px;
		padding: 12px 0;
		color: #001041;
		-webkit-box-pack: center;
		   -ms-flex-pack: center;
		 justify-content: center;
	}

	.nav_header > ul > li.btm .btn_nav_contact:hover {
		color: #001041 !important;
	}

	.nav_header > ul > li.btm .btn_nav_contact:after {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 11px 11px;
		border-color: transparent transparent #090042 transparent;
		position: absolute;
		bottom: 5px;
		right: 5px;
	}

	.nav_header > ul > li.btm .btn_nav_contact:before {
		content: none;
	}

	.btn_close {
		width: 52px;
		margin: 0 auto;
	}



	/* --------------- footer -------------- */

	.pagetop {
		width: 70px;
		height: 70px;
	}

	footer:before {
		width: 100%;
		height: 11vw;
		background-image: url(../img/sp/bg_footer.png);
		background-size: 100% auto;
		top: -10.5vw;
		left: 0;
	}

	.col_footer {
		width: 90%;
		margin-bottom: 40px;
	}

	.inner_footer {
		padding: 45px 0 35px;
	}

	.left_footer {
		width: 100%;
	}

	.logo_footer {
		margin: 0 auto 20px;
	}

	footer address {
		margin-left: 0;
		text-align: center;
	}

	.btn_footer_contact {
		margin: 0 auto 2vw;
	}
	.btn_footer_company {
		margin: 0 auto;
	}

	.right_footer {
		display: none;
	}

	.copyright {
		text-align: center;
	}

	/* --------------- top -------------- */


	.inner_topmainimg {
		width: 90%;
	}

	.col_toptrust {
		background-image: url(../img/top/sp/bg_trust.jpg);
		background-repeat: no-repeat;
		background-size: 100% 110vw;
		background-position: center bottom 10px;
	}

	.inner_toptrust {
		width: 100%;
	}

	.mds_top1 .ja {
		font-size: 25px;
	}

	.txt_toptrust {
		margin-bottom: 50px;
	}

	.box_toptrust1 {
		width: 90%;
		margin-bottom: 40px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		   -ms-flex-direction: column;
		       flex-direction: column;
	}

	.link_toptrust {
		width: 100%;
	}

	.link_toptrust.facility {
		margin-right: 0;
		margin-bottom: 15px;
	}

	.link_toptrust h3 .ja {
		font-size: 25px;
	}

	.link_toptrust h3 .en {
		font-size: 19px;
	}

	.link_toptrust.facility .right {
		height: 36.47vw;
	}

	.img_topfacility1 {
		width: 56%;
		max-width: 100%;
		right: 0%;
		top: -16%;
	}

	.img_topfacility2 {
		width: 82%;
		max-width: 100%;
		left: 10%;
	}

	.link_toptrust p {
		margin-top: 25px;
		line-height: 1.8;
	}

	.deco_toptrust.sp_none {
		display: none;
	}

	.deco_toptrust.pc_none {
		display: block;
	}

	.inner_topstance {
		width: 90%;
	}

	dl.lead_topstance dt {
		font-size: 25px;
	}

	.inner_topvalues {
		width: 90%;
		padding: 65px 0 65px;
	}

	.inner_topinfo {
		width: 90%;
		padding: 65px 0 65px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		   -ms-flex-direction: column;
		       flex-direction: column;
	}

	.col_topnews {
		width: 100%;
		margin-right: 0;
		margin-bottom: 45px;
	}

	dl.list_topnews {
		padding: 20px 0;
	}

	.col_topfb {
		width: 100%;
	}

	.col_toprecruit {
		height: auto;
		background-size: cover;
	}

	.inner_toprecruit {
		width: 90%;
	}

	.inner_toprecruit .mds_top1 {
		width: 176px;
	}

	.box_toprecruit {
		width: calc(100% - 176px);
		padding: 20px 25px;
;	}

	.box_toprecruit dl {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		   -ms-flex-direction: column;
		       flex-direction: column;
	}

	.box_toprecruit dl dt {
		width: auto;
		margin-bottom: 3px;
	}

	.box_toprecruit dl dd {
		width: auto;
	}

	.col_topbnr {
		padding: 45px 0 20vw;
	}

	.inner_topbnr {
		width: 90%;
		max-width: 500px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		   -ms-flex-direction: column;
		       flex-direction: column;
	}

	.inner_topbnr .btmbnr {
		width: 100%;
	}

	.bnr_seimitu {
		margin-right: 0;
		margin-bottom: 20px;
	}





/* --------------- news --------------- */


	.list_news {
		padding-left: 15px;
		padding-right: 15px;
	}

	.date_news,
	.mds_news,
	.cont_news {
		padding-left: 10px;
		padding-right: 10px;
	}

	.info_news {
		width: calc(100% - 220px);
	}

	.thumb_news  {
		width: 220px;
	}

	.img_news {
		height: 145px;
	}


/* --------------- business --------------- */

	.col_business {
		padding-top: 30px;
	}

	.cont_business1,
	.cont_business1:nth-child(even) {
		padding: 0;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		   -ms-flex-direction: column;
		       flex-direction: column;
	}

	.txt_business {
		width: 100%;
		padding: 0;
		margin: 0 0 20px;
	}

	.txt_business h2 {
		width: 110px;
		margin: 0 auto 12px;
	}

	.txt_business dl {
		padding: 0;
	}

	.txt_business dl dt {
		margin-bottom: 15px;
		padding-bottom: 15px;
		padding-left: 5px;
		padding-right: 5px;
		text-align: center;
	}

	.txt_business dl dd {
		padding: 0 5px;
	}

	.img_business,
	.cont_business1:nth-child(even) .img_business {
		width: 92%;
		max-width: 520px;
		margin: 0 auto;
		padding: 0;
	}

	.cont_business1:nth-child(even) .txt_business {
		-webkit-box-ordinal-group: 1;
		           -ms-flex-order: 0;
		                    order: 0;
	}

	.cont_business1:nth-child(even) .img_business {
		-webkit-box-ordinal-group: 2;
		           -ms-flex-order: 1;
		                    order: 1;
	}
	
	.img_business.small img {
		width: 100%;
		max-width: 100%;
	}

	.box_business {
		margin: 20px 10px 0;
	}

	.txt_business dl dd .tab,
	.box_business .tab {
		display: none;
	}

	.col_business .goRight15,
	.col_business .goLeft15 {
		-webkit-transform: translate3d(0,15px,0);
		transform: translate3d(0,15px,0);
	}

	.col_business .goRight15.active,
	.col_business .goLeft15.active {
		-webkit-transform: translate3d(0,0,0);
		transform: translate3d(0,0,0);
	}


/* --------------- works --------------- */


	.col_works {
		padding: 65px 0 60px 0;
	}

	.tbl_works th {
		width: 140px;
	}


/* --------------- design --------------- */


#Design .img_works {
	height: 370px;
}




/* --------------- flow --------------- */

	.col_flow {
		margin-top: 40px;
	}

	.col_flow:before {
		left: 40px;
	}

	.mds_flow {
		width: 80px;
	}

	.right_flow {
		width: calc(100% - 80px);
		padding-left: 35px;
		padding-top: 15px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		   -ms-flex-direction: column;
		       flex-direction: column;
	}

	.right_flow dl {
		width: 100%;
		margin: 0 0 30px 0;
	}

	.right_flow dl dd .sp_none,
	.contact_flow .uketuke .small br {
		display: none;
	}

	.img_flow {
		width: 100%;
		max-width: 88%;
		margin: 0 0 0 0;
	}


/* --------------- contact --------------- */


	.col_contact {
		padding: 45px 0;
	}

	.inner_contact {
		margin-bottom: 40px;
	}



/* --------------- about --------------- */

	.inner_about1 {
		height: calc( 338px + 24vw);
	}

	.inner_about1:before {
		width: 87%;
		height: 40vw;
		margin: 0;
		right: -4%;
	}

	.box_about1 {
		padding: 34px 32px 22px;
	}

	.inner_about2 {
		padding: 65px 0 65px;
	}

	.col_about2 .mds_top1 {
		margin-bottom: 20px;
	}
	
	.col_message .mds_top1{
		margin-bottom: 20px;
	}
	.flow_about_history {
		width: 100%;
	}

	.flow_about_history:before {
		right: auto;
		left: 38px;
	}

	.list_history1 {
		width: 100%;
	}

	.year_about {
		margin-top: 4px;
	}

	.year_about,
	.long.list_history1.left .year_about {
		width: 100px;
	}

	.info_about {
		width: calc(100% - 100px);
	}

	.info_about dl dt {
		margin: 6px 0 12px;
	}

	.info_about dl dd .sp_none {
		display: none;
	}

	.list_history1:before,
	.list_history1.left:before {
		width: 100%;
		left: 0;
		top: 36px;
	}

	.year_about.big {
		height: 28px;
	}

	.list_history1.left .year_about {
		text-align: left;
		-webkit-box-ordinal-group: 1;
		           -ms-flex-order: 0;
		                    order: 0;
	}

	.right .year_about img,
	.list_history1.left .year_about img {
		margin-left: 27px;
		margin-right: 0;
	}

	.list_history1 .year_about.big img,
	.list_history1.left .year_about.big img {
		margin-right: 0;
		margin-left: 22px;
	}

	.info_about dl,
	.list_history1.left .info_about dl {
		padding-right: 0;
		padding-left: 0;
		-webkit-box-ordinal-group: 1;
		           -ms-flex-order: 0;
		                    order: 0;
	}

	.info_about {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}

	.info_about dl {
		width: 100%;
	}

	.img_about_history {
		width: auto;
		margin-top: 10px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-ordinal-group: 2;
		           -ms-flex-order: 1;
		                    order: 1;
	}

	.img_about_history.sp_none {
		display: none;
	}

	.img_about_history .mb10 {
		margin: 0;
		margin-right: 4%;
	}

	.img_about_history span {
		width: 150px;
	}

	.img_about_history.sp_none {
		display: none;
	}

	.info_about dl dd .img_about_pc_none {
		width: 150px;
		display: block;
	}


	.list_history1.y1963,
	.list_history1.y1969,
	.list_history1.y1973,
	.list_history1.y1976,
	.list_history1.y1990,
	.list_history1.y2006,
	.list_history1.y2007,
	.list_history1.y2010,
	.list_history1.y2012,
	.list_history1.y2013,
	.list_history1.y2015,
	.list_history1.y2016,
	.list_history1.y2019 {
		margin-bottom: 25px;
	}

	.inner_about3 {
		padding: 65px 0;
	}

	.gmap_about {
		height: 330px;
	}
	
	.ttl_message{
		font-size: 23px;
	}
	
	.flex_message{
		gap: 45px;
	}

}

/* ---------------------------------------------------------------
	end max 850px
--------------------------------------------------------------- */
