@charset "utf-8";
/*==================================================
	スマホのみに適用
==================================================*/
@media only screen and (max-width: 640px) {
	body {
		font-size: 85%;
	}
	.dsp_hp, .dsp_hpt {
		display: none;
	}
	/* ヘッダ */
	#header h1.title img {
		max-height: 25px;
	}
	@media only screen and (max-width: 320px) {
		#header h1.title img {
			max-height: 22px;
		}
	}
	/* コンテナ */
	#wrap, #footer {
		min-width: 320px;
	}
	#container h3.sub {
		margin-bottom: 5px;
		font-size: 20px;
/*font-size: 18px;*/
	}
	#container h3.sub_border {
		padding-bottom: 15px;
		font-size: 20px;
	}
	#page_title #sub_ttl span {
		font-size: 24px;
	}
	/* フッター */
	#footer dd {
		width: 100%;
	}
	#footer .contact_bg {
		padding-top: 40px;
	}
	#footer .contact {
		padding-top: 30px;
		padding-bottom: 50px;
	}
	#footer .contact .tel a {
		font-size: 22px;
	}
	#footer .contact .txt span {
		font-size: 30px;
	}
	#footer .box {
		height: auto;
		padding-bottom: 30px;
	}
	#footer .box .in {
		height: auto;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		padding: 0 15px;
		margin-top: 0;
		align-items: center;
	}
	#footer .box dt img {
		max-width: 250px;
	}
	#footer dd, #footer dd p {
		text-align: center;
	}
	#copyright {
		height: auto;
		line-height: 1.6;
		padding: 5px 0;
	}
	/* 枠のマージン・パディング */
	.mb {
		margin-bottom: 30px;
	}
	.pt {
		padding-top: 90px;
	}
	.pb {
		padding-bottom: 80px;
/*padding-bottom: 30px;*/
	}
	.pad_anchor {
		padding-left: 0px;
		padding-right: 0px;
	}
	#wp_pagenavi .page-numbers {
		font-size: 15px;
/*font-size: 20px;*/
		margin: 0 8px;
	}
	@media only screen and (max-width: 320px) {
		#wp_pagenavi .page-numbers {
			font-size: 17px;
			margin: 0 6px;
		}
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	#page_title #top_ttl img {
		height: 500px;
		object-fit: cover;
		object-position: 65% center;
	}
	#page_title .text_small p {
		font-size: 16px;
		left: 15px;
		bottom: 100px;
		text-shadow: 2px 2px 0 rgba(0,0,0,0.3);
	}
	@media only screen and (max-width: 320px) {
		#page_title .text_small p {
			font-size: 14px;
			left: 10px;
		}
	}
	#page_title .text_large p {
		font-size: 22px;
		left: 15px;
		bottom: 60px;
		text-shadow: 2px 2px 0 rgba(0,0,0,0.3);
	}
	
	#top_info .button {
		display: none;
	}
	#top_info {
		height: 100%;
		margin-top: 0;
		padding-bottom: 70px;
	}
	#top_info dd a {
		width: 260px;
	}
	#top_info .info_heading {
		text-align: center;
	}
	#top_info .info_dl {
		margin: 0 15px;
		padding: 0;
	}
	#top_info .info_dl dl {
		padding-bottom: 15px;
	}
	#top_info .info_dl dl dt {
		font-size: 13.5px;
/*font-size: 10px;*/
	}
	#top_info .info_dl dd {
		font-size: 14px;
		padding: 5px 0px 0px 0px;
	}
	#aboutus {
		height: auto;
		margin-bottom: 0;
	}
	#aboutus .aboutus_flex .img, .box1 .img, #technicalskill .img {
		max-width: 100%;
	}
	.aboutus_flex {
		margin-bottom: 40px;
	}
	#top_msg {
		padding-top: 0;
	}
	#product {
		background-position: unset;
		margin-top: 0;
	}
	.product_flex {
		background-position: unset;
		height: auto;
		margin-bottom: 40px;
	}
	#technicalskill {
		margin-bottom: 40px;
	}
	.box1 {
		margin-top: 0;
		margin-bottom: 0;
	}
	.box2 {
		margin-top: 0;
	}
	.technicalskill_box1 {
		margin-top: 0;
	}
	.technicalskill_box2 {
		margin-top: 0;
		box-sizing: border-box;
	}
	#container .technicalskill_description {
		padding: 0;
	}
	#link {
		margin-top: 50px;
	}
	.link_wrap {
		margin-bottom: 50px;
	}
	.company, .recruit {
		height: 170px;
		margin: 0 auto 40px;
	}
	/*--------------------------------------------------
		当社の特徴
	--------------------------------------------------*/
	#sub_aboutus .box_mar_l, #sub_aboutus .box_mar_r {
		margin-bottom: 30px;
	}
	#sub_aboutus .box_mar_l dt, #sub_aboutus .box_mar_r dt {
		font-size: 20px;
/*font-size: 18px;*/
		z-index: 0;
	}
	#sub_aboutus .box_mar_l img, #sub_aboutus .box_mar_r img{
		width: 100%;
		position: relative;
	}
	#sub_aboutus .box_mar_l dl, #sub_aboutus .box_mar_r dl {
		background: #ECF0F5 url(../img/aboutus/bg_maru.png) no-repeat left 5px top;
		background-size: 50%;
		position: relative;
		width: 100%;
		top: 0;
		bottom: auto;
		left: auto;
		transform: none;
		padding: 15px 0;
	}
	#sub_aboutus .box_mar_r dl {
		background: #ECF0F5 url(../img/aboutus/bg_maru.png) no-repeat right 5px top;
	}
	#sub_aboutus .box_mar_l dt::before, #sub_aboutus .box_mar_r dt::before{
		width: 100%;
	}
	#sub_aboutus .box_mar_l dd, #sub_aboutus .box_mar_r dd{
		padding: 0 15px;
	}
	#sub_aboutus .box_mar_l dd .video p, #sub_aboutus .box_mar_r dd .video p {
		width: 100%;
		margin-bottom: 30px;
	}
	#sub_aboutus .box_mar_l dd .atten p:first-of-type, #sub_aboutus .box_mar_r dd .atten p:first-of-type {
		margin-right: 0;
	}
	/*--------------------------------------------------
		製品情報
	--------------------------------------------------*/
	#sub_product .product_box {
		padding-top: 40px;
	}
	#sub_product .product_box .product_menu01::before {
		width: 100%;
		margin-left: auto;
	}
	#sub_product .product_box dl {
		padding: 20px;
	}
	#sub_product .product_box dt {
		font-size: 18px;
		margin-bottom: 20px;
	}
	#sub_product .product_box .product_menu01 {
		margin-bottom: 40px;
	}
	#sub_product .product_box .product_menu01 p.img {
		position: relative;
		top: 15px;
		left: 50%;
		bottom: -50px;
		transform: translateX(-50%);
		width: 90%;
	}
	#sub_product .product_box dd p.btn a {
		width: 100%;
	}
	#sub_product .product_box .product_menu02::before {
		width: 100%;
		margin-right: auto;
	}
	#sub_product .product_box .product_menu02 dl {
		width: auto;
		margin-bottom: 40px;
	}
	#sub_product .product_box .product_menu02 p.img {
		position: relative;
		top: 15px;
		left: 50%;
		bottom: -50px;
		transform: translateX(-50%);
		width: 90%;
	}
	/*--------------------------------------------------
		舶用金属製品
	--------------------------------------------------*/
	@media only screen and (max-width: 320px) {
		#ship_equipment .about .txt {
			font-size: 12.5px;
		}
	}
	#ship_equipment .product .sec {
		margin-bottom: 50px;
	}
	#ship_equipment .product .sec h4 {
		font-size: 17px;
	}
	#ship_equipment .product .sec h4:before {
		top: 3px;
	}
	#ship_equipment .product .sec dl dd {
		top: -10vw;
		margin-bottom: -10vw;
		padding-top: 14vw;
		padding-bottom: 20px;
	}
	#ship_equipment .product .msg {
		margin-bottom: 30px;
	}
	#ship_equipment .link .button.dl {
		margin-bottom: 20px;
	}
	/*--------------------------------------------------
		産業用金属製品
	--------------------------------------------------*/

	/*--------------------------------------------------
		技術・設備紹介
	--------------------------------------------------*/
	#technical .sec p.txt {
		line-height: 1.7;
	}
	#technical .product_intro .sec ul {
		margin-top: 10px;
		display: block;
	}
	#technical .product_intro .sec ul li {
		width: 100%;
		margin-bottom: 15px;
	}
	#technical .product_intro .sec ul li:last-of-type {
		margin-bottom: 0;
	}
	#technical .factory dl dt {
		margin-bottom: 30px;
		line-height: 2.14;
	}
	#technical .imgs.w3 {
		/*grid-template-columns: repeat(1, 100%);
		gap: 10px; */
	}
	#technical .imgs li {
		width: 80%;
		margin-bottom: 10px;
	}
	/*--------------------------------------------------
		会社案内
	--------------------------------------------------*/
	#company .greeting .info {
		margin-bottom: 30px;
	}
	#company .greeting .info .rit {
		font-size: 18px;
		margin-top: 0;
	}
	#company .about .office_img {
		width: 80%;
	}
	#company .philosophy .box {
		padding: 8px;
	}
	#company .philosophy .box::before {
		border-top: 15px solid #124680;
		border-left: 15px solid #124680;
		border-bottom: 15px solid transparent;
		border-right: 15px solid transparent;
	}
	#company .philosophy .box::after {
		border-top: 15px solid transparent;
		border-left: 15px solid transparent;
		border-bottom: 15px solid #124680;
		border-right: 15px solid #124680;
	}
	#company .philosophy .box .in .in2 {
		padding: 10px;
	}
	#company .philosophy .box .in .in2 span {
		font-size: 18px;
	}
	#company .history .year h4 {
		font-size: 18px;
/*font-size: 15px;*/
		width: 25%;
		top: 0;
		line-height: 1.5;
	}
	#company .history .year h4 span {
		display: block;
	}
	#company .history .year .month {
		width: 75%;
	}
	#company .access .box {
		width: 100%;
	}
	#company .access .box:first-of-type {
		margin-bottom: 50px;
	}
	#company .access .box iframe {
		height: 250px;
		margin-bottom: 10px;
	}
	/*--------------------------------------------------
		お知らせ
	--------------------------------------------------*/
	#news .links {
		margin-bottom: 40px;
		font-size: 15px;
	}
	#news .links span {
		margin-right: 20px;
	}
	@media only screen and (max-width: 320px) {
		#news .links span {
			margin-right: 11px;
		}
	}
	#news .links span:last-of-type {
		margin-right: 0;
	}
	#news .bg dl {
		display: block;	
	}
	#news .bg dl dt {
		width: auto;
		margin-bottom: 5px;
		text-align: left;
	}
	#news .bg dl dd {
		width: 100%;
	}
	#news .bg dl dd a {
		width: calc(100% - 74px);
		font-size: 14px;
		padding-right: 15px;
		box-sizing: border-box;
	}
	#news .bg dl dd a:after {
		right: 5px;
	}
	#news .bg dl dd span {
		font-size: 12px;
		width: 60px;
		margin-right: 14px;
	}
	#news .detail .ttl {
		font-size: 18px;
		margin-bottom: 30px;
	}
	#news .page {
		font-size: 15px;
/*font-size: 20px;*/
	}
	/*--------------------------------------------------
		採用情報
	--------------------------------------------------*/

	/*--------------------------------------------------
		プライバシーポリシー
	--------------------------------------------------*/
	#privacy h3 {
		margin: 40px 0;
		font-size: 20px;
	}
	/*--------------------------------------------------
		サイトマップ
	--------------------------------------------------*/
	#sitemap .box {
		margin-top: 30px;
		padding: 10px;
	}
	#sitemap .box .in {
		padding: 25px;
	}
	#sitemap .box .in ul li {
		margin-bottom: 20px;
	}
	#sitemap .box .in ul:first-of-type {
		margin-right: 0;
		margin-bottom: 20px;
	}
	#sitemap .box .in ul li {
		font-size: 17px;
	}
	#sitemap .box .in ul li ul li a {
		font-size: 15px;
	}
	/*--------------------------------------------------
		お問い合せ
	--------------------------------------------------*/
	#mailform .tbl {
		margin: 30px 0;
	}
	#mailform .tbl td.radio .wpcf7-list-item {
		display: block;
		margin-right: 0;
	}
	#mailform .policy_btn {
		margin-bottom: 30px;
	}
	
	/*------------------------------------------------*/
}