@charset "UTF-8";

/**
 * 全体
----------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Gilda+Display&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Gilda+Display&family=Newsreader:opsz@6..72&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho:wght@400;700&display=swap');
:root{
	/* フォント */
	--mincho: "Shippori Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	--gothic: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, Helvetica, sans-serif;
	--galda:'Gilda Display', serif;
	--newsreader:'Newsreader', serif;
	
	/* 配色 */
	--main:rgb(22,70,166);
	--sub:rgb(0,189,217);
	--black:rgb(77,77,77);
	--jetblack:rgb(10,10,10);
	--black:rgb(77,77,77);
	--blue:rgb(22,70,166);
	--water:rgb(0,189,217);
	--red:rgb(228,90,36);
	--yellow:rgb(238,224,33);
	
	--main9:rgb(45,88,174);
	--sub9:rgb(25,195,220);
	--black9:rgb(94,94,94);
	--jetblack9:rgb(34,34,34);
	--black9:rgb(94,94,94);
	--blue9:rgb(45,88,174);
	--water9:rgb(25,195,220);
	--red9:rgb(230,106,57);
	--yellow9:rgb(239,227,55);
	
	--main8:rgb(68,107,183);
	--sub8:rgb(51,202,224);
	--black8:rgb(112,112,112);
	--jetblack8:rgb(59,59,59);
	--black8:rgb(112,112,112);
	--blue8:rgb(68,107,183);
	--water8:rgb(51,202,224);
	--red8:rgb(233,123,79);
	--yellow8:rgb(241,230,77);
	
	--main7:rgb(91,125,192);
	--sub7:rgb(76,208,228);
	--black7:rgb(130,130,130);
	--jetblack7:rgb(83,83,83);
	--black7:rgb(130,130,130);
	--blue7:rgb(91,125,192);
	--water7:rgb(76,208,228);
	--red7:rgb(236,139,101);
	--yellow7:rgb(243,233,99);
	
	--main6:rgb(115,144,201);
	--sub6:rgb(101,215,232);
	--black6:rgb(148,148,148);
	--jetblack6:rgb(107,107,107);
	--black6:rgb(148,148,148);
	--blue6:rgb(115,144,201);
	--water6:rgb(101,215,232);
	--red6:rgb(238,156,123);
	--yellow6:rgb(244,236,121);
	
	--main5:rgb(138,162,210);
	--sub5:rgb(127,222,236);
	--black5:rgb(166,166,166);
	--jetblack5:rgb(132,132,132);
	--black5:rgb(166,166,166);
	--blue5:rgb(138,162,210);
	--water5:rgb(127,222,236);
	--red5:rgb(241,172,145);
	--yellow5:rgb(246,239,144);
	
	--main4:rgb(161,181,219);
	--sub4:rgb(153,228,239);
	--black4:rgb(183,183,183);
	--jetblack4:rgb(157,157,157);
	--black4:rgb(183,183,183);
	--blue4:rgb(161,181,219);
	--water4:rgb(153,228,239);
	--red4:rgb(244,189,167);
	--yellow4:rgb(248,242,166);
	
	--main3:rgb(185,199,228);
	--sub3:rgb(178,235,243);
	--black3:rgb(201,201,201);
	--jetblack3:rgb(181,181,181);
	--black3:rgb(201,201,201);
	--blue3:rgb(185,199,228);
	--water3:rgb(178,235,243);
	--red3:rgb(246,205,189);
	--yellow3:rgb(249,245,188);
	
	--main2:rgb(208,218,237);
	--sub2:rgb(204,241,247);
	--black2:rgb(219,219,219);
	--jetblack2:rgb(206,206,206);
	--black2:rgb(219,219,219);
	--blue2:rgb(208,218,237);
	--water2:rgb(204,241,247);
	--red2:rgb(249,222,211);
	--yellow2:rgb(251,248,210);
	
	--main1:rgb(231,236,246);
	--sub1:rgb(229,248,251);
	--black1:rgb(237,237,237);
	--jetblack1:rgb(230,230,230);
	--black1:rgb(237,237,237);
	--blue1:rgb(231,236,246);
	--water1:rgb(229,248,251);
	--red1:rgb(252,238,233);
	--yellow1:rgb(253,251,232);
	
	--gray:#ccc;
	--silver:#f5f5f5;
	--none:rgba(0,0,0,0);
	
	--gap:clamp(
	
		/* 【最小余白】SP時の余白(半分) */
		calc(1px * var(--gap-base) / 2),
		
		/* 【推奨余白】SP時の余白(半分)相当の画面比値 */
		calc(var(--gap-base) / var(--tab) * 100vw),
		
		/* 【最大余白】PC時の余白 */
		calc(1px * var(--gap-base))
	
	);
}

/* ボディ */
body{
	font-family:var(--mincho);
	font-weight:400;
	font-size:var(--s);
	/*
	letter-spacing:.1em;
	*/
}

/**
 * アニメーション
----------------------------------------------------------------*/
@keyframes fadeinout{
	0%{
		opacity:0;
		display:none;
	}
	1%{
		opacity:0;
		display:block;
	}
	100%{ opacity:1; }
}
@keyframes slideinout{
	0%{
		right:-768px;
		display:none;
	}
	1%{
		right:-768px;
		display:block;
	}
	100%{ right:0; }
}
@keyframes textin{
	0%{ 
		right:-768px;
		display:none;
	}
	1%{
		right:-768px;
		display:block;
	}
	100%{ right:0; }
}

/* テキストアニメーション */
.textin{
	display:flex;
	overflow:hidden;
}
.textin span{
	display:block;
	transform:translate(0, 105%);
	transition:transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}
.textin.scrolled span{ transform:translate(0, 0); }
	.textin span:nth-child(2){ transition-delay:0.06s; }
	.textin span:nth-child(3){ transition-delay:0.12s; }
	.textin span:nth-child(4){ transition-delay:0.18s; }
	.textin span:nth-child(5){ transition-delay:0.24s; }
	.textin span:nth-child(6){ transition-delay:0.3s; }
	.textin span:nth-child(7){ transition-delay:0.36s; }
	.textin span:nth-child(8){ transition-delay:0.42s; }
	.textin span:nth-child(9){ transition-delay:0.48s; }
	.textin span:nth-child(10){ transition-delay:0.54s; }
	.textin span:nth-child(11){ transition-delay:0.6s; }
	.textin span:nth-child(12){ transition-delay:0.66s; }
	.textin span:nth-child(13){ transition-delay:0.72s; }
	.textin span:nth-child(14){ transition-delay:0.78s; }
	.textin span:nth-child(15){ transition-delay:0.84s; }
	.textin span:nth-child(16){ transition-delay:0.9s; }
	.textin span:nth-child(17){ transition-delay:0.96s; }
	.textin span:nth-child(18){ transition-delay:1.02s; }
	.textin span:nth-child(19){ transition-delay:1.08s; }
	.textin span:nth-child(20){ transition-delay:1.14s; }
	.textin span:nth-child(21){ transition-delay:1.2s; }
	.textin span:nth-child(22){ transition-delay:1.26s; }
	.textin span:nth-child(23){ transition-delay:1.32s; }
	.textin span:nth-child(24){ transition-delay:1.38s; }
	.textin span:nth-child(25){ transition-delay:1.44s; }
	.textin span:nth-child(26){ transition-delay:1.5s; }
	.textin span:nth-child(27){ transition-delay:1.56s; }
	.textin span:nth-child(28){ transition-delay:1.62s; }
	.textin span:nth-child(29){ transition-delay:1.68s; }
	.textin span:nth-child(30){ transition-delay:1.74s; }
	.textin span:nth-child(31){ transition-delay:1.8s; }
	.textin span:nth-child(32){ transition-delay:1.86s; }
	.textin span:nth-child(33){ transition-delay:1.92s; }
	.textin span:nth-child(34){ transition-delay:1.98s; }
	.textin span:nth-child(35){ transition-delay:2.04s; }
	.textin span:nth-child(36){ transition-delay:2.1s; }
	.textin span:nth-child(37){ transition-delay:2.16s; }
	.textin span:nth-child(38){ transition-delay:2.22s; }
	.textin span:nth-child(39){ transition-delay:2.28s; }
	.textin span:nth-child(40){ transition-delay:2.34s; }
	.textin span:nth-child(41){ transition-delay:2.4s; }
	.textin span:nth-child(42){ transition-delay:2.46s; }
	.textin span:nth-child(43){ transition-delay:2.52s; }
	.textin span:nth-child(44){ transition-delay:2.58s; }
	.textin span:nth-child(45){ transition-delay:2.64s; }
	.textin span:nth-child(46){ transition-delay:2.7s; }
	.textin span:nth-child(47){ transition-delay:2.76s; }
	.textin span:nth-child(48){ transition-delay:2.82s; }
	.textin span:nth-child(49){ transition-delay:2.88s; }
	.textin span:nth-child(50){ transition-delay:2.94s; }
	.textin span:nth-child(51){ transition-delay:3s; }
	.textin span:nth-child(52){ transition-delay:3.06s; }
	.textin span:nth-child(53){ transition-delay:3.12s; }
	.textin span:nth-child(54){ transition-delay:3.18s; }
	.textin span:nth-child(55){ transition-delay:3.24s; }
	.textin span:nth-child(56){ transition-delay:3.3s; }
	.textin span:nth-child(57){ transition-delay:3.36s; }
	.textin span:nth-child(58){ transition-delay:3.42s; }
	.textin span:nth-child(59){ transition-delay:3.48s; }
	.textin span:nth-child(60){ transition-delay:3.54s; }
	.textin span:nth-child(61){ transition-delay:3.6s; }
	.textin span:nth-child(62){ transition-delay:3.66s; }
	.textin span:nth-child(63){ transition-delay:3.72s; }
	.textin span:nth-child(64){ transition-delay:3.78s; }
	.textin span:nth-child(65){ transition-delay:3.84s; }
	.textin span:nth-child(66){ transition-delay:3.9s; }
	.textin span:nth-child(67){ transition-delay:3.96s; }
	.textin span:nth-child(68){ transition-delay:4.02s; }
	.textin span:nth-child(69){ transition-delay:4.08s; }
	.textin span:nth-child(70){ transition-delay:4.14s; }
	.textin span:nth-child(71){ transition-delay:4.2s; }
	.textin span:nth-child(72){ transition-delay:4.26s; }
	.textin span:nth-child(73){ transition-delay:4.32s; }
	.textin span:nth-child(74){ transition-delay:4.38s; }
	.textin span:nth-child(75){ transition-delay:4.44s; }
	.textin span:nth-child(76){ transition-delay:4.5s; }
	.textin span:nth-child(77){ transition-delay:4.56s; }
	.textin span:nth-child(78){ transition-delay:4.62s; }
	.textin span:nth-child(79){ transition-delay:4.68s; }
	.textin span:nth-child(80){ transition-delay:4.74s; }
	.textin span:nth-child(81){ transition-delay:4.8s; }
	.textin span:nth-child(82){ transition-delay:4.86s; }
	.textin span:nth-child(83){ transition-delay:4.92s; }
	.textin span:nth-child(84){ transition-delay:4.98s; }
	.textin span:nth-child(85){ transition-delay:5.04s; }
	.textin span:nth-child(86){ transition-delay:5.1s; }
	.textin span:nth-child(87){ transition-delay:5.16s; }
	.textin span:nth-child(88){ transition-delay:5.22s; }
	.textin span:nth-child(89){ transition-delay:5.28s; }
	.textin span:nth-child(90){ transition-delay:5.34s; }
	.textin span:nth-child(91){ transition-delay:5.4s; }
	.textin span:nth-child(92){ transition-delay:5.46s; }
	.textin span:nth-child(93){ transition-delay:5.52s; }
	.textin span:nth-child(94){ transition-delay:5.58s; }
	.textin span:nth-child(95){ transition-delay:5.64s; }
	.textin span:nth-child(96){ transition-delay:5.7s; }
	.textin span:nth-child(97){ transition-delay:5.76s; }
	.textin span:nth-child(98){ transition-delay:5.82s; }
	.textin span:nth-child(99){ transition-delay:5.88s; }
	.textin span:nth-child(100){ transition-delay:5.94s; }
	.textin span:nth-child(101){ transition-delay:6s; }
	.textin span:nth-child(102){ transition-delay:6.06s; }
	.textin span:nth-child(103){ transition-delay:6.12s; }
	.textin span:nth-child(104){ transition-delay:6.18s; }
	.textin span:nth-child(105){ transition-delay:6.24s; }
	.textin span:nth-child(106){ transition-delay:6.3s; }
	.textin span:nth-child(107){ transition-delay:6.36s; }
	.textin span:nth-child(108){ transition-delay:6.42s; }
	.textin span:nth-child(109){ transition-delay:6.48s; }
	.textin span:nth-child(110){ transition-delay:6.54s; }
	.textin span:nth-child(111){ transition-delay:6.6s; }
	.textin span:nth-child(112){ transition-delay:6.66s; }
	.textin span:nth-child(113){ transition-delay:6.72s; }
	.textin span:nth-child(114){ transition-delay:6.78s; }
	.textin span:nth-child(115){ transition-delay:6.84s; }
	.textin span:nth-child(116){ transition-delay:6.9s; }
	.textin span:nth-child(117){ transition-delay:6.96s; }
	.textin span:nth-child(118){ transition-delay:7.02s; }
	.textin span:nth-child(119){ transition-delay:7.08s; }
	.textin span:nth-child(120){ transition-delay:7.14s; }
	.textin span:nth-child(121){ transition-delay:7.2s; }
	.textin span:nth-child(122){ transition-delay:7.26s; }
	.textin span:nth-child(123){ transition-delay:7.32s; }
	.textin span:nth-child(124){ transition-delay:7.38s; }
	.textin span:nth-child(125){ transition-delay:7.44s; }
	.textin span:nth-child(126){ transition-delay:7.5s; }
	.textin span:nth-child(127){ transition-delay:7.56s; }
	.textin span:nth-child(128){ transition-delay:7.62s; }
	.textin span:nth-child(129){ transition-delay:7.68s; }
	.textin span:nth-child(130){ transition-delay:7.74s; }
	.textin span:nth-child(131){ transition-delay:7.8s; }
	.textin span:nth-child(132){ transition-delay:7.86s; }
	.textin span:nth-child(133){ transition-delay:7.92s; }
	.textin span:nth-child(134){ transition-delay:7.98s; }
	.textin span:nth-child(135){ transition-delay:8.04s; }
	.textin span:nth-child(136){ transition-delay:8.1s; }
	.textin span:nth-child(137){ transition-delay:8.16s; }
	.textin span:nth-child(138){ transition-delay:8.22s; }
	.textin span:nth-child(139){ transition-delay:8.28s; }
	.textin span:nth-child(140){ transition-delay:8.34s; }
	.textin span:nth-child(141){ transition-delay:8.4s; }
	.textin span:nth-child(142){ transition-delay:8.46s; }
	.textin span:nth-child(143){ transition-delay:8.52s; }
	.textin span:nth-child(144){ transition-delay:8.58s; }
	.textin span:nth-child(145){ transition-delay:8.64s; }
	.textin span:nth-child(146){ transition-delay:8.7s; }
	.textin span:nth-child(147){ transition-delay:8.76s; }
	.textin span:nth-child(148){ transition-delay:8.82s; }
	.textin span:nth-child(149){ transition-delay:8.88s; }
	.textin span:nth-child(150){ transition-delay:8.94s; }
	.textin span:nth-child(151){ transition-delay:9s; }

/* ディレイ */
.delay{
	opacity:0;
	transition-delay:1s;
	transition:opacity .2s;
}
.delay.scrolled{ opacity:1; }

/* スライドアップ */
.slideup{
	position:relative;
	top:100px;
	opacity:0;
	transition:opacity .7s ease-in-out .5s, top 1s ease-in-out 0s;
}
.slideup.delay1{ transition:opacity .7s ease-in-out 0.6s, top 1s ease-in-out .1s; }
.slideup.delay2{ transition:opacity .7s ease-in-out 0.7s, top 1s ease-in-out .2s; }
.slideup.delay3{ transition:opacity .7s ease-in-out 0.8s, top 1s ease-in-out .3s; }
.slideup.delay4{ transition:opacity .7s ease-in-out 0.9s, top 1s ease-in-out .4s; }
.slideup.delay5{ transition:opacity .7s ease-in-out 1.0s, top 1s ease-in-out .5s; }
.slideup.delay6{ transition:opacity .7s ease-in-out 1.1s, top 1s ease-in-out .6s; }
.slideup.slideuped{
	top:0;
	opacity:1;
}

/* スプラッシュ */
#splash{
	position:fixed;
	z-index:20000;
}
#splash > *{
	position:fixed;
	width:100vw;
	overflow:hidden;
}
#splash > div{
	top:0;
	height:100vh;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	background:white;
	transition:opacity .5s ease-in-out 2.5s, height .5s ease-in-out 3s;
}
#splash > div::before{
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	background:url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/media/products/jfs-selfunit.png) scroll no-repeat center center / 450px;
	transition:opacity .5s easi-in-out 1s;
	opacity:0;
}
#splash > div > p{
	font-size:var(--xxl);
	font-weight:bold;
	letter-spacing:.2em;
	font-family:var(--mincho);
}
#splash > section:nth-of-type(1){
	background:white;
	top:-50%;
	bottom:49.5%;
	transform:skewY(-5deg);
	background:var(--main);
	border-bottom:0 solid var(--sub);
	transition:bottom 2s ease-in-out 3s, border-bottom-width .5s ease-in-out 3s;
}
#splash > section:nth-of-type(2){
	background:white;
	top:49.5%;
	bottom:-50%;
	transform:skewY(-5deg);
	background:var(--main);
	border-top:0 solid var(--sub);
	transition:top 2s ease-in-out 3s, border-top-width .5s ease-in-out 3s;
}
#splash.scrolled > div{
	opacity:0;
	height:0vh;
}
#splash.scrolled > div::before{ opacity:.2; }
#splash.scrolled > section:nth-of-type(1){
	bottom:150%;
	border-bottom-width:100px;
}
#splash.scrolled > section:nth-of-type(2){
	top:150%;
	border-top-width:100px;
}
@media screen and (max-width: 768px){
	#splash > div::before{ background-size:70vw; }
}

/**
 * プロトタイプ
----------------------------------------------------------------*/
/* reCATPCHA */
.grecaptcha-badge{ visibility:hidden; }

/* 文字装飾 */
b{
	color:var(--red);
	font-weight:bold;
}
b.blue{ color:var(--main); }
strong{ font-size:120%; }
@media screen and (max-width: 768px){
	.spl{ text-align:left; }
}

/* 改行 */
br.half{
	display:block;
	content:'';
	margin-top:.7em;
}

/* 平文 */
p{ font-family:var(--gothic); }

/* 日付 */
.date{ color:var(--main); }

/* 自動レイアウト */
.flex.-auto{ flex-wrap:nowrap; }
.flex.-auto > *{ width:100%; }
@media screen and (max-width: 960px){
	.flex.-auto{ display:block; }
}

/* 背景 */
.bg{ padding:1px 0; }
.bg.-gray{ background:#fafafa; }
.bg.-water{ background:var(--sub); color:white; }
.bg.-white{ background:white; color:var(--black); }
.bg.-water1{ background:var(--sub1); }
.bg.-blue{ background:var(--main); color:white; }
.bg.-strength{ background:var(--main) url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/article/index/bg_process.png) scroll no-repeat center top / 100vw; color:white; }
.bg.-benefits{ background:var(--main) url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/article/recruit/bg_benefits.png) scroll no-repeat center top / 100vw; }
.bg.-design{ background:url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/article/index/bg_design.png) scroll no-repeat center top; }
.bg.-waterimage{ background:url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/article/index/bg_water.png) scroll no-repeat center top; }
.bg.-design.-lpos{
	background-position:left top;
	background-size:60%;
}
.bg.-design.-rpos{
	background-position:right top;
	background-size:60%;
}
.bg.triangle{ position:relative; }
.bg.triangle::before{
	--w:50px;
	border-top:var(--w) solid var(--main);
	border-left:var(--w) solid transparent;
	border-right:var(--w) solid transparent;
	border-bottom:var(--w) solid transparent;
	width:0;
	height:0;
	content:'';
	display:block;
	position:absolute;
	top:0;
	left:0;
	right:0;
	margin:0 auto;
}
.bg.triangle.-blue::before{ border-top-color:white; }
.bg.triangle.-water::before{ border-top-color:var(--main); }
@media screen and (max-width: 1200px){
	.bg.-design{ background-size:100vw; }
	.bg.-design.-lpos,
	.bg.-design.-rpos{
		background-position:center top;
		background-size:100vw;
	}
	.bg.triangle::before{ --w:4vw; }
}
@media screen and (max-width: 960px){
	.bg.-strength{ background-image:url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/article/index/bg_process_sp.png); }
	.bg.-benefits{ background-image:url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/article/recruit/bg_benefits_sp.png); }
	.bg.-design{ background-image:url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/article/index/bg_design_sp.png); }
	.bg.-waterimage{ background-image:url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/article/index/bg_water_sp.png); }
}

/* 右三角 */
.bg.triangleright{ position:relative; }
.bg.triangleright::before{
	--w:100px;
	content:'';
	display:block;
	position:absolute;
	width:var(--w);
	height:var(--w);
	clip-path:polygon(0 0, 100% 0, 100% 100%);
	top:-1px;
	right:0;
	background:var(--sub);
}
.bg.triangleright.-blue::before{ background:white; }
.bg.triangleright.-water::before{ background:var(--main); }
@media screen and (max-width: 1200px){
	.bg.triangleright::before{ --w:9vw; }
}

/* 見出し2 */
.h2{ margin:var(--gap-triple) var(--gap) var(--gap); }
.h2 > p,
.h2 > h2{
	font-family:var(--newsreader);
	font-size:80px;
	line-height:1.2;
	color:var(--main);
	letter-spacing:0;
	font-weight:normal;
}
.h2 > p + h2{
	font-family:var(--mincho);
	font-size:var(--xl);
	color:var(--black);
	letter-spacing:.1em;
	font-weight:bold;
}
.h2 > p + h2{ font-size:var(--xl); }
.h2.-big > p,
.h2.-big > h2{ font-size:100px; }
.h2.-big > p + h2{ font-size:var(--xl); }
.h2.-white > p{ color:var(--sub); }
.h2.-white > p + h2{ color:white; }
@media screen and (max-width: 1200px){
	.h2 > p,
	.h2 > h2{ font-size:70px; }
	.h2.-big > p,
	.h2.-big > h2{ font-size:80px; }
	.h2 > p + h2,
	.h2.-big > p + h2{ font-size:var(--l); }
}
@media screen and (max-width: 960px){
	.h2 > p,
	.h2 > h2{ font-size:60px; }
	.h2.-big > p,
	.h2.-big > h2{ font-size:70px; }
	.h2 > p + h2,
	.h2.-big > p + h2{ font-size:var(--l); }
}
@media screen and (max-width: 768px){
	.h2 > p,
	.h2 > h2{ font-size:45px; }
	.h2.-big > p,
	.h2.-big > h2{ font-size:60px; }
	.h2 > p + h2,
	.h2.-big > p + h2{ font-size:var(--l); }
}
@media screen and (max-width: 512px){
	.h2 > p,
	.h2 > h2{ font-size:30px; }
	.h2.-big > p,
	.h2.-big > h2{ font-size:50px; }
	.h2 > p + h2,
	.h2.-big > p + h2{ font-size:var(--l); }
}
.h2whitemini{
	padding:60px var(--gap) 20px;
	color:white;
}
.h2whitemini > p{
	font-size:var(--xxxl);
	font-weight:bold;
	line-height:1.4;
	font-family:var(--newsreader);
}
.h2whitemini > h2{
	font-size:var(--l);
	font-weight:bold;
	line-height:1.4;
}
.h2faq{
	font-size:var(--xxl);
	font-weight:bold;
	padding-top:40px;
	padding-bottom:10px;
	text-align:center;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:10px;
	line-height:1.4;
}
.h2faq::before{
	content:'';
	background:url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/article/product/problems/h2.png) scroll no-repeat center center / contain;
	width:60px;
	height:60px;
	display:inline-block;
}
@media screen and (max-width: 768px){
	.h2faq{
		text-align:center;
		align-items:start;
	}
	.h2faq::before{
		width:40px;
		height:40px;
	}
}

/* 見出し3 */
.h3{ font-size:var(--xxxl); }
@media screen and (max-width: 1200px){
	.h3{ font-size:var(--xl); }
}
.h3circle{
	font-size:var(--xl);
	line-height:1.4;
	margin:10px 0;
}
.h3circle::before{
	content:'●';
	color:var(--main);
}
.h3-bluesheet{
	background:var(--main);
	color:white;
	font-weight:bold;
	font-size:var(--m);
	padding:2px 10px;
	margin-bottom:10px;
}
.h3square{
	font-size:var(--xxl);
	position:relative;
	padding:20px 0 20px 1em;
}
.h3square::before{
	position:absolute;
	width:2em;
	height:2em;
	background:rgba(255,255,255,.1);
	top:10px;
	left:10px;
	content:'';
	display:block;
	transform:rotate(20deg);
}

/* 見出し4 */
.h4{ font-size:var(--xl); }
.h4.-notop{ margin-top:0; }
.h4.-nobottom{ margin-bottom:0; }
.h4.-notb{
	margin-top:0;
	margin-bottom:0;
}

/* 見出し5 */
.h5{ font-size:var(--l); }

/* ボタン */
.buttons > *{
	flex-basis:400px;
	border-radius:3em;
	padding:var(--gap-half);
	font-family:var(--gothic);
	font-weight:bold;
}
.buttons.-line > *{
	border:1px solid var(--main);
	color:var(--main);
}
.buttons.-line > *:hover{ background:var(--main); }
.buttons.-line.-white > *{
	border-color:white;
	color:white;
}
.buttons.-line.-white > *:hover{
	background:white;
	color:var(--main);
}
.buttons:not(.-line).-white > *{
	background:white;
	color:var(--sub);
}
.buttons:not(.-line).-white > *:hover{
	background:var(--main);
	color:white;
}
.buttons.-water > *{
	background:var(--sub);
	color:white;
}
.buttons.-water > *:hover{ background:var(--main); }
.buttons.-towhite > *:hover{
	background:white;
	color:var(--main);
}
.buttons.-notop{ margin-top:10px; }
.buttons.-left{ justify-content:left; }
.buttons.-right{ justify-content:right; }
@media screen and (max-width: 768px){
	.buttons.-left{ justify-content:center; }
	.buttons.-right{ justify-content:center; }
	.buttons > *{ padding:15px; }
}

/* 電話ボックス */
.telbox{
	text-align:center;
	font-family:var(--newsreader);
	padding:40px 0;
}
.telbox > *{
	font-size:70px;
	line-height:1.2;
	letter-spacing:0;
}
.telbox > div{ font-size:var(--xxxl); }
.telbox > a:hover{ color:var(--main); }
.telbox > * > small{ font-size:var(--xxl); }
@media screen and (max-width: 768px){
	.telbox > *{ font-size:10vw; }
	.telbox > div{ font-size:8vw; }
	.telbox > * > small{ font-size:var(--xl); }
}

/* 脚注 */
.note{
	background:var(--sub1);
	padding:20px var(--gap);
	letter-spacing:0;
}
.note > h3,
.note > h4,
.note > h5,
.note > h6{
	font-size:var(--xl);
	font-weight:bold;
	letter-spacing:.1em;
}

/* 型番検索 */
.models{
}
.models > button{
}
.models > div{
	--split:7;
	background:white;
	box-shadow:0 0 10px rgba(0,0,0,.1);
	display:flex;
	flex-wrap:wrap;
	padding:1px;
	box-sizing:border-box;
}
.models > div > a{
	display:block;
	box-sizing:border-box;
	width:150px;
	text-align:center;
	border:1px solid var(--gray);
	margin:-1px;
	font-size:var(--xs);
	padding:10px;
}

/* タグ */
.tag{
	padding:0 10px;
	margin:4px 6px 4px 0;
	border-radius:1.5em;
	font-weight:bold;
}

/* 中央説明文 */
.summary{
	padding:40px var(--gap);
	text-align:center;
}
.summary.-notb{
	padding-top:0;
	padding-bottom:0;
}
@media screen and (max-width: 960px){
	.summary{ text-align:justify; }
}

/* 丸リスト */
.circlelist > li::before{
	content:'●';
	color:var(--main);
}

/* 番号付きリスト */
.numberlist > li{ list-style:inside numeric; }

/* 説明文内蔵画像 */
.insidefig{ position:relative; }
.insidefig > img{
	max-width:none;
	width:100%;
}
.insidefig > figcaption{
	position:absolute;
	bottom:0;
	left:0;
	background:var(--jetblack);
	color:white;
	font-weight:bold;
	padding:0 10px;
}

/* 人物名内蔵画像 */
.president > figure{ position:relative; }
.president > figure > img{
	max-width:none;
	width:100%;
}
.president > figure > figcaption{
	position:absolute;
	bottom:0;
	right:0;
	color:white;
	font-weight:bold;
	padding:15px;
	font-size:var(--l);
	text-align:right;
}
.president > figcaption > small{ display:block; }

/* ギャラリー */
.gallery > img{
	max-width:none;
	width:100%;
}

/* 映像 */
.video > a{
	display:block;
	position:relative;
	width:100%;
	aspect-ratio:3/1;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
.video > a::before{
	content:'';
	display:block;
	top:0;
	left:0;
	bottom:0;
	right:0;
	position:absolute;
	background:rgba(22,70,166,0.4);
}
.video > a:hover::before{ background:rgba(22,70,166,0.8); }
.video > a > p{
	font-size:var(--xxl);
	color:white;
	line-height:1.4;
	font-family:var(--mincho);
	font-weight:bold;
	text-align:center;
	z-index:1;
	position:relative;
	padding:20px;
}
.video > a > p::before{
	content:'';
	background:url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/article/company/play.png) scroll no-repeat center center / cover;
	width:120px;
	height:120px;
	display:block;
	margin:0 auto 20px;
}
.video > a > img{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	max-width:none;
	object-fit:cover;
	z-index:-1;
}
@media screen and (max-width: 960px){
	.video > a > p{ font-size:var(--xl); }
	.video > a > p::before{
		width:90px;
		height:90px;
		margin-bottom:10px;
	}
}
@media screen and (max-width: 512px){
	.video > a{ aspect-ratio:4/3; }
	.video > a > p::before{
		width:60px;
		height:60px;
	}
}

/* 記事カード */
.postcards > h2{
	font-size:var(--xxl);
	padding:30px var(--gap) 10px;
	margin:0 auto 20px;
	font-weight:bold;
	text-align:center;
	border-bottom:1px solid var(--black);
	max-width:500px;
	line-height:1.4;
}
@media screen and (max-width: 512px){
	.postcards > h2{
		padding:20px 0 0;
		margin:0 20px 20px;
		max-width:none;
	}
}
.postcards > h2 + .card > ul{ border-top-width:0; }
.postcards > .card > ul{ margin:0 auto; }
.postcards > .card > ul > li{ width:300px; }
.postcards > .card > ul > li > a{
	display:block;
	background:white;
	padding:15px;
	height:100%;
	box-shadow:0 0 10px rgba(0,0,0,.03);
	overflow:hidden;
	position:relative;
	border-radius:15px;
}
.postcards > .card > ul > li > a > *{
	position:relative;
	z-index:1;
}
.postcards > .card > ul > li > a::after{
	content:'';
	position:absolute;
	top:0;
	right:0;
	display:block;
	width:400px;
	height:400px;
	background:rgb(242,251,253);
	transform-origin:0 0;
	transform:rotate(-45deg);
	z-index:0;
	opacity:0;
}
.postcards > .card > ul > li > a:hover{ box-shadow:0 0 10px 5px rgba(0,0,0,.1); }
.postcards > .card > ul > li > a:hover::after{ opacity:1; }
.postcards > .card > ul > li > a > figure{
	overflow:hidden;
	border-radius:7px;
}
.postcards > .card > ul > li > a > header{
	height:45px;
	margin:10px 0 5px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.postcards > .card > ul > li > a > header > p{
	font-size:var(--xs);
	line-height:1.3;
	color:var(--main);
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	margin-bottom:3px;
}
.postcards > .card > ul > li > a > header > h3{
	font-size:var(--m);
	font-weight:bold;
	line-height:1.3;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.postcards > .card > ul > li > a:hover > header > h3{ color:var(--main); }
.postcards > .card > ul > li > a > p{
	font-size:var(--xs);
	overflow:hidden;
	display:-webkit-box;
	text-overflow:ellipsis;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:3;
	letter-spacing:0;
}
@media screen and (max-width: 1024px){
	.postcards > .card > ul > li{ width:256px; }
}
.postcards > .card > ul > li.morecard > a{
	background:var(--main);
	color:white;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	font-size:var(--l);
	font-weight:bold;
	font-family:var(--gothic);
	color:white;
	text-align:center;
	line-height:1.4;
}
.postcards > .card > ul > li.morecard > a:hover{ background:var(--red); }
.postcards > .card > ul > li.morecard > a::after{ content:none; }

/* 余白 */
.secs > :not(:last-child){ margin-bottom:40px; }
.secs.-min > :not(:last-child){ margin-bottom:20px; }
.endcont{ padding-bottom:100px !important; }

/* お困りごと */
.problem{
	margin-bottom:20px;
	border:1px solid var(--main);
	padding:20px;
	border-radius:10px;
	display:flex;
	gap:20px;
}
.problem > figure{ flex-basis:300px; }
.problem > div{ 
	flex-basis:100%;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.problem > div > p{
	font-family:var(--mincho);
	color:var(--main);
	line-height:1.4;
	font-size:var(--l);
}
.problem > div > h4{
	font-size:var(--xl);
	font-weight:bold;
	line-height:1.4;
}
@media screen and (max-width: 512px){
	.problem{ display:block; }
}

/* よくあるご質問 */
.faq > h2{
	background:var(--main);
	color:white;
	padding:20px 20px 20px 80px;
	font-size:var(--l);
	font-weight:bold;
	margin-bottom:10px;
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-height:80px;
	line-height:1.5
}
.faq > h2::before{
	content:'Q';
	position:absolute;
	top:10px;
	left:10px;
	width:60px;
	height:60px;
	text-align:center;
	background:white;
	color:var(--main);
	border-radius:50%;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
@media screen and (max-width: 768px){
	.faq > h2{
		min-height:70px;
		padding:10px 10px 10px 70px;
		font-size:var(--m);
	}
	.faq > h2::before{
		top:10px;
		left:10px;
		width:50px;
		height:50px;
	}
}

/* 電話番号 */
.tels{
	color:var(--main);
	letter-spacing:0;
	font-weight:bold;
	line-height:1.5;
}
.tels > span:nth-child(1)::before{
	content:'tel ';
	font-size:80%;
}
.tels > span:nth-child(2)::before{
	content:'fax ';
	font-size:80%;
}
@media screen and (max-width: 1200px){
	.tels > span{ display:block; }
}

/* 拠点 */
.location > a{
	display:block;
	height:100%;
	background:white;
	padding:15px;
	position:relative;
	top:0;
	box-shadow:0 0 0 rgba(0,0,0,.2);
	color:var(--black);
}
.location > a:hover{
	top:-10px;
	box-shadow:0 10px 10px rgba(0,0,0,.2);
}
.location > a > figure{ margin:-15px -15px 15px; }
.location > a > div > h2{
	font-size:var(--l);
	font-weight:bold;
}
.location > a > div > .tels{ font-size:var(--m); }
.location > a > div > p{
	font-size:var(--xs);
	line-height:1.4;
	letter-spacing:0;
	margin-top:5px;
}
@media screen and (max-width: 512px){
	.location > a{ padding:10px; }
	.location > a > figure{ margin:-10px -10px 10px; }
}

/* 仕様 */
.specs{
	color:white;
	--radius:30px;
}
.specs table{
	border-radius:var(--radius);
	overflow:hidden;
}
.specs table > * > tr > *{
	padding:15px;
	background:rgba(0,0,0,.1);
	text-align:center;
	vertical-align:middle;
	font-family:var(--gothic);
	font-weight:normal;
}
.specs table > * > tr > :not(:last-child){ border-right:1px solid rgba(255,255,255,.5); }
.specs table > * > tr > [rowspan] + th,
.specs table > * > tr > :first-child:not([rowspan]){ width:140px; }
.specs table > thead > tr > th{
	background:rgba(0,0,0,.2);
	font-weight:bold;
	font-family:var(--mincho);
	font-size:var(--l);
}
.specs table > tbody > tr:not(:first-child) > *,
.specs table > thead + tbody > tr:first-child > *{ border-top:1px solid rgba(255,255,255,.5); }
.specs table > tbody > tr > th{ background:rgba(0,0,0,.2); }
.specs table > thead + tbody > tr > th{ background:rgba(0,0,0,.1); }
.specs table > tbody > tr > [rowspan]{
	background:rgba(0,0,0,.2);
	width:1em;
	writing-mode: vertical-rl;
}
.specs > p{ padding-top:40px; }
.specs table > tbody > tr > td{
	font-size:var(--m);
	font-weight:bold;
	height:90px;
}
.specs table > tbody > tr > td figure > img{
	display:inline-block;
	width:220px;
}
.specs table > tbody > tr > td h3{
	font-size:var(--l);
	font-weight:bold;
	line-height:1.4;
}
.specs table > tbody > tr > td h3 > small{
	font-size:var(--m);
	font-weight:normal;
	line-height:1.4;
}
.specs table > tbody > tr > td .flex{
	width:fit-content;
	margin:0 auto;
	justify-content:center;
}
.specs table > tbody > tr > td .flex > :nth-child(n){ flex-basis:auto; }
.specs table > tbody > tr > td div:not(.flex) > h3{
	font-size:var(--xxl);
	color:var(--yellow);
}
.specs table > tbody > tr > td div:not(.flex) > p{
	color:white;
	font-size:var(--xs);
	font-weight:normal;
	line-height:1.4;
	text-align:center;
}
.specs table > tbody > tr > td > p{
	font-size:var(--xs);
	line-height:1.4;
	text-align:center;
	font-weight:normal;
}
.specs table > tbody > tr > td > aside{
	background:rgba(255,255,255,.2);
	padding:4px 10px;
	display:inline-block;
	font-size:var(--xxs);
}
.specs table > tbody > tr > td > figure{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
}
.specs table > tbody > tr > td > figure > img{ margin:0; }
@media screen and (max-width: 1200px){
	.specs{ --radius:20px; }
}
@media screen and (max-width: 768px){
	.specs{ --radius:10px; }
	.specs table > * > tr > *{ padding:10px; }
	.specs table > tbody > tr > td,
	.specs table > tbody > tr > td h3 > small{ font-size:var(--s); }
	.specs table > tbody > tr > td h3{ font-size:var(--m); }
	.specs table > tbody > tr > td figure > img{ width:135px; }
	.specs table > tbody > tr > td div:not(.flex) > p,
	.specs table > tbody > tr > td > p{ font-size:var(--xxs); }
	.specs table > tbody > tr > td div:not(.flex) > h3{ font-size:var(--xl); }
	.specs table > * > tr > [rowspan] + th,
	.specs table > * > tr > :first-child:not([rowspan]){ width:70px; }
}

/* 製品特徴 */
.product_features{
	border:1px solid var(--main);
	padding:var(--gap);
	border-radius:30px;
	background:#fafafa url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/article/index/bg_design.png) scroll no-repeat center center / contain;
}
.product_features > ol > li{
	font-size:var(--m);
	font-weight:bold;
	position:relative;
	display:flex;
	align-items:center;
}
.product_features > ol > li:not(:first-child){ margin-top:20px; }
.product_features > ol > li > header{
	color:var(--main);
	border-right:10px solid var(--main);
	padding:10px 0;
	font-size:var(--xxxl);
	font-weight:bold;
	vertical-align:baseline;
	width:130px;
}
.product_features > ol > li > header > small{ font-size:var(--m); }
.product_features > ol > li > p{
	font-family:var(--mincho);
	width:100%;
	padding:10px 0 10px 20px;
	font-size:var(--l);
}
@media screen and (max-width: 1200px){
	.product_features > ol > li > header{
		width:100px;
		height:100%;
	}
	.product_features > ol > li > header{
		border-right:5px solid var(--main);
		padding:5px 0;
	}
	.product_features > ol > li > p{
		font-size:var(--xs);
		padding:5px 0 5px 10px;
	}
}

/* メインビジュアル */
.mvis > img{
	max-width:none;
	width:100%;
}

/* 一文字目ライン */
.fcharline{ position:relative; }
.fcharline::before{
	position:absolute;
	top:.7em;
	left:-80px;
	width:80px;
	border-top:1px solid var(--main);
	content:'';
	display:block;
}

/* 拡張ベース */
.base.-wide{ max-width:1610px; }
.base.-superwide{ max-width:1920px; }

/* PDF埋込 */
.pdf > object{
	width:100%;
	height:1000px;
}
@media screen and (max-width: 1200px){
	.pdf > object{ height:600px; }
}

/* セクション境界線 */
.sechr > *:not(:first-child){
	border-top:1px solid var(--black5);
	position:relative;
}
.sechr > *:not(:first-child)::before{
	--w:30px;
	content:'';
	position:absolute;
	top:calc(var(--w) / -2);
	left:0;
	right:0;
	display:block;
	width:30px;
	height:30px;
	border-bottom:1px solid var(--black5);
	border-right:1px solid var(--black5);
	background:white;
	margin:0 auto;
	width:var(--w);
	height:var(--w);
	transform:rotate(45deg);
}

/**
 * ヘッダー
----------------------------------------------------------------*/
body > header{
	--height:100px;
	height:var(--height);
}

/* ヘッドバー */
#hbar{
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:1000;
	height:var(--height);
	max-height:var(--height);
	background:white;
	display:flex;
	justify-content:space-between;
	box-shadow:0 0 10px rgba(0,0,0,.1);
}
#logo > a{ display:block; }
#logo > a > img{
	max-width:none;
	width:auto;
	height:var(--height);
}
#search,
#open,
#close{
	max-width:var(--height);
	min-width:var(--height);
	display:block;
	background:var(--main);
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
#open,
#close{ display:none; }
#open:hover{ background:var(--sub); }
@media screen and (min-width: 1201px){
	#spmenu{
		flex-basis:100%;
		text-align:right;
		display:flex;
		flex-direction:column;
		justify-content:flex-end;
		padding:10px 20px 0 10px;
	}
}
@media screen and (max-width: 1200px){
	body > header{ --height:80px; }
	#hbar{ padding-right:calc(1px + var(--height)); }
	#open{ display:flex; }
}
@media screen and (max-width: 768px){
	body > header{ --height:60px; }
}
@media screen and (max-width: 512px){
	body > header{ --height:50px; }
}

/* 検索 */
#search > button{
	background:var(--main);
	position:relative;
	z-index:1001;
}
#search > button:hover{ background:var(--sub); }
#search > div{
	background:rgba(255,255,255,.9);
	position:fixed;
	top:0;
	left:0;
	right:0;
	display:none;
	opacity:0;
	z-index:1000;
}
#search > button.active + div{
	display:block;
	box-shadow:0 0 10000px 10000px rgba(0,0,0,.8);
	opacity:1;
	animation:.5s ease-in 0s alternate fadeinout;
}
#search > div > h2{
	height:var(--height);
	line-height:var(--height);
	margin:0 var(--height) 0 0;
	padding:0 var(--gap);
	letter-spacing:.1em;
}
#search > div > .searchform{ padding:20px var(--gap); }
@media screen and (max-width: 1200px){
	#search > div > h2{ margin-right:calc(var(--height) * 2); }
}
@media screen and (max-width: 768px){
	#search > div > h2{ font-size:var(--xxl); }
}
@media screen and (max-height: 1024px){
	#search > div{
		bottom:0;
		overflow-y:scroll;
		padding-bottom:100vh;
	}
}

/* プライマリナビゲーション */
#pnav > ul,
#pnav > ul > li{
	display:inline;
	font-family:var(--gothic);
}
#pnav > ul > li:not(:first-child){ margin-left:.5em; }
#pnav > ul > li > a:hover{ color:var(--main); }

/* グローバルナビゲーション */
@media screen and (min-width: 1201px){
	#gnav > ul{
		display:flex;
		justify-content:flex-end;
		margin-right:-8px;
	}
	#gnav > ul > li > a{
		padding:0 0 10px 0;
		font-size:var(--l);
		font-weight:bold;
		line-height:1.5;
		margin:0 8px;
	}
	#gnav > ul > li > a:hover{
		color:var(--main);
		background:none;
	}
	#gnav > ul > li > div{
		position:absolute;
		left:0;
		right:0;
		background:rgba(22,70,166,0.9);
		z-index:1000;
		color:white;
		font-weight:bold;
		display:none;
		opacity:0;
	}
	#gnav > ul > li > a:hover + div,
	#gnav > ul > li > div:hover{
		display:block;
		opacity:1;
		animation:.5s ease-in 0s alternate fadeinout;
	}
	#gnav > ul > li > div > .base.-alone{
		padding-top:20px;
		padding-bottom:20px;
		text-align:center;
	}
	#gnav > ul > li > div > .base.-alone > a{
		text-align:center;
		font-size:var(--l);
		margin-bottom:10px;
		display:inline-block;
	}
	#gnav > ul > li > div > .base.-alone > a:hover{ color:var(--yellow); }
	#gnav > ul > li > div > .base.-alone > ul{
		display:flex;
		justify-content:center;
		gap:20px;
	}
	#gnav > ul > li > div > .base.-alone > ul > li{ width:180px; }
	#gnav > ul > li > div > .base.-alone > ul > li > a{ display:block; }
	#gnav > ul > li > div > .base.-alone > ul > li > a:hover > img{ opacity:.7; }
	#gnav > ul > li > div > .base.-alone > ul > li > a > p{
		margin-top:4px;
		text-align:center;
	}
	#gnav > ul > li > div > .base.-alone > ul > li > a:hover > p{ color:var(--yellow); }
}
@media screen and (max-width: 1200px){
	#gnav > ul{ flex-direction:column; }
	#gnav > ul > li > a{ color:white; }
	#open,
	#close{ display:block; }
	#spmenu{
		display:none;
		background:rgba(0,0,0,.9);
		position:fixed;
		top:0;
		left:0;
		right:0;
		bottom:0;
		z-index:10001;
		overflow-y:scroll;
	}
	body.clicked{ overflow-y:hidden; }
	body.clicked #spmenu{ display:block; }
	
	#close:hover{ background:var(--sub); }
	#spmenu{
		background:var(--main);
		padding:calc(20px + var(--height)) 20px 40px;
		--w:768px;
		max-width:var(--w);
		left:auto;
		box-shadow:0 0 10px 10px rgba(0,0,0,.1);
		right:-768px;
		display:block;
	}
	body.clicked #spmenu{
		right:0;
		animation:.5s ease-in 0s alternate slideinout;
	}
	#spmenu > nav{
		max-width:var(--bp-sp);
		margin:0 auto;
	}
	#pnav{ padding-bottom:20px; }
	#pnav > ul > li > a{
		color:white;
		font-size:var(--m);
	}
	#pnav > ul > li > a:hover{ color:var(--yellow); }
	#gnav > ul > li:not(:last-child){ margin-bottom:40px; }
	#gnav > ul > li > a{
		display:block;
		font-size:var(--l);
		font-weight:bold;
		padding:5px 10px;
		background:white;
		border-radius:4px;
		color:var(--main);
		margin-bottom:10px;
		border:1px solid transparent;
	}
	#gnav > ul > li > a:hover{
		border:1px solid white;
		background:rgba(255,255,255,.1);
	}
	#gnav > ul > li > div > .base{
		max-width:none;
		padding:0;
	}
	#gnav > ul > li > div > .base > a{ display:none; }
	#gnav > ul > li > div > .base > ul{
		display:flex;
		flex-wrap:wrap;
		gap:0 20px;
	}
	#gnav > ul > li > div > .base > ul > li{ flex-basis:calc(50% - 10px); }
	#gnav > ul > li > div > .base > ul > li > a{
		border-bottom:1px solid white;
		color:white;
		display:block;
		font-size:var(--m);
		padding:5px 0 5px 20px;
		position:relative;
	}
	#gnav > ul > li > div > .base > ul > li > a > img{ display:none; }
	#gnav > ul > li > div > .base > ul > li > a::before{
		content:'>';
		position:absolute;
		top:5px;
		left:5px;
		bottom:0;
		display:block;
		width:20px;
		vartical-align:middle;
		font-size:80%;
	}
	#gnav > ul > li > div > .base > ul > li > a:hover{ background:rgba(255,255,255,.2); }
}
@media screen and (max-width: 512px){
	#spmenu{ width:100%; }
	#gnav > ul > li > div > .base > ul{ display:block; }
	#gnav > ul > li > div > .base > ul > li > a{ font-size:var(--s); }
}

/**
 * フッター
----------------------------------------------------------------*/
body > footer{
	background:var(--main);
	color:white;
}

/* お問い合わせBOX */
#contactbox > div{
	background:white;
	padding:60px 80px 40px;
	margin-top:-120px;
	z-index:1;
	position:relative;
}
#contactbox > div > header.h2{ margin-top:0; }
#contactbox > div > div > *{ border:1px solid var(--main); }
/*
#contactbox > div > div > *:first-child{ background:white url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/interfaces/theme/contactbox_ov.png) scroll no-repeat center center / contain; }
#contactbox > div > div > *:first-child > img{ width:100%; }
#contactbox > div > div > *:first-child:hover{ background:var(--main) url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/interfaces/theme/contactbox_ov.png) scroll no-repeat center center / contain; }
#contactbox > div > div > *:first-child:hover > img{ opacity:0; }
*/
#contactbox > div > div > *:last-child{
	background:var(--main);
	color:white;
	padding:20px;
	font-size:var(--xl);
	text-align:center;
	font-weight:bold;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
#contactbox > div > div > span:last-child{
	background:rgb(138,162,210);
	border-color:rgb(138,162,210);
}
#contactbox > div > div > a:last-child:hover{
	background:white;
	color:var(--main);
}
#contactbox > div > div > span:last-child > small{
	font-weight:normal;
	font-size:var(--m);
	background:rgba(255,255,255,.2);
	padding:0 10px;
}
#contactbox > div > footer > a{
	color:var(--black);
	padding-bottom:20px;
	position:relative;
}
#contactbox > div > footer > a:hover{ color:var(--main); }
#contactbox > div > footer > a::after{
	border-top:10px solid var(--main);
	border-left:20px solid transparent;
	border-right:20px solid transparent;
	border-bottom:10px solid transparent;
	content:'';
	width:0;
	height:0;
	display:block;
	margin:auto;
	position:absolute;
	left:0;
	right:0;
	bottom:-10px;
}
#contactbox > div > footer > a:hover::after{ bottom:-15px; }
#contactbox > div > footer > a > h3{
	font-size:var(--l);
	font-weight:bold;
	text-align:center;
}
#contactbox > div > footer > a > p{
	text-align:center;
	font-family:var(--gothic);
	letter-spacing:0;
	font-size:var(--xs);
}
@media screen and (max-width: 1200px){
	#contactbox > div{
		padding:40px 20px 20px;
		margin-top:-10vw;
	}
	#contactbox > div > div > a:nth-child(2){ font-size:var(--l); }
}
@media screen and (max-width: 768px){
	#contactbox > div{
		padding:40px 0 20px;
		max-width:512px;
		margin-right:auto;
		margin-left:auto;
	}
	#contactbox > div > div.flex{ margin:5px var(--gap); }
	#contactbox > div > div > a:nth-child(1) > img{ max-width:400px; }
	#contactbox > div > footer.flex{
		gap:0;
		margin:5px var(--gap);
	}
	#contactbox > div > footer > a{ padding:10px 0 10px 20px; }
	#contactbox > div > footer > a::after{
		border-top:10px solid transparent;
		border-left:10px solid var(--main);
		border-right:10px solid transparent;
		border-bottom:10px solid transparent;
		right:auto;
		bottom:0;
		top:0;
	}
	#contactbox > div > footer > a:not(:last-child){ border-bottom:1px solid var(--gray); }
	#contactbox > div > footer > a:hover::after{
		bottom:0;
		left:3px;
	}
	#contactbox > div > footer > a > h3{ text-align:left; }
	#contactbox > div > footer > a > p{ text-align:left; }
}
@media screen and (max-width: 400px){
	#contactbox > div > div > a:nth-child(2){ font-size:var(--s); }
	#contactbox > div > footer > a{ padding:6px 0 6px 13px; }
	#contactbox > div > footer > a::after{ border-width:6px; }
	#contactbox > div > footer > a > h3{ font-size:var(--s); }
	#contactbox > div > footer > a > p{ display:none; }
}

/* フッターロゴ */
#flogo{
	margin-bottom:20px;
	padding:0 20px;
}

/* フッターナビゲーション */
#fnav{ font-family:var(--gothic); }
#fnav > ul > li a:hover{ color:var(--yellow); }
#fnav > ul > li > ul{ margin-top:10px; }
@media screen and (max-width: 512px){
	#fnav > ul.flex{ display:block; }
	#fnav > ul.flex > li:not(:last-child){ margin-bottom:20px; }
	#fnav > ul.flex > li > ul{
		margin-top:2px;
		font-size:0;
		text-align:justify;
	}
	#fnav > ul.flex > li > ul > li{ display:inline; }
	#fnav > ul.flex > li > ul > li:not(:last-child)::after{
		content:'／';
		font-size:var(--xs);
	}
	#fnav > ul.flex > li > ul > li > a{ font-size:var(--xs); }
}

/* 著作権表記 */
#crwrap{
	text-align:center;
	padding:40px var(--gap);
}
#cr{
	font-size:var(--m);
	font-family:var(--gothic);
	font-weight:bold;
	padding:0 3px;
	text-align:center;
	display:inline-block;
	background:white;
	color:var(--main);
	letter-spacing:0;
	line-height:1.2;
}

/**
 * コンテンツ
----------------------------------------------------------------*/
/* ページ名 */
body > main > header{
	--unit:100px;
	background:var(--main) url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/interfaces/theme/bg_pagename_visual.png) scroll no-repeat right top;
	height:calc(4 * var(--unit));
	position:relative;
	z-index:-1000;
}
#pagename{
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:20px 80px;
	height:calc(4 * var(--unit));
}
#pagename > h1{
	font-size:var(--xxxl);
	font-weight:bold;
	color:white;
	line-height:1.4;
}
#pagename > p{
	font-size:var(--xl);
	color:white;
	font-family:var(--gothic);
	line-height:1.4;
}
#pagename_triangle{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	width:calc(10 * var(--unit));
	height:calc(10 * var(--unit));
	background:var(--water) url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/interfaces/theme/bg_pagename_text.png) scroll no-repeat left top;
	aspect-ratio:1 / cos(30deg);
	clip-path:polygon(0 0, 100% 0, 0 100%);
	z-index:-1;
}
#pagename_triangle::after{
	content:'';
	display:block;
	position:absolute;
	top:calc(4 * var(--unit));
	bottom:0;
	left:0;
	width:calc(6 * var(--unit));
	height:calc(6 * var(--unit));
	background:var(--water1);
	aspect-ratio: 1/cos(30deg);
	clip-path: polygon(0 0, 100% 0, 0 100%);
}
@media screen and (max-width: 1400px){
	body > main > header{ background-position:calc(6 * var(--unit)) top; }
	#pagename{ padding:20px 60px; }
}
@media screen and (max-width: 1200px){
	body > main > header{ --unit:6vw; }
	#pagename{ padding:20px 40px; }
	#pagename > h1{ font-size:var(--xxl); }
	#pagename > p{ font-size:var(--l); }
	#pagename_triangle > div{ padding:20px var(--gap); }
}
@media screen and (max-width: 768px){
	body > main > header{ --unit:45px; }
	#pagename{ padding:20px; }
}
@media screen and (max-width: 450px){
	body > main > header{ --unit:9vw; }
}

/* ページャー */
#pager > ul{
	text-align:center;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	justify-content:center;
	padding:0 var(--gap);
}
#pager > ul > li > *{
	border:1px solid var(--black);
	padding:15px;
	font-weight:bold;
	display:block;
}
#pager > ul > li > span{
	color:var(--black3);
	border-color:var(--black3);
}
#pager > ul > li > a:hover{
	background:var(--main);
	color:white;
}

/**
 * スポット：TOP
----------------------------------------------------------------*/
#spot_index_mvis{
	background:rgba(22,70,166,0.3);
	height:768px;
	color:white;
	position:relative;
}
#spot_index_mvis > .video{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:0;
	z-index:-1;
	overflow:hidden;
	background:var(--jetblack);
}
#spot_index_mvis > .video > video{
	width:100vw;
	aspect-ratio:16 / 9;
}
#spot_index_mvis > div{
	display:flex;
	flex-direction:column;
	justify-content:center;
	height:100%;
}
#spot_index_mvis > .base > header > p{
	font-size:var(--xxl);
	font-weight:bold;
	text-align:left;
}
#spot_index_mvis > .base > header > h2{
	font-size:var(--xxxl);
	line-height:1.4;
	font-weight:bold;
	margin-bottom:20px;
}
@media screen and (max-width: 1365px){
	#spot_index_mvis{
		height:auto;
		aspect-ratio:16 / 9;
	}
}
@media screen and (max-width: 768px){
	#spot_index_mvis{
		--h:100vw;
		min-height:var(--h);
		aspect-ratio:unset;
		overflow:hidden;
	}
	#spot_index_mvis > .video > video{
		--w:var(--h) / 9 * 16;
		display:block;
		width:auto;
		height:var(--h);
		position:absolute;
		top:0;
		bottom:0;
		margin:0 auto;
		left:calc((var(--w) - 100vw) / 2 * -1);
	}
	#spot_index_mvis > div{
		justify-content:flex-start;
		padding-top:80px;
	}
}
@media screen and (max-width: 512px){
	#spot_index_mvis{ --h:150vw; }
	#spot_index_mvis > .base > header > h2{ font-size:8vw; }
	#spot_index_mvis > .base > header > p{ font-size:var(--l); }
}
/*
<section id="spot_index_mvis">
	<div class="base -wide -alone">
		<header>
			<p>VARIOUS LINEUP NISHIGAKI</p>
			<h2>
				「大手でダメだったから
				西垣に聞いてみた。」
			</h2>
		</header>
		<p>
			広範囲に渡る製品群から様々な用途・ご要望に応じたポンプをご提案。<br />
			多岐に渡るオプションを組み合わせ、御社に最適なカスタムポンプを製作致します。<br />
			迅速な選定・見積もりで意思決定をサポートする、<br class="pc" />総合ポンプソリューションなら西垣ポンプ。
		</p>
	</div>
*/

#spot_index_topics > div{
	padding:20px var(--gap);
	color:white;
	font-family:var(--gothic);
	display:flex;
	gap:20px;
	justify-content:center;
}
#spot_index_topics > div > h2{
	font-weight:bold;
	font-size:var(--l);
	width:120px;
	padding-right:30px;
}
#spot_index_topics > div > ul{ padding-right:30px; }
#spot_index_topics > div > ul > li > a:hover{ color:var(--yellow); }
#spot_index_topics > div > ul > li > a > span{
	width:140px;
	display:inline-block;
	padding-right:10px;
}
#spot_index_topics > div > div > a{
	border:1px solid white;
	border-radius:2em;
	padding:10px var(--gap-half);
	font-weight:bold;
	width:240px;
	display:inline-block;
	text-align:center;
}
#spot_index_topics > div > div > a:hover{
	background:white;
	color:var(--sub);
}
@media screen and (max-width: 1200px){
	#spot_index_topics > div{
		flex-direction:column;
		gap:0;
	}
	#spot_index_topics > div > ul{ padding-right:0; }
	#spot_index_topics > div > ul > li{ overflow:hidden; }
	#spot_index_topics > div > ul > li > a{
		overflow:hidden;
		text-overflow:ellipsis;
		white-space:nowrap;
		width:auto;
	}
	#spot_index_topics > div > ul > li > a > span{ width:110px; }
	#spot_index_topics > div > div{
		text-align:center;
		padding-top:10px;
	}
}

#spot_index_leadvis > figure{ padding:40px 40px 0; }
#spot_index_leadvis > .flex > div{ padding:100px 0 60px 60px; }
#spot_index_leadvis > .flex > div > h3{
	font-size:2vw;
	font-weight:bold;
	line-height:1.4;
	margin-bottom:20px;
}
#spot_index_leadvis > .flex > figure{ padding-bottom:var(--gap-double);}
@media screen and (max-width: 1200px){
	#spot_index_leadvis > .flex > figure{ padding-bottom:100px; }
	#spot_index_leadvis > .flex > div{ padding:60px 0 var(--gap) var(--gap); }
}
@media screen and (max-width: 960px){
	#spot_index_leadvis > .flex > div{ padding:0 var(--gap); }
	#spot_index_leadvis > .flex > div > h3{ font-size:4.3vw; }
}

#spot_index_products > header{
	position:relative;
	padding-bottom:0;
}
#spot_index_products > header > .h2{
	margin:-80px 0 0;
	align-items:start;
	text-align:left;
}
#spot_index_products > header > .h2 > p{ line-height:1; }
#spot_index_products > header > .h2 > h2{ line-height:1.4; }
#spot_index_products > header > a{
	display:block;
	width:200px;
	background:var(--main);
	color:white;
	font-family:var(--gothic);
	text-align:center;
	padding:5px 10px;
	font-size:var(--m);
	font-weight:bold;
	position:absolute;
	right:var(--gap);
	bottom:0;
}
#spot_index_products > header > a:hover{ background:var(--sub);}
@media screen and (max-width: 960px){
	#spot_index_products > header > .h2{
		margin-top:-7vw;
		padding-bottom:20px;
	}
}
@media screen and (max-width: 512px){
	#spot_index_products > header > a{
		position:static;
		width:auto;
	}
}

#spot_index_strength > header{
	margin:0;
	align-items:start;
}
#spot_index_strength > header > h2{
	color:white;
	text-align:left;
}
#spot_index_strength > header > p{
	color:white;
	line-height:1;
	text-align:left;
}

#spot_index_factory > figure{ padding:40px 40px 0; }
#spot_index_factory > .flex > div{ padding:60px 60px 60px 0; }
#spot_index_factory > .flex > div > h3{
	font-size:2vw;
	font-weight:bold;
	line-height:1.4;
	margin-bottom:20px;
}
#spot_index_factory > .flex > figure{ padding-bottom:var(--gap-double);}
@media screen and (max-width: 1200px){
	#spot_index_factory > .flex > figure{ padding-bottom:100px; }
	#spot_index_factory > .flex > div{ padding:var(--gap) var(--gap) var(--gap) 0; }
}
@media screen and (max-width: 960px){
	#spot_index_factory > .flex > div{ padding:80px var(--gap) 40px; }
	#spot_index_factory > .flex > div > h3{ font-size:6vw; }
	#spot_index_factory > .flex > figure{ padding-bottom:40px; }
}

#spot_index_factory_process{ --gap:20px; }
#spot_index_factory_process > section > a{
	display:block;
	position:relative;
	border:3px solid var(--main);
}
#spot_index_factory_process > section > a:hover{ border-color:var(--red); }
#spot_index_factory_process > section > a > h4{
	position:absolute;
	height:46px;
	line-height:40px;
	padding:3px 10px;
	top:-16.5px;
	background:var(--main);
	color:white;
	font-family:var(--gothic);
	text-align:center;
	font-weight:bold;
	max-width:180px;
	width:80%;
	left:0;
	right:0;
	margin:0 auto;
	font-size:var(--m);
	vertical-align:middle;
	z-index:1;
}
#spot_index_factory_process > section > a:hover > h4{ background:var(--red); }
#spot_index_factory_process > section > a:hover > img{ opacity:.7; }
@media screen and (max-width: 1200px){
	#spot_index_factory_process > section > a > h4{
		font-size:var(--s);
		height:30px;
		line-height:30px;
		padding:0 5px;
		top:-15px;
	}
}

#spot_index_recruit > figure{ padding:40px 40px 0; }
#spot_index_recruit > .flex > div{ padding:60px 60px 60px 0; }
#spot_index_recruit > .flex > div > h3{
	font-size:2vw;
	font-weight:bold;
	line-height:1.4;
	margin-bottom:20px;
}
#spot_index_recruit > .flex > figure{ padding-bottom:var(--gap-double);}
@media screen and (max-width: 1200px){
	#spot_index_recruit > .flex > figure{ padding-bottom:100px; }
	#spot_index_recruit > .flex > div{ padding:var(--gap) var(--gap) var(--gap) 0; }
}
@media screen and (max-width: 960px){
	#spot_index_recruit > .flex > div{ padding:0 var(--gap); }
	#spot_index_recruit > .flex > div > h3{ font-size:7vw; }
}

#spot_index_faqs > .base > .bg{ margin:0 var(--gap); }
#spot_index_faqs .flex{ gap:20px; }
#spot_index_faqs .flex > a{
	position:relative;
	line-height:60px;
	padding:0 10px 0 70px;
	font-weight:bold;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	display:block;
}
#spot_index_faqs .flex > a:hover{
	background:var(--water1);
	border-radius:30px;
}
#spot_index_faqs .flex > a::before{
	position:absolute;
	left:0;
	top:0;
	background:var(--main);
	color:white;
	content:'Q';
	text-align:center;
	width:60px;
	height:60px;
	line-height:60px;
	border-radius:50%;
}

#spot_index_company_company{
	background:white;
	margin-right:60px;
	color:var(--black);
}
#spot_index_company_company > :first-child{ padding:var(--gap) 0 var(--gap) var(--gap); }
#spot_index_company_company > :first-child > h3{
	font-size:2vw;
	font-weight:bold;
	line-height:1.4;
	margin-bottom:20px;
}
#spot_index_company_company > :last-child{
	position:relative;
	top:-100px;
	right:-60px;
	margin-bottom:-80px;
}
#spot_index_company_company > :last-child > h3{
	font-size:var(--xxxl);
	font-weight:bold;
	padding-top:10px;
}
@media screen and (max-width: 1200px){
	#spot_index_company_company{ margin-right:40px; }
	#spot_index_company_company > :last-child{ right:-40px; }
	#spot_index_company_company > :last-child > h3{ font-size:var(--xxl); }
}
@media screen and (max-width: 960px){
	#spot_index_company_company > :first-child > h3{ font-size:6vw; }
	#spot_index_company_company > :first-child{ padding:var(--gap); }
	#spot_index_company_company > :last-child{
		top:0;
		margin-bottom:0;
		margin-left:auto;
		max-width:768px;
	}
	#spot_index_company_company > :last-child > h3{ padding-bottom:var(--gap); }
}
@media screen and (max-width: 768px){
	#spot_index_company_company{ margin-right:20px; }
	#spot_index_company_company > :last-child{ right:-20px; }
}

#spot_company_qadivision{
	background:white;
	padding:20px 40px 20px var(--gap);
	width:fit-content;
	margin-left:auto;
}
#spot_company_qadivision > h3{
	font-size:var(--xxl);
	font-weight:bold;
	padding-top:10px;
	text-align:right;
	color:var(--black);
}
@media screen and (max-width: 768px){
	#spot_company_qadivision{
		width:auto;
		margin-left:20px;
		padding-right:var(--gap);
	}
	#spot_company_qadivision > h3{ font-size:4vw; }
}

#spot_company_profile > .base > .table > table table{
	margin:-5px -10px;
	width:calc(100% + 20px);
}
#spot_company_profile > .base > .table > table table tr > *{ border:none; }
#spot_company_profile > .base > .table > table table tr > th{
	width:120px;
	font-weight:normal;
}
#spot_company_profile > .base > .table > table table tr > th{ font-weight:bold; }

/**
 * スポット：拠点一覧
----------------------------------------------------------------*/
#spot_locations.flex{ --gap:20px; }
@media screen and (max-width: 512px){
	#spot_locations.flex{ --gap:10px; }
}

/**
 * スポット：採用情報 > 先輩社員インタビュー
----------------------------------------------------------------*/
#spot_recruit_interviews{ padding:40px 0; }
#spot_recruit_interviews > section{ padding:40px 0; }
#spot_recruit_interviews > section > figure > img{
	max-width:none;
	width:100%;
}
#spot_recruit_interviews > section:nth-child(odd) > div{ padding-right:var(--gap); }
#spot_recruit_interviews > section:nth-child(even) > div{ padding-left:var(--gap); }
#spot_recruit_interviews > section > div > header{ margin-bottom:20px; }
#spot_recruit_interviews > section > div > header > h3{
	font-size:var(--xl);
	line-height:1.4;
	color:var(--main);
	font-weight:bold;
}
#spot_recruit_interviews > section > div > header > h2{
	font-size:var(--xxxl);
	line-height:1.4;
	font-weight:bold;
}
#spot_recruit_interviews > section > div > header > p{
	color:var(--main);
	font-family:var(--mincho);
	line-height:1.4;
	letter-spacing:0;
}
#spot_recruit_interviews > section > div > p{ letter-spacing:0; }
@media screen and (max-width: 960px){
	#spot_recruit_interviews > section{
		gap:20px;
		padding:30px 20px;
	}
	#spot_recruit_interviews > section:nth-child(odd) > div{ padding-right:0; }
	#spot_recruit_interviews > section:nth-child(even) > div{ padding-left:0; }
}
@media screen and (max-width: 512px){
	#spot_recruit_interviews > section{ padding:30px 0; }
	#spot_recruit_interviews > section:nth-child(n) > div{ padding:0 20px; }
}

/**
 * スポット：職種
----------------------------------------------------------------*/
#spot_job > header{ position:relative; }
#spot_job > header > :last-child{
	text-align:right;
	font-weight:bold;
	font-size:var(--xxxl);
	padding:var(--gap);
	position:absolute;
	bottom:0;
	right:0;
	left:0;
	line-height:1.4;
	text-shadow:0 0 2px white, 0 0 4px white, 0 0 8px white, 0 0 12px white;
}
#spot_job > header > .wideflex{ margin-top:0; }
#spot_job > header > :last-child > small{
	display:block;
	color:var(--main);
	font-size:var(--xl);
	line-height:1.4;
}
#spot_job_cont > figure > div{ margin-right:var(--gap); }
#spot_job_cont > figure img{ border:1px solid white; }
#spot_job_cont > .content ul > li{ font-family:var(--gothic); }
#spot_job_description > .base{
	font-size:var(--xxl);
	font-weight:bold;
	text-align:center;
	margin-bottom:var(--gap);
}
#spot_job_description > .base > h3{ margin-bottom:20px; }
#spot_job_description > .base > h3 + ul > li{ font-size:80%; }
#spot_job_description > .base > ul > li > p{
	font-family:var(--mincho);
	font-size:var(--m);
	text-align:center;
	letter-spacing:0;
	font-weight:normal;
	margin-bottom:20px;
}
#spot_job_wanted{
	color:white;
	font-size:var(--xl);
	font-weight:bold;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding-bottom:40px;
}
#spot_job_atmosphere > .base > p{
	font-family:var(--mincho);
	font-size:var(--xl);
	font-weight:bold;
	text-align:center;
	letter-spacing:0;
}
@media screen and (max-width: 960px){
	#spot_job > header > .wideflex{ gap:0; }
	#spot_job_cont > figure > div{ margin-right:0; }
	#spot_job_description > .base{ text-align:left; }
	#spot_job_description > .base > ul > li > p{ text-align:justify; }
	#spot_job_atmosphere > .base > p{ font-size:var(--l); }
}
@media screen and (max-width: 768px){
	#spot_job_description > .base{ font-size:var(--l); }
	#spot_job_wanted{ font-size:var(--l); }
}

/**
 * スポット：お問い合わせ > デモ機貸出
----------------------------------------------------------------*/
#spot_demo{ background:url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/article/contact/demo/bg_water.png) scroll no-repeat center top; }
#spot_demo > section:first-child > h2{
	margin:20px 0;
	padding:0 var(--gap);
	text-align:center;
}
#spot_demo > section:first-child > .summary{
	padding-top:0;
	padding-bottom:0;
}
@media screen and (max-width: 1200px){
	#spot_demo > section:first-child > h2{ font-size:var(--xxl); }
}
@media screen and (max-width: 960px){
	#spot_demo{ background-image:url(https://www.nishigaki-p.co.jp/wp-content/themes/nishigakipump/images/article/contact/demo/bg_water_sp.png); }
	#spot_demo > section:first-child > h2{ text-align:left; }
	#spot_demo > section:first-child > .summary > br{ display:none; }
}

/**
 * スポット：採用情報
----------------------------------------------------------------*/
#recruit_benefits > section{
	background:white;
	width:calc(50% + 600px - var(--gap));
	margin:0 0 0 auto;
	min-height:480px;
	position:relative;
	color:var(--black);
}
#recruit_benefits > section > div{
	width:calc(1200px - var(--gap) * 2);
	padding-top:40px;
}
#recruit_benefits > section > div > div{ padding:0 0 40px 280px; }
#recruit_benefits > section > div > div > figure{
	position:absolute;
	width:600px;
	top:40px;
	bottom:40px;
	margin:auto 0;
	display:flex;
	flex-direction:column;
	justify-content:center;
	left:calc(-600px + 280px - 40px);
}
#recruit_benefits > .base > section{
	background:white;
	margin-top:60px;
	position:relative;
	padding-top:20px;
	padding-bottom:1px;
	color:var(--black);
}
#recruit_benefits h3{
	background:var(--jetblack);
	color:white;
	font-size:var(--xl);
	font-weight:bold;
	margin:0 auto;
	width:200px;
	text-align:center;
	padding:0 20px;
	position:absolute;
	top:-20px;
	left:0;
	right:0;
}
#recruit_benefits > .base > section > .flex > section{
	display:flex;
	gap:10px;
}
#recruit_benefits > .base > section > .flex > section > figure{ flex-basis:120px; }
#recruit_benefits > .base > section > .flex > section > div{ flex-basis:100%; }
#recruit_benefits > .base > section > .flex > section > div > h4{
	font-weight:bold;
	font-size:var(--l);
	color:var(--main);
}
@media screen and (max-width: 1940px){
	#recruit_benefits > section{
		background:white;
		width:auto;
		margin:0 var(--gap);
	}
	#recruit_benefits > section > div{
		width:auto;
		padding:0;
	}
	#recruit_benefits > section > div > div{
		padding:60px var(--gap) 40px var(--gap);
		display:flex;
		gap:var(--gap);
	}
	#recruit_benefits > section > div > div > figure{
		position:static;
		margin:0;
		display:block;
	}
	#recruit_benefits > section > div > div > div > .h3{
		font-size:var(--xxl);
		margin:10px 0;
	}
}
@media screen and (max-width: 1200px){
	#recruit_benefits > section{ margin-top:40px; }
	#recruit_benefits > section > div > div{
		flex-direction:column;
		gap:10px;
	}
	#recruit_benefits > section > div > div > figure{ width:100%; }
}
@media screen and (max-width: 768px){
	#recruit_benefits h3{
		font-size:var(--l);
		width:fit-content;
	}
}

/**
 * スポット：生産体制
----------------------------------------------------------------*/
#spot_process_mvis{ position:relative; }
#spot_process_mvis > figure > img{
	width:960px;
	margin-right:0;
}
#spot_process_mvis > div{
	margin:20px 40px;
	padding:20px;
	background:rgba(255,255,255,.8);
	position:absolute;
	bottom:0;
	right:0;
	width:880px;
}
#spot_process_mvis > div > header > h2{
	font-size:80px;
	font-weight:bold;
	line-height:1.4;
}
#spot_process_mvis > div > header > p{
	font-size:var(--xl);
	font-weight:bold;
	color:var(--main);
	margin-bottom:20px;
	font-family:var(--mincho);
	line-height:1.4;
}
@media screen and (max-width: 1400px){
	#spot_process_mvis > div{ margin:20px; }
	#spot_process_mvis > div > header > h2{ font-size:var(--xxxl); }
	#spot_process_mvis > div{ width:70%; }
}
@media screen and (max-width: 960px){
	#spot_process_mvis > div{
		position:static;
		width:auto;
		margin:var(--gap);
		padding:0;
	}
}

/**
 * 西垣ポンプの強み
----------------------------------------------------------------*/
#spot_strength{
	counter-reset:count;
	position:relative;
	overflow:hidden;
}
#spot_strength::after{
	width:100vw;
	height:100vw;
	height:1920px;
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto 0;
	background:var(--sub1);
	transform:skewY(-45deg);
	z-index:-1;
}
#spot_strength .lpadding{ padding-left:40px; }
#spot_strength .rpadding{ padding-right:40px; }
#spot_strength .lrpadding{
	padding-left:var(--gap);
	padding-right:var(--gap);
}
#spot_strength .tminmargin{ margin-top:-200px; }
#spot_strength > div > section{
	position:relative;
	counter-increment:count;
}
#spot_strength > div > section header::before{
	content:counter(count, decimal-leading-zero);
	font-size:200px;
	font-weight:bold;
	line-height:1;
	color:var(--main);
}
#spot_strength > div > section:not(:first-child){ padding-top:200px; }
#spot_strength > div > section:first-child header{ padding-top:60px; }
#spot_strength > div > section:not(:first-child) header::before{
	position:absolute;
	top:-200px;
}
#spot_strength > div > section header > h2{
	font-size:50px;
	font-weight:bold;
	line-height:1.4;
	color:var(--jetblack);
	margin-bottom:20px;
}
#spot_strength > div > section header > figure{
	max-width:512px;
	margin-top:20px;
}
#spot_strength > div > section header > p{ font-size:var(--m); }
#spot_strength > div > section figure > img{
	width:100%;
	max-width:none;
}
#spot_strength > div > section section figure > img{
	max-width:512px;
	margin:0 0 20px;
}
#spot_strength > div > section section > div{ max-width:768px; }
#spot_strength > div > section section > div > figure{}
#spot_strength > div > section section > div > h3{
	font-size:var(--xl);
	font-weight:bold;
	line-height:1.4;
	margin-bottom:10px;
}
#spot_strength > div > section .secs > section{
	display:flex;
	gap:20px;
	max-width:none;
}
#spot_strength > div > section .secs > section > figure{ flex-basis:384px; }
#spot_strength > div > section .secs > section > div{ flex-basis:100%; }
#spot_strength > div > section .secs > section > div > h3{
	font-size:var(--l);
	font-weight:bold;
	line-height:1.4;
	margin-bottom:10px;
}
@media screen and (max-width: 1920px){
	#spot_strength .tminmargin{ margin-top:-8vw; }
	#spot_strength > div > section header > h2{ font-size:2.8vw; }
	#spot_strength > div > section header::before{ font-size:8vw; }
	#spot_strength > div > section:not(:first-child){ padding-top:8vw; }
	#spot_strength > div > section:not(:first-child) header::before{ top:-8vw; }
}
@media screen and (max-width: 1380px){
	#spot_strength .tminmargin{ margin-top:0; }
	#spot_strength .rpadding{ padding-right:0; }
	#spot_strength > div > section:not(:first-child){ padding-top:0; }
	#spot_strength > div > section:not(:first-child) header::before{ position:static; }
	#spot_strength > div > section header::before{ font-size:12vw; }
	#spot_strength > div > section header > h2{ font-size:5.5vw; }
	#spot_strength > div > section > .flex{ --split:1; --units:1; }
	#spot_strength > div > section:first-child .t{ margin-top:0 !important; }
	#spot_strength > div > section:first-child > .flex > :nth-child(2){ padding:var(--gap); }
	#spot_strength > div > section:first-child > .flex > :nth-child(2) > figure{ display:none; }
	#spot_strength > div > section section figure > img{
		max-width:100%;
		margin:0 auto 20px;
	}
	#spot_strength > div > section section > div{ max-width:none; }
	#spot_strength > div > section section > div{
		margin:0 auto;
		max-width:960px;
		padding:var(--gap);
		border:1px solid var(--gray);
		background:white;
	}
	#spot_strength > div > section .secs > section{ margin-bottom:var(--gap); }
	#spot_strength > div > section .secs > section > div{
		border:none;
		padding:0;
		max-width:none;
		background:none;
	}
}
@media screen and (max-width: 1100px){
	#spot_strength .lpadding{ padding-left:0; }
}

/**
 * 沿革
----------------------------------------------------------------*/
#spot_history > section{ position:relative; }
#spot_history > section:not(:last-of-type){ border-bottom:3px dashed var(--main2); }
#spot_history > section > h2{
	font-size:100px;
	color:var(--main1);
	font-weight:bold;
	position:absolute;
	top:0;
	left:0;
	right:0;
}
#spot_history > section > p{
	position:relative;
	z-index:1;
	font-size:var(--l);
	padding:110px 0 20px 120px;
	min-height:100px;
	font-weight:bold;
	font-family:var(--mincho);
}
@media screen and (max-width: 768px){
	#spot_history > section > h2{ font-size:60px; }
	#spot_history > section > p{
		min-height:60px;
		padding:60px 0 20px 0;
	}
}

/**
 * 英語ページ
----------------------------------------------------------------*/
#spot_english{
	letter-spacing:0;
	word-spacing:normal;
	overflow-wrap:break;
}

/**
 * 検索フォーム
----------------------------------------------------------------*/
.searchform{ font-family:var(--gothic); }
.searchform > div{
	display:flex;
	flex-wrap:wrap;
	gap:20px;
	justify-content:center;
}
.searchform > div > fieldset > legend{
	font-size:var(--xs);
	background:var(--black);
	color:white;
	display:inline-block;
	padding:2px 10px;
	margin-left:22px;
	font-weight:bold;
	position:relative;
	z-index:1;
	line-height:1.4;
}
.searchform > div > fieldset > div{
	display:flex;
	margin-top:-1px;
	align-items:stretch;
}
.searchform > div > fieldset > div > label{
	display:block;
	overflow:hidden;
}
.searchform:not(.-noline) > div > fieldset > div > label{
	border-top:1px solid var(--black3);
	border-bottom:1px solid var(--black3);
	border-left:1px solid var(--black3);
}
.searchform.-noline > div > fieldset > div > label:not(:first-child){ border-left:1px solid var(--black3); }
.searchform > div > fieldset > div > label:first-child{ border-radius:25px 0 0 25px; }
.searchform > div > fieldset > div > label:last-child{ border-radius:0 25px 25px 0; }
.searchform:not(.-noline) > div > fieldset > div > label:last-child{ border-right:1px solid var(--black3); }
.searchform > div > fieldset > div > label > [type="radio"]{ display:none; }
.searchform > div > fieldset > div > label > span{
	line-height:30px;
	display:block;
	padding:9px;
	font-weight:bold;
	position:relative;
	box-sizing:border-box;
	cursor:pointer;
	text-align:center;
	height:100%;
	background:white;
}
.searchform > div > fieldset > div > label:first-child > span{ padding-left:20px; }
.searchform > div > fieldset > div > label:last-child > span{ padding-right:20px; }
.searchform > div > fieldset > div > label > [type="radio"]:checked + span{
	background:var(--main);
	color:white;
}
.searchform > div > fieldset > div > label:hover > [type="radio"] + span{ background:var(--main1); }
.searchform > div > fieldset > div > label:hover > [type="radio"]:checked + span{ background:var(--red); }
.searchform > div > fieldset > div > label > span > img{
	display:inline-block;
	width:30px;
	height:30px;
	max-width:none;
}
.searchform > .submit{
	display:flex;
	justify-content:center;
	gap:20px;
	margin:40px 0;
}
.searchform > .submit > input[type="submit"]{
	border:1px solid var(--main);
	padding:15px 20px;
	width:300px;
	border-radius:2em;
	font-weight:bold;
	color:var(--main);
	text-align:center;
	letter-spacing;.1em;
}
.searchform > .submit > input[type="submit"]:hover{
	background:var(--main);
	color:white;
}
.searchform > .submit > div{
	width:300px;
	position:relative;
}
.searchform > .submit > div > input[type="text"]{
	line-height:30px;
	display:block;
	padding:15px 5px;
	font-weight:bold;
	position:relative;
	box-sizing:border-box;
	cursor:pointer;
	text-align:center;
	height:100%;
	background:white;
	border:1px solid var(--main);
	border-radius:30px;
	width:100%;
	font-size:16px;
}
.searchform > .submit > div > input[type="text"]:hover{ background:var(--black1); }
.searchform > .submit > div > input[type="text"]::placeholder{ color:var(--black2); }
.searchform > .submit > div > input[type="text"]:focus{ outline:none; }
.searchform > .submit > div > input[type="text"]:focus::placeholder{ color:transparent; }
.searchform > .submit > div > ul{
	position:absolute;
	top:100%;
	left:0;
	right:0;
	margin:0 auto;
	width:200px;
	z-index:500;
	box-shadow:0 0 10px rgba(0,0,0,.1);
	overflow-y:scroll;
	height:0;
	transition:height 1s;
}
.searchform > .submit > div > input[type="text"]:focus + ul{ height:300px; }
.searchform > .submit > div > ul > li > a{
	display:block;
	border:1px solid var(--black3);
	padding:8px;
	background:white;
	font-size:var(--xs);
}
.searchform > .submit > div > ul > li > a:hover{
	background:var(--main);
	color:white;
}
.searchform > .submit > div > ul > li:not(:last-child) > a{ border-bottom:none; }
@media screen and (max-width: 1200px){
	.searchform > div{ gap:10px; }
	.searchform > div > fieldset > legend{
		padding:0 5px;
		margin-left:17px;
	}
	.searchform > div > fieldset:nth-child(odd){ flex-basis:calc(50% - 10px); }
	.searchform > div > fieldset:nth-child(even){ flex-basis:calc(50% - 10px); }
	.searchform > div > fieldset > div{
		width:100%;
		justify-content:stretch;
	}
	.searchform > div > fieldset > div > label{ flex-basis:100%; }
	.searchform > div > fieldset > div > label:first-child{ border-radius:25px 0 0 25px; }
	.searchform > div > fieldset > div > label:last-child{ border-radius:0 25px 25px 0; }
	.searchform > div > fieldset > div > label:first-child > span{ padding-left:10px; }
	.searchform > div > fieldset > div > label:last-child > span{ padding-right:10px; }
	.searchform > div > fieldset > div > label > span{
		padding:9px 4px;
		line-height:1.4;
		display:flex;
		flex-direction:column;
		justify-content:center;
		align-items:center;
	}
	.searchform > div > fieldset > div > label > span > img,
	.searchform > div > fieldset > div > label > span > span{ display:none; }
}
@media screen and (max-width: 1024px){
	.searchform > div > fieldset:nth-child(odd){ flex-basis:calc(32% - 10px); }
	.searchform > div > fieldset:nth-child(even){ flex-basis:calc(68% - 10px); }
}
@media screen and (max-width: 650px){
	.searchform > div > fieldset:nth-child(n){ flex-basis:100%; }
}

/**
 * 製品一覧
----------------------------------------------------------------*/
/* 製品テーブル */
#producttable > table,
#producttable > table > tbody,
#producttable > table > tbody > tr,
#producttable > table > tbody > tr > *{ height:100%; }
#producttable > table > thead > tr > *,
#producttable > table > tfoot > tr > *{ text-align:center;}
#producttable > table > tbody > tr > *{ background:white; }
#producttable > table a{
	display:block;
	margin:-5px -10px;
	padding:5px 10px;
	color:var(--black);
	height:calc(100% + 10px);
}
#producttable > table a:hover,
#producttable > table .hover a{ background:var(--sub1); }
@media screen and (max-width: 960px){
	#producttable > table > tbody > tr > * > a > span{ display:none; }
}
@media screen and (max-width: 768px){
	#producttable > table > * tr > *:nth-child(1){ min-width:150px; }
	#producttable > table > * tr > *:nth-child(2){ min-width:55px; }
	#producttable > table > * tr > *:nth-child(3){ min-width:70px; }
	#producttable > table > * tr > *:nth-child(4){ min-width:90px; }
	#producttable > table > * tr > *:nth-child(5){ min-width:175px; }
	#producttable > table > * tr > *:nth-child(6){ min-width:55px; }
	#producttable > table > * tr > *:nth-child(7){ min-width:55px; }
}

/* 製品グリッド */
#productgrid{
	display:flex;
	flex-wrap:wrap;
	--gap:20px;
	--split:5;
	gap:var(--gap);
}
#productgrid > section{ flex-basis:calc((100% - var(--gap) * (var(--split) - 1)) / var(--split)); }
@media screen and (max-width: 1536px){
	#productgrid{ --split:4; }
}
@media screen and (max-width: 1200px){
	#productgrid{ --split:3; }
}
@media screen and (max-width: 860px){
	#productgrid{ --split:2; }
}
@media screen and (max-width: 512px){
	#productgrid{
		--gap:40px;
		--split:1;
	}
}
#productgrid > section > a{
	display:block;
	padding:15px;
	height:100%;
	overflow:hidden;
	position:relative;
	border-radius:15px;
}
#productgrid > section > a > *{
	position:relative;
	z-index:1;
}
#productgrid > section > a:hover{
	box-shadow:0 0 10px 5px rgba(0,0,0,.1);
	background:var(--sub1);
}
#productgrid > section > a > figure{
	overflow:hidden;
	border-radius:7px;
}
#productgrid > section > a > header{
	height:45px;
	margin:10px 0 5px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
#productgrid > section > a > header > p{
	font-size:var(--xs);
	line-height:1.3;
	color:var(--main);
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	margin-bottom:3px;
}
#productgrid > section > a > header > h3{
	font-size:var(--m);
	font-weight:bold;
	line-height:1.3;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
#productgrid > section > a:hover > header > h3{ color:var(--main); }
#productgrid > section > a > p{
	font-size:var(--xs);
	overflow:hidden;
	display:-webkit-box;
	text-overflow:ellipsis;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:3;
	letter-spacing:0;
}
@media screen and (max-width: 1024px){
	#productgrid > section{ width:256px; }
}
#productgrid > section.morecard > a{
	background:var(--main);
	color:white;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	font-size:var(--l);
	font-weight:bold;
	font-family:var(--gothic);
	color:white;
	text-align:center;
	line-height:1.4;
}
#productgrid > section.morecard > a:hover{ background:var(--red); }
#productgrid > section.morecard > a::after{ content:none; }

/**
 * 製品個別ページ
----------------------------------------------------------------*/
/* 製品ヘッダ */
.product_header > header > *{ text-align:center; }
.product_header.-left > header > *{ text-align:left; }
.product_header > header > p{
	font-size:var(--xxl);
	font-weight:bold;
	color:var(--jetblack);
	font-family:var(--mincho);
	margin-bottom:10px;
	line-height:1.4;
}
.product_header > header > h3{
	font-size:var(--xl);
	line-height:1.4;
	font-weight:bold;
	color:var(--main);
}
.product_header > header > h2{
	font-size:100px;
	line-height:1.2;
	font-weight:bold;
	color:var(--jetblack);
}
.product_header > header > h2 > small{ font-size:var(--xxxl);}
@media screen and (max-width: 1200px){
	.product_header > header > h2{ font-size:10vw; }
	.product_header > header > h2 > small{ font-size:6vw;}
}

/* タグ */
.ptags{
	text-align:center;
	padding:0 10px 10px;
}
.ptags > li{ display:inline-block; }
.ptags > li{
	display:inline-block;
	padding:0 .5em;
	border-radius:2em;
	background:var(--gray);
	color:white;
	font-weight:bold;
	font-family:var(--gothic);
	font-size:var(--xxs);
	margin:2px 0;
}
.ptags > li.ptags_materials{ background:#0071ae; }
.ptags > li.ptags_poles{ background:#80b83f; }
.ptags > li.ptags_category{ background:#90005d; }
.ptags > li.ptags_impeller{ background:#e9851e; }
.ptags > li.ptags_materials > a:hover{ background:#3985ae; }
.ptags > li.ptags_poles > a:hover{ background:#adc78f; }
.ptags > li.ptags_category > a:hover{ background:#b06797; }
.ptags > li.ptags_impeller > a:hover{ background:#e9a661; }
/*
.ptags > li.ptags_direction{ background:#54d3e6; }
.ptags > li.ptags_seal{ background:#736357; }
.ptags > li.ptags_direction > a:hover{ background:#54d3e6; }
.ptags > li.ptags_seal > a:hover{ background:#85786f; }
*/
.ptags > li > a{
	display:inline-block;
	margin:0 -.25em;
	padding:0 1em;
	font-size:var(--m);
	border-radius:2em;
}

/* 用途 */
.usages{ --gap:20px; }
.usages > li{
	background:var(--silver);
	padding:10px;
	aspect-ratio:1/1;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.usages > li > p{
	font-family:var(--mincho);
	text-align:center;
	font-size:var(--m);
	font-weight:bold;
	padding-top:1em;
}
@media screen and (max-width: 1200px){
	.usages.flex.--5{ --split:4; }
}
@media screen and (max-width: 768px){
	.usages.flex.--5{
		--gap:10px;
		--split:3;
	}
	.usages.flex.--5 > li > p{
		letter-spacing:0;
		font-size:var(--xs);
	}
}
@media screen and (max-width: 512px){
	.usages.flex.--5{ --gap:2px; }
	.usages.flex.--5 > li{ padding:5px; }
	.usages.flex.--5 > li > img{ width:10vw; }
	.usages.flex.--5 > li > p{ font-size:var(--xxs); }
}

/* 付属品 */
.accs{ --gap:20px; }
.accs > li{
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.accs > li > p{
	font-family:var(--mincho);
	text-align:center;
	font-size:var(--m);
	padding-top:1em;
}
@media screen and (max-width: 1200px){
	.accs.flex.--5{ --split:4; }
}
@media screen and (max-width: 768px){
	.accs.flex.--5{
		--gap:10px;
		--split:3;
	}
	.accs.flex.--5 > li > p{
		letter-spacing:0;
		font-size:var(--xs);
	}
}
@media screen and (max-width: 512px){
	.accs.flex.--5{
		--gap:2px;
		--split:2;
	}
	.accs.flex.--5 > li{ padding:5px; }
	.accs.flex.--5 > li > p{ font-size:var(--xxs); }
}

/**
 * フォーム
----------------------------------------------------------------*/
/* ContactForm7: RichFormスマホ対応 */
.richform legend{
	font-size:16px;
	font-weight:bold;
}
.richform [type="file"]{
	font-size:inherit;
	background:#f5f5f5;
	padding:10px;
	display:block;
	width:100%;
	box-sizing:border-box;
	border:var(--border-width) solid var(--gray);
	border-radius:var(--border-radius);
	transition:background .2s;
}
.richform [type="file"]:hover{
	background:#eee;
	border-color:var(--black);
}
.richform [type="file"]:focus{ border-color:var(--blue); }
.richform [type="text"],
.richform [type="number"],
.richform [type="search"],
.richform [type="tel"],
.richform [type="url"],
.richform [type="email"],
.richform [type="password"],
.richform [type="datetime"],
.richform [type="date"],
.richform [type="month"],
.richform [type="week"],
.richform [type="time"],
.richform [type="datetime-local"],
.richform [type="file"],
.richform textarea{ font-family:inherit; }
@media screen and (max-width: 768px){
	.richform label,
	.richform .em-wide{ width:100%; }
	.richform .em-mid{ width:calc((100% - .5em + 2px) / 2); }
	.richform .em-narrow{ width:100px; }
	.richform [type="text"],
	.richform [type="number"],
	.richform [type="search"],
	.richform [type="tel"],
	.richform [type="url"],
	.richform [type="email"],
	.richform [type="password"],
	.richform [type="datetime"],
	.richform [type="date"],
	.richform [type="month"],
	.richform [type="week"],
	.richform [type="time"],
	.richform [type="datetime-local"],
	.richform [type="file"],
	.richform textarea{ font-size:16px; }
}

/* ContactForm7: 送信ボタン */
.wpcf7-form footer{
	text-align:center;
	font-size:20px;
	margin:40px 20px;
}
.wpcf7-form footer p{ text-align:center; }
.wpcf7-form footer [type="submit"]{
	width:240px;
	padding:14px;
	font-weight:bold;
	font-family:inherit;
	letter-spacing:.1em;
}

/* ContactForm7: 上下エラー文 */
.wpcf7 form .wpcf7-response-output{
	background:steelblue;
	padding:20px;
	color:white;
	margin:10px 0;
	border:0;
}
.wpcf7 form.init .wpcf7-response-output{ display: none; }
.wpcf7 form.sent .wpcf7-response-output{
	background:steelblue;
	padding:20px;
	color:white;
	margin:10px 0;
	border:0;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{
	background:crimson;
	padding:20px;
	color:white;
	margin:10px 0;
	border:0;
}
.wpcf7 .screen-reader-response{ color:crimson; }
.wpcf7 .screen-reader-response > ul > li{ list-style:inside square; }

/* ContactForm7: 入力部品ごとのエラー文 */
.wpcf7-not-valid-tip{
	color:crimson;
	display:block;
}



/**
 * 本文
----------------------------------------------------------------*/
/* 段落 */
.content p + p{ margin-top:10px; }

/* リンク */
.content a:not(.wp-block-button__link){ color:var(--sub); }
.content a:not(.wp-block-button__link):hover{ color:var(--main); }

/* 見出し */
.content h2,
.content h3,
.content h4,
.content h5,
.content h6{
	font-weight:bold;
	margin:5px 0;
}
.content h2{
	font-size:var(--xl);
	line-height:1.4;
	color:var(--main);
	margin:10px 0;
}
.content h3{
	font-size:var(--l);
	color:var(--main);
}
.content h4{ font-size:var(--m); }
.content h5{ font-size:var(--s); }
.content h6{ font-size:var(--xs); }

/* リスト */
.content ul,
.content ol{ margin:10px 0; }
.content ul > li::before{
	content:'●';
	color:var(--main);
}
.content ol{ counter-reset:content-ol; }
.content ol > li::before{
	content:counter(content-ol)". ";
	counter-increment:content-ol;
	color:var(--sub);
	font-weight:bold;
}

/* カラム */
.wp-block-columns{ margin:40px 0; }

/* ボタン */
.wp-block-buttons{}
.wp-block-button__link{
	display:block;
	padding:var(--gap-quarter) var(--gap-half);
	background:var(--sub) !important;
	color:white;
	position:relative;
	letter-spacing:.2em;
	text-align:center;
	vertical-align:middle;
	font-size:var(--s);
	margin:20px 0;
	border-radius:3em;
	padding:var(--gap-half);
	font-family:var(--gothic);
	font-weight:bold;
}
.wp-block-button__link:hover{ background:var(--main) !important; }

/* 画像 */
.wp-block-image{ margin:20px 0; }

/* テーブル */
.wp-block-table{ padding:20px 0; }
.wp-block-table > table td{ border:none; }
.wp-block-table > table tr:first-child > td{ border-top:2px solid var(--main); }
.wp-block-table > table tr:last-child > td{ border-bottom:2px solid var(--main); }
.wp-block-table > table tr:nth-child(even) > td{ background:rgb(243,245,250); }
