@charset "utf-8";
/* ===========================================================
 *
 * 駒井技研 スタイルシート
 * Last UpDate : 2026/2/6 *
=========================================================== */

/* ----------------------------------------------------------
	style.css
---------------------------------------------------------- */

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


html {
  font-feature-settings: "palt";
}

body {
color: #222;
background-color: #fff;
font-family: "Noto Sans JP","source-han-sans-japanese","Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", serif;
font-weight: 400;
font-style: normal;
letter-spacing: 1px;
}

.noto-sans-jp-uniquifier{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}


.roboto-uniquifier {
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

.m-plus-rounded-1c-regular {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
}


.google-sans-flex{
  font-family: "Google Sans Flex", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings:
    "slnt" 0,
    "wdth" 100,
    "GRAD" 0,
    "ROND" 0;
}

/*
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .h2Wrap{ line-height: 1.7 !important; }

}
*/

a{transition: .5s;}
a:hover{transition: .5s;}

img{max-width: 100%; height: auto;}

:root{
	--main-color: #3F51AA;
	--dark-color: #333E78;
  --recruit-color: #0a9078;
}



/* ----------------------------------------------------------
 link
---------------------------------------------------------- */
/*a:link		{ color: #fff; text-decoration: none; }
a:visited	{ color: #333; text-decoration: none; }
a:hover		{ color: #425a9f; text-decoration: none; }
a:active	{ color: #425a9f; text-decoration: none; }*/



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

header{position: fixed; width: 100%; background-color: var(--dark-color); height: 100px; z-index: 999; overflow: hidden;}
.header_sec{ margin: 0 0 0 auto; display: flex; height: 100px; align-items: center;}

.header_logo01{background-color: var(--main-color); width: 27%; text-align: center; padding: 33px 0;}
.header_logo01 img{max-width: 300px; height: auto; }
.header_logo01 a{ transition: .5s; gap: 5px;}
.header_logo01 a:hover{transition: .5s; opacity: 0.7;}

.header_navi{margin: 0 0 0 auto;}
.header_navi ul{display: flex; gap: 25px; margin-right: 20px;}
.header_item a{padding: 40px 0 29px; font-size: 1.5rem; font-weight: 500; display: block; color: #fff;}
.header_item a::after{content:""; display: block; width: 0; height: 3px; background-color: #fff; margin-top: 5px; transition: .5s;}
.header_item a:hover::after{width: 100%; transition: .5s;}
.header_item02{display: block; font-family: "Roboto", serif; font-weight: 400; font-size: 1.2rem; text-align: center;}

.header_tel{margin-right: 15px;}
.header_tel01{font-family: "Google Sans Flex", sans-serif; font-weight: 400; font-style: normal; font-size: 2.8rem; color: #fff; display: block; line-height: normal; letter-spacing: 0;}
.header_tel i{color: #fff; margin-right: 2px; font-size: 2rem;}
.header_tel02{display: block; font-weight: 400; font-size: 1.2rem; text-align: right; color: #fff;}

/***************************************
サブメニュー
***************************************/
.has-child{position: relative;}


ul.submenu {
  position: absolute;
  top: 60px;
  left: 50%;
  transform: translate(-50% , 0);
  width: 230px;
  
  margin: 0;
  text-align: center;
  z-index: 99999;
  display: block;
  box-shadow: 0px 8px 10px -6px rgba(0,0,0,0.3);
}


.submenu a{padding: 15px 0; display: block; color: #222;  background-color: #fff; font-size: 1.5rem; border-bottom: 1px solid #004A84;}
.submenu a:hover{background-color: #004A84; color: #fff;}
.submenu li{opacity: 0; height: 0; transition: .3s;  color: transparent; visibility: hidden;}
.submenu li:last-child a{border: none;}

ul.submenu li:first-child {
  border: 0 none; 
}
.has-child:hover .submenu li{visibility: visible; height: 50px; transition: .3s;  opacity: 1; visibility: visible;}

.header_item ul.submenu a::after{display: none;}


/*▲ メニューカスタマイズ (ここまで) ▲ */


/*ACCORDION toggle*/
 
	.accordion_logo{width: 80%; margin: 0 auto 30px; text-align: center;}
.toggle p{
    position: absolute;
    color: #2B4F91;
    left: 50%;
    bottom: 27px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    transform: translate(-50%, 0);}

	.toggle{
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    margin: 0;
    padding: 0;
    width: 100px;
    height: 100px;
    border: none;
    transition: background-color 0.2s ease;
    cursor: pointer;
    background-color: #004A84;}
	
	.toggle::before, .toggle::after {
    content: "";
    background-color: #000;
    transition: background-color 0.3s ease;
}
	
	.toggle > span, .toggle:before, .toggle:after{
	  display: block;
    background-color: var(--main-color);
    position: absolute;
    top: 50%;
    left: 48%;
    width: 35px;
    height: 2px;
    margin: -2px 0 0 -15px;}
	.toggle:before{transform: translateY(-9px); background-color: var(--main-color);}
	.toggle:after{transform: translateY(9px); background-color: var(--main-color);}


.toggle {
  position: fixed;

}



.accordion_menu_list {
 	display: none; 
	position: fixed;
	width: 100%;
	height: 100vh;
	margin: 0;
	list-style: none;
	top: 0;
	left: 0;
	padding: 60px 25px;
  	background-color: #fff;
  
    }
.toggle[aria-expanded=true] > span {
  opacity: 0;
}
.toggle[aria-expanded=true]::before, .toggle[aria-expanded=true]::after {

}
.toggle[aria-expanded=true]::before {
  animation: 0.3s ease closeBar1 forwards;
}
.toggle[aria-expanded=true]::after {
  animation: 0.3s ease closeBar2 forwards;
}
.toggle.-close::before {
  animation: 0.3s ease closeBar1Rev forwards;
}
.toggle.-close::after {
  animation: 0.3s ease closeBar2Rev forwards;
}

@keyframes closeBar1 {
  0% {
    transform: translateY(-10px);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(45deg);
  }
}
	
@keyframes closeBar2 {
  0% {
    transform: translateY(10px);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(-45deg);
  }
}
@keyframes closeBar1Rev {
  0% {
    transform: translateY(0) rotate(45deg);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(-10px);
  }
}
@keyframes closeBar2Rev {
  0% {
    transform: translateY(0) rotate(-45deg);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(10px);
  }
}
.nav {
	position: fixed;
	top: 0;
    right: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
	padding: 100px 60px;
    border: 1px solid #f5f5f5;
	justify-content: center;
	align-items: center;
	overflow: scroll;
	background: rgba(255, 255, 255, 0.9);
	color: #333;
	transition: opacity 0.3s ease, visibility 0.3s ease;
    /* スクロールバー非表示 */
    /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
}

.recruit_accordion .nav{width: 50%;}

 /*Google Chrome、Safariへの対応*/
.nav::-webkit-scrollbar{
  display: none;

}

.nav[aria-hidden=true] {
  	visibility: hidden;
  	opacity: 0;
 	pointer-events: none;
    
}
.nav[aria-hidden=false] {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
    overflow: scroll;
}

.accordion_menu li {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.5;
}
.accordion_menu li a {
	color: #333;
	transition: .5s;
	border-bottom: 1px solid #c6c6c6;
	display: block;
	padding: 12px 0;
  font-weight: 700;
}

.accordion_menu i{margin-left: 10px;}
.accordion_menu li a:hover{ transition: .5s; background-color: #F1F1F1}
.accordion_menu_sub li{line-height: 2rem;}
.accordion_menu_sub li a{font-size: 1.5rem; padding: 8px 20px; border-bottom: none; position: relative;}
.accordion_menu_sub li a:after{content: ""; padding: 1.5px; position: absolute; top: 17px; left: 12px; background-color: #333; border-radius: 100%;}

.accordion_menu i{margin-left: 10px;}
.accordion_menu li a:hover{ transition: .5s; opacity: 0.7;}
.accordion_menu_sub li{line-height: 2rem;}
.accordion_menu_sub li a{font-size: 1.5rem; padding: 8px 20px; border-bottom: none; position: relative;}
.accordion_menu_sub li a:after{content: ""; padding: 1.5px; position: absolute; top: 17px; left: 12px; background-color: #333; border-radius: 100%;}
/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
.bottom_contact_wrapper{background-color: #fff; width: 100%; height: 330px; position: relative;}
.bottom_contact_sec{width: 100%; max-width: 1600px; display: flex; position: absolute; left: 50%; bottom: -230px; transform: translateX(-50%); border-radius: 20px;}
.bottom_contact_left{background-color: #f5f5f5; width: 50%; padding: 8vw; border-top-left-radius: 20px; border-bottom-left-radius: 20px;}
.bottom_contact_head{font-weight: 600; margin-bottom: 20px;}
.bottom_contact_head01{font-size: 2rem; display: block;}
.bottom_contact_head02{font-size: 5rem; display: block; font-weight: 600; line-height: 1;}

.bottom_contact_number{display: flex; flex-direction: column; align-items: center;}
.bottom_contact_tel,
.bottom_contact_fax{font-size: 4.3rem; font-weight: 600; display: inline-block;}
.bottom_contact_tel span,
.bottom_contact_fax span{font-size: 2.6rem; margin-right: 5px;}
.bottom_contact_tel .bottom_contact_time{display: block; font-size: 1.5rem;  margin: 0; text-align: right;}

.bottom_contact_right{width: 50%;}
.bottom_contact_right iframe{width: 100%; height: -webkit-fill-available; border-top-right-radius: 20px; border-bottom-right-radius: 20px;}


.bottom_link_wrapper{width: 100%; margin-bottom: 30px;}
.bottom_link_wrapper ul{display: flex; gap: 20px; justify-content: center; flex-wrap: wrap;}
.bottom_link_wrapper li{color: #fff;  font-weight: 400; font-size: 1.5rem; position: relative;}
.bottom_link_wrapper li:after{content: "|"; position: absolute; color: #fff; right: -13px;}
.bottom_link_wrapper li:last-child::after{display: none;}



footer{width: 100%; text-align: center; padding: 290px 0 40px; background-color: var(--dark-color);}
.footer_logo{ text-align: center; margin-bottom: 30px;}
.footer_logo a{transition: .5s;}
.footer_logo a:hover{transition: .5s; opacity: .5;}
.footer_info{ font-weight: 400; font-size: 1.5rem; color: #fff; margin-bottom: 30px; line-height: 25px;}

.footer_copyright{font-size: 1.2rem; font-weight: 400; color: #fff;  text-align: center; margin-top: 50px;}


/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.wrapper{ position: relative; padding-top: 100px; }
.contents{background-color: #fff;}
.notfound_sec{max-width: 1100px; margin: 0 auto; padding: 80px 0; font-size: 2rem; width: 90%;}

.anchor{ padding-top: 100px; margin-top: -100px; position: absolute; z-index: 0;}

/* lnavi */
.lnavi{ max-width: 800px; margin: 50px auto 30px; padding: 12px 40px; background-color: var(--main-color); color: #fff; width: 90%; border-radius: 30px;}
.lnavi ul{ display: flex; gap: 30px; flex-wrap: wrap; justify-content: center; row-gap: 10px;}
.lnavi ul li{position: relative; font-size: 1.4rem;  font-weight: 500;}
.lnavi ul li:before{content: "/"; font-size: 1.2rem; position: absolute; top: 0px; left: -15px;}
.lnavi ul li:first-child::before{display: none;}
.lnavi ul a{transition: .5s;}
.lnavi ul a:hover{opacity: 0.6; transition: .5s;}

.lnavi_bottom .lnavi_list{margin-bottom: 0;}

/* トップページ */
.top_first_wrapper{width: 100%;  position: relative; }
.top_first_inner{display: flex;}
.top_first_txt{ color: #fff; background-color: var(--main-color); width: 25%; font-size: clamp(4rem, 3vw, 6rem); text-align: center; position: relative;}
.top_first_txt_inner{display: inline-block; text-align: left; font-weight: 600; position: absolute; left: 50%; bottom: 9vh; transform: translateX(-50%); white-space: nowrap;}
.top_first_txt span{font-size: clamp(4rem, 12vw, 20rem); line-height: 1; font-family: "Google Sans Flex", sans-serif;}
.top_first_img{width: 75%}
.top_first_img img{width: 100%; height: auto; z-index: 0;}

.top_reason_wrapper{ background-color: #fff; }
.top_reason_sec{padding: 50px 0; width: 90%; max-width: 1200px; margin: 0 auto; position: relative;}

.top_reason_head{margin-bottom: 20px; font-weight: 700;}
.top_reason_head01{font-size: 2rem; color: var(--main-color); display: block;}
.top_reason_head02{font-size: clamp(3rem, 5vw, 5rem); display: block;}
.top_reason_txt{font-size: clamp(1.8rem, 2vw, 3rem); line-height: 2; font-weight: 700; position: relative; z-index: 1;}
.top_reason_REASON{font-family: "Google Sans Flex", sans-serif; position: absolute; bottom: -28px; right: -5vw; font-size: clamp(10rem, 12vw, 20rem); color: #ccc; opacity: 0.5; z-index: 0; font-weight: 600; line-height: 1;}

.top_products{width: 100%; display: flex; flex-wrap: wrap; margin-bottom: 30px;}
.top_products_head{width: 40%; background-color: var(--main-color); color: #fff; text-align: center; position: relative;}
.top_products_head_inner{text-align: left; display: inline-block; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-weight: 600;}
.top_products_head01{font-size: 2.5rem; display: block; font-weight: 400;}
.top_products_head02{font-size: clamp(3rem, 5vw, 5rem); display: block;}

.top_products_item{width: 20%;}
.top_products_item img{width: 100%; height: auto;}
.top_products_btn{background-color: var(--dark-color); text-align: center; color: #fff;}
.top_products_btn a{width: 100%; height: 100%; text-align: center; position: relative; display: block;}
.top_products_btn a span{position: absolute; top: 50%; transform: translate(-50%, -50%); font-size: 3rem; font-weight: 500;}

.top_equipment_wrapper{position: relative; background: url(/info/wp-content/uploads/img_top_factory01.jpg); background-size: cover; z-index: 1; transition: .5s;}
.top_equipment_wrapper:hover{opacity: 0.7; transition: .5s;}
.top_equipment_wrapper::before{content: ""; width: 100%; height: 100%; background-color: #222; position: absolute; opacity: 0.5;}
.top_equipment_inner{position: relative; padding: 20vh; text-align: center;}
.top_equipment_inner01{display: block; color: #fff; font-size: 5rem; font-weight: 700;}
.top_equipment_inner02{position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); color: #ccc; opacity: 0.5; font-size: clamp(5rem, 15vw, 13rem); font-weight: 600; line-height: 1.2; letter-spacing: 2px;}



.swiper-slide{text-align: right;}
.swiper-button-next, .swiper-rtl .swiper-button-prev{display: none;}
.swiper-button-prev, .swiper-rtl .swiper-button-next{display: none;}

.top_first_wrapper video{width: 100%; height: auto; vertical-align: bottom; display: block;}

/* h1見出し */
.h1_wrapper{width: 100%; padding: 80px 0 70px;}
.h1_tit_item{width: 90%; max-width: 1200px; margin: 0 auto;}
.h1_tit_item h1{position: relative;}
.page_tit01{ font-weight: 500; font-style: normal; font-size: 6rem;  display: block; position: relative; z-index: 1;}
.page_tit02{ font-weight: 700;  display: block; text-transform: uppercase; font-family: "Google Sans Flex", sans-serif; color: #ccc; font-weight: 700; font-style: normal; font-size: clamp(10rem, 12vw, 20rem); position: absolute; z-index: -1; left: 0; bottom: -10vh; line-height: 1; opacity: 0.5;}


/* ぱんくず */
.breadcrumbs_wrapper{width: 90%; max-width: 1200px; margin: 0 auto;}
.breadcrumbs{font-size: 1.4rem;  font-weight: 500; display: flex; gap: 5px; flex-wrap: wrap; color: var(--main-color);}  
.breadcrumbs > ol{display: flex;} 
.breadcrumbs > ol > li{ display: inline-block; position: relative; }
.breadcrumbs > ol > li:before{ content: "/"; display: block; position: absolute; top: 4px; left: 6px;  font-size: 1.1rem; }
.breadcrumbs > ol > li:first-child:before{ content: ""; font-size: 1.7rem;}
.breadcrumbs > ol > li a{ font-size: 1.1rem; margin: 0 0 0 20px; }
.breadcrumbs > ol > li:first-child a{ margin: 0 0 0 0; }
.breadcrumbs > ol > li a:hover{ opacity: 0.6; }
.breadcrumbs ol span a{margin: 0 8px 0 8px;}
.breadcrumbs ol span:first-child a{margin: 0 8px 0 0;}


/* セカンドページ共通 */
.page_wrapper{padding: 60px 0;}
.page_sec{width: 90%; margin: 0 auto; max-width: 1200px;}
.page_sec p{ font-weight: 400; font-size: 1.8rem; line-height: 3.2rem; letter-spacing: 2px; text-align: left;}
.page_sec p strong{font-weight: bold;}
.page_sec h2{ font-size: clamp(3rem, 5vw, 5rem); font-weight: 700; padding-bottom: 15px; position: relative; border-bottom: 2px solid var(--main-color); margin-bottom: 25px;}
.page_term{margin-bottom: 80px;}
.page_term:last-child{margin-bottom: 0;}
.page_sec img{width: 100%; height: auto;}


/* 選ばれる理由 */
.reason_topic p{margin-bottom: 30px; font-size: 3rem; font-weight: 600; line-height: 5rem;}
.reason_topic_head{font-family: "Google Sans Flex", sans-serif; color: var(--main-color); font-size: clamp(2rem, 3vw, 6rem); font-weight: 500; margin-bottom: 30px; line-height: 1;}
.reason_topic_head span{font-size: clamp(4rem, 12vw, 20rem); margin-right: 10px;}
.reason_needs_flex{}
.reason_needs_flex p{font-size: 2.3rem; line-height: 4rem; font-weight: 500;}

/* 私たちについて */
.corporate_table{margin-bottom: 30px;}
.corporate_table table{width: 100%; }
.corporate_table th,
.corporate_table td{border: none!important; border-bottom: 1px solid #ccc!important; padding: 15px 20px!important; text-align: left;}
.corporate_history_table table{width: 100%; }
.corporate_history_table th,
.corporate_history_table td{border: none!important; border-bottom: 1px solid #ccc!important; padding: 15px 20px!important; text-align: left; font-size: 1.6rem; font-weight: 400;}

.outline_philosophy h3{font-size: 2.8rem; background-color: #EEEEEE; padding: 5px 15px; font-weight: 600; border-radius: 5px; margin-bottom: 20px;}
.outline_philosophy p,
.outline_philosophy li{font-size: 2rem; line-height: 3.5rem; list-style: decimal;}
.outline_philosophy li{margin-left: 25px;}
.outline_3C h4{font-size: clamp(2rem, 5vh, 5rem); letter-spacing: 2px; font-family: "Google Sans Flex", sans-serif; font-weight: 700; margin-bottom: 10px;}
.outline_3C p{font-size: 2rem;}
.outline_3C .wp-block-column:first-child h4{color: #697ACD; border-bottom: 2px solid #697ACD;}
.outline_3C .wp-block-column:nth-child(2) h4{color: #3F51AA; border-bottom: 2px solid #3F51AA;}
.outline_3C .wp-block-column:nth-child(3) h4{color: #333e78; border-bottom: 2px solid #333e78;}


/* 営業内容 */
.business_production p{font-size: 3rem; line-height: 5rem; font-weight: 600;}
.business_item_list{display: flex; gap: 100px;}
.business_item_list01{display: flex; flex-direction: column; gap: 30px;}
.business_item_list_inner h3{font-size: 3rem; font-weight: 700; margin-bottom: 20px;}
.business_item_list_inner li{margin-bottom: 10px; position: relative; font-weight: 600; padding-left: 15px;}
.business_item_list_inner li::before{content: ""; background-color: var(--main-color); position: absolute; left: 0; top: 10px; padding: 4px; border-radius: 100%;}

/* 施工実績 */
.works_private{margin-bottom: 50px;}
.works_main{display: flex; gap: 60px; margin-bottom: 30px;}
.works_main li{width: calc((100% - 60px)/2);}
.works_sub{display: flex; gap: 30px; flex-wrap: wrap; margin-bottom: 30px;}
.works_sub li{width: calc((100% - 60px)/3);}
.works_inner img{width: 100%; height: auto;}
.works_main_title,
.works_sub_title{font-weight: 600; margin-top: 5px;}
.works_more_btn{width: 300px; text-align: center; margin: 0 auto;}
.works_more_btn a{display: block; color: #fff; background-color: var(--main-color); border: 1px solid var(--main-color); padding: 10px; border-radius: 5px;}


/* 工場案内 */
.equipment_main p,
.equipment_sub p{font-weight: 600; font-size: 2rem;}
.facility_table{margin-bottom: 40px;}
.facility_table th,
.facility_table td{border: none!important; border-bottom: 1px solid #ccc!important; font-weight: 400; text-align: left; padding: 10px 20px!important; font-size: 1.5rem;}
.facility_table thead th{color: #fff; background-color: #222; border-bottom: none!important;}

.facility_list{display: flex; gap: 30px; flex-wrap: wrap;}
.facility_list li{width: calc((100% - 60px)/3);}
.facility_list .facility_img{margin-bottom: 3px;}
.facility_list .facility_name{font-weight: 400; font-size: 1.8rem;}
.facility_list .facility_info{font-size: 1.4rem;}

/* よくある質問 */
.faq_list{margin: 0 auto 50px; font-weight: 700; font-style: normal; max-width: 1000px;}
.faq_list_item{background-color: #eee; border: 1px solid #eee; width: 100%; margin-bottom: 20px; transition: .5s;}

.faq_question{ display: flex; gap: 40px; cursor: pointer; position: relative; padding: 25px 30px 25px 80px; }
.faq_question::before{content: "Q."; font-family: "Google Sans Flex", sans-serif; color: #222; position: absolute; left: 25px; top: 12px; font-size: 3.5rem; transition: .5s;}
.faq_question_txt{font-weight: 500; font-size: 2rem; color: #333; transition: .5s;}

.faq_answer{background-color: #fff; color: var(--main-color); padding: 25px 30px 25px 80px;  display: none; font-size: 2rem; font-weight: 500; line-height: 3rem; position: relative;}
.faq_answer::before{content: "A."; font-family: "Google Sans Flex", sans-serif; color: var(--main-color); position: absolute; left: 25px; top: 22px; font-size: 3.5rem;}
.faq_answer a{color: #0693e3; text-decoration: underline; font-weight: 700;}

.faq_list_item.open{background-color: var(--dark-color); border: 1px solid var(--dark-color); transition: .5s;}
.faq_list_item.open .faq_question_txt{color: #fff; transition: .5s;}
.faq_list_item.open .faq_question::before{color: #fff; transition: .5s;}
.faq_list_item .faq_answer { display: none;}
.faq_list_item.open .faq_answer { display: block; }

/* 親に相対位置を指定（右端に絶対配置するため） */
.faq_question {
  position: relative;
  padding-right: 24px; /* アイコン分の余白を確保 */
}

/* アイコン本体 */
.faq_question_icon {
  position: absolute;
  top: 50%;
  right: 50px;
  width: 28px;
  height: 28px;
  transform: translateY(-50%);
  background-color: var(--main-color);
  padding: 5px;
  border-radius: 100%;
}

/* 横線（共通） */
.faq_question_icon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 15px;
  height: 2px;
  background: #fff;
  transform: translate(-50%, -50%);
}

/* 縦線（+の時だけ表示） */
.faq_question_icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 15px;
  background: #fff;
  transform: translate(-50%, -50%);
}

/* 開いたら「-」にする（縦線を非表示） */
.faq_list_item.open .faq_question_icon::after {
  display: none;
}







/* 所有設備・工場紹介 */
.factory_list, .equipment_list{display: flex; flex-wrap: wrap; gap: 30px; row-gap: 50px;}
.factory_list li, .equipment_list li{width: calc((100% - 60px)/3);}
.factory_img, .equipment_img{margin-bottom: 10px;}
.factory_img img, .equipment_img img{width: 100%; height: auto;}
.factory_name{font-weight: 700; font-size: 2.2rem; margin-bottom: 10px; position: relative;}
.factory_name i{color: #00A0E9; margin-right: 5px;}
.factory_size{font-size: 1.8rem; font-weight: 700;}
.equipment_name{font-size: 1.6rem;}
.facility_table{max-width: 1200px; margin: 0 auto;}

.equipment_info{border-radius: 5px; background-color: #f5f5f5; padding: 15px; font-size: 1.5rem;}
.equipment_info_item{padding: 5px; border-bottom: 1px solid #ccc;}
.equipment_info_item:last-child{border-bottom: none;}

/* アクセス */
.access_googlemap iframe{width: 100%;}




/* お問合わせ */
.contact_wrapper{background-color: #fff;}
.contact_sec{max-width: 1200px; margin: 0 auto; padding: 40px 0; width: 90%; }
.policy_wrapper{background-color: #fff;}
.policy_sec{max-width: 1000px; margin: 0 auto;}
.policy_sec h3{ font-weight: 400; font-size: 2.3rem; color: #888; margin-bottom: 15px; background-color: initial; padding: 0; border: none;}
.policy_txt{margin-bottom: 40px;}
.policy_txt p{ font-weight: 400; line-height: 3.5rem; font-size: 1.6rem;}

.contact_thanks{max-width: 1000px; margin: 0 auto; padding: 30px 0 50px; line-height: 3.5rem;}


/* フォーム */
.page_sec .contact_item{display: flex; width: 100%; max-width: 1000px; margin: 0 auto; padding: 20px 20px; border-bottom: 1px solid #ccc;}
.page_sec .contact_tit{width: 35%;  font-weight: 700; position: relative; margin-left: 80px; }
.page_sec .contact_tit p{font-size: 18px; line-height: initial;}
.page_sec .contact_tit span{position: absolute;  background-color: #E02E30; color: #fff; margin-right: 15px; border: 1px solid #E02E30; padding: 4px 8px; left: -80px; top: -5px; font-size: 18px;}
.contact_txt,
.contact_adress,
.contact_txtarea{width: 65%;}
.contact_txt input{font-size: 20px; background: #f7f7f7; padding: 8px; border: 1px solid #ccc; font-family: zen-old-mincho, sans-serif; width: 80%;}
.contact_txtarea textarea{font-size: 20px; padding: 8px; background: #f7f7f7; border: 1px solid #ccc; font-family: zen-old-mincho, sans-serif; width: 80%;}
.contact_adress_sub p{padding-bottom: 15px;}
.contact_adress_sub span{display: block;}
.contact_adress input{background: #f7f7f7; border: 1px solid #ccc; height: 35px;  font-size: 20px; font-family: zen-old-mincho, sans-serif;}
.contact_submit{border-bottom: none;}
.contact_submit_btn{text-align: center; margin-top: 30px;}
.contact_submit_btn p{text-align: center;}
.contact_submit_btn input{background-color: var(--recruit-color); color: #fff; font-size: 16px; border: none; letter-spacing: 1px; padding: 12px 12px; cursor: pointer; }



input[type="checkbox"]{float: left;}
.contact_check{display: flex;}
.contact_submit .contact_tit{width: 30%;}
.wpcf7-spinner{display: block;}

.form_sec{max-width: 1000px; margin: 0 auto; padding-bottom: 80px;}
.form_tit{position: relative; max-width: 1000px; margin: 0 auto 100px;}
.form_tit01{ position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  font-size: 1.2rem;
  width: 140px;
  padding: 4px 0;
  border-radius: 18px;
  background-color: #5083CF;}

.form_tit02{font-size: 4rem;
  font-weight: 500;
  display: block;
  text-align: center;
  padding: 30px 0;
  border-bottom: 2px solid #333;
  border-top: 2px solid #5083CF;}

.main .nf-form-content .list-select-wrap .nf-field-element>div, .main .nf-form-content input:not([type=button]), .main .nf-form-content textarea{color: #333;}
.main .nf-form-content .list-select-wrap .nf-field-element>div:focus, .main .nf-form-content input:not([type=button]):focus, .main .nf-form-content textarea:focus{color: #333;}

.contact_radio input[type="radio"]{width: initial; height: initial; box-sizing: border-box; padding: 0px; vertical-align: baseline; font-size: 1.6rem;}
.contact_select select{padding: 5px; font-size: 1.6rem; }
.contact_file input[type="file"]{font-size: 1.5rem; margin-bottom: 5px;}
.contact_file_caution{font-size: 1.5rem;}


/* サンクスページ */
.tenants_sec{width: 90%; max-width: 1200px; margin: 0 auto;}


/* お知らせ */
.news_wrapper{background-color: #fff;}
.news_sec{width: 90%; max-width: 1300px; margin: 0 auto; }
.news_inner{}

.contents .wp-pagenavi{margin-top: 30px;}
.contents .wp-pagenavi a, 
.contents .wp-pagenavi span.current{border: 1px solid #bfbfbf;}
.contents .wp-pagenavi a:hover{background-color: #F29216; border: 1px solid #bfbfbf;}

.news_list{display: flex; flex-direction: column; gap: 40px;}
.news_head{display: flex; align-items: center; gap: 20px; padding: 10px 0; margin-bottom: 15px; border-bottom: 1px solid #006A84;}
.news_date{font-weight: 400; font-size: 1.5rem;}
.news_tit{font-weight: 700; font-size: 2.5rem;}

.news_list_content{ font-size: 1.8rem; font-weight: 400; line-height: 4rem; width: 90%; max-width: 1080px; margin: 0 auto;} 



/*お知らせ詳細*/
.news_single_inner{max-width: 1000px; margin: 0 auto;}
.page_sec h2.news_single_tit{padding: 0; border: none;}
.news_single_date{font-size: 1.6rem; display: block;}
.news_single_tit{font-size: 3rem; display: block;}
.news_single_txt h2{ font-size: 2.2rem; color: #fff; background-color: #F29216; padding: 10px 10px; font-weight: 700; border-radius: 5px; margin-bottom: 20px;}
.news_single_txt h3{font-size: 2rem; font-weight: 700; margin-bottom: 20px; padding-bottom: 8px; border-bottom: 1px solid #ccc;}
.news_single_txt h4{font-size: 1.8rem; margin-bottom: 10px;}
.news_single_txt p{text-align: left; line-height: 3rem; font-size: 1.6rem; margin-bottom: 20px; letter-spacing: 2px; }
.news_single_txt figure{text-align: left;}

.rp4wp-related-posts ul{float: none!important;}


.wp-pagenavi{display: flex; gap: 10px; justify-content: center; margin-top: 50px; display: flex; gap: 10px; text-align: center; line-height: 2; justify-content: center; }
.wp-pagenavi a{width: 38px; height: 38px; font-size: 1.7rem; line-height: 2; display: inline-block; color: #333; border: 1px solid #333; text-align: center; border-radius: 100%;}
.wp-pagenavi a:hover{color: #fff; background-color: #333;}
.wp-pagenavi span{font-size: 1.7rem; line-height: 2; color: #fff; background-color: #F29216; display: inline-block; width: 40px; height: 40px; border: 1px solid #F29216; border-radius: 100%;}
  

/* お知らせ詳細 */
.news_single_detail{ }
.news_single_info{display: flex; gap: 10px;}
.news_single_date{font-size: 1.5rem; font-weight: 400;}
.news_single_cat ul{display: flex; gap: 5px;}
.news_single_cat ul li{ min-width: 150px; text-align: center; }
.news_single_cat ul a{ display: block; font-weight: 700; font-size: 1.2rem; color: #fff; background-color: #F29216; padding: 3px 0; border-radius: 12px;}
.news_single_tit{ color: #F29216; font-weight: 700; font-size: 3rem; margin-bottom: 40px; text-align: left;}
.news_single_txt p{font-size: 1.6rem; font-weight: 400; line-height: 3.5rem; margin-bottom: 40px;}
.news_single_txt figure{text-align: left; margin-bottom: 30px!important;}
.news_single_txt ul{font-size: 1.6rem; line-height: 3.5rem; list-style: disc; margin-bottom: 15px;}
.news_single_txt ul li{margin-left: 25px;}


.flex_img{gap: 40px;}
.flex_img_item{width: calc((100% - 40px)/2); }

/* 404error */
.error_sec{text-align: center; padding: 200px 0 120px;}


/* サイトマップ */
.sitemap_wrapper{padding: 60px 0;}
.sitemap_sec{ margin: 0 auto; width: 90%;}
.sitemap_list01{display: flex; flex-direction: column; font-weight: 600;}
.sitemap_list01 li{ margin: 0 0 30px 15px; position: relative;}
.sitemap_list01 li:before{content: ""; padding: 4px; background-color: #999; border-radius: 100%; position: absolute; top: 14px; left: -15px;}
.sitemap_item01{font-size: 2.2rem; position: relative; transition: 0.5s; }

.sitemap_list02{display: flex; flex-direction: column; gap: 15px; font-size: 1.7rem; margin: 20px 0 0 40px;}
.sitemap_list02 li{position: relative; margin-bottom: 0; color: #999;}

.sitemap_recruit{margin: 50px 0 0 80px;}



/*------- 採用ページ -------*/
/* 採用ページヘッダー */
.recruit_header_wrapper{height: 100px; box-shadow: none; background-color: transparent;}
.recruit_header{display: flex; justify-content: space-between; background-color: transparent; height: 100px;}
.recruit_header_logo{background-color: var(--main-color);}
.recruit_header_logo a{display: flex; gap: 20px; align-items: center; padding: 18px 20px 17px;}
.recruit_header_wrapper01 .recruit_header_logo02{color: #fff;}

/*
.recruit_header_wrapper01 {
  background-color: transparent;
  transition: background-color 0.3s ease;
}

.recruit_header_wrapper01.is-scrolled {
  background-color: rgba(0, 0, 0, 0.6);
}
*/



.recruit_header_entry{text-align: center; width: 255px; font-family: "Google Sans Flex", sans-serif; margin-right: 100px; display: none;}
.recruit_header_entry a{color: #fff; background-color: var(--recruit-color); display: block; font-size: 3.5rem; font-weight: 700; padding: 17px 0;}
.recruit_header_entry a span{font-family: "Noto Sans JP", serif; display: block; font-size: 1.5rem; line-height: 1;}

.recruit_accordion .toggle{background-color: #fff;}
.recruit_accordion span{background-color: var(--recruit-color);}
.recruit_accordion .toggle::before, .recruit_accordion .toggle::after{background-color: var(--recruit-color);}

.recruit_accordion .toggle .toggle_menu{
    position: absolute;
    color: var(--recruit-color);
    background: none;
    top: initial;
    left: 50%;
    bottom: 30px;
    font-size: 11px;
    transform: translate(-50%, 0);
    margin: initial;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
font-style: italic;}

/* 採用ページフッター */
.recruit_footer{padding: 100px 0 20px; background: none; background-color: #393939;}
.recruit_footer .footer_info{color: #fff;}
.footer_corporate_btn{text-align: center; width: 400px; margin: 0 auto;}
.footer_corporate_btn a{color: var(--recruit-color); background-color: #fff; padding: 20px 0; display: block; border: 1px solid #fff; border-radius: 5px;}
.footer_corporate_btn a:hover{color: #fff; background-color: var(--recruit-color);}


/* 採用トップ */
.recruit_top_wrapper{padding-top: 0; max-width: 2400px; margin: 0 auto;}
.recruit_top_first_wrapper{position: relative;}
.recruit_top_first_txt{position: absolute; font-style: italic; font-weight: 700; color: #fff; font-size: clamp(10rem , 8vw , 16rem); line-height: 1.15; left: 5%; top: 65%; transform: translateY(-50%); text-shadow: 2px 3px 3px rgba(50, 50, 50, 0.9);}


.recruit_top_first_img video{display: block; width: 100%;}

.recruit_top_concept_wrapper{background-color: #797878; padding: 50px 0;}
.recruit_top_concept_sec{width: 90%; max-width: 1600px; margin: 0 auto; color: #fff; font-weight: 600;}
.recruit_top_concept01{font-family: "Google Sans Flex", sans-serif; font-size: clamp(2rem , 2vw , 4rem);}
.recruit_top_concept02{font-weight: 700; font-size: clamp(4rem , 6vw , 10rem); font-style: italic; line-height: 1.1; margin-bottom: 15px;}
.recruit_top_concept03{font-size: clamp(2rem , 3vw , 4.2rem); font-weight: 700; font-style: italic;}


.recruit_top_staff{padding: 90px 0;}
.recruit_staff_list{width: 90%; max-width: 1280px; margin: 0 auto 80px; gap: 40px; display: flex; flex-wrap: wrap; row-gap: 80px;}
.recruit_interview_list_item{width: calc((100% - 120px)/4); position: relative; transition: .5s;}
.recruit_interview_list_item a:hover{opacity: 0.7; transition: .5s;}
.recruit_staff_topic{position: absolute; left: 30px; top: -50px; writing-mode: vertical-rl; color: #fff; background-color: var(--recruit-color); padding: 10px; font-size: 2rem; font-weight: 700; display: none;}
.recruit_staff_thumbnail{margin-bottom: 10px;}
.recruit_interview_list_item .recruit_staff_info{color: #999; font-size: 1.8rem;}
.recruit_interview_list_item .recruit_staff_name{font-size: 1.8rem; color: #333; font-weight: 600;}
.recruit_staff_message{font-size: 1.rem; line-height: 3rem;}
.recruit_staff_btn{width: 500px; text-align: center; margin: 0 auto;}
.recruit_staff_btn a{color: #fff; background-color: var(--recruit-color); border: 1px solid var(--recruit-color); display: block; font-size: 2rem; font-weight: 700; padding: 20px 0;}
.recruit_staff_btn a:hover{color: var(--recruit-color); background-color: #fff;}


.recruit_top_faq_wrapper{background-color: #F5F5F5; padding: 50px 0;}
.recruit_top_faq_sec{}
.recruit_top_faq_head{margin-bottom: 20px; text-align: center; color: var(--recruit-color);}
.recruit_top_faq_head01{font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 8rem;  margin-bottom: 10px; display: block;}
.recruit_top_faq_head02{font-weight: 500; font-size: 1.8rem; display: block;}
.recruit_faq_list{margin-bottom: 30px; width: 90%; max-width: 1100px; margin: 0 auto;}
.recruit_faq_list .faq_list_item{background-color: #fff; border: none; box-shadow: 1px 3px 5px 0px rgba(0, 128, 244, 0.2);}
.recruit_faq_list .faq_question{padding: 25px 30px 25px 120px;}
.recruit_faq_list .faq_question::before { content: "Q" attr(data-index) ""; color: var(--recruit-color); font-weight: 700;}
.recruit_faq_list .faq_answer::before {content: "A" attr(data-index) ""; color: #fff; font-weight: 700;}
.recruit_faq_list .faq_list_item.open .faq_question_txt{color: initial;}
.recruit_faq_list .faq_list_item.open .faq_question::before{color: var(--recruit-color);}
.recruit_faq_list .faq_answer{padding: 25px 30px 25px 120px; color: #fff; background-color: #006A84;}
.recruit_faq_list .faq_question_icon{background-color: initial; width: initial; height: initial; color: var(--recruit-color);}
.recruit_faq_list .faq_question_icon::before,
.recruit_faq_list .faq_question_icon::after{display: none;}
.recruit_faq_list .faq_list_item.open .faq_question_icon i{transform: rotate(90deg);}
.recruit_faq_btn{width: 500px; text-align: center; margin: 0 auto;}
.recruit_faq_btn a{color: #fff; background-color: var(--recruit-color); border: 1px solid var(--recruit-color); display: block; font-size: 2rem; font-weight: 700; padding: 20px 0;}
.recruit_faq_btn a:hover{color: var(--recruit-color); background-color: #fff;}

.recruit_top_message{position: relative; background-color: var(--recruit-color); padding: 50px 20px;}
.recruit_top_message_txt{ color: #fff;  text-align: center; margin-bottom: 30px;}
.recruit_top_message_txt01{font-weight: 700; font-size: 3rem; display: block;}
.recruit_top_message_txt02{font-weight: 700; font-size: clamp(6rem , 5.5vw , 10rem); line-height: 1.1; font-style: italic;}
.recruit_top_message_btn{width: 500px; text-align: center; margin: 0 auto; max-width: 100%;}
.recruit_top_message_btn a{color: var(--recruit-color); background-color: #fff; border: 1px solid #fff; display: block; font-size: 2rem; font-weight: 700; padding: 20px 0;}
.recruit_top_message_btn a:hover{color: #fff; background-color: var(--recruit-color);}



/* 採用ページ見出し */
.recruit_wrapper{padding-top: 0;}
.h1_recruit{padding: 0 ; position: relative; margin-bottom: 180px;}
.h1_recruit .h1_tit_item{position: absolute; text-align: center; bottom: -145px; left: 50%; transform: translateX(-50%);}
.h1_recruit .h1_tit_inner{line-height: 1.1; margin-bottom: 30px;}
.h1_recruit .page_tit01{font-size: clamp(10rem, 10vw, 18rem); color: var(--recruit-color); font-weight: 700; text-transform: uppercase; margin-bottom: 15px; text-shadow: 3px 2px 1px rgba(255, 255, 255, 0.8);}
.h1_recruit .page_tit02{position: initial; font-size: 2.5rem;  display: block; color: #222; opacity: 1;}
.h1_recruit .breadcrumbs{font-size: 1.6rem; color: #222; justify-content: center; font-weight: 600;}

/* 採用メッセージ・ビジョン */
.recruit_sec h2{color: var(--recruit-color); font-size: clamp(5rem, 10vw, 10rem); font-style: italic; margin-bottom: 30px; line-height: 1.1; border: none;}
p.recruit_message_president{font-size: 2.5rem; text-align: center;} 
.recruit_sec .recruit_message_vision_tit{font-size: clamp(5rem, 10vw, 10rem); font-family: "Google Sans Flex", sans-serif; margin-bottom: 30px; font-weight: 700; color: var(--recruit-color);}



/* インタビュー詳細 */
.recruit_interview_sec{max-width: 1600px;}
.recruit_interview_sec .recruit_staff_list{width: 100%;}
.recruit_interview_topic_flex{display: flex; gap: 50px; margin-bottom: 80px; align-items: flex-start;}
.recruit_interview_topic_txt{writing-mode: vertical-rl; font-size: 4rem; color: var(--recruit-color); width: 30%; flex: 1; max-height: 500px; font-weight: 700;}
.recruit_interview_topic_right{position: relative; width: 100%; max-width: 1100px; margin: auto; }
.recruit_interview_info{position: absolute; left: 50px; bottom: 30px; color: #fff;}
.recruit_interview_name{margin-bottom: 30px;}
.recruit_interview_name01{font-family: "Roboto", serif; font-weight: 300; font-size: 1.6rem; display: block;}
.recruit_interview_name02{font-weight: 700; font-size: 2.7rem; position: relative; display: block;}
.recruit_interview_name02::after{content: ""; position: absolute; left: 0; bottom: -15px; width: 40px; height: 2px; background-color: #fff;}
.recruit_interview_recruit_deploy{font-size: 1.6rem; font-weight: 700;}
.recruit_interview_detail{display: flex; flex-wrap: wrap; max-width: 1300px; margin: 0 auto;}
.recruit_interview_detail_inner:first-child{width: 50%; padding-right: 80px; border-right: 1px solid #ccc; margin-bottom: 80px;}
.recruit_interview_detail_inner:nth-child(2){width: 50%; padding-left: 80px; margin-bottom: 80px;}
.recruit_interview_detail_inner:last-child{width: 100%; padding-top: 50px; border-top: 1px solid #ccc; margin-bottom: 50px;}
.recruit_interview_detail_head01{font-size: 3.5rem; font-weight: 700; margin-bottom: 20px; display: block;}
.recruit_interview_detail_head02{font-family: "Roboto", serif;  font-size: 1.5rem; color: #2B4F91; display: block;}
.recruit_interview_detail_txt{font-weight: 400; font-size: 1.8rem; line-height: 3.5rem;}
.recruit_interview_bottom_img{max-width: 1300px;}

/* 働く環境 */
.recruit_works_sec{max-width: 1200px;}
.recruit_works_main img,
.recruit_works_sub img{width: 100%; height: auto;}

.recruit_works_flex{gap: 50px!important;}
.recruit_works_flex_left{flex-basis: 40%!important;}
.recruit_works_flex_right{flex-basis: 60%!important;}

/* 採用募集要項 */
.recruit_information_sec{max-width: 1200px;}
.recruit_information_table th{font-weight: 700; border-bottom: 1px solid var(--recruit-color)!important;}

/* 求める人物像 */
.recruit_desired_item{text-align: center; max-width: 800px; margin: 0 auto;}
.recruit_desired_item p{display: inline-block; text-align: left; line-height: 3.5rem;}
.recruit_desired_item .recruit_desired_topic{margin-bottom: 30px; font-size: 4rem; line-height: 1.2;}

/* 採用フォーム */
.recruit_form_sec h2{font-size: clamp(5rem, 7vw, 7rem);}



/* ----------------------------------------------------------
 SP CSS
---------------------------------------------------------- */
@media screen and (max-width:680px){
img,video {
  max-width: 100%;
  height: auto;
}

/* フォントサイズ10px=62.5% */
html{ font-size: 60%; }

/* 基本のフォントサイズ */
body{ font-size: 1.8rem; height: auto !important; padding-top: 0; }

/* 非表示用 */
.noneSP	{ display: none !important; }


/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{position: fixed; background-color: #fff; height: 60px; width: 100%; z-index: 999;}

.header_sec{height: 60px;}
.header_logo{height: 60px; flex-basis: initial;}
.header_logo01 a{ padding: 0;}
.header_logo h1{margin-left: 10px; padding-top: 0; text-align: left;}
.header_logo01{width: 100%; text-align: left; max-width: initial; height: 60px; padding: 13px;}
.header_logo01 img{width: 230px;}



/*ACCORDION*/
.toggle{width: 60px; height: 60px; background-color: #fff;}
.toggle p{bottom: 11px;}


/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
/* ページ下部 固定メニュー */

.btm_menu { position: fixed; bottom: -50px; width: 100%; border-top: 1px solid #ccc; z-index: 99; }
.btm_menu li { float: left; width: 100%; }
.btm_menu li:first-child a {}
.btm_menu li a { display: block; height: 50px; text-align: center; font-size: 1.6rem; padding: 15px 5px 5px; background-color: var(--main-color); color: #fff; transition: .5s;}
.btm_menu li a i{ font-size: 1.8rem; margin-right: 10px; }
.btm_menu li a:hover { background-color: #fff; color: var(--main-color); transition: .5s;}
.btm_menu ul:after { content: ''; clear: both; display: block; }

.bottom_contact_wrapper{ height: initial;}
.bottom_contact_sec{width: 90%; display: initial; position: initial;}
.bottom_contact_left{width: 100%; border-radius: 0; padding: 30px;}
.bottom_contact_head{text-align: center;}
.bottom_contact_head02{font-size: 3rem;}
.bottom_contact_tel, .bottom_contact_fax{font-size: 3.3rem;}
.bottom_contact_right{width: 100%;}
.bottom_contact_right iframe{border-radius: 0;}

footer{padding: 40px 0 70px;}
.footer_sec{width: 100%; display: block; text-align: center;}
.footer_logo01{width: 300px; margin: 0 auto;}
.footer_sec01{padding: 0; border: none;}
.footer_sitemap{display: none;}
.footer_logo{text-align: center; margin-bottom: 30px;}
.footer_info{ font-size: 1.6rem; margin-bottom: 20px;}
.footer_copyright{margin: 20px auto 0; text-align: center;}


    
/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.wrapper{ position: relative; overflow: hidden; padding-top: 60px;}
.sp_br{display: block;}
.anchor{padding-top: 60px; margin-top: -60px; display: block;}


/*トップページ*/
.top_first_inner{flex-direction: column-reverse;}
.top_first_img{width: 100%;}
.top_first_txt{position: initial; padding: 15px; width: 100%; color: var(--main-color); background-color: initial;  font-size: clamp(4rem, 3vw, 6rem);}
.top_first_txt_inner{position: initial; transform: none;}
.top_first_txt span{font-size: clamp(4rem, 17vw, 20rem);}
.top_reason_sec{padding: 10px 0 30px;}
.top_reason_REASON{display: none;}
.top_products_head{width: 100%; padding: 15px 0; transform: none;}
.top_products_head_inner{position: initial; transform: none;}
.top_products_item{width: 50%;}
.top_products_btn a span{font-size: 2.5rem;}

.top_equipment_inner{padding: 10vh 0;}
.top_equipment_inner01{font-size: 4rem;}
.top_equipment_inner02{font-size: clamp(3rem, 12vw, 8rem);}


/* セカンドページ共通 */
.h1_wrapper{width: 100%; padding: 30px 0; display: flex; flex-direction: column-reverse; gap: 10px;}
.h1_tit_inner{text-align: center;}
.h1_tit_item{margin: 0 auto; padding: 0; z-index: 1;}
.page_tit01{font-size: 3.5rem;}
.page_tit02{position: initial; display: block; font-size: 2rem; color: #ccc;}

.page_wrapper{padding: 30px 0 50px;}
.page_term{margin-bottom: 50px;}
.page_sec p{font-size: 1.6rem; line-height: 3.5rem; margin-bottom: 20px;}
.page_sec figure{text-align: center;}
.page_sec h2{font-size: clamp(3rem, 5vw, 5rem);}

.breadcrumbs{justify-content: center;}

/* 私たちについて */
.corporate_wrapper{padding: 30px 0;}
.corporate_table th,
.corporate_table td{width: 100%!important; display: block; padding: 15px 10px!important; font-size: 1.5rem;}
.corporate_table th{font-weight: 700; background-color: #f5f5f5!important;}

.corporate_history_table th,
.corporate_history_table td{width: 100%!important; display: block; padding: 15px 10px!important;}
.corporate_history_table th{background-color: #f5f5f5!important; font-weight: 700;}

.outline_philosophy h3{font-size: 2rem;}
.outline_philosophy li{font-size: 1.6rem;}

/* 事業内容 */
.business_sec .business_topic_head{font-size: 2.8rem; margin-bottom: 30px; line-height: 4.5rem;}
.business_topic{margin-bottom: 50px;}
.business_item_list{flex-direction: column; gap: 40px;}
.business_item_list_inner h3{font-size: 2.5rem;}

/* 施工実績 */
.works_main{flex-direction: column; gap: 30px;}
.works_main li{width: 100%;}
.works_sub{flex-direction: column; gap: 30px;}
.works_sub li{width: 100%;}


/* 工場案内 */
.factory_list, .equipment_list{flex-direction: column;}
.factory_list li, .equipment_list li{width: 100%;}
.factory_introduction_item{max-width: 580px; margin: 0 auto;}
.facility_table table{width: max-content!important;}
.facility_list{gap: 20px;}
.facility_list li{width: 100%;}

/* よくある質問 */
.faq_question, .faq_answer{padding: 20px 50px 25px 45px;}
.faq_question::before, .faq_answer::before{font-size: 2.5rem; left: 10px;}
.faq_question_txt, .faq_answer_txt{font-size: 1.6rem; }
.faq_question_icon{right: 20px; width: 24px; height: 24px;}


/* ローカルナビ */
.lnavi{margin-bottom: 0;}
.lnavi ul{justify-content: left;}


    
/* お問合せフォーム */
.contact_sec{width: 90%; margin: 0 auto;}
.page_sec .contact_item{display: block; padding: 20px 0;}
.page_sec .contact_tit{margin: 0 0 20px 0; width: initial;}
.page_sec .contact_tit p{font-size: 18px;}
.page_sec .contact_essential .contact_tit{margin-left: 60px; width: initial;}
.page_sec .contact_tit span{left: -60px; font-size: 16px;}

.contact_txt, .contact_adress, .contact_txtarea{width: 100%;}
.contact_txt input{width: calc(100% - 16px); margin: 0 auto; font-size: 16px;}
.contact_adress input{width: 100%; margin-left: 0; font-size: 16px;}
input[type="checkbox"]{padding: 8px;}
.form-width{max-width: 100%;}
.page_sec .wpcf7-spinner{display: block;}
.contact_txtarea textarea{width: calc(100% - 16px); font-size: 16px;}
.contact_select select{width: 100%; padding: 8px;}

/* 新着情報一覧 */
.news_wrapper{padding: 30px 0;}
.news_list{gap: 30px;}
.news_head{display: block;}
.news_item_date{font-size: 1.4rem;}
.news_tit{font-size: 1.8rem;}
.news_item_content p{font-size: 1.4rem; line-height: 2.5rem;}

.news_head{display: block;}
.news_tit{font-size: 1.8rem;}

/* 新着情報詳細 */
.page_sec h2.news_single_tit{font-size: 2.5rem; margin-bottom: 30px; padding: 0!important;}
.news_single_inner h3{font-size: 2rem;}
.news_single_inner p{font-size: 1.4rem; line-height: 2.5rem;}

/* サイトマップ */
.sitemap_list01 li{margin-bottom: 30px;}
.sitemap_list02 li{margin-bottom: 0;}
.sitemap_list02{margin: 20px 0 0 35px;}

.sitemap_recruit{margin: 30px 0 0 30px;}


/*------- 採用ページ -------*/
/* 採用ページヘッダー */
.recruit_header{height: 60px;}
.recruit_header_wrapper{height: 60px;}
.recruit_header_logo{width: 100%;}

.recruit_header_logo01{width: 230px;}
.recruit_header_logo a{padding: 13px;}
.recruit_header_entry{margin-right: 60px; width: 120px;}
.recruit_header_entry a{font-size: 2rem; }
.recruit_accordion .toggle .toggle_menu{left: 50%; font-size: 10px; bottom: 15px;}

.recruit_accordion .nav{width: 100%;}

/* 採用ページフッター */
.recruit_footer{padding: 40px 0 30px;}
.footer_corporate_btn{width: 300px;}
.btn_menu_recruit{display: none;}


/* 採用ページトップ */
.recruit_top_first_txt{font-size: clamp(4.5rem, 10vw, 8rem); left: 50%; top: 50%; right: initial; transform: translate(-50%, -50%); white-space: nowrap;}

.recruit_top_news_wrapper{position: initial; width: 100%; padding: 15px;}
.recruit_top_news_sec{display: block;}

.recruit_top_concept_wrapper{padding: 40px 0;}
.recruit_top_concept_head01{font-size: clamp(2.5rem, 4vw, 6rem);}
.recruit_top_concept_head02{font-size: clamp(3.5rem, 4.5vw, 8rem);}
.recruit_top_concept_head03{font-size: clamp(2.5rem, 4vw, 6rem);}
.recruit_top_concept_btn{width: 300px;  margin: 30px auto 0;}
.recruit_top_concept_btn a{font-size: 2rem;}
.recruit_staff_btn{width: 360px; max-width: 90%; margin: 0 auto;}
.recruit_staff_btn a{font-size: 2rem;}

.recruit_top_staff{}
.recruit_staff_list{flex-direction: column; gap: 40px;}
.recruit_interview_list_item{width: 100%; max-width: 360px; margin: 0 auto;}

.recruit_top_faq_wrapper{padding: 30px 0;}
.recruit_top_faq_head01{font-size: 4rem;}
.recruit_faq_list .faq_question{padding: 20px 50px 25px 70px;}
.recruit_faq_list .faq_answer{padding: 20px 50px 25px 70px;}
.recruit_faq_btn{width: 360px; max-width: 90%; margin: 0 auto;}
.recruit_faq_btn a{font-size: 2rem;}

.recruit_top_message_txt01{font-size: clamp(2rem, 6vw, 5rem); margin-bottom: 20px;}
.recruit_top_message_txt02{font-size: clamp(3.5rem, 8vw, 7rem);}

/* 見出し */
.h1_recruit{padding: 0; margin-bottom: 150px;}
.h1_recruit .page_tit01{font-size: clamp(4rem, 10vw, 12rem);}
.h1_recruit .page_tit02{font-size: 2.5rem;}
.recruit_page_tit01{font-size: 1.8rem;}
.recruit_page_tit02{font-size: 3rem;}
.page_sec .recruit_page_tit{margin-bottom: 20px!important;}
.h1_recruit .breadcrumbs{font-size: 1.4rem; font-weight: 500;}

/* メッセージ */
.recruit_sec h2{font-size: clamp(4rem, 8vw, 8rem);}
p.recruit_message_president{font-size: 2rem;}

/* インタビュー */
.recruit_interview_wrapper{padding-top: 80px;}
.recruit_interview_sec .recruit_staff_list{margin-bottom: 0;}
.recruit_staff_topic{font-size: 1.8rem;}
.recruit_interview_topic_flex{flex-direction: column; gap: 30px; margin-bottom: 50px;}
.recruit_interview_topic_txt{writing-mode: initial; width: initial; font-size: 3rem;}
.recruit_interview_topic_right{width: 100%;}
.recruit_interview_info{position: initial; margin-top: 10px; color: #222;}
.recruit_interview_sec .recruit_staff_name{margin-bottom: 0px; font-size: 1.8rem; line-height: 3rem;}
.recruit_staff_info .recruit_staff_other{margin-bottom: 0;}

.recruit_interview_detail_wrapper{padding-top: 30px;}
.recruit_interview_detail{flex-direction: column;}
.recruit_interview_detail_head01{font-size: 3rem;}
.recruit_interview_detail_inner{width: 100%; padding: 0 0 50px; border: none; border-bottom: 1px solid #ccc;}
.recruit_interview_detail_inner:first-child{width: 100%; padding: 0 0 50px; border: none; border-bottom: 1px solid #ccc; margin-bottom: 50px;}
.recruit_interview_detail_inner:nth-child(2){width: 100%; padding: 0 0 50px; border: none; border-bottom: 1px solid #ccc; margin-bottom: 50px;}
.recruit_interview_detail_inner:last-child{width: 100%; padding: 0 0 50px; border: none; border-bottom: 1px solid #ccc; margin-bottom: 50px;}

.recruit_interview_name02::after{background-color: #333;}


}

/* ----------------------------------------------------------
 SP CSS END
---------------------------------------------------------- */

/* ----------------------------------------------------------
 TAB CSS
---------------------------------------------------------- */
@media screen and (min-width:681px) and (max-width:1180px){

img,video {
  max-width: 100%;
  height: auto;
}

/* フォントサイズ10px=62.5% */
html{ font-size: 62.5%; }

/* 基本のフォントサイズ */
body{ font-size: 1.8rem; padding-top: 0; }

/* 非表示用 */
.noneTAB		{ display: none !important; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{position: fixed; background-color: #fff; height: 60px; width: 100%; z-index: 999;}

.header_sec{height: 60px;}
.header_logo{height: 60px; flex-basis: initial;}
.header_logo01 a{ padding: 0;}
.header_logo h1{margin-left: 10px; padding-top: 0; text-align: left;}
.header_logo01{width: 100%; text-align: left; max-width: initial; height: 60px; padding: 13px;}
.header_logo01 img{width: 230px;}



/*ACCORDION*/
.toggle{width: 60px; height: 60px; background-color: #fff;}
.toggle p{bottom: 11px;}


/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
/* ページ下部 固定メニュー */

.btm_menu { position: fixed; bottom: -50px; width: 100%; border-top: 1px solid #ccc; z-index: 99; }
.btm_menu li { float: left; width: 100%; }
.btm_menu li:first-child a { border-right: 1px solid #ccc; }
.btm_menu li a { display: block; height: 50px; text-align: center; font-size: 1.6rem; padding: 15px 5px 5px; background-color: var(--main-color); color: #fff; transition: .5s;}
.btm_menu li a i{ font-size: 1.8rem; margin-right: 10px; }
.btm_menu li a:hover { background-color: #fff; color: #333; transition: .5s;}
.btm_menu ul:after { content: ''; clear: both; display: block; }

.bottom_contact_wrapper{ height: initial;}
.bottom_contact_sec{width: 90%; display: initial; position: initial;}
.bottom_contact_left{width: 100%; border-radius: 0; padding: 30px;}
.bottom_contact_head{text-align: center;}
.bottom_contact_head02{font-size: 3rem;}
.bottom_contact_tel, .bottom_contact_fax{font-size: 3.3rem;}
.bottom_contact_right{width: 100%;}
.bottom_contact_right iframe{border-radius: 0;}

footer{padding: 40px 0 70px;}
.footer_sec{width: 100%; display: block; text-align: center;}
.footer_logo01{width: 300px; margin: 0 auto;}
.footer_sec01{padding: 0; border: none;}
.footer_sitemap{display: none;}
.footer_logo{text-align: center; margin-bottom: 30px;}
.footer_info{ font-size: 1.6rem; line-height: 1;}
.footer_copyright{margin: 20px auto 0; text-align: center;}
	


/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.wrapper{ position: relative; overflow: hidden; padding-top: 60px;}
.tab_br{display: block;}
.anchor{padding-top: 60px; margin-top: -60px; display: block;}



.lnavi{ margin: 0 auto; min-width: 400px; }
.lnavi ul{gap: 50px;}


/* ぱんくず */
.breadcrumbs_wrapper{margin-top: 10px;}
.breadcrumbs{text-align: center; justify-content: center; font-size: 1.2rem;}  
.lnavi ul li:before{content: "/";
    font-size: 1.2rem;
    position: absolute;
    top: 0px;
    left: -15px;}


/*トップページ*/
.top_first_inner{flex-direction: column-reverse;}
.top_first_img{width: 100%;}
.top_first_txt{position: initial; padding: 15px; width: 100%; color: var(--main-color); background-color: initial;  font-size: clamp(4rem, 3vw, 6rem);}
.top_first_txt_inner{position: initial; transform: none;}
.top_first_txt span{font-size: clamp(4rem, 17vw, 20rem);}
.top_reason_sec{padding: 10px 0 30px;}
.top_reason_REASON{display: none;}
.top_products_head{width: 100%; padding: 15px 0; transform: none;}
.top_products_head_inner{position: initial; transform: none;}
.top_products_item{width: 50%;}
.top_products_btn a span{font-size: 2.5rem;}

.top_equipment_inner{padding: 10vh 0;}
.top_equipment_inner01{font-size: 4rem;}
.top_equipment_inner02{font-size: clamp(3rem, 12vw, 8rem);}


/* セカンドページ共通 */
.h1_wrapper{width: 100%; padding: 30px 0; display: flex; flex-direction: column-reverse; gap: 10px;}
.h1_tit_inner{text-align: center;}
.h1_tit_item{margin: 0 auto; padding: 0; z-index: 1;}
.page_tit01{font-size: 5rem;}
.page_tit02{position: initial; display: block; font-size: 2rem; color: #ccc;}

.page_wrapper{padding: 30px 0;}
.page_term{margin-bottom: 50px;}
.page_sec p{font-size: 1.6rem; line-height: 3.5rem; margin-bottom: 20px;}
.page_sec figure{text-align: center;}
.page_sec h2{font-size: clamp(2.2rem, 5vw, 5rem);}


/* 選ばれる理由 */
.reason_topic_head{font-size: clamp(3rem, 4vw, 6rem);}


/* 事業内容 */
.business_item_list{flex-direction: column; gap: 40px;}


/* 工場案内 */
.factory_list li, .equipment_list li{width: calc((100% - 30px)/2);}
.factory_introduction_item{max-width: 580px; margin: 0 auto;}
.facility_table table{width: max-content!important; max-width: none!important;}
.facility_list{gap: 20px;}
.facility_list li{width: calc((100% - 20px)/2);}

.equipment_wrapper{padding: 30px 0;}
.equipment_sec{padding: 0;}
.equipment_factory_flex{flex-direction: column;}
.equipment_factory_item{width: 100%; max-width: 700px;}

.equipment_table{overflow: scroll;}
.equipment_table .equipment_name{min-width: 300px;}
.equipment_table .equipment_type, .equipment_table .equipment_maker{min-width: 160px;}
.equipment_table .equipment_number{min-width: 50px;}

.equipment_qualification{flex-direction: column; gap: 0;}
.qualification_table{width: 100%;}
.equipment_qualification td{min-width: 60px;}
.qualification_table th, .qualification_table td{border-bottom: 1px solid #ccc; padding: 8px 10px;}
.qualification_circle{top: 15px; left: -20px; transform: none; display: none;}
.equipment_img_list{gap: 30px;}
.equipment_img_list li{width: calc((100% - 30px)/2);}

/* よくある質問 */
.faq_question, .faq_answer{padding: 20px 50px 25px 45px;}
.faq_question::before, .faq_answer::before{font-size: 2.5rem; left: 10px;}
.faq_question_txt, .faq_answer_txt{font-size: 1.8rem; }
.faq_question_icon{right: 20px; width: 24px; height: 24px;}

/* 私たちについて */
.corporate_table th,
.corporate_table td{width: 100%!important; display: block; padding: 15px!important;}
.corporate_table th{font-weight: 700; background-color: #f5f5f5!important;}



/* 見出し */
.h1_recruit{padding: 0; margin-bottom: 150px;}
.h1_recruit .page_tit01{font-size: 4rem;}
.h1_recruit .page_tit02{font-size: 2rem;}
.recruit_page_tit01{font-size: 1.8rem;}
.recruit_page_tit02{font-size: 3rem;}
.page_sec .recruit_page_tit{margin-bottom: 20px!important;}
.h1_recruit .breadcrumbs{font-size: 1.4rem; font-weight: 500;}

/* メッセージ */
.recruit_sec h2{font-size: clamp(4rem, 8vw, 8rem);}
p.recruit_message_president{font-size: 2rem;}



    
/* 新着情報一覧 */
.news_wrapper{padding: 30px 0;}
.news_list{gap: 30px;}
.news_head{display: block;}
.news_item_date{font-size: 1.4rem;}
.news_tit{font-size: 1.8rem;}
.news_item_content p{font-size: 1.4rem; line-height: 2.5rem;}

.page_sec h2.news_single_tit{font-size: 2.5rem; margin-bottom: 30px; padding: 0!important;}

  

/* お問合せフォーム */
.contact_sec{width: 90%; margin: 0 auto;}
.page_sec .contact_item{display: block; padding: 20px 0;}
.page_sec .contact_tit{margin: 0 0 20px 0; width: initial;}
.contact_essential .contact_tit{margin-left: 80px; width: initial;}
.form_tit01{display: none;}
.form_tit02{padding: 20px 0; font-size: 3rem;}
.form_sec{width: 90%;}
.policy_sec .page_sec{padding: 0;}

.list-checkbox-wrap .nf-field-element li label{text-align: left;}
.wpcf7-form-control-wrap{}
.contact_txt, .contact_adress, .contact_txtarea{width: 100%;}
.contact_txt input{width:  calc(100% - 16px); margin: 0 auto; font-size: 16px;}
.contact_txtarea textarea{width:  calc(100% - 16px); font-size: 16px;}
.contact_adress input{width: 100%; margin-left: 0; font-size: 16px;}
input[type="checkbox"]{padding: 8px;}
.form-width{max-width: 100%;}
.page_sec .wpcf7-spinner{display: block;}



.wp-pagenavi a, .wp-pagenavi span{ font-size: 2rem !important; font-family: futura-pt, sans-serif; font-weight: 700; font-style: normal; border: 1px solid #BFBFBF; padding: 10px 15px !important; margin: 2px; }



/*------- 採用ページ -------*/
/* 採用ページヘッダー */
.recruit_header{height: 60px;}
.recruit_header_wrapper{height: 60px;}
.recruit_header_logo{width: 100%;}

.recruit_header_logo01{width: 230px;}
.recruit_header_logo a{padding: 13px;}
.recruit_header_entry{margin-right: 60px; width: 120px;}
.recruit_header_entry a{font-size: 2rem; }
.recruit_accordion .toggle .toggle_menu{left: 50%; font-size: 10px; bottom: 15px;}


/* 採用ページフッター */
.recruit_footer{padding: 40px 0 30px;}
.btn_menu_recruit{display: none;}


/* 採用ページトップ */
.recruit_top_first_txt{font-size: clamp(4rem, 10vw, 8rem); left: 15%; top: 50%; right: initial; transform: translateY(-50%);}

.recruit_top_news_wrapper{position: initial; width: 100%; padding: 15px;}
.recruit_top_news_sec{display: block;}

.recruit_top_concept_wrapper{padding: 40px 0;}
.recruit_top_concept_head01{font-size: clamp(2.5rem, 4vw, 6rem);}
.recruit_top_concept_head02{}
.recruit_top_concept_head03{font-size: clamp(2.5rem, 4vw, 6rem);}
.recruit_top_concept_btn{width: 360px; max-width: 90%; margin-top: 30px}
.recruit_top_concept_btn a{font-size: 2rem;}
.recruit_staff_btn{width: 360px; max-width: 90%; margin: 0 auto;}
.recruit_staff_btn a{font-size: 2rem;}

.recruit_top_staff{}
.recruit_staff_list{flex-direction: column; gap: 40px;}
.recruit_interview_list_item{width: 100%; max-width: 400px; margin: 0 auto;}
.recruit_staff_info .recruit_staff_other{margin-bottom: 0; line-height: 3rem;}


.recruit_faq_list .faq_question{padding: 20px 50px 25px 70px;}
.recruit_faq_list .faq_answer{padding: 20px 50px 25px 70px;}
.recruit_faq_btn{width: 360px; max-width: 90%; margin: 0 auto;}
.recruit_faq_btn a{font-size: 2rem;}

.recruit_top_message_txt01{font-size: clamp(2rem, 4vw, 5rem); margin-bottom: 20px;}
.recruit_top_message_txt02{font-size: clamp(4rem, 6vw, 7rem);}

/* 見出し */
.h1_recruit .page_tit01{font-size: 6rem;}
.h1_recruit .page_tit02{font-size: 3rem;}
.page_sec .recruit_page_tit{margin-bottom: 20px!important;}
.recruit_page_tit01{font-size: 2rem;}
.recruit_page_tit02{font-size: 4rem;}


/* インタビュー */
.recruit_interview_wrapper{padding-top: 80px;}
.recruit_interview_topic_flex{flex-direction: column; gap: 30px;}
.recruit_interview_topic_txt{writing-mode: initial; width: initial; font-size: 3rem;}
.recruit_interview_topic_right{width: 100%;}
.recruit_interview_info{position: initial; margin-top: 10px; color: #222;}
.recruit_interview_name{margin-bottom: 15px;}

.recruit_interview_name02::after{background-color: #333;}

.recruit_interview_detail_wrapper{padding-top: 30px;}
.recruit_interview_detail{flex-direction: column;}
.recruit_interview_detail_head01{font-size: 3rem;}
.recruit_interview_detail_inner{width: 100%; padding: 0 0 50px; border: none; border-bottom: 1px solid #ccc;}
.recruit_interview_detail_inner:first-child{width: 100%; padding: 0 0 50px; border: none; border-bottom: 1px solid #ccc; margin-bottom: 50px;}
.recruit_interview_detail_inner:nth-child(2){width: 100%; padding: 0 0 50px; border: none; border-bottom: 1px solid #ccc; margin-bottom: 50px;}
.recruit_interview_detail_inner:last-child{width: 100%; padding: 0 0 50px; border: none; border-bottom: 1px solid #ccc; margin-bottom: 50px;}

/* 採用情報 */
.recruit_ideal_item p{line-height: 3rem; margin: 0 auto;}
.recruit_staff_item,
.recruit_staff_item:nth-child(2n){flex-direction: column; gap: 0; max-width: 600px; margin: 0 auto;}
.recruit_staff_name{margin-bottom: 30px;}
.recruit_staff_name span{text-align: center;}
.recruit_staff_thumbnail{width: 100%; margin: 0 auto 10px;}
.recruit_staff_affiliation{width: 100%; text-align: center;}
.recruit_staff_term02{flex-direction: column;}

.recruit_staff_info .recruit_staff_name{font-size: 1.8rem; line-height: 3rem; margin-bottom: 0px;}


}
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 TAB CSS END
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */


/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 PC CSS
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
@media print, screen and (min-width:1181px) and (max-width:1500px){

/* フォントサイズ10px */
html{ font-size: 62.5%; }

/* 基本のフォントサイズ */
body{  font-size: 1.8rem; }

/* 非表示用 */
.nonePC		{ display: none !important; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
.header_tel{}
.header_logo01{width: 25%;}
.header_logo01 img{max-width: 230px;}
.header_navi ul{gap: 15px; margin-right: 25px;}

.header_contact a{font-size: 1.6rem;}




/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
/* ページ下部 固定メニュー */
.btm_menu{ display: none; }


.bottom_contact_wrapper{height: 150px;}
.bottom_contact_sec{width: 90%;}

.footer_wrapper{}
.footer_sec{width: 100%; gap: 100px; justify-content: center;}
.bottom_contact_left{padding: 60px;}
.footer_info{font-size: 1.6rem;}

/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.gnavi_item > a{font-size: 1.5rem;}
.pc_br{display: block;}


/* パンくず */
.breadcrumbs_wrapper{width: 90%; }
.breadcrumbs > ol{max-width: 1100px; margin: 0 auto;} 
	
/* トップページ */
.top_first_txt{bottom: 18%;}
.top_first_txt01{font-size: 6rem; line-height: 8rem;}
.top_first_txt02{font-size: 2rem;}


/* アクセスマップ */
.access_sec{width: 90%;}
.access_transportation_item:first-child{padding-right: 50px;}
.access_transportation_item:last-child{padding: 0 0 30px 60px;}


}
/* ----------------------------------------------------------
 PC CSS END
---------------------------------------------------------- */
/* ----------------------------------------------------------
 PC WIDE CSS
---------------------------------------------------------- */
@media screen and (min-width:1501px){
/* フォントサイズ10px */
html{ font-size: 62.5%; height: 100%; }

/* 基本のフォントサイズ */
body{ font-size: 1.8rem;  }

/* 非表示用 */
.nonePCWIDE		{ display: none !important; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
    .nav{right: 0; width: 40%}
/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
/* ページ下部 固定メニュー */
.btm_menu{ display: none; }



/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */



/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.top_reason_list{width: 92%; margin: 0 auto;}
.top_reason_topic{font-size: clamp(1.8rem ,1.4vw ,2.5rem);}

/* 会社案内 */
.company_table_place{display: flex; justify-content: space-between; flex-wrap: wrap;}
.company_table_place p{width: 48%;}


}
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 PCWIDE CSS END
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
