@charset "UTF-8";

/*!
Theme Name: Cubic
Description: Cocoon専用の子テーマ
Theme URI: https://cubic-nagaoka.com/
Author: Astha
Author URI: https://cubic-nagaoka.com/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
.fadeInDown {
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 1s;
	-ms-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown;
	visibility: visible !important;
}

@-webkit-keyframes fadeInDown {
	0% { opacity: 0; -webkit-transform: translateY(-20px); }
	100% { opacity: 1; -webkit-transform: translateY(0); }
}

@keyframes fadeInDown {
	0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
	100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

@keyframes fadeIn {
	0% {
		transform: translateY(10%);
		opacity: 0;
	}
	100% {
		transform: translateY(0%);
		opacity: 1;
	}
}

.fixed-header .navi-in > ul li:hover > ul {
	display: block;
}

body {
	position: relative;
	background-color: #ffffff;
	overflow-x: hidden;
}

a:where(:not(.wp-element-button)) {
	text-decoration: none;
}

a {
	color: #333333;
	cursor: pointer !important;
	transition: 0.2s;
}

a:hover {
	color: #00469B;
}

.sp {
	display: none;
}

.home .sp-none {
	display: none;
}

.pc,
.home .pc {
	display: block;
}

/*モバイル時トップのロゴ非表示*/
.logo-menu-button img {
	display: none;
}


/*モバイルフッターメニューの装飾*/
.mobile-footer-menu-buttons .menu-button {
	padding: 8px 0;
}

.mobile-menu-buttons .menu-button > a {
	color: #fff;
}

.mobile-menu-buttons .menu-caption {
	font-size: 0.9rem;
	font-weight: bold;
}

.mobile-footer-menu-buttons .menu-button:nth-child(1) {
	border: 4px solid #fff;
	background-color: #2699FB;
}

.mobile-footer-menu-buttons .menu-button:nth-child(2) {
	border: 4px solid #fff;
	background-color: #FFA500;
}

.divider-line {
	position: relative;
	height: 1px;
	border-width: 0;
	background-image: -webkit-linear-gradient(left,
	transparent 0%,#283593 50%,transparent 100%);
	background-image: linear-gradient(90deg,
	transparent 0%,#283593 50%,transparent 100%);
}

.shadow_test {
	box-shadow: 2px 2px 4px #a1a1a1;
}

.wp-block-group {
	margin-bottom: 120px !important;
}

.details-button {
	border: 1px solid #707070;
	margin-top: 32px;
	padding: 20px 60px;
	background-color: #ffffff;
}

.inquiry:hover,
.details-button:hover {
	background-color: #9ACFFD;
	transition: 0.2s;
}

.button-block {
	display: flex;
	justify-content: center;
}

.page h1.entry-title {
	margin: 0 calc(50% - 50vw);
	padding: 96px 0;
	color: #ffffff;
	background-color: #00469B;
	font-size: 46px;
	text-align: center;
}

.article h2 {
	background-color: rgba(255, 255, 255, 0);
	margin-bottom: 0;
	padding: 25px 0 0;
}

h2 span {
	display: block;
	margin-bottom: 8px;
	font-size: 46px;
	font-weight: normal;
}

h2 small {
	padding-left: 4px;
	font-size: 24px;
	font-weight: normal;
}

h2::after {
	content: '';
	display: block;
	width: 100%;
	margin: 32px 0;
	border-bottom: 1px solid #707070;
}

.article h3 {
	margin-bottom: 0;
	padding: 20px 0;
	border: none;
}

.article p {
	margin: 16px 24px;
}

#breadcrumb {
	padding-left: 80px;
	font-size: 16px;
}

.header {
	display: flex;
	height: 120px;
}

.header-in {
	justify-content: flex-start;
}

.header-container-in.hlt-top-menu .logo-header img {
	max-height: 120px;
}

.entry-content {
	width: 900px;
	margin: auto;
}

.appeal {
	position: relative;
	height: 48vw;
	background-position: bottom;
}

.appeal-content {
	position: absolute;
	left: 0;
	bottom: 310px;
	max-width: 900px;
	margin: auto;
	padding: 40px;
	background: linear-gradient(to right, rgb(17, 27, 85), rgba(0, 0, 0, 0));
}

.appeal-title {
	color: #ffffff;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	font-size: 2vw;
	text-align: left;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.appeal-message {
	color: #ffffff;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	font-size: 1.07vw;
	text-align: left;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.border-right,
.border-left {
	position: relative;
	z-index: 0;
}

.border-right::before {
	content: "";
	display: block;
	position: absolute;
	bottom: -24px;
	right: -680px;
	min-width: 150%;
	height: 240px;
	background: linear-gradient(to left, #004386, #008eee);
	clip-path: polygon(28% 0, 100% 0, 100% 100%, 0 100%);
	z-index: -1;
	overflow-x: hidden;
}

.border-left::before {
	content: "";
	display: block;
	position: absolute;
	bottom: -24px;
	left: -680px;
	min-width: 150%;
	height: 240px;
	background: linear-gradient(to right, #004386, #008eee);
	clip-path: polygon(0 0, 72% 0, 100% 100%, 0% 100%);
	z-index: -1;
	overflow-x: hidden;
}

.button-wrap {
	text-align: center;
}

.member-button-wrap {
	text-align: center;
}

.member-button {
	position: absolute;
	bottom: 0;
	right: 104px;
}

/*トップページの社員説明文*/
.introduction {
	position: relative;
	top: -7%;
	left: 5%;
	width: 92%;
	margin: 0;
	margin-block-start: 0 !important;
	padding: 0 16px 16px;
	background-color: rgba(255, 255, 255, 0.9);
}

/*社員紹介ページの社員説明文*/
.page-id-126 .introduction {
	position: relative;
	top: -16%;
	left: 5%;
	width: 92%;
	margin: 0;
	margin-block-start: 0 !important;
	padding: 0 16px 16px;
	background-color: rgba(255, 255, 255, 0.9);
}

.self-introduction {
	margin-top: 0 !important;
	font-size: 14px;
}

.top-member .member-right {
	padding-top: 260px;
}

.column-wrap,
body .is-layout-flex {
	gap: 64px;
}

.shadow {
	display: inline-block;
	overflow: hidden;
	box-shadow: 16px 16px 0 rgba(3, 67, 140, 0.1)
}

.shadow img {
	transition: transform 0.3s ease-in-out;
}

.shadow img:hover {
	transform: scale(1.1);
}

/* アイキャッチの高さ揃える */
.wp-block-latest-posts__featured-image.aligncenter {
	position: relative;
	padding-top: 56.25%; /*16:9の比率*/
	margin-bottom: 8px;
	box-shadow: 2px 2px 4px #a1a1a1;
}

.wp-block-latest-posts__featured-image.aligncenter img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.contact {
	position: relative;
}

.contact,
.access {
	max-width: 840px;
	margin: 0 auto;
	padding: 60px 0;
}

.contact {
	text-align: center;
}

.contact-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 64px;
}

.contact-wrap .contact-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
}

.page-id-16 .contact {
	display: none;
}

.tel-number,
.mailaddress {
	font-size: 20px;
	font-family: 'Roboto Condensed', sans-serif;
}

.recruiting {
	padding: 20px 60px;
}

.inquiry {
	background-color: #ffffff;
}

.recruiting {
	margin-right: 12px;
	color: #ffffff;
	background-color: #9ACFFD;
}

.recruiting:hover {
	background-color: rgba(154, 207, 253, 0.8);
}

/*フローティングボタン*/
.contact-hover {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	right: -100px; /* 最初は画面外に隠れている状態 */
	bottom: auto;
	z-index: 1000;
	writing-mode: vertical-rl;
	transition: right 0.5s ease; /* スライドアニメーションの時間と効果 */
}

.contact-hover.show {
	right: -4px; /* 画面右端にピッタリ表示される */
}

.contact-hover.recruit {
	top: 132px;
}

.contact-hover.aircon {
	top: 325px;
}

.contact-hover .entry a {
	display: block;
	padding: 24px 16px;
	border: 4px solid #fff;
	border-radius: 16px 0 0 16px;
	color: #ffffff;
	font-size: 1rem;
	font-weight: bold;
	transition: 0.2s;
}

.contact-hover.recruit .entry a {
	background-color: #2699FB;
}

.contact-hover.aircon .entry a {
	background-color: #FFA500;
}

.contact-hover .entry {
	transition: 0.2s;
}

.contact-hover .entry:hover {
	filter: brightness(120%);
}

.contact-hover .entry img {
	width: 32px;
}

#footer {
	display: flex;
	justify-content: space-between;
	margin-top: 60px;
	padding: 40px 40px;
}

footer .footer-site-logo-image {
	display: none;
}

footer .footer-left {
	display: flex;
	flex-direction: column;
	width: 50%;
}

footer .logo {
	width: 400px;
}

footer .tel-wrap .tel-number {
	font-size: 44px;
}

footer ul {
	padding-left: 0;
}

footer ul li {
	list-style-type: none;
	padding: 4px 0;
}

.credit {
	color: #ffffff;
	background: #707070;
	font-size: 12px;
	text-align: center;
}

#footer-in {
	display: none;
}

.contact-form,
.contact-check {
	margin: 0 auto;
	max-width: 900px;
}

.contact-form tbody tr th {
	width: 30%;
	background-color: #E9F3FF;
}

.contact-form tbody tr td {
	background-color: #ffffff;
}

.contact-form tbody tr th p {
	padding: 4px 0 0 16px;
}

.contact-form tbody tr td p {
	padding: 4px;
}

.contact-form tbody tr th p,
.contact-form tbody tr td p {
	margin-bottom: 0;
	text-align: left;
}

.mark {
	margin-right: 8px;
	padding: 4px 6px;
	color: #ffffff;
	border-radius: 4px;
	background-color: #00469B;
	font-size: 14px;
}

.contact-check a {
	color: #065FD4;
}

#container .wpcf7-submit {
	width: 40%;
	font-size: 18px;
}

.page-id-14 th,
.page-id-14 td {
	padding: 8px 16px;
}

.page-id-14 .entry-button {
	display: block;
	width: 320px;
	margin: auto;
	color: #ffffff;
	background-color: #2699FB;
	text-align: center;
}

.page-id-14 .entry-button:hover {
	filter: brightness(120%);
}

.page-id-14 .entry-button a {
	display: block;
	padding: 8px 16px;
	color: #ffffff;
	font-size: 32px;
}

.page-id-14 .entry-button img {
	width: 32px;
}

/*必須がすべて埋まっている時のフォームのボタンスタイル*/
input[type='submit'].enabled {
	background-color: #2699FB; /* チェックされたときの背景色 */
	color: #fff; /* チェックされたときの文字色 */
	cursor: pointer; /* ポインターに変更 */
	opacity: 1; /* 透明度を戻す */
}

.privacy-policy {
	line-height: 1;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px) {
	/*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px) {
	.sp {
		display: block;
	}

	.pc,
	.home .pc {
		display: none;
	}

	.home .sp-none {
		display: block;
	}

	.home .pc-none {
		display: none;
	}

	.text-left {
		text-align: left;
	}

	.header-container-in.hlt-top-menu .header .header-in {
		display: flex;
	}

	.header-container-in.hlt-top-menu .logo-header img {
		max-height: 80px;
		margin: 20px;
	}

	#appeal-in {
		padding: 0;
	}

	.appeal-content {
		position: relative;
		bottom: -103px;
		left: 0;
		margin: auto 0;
		padding: 4px 40px;
		border-radius: 0;
		z-index: 1;
	}

	.appeal-title {
		font-size: 4vw;
	}

	.appeal-message {
		font-size: 2.6vw;
	}

	h2 span {
		font-size: 32px;
		text-align: center;
	}

	h2 small {
		display: block;
		font-size: 20px;
		text-align: center;
	}

	.entry-content {
		width: 100%;
	}

	.button-wrap,
	.details-button {
		margin-top: 0 !important;
	}

	.button-wrap {
		display: flex;
		justify-content: center;
	}

	.member-left,
	.member-right {
		padding: 0;
	}

	.top-member .member-even {
		padding-top: 0;
	}

	.top-member .member-right {
		padding-top: 0;
	}

	.shadow {
		box-shadow: none;
	}

	.member-button {
		position: static;
	}

	.info-even {
		display: flex;
		flex-direction: column-reverse;
	}

	.tel-number,
	.mailaddress {
		margin-bottom: 8px;
		font-size: 18px;
	}

	.inquiry,
	.recruiting {
		display: block;
		max-width: 260px;
		margin: 32px auto !important;
		padding: 20px 25px;
	}

	.contact {
		padding: 0;
	}

	.address {
		padding-left: 16px;
	}
	
	.border-right::before,
	.border-left::before {
	content: none;
	}

	/*フッター手前のお問い合わせ*/
	.explanation {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: 0 16px;
	}

	.explanation p {
		text-align: left;
	}

	#footer {
		flex-direction: column;
		align-items: center;
		padding: 0;
	}

	footer .footer-left {
		align-items: center;
		width: 100%;
		text-align: center;
	}

	footer .tel-wrap .tel-number {
		font-size: 24px;
	}

	footer .footer-right {
		width: 100%;
		text-align: center;
	}

	.contact-form tbody tr th {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	.contact-form tbody tr td {
		display: flex;
		flex-direction: column;
	}

	.contact-form tbody tr th p {
		padding-left: 0;
	}

	.page h1.entry-title {
		padding: 32px 0;
		font-size: 40px;
	}

	#container .wpcf7-submit {
		width: 100%;
	}

	/*社員紹介ページの社員説明文*/
	.page-id-126 .wp-block-cocoon-blocks-column-2 {
		margin-bottom: 80px;
	}

	.page-id-126 .introduction {
		position: static;
		width: 100%;
	}

	.page-id-126 .article h3 {
		padding: 0 20px 20px;
	}
}

/*480px以下*/
@media screen and (max-width: 480px) {
	/*必要ならばここにコードを書く*/
}


/* PC表示のときだけ電話リンクを無効化 */
@media screen and (min-width: 768px) {
  a.tel-number {
    pointer-events: none;   /* クリック無効 */
    color: inherit;         /* 文字色を通常の文字と同じに */
    text-decoration: none;  /* 下線を消す */
    cursor: default;        /* マウスカーソルを普通に */
  }
}