@charset "UTF-8";

/**
 * コンテンツ幅制限フレックスボックス
----------------------------------------------------------------
基本 wideflex
分割 --2 --1-p --p-1
方向 -reverse
その他 -keep
----------------------------------------------------------------*/
.wideflex{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	gap:var(--gap);
	position:relative;
	margin:var(--gap) 0;
	--outside:calc((100% - var(--bp-pc)) / 2 + var(--gap));
	--inside:calc(var(--bp-pc) - var(--gap) * 3)
}
.wideflex > :nth-child(n){
	box-sizing:border-box;
	position:relative;
	min-width:0;
	overflow-wrap:break-word;
}
.wideflex > :nth-child(2n - 1) img{ width:100%; }
.wideflex > :nth-child(2n){ margin-right:var(--outside); }
.wideflex.-reverse > :nth-child(2n){ margin-right:0; }
.wideflex.-reverse > :nth-child(2n - 1){ margin-left:var(--outside); }
.wideflex.-reverse > :nth-child(2n - 1) img{ width:auto; }
.wideflex.-reverse > :nth-child(2n) img{ width:100%; }
.wideflex.--2 > :nth-child(2n - 1){ flex-basis:calc(var(--outside) + var(--inside) / 2); }
.wideflex.--2 > :nth-child(2n - 0){ flex-basis:calc(var(--inside) / 2); }
.wideflex.--1-p > :nth-child(2n - 1){ flex-basis:calc(var(--outside) + var(--inside) * 0.382); }
.wideflex.--1-p > :nth-child(2n - 0){ flex-basis:calc(var(--inside) * 0.618); }
.wideflex.--p-1 > :nth-child(2n - 1){ flex-basis:calc(var(--outside) + var(--inside) * 0.618); }
.wideflex.--p-1 > :nth-child(2n - 0){ flex-basis:calc(var(--inside) * 0.382); }
.wideflex.-reverse.--2 > :nth-child(2n - 1){ flex-basis:calc(var(--inside) / 2); }
.wideflex.-reverse.--2 > :nth-child(2n - 0){ flex-basis:calc(var(--outside) + var(--inside) / 2); }
.wideflex.-reverse.--1-p > :nth-child(2n - 1){ flex-basis:calc(var(--inside) * 0.618); }
.wideflex.-reverse.--1-p > :nth-child(2n - 0){ flex-basis:calc(var(--outside) + var(--inside) * 0.382); }
.wideflex.-reverse.--p-1 > :nth-child(2n - 1){ flex-basis:calc(var(--inside) * 0.382); }
.wideflex.-reverse.--p-1 > :nth-child(2n - 0){ flex-basis:calc(var(--outside) + var(--inside) * 0.618); }
@media screen and (max-width: 1200px){
	.wideflex{
		--outside:var(--gap);
		--inside:calc(100% - var(--gap) * 3)
	}
}
@media screen and (max-width: 960px){

	/* 継承しない場合は横幅を1カラム化 */
	.wideflex:not(.-keep) > :nth-child(n),
	.wideflex:not(.-keep).-reverse > :nth-child(n){ flex-basis:100%; }
	.wideflex:not(.-keep) > :nth-child(2n){ margin:0 var(--gap); }
	.wideflex:not(.-keep).-reverse > :nth-child(2n){ margin:0; }
	.wideflex:not(.-keep).-reverse > :nth-child(2n - 1){ margin:0 var(--gap); }

}

/**
 * 3D直方体
----------------------------------------------------------------
基準直方体 cube
----------------------------------------------------------------*/
.cube{
	--cube-w:300px;
	--cube-h:100px;
	--cube-d:200px;
	--rotate-y:15deg;
	--rotate-x:-15deg;
	--outline:#ccc;
	position:absolute;
	transform-style:preserve-3d;
	width:var(--cube-w);
	height:var(--cube-h);
	transform:rotateX(var(--rotate-x)) rotateY(var(--rotate-y)) rotateZ(0deg);
	transform-origin:right top;
	transform-origin:center center;
}
.cube > *{
	position:absolute;
	box-sizing:border-box;
	border:1px solid var(--outline);
	text-align:center;
	padding-top:10px;
	color:var(--main);
}
.cube > :nth-child(1){
	width:var(--cube-w);
	height:var(--cube-h);
	transform:translateZ(calc(var(--cube-d) / 2));
}
.cube > :nth-child(2){
	width:var(--cube-w);
	height:var(--cube-h);
	transform:rotateY(180deg) translateZ(calc(var(--cube-d) / 2));
}
.cube > :nth-child(3){
	width:var(--cube-d);
	height:var(--cube-h);
	transform:rotateY(90deg) translateZ(calc(var(--cube-w) - var(--cube-d) / 2));
}
.cube > :nth-child(4){
	width:var(--cube-d);
	height:var(--cube-h);
	transform:rotateY(-90deg) translateZ(calc(var(--cube-d) / 2));
}
.cube > :nth-child(5){
	width:var(--cube-w);
	height:var(--cube-d);
	transform:rotateX(90deg) translateZ(calc(var(--cube-d) / 2));
}
.cube > :nth-child(6){
	width:var(--cube-w);
	height:var(--cube-d);
	transform:rotateX(-90deg) translateZ(calc(var(--cube-h) - var(--cube-d) / 2));
}

/**
 * 新着一覧
----------------------------------------------------------------
基本 topics
----------------------------------------------------------------*/
.topics > section{
	display:flex;
	gap:var(--gap);
	flex-wrap:wrap;
}
.topics > section:not(:first-child){
	border-top:1px solid #ccc;
	padding-top:var(--gap);
	margin-top:var(--gap);
}
.topics > section > figure{ width:calc(33.3333% - var(--gap)); }
.topics > section > figure + div{ width:66.6666%; }
.topics > section > div > time{ color:var(--sub); }
.topics > section > div > h2{ font-size:var(--l); }
@media screen and (max-width: 520px){
	.topics > section{ display:block; }
	.topics > section > figure{
		padding-top:var(--gap);
		width:auto;
	}
.	topics > section > figure + div{ width:auto; }
}

/**
 * 全体
----------------------------------------------------------------*/
:root{
	
	/* 配色 */
	--main:rgb(0,67,134);
	--sub:rgb(239,127,25);
	--main-hover:rgb(76,123,170);
	--sub-hover:rgb(243,165,94);
	--black:rgb(10,10,10);
	--yellow:rgb(253,208,0);
	--water:rgb(40,148,204);
	--gray:#ccc;
	
	--gap:clamp(
	
		/* 【最小余白】SP時の余白(半分) */
		calc(1px * var(--gap-base) / 2),
		
		/* 【推奨余白】SP時の余白(半分)相当の画面比値 */
		calc(var(--gap-base) / var(--tab) * 100vw),
		
		/* 【最大余白】PC時の余白 */
		calc(1px * var(--gap-base))
	
	);
}

/* リッチフォーム初期設定 */
.richform{

	/* 配色 */
	--black:rgb(10,10,10);
	--gray:#ccc;
	--silver:#f5f5f5;
	--blue:rgb(239,127,25);
	--blue-disabled:rgb(247,191,140);
	--white:white;
	--red:rgb(239,127,25);
	--default-color:rgba(0,0,0,0);
	
	/* その他 */
	--border-radius:0;
	--border-radius-top:0;
	--border-radius-right:0;
	--border-radius-bottom:0;
	--border-radius-left:0;

}
:focus{ outline:none; }

/* ボディ */
body{
	color:var(--black);
	font-family:var(--mincho);
}

/**
 * ヘッダー
----------------------------------------------------------------*/
body > header{
	position:fixed;
	top:0;
	left:0;
	right:0;
	height:125px;
	background:white;
	z-index:1000;
}
body:not(.printmode) > main{ padding-top:125px; }
@media screen and (max-width: 520px){
	body > header{ height:50px; }
	body > main:not(.printmode){ padding-top:50px; }
}

/* ヘッドカード */
#hcard{
	display:flex;
	justify-content:space-between;
}
#logo > a:hover,
#tel:hover{ opacity:.7; }
#logo > a > img,
#tel > img{ max-height:90px; }
@media screen and (max-width: 520px){
	#hcard{ border-bottom:1px solid var(--main); }
	#logo > a > img{ max-height:50px; }
	#open{ width:50px; }
	#open:hover{ background:rgb(204,217,230); }
	#tel{ display:none; }
}

/* グローバルナビゲーション */
#gnav{
	background:var(--main);
	color:white;
}
#gnav > ul{ text-align:center; }
#gnav > ul > li{ display:inline-block; }
#gnav > ul > li > a{
	display:inline-block;
	padding:8px 10px;
}
#gnav > ul > li > a:hover{ background:var(--main-hover); }
@media screen and (max-width: 520px){
	#gnav{ padding-top:50px; }
	#gnav > ul > li{ display:block; }
	#gnav > ul > li > a{
		display:block;
		font-size:var(--l);
	}
	#close{
		position:absolute;
		right:0;
		width:50px;
	}
	#close:hover{ background:var(--main-hover); }
}

/* モバイルメニュー */
#sptel{ display:none; }
@media screen and (max-width: 520px){
	#spmenu{
		display:none;
		position:fixed;
		top:0;
		left:0;
		right:0;
		bottom:0;
		overflow-y:scroll;
		z-index:10000;
		background:rgba(0,67,134,0.9)	}
	body.clicked #spmenu{ display:block; }
	#sptel{
		display:block;
		max-width:300px;
		margin:0 auto 20px;
	}
	#sptel:hover{ opacity:.7; }
}

/**
 * フッター
----------------------------------------------------------------*/
/* フッターカード */
#fcard{
	background:rgb(229,236,242);
	padding:1px 0;
}
#fcard > .flex{
	max-width:768px;
	margin:0 auto;
	padding:40px 0;
}
@media screen and (max-width: 960px){
	#fcard > .flex{
		max-width:none;
		margin:var(--gap);
		padding:0;
	}
}

/* フッターロゴ */
@media screen and (max-width: 520px){
	#flogo{
		max-width:200px;
		margin:0 auto;
	}
}

/* 会社概要 */
#comcard{ font-size:var(--xs); }
#comcard > a{ display:block; }
@media screen and (max-width: 520px){
	#comcard > p{ text-align:center; }
	#comcard > a{
		max-width:300px;
		margin:0 auto;
	}
}
/* フッターナビゲーション */
#fnav{ font-size:var(--xs); }
#fnav > ul > li > a:hover{ color:var(--sub); }
@media screen and (max-width: 520px){
	#fnav > ul{ columns:2; }
}

/* 著作権表記 */
#cr{
	color:white;
	padding:8px var(--gap);
	font-size:var(--xs);
	background:var(--main);
	text-align:center;
}

/**
 * コンテンツ
----------------------------------------------------------------*/
/* ページ名 */
#pagename{
	background:url('https://chubusystem.com/wp-content/uploads/2022/04/bg_heading.png') no-repeat center center / cover;
	color:white;
	min-height:200px;
}
#pagename > h1{
	font-size:var(--l);
	padding-bottom:10px;
}
@media screen and (max-width: 520px){
	#pagename{
		background-image:url('https://chubusystem.com/wp-content/uploads/2022/04/bg_heading_sp.png');
		min-height:120px;
	}
}

/* パンくずリスト */
#pan > ol{
	text-align:center;
	font-size:var(--xs);
}
#pan > ol > li{ display:inline; }
#pan > ol > li:not(:first-child)::before{ content:'>'; }
#pan > ol > li > *{
	display:inline;
	letter-spacing:0;
}
#pan > ol > li > a:hover{ color:var(--orange); }

/**
 * プロトタイプ
----------------------------------------------------------------*/
figcaption{
	text-align:center;
	padding:4px 0;
}
.a{ color:var(--sub); }
.a:hover{ color:var(--main); }

/* 背景 */
.bg_azure{ background:rgb(242,245,248); }
.bg_white{ background:rgba(255,255,255,.8); }

/* 見出し */
.h2{
	text-align:left;
	align-items:flex-start;
}
.h2 > img{ margin:0; }
.h2 > p{
	font-size:var(--l);
	color:var(--main);
}
.h3{
	background:url("https://chubusystem.com/wp-content/themes/chubusystem/image/interface/theme/bg_h2.png") no-repeat left center;
	font-size:var(--xl);
	color:var(--main);
	letter-spacing:.1em;
	padding:10px 0 10px 50px;
	border-bottom:2px solid var(--gray);
	position:relative;
}
.h3::after{
	content:'';
	position:absolute;
	bottom:-2px;
	left:0;
	width:100px;
	border-bottom:2px solid var(--main);
}
.h3 > p{
	font-size:var(--m);
	color:var(--black);
	letter-spacing:0;
}
.h4{
	margin:0 0 var(--gap-quarter);
	font-size:var(--l);
}
.h4.orange{ color:var(--sub); }
.h4.navy{ color:var(--main); }
.h5{
	margin:var(--gap-quarter) 0;
	font-size:var(--m);
}
.h5.orange{ color:var(--sub); }
.h5.navy{ color:var(--main); }
@media screen and (max-width: 960px){
	.h2 > img{ max-width:400px; }
}
@media screen and (max-width: 520px){
	.h2 > img{ max-width:100%; }
}

/* テーブル */
.table.-header > table th{
	background:rgb(233,244,249);
	color:var(--black);
}
.table > table th,
.table > table td{ padding:var(--gap-quarter); }

/* ボタン */
.buttons > *{ letter-spacing:0; }
.buttons > ::before{
	content:'';
	height:1px;
	width:20px;
	background:var(--yellow);
	position:absolute;
	top:50%;
	left:-10px;
}
.buttons > :hover{ background:var(--water); }
.buttons > :hover::before{
	left:0;
	background:white;
}
.buttons > .yellow{
	background:var(--yellow);
	color:var(--main);
}
.buttons > .yellow::before{ background:var(--main); }
.buttons > .yellow:hover{
	background:var(--sub);
	color:white;
}

/* 分散レイアウト(3連) */
.scatter3 > *{ width:85%; }
.scatter3 > :nth-child(1){ margin-right:auto; }
.scatter3 > :nth-child(2){
	margin-right:auto;
	margin-left:auto;
}
.scatter3 > :nth-child(3){ margin-left:auto; }
@media screen and (max-width: 960px){
	.scatter3 > :nth-child(n){
		width:auto;
		margin:var(--gap);
	}
}

/* バッジ */
.badge{ position:relative; }
.badge > small{
	position:absolute;
	left:-10px;
	top:10px;
	width:35%;
	box-shadow:2px 2px 4px rgba(0,0,0,.2);
}

/* 右寄せ画像 */
.rimage{
	display:flex;
	gap:var(--gap);
}
.rimage > figure{ max-width:160px; }

/* 脚注 */
.note{
	background:rgb(190,222,239);
	padding:30px 15px 15px;
	position:relative;
	margin-top:20px;
}
.note > h2,
.note > h3,
.note > h4,
.note > h5,
.note > h6{
	background:var(--water);
	top:-15px;
	font-size:var(--m);
	color:white;
	padding:3px 40px;
	border-radius:2em;
	position:absolute;
}

/* お問い合わせボックス */
.contactbox{
	text-align:center;
	margin:30px 0;
}
.contactbox > a{
	background:rgb(242,245,248);
	border-radius:20px;
	display:inline-block;
	margin:var(--gap);
	max-width:512px;
	position:relative;
}
.contactbox > a::before{
	content:'';
	width:112px;
	height:40px;
	position:absolute;
	top:-20px;
	left:0;
	right:0;
	margin:0 auto;
	display:inline-block;
	background:url("https://chubusystem.com/wp-content/themes/chubusystem/image/interface/theme/contactbox_icon.png") no-repeat center center / cover;
}
.contactbox > a:hover{ background:rgb(229,236,242); }
@media screen and (max-width: 520px){
	.contactbox{ margin:10px 0; }
	.contactbox > a{ border-radius:10px; }
	.contactbox > a::before{
		width:70px;
		height:25px;
		top:-12.5px;
	}
}

/* reCATPCHA */
.grecaptcha-badge{ visibility:hidden; }

/* タイトル円 */
.titlecircle{
	position:relative;
	overflow:hidden;
}
.titlecircle::before{
	content:'';
	width:100vw;
	height:100vw;
	left:-50vw;
	top:-50vw;
	display:block;
	position:absolute;
	background:rgb(253,242,232);
	border-radius:50%;
	z-index:-1;
}
@media screen and (min-width: 1537px){
	.titlecircle::before{
		width:1536px;
		height:1536px;
		left:-768px;
		top:-768px;
	}
}

/* ペアテーブル */
.pairtable th,
.pairtable td{ padding:6px 0; }
.pairtable tr:not(:last-child) > th,
.pairtable tr:not(:last-child) > td{ border-bottom:1px solid #ccc; }
.pairtable td{ text-align:right; }

/* 番号リスト */
.numberlist{ counter-reset:numberlist; }
.numberlist > li{
	position:relative;
	padding:10px 10px 10px 60px;
	min-height:80px;
}
.numberlist > li:not(:last-child){ border-bottom:1px solid #ccc; }
.numberlist > li::before{
	counter-increment:numberlist;
	content:counter(numberlist);
	width:50px;
	height:50px;
	background:var(--sub);
	color:white;
	border-radius:50%;
	text-align:center;
	line-height:50px;
	font-size:var(--m);
	display:block;
	position:absolute;
	margin:5px 0;
	left:0;
}
@media screen and (max-width: 520px){
	.numberlist > li{ padding-left:50px; }
	.numberlist > li::before{
		width:40px;
		height:40px;
		line-height:40px;
	}
}

/* 沿革 */
.history > table th,
.history > table td{ padding:5px 10px; }
.history > table th{
	border-right:2px solid var(--sub);
	color:var(--sub);
}

/**
 * スポット：TOPページ
----------------------------------------------------------------*/
/* メインビジュアル */
#spot_index_mvis{
	background:url("https://chubusystem.com/wp-content/themes/chubusystem/image/article/index/bg_mvis.png") no-repeat center center / cover;
	position:relative;
}
#spot_index_mvis .buttons{
	position:absolute;
	bottom:160px;
	max-width:560px;
	left:20px;
	right:20px;
	margin:0 auto;
}
@media screen and (max-width: 960px){
	#spot_index_mvis .buttons{ bottom:100px; }
}
@media screen and (max-width: 520px){
	#spot_index_mvis{
		background-image:url("https://chubusystem.com/wp-content/themes/chubusystem/image/article/index/bg_mvis_sp.png");
		height:calc(100vw / 3 * 4);
	}
	#spot_index_mvis > img{ display:none; }
	#spot_index_mvis .buttons{ bottom:40px; }
}

/* 新着情報 */
#spot_index_topics{
	padding:20px 40px;
	background:rgba(229,236,242,0.8);
	max-width:768px;
	margin:-60px auto 80px;
	position:relative;
	z-index:1;
}
#spot_index_topics > header{
	display:flex;
	justify-content:space-between;
	margin-bottom:20px;
}
#spot_index_topics > header > h2{
	font-size:var(--l);
	color:var(--main);
}
#spot_index_topics > header > a{ color:var(--main); }
#spot_index_topics > header > a:hover{ color:var(--sub); }
#spot_index_topics > section > a{
	color:var(--main);
	display:flex;
	padding:10px 0;
}
#spot_index_topics > section > a:hover{
	background:rgba(255,255,255,.8);
	margin:0 -20px;
	padding:10px 20px;
}
#spot_index_topics > section > a::after{
	background:url("https://chubusystem.com/wp-content/themes/chubusystem/image/interface/icons/topics.png") no-repeat center center / contain;
	content:'';
	width:28px;
	height:28px;
	margin-left:20px;
}
#spot_index_topics > section > a > time{
	color:var(--sub);
	min-width:100px;
}
#spot_index_topics > section > a > p{ flex:1; }
@media screen and (max-width: 960px){
	#spot_index_topics{
		margin-left:20px;
		margin-right:20px;
		max-width:none;
		padding:20px;
	}
}
@media screen and (max-width: 520px){
	#spot_index_topics{ margin-top:-20px; }
	#spot_index_topics > section > a{
		display:block;
		font-size:var(--xxs);
		padding:4px 0;
	}
	#spot_index_topics > section > a:hover{ padding:4px 20px; }
	#spot_index_topics > section > a::after{ display:none; }
}

/* リードコピー */
#spot_index_leadcopy{ padding-bottom:80px; }
#spot_index_leadcopy > .single{ margin:0 20px; }
#spot_index_leadcopy > .wideflex:first-child{ margin-bottom:0; }
#spot_index_leadcopy > .wideflex:last-child{ margin-top:0; }
@media screen and (max-width: 520px){
	#spot_index_leadcopy{ padding-bottom:0; }
}

/* 採用情報 */
#spot_index_recruit{
	background:url("https://chubusystem.com/wp-content/themes/chubusystem/image/interface/theme/bg_graph.png") repeat center center;
	position:relative;
	height:600px;
	margin-top:160px;
}
#spot_index_recruit > div{
	background:url("https://chubusystem.com/wp-content/themes/chubusystem/image/article/index/recruit.png") no-repeat center center / cover;
	position:absolute;
	height:600px;
	left:10vw;
	right:0;
	top:-50px;
}
#spot_index_recruit > div > .h2{
	background:rgb(239,127,25);
	margin:50px 0 40px;
	width:444px;
	padding:10px 0 10px 60px;
}
#spot_index_recruit > div > .h2 > p{ color:var(--black); }
#spot_index_recruit > div > .summary{
	max-width:700px;
	background:rgba(255,255,255,.8);
	padding:30px 40px;
	margin:0 60px;
}
#spot_index_recruit > div > .buttons{
	justify-content:flex-start;
	margin-left:60px;
}
@media screen and (max-width: 960px){
	#spot_index_recruit{
		height:auto;
		margin-top:80px;
	}
	#spot_index_recruit > div{
		padding:1px 0;
		height:auto;
		position:static;
		background-image:url("https://chubusystem.com/wp-content/themes/chubusystem/image/article/index/recruit_sp.png");
		background-position:right center;
	}
	#spot_index_recruit > div > .h2{
		padding-left:20px;
		width:240px;
		margin:20px 0;
	}
	#spot_index_recruit > div > .h2 > img{ max-width:200px; }
	#spot_index_recruit > div > .summary{
		margin:150px 0 0;
		padding:20px;
	}
	#spot_index_recruit > div > .buttons{ margin-left:20px; }
}

/**
 * スポット：中部システムの特徴
----------------------------------------------------------------*/
/* 中部システムの特徴 */
#spot_features{
	background:url("https://chubusystem.com/wp-content/themes/chubusystem/image/article/features/mvis.png") no-repeat center top / 100%;
	padding-top:20vw;
}
@media screen and (max-width: 520px){
	#spot_features{
		padding-top:40vw;
		background-image:url("https://chubusystem.com/wp-content/themes/chubusystem/image/article/features/mvis_sp.png");
	}
}

/* SDGsへの取り組み */
#spot_features_sdgs{
	padding:var(--gap) 0;
	z-index:0;
	position:relative;
	overflow:hidden;
}
#spot_features_sdgs > .base > section{
	padding:1px 0 var(--gap);
	position:relative;
}
#spot_features_sdgs > .base > section > .h2{ margin-top:var(--gap); }
#spot_features_sdgs > .base > section:first-child::after{
	background:url("https://chubusystem.com/wp-content/themes/chubusystem/image/article/features/bg_sdgs.png") no-repeat center center / contain;
	width:680px;
	height:680px;
	content:'';
	display:block;
	position:absolute;
	top:-40px;
	left:50%;
	z-index:-1;
}
@media screen and (max-width: 960px){
	#spot_features_sdgs > .base > section:first-child::after{
		width:70vw;
		height:70vw;
		top:-20px;
	}
}

/**
 * スポット：物流サービス
----------------------------------------------------------------*/
#spot_transport > .base{ position:relative; }
#spot_transport > .base > div{ position:absolute; }
#spot_transport > .base > img{ padding-top:100px; }
@media screen and (max-width: 1024px){
	#spot_transport > .base > img{ padding-top:180px; }
}
@media screen and (max-width: 960px){
	#spot_transport > .base > div{ position:static; }
	#spot_transport > .base > img{ padding-top:0; }
}

/**
 * スポット：採用情報
----------------------------------------------------------------*/
#spot_recruit_mvis{
	height:40vw;
	background:url("https://chubusystem.com/wp-content/themes/chubusystem/image/article/recruit/mvis.png") no-repeat center center / cover;
}
@media screen and (max-width: 960px){
	#spot_recruit_mvis{
		height:133.33vw;
		background:url("https://chubusystem.com/wp-content/themes/chubusystem/image/article/recruit/mvis_sp.png") no-repeat center center / cover;
	}
}

/* 資格取得費用全額負担 */
#spot_recruit_welfare_licenses{
	gap:10px;
	margin-top:10px;
}

/* 福利厚生リスト */
#spot_recruit_welfare_welfarelist > section > .flex{
	flex-basis:auto;
	flex-wrap:nowrap;
	gap:10px;
	margin:0;
}
#spot_recruit_welfare_welfarelist > section > .flex > figure{ max-width:110px; }
#spot_recruit_welfare_welfarelist > section > .flex > div{ width:auto; }

/* ギャラリー */
#spot_recruit_welfare_gallery > *{ flex-basis:calc(100% / 7 * 2); }
#spot_recruit_welfare_gallery > :first-child{ flex-basis:calc(100% / 7 * 3); }
@media screen and (max-width: 520px){
	#spot_recruit_welfare_gallery > :nth-child(n){ flex-basis:100%; }
}

/**
 * スポット：会社案内
----------------------------------------------------------------*/
#spot_company_message{ display:flex; }
#spot_company_message > div{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	flex-basis:30%;
}
#spot_company_message > div > .h2{
	margin:0;
	flex-basis:auto;
	overflow-x:hidden;
	max-width:300px;
}
#spot_company_message > div > .h2 > img{ max-width:none; }
#spot_company_message > div > div{ font-size:var(--xxl); }
#spot_company_message > div > div > small{
	display:block;
	font-size:var(--s);
}
#spot_company_message > figure{ flex-basis:70%; }
@media screen and (max-width: 960px){
	#spot_company_message{ display:block; }
	#spot_company_message > div > .h2{ max-width:none; }
	#spot_company_message > div > .h2 > img{ max-width:100%; }
	#spot_company_message > div > div{ text-align:right; }
}

/**
 * スポット：お問い合わせフォーム
----------------------------------------------------------------*/
#spot_contact{ padding:20px 0; }
#spot_contact:not(.hasestimate) .estimate{ display:none; }

/* 入力部品 */
#spot_contactform label:not(.inline){ display:block; }
#spot_contactform [type="text"],
#spot_contactform [type="tel"],
#spot_contactform [type="email"],
#spot_contactform textarea{
	background:white;
	font-size:var(--m);
}
#spot_contactform [name="estimate"]{ font-size:var(--xs); }
#spot_contactform.invalid .formtxt{ vertical-align:top; }
@media screen and (max-width: 520px){
	#spot_contactform .em-mid{ width:100%; }
}

/* 送信ボタン */
#spot_contactform .wpcf7-list-item{ margin-left:0; }
#spot_contactform .submit{ text-align:center; }
#spot_contactform .submit > .wpcf7-spinner{ margin-top:20px; }
#spot_contactform .submit > [type="submit"]{
	width:240px;
	display:inline-block;
	padding:var(--gap-quarter) var(--gap-half);
	background:var(--main);
	color:white;
	position:relative;
	letter-spacing:.2em;
	text-align:center;
	vertical-align:middle;
	font-size:var(--s);
	border-radius:0;
	letter-spacing:0;
	border:none;
}
#spot_contactform .submit > [type="submit"]:hover{ background:var(--water); }

/**
 * ContactFormカスタマイズ
----------------------------------------------------------------*/
/* メッセージ：成功時 */
.wpcf7 form.sent .wpcf7-response-output{
	background:#d5edda;
	color:#185626;
	border:1px solid #c4e5cc !important;
	padding:10px
}

/* メッセージ：失敗時 */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{
	background:#f7d7da;
	color:#711d26;
	border:1px solid #f4c6cb !important;
	padding:10px
}

/* 個別：エラー文 */
.wpcf7-not-valid-tip{
	color:red !important;
	margin-top:5px;
	font-size:12px !important;
}

/**
 * スポット：料金シミュレーター
----------------------------------------------------------------*/
#spot_simulator{
	max-width:768px;
	margin:0 auto;
	padding:60px 0 80px;
}
@media screen and (max-width: 808px){
	#spot_simulator{
		max-width:none;
		margin:0 20px;
	}
}
#spot_simulator .hide{ display:none; }

/* 見出し */
#spot_simulator section > h2{
	font-size:var(--m);
	padding:10px 0;
}
#spot_simulator section > h2::before{
	content:'▶';
	color:var(--sub);
}

/* 選択肢 */
#spot_simulator .selector{
	margin-bottom:40px;
	align-items:stretch;
}
#spot_simulator .selector > label{ display:block; }
#spot_simulator .selector > label > figure{
	position:relative;
	border:1px solid #ccc;
	background:white;
	cursor:pointer;
	height:100%;
}
#spot_simulator .selector > label > :checked + figure{
	border-color:var(--sub);
	box-shadow:0 0 10px rgb(248,203,163);
	z-index:1;
}
#spot_simulator .selector:not(.multirow) > label:first-child > figure{ border-radius:10px 0 0 10px; }
#spot_simulator .selector:not(.multirow) > label:last-child > figure{ border-radius:0 10px 10px 0; }
#spot_simulator .selector > label > figure:hover{
	border-color:var(--water);
	box-shadow:0 0 20px rgb(126,190,224);
	z-index:2;
}
#spot_simulator .selector > label > figure > figcaption{
	font-size:var(--m);
	text-align:center;
	padding:10px;
}

/* テキスト入力 */
#spot_simulator .unitinput > label{
	display:block;
	display:flex;
	align-items:center;
}
#spot_simulator .unitinput > label > input{
	background:white;
	width:calc(100% - 50px);
	font-size:var(--m);
	padding-top:10px;
	padding-bottom:10px;
}
#spot_simulator .unitinput > label > input:read-only{ background:#eee; }
#spot_simulator .unitinput > label > span{
	width:50px;
	text-align:right;
	font-size:var(--m);
}

/* 範囲入力 */
#spot_simulator .rangeinput > label{
	display:block;
	display:flex;
	align-items:center;
}
#spot_simulator .rangeinput > label > input{
	width:100%;
	padding-top:20px;
	padding-bottom:20px;
	appearance:auto;
	-webkit-appearance:auto;
}

/* チェックボックス */
#spot_simulator .checkboxes > label{ font-size:var(--m); }

/* 脚注 */
#spot_simulator aside{
	padding:20px 0;
	color:#999;
}

/* 価格 */
#spot_simulator .price{
	font-size:var(--s);
	color:var(--water);
}
@media screen and (max-width: 520px){
	#spot_simulator .selector .price{ display:block; }
	#spot_simulator .selector .price.blank{ min-height:2em; }
}

/* 面積直方体 */
.areacube > figure{
	position:relative;
	padding:100px 0;
	overflow:hidden;
}
.areacube > figure > .cube{
	--cube-w:270px;
	--cube-h:90px;
	--cube-d:180px;
	margin:auto 0;
	top:0;
	right:32px;
	left:32px;
	bottom:0;
}
.areacube > figure > .cube.state{ --cube-w:250px; }
.areacube > figure > .cube.state > *{ background:rgba(40,148,204,0.2); }
.areacube .table th,
.areacube .table td{ text-align:center; }

/* 結果 */
#simres{
	background:white;
	padding:30px 40px;
	max-width:768px;
	margin:0 auto 40px;
}
#simres > header{
	margin-bottom:20px;
	padding-bottom:20px;
	border-bottom:1px solid #ccc;
}
#simres > header > h2{
	font-size:var(--l);
	color:var(--water);
	font-weight:bold;
}
#simres > footer{
	margin-top:20px;
	padding-top:20px;
	border-top:1px solid #ccc;
}
#simres section{
	display:flex;
	font-size:var(--s);
}
#simres section > h3{
	color:var(--main);
	min-width:100px;
	padding-right:10px;
}
#simres section > div{ width:calc(100% - 100px); }
#simres section > div > dl{
	display:flex;
	justify-content:space-between;
	gap:10px;
}
#simres section > div > dl > dd{
	color:var(--sub);
	text-align:right;
}
#simres section > div > dl.simres_total > dd{
	font-size:var(--l);
	line-height:1.2;
}
#simres section > div > dl.simres_total > dd > small{ font-size:var(--s); }
#simres aside{
	text-align:right;
	font-size:var(--xxs);
	padding-bottom:0;
}
body.printmode > header,
body.printmode > footer,
body.printmode > main > header,
body.printmode > main > footer,
body.printmode #spot_simulator > *:not(#simres){ display:none; }
body.printmode .bg_azure{ background:none; }
body.printmode #spot_simulator{ padding:0; }
@media screen and (max-width: 520px){
	#simres{ padding:20px; }
	#simres section > h3{ min-width:60px; }
	#simres section > div{ width:calc(100% - 60px); }
}

/**
 * 投稿コンテンツ
----------------------------------------------------------------*/
#post{ padding-bottom:80px; }
#post > *{
	max-width:1024px;
	margin:0 auto;
}
#post .wp-block-columns{
	padding:40px 20px;
	box-sizing:border-box;
}
#post_post{
	padding:20px;
}
#post_post h2{
	font-size:30px;
	padding-top:20px;
}
#post_post h3{
	font-size:16px;
	padding-top:10px;
	font-weight:bold;
	color:rgb(239,127,25);
}
#post_post table tr > td:first-child{ min-width:120px; }
#post_post table tr > td{ padding:10px; }
@media screen and (max-width: 520px){
	#post_post h2{ font-size:18px; }
}
