/* Theme-owned replacements for the retired presentation plugins. */

/*
 * 旧テーマ inc/custom-header.php の deluxs_header_style() が、管理画面で「サイト名を表示しない」の
 * ときに head へ出していた指定。これが無いとサイト名の行がヘッダーの高さを押し広げ、
 * 位置指定の無い固定の帯（.webmeet「WEB 打ち合わせ」）が約42px下にずれる。
 */
.site-title,
.site-description {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
}

/* Styles that were embedded by the legacy contact and thanks templates. */
.page-template-page-contact-php .w350,
.page-template-page-contact .w350 {
	max-width: 100%;
	min-width: 350px;
}

/* Keep Contact Form 7's extra wrappers aligned with the legacy form. */
.page-template-page-contact-php form#mailformpro .wpcf7-form-control-wrap,
.page-template-page-contact form#mailformpro .wpcf7-form-control-wrap {
	display: inline-block;
	max-width: 100%;
	vertical-align: middle;
}

.page-template-page-contact-php form#mailformpro .wpcf7-form-control-wrap[data-name="comment"],
.page-template-page-contact form#mailformpro .wpcf7-form-control-wrap[data-name="comment"] {
	display: block;
}

/*
 * 旧 Mailform Pro は表示時に size / cols / rows から幅と高さを計算して style 属性に書き込んでいた
 * （会社名 size=60 → 360px、備考欄 cols=60 rows=10 → 360×60px）。同じ大きさを CSS で当てる。
 * w350 の min-width:350px と .mfp_element_all の max-width:100% はそのまま効く（スマホで 350px 前後）。
 */
.page-template-page-contact-php form#mailformpro input[name="company"],
.page-template-page-contact form#mailformpro input[name="company"],
.page-template-page-contact-php form#mailformpro textarea[name="comment"],
.page-template-page-contact form#mailformpro textarea[name="comment"] {
	width: 360px;
}

.page-template-page-contact-php form#mailformpro textarea[name="comment"],
.page-template-page-contact form#mailformpro textarea[name="comment"] {
	height: 60px;
}

.page-template-page-contact-php form#mailformpro input.wpcf7-not-valid,
.page-template-page-contact-php form#mailformpro textarea.wpcf7-not-valid,
.page-template-page-contact form#mailformpro input.wpcf7-not-valid,
.page-template-page-contact form#mailformpro textarea.wpcf7-not-valid {
	border-color: #c00;
}

.page-template-page-contact-php form#mailformpro dd.mfp .wpcf7-not-valid-tip,
.page-template-page-contact form#mailformpro dd.mfp .wpcf7-not-valid-tip {
	clear: both;
	color: #c00;
	display: block;
	font-size: 12px;
	font-weight: normal;
	line-height: normal;
	margin: 5px 0 0;
	padding: 3px 0 5px;
	text-align: left;
}

/*
 * PC ではエラー文を入力欄の下の余白に重ねて出し、出たり消えたりしても高さを変えない。
 * （マウスは押した瞬間に入力欄から外れて再チェックが走り、エラー文が消えて画面が詰まると、
 *   ボタンを離す位置がずれてチェックボックスや送信ボタンが空振りするため。スマホのタップは起きない）
 */
@media screen and (min-width: 769px) {
	.page-template-page-contact-php form#mailformpro .wpcf7-form-control-wrap,
	.page-template-page-contact form#mailformpro .wpcf7-form-control-wrap {
		position: relative;
	}

	.page-template-page-contact-php form#mailformpro dd.mfp .wpcf7-not-valid-tip,
	.page-template-page-contact form#mailformpro dd.mfp .wpcf7-not-valid-tip {
		left: 0;
		position: absolute;
		top: 100%;
		white-space: nowrap;
	}
}

.page-template-page-contact-php form#mailformpro .wpcf7-list-item,
.page-template-page-contact form#mailformpro .wpcf7-list-item {
	margin-left: 0;
}

.page-template-page-contact-php form#mailformpro .wpcf7-spinner,
.page-template-page-contact form#mailformpro .wpcf7-spinner {
	margin: 0 8px;
	vertical-align: middle;
}

.page-template-page-contact-php form#mailformpro .wpcf7-response-output,
.page-template-page-contact form#mailformpro .wpcf7-response-output {
	font-size: 12px;
	line-height: 1.5;
	margin: 10px 5px 0;
}

/* WP-PageNavi compatibility. The legacy theme overrides layout later. */
.wp-pagenavi {
	clear: both;
}

.wp-pagenavi a,
.wp-pagenavi span {
	border: 1px solid #bfbfbf;
	margin: 2px;
	padding: 3px 5px;
	text-decoration: none;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
	border-color: #000;
}

.wp-pagenavi span.current {
	font-weight: bold;
}

/* Keep the fixed desktop header at the 86px offset used by the legacy layout. */
@media screen and (min-width: 769px) {
	#masthead.site-header {
		height: 86px;
	}

	/* Rules previously emitted by WP-SCSS for the company page. */
	body.page-template-page-company #company .office,
	body.page-template-page-company-php #company .office {
		margin-top: 80px;
		text-align: center;
	}

	body.page-template-page-company #company .office h2,
	body.page-template-page-company-php #company .office h2 {
		margin-bottom: 10px;
	}

	body.page-template-page-company #company .office h4,
	body.page-template-page-company-php #company .office h4 {
		margin-bottom: 20px;
	}

	body.page-template-page-company #company .office h4::after,
	body.page-template-page-company-php #company .office h4::after {
		background-color: #140175;
		content: "";
		display: block;
		height: 3px;
		margin: 5px auto 0;
		width: 50px;
	}
}

@media screen and (max-width: 768px) {
	body.page-template-page-company #company .office,
	body.page-template-page-company-php #company .office {
		text-align: center;
	}

	body.page-template-page-company #company .office h2,
	body.page-template-page-company-php #company .office h2 {
		font-weight: bold;
	}

	body.page-template-page-company #company .office h4,
	body.page-template-page-company-php #company .office h4 {
		font-size: 4.5vw;
	}

	body.page-template-page-company #company .office h4::after,
	body.page-template-page-company-php #company .office h4::after {
		background-color: #140175;
		content: "";
		display: block;
		height: 1vw;
		margin: 1vw auto 0;
		width: 10vw;
	}
}

/* Exhibition-page styles formerly embedded in page-tenzikai.php. */
#tenzikai {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

#tenzikai .slider img {
	border: none;
	height: auto;
	margin-bottom: 20px;
	object-fit: cover;
	width: 100%;
}

#tenzikai .slick-slide {
	padding: 0;
}

#tenzikai h1 {
	margin: 50px 0;
}

#tenzikai .model5 {
	background: #e8e9e8;
	font-size: 24px;
	width: 100%;
}

#tenzikai .model5 img {
	margin-bottom: 40px;
	width: 20%;
}

#tenzikai .annai {
	font-size: 24px;
	margin: 40px auto;
	width: 800px;
}

#tenzikai .annai p:first-child,
#tenzikai .annai p:nth-child(3) {
	font-size: 36px;
	text-align: center;
}

#tenzikai .annai img {
	display: block;
	margin: 0 auto;
}

#tenzikai .bg {
	padding: 100px 10px 20px;
	position: relative;
}

#tenzikai .bg1 {
	left: 0;
	position: absolute;
	top: 0;
	z-index: -10;
}

#tenzikai .bg2 {
	bottom: 0;
	position: absolute;
	right: 0;
	z-index: -9;
}

#tenzikai .sec {
	border-bottom: 2px solid #000;
	height: 570px;
	padding-top: 50px !important;
	position: relative;
}

#tenzikai .sec h2 {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-size: 40px;
	font-weight: bold;
	text-align: left;
}

#tenzikai .sec p {
	font-size: 24px;
	margin-left: 50%;
	margin-top: 150px;
	width: 50%;
}

#tenzikai .s2 h2 {
	text-align: right;
}

#tenzikai .s2 p {
	margin-left: 0;
}

#tenzikai .sec img {
	position: absolute;
}

#tenzikai .s1 .seimg {
	left: 50px;
	top: 150px;
}

#tenzikai .s1 .num {
	right: 50px;
	top: 100px;
	z-index: -1;
}

#tenzikai .s2 .seimg {
	right: 50px;
	top: 100px;
	width: 40%;
	z-index: -1;
}

#tenzikai .s2 .num {
	left: 50px;
	top: 50px;
	width: 32%;
	z-index: -1;
}

#tenzikai .s3 .seimg {
	left: 20px;
	top: 100px;
	width: 50%;
}

#tenzikai .s3 .num {
	right: 50px;
	top: 50px;
	width: 32%;
	z-index: -1;
}

#tenzikai .w500p {
	margin: 50px auto 0;
	text-align: center;
	width: 500px;
}

#tenzikai .w500p h3 {
	font-size: 40px;
}

#tenzikai .w500p > p {
	width: 100%;
}

#tenzikai .w500p > p a {
	background: red;
	color: #fff;
	display: block;
	font-size: 40px;
	padding: 30px;
	text-align: center;
	width: 100%;
}

#tenzikai .w500p a p:hover {
	background: yellow;
}

@media screen and (max-width: 600px) {
	body.page-template-page-tenzikai #tenzikai *,
	body.page-template-page-tenzikai-php #tenzikai * {
		box-sizing: border-box;
	}

	#tenzikai .model5 img {
		margin-bottom: 0;
		width: 20%;
	}

	#tenzikai .annai {
		width: 100%;
	}

	#tenzikai .annai p:first-child,
	#tenzikai .annai p:nth-child(3) {
		font-size: 7vw;
	}

	#tenzikai .bg {
		padding: 0;
	}

	#tenzikai .sec h2 {
		font-size: 6vw;
		text-align: left;
	}

	#tenzikai .sec {
		border-bottom: 2px solid #000;
		height: inherit;
		padding: 3vw !important;
	}

	#tenzikai .sec img {
		position: static;
	}

	#tenzikai .sec p {
		font-size: 4vw;
		margin: 0;
		width: 100%;
	}

	#tenzikai .s1 .num,
	#tenzikai .s2 .num,
	#tenzikai .s3 .num {
		bottom: inherit;
		left: 0;
		position: absolute;
		right: inherit;
		top: 5vw;
		width: 30%;
		z-index: -1;
	}

	#tenzikai .s1 .seimg,
	#tenzikai .s2 .seimg,
	#tenzikai .s3 .seimg {
		display: block;
		margin: 0 auto 5vw;
		width: 60%;
	}

	#tenzikai .w500p {
		margin: 50px auto 0;
		text-align: center;
		width: 100%;
	}

	#tenzikai .w500p p {
		background: red;
		color: #fff;
		font-size: 40px;
		padding: 30px;
		width: 100%;
	}

	#tenzikai .w500p h3 {
		font-size: 7vw;
	}
}

.page-template-page-thanks-php .w1000 p,
.page-template-page-thanks .w1000 p {
	margin-bottom: 25px;
}

.page-template-page-thanks-php .phone,
.page-template-page-thanks .phone {
	font: 48px 'Oswald', sans-serif;
}

.page-template-page-thanks-php .phone span,
.page-template-page-thanks .phone span {
	display: block;
	font: 14px "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* Menu Image 2.9.6-compatible presentation. */
.menu-item a img,
img.menu-image-title-after,
img.menu-image-title-before,
img.menu-image-title-above,
img.menu-image-title-below,
.menu-image-hover-wrapper .menu-image-title-above {
	border: none;
	box-shadow: none;
	display: inline;
	vertical-align: middle;
	width: auto;
}

.menu-image-hover-wrapper img.hovered-image,
.menu-item:hover .menu-image-hover-wrapper img.menu-image {
	opacity: 0;
	transition: opacity 0.25s ease-in-out 0s;
}

.menu-item:hover img.hovered-image {
	opacity: 1;
}

.menu-image-title-after.menu-image-not-hovered img,
.menu-image-hovered.menu-image-title-after .menu-image-hover-wrapper,
.menu-image-title-before.menu-image-title {
	padding-right: 10px;
}

.menu-image-title-before.menu-image-not-hovered img,
.menu-image-hovered.menu-image-title-before .menu-image-hover-wrapper,
.menu-image-title-after.menu-image-title {
	padding-left: 10px;
}

.menu-image-title.menu-image-title-above,
.menu-image-title.menu-image-title-below {
	display: block;
	text-align: center;
}

.menu-image-title-above.menu-image-not-hovered > img,
.menu-image-hovered.menu-image-title-above .menu-image-hover-wrapper,
.menu-image-title-above .menu-image-hover-wrapper {
	display: block;
	margin: 0 auto !important;
	padding-top: 10px;
}

.menu-image-title-below.menu-image-not-hovered > img,
.menu-image-hovered.menu-image-title-below .menu-image-hover-wrapper,
.menu-image-title-below .menu-image-hover-wrapper {
	display: block;
	margin: 0 auto !important;
	padding-bottom: 10px;
}

.menu-image-title-hide .menu-image-title,
.menu-image-title-hide.menu-image-title {
	display: none;
}

/* To Top-compatible control and the old option values. */
#to_top_scrollup {
	background-color: #000;
	border-radius: 5%;
	bottom: 1px;
	box-sizing: content-box;
	color: #fff;
	cursor: pointer;
	display: none;
	font-size: 32px;
	font-weight: normal;
	height: 32px;
	opacity: 1;
	padding: 5px;
	position: fixed;
	right: 1px;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	width: 32px;
	z-index: 9999;
}

/* WP Responsive Menu 3.1.4 option values recovered from the legacy DB. */
@media only screen and (max-width: 768px) {
	html body div.wprm-wrapper {
		overflow: scroll;
	}

	html body div.wprm-overlay {
		background: rgba(0, 0, 0, 0.83);
	}

	#wprmenu_bar {
		background-color: #0f0000;
	}

	#wprmenu_bar .menu_title,
	#wprmenu_bar .wprmenu_icon_menu {
		color: #fff;
	}

	#wprmenu_bar .menu_title {
		font-size: 20px;
		font-weight: normal;
	}

	#mg-wprm-wrap li.menu-item a {
		font-size: 15px;
		font-weight: normal;
		text-transform: uppercase;
	}

	#mg-wprm-wrap li.menu-item-has-children ul.sub-menu a {
		font-size: 15px;
		font-weight: normal;
		text-transform: uppercase;
	}

	#mg-wprm-wrap li.current-menu-item > a {
		background: #d53f3f;
	}

	#mg-wprm-wrap li.current-menu-item > a,
	#mg-wprm-wrap li.current-menu-item span.wprmenu_icon {
		color: #fff !important;
	}

	#mg-wprm-wrap {
		background-color: #fff;
	}

	#mg-wprm-wrap.cbp-spmenu-right,
	#mg-wprm-wrap.cbp-spmenu-left,
	#mg-wprm-wrap.cbp-spmenu-right.custom,
	#mg-wprm-wrap.cbp-spmenu-left.custom,
	.cbp-spmenu-vertical {
		max-width: 400px;
		width: 80%;
	}

	#mg-wprm-wrap ul#wprmenu_menu_ul li.menu-item a,
	div#mg-wprm-wrap ul li span.wprmenu_icon {
		color: #000 !important;
	}

	#mg-wprm-wrap ul#wprmenu_menu_ul li.menu-item a:hover {
		background: #d53f3f;
		color: #fff !important;
	}

	div#mg-wprm-wrap ul > li:hover > span.wprmenu_icon {
		color: #fff !important;
	}

	.wprmenu_bar .hamburger-inner,
	.wprmenu_bar .hamburger-inner::before,
	.wprmenu_bar .hamburger-inner::after,
	.wprmenu_bar .hamburger:hover .hamburger-inner,
	.wprmenu_bar .hamburger:hover .hamburger-inner::before,
	.wprmenu_bar .hamburger:hover .hamburger-inner::after {
		background: #fff;
	}

	.wprmenu_bar .hamburger {
		float: right;
	}

	html body div#wprmenu_bar {
		height: 60px;
		padding-bottom: 16.5px;
		padding-top: 16.5px;
	}

	/*「menu」の文字が帯の下端に付かないよう、ハンバーガーを帯の上下中央へ*/
	html body div#wprmenu_bar div.hamburger {
		margin-top: -10px;
	}

	#mg-wprm-wrap.cbp-spmenu-left,
	#mg-wprm-wrap.cbp-spmenu-right {
		top: 60px !important;
	}

	html {
		padding-top: 42px !important;
	}

	#wprmenu_bar,
	#mg-wprm-wrap {
		display: block;
	}

	div#wpadminbar {
		position: fixed;
	}

	.wprm-overlay[aria-hidden="true"] {
		pointer-events: none;
	}

}
