@charset "UTF-8";
/* CSS Document */
/***********************
	基本ベース
***********************/
:root {
	font-size: 16px;
	--main-color: #FE8A24;
	--base-color: #FFF8F2;
	--sub-color: #56b0c2;
	--subsub-color: #FEC163;
	--white-color: #fff;
	--text-color: #5A2F17;
	--space: 1.5rem;
	--lh-catch: 1.7;
	--lh-desc: 1.7;
	--lh-font:"Zen Maru Gothic", sans-serif;
}
@media screen and (max-width: 520px) {
	:root {
		--lh-catch: 1.4;
		--lh-desc: 1.5 !important;
	}
}
#content_builder{
	background-color: var(--base-color) !important ;
}
.desc{
	color: var(--text-color);
}
a{
	text-decoration: none !important;
}
.display-pc{
	display: block;
}
.display-sm{
	display: none;
}
.br-pc{
	display: block;
}
.br-sm{
	display: none;
}
.text-main{
	color: var(--main-color);
}
.text-white{
	color: #fff !important;
}
.text-blue{
	color: #0051B2 !important;
}
.bg-main{
	background-color: var(--main-color) !important;
}
.bg-sub{
	background-color: var(--sub-color)  !important;
}
.text-sub{
	color: var(--sub-color) !important;
}
.border-sub{
	border: var(--sub-color) 2px solid !important;
}
.table{
	color: var(--text-color);
}
/*** Webフォント読み込み ***/
.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}
/*** 見出し ***/
.contents__wrap h2.catch{
	color: var(--text-color) !important;
	position: relative;
	padding-bottom: 24px; /* アイコン分の余白 */
	margin-bottom: 2rem !important;
	font-size: 1.8rem;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.contents__wrap h2.catch::after{
  content: "";
  display: block;
  width: 40px;          /* アイコン横幅 */
  height: 8px;         /* アイコン高さ */
  margin: 8px auto 0;  /* 上に余白＋左右中央寄せ */
  background-image: url("../img/item/design_dott-.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.cb_free_space .design_header{
	display: none !important;
}
/*** コンテンツ　スペース調整 ***/
.cb_free_space,
.cb_design_content{
	padding: 0 !important;
}
.contents__wrap{
	max-width: 860px;
	margin: auto;
	padding: 100px 0;
}
/* タブレット（〜860px） */
@media screen and (max-width: 860px) {
	.contents__wrap h2.catch{
		font-size: 1.4rem;
	}
	.contents__wrap{
		padding: 60px 1rem;
	}
	.br-pc{
		display: none;
	}
}
/* モバイル（〜520px） */
@media screen and (max-width: 520px) {
	.contents__wrap h2.catch{
		margin-bottom: 0 !important;
	}
}

.design_header{
	display: none !important;
}
/* Googleフォント */
.manrope{
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}
/* モバイル（〜520px） */
@media screen and (max-width: 520px) {
	.align-left-sm{
		text-align: left !important;
	}
	.display-pc{
		display: none;
	}
	.display-sm{
		display: block;
	}
	.br-sm{
		display: block;
	}
}
/*** 本文 ***/
.desc{
	line-height: var(--lh-text);
}
.lead_wrap{
	max-width: 800px;
	margin: auto;
}
.lead{
	text-align: left;
}
/*** ボタン ***/
a.design_button {
    border-radius: 0 !important;
    min-width: 280px;
    height: 70px;
    line-height: 1.5;
    padding: 0 1.5em;
    text-align: center;
    position: relative;
    overflow: hidden;
    font-size: 16px;
    z-index: 1;
    color: #fff !important;
    border: 1px solid #0051B2 !important;
    background: #0051B2 !important;
    text-decoration: none;
	transition: transform 0.25s ease-out, box-shadow 0.25s ease-out !important;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    text-decoration: none !important;
}
.link_button a.design_button {
	transition: transform 0.25s ease-out, box-shadow 0.25s ease-out, border-radius 0.25s ease !important;
}
/*** ボタン hover ***/
.btn a{
	transition: transform 0.25s ease-out, box-shadow 0.25s ease-out;
}
a.design_button:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2) !important;
}
.link_button a.design_button:hover{
	border-radius: 1rem !important;
}
.cb_linkbox-inner a.design_button:hover {
	color: var(--sub-color) !important;
}
/*** ボタン hover btn ***/
.btn a:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2) !important;
}
/***********************
	TOP　ヘッダー
***********************/
/*** ヘッダーメニュー ***/
#header{
	position: fixed!important;
	top: 0;
	left: 0;
}
#header_slider_container{
	margin: 60px 0 0 0  !important;
}
#global_menu > ul > li.current-menu-parent > a, #global_menu ul li.current-menu-item > a, #global_menu > ul > li.active > a{
	color: var(--main-color);
}
#global_menu{
	margin-right: 0 !important;
}
#global_menu ul li a{
	font-weight: bold !important;
}
#global_menu > ul > li:last-child a{
	color: #fff !important;
	position: relative;
	z-index: 1;
}
#global_menu > ul > li:last-child {
  position: relative;
  overflow: hidden;
  display: inline-block;
  padding-left: 48px;
  padding-right: 48px;
  background-color: var(--main-color);
  transition: background-color 0.3s ease;
}

#global_menu > ul > li:last-child:hover {
  background-color: var(--sub-color);
}
body.home:not(.header_sticky_active) #global_menu > ul > li > ul {
    top: auto;
    bottom: -160px !important;
    transform: translate3d(0, -112px, 0);
}
/* hoverで切替 */
#global_menu > ul > li:last-child:hover::before{
	opacity: 0;
}
#global_menu > ul > li:last-child:hover::after{
	opacity: 1;
}
/**** マウスホバーで 下線を出す ***/
/* メニューリンク */
#global_menu > ul > li.menu-item:not(:last-child) > a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

#global_menu > ul > li.menu-item:not(:last-child) > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: var(--main-color);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}

#global_menu > ul > li.menu-item:not(:last-child) > a:hover::after,
#global_menu > ul > li.menu-item:not(:last-child) > a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: center;
}
/* モバイル（〜1300px） */
@media screen and (max-width: 1300px) {
	#drawer_menu_button span {
		background: var(--text-color) !important;
	}
	#header_logo img {
		max-height: calc(100% - 20px) !important;
	}
}
/* PC（1301px〜） */
@media screen and (min-width: 1301px) {
	#header_slider_container{
		margin-top: 120px !important;
	}
}
@media screen and (max-width: 1300px) {
	/*** heroエリア天地調整 ***/
	#header_slider_container.height_type2{
		min-height: 500px !important;
	}
	.header_slider_content{
		bottom: 42px;
	}
}
#header_slider_container.height_type2 {
	width: 100% !important;
	border-radius: 0 !important;
}
/*** hero タイトル ***/
.header_slider_content{
	bottom: 80px;
	padding: 0 60px !important;
}
.header_slider_content h2.catch {
	text-align: left ;
    line-height: 1.3 !important;
    position: relative;
    font-weight: bold !important;
	color: #fff !important;
	margin-bottom: 40px !important;
	font-family: "Zen Maru Gothic", sans-serif;
	  font-weight: 700;
	  font-style: normal;
}
.header_slider_content .catch + .desc {
    text-align: left;
	font-size: 1.2rem !important;
    line-height: 1.7 !important;
	color: #fff !important;
}
/* タブレット（〜800px） */
@media screen and (max-width: 800px) {
	/*** hero タイトル ***/
	.header_slider_content{
		bottom: 60px !important;
	}
	.header_slider_content .catch + .desc {
		font-size: 16px !important;
	}
	#header_slider_container.height_type2 {
        min-height: unset !important;
        height: 600px !important;
        max-height: 600px !important;
        aspect-ratio: unset;
    }
}
/* モバイル（〜520px） */
@media screen and (max-width: 520px) {
	.header_slider_content{
		bottom: 24px;
		padding: 0 16px !important;
	}
}
/***********************
ドロワーメニュー
***********************/
#drawer_menu,
#mobile_menu a{
    background: var(--main-color) ;
}
#mobile_menu a:hover{
	background: var(--subsub-color) !important;
}

/***********************
イメージーエリア
***********************/
#Imgarea{
	height: 400px;
	background-image: url("../img/bg/bg_imagearea.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
/***********************
イメージバナーエリア
***********************/
.cb_content_imgbox-wrap {
	display: flex;
}
#imgbox_left{
	background-image: url("../img/banner/banner_2.jpg");
	background-position: center center;
	background-size: cover;/
}
#imgbox_right{
	background-image: url("../img/banner/banner_1.jpg");
	background-position: center center;
	background-size: cover;
}
.cb_content_imgbox {
	height: 500px;
	width: 50%;
	position: relative;
	overflow: hidden; /* スライド演出に必須 */
}
/* ブルー背景（hover用） */
.cb_content_imgbox::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  /* 初期状態：左に隠す */
  transform: translateY(100%);
  transition: transform 0.4s ease;
}
#imgbox_right::before{
	background: rgba(41, 177, 214, 0.5); /* ブルー */
}
#imgbox_left::before{
	background: rgba(239, 124, 31, 0.5); /* ブルー */
}
/* hover時：横から覆う */
.cb_content_imgbox:hover::before {
  transform: translateY(0);
}
.cb_content_imgbox a{
	display: flex;
	justify-content: flex-start;; /* 横方向 */
	align-items: flex-end;     /* 縦方向 */
	margin: 0;
	width: 100%;
	height: 100%;
	text-decoration: none !important;
	z-index: 3;
	position: relative;
}
.cb_content_imgbox-inner{
	display: block;
	margin-left: 20px;
}
:is(.post_content, .post_content .tcdce-body) p.imgbox_lead{
	font-size: 1.6rem !important;
	line-height: 1.4 !important;
	background-color: #fff;padding: 4px 12px;
	font-weight: 600;
	text-align: left;
	margin: 0 !important; 
	font-family: "Zen Maru Gothic", sans-serif;
	  font-weight: 700;
	  font-style: normal;
}
h2.imgbox_catch{
	font-size: 1rem !important;
	color: #fff;
	text-align: left !important;
	margin: 0 !important;
	padding: 4px 12px !important;
	display: inline-block;
}
#imgbox_left h2.imgbox_catch{
	background-color: var(--main-color);
}
#imgbox_left p.imgbox_lead{
	color: var(--main-color);
}
#imgbox_right h2.imgbox_catch{
	background-color: var(--sub-color);
}
#imgbox_right p.imgbox_lead{
	color: var(--sub-color);
}
/* タブレット（〜800px） */
@media screen and (max-width: 800px) {
	:is(.post_content, .post_content .tcdce-body) p.imgbox_lead{
		font-size: 1.25rem !important;
	}
	.cb_content_imgbox{
		height: 400px;
	}
	.imgbox_lead{
		font-size: 24px !important;
	}
}
/* モバイル（〜520px） */
@media screen and (max-width: 520px) {
	.cb_content_imgbox-wrap{
		display: block;
	}
	.cb_content_imgbox {
		width: 100%;
		height: 320px;
	}
}
/***********************
	Company 事業所紹介
***********************/
#Company{
	max-width: 780px;
	margin: auto;
}
.table{
	margin-top: 1.5rem;
}
.post_content .s_table{
	overflow-x: visible !important;
	white-space: nowrap;
    margin-bottom: 2em;
	scrollbar-width: thin;
	width: 100%;
}
/* モバイル（〜520px） */
@media screen and (max-width: 520px) {
	.table tr{
		display: flex;
		flex-direction: column;
		text-align: center;
	}
	.table td{
		text-align: center;
	}
	.s_table{
		width: 100% !important;
		padding: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
	}
}
/***********************
	リンクボックス
***********************/
.cb_linkbox_area{
	width: 100%;
}
.cb_linkbox-wrap{
	display: flex
}
.cb_linkbox-wrap--reverse{
  flex-direction: row-reverse;
}
.cb_linkbox{
	display: flex;
	justify-content: center; /* 横方向 */
	align-items: center;     /* 縦方向 */
	position: relative;
	width: 50%;
	height: 500px;
	background-image: url("../img/bg/bg_wood.png");
	padding: 48px;
}
.cb_linkbox-inner{
	max-width: 400px;
}
.linkbox_catch{
	color: #fff ;
	font-size: 28px !important;
	font-weight: bold !important;
	line-height: 1.4 !important;
	font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
}
.linkbox_dec{
	color: #fff;
	font-size: 16px !important;
	line-height: 1.8 !important;
}
.cb_linkbox .link_button{
	margin-top: 20px !important;
	text-align: left !important;
}
.cb_linkbox a.design_button {
	background: #fff !important;
	color: var(--main-color) !important;
	font-size: 16px !important;
	border-radius: 72px !important;
	border: var(--white-color) !important;
}
#linkbox_copy_recruit,
#linkbox_copy_contact{
	position: relative;
}
#linkbox_img_contact{
	background-image: url("../img/banner/cta_img-1.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
#linkbox_img_recruit{
	background-image: url("../img/banner/cta_img-2.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
/* タブレット（〜800px） */
@media screen and (max-width: 800px) {
	.linkbox_dec{
		font-size: 15px !important;
	}
}
/* モバイル（〜520px） */
@media screen and (max-width: 520px) {
	.cb_linkbox-wrap{
		display: block;
	}
	.cb_linkbox{
		width: 100%;
		padding: 20px;
		height: 400px;
	}
	.cb_linkbox-inner{
		width: 100%;
	}
	h3.linkbox_catch{
		font-size: 22px !important;
		font-weight: bold !important;
		line-height: 1.4 !important;
	}
}
/***********************
	Footer　
***********************/
#footer_banner{
	display: none !important;
}
/* フッターメニュー */
#footer_menu{
	padding: 40px 100px !important;
}
#footer_menu nav{
	border-bottom: 0px !important;
	padding: 0 !important;
}
#footer_nav1 ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center; /* 横方向 */
	align-items: center; 
}
#footer_nav1 li{
	width: 20%;
    margin-bottom: 25px !important;
	text-align: center;
    line-height: 1.5;
    font-size: 14px;
}
#footer_nav1 li a{
	font-weight: bold !important;
}
#footer_nav1 li a:hover{
	color: #0051B2 !important;
}
/* フッターロゴ */
#footer_logo{
	margin: 24px auto;
	width: 100%;
	text-align: center;
}
#footer_info_area{
	display: none;
}
#footer_bottom{
	background-color: var(--text-color);
	color: #fff;
	border: solid 0px;
}
#footer_cta_area{
	padding: 80px;
	background-image: url("../img/bg/bg_wood.png");
	background-repeat: repeat;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.footer_cta{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 48px;
	width: 100%;
	position: relative;
	z-index: 1;
}
.footer_cta_btn{
	background-color: #fff;
	border-radius: 16px;
	width: 50%;
	height: auto;
	max-width: 500px;
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-radius 0.3s ease;
}
.footer_cta_btn:first-child{
	border: solid 2px var(--main-color);
}
.footer_cta_btn:first-child .footer_cta_item-en{
	color: var(--main-color);
}
.footer_cta_btn:last-child{
	border: solid 2px #fff;
	background-color: var(--main-color);
}
.footer_cta_btn:last-child .footer_cta_item-en,
.footer_cta_btn:last-child .footer_cta_item-jp{
	color: #fff;
}
.footer_cta_btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
	border-radius: 4px;
}
.footer_cta_btn a{
	display: block;
	padding: 48px 20px;
	width: 100%;
	height: 100%;
}
.footer_cta_item{
	text-align: center;
}
.footer_cta_item-en{
	display: block;
	font-weight: bold;
	font-size: 2.2rem;
	margin-bottom: 16px;
}
.footer_cta_item-jp{
	display: block;
	font-weight: bold !important;
	font-size: 16px;
}
#footer_logo img{
	width: 250px;
}
/** コピーライト **/
#copyright a{
	color: #fff !important;
}
/* タブレット（〜800px） */
@media screen and (max-width: 800px) {
	#footer_cta_area{
		padding: 80px 32px;
	}
}
/* 小タブレット（〜768px） */
@media screen and (max-width: 768px) {
	.footer_cta_btn{
		padding: 32px 32px;
		width: 100%;
		max-width: 100%;
	}
	.footer_cta{
		display: block;
	}
	.footer_cta_btn:first-child{
		margin-bottom: 24px;
	}
	#footer_cta_area{
		padding: 52px 32px;
	}
	#footer_nav1 li{
		width: 100%;
	}
}
/* モバイル（〜520px） */
@media screen and (max-width: 520px) {
	#footer_logo{
		margin-bottom: 1rem !important;;
	}
	#footer_cta_area{
		padding: 52px 32px;
	}
	#footer_nav1 li{
		width: 100%;
	}
	.footer_cta_btn{
		padding: 0;
	}
}
/*----------------------------
お問い合わせフォーム
----------------------------*/
.cf7-grid{
	display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
}
.cf7-col--full {
    grid-column: 1 / -1;
}
.cf7-label{
	font-size: 16px;
	font-weight: bold;
	color: #464646;
}
span.req{
	color: #EA5514;
	font-size: 14px;
}
span.opt{
	color: #777777;
	font-size: 14px;
}
.wpcf7 .wpcf7-submit{
    background-color: #0051B2 !important;
	border-radius: 0;
	transition: border-radius 0.25s ease;
}
.cf7_lead{
	font-size: 15px !important;
	line-height: 1.2 !important;
	margin-bottom: 12px !important;
}
/*** ボタン hover 角丸 ***/
.wpcf7 .wpcf7-submit:hover {
	border-radius: 72px;
}
/* 小さめタブレット・大きめスマホ */
@media (max-width: 600px) {
	.cf7-grid{
		display: block;
	}
	.cf7-col{
		margin-bottom: 16px;
	}
	.cf7-col p{
		margin-bottom: 4px !important;
	}
}
/***********************
	お知らせ 一覧
***********************/
.archive #page_header .desc{
	font-size: 32px;
	font-weight: bold;
}
/* 小さめタブレット・大きめスマホ */
@media (max-width: 600px) {
	.archive #page_header .desc{
		font-size: 22px;
	}
}