﻿@charset "UTF-8";

@media (max-width: 1439px) and (min-width: 768px) {
	
}

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

img,
#company,
#our_strengths,
#business_introduction{
	height: auto !important;
}

a[href^="tel:"] {
	pointer-events: inherit;
}

.pc,
header #gh_nav,
ul.bi_list br,
.top_contents_co .pic #c_img1,
p#pan,
.im_cont .cont h3 br,
ul.car_three li:first-child.g1 br,
ul.car_three li:first-child.g3 br{
	display: none;
}

.swiper-pagination,
#submit-conf input{
	display: none !important;
}

.sp,
#ft_address span,
#ft_logo img,
ul#contact_list li,
.company_tbl th,
.company_tbl td{
	display: block;
}

.menu-trigger{
	display: inherit;
}

header{
	min-height: inherit;
}

.top_contents_co .pic,
#circle .pic,
.top_ttl3 .pic,
.top_contents_co .pic #c_img2,
.top_ttl4 .pic img,
.top_ttl4,
.top_ttl4 .pic{
	position: static;
}

#ft_address,
p#ft_link,
#ft_banner,
.top_contents p.txt1,
#tcc_txt p,
.top_contents p.txt2{
	text-align: left;
}

header h1,
#n_detail,
p#n_ttl,
.ccl_cont,
#ccl_link,
#tcc_txt p,
#tcc_txt div,
#tcc_cont,
#sm_left,
#sm_right,
.faq_recruit .left,
.faq_recruit .right,
.aerospace_bx .as_cont{
	float: none;
}

.title-sns{
    display: block;
	padding-right:48px;
}

.title-flex{
    display: flex;
	justify-content: space-between;
}

.title-sns img{
    width:35px;
	padding: 5px 11px 0px 5px;
}

.top_contents p.txt2{
	color:#fff;
}

#form td div input{
	width: 200px;
}

header h1 img,
#n_detail,
#news_cont,
.top_contents_co,
.top_contents_co .pic img,
#tcc_txt,
#circle .pic img,
#circle .pic,
.ccl_cont,
#ccl_link li img,
.top_ttl2 h2,
.top_ttl3 h2,
.top_ttl3,
.top_ttl3 .pic img,
.top_ttl4 .pic img,
.top_ttl4,
#business_introduction .top_contents,
.inner_cont,
ul#sm_right,
ul#sm_right li,
ul#news_list li span,
ul#news_list li p,
#privacypolicy,
#form,
#form td input,
#form td textarea,
.multiple-items,
.faq_recruit .left,
.faq_recruit .right,
ul#electric_electronic_imgs li img,
.aerospace_bx .as_cont,
ul#recruit_btn li a,
.recruit_2021 .left img,
p#career_entry,
#education_step img,
ul.insta_imgs01 li img,
ul.insta_imgs02 li img,
.co_info_sub .pic img,
.co_info_main .pic img,
.member_bg h2 img,
.member_cont,
#staff_main .block .pic img,
ul#strength_nav li,
.list_sp li img,
#education_img img,
.ict_cont .pic,
.ict_cont .pic img,
.education_step4 img{
	width: 100%;
}

#education_step2{
	display:none;
}

.education_step2{
	display:none;
}

#education_step3{
	display:block;
	text-align: center;
	padding-top: 25px;
	margin-top:50px;
}

.education_step3{
	display:block;
	text-align: center;
	padding-top: 25px;
	margin-top:50px;
}

#education_step4{
	display:none;
}

#education_step5{
	display:block;
	text-align: center;
	padding-top: 25px;
	margin-top:20px;
}

.education_step5{
	display:block;
	text-align: center;
	padding-top: 25px;
	margin-top:20px;
}

#education_step3 img{
	width:100%;
}

.education_step3 img{
	width:100%;
}

#education_step5 img{
	width:100%;
}

.education_step5 img{
	width:100%;
}

p.special{
    width:100%;
}

#member_main,
#staff_main{
	padding-left: 1%;
	padding-right: 1%;
	width: 98%;
}

#tcc_cont{
	width: 100%;
	padding-bottom: 0px !important;
}

.smp_90{
	padding-left: 4%;
	padding-right: 4%;
	width: 92%;
}

#globalfooter,
.top_contents,
p.txt1,
#business_field,
#tcc_txt p,
p#business_read,
ul#electric_electronic_imgs,
p#business_read2,
.aerospace_bx,
p.strength_read{
	padding-left: 5%;
	padding-right: 5%;
	width: 90%;
}

.car_txts,
ul.car_three,
ul.bi_list{
	margin-left: 5%;
	margin-right: 5%;
	width: 90%;
}

#ft_logo img,
#entry_form img{
	width: 80%;
	margin: 0px auto;
}

#globalheader{
	padding: 15px 3% 5px;
	width: 94%;
}

ul#contact_list li:first-child{
	font-size: 30px;
	line-height: 30px;
}

ul#contact_list li:last-child{
	font-size: 22px;
	line-height: 22px;
}

.aerospace_bx .as_cont h3{
	font-size: 20px;
	line-height: 20px;
}

#group_of_engineers #cont h3{
	font-size: 26px;
}

/* 
2024/8/20
画像の大きさの指摘から追記↓
 */

#group_of_engineers img{
	width: 100%;
	margin: 0px auto;
}

.top_contents a.links, #tcc_txt a.links,
ul.bi_list li h3,
#staff_main .block .cont h3{
	font-size: 20px;
}

p#business_read2{
	font-size: 18px;
	font-weight: bold;
}

p#n_ttl,
#n_detail p{
	font-size: 16px;
}

#ft_address,
p#ft_link,
.top_contents p.txt1,
#tcc_txt p,
ul.bi_list li p,
.top_contents p.txt2,
#sm_left p,
ul#sm_right li p,
ul#news_list li span,
ul#news_list li p,
#privacypolicy p#prp_txt,
#privacypolicy .checkbox,
#form th,
#form td,
p#message_txt,
p#business_read,
.aerospace_bx01 .as_cont p,
.aerospace_bx02 .as_cont p,
.im_cont .cont p,
.aerospace_cont .cont p,
p.education_txt, p.contact_information,
.recruit_2021 .right p.txt,
#staff_main .block .cont p,
#group_of_engineers #cont p,
#support_tbl th,
#support_tbl td{
	font-size: 14px;
}

p.contact_information2{
	font-size: 10px;
	line-height: 1.3em;
}

p#contact_txt1,
p#contact_txt2,
p#contact_txt3{
	font-size: 13px;
}

address{
	font-size: 10px;
}

p.txt1{
	font-size: 14px;
	line-height: 1.6em;
}

.top_contents h2, .top_ttl2 h2, #tcc_cont h2,
.top_ttl3 h2{
	font-size: 34px;
	line-height: 1.4em;
}

.recruit_2021 .right p.link a,
p#career_entry a,
ul#career_entry_list li a{
	font-size: 18px;
	line-height: 18px;
}

.top_contents h2 span, .top_ttl2 h2 span, #tcc_cont h2 span,
.top_ttl3 h2 span{
	font-size: 16px;
	line-height: 16px;
}

ul#recruit_btn li a p{
	font-size: 14px;
	line-height: 14px;
}

#sm_left,
ul#sm_right li h3,
ul#sm_right li p,
ul#news_list li{
	padding-left: 5%;
}

ul#news_list li{
	padding-right: 5%;
}

header h1 {
    display: flex;
    align-items: center;
	padding-top: 0;
}

header h1 a:first-child img {
    width: 150px;
    height: auto;
}

header h1 > img {
    width: 40px;
    height: auto;
    margin-left: 5px;
}

header .title-sns {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
	margin-right: 5px;
}

header .title-sns img {
    width: 30px;
    height: auto;
    
}

h1 img[src*="50.jpg"] {
    transform: translateY(-8px);
}

.member_bg,
.staff_spc,
.main_imgBox{
	margin-top: 0px;
}

.top_ttl3 a.links{
	margin-top: 20px;
}

ul#sm_right li{
	margin-right: 0px !important;
}

#news{
    margin-bottom:60px;
}

#news,
#circle,
#bi_list,
#our_strengths{
	margin-bottom: 75px;
}

#ft_address,
#ccl_link,
#tcc_txt div,
.top_ttl3 .arrow_3,
#tcc_cont .arrow_3{
	padding-top: 20px;
}

#ft_address{
	color:#fff;
}

.top_contents h2, .top_ttl2 h2, #tcc_cont h2,
.top_ttl3 h2,
#tcc_txt p,
ul#news_list li span,
p.strength_read{
	padding-top: 0px;
}

.top_ttl3 .arrow_3{
	padding-bottom: 20px;
}

.top_contents p.txt1{
	padding-bottom: 15px;
}

#sm_left{
	padding-bottom: 5%;
}

p#n_ttl{
	padding-right: 0px;
	border: none;
}

footer{
	padding: 25px 0px;
}

#n_detail,
#company,
#our_strengths,
#business_introduction{
	background-image: none;
}

#tcc_cont,
#business_field,
#circle,
#tcc_txt,
#our_strengths{
	background-color: #003366;
	padding-top: 5%;
	padding-bottom: 5%;
}

#ft_address{
	line-height: 1.6em;
}

p#ft_link a{
	margin: 0px 5px;
}

#ccl_link li{
	display: inline-block;
	width: 48%;
	margin: 0px 1% 10px;
}

#tcc_txt div,
.top_ttl3 a.links{
	margin-left: auto;
	margin-right: auto;
	width: 260px;
}

#tcc_cont{
	margin-right: 0px;
}

.top_contents_co .pic{
	background-image: url(../image/top/c_img1.jpg);
	background-size: cover;
	float: none;
	width: 100%;
}

.top_ttl4{
	margin-left: 0px;
}

#business_introduction .top_contents{
	box-sizing: border-box;
	background-color: #003366;
	padding-top: 30px;
}

#inner_title{
	display:none;
	height: 230px;
	background-size: cover;
	margin-top: 0px;
	background-position: center center;
}

#inner_title2{
	display:block;
	height: 230px;
	background-size: cover;
	margin-top: 0px;
	background-position: center center;
}

.sp .main_img{
	height: 230px;
	background-size: 100% 100%;
	/* 表示画像の高さ ÷ 表示画像の幅 × 100 
	padding-top: 83.3333333333%;
	background-repeat: no-repeat;
	background-size: contain;*/
}

.main_imgBox{
	height: 230px;
}

#inner_title h2{
	display:none;
	box-sizing: border-box;
	left: 5%;
	font-size: 20px;
	line-height: 20px;
	padding: 20px 15px 15px;
}

#inner_title2 h2{
	display:block;
	box-sizing: border-box;
	left: 5%;
	font-size: 20px;
	line-height: 20px;
	padding: 20px 15px 15px;
}

#inner_title h2 span{
	font-size: 14px;
	line-height: 14px;
	padding-top: 5px;
}

#inner_title2 h2 span{
	font-size: 14px;
	line-height: 14px;
	padding-top: 5px;
}

.inner_cont{
	padding-top: 10%;
	padding-bottom: 75px;
}

#sm_left p{
	line-height: 14px;
}

ul#sm_right li h3{
	padding-bottom: 10px;
	margin-bottom: 20px;
}

#privacypolicy{
	border-left: none;
	border-right: none;
	border-radius: inherit;
}

#privacypolicy p#prp_txt a{
	display: block;
	margin-left: 0px;
	margin-top: 5px;
}

#privacypolicy #submit input{
	width: 300px;
	margin-left: auto;
	margin-right: auto;
	font-size: 16px;
}

#form th{
	padding: 25px 5% 10px;
	width: 100%;
	box-sizing: border-box;
	display: block;
}

#form td{
	padding: 0px 5% 25px;
	display: block;
	border-top: none;
}

#form tr:last-child th, #form tr:last-child td{
	border-bottom: none;
}

#form th span{
	right: 5%;
	width: 50px;
	line-height: 25px;
	font-size: 12px;
	top: 20px;
}

#form td textarea,
.company_tbl td textarea,
#entry_pp{
	height: 200px;
}

ul#contact_list li:first-child{
	margin: 0px 0px 10px;
}

ul#contact_list li:last-child{
	margin: 0px;
}

.slick-slide{
}

.sample2 {
	width: 98%;
	
	margin: 0px 1%;
	box-sizing: border-box;
}

.slick-slide img{
	width: 100%;
	height:	130px !important;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

.sample2 .caption{
	font-size: 14px;
	line-height: 1.6em;
}

.sample2 .caption span{
	font-size: 22px;
	padding-top: 3px;
}

/* 
2024/8/20
画像の大きさの指摘から追記↓
 */

.sample2 img{
	width: 100%;
	
}



.prev-arrow{
	top: 40%;
	left: 10px;
	width: 15px;
}

.next-arrow{
	top: 40%;
	right: 10px;
	width: 15px;
}

#circle .ccl_cont .arrow_3{
	margin-top: 15px;
	padding-bottom: 20px;
}

h3#blue_bx,
h3.blue_bx{
	font-size: 20px;
	line-height: 45px;
	padding-left: 15px;
}

ul#faq_list{
	padding-top: 20px;
	padding-left: 0px;
}

ul#faq_list li{
	margin-right: 0px;
	width: 50%;
	vertical-align: top;
	font-size: 16px;
	margin-bottom: 20px;
}

ul#faq_list li img{
	width: 20px;
}

h4.faq_ttl{
	padding-top: 50px;
	font-size: 20px;
	line-height: 20px;
}

ul.faq_cont{
	overflow: hidden;
}

ul.faq_cont li:first-child{
	width: 10%;
	float: left;
	font-size: 30px;
	line-height: 30px;
}

ul.faq_cont li:last-child{
	width: 85%;
	float: right;
	margin-left: 0px;
	font-size: 14px;
}

.faq_recruit .left{
	padding-bottom: 20px;
}

.faq_recruit .left h5, .faq_recruit .right h5{
	font-size: 20px;
	line-height: 30px;
}

.faq_recruit p.telfax{
	font-size: 18px;
}

.faq_recruit p.telfax span{
	font-size: 16px;
}

.faq_recruit p.telfax img{
	max-width: 50%;
}

.faq_recruit p.link a{
	font-size: 20px;
	line-height: 20px;
}

.faq_recruit p.link{
	margin-bottom: 20px;
}

h3#blue_bx{
	margin: 0px;
}

p#message_txt{
	padding: 40px 0px 20px;
}

#name img{
	width: 200px;
}

h3#message_ttl{
	font-size: 22px;
	line-height: 22px;
}

h3#message_ttl span{
	display: block;
	padding-bottom: 8px;
}



.ict_cont .gray{
	width: 70%;
	height: 305px;
	position: absolute;
	top: 30px;
	left: 0px;
	z-index: -1;
}

.ict_cont h3{
	position: static;
	color:#003366;
	font-size: 40px;
	padding-left: 5%;
}

.ict_cont p{
	position: static;
	padding: 40px 2% 0px 30%;
	font-size: 14px;
}

.ict_cont{
	margin-top: 0px;
	min-height: 400px;
}

ul#electric_electronic_imgs li:nth-child(2){
	margin: 30px 0px;
}

.im_cont .pic{
	position: relative;
	z-index: -1;
}

.im_cont .cont{
	width: 100%;
	height: auto;
	padding-bottom: 30px;
	position: static;
	margin-top: -30px;
	z-index: 1;
	min-height: auto;
}

.im_cont .cont h3,
#car_undercont h3{
	font-size: 40px;
	padding: 30px 0px 20px;
	text-align: center;
}

.aerospace_cont .cont h3{
	font-size: 40px;
	padding: 80px 0px 20px;
	text-align: center;
	margin-top: -50px;
}

.im_cont01{
	margin: 30px 0px 75px;
}

/* 
2024/8/20
画像の大きさの指摘から追記↓
 */

.im_cont01 img{
	width: 100%;
	margin: 0px auto;
}

.im_cont02{
	margin-bottom: 75px;
}
/* 
2024/8/20
画像の大きさの指摘から追記↓
 */

.im_cont02 img{
	width: 100%;
	margin: 0px auto;
}

h3#aerospace_ttl,
h3.car_ttl{
	padding: 50px 0px 10px 10px;
	font-size: 20px;
	line-height: 20px;
	margin-left: 5%;
	margin-right: 5%;
}

h4.recruit_ttl{
	font-size: 20px;
	line-height: 20px;
}

.aerospace_bx .left{
	margin-bottom: 40px;
}

.aerospace_bx01 .as_cont,
.aerospace_bx02 .as_cont{
	height: auto;
}

.aerospace_bx01 .as_cont .img img{
	width: 150px;
}

.aerospace_bx01 .as_cont p{
	padding-top: 85px;
}

.aerospace_cont01 .cont,
.aerospace_cont02 .cont{
	margin-left: 0px;
	width: 100%;
	padding: 0px;
}

.aerospace_cont01 .pic,
.aerospace_cont02 .pic{
	position: static;
	text-align: center;
}

.aerospace_cont01 .cont, .aerospace_cont02 .cont{
	min-height: auto;
	padding-bottom: 30px;
}

.im_cont04,
.im_cont05{
	margin-bottom: 0px;
}

.car_txts p{
	padding: 25px;
	font-size: 14px;
}

#car_undercont p{
	padding: 0px 5% 30px;
}

ul.car_three li:first-child.g1,
ul.car_three li:first-child.g3{
	padding: 15px 0;
	text-align: center;
	display: block;
	width: 100%;
	border-radius: 10px 10px 0px 0px;
	min-height: auto;
	font-size: 14px;
}

ul.car_three li:first-child.g1 span,
ul.car_three li:first-child.g3 span{
	font-size: 28px;
}

ul.car_three li:last-child{
	padding: 15px;
	font-size: 14px;
	width: 100%;
	box-sizing: border-box;
}

.car_txts p{
	margin-top: 25px;
}

ul#recruit_btn{
	margin-left: 0%;
	margin-right: 0%;
	padding-left: 2%;
	padding-right: 2%;
	padding-bottom: 3px;
	text-align: left;
}

ul#recruit_btn li{
	width: 48%;
	margin: 0px 1% 2% !important;
}

ul#company_btn {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 2% !important;
    box-sizing: border-box !important;
}

ul#company_btn li {
    width: 50% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

ul#company_btn li a {
    width: 100% !important;
    box-sizing: border-box !important;
}

ul#company_btn {
    gap: 4px !important;
}

ul#company_btn li {
    width: calc(50% - 2px) !important;
}

ul.insta_imgs01 li,
ul.insta_imgs02 li{
	width: 48%;
	margin: 0px 1% 30px !important;
}

.recruit_2021 .left{
	width: 25%;
}

.recruit_2021 .right{
	width: 70%;
}

.recruit_2021 .right p.link{
	float: none;
	width: 100%;
}

h4.recruit_ttl{
	padding-top: 60px;
}

p#career_entry{
	padding-top: 30px;
}

ul#career_entry_list li{
	margin: 0px 1.5% 15px;
	width: 47%;
}

h5.career_ttl,
.co_info_main .cont h5, .co_info_sub .cont h5{
	line-height: 30px;
	font-size: 20px;
	border-left: 12px solid #0068b3;
	padding-left: 10px;
	margin-bottom: 15px;
}

h5.career_ttl{
	margin-top: 40px;
}

h5.career_ttl2{
	line-height: 30px;
	font-size: 20px;
	
	margin-bottom: 15px;
}

.career_tbl th{
	width: 110px;
	font-size: 14px;
}

.career_tbl td,
p.entry_txt,
p.doc_txt label{
	font-size: 14px;
}

.blue_mainbx{
	margin-top: 75px;
}

.career_contents01 .cont,
.career_contents02 .cont{
	position: static;
	width: 100%;
	height: auto;
	padding: 25px;
}

.career_contents h5{
	padding-left: 0px;
	font-size: 20px;
	line-height: 20px;
}

.career_contents01 .pic,
.career_contents02 .pic{
	padding-top: 0px;
	margin-top: -15px;
}

.career_contents01 .pic img,
.career_contents02 .pic img{
	width: 200px;
}

p#welfare_txt{
	padding-top: 0px;
	font-size: 14px;
}

#insta_icon img{
	width: 100px;
}

#insta_icon{
	bottom: 30px;
	top: inherit;
}

ul.insta_imgs01 li:nth-child(3),
ul.insta_imgs01 li:last-child,
ul.insta_imgs02 li{
	margin-bottom: 0px !important;
}

h4.recruit_fst{
	padding-top: 30px;
}

.company_tbl th,
.company_tbl td{
	width: 100% !important;
	padding: 10px 15px 8px 15px !important;
	box-sizing: border-box;
}

#history_tbl tr{
	position: relative;
	display: block;
}

#history_tbl tr th:first-child{
	width: 100%;
	text-align: left;
	font-size: 14px;
	display: block;
	border: none;
	padding-bottom: 0;
}

#history_tbl tr th:nth-child(2){
	position: absolute;
	top: 0;
	left: 70px;
	text-align: left;
	border: none;
	font-size: 14px;
}

#history_tbl tr td{
	display: block;
	padding-top: 0px;
	padding-left: 0px;
	font-size: 14px;
}

.co_info_main .map,
.co_info_sub .map{
	position: static;
	margin-top: 30px;
	float: none;
}

.co_info_main .map iframe,
.co_info_sub .map iframe{
	width: 100%;
	height: 250px;
}

.co_info_sub .pic,
.co_info_main .pic{
	left: inherit;
	right: 0px;
	width: 30%;
}

.co_info_main .pic{
	position: absolute;
	right: 0px;
	top: 0px;
}

.co_info_main .cont,
.co_info_sub .cont{
	width: 65%;
}

.co_info_main .cont p.txt, .co_info_sub .cont p.txt{
	padding: 00px;
	font-size: 14px;
}

.co_info_main .cont a, .co_info_sub .cont a{
	width: 150px;
	font-size: 12px;
	line-height: 36px;
	margin-top: 10px;
	margin-bottom: 20px;
}

.career_contents{
	margin-bottom: 40px;
}

.member_bg,
.staff01_bg{
	
	height: auto !important;
}

.member_bg,
.staff02_bg{
	
	height: auto !important;
}

.member_bg,
.staff03_bg{
	
	height: auto !important;
}

.member_bg,
.staff04_bg{
	
	height: auto !important;
}

.member_bg,
.staff05_bg{
	height: auto !important;
}

.member_bg,
.staff06_bg{
	
	height: auto !important;
}

.member_bg h2{
	padding: 75px 3%;
}

#member_main .member_cont{
	margin-bottom: 50px;
}

#member_main .member_cont .pic img{
	width: 92%;
}

#member_main .left .pic{
	text-align: right;
	margin-right: 1%;
}

#member_main .left .box{
	width: 94%;
	margin-left: auto;
	margin-right: auto;
	height: inherit;
	padding-top: 70%;
}

#member_main .left .cont{
	top: inherit;
	bottom: 7%;
}

#member_main .block{
	padding-bottom: 0px;
}

.inner_cont_btm{
	margin-bottom: 0px !important;
	padding-bottom: 30px;
}

#member_main .right .box{
	margin-left: 0px;
	width: 94%;
	margin-left: 2%;
}

#member_main .right .pic{
	text-align: right;
	margin-right: 1%;
}

.staff_bg h2{
	padding: 100px 0px 0px 5%;
	font-size: 16px;
}

.staff_bg p#t1{
	padding-left: 5%;
	padding-top: 50px;
	font-size: 14px;
}

.staff_bg p#t2{
	padding-left: 5%;
	font-size: 20px;
}

.staff_bg p#t3{
	padding-left: 5%;
	font-size: 14px;
	padding-bottom: 40px;
}

#staff_main .block .cont{
	position: relative;
	width: 100%;
	padding: 5%;
	margin: -20px 1% 0px;
}

#staff_main .block{
	padding-bottom: 0px;
}

.company_tbl th span{
	top: 10px;
	right: 10px;
}

.company_tbl td input.wdth200{
	width: 125px;
}

.company_tbl td input.wdth150{
	width: 75px;
}

.company_tbl td input.wdth80{
	width: 50px;
}

#entry_pp h6{
	font-size: 20px;
	padding: 10px 0px;
}

p.strength_read2{
	padding-top: 10px;
}

#group_of_engineers #pic{
	padding-top: 0px;
	z-index: -1;
	position: relative;
}

#group_of_engineers #cont{
	position: static;
	margin: -20px 2% 0px;
	width: 96%;
}

ul#strength_nav figcaption img{
	width: 150px;
}

.list_sp img{
	width: 96%;
	margin: 0px 2%;
	display: block;
}

.list_sp ul{
	padding-top: 10px;
}

.list_sp li{
	width: 40%;
	margin: 0px 5% 10px;
	display: inline-block;
}

.list_sp li img{
	margin: 0px !important;
}

#submit_entry input,
.e_btns,
#top_back{
	width: 200px;
	font-size: 18px;
	margin-top: 45px;
}

#submit-conf input{
	display: block;
	margin: 10px auto 0px;
}

#submit-conf{
	padding-top: 30px;
}

#company_motto img{
	width: 25%;
}

#tcc_cont p#txt2{
	background-color: #fff;
	padding: 15px 5%;
	margin-top: 25px;
}

#tcc_cont h2{
	margin-left: 5%;
	margin-right: 5%;
}

#tcc_txt div{
	margin-top: 0px;
	padding-top: 0px;
}

.ict_cont .pic{
	left: 0px;
}

.pd_cont04{
	margin-bottom: 0px;
}

#submit_entry input.pc{
	display: none;
}

#submit_entry input.sp{
	display: block;
	width: 100%;
}

ul.slider_fade{
	width: 350px;
	height: 190px;
}

#add_movie{
	padding-top: 50px;
}

.multiple-items li{
	margin: 0 1% 2%;
	width: 46%;
}

#business_introduction p.txt2{
	padding-top: 0px;
}

#our_strengths p.txt2,
#our_strengths{
	background-color: inherit;
	height: auto;
}

#tcc_cont p#txt2{
	height: auto;
}

#tcc_txt{
	background-color: #4c8cb4;
}

#our_strengths h2{
	padding-top: 20px;
}

#our_strengths .top_contents{
	width: 100%;
	padding: 0px;
	background-color: #003366;
}

#our_strengths{
	padding: 0px;
}

#our_strengths h2{
	padding: 20px 5%;
	box-sizing: border-box;
	width: 100%;
}

.our_strengths_banner{
	margin-top: 10px;
	padding-bottom: 15px;
	background-color: #4c8cb4;
}

.top_ttl3 a.links{
	margin-top: 10px;
}

#n_detail{
	padding-top: 0px;
}

#n_detail p{
	font-size: 14px;
	line-height: 1.4em;
	padding-bottom: 0px;
}

.smt_en_img{
	width: 320px;
	height: 67px;
	background-size: 320px 67px;
	background-image: url(../image/entry/btn_sp.jpg);
	margin: 45px auto 0;
}

.top_contents_co .pic,
.top_ttl3,
.top_ttl4 h2, .top_ttl4 .arrow_3,
.ccl_cont{
	margin-left: 0px;
}

#tcc_cont h2, #tcc_cont .arrow_3{
	margin-right: 5%;
}

#business_introduction p.txt2{
	background-color: inherit;
	height: auto;
}

#ft_address a{
	color:#fff;
	text-decoration: none;
}

#tcc_cont .arrow_3{
	margin-right: 0px;
}

ul.slider_fade08{
	width: 100%;
	height: auto;
}

.boxbx8{
	margin-top: 0px;
}

.sp-blocks,
.sp-blocks h2{
	display: block !important;
}

p#business_read2{
	line-height: 1.6em;
}

#topmv{
	margin-top: 0px;
}

.contact_banner{
    max-width: 70%;
}

.recruit-banner{
    width: 90%;
}

#top-recruit-banner{
    display: block !important;
	text-align: center;
	margin-bottom:20px;
}

#top-recruit-banner img{
    width:80%;
}

.tel-mail{
    width:10%;

}

#anniversary-bar a {
    
    font-size: 14px;
    
}

#anniversary-bar {
    margin-top: 80px;
}



}

@media not screen and (1) { .page-top { position: static; } }/* Opera10以上 */

/* =======================================================
   竹田設計工業：PCメニューを1031pxまで維持する調整
   1440px以上は従来通り。1030px以下は従来のスマホ表示。
   1031～1439pxではPCヘッダーを段階的に小型化。
   ※ smp.css の末尾に配置してください。
   ======================================================= */
@media screen and (min-width: 1031px) and (max-width: 1439px) {

  /* 以前の1439px切替設定を取り消してPCメニューを表示 */
  header #gh_nav {
    display: block;
    float: right;
  }
  .menu-trigger {
    display: none;
  }
  header {
    min-height: 120px;
  }
  #globalheader {
    width: auto;
    padding: 0 3%;
  }
  header .title-flex {
    display: block;
  }
  header .title-sns {
    display: none;
  }
  header h1 {
    display: block;
    float: left;
    padding-top: 32px;
  }

  /* ロゴと50周年マークを画面幅に応じて少しずつ縮小 */
  header h1 a:first-child img {
    width: clamp(205px, 19vw, 278px);
    height: auto;
  }
  header h1 > img {
    width: clamp(52px, 5vw, 74px);
    height: auto;
    margin-left: 4px;
  }
  header h1 img[src*="50.jpg"] {
    transform: none;
  }

  /* 採用バナー・SNS・補助リンクを詰めて1行に保持 */
  header #gh_nav p {
    font-size: clamp(12px, 1.1vw, 16px);
    padding: 35px 0 20px;
    white-space: nowrap;
  }
  header #gh_nav p a {
    margin-left: clamp(5px, 1.3vw, 20px);
  }
  header #gh_nav p a:first-child img {
    width: clamp(140px, 14vw, 200px);
    height: auto;
  }

  /* 下段のメニュー文字と間隔を徐々に調整 */
  #gh_nav ul li {
    margin-left: clamp(8px, 1.3vw, 22px);
  }
  #gh_nav ul li a {
    font-size: clamp(13px, 1.25vw, 18px);
    padding-bottom: 24px;
  }

  /* 青い記念サイト案内の帯はPCと同じ位置のまま */
  #anniversary-bar {
    margin-top: 140px;
  }
  #anniversary-bar a {
    font-size: clamp(16px, 1.4vw, 20px);
  }
}

/* =========================================================
  竹田設計工業：中間幅のヘッダーを横並びに維持
  ・861～1100pxはロゴ左＋PCメニュー右（横並び）
  ・860px以下は元のスマホ用ヘッダー
  ・他のページ本文の1030pxレスポンシブ指定は変更しない
  ※前回の801～1100px「縦並び」CSSは削除してあります。
  ========================================================= */
@media screen and (min-width: 861px) and (max-width: 1100px) {
  header {
    min-height: 135px;
  }

  #globalheader {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;          /* ロゴと右側メニューを横並びに */
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 10px;
    width: 100%;
    height: 135px;
    padding: 0 2%;
  }

  header .title-flex {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    width: auto;
    min-width: 0;
  }
  header h1 {
    display: flex;
    align-items: center;
    float: none;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
  }
  header h1 a:first-child img {
    width: clamp(205px, 26vw, 260px);
    height: auto;
  }
  header h1 > img {
    width: clamp(50px, 5.8vw, 64px);
    height: auto;
    margin-left: 5px;
  }
  header h1 img[src*="50.jpg"] {
    transform: none;
  }

  /* 1030px以下で指定されるスマホ表示を、この範囲だけ解除 */
  header #gh_nav {
    display: block !important;
    float: none;
    clear: none;
    flex: 0 1 auto;
    width: auto;
    min-width: 0;
    margin-left: auto;
  }
  .menu-trigger,
  header .title-sns {
    display: none !important;
  }

  /* 採用バナー・SNS・NEWSなどを右上に1行で表示 */
  header #gh_nav p {
    margin: 0;
    padding: 0 0 13px;
    font-size: clamp(10px, 1.08vw, 12px);
    line-height: 1.25;
    text-align: right;
    white-space: nowrap;
  }
  header #gh_nav p a {
    display: inline-block;
    vertical-align: middle;
    margin-left: clamp(3px, 0.65vw, 8px);
    padding: 0;
  }
  header #gh_nav p a img {
    width: auto;
    height: auto;
    max-width: 31px;
    max-height: 31px;
    vertical-align: middle;
  }
  header #gh_nav p a:first-child img {
    width: clamp(125px, 15vw, 160px);
    max-width: none;
    max-height: none;
    height: auto;
  }

  /* 通常メニューは右下に横一列 */
  header #gh_nav > ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
  }
  header #gh_nav > ul > li {
    float: none;
    flex: 0 0 auto;
    margin-left: clamp(4px, 0.75vw, 9px);
  }
  header #gh_nav > ul > li > a {
    font-size: clamp(11px, 1.2vw, 14px);
    line-height: 1.2;
    padding-bottom: 0;
  }

  /* ヘッダー高さと下の青い帯を揃える */
  #anniversary-bar {
    margin-top: 135px;
  }
  #anniversary-bar a {
    font-size: clamp(14px, 1.5vw, 18px);
  }
}

/* =========================================================
   竹田設計工業：スマホ時のヘッダー縦位置を統一（860px以下）
   社名ロゴ・50周年ロゴ・SNSを共通の中央ラインに揃える
   PC表示（861px以上）には影響しない
   ========================================================= */
@media screen and (max-width: 860px) {
  /* 青帯の上は高さ80px。ロゴやSNSはその中央に配置 */
  header #globalheader {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    height: 80px;
    padding: 0 3%;
  }

  header .title-flex {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  header h1 {
    display: flex;
    flex: 0 1 auto;
    min-width: 0;
    align-items: center;
    margin: 0;
    padding: 0;
    line-height: 1;
  }

  header h1 a:first-child {
    display: flex;
    align-items: center;
    min-width: 0;
  }

  header h1 a:first-child img {
    display: block;
    width: clamp(108px, 19vw, 150px);
    max-width: 100%;
    height: auto;
  }

  header h1 > img {
    display: block;
    width: clamp(40px, 5.2vw, 52px);
    height: auto;
    margin: 0 0 0 5px;
    transform: none !important; /* 以前の50周年ロゴの-8px移動を解除 */
  }

  header .title-sns {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin: 0;
    padding: 0 60px 0 0; /* ハンバーガーメニューの幅を確保 */
  }

  header .title-sns a {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  header .title-sns img {
    display: block;
    box-sizing: border-box;
    width: 30px;
    max-width: 30px;
    height: auto !important;
    margin: 0;
    padding: 0; /* 以前の上下・左右パディングを解除 */
  }
}

/* ============================================================
   竹田設計工業：50周年ロゴ・SNS最終バランス調整（2026-10-26）
   目安：50周年ロゴの見える高さをTAKEDAロゴに合わせる
   PCメニュー切替（860px）は以前のまま
   ============================================================ */

/* 広いPC：現行のTAKEDAロゴはそのまま、50周年ロゴだけ調整 */
@media screen and (min-width: 1440px) {
  header h1 {
    display: flex;
    align-items: center;
  }
  header h1 > a:first-child {
    display: flex;
    align-items: center;
  }
  header h1 > img,
  header h1 > a:nth-child(2) img {
    display: block;
    width: 80px !important;
    max-width: none;
    height: auto !important;
    margin: 0 0 0 5px !important;
    transform: none !important;
    vertical-align: middle;
    align-self: center;
  }
}

/* 中間幅とスマホ：TAKEDAと50周年を常に同じ比率で縮小 */
@media screen and (max-width: 1439px) {
  header h1 {
    --takeda-brand-width: clamp(205px, 19vw, 278px);
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    line-height: 1;
  }
  header h1 > a:first-child {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    line-height: 0;
  }
  header h1 a:first-child img {
    display: block;
    width: var(--takeda-brand-width) !important;
    max-width: none;
    height: auto !important;
    padding: 0;
  }
  /* 37%では背が高すぎたため、添付画像の実寸比較から約29%に修正 */
  header h1 > img,
  header h1 > a:nth-child(2) img {
    display: block;
    width: calc(var(--takeda-brand-width) * 0.29) !important;
    max-width: none;
    height: auto !important;
    margin: 0 0 0 5px !important;
    padding: 0 !important;
    transform: none !important;
    position: static;
    align-self: center;
    vertical-align: middle;
  }
}

@media screen and (min-width: 861px) and (max-width: 1100px) {
  header h1 { --takeda-brand-width: clamp(205px, 26vw, 260px); }
}

/* PCのTikTok/X/Instagram/YouTubeを同じサイズの枠に中央配置 */
@media screen and (min-width: 861px) and (max-width: 1439px) {
  header #gh_nav p a:nth-child(n+2):nth-child(-n+5) {
    display: inline-flex;
    width: clamp(24px, 2.4vw, 30px);
    height: clamp(24px, 2.4vw, 30px);
    align-items: center;
    justify-content: center;
    vertical-align: middle;
  }
  header #gh_nav p a:nth-child(n+2):nth-child(-n+5) img {
    display: block;
    width: 100%;
    height: 100% !important;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    vertical-align: middle;
  }
}

/* スマホ：左ロゴと右SNSを同じ高さの中央線に揃える */
@media screen and (max-width: 860px) {
  header h1 { --takeda-brand-width: clamp(108px, 19vw, 150px); }
  header .title-flex,
  header h1,
  header .title-sns {
    align-items: center;
  }
  header .title-sns a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: clamp(24px, 3.3vw, 29px);
    height: clamp(24px, 3.3vw, 29px);
  }
  header .title-sns img {
    display: block;
    box-sizing: border-box;
    width: clamp(24px, 3.3vw, 29px) !important;
    max-width: 100%;
    height: clamp(24px, 3.3vw, 29px) !important;
    max-height: 100%;
    object-fit: contain;
    padding: 0 !important;
    margin: 0 !important;
  }
}
