@charset "UTF-8";
/*
Theme Name: 安田建設
Author: systemrun
Author URI: https://systemrun.co.jp/
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: yasuda
*/

/* =========================================================
  変数とリセット
========================================================= */
:root {
	--navy: #12507f;
	--blue: #0e75c6;
	--accent: #0e75c6;
	--yellow: #ffe200;
	--ink: #1a1a1a;
	--body: #333333;
	--mute: #5d6870;
	--pale: #f3f8fc;
	--line: #bbbbbb;
	--wrap: 1200px;
	--pad: clamp(12px, 2vw, 20px); /* コンテンツ左右の余白 */

	--logoh: 70px; /* ロゴ画像の高さ＝ヘッダー実高 */
	--headtop: 22px; /* 画面上端からヘッダーまでの浮き */
	--headbottom: calc(var(--headtop) + var(--logoh)); /* ヘッダー白背景の下端 */
	--headgap: 50px; /* ヘッダー下端とキャッチコピーの間隔 */

	--fs-tag: 12.5px; /* バッジ・タグ */
	--fs-note: 14px; /* 注記・キャプション */
	--fs-sm: 15px; /* 小さめの補助文 */
	--fs-md: 16px; /* 表・フッター・フォーム */
	--fs-body: 17px; /* 本文 */
	--fs-lg: 19px; /* 小見出し */
}


html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,input,select,button,textarea,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin: 0;
	padding: 0;
	border: 0;
 font-family: 'Noto Sans JP', sans-serif;
	color: inherit;
	line-height: inherit;
	font-size: 100%;
	vertical-align: baseline;
	word-break: break-all;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,small,main {
	display: block;
}
html {
	font-size: 62.5%;
}
body {
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
}
ul {
	list-style: none;
}
q {
	quotes: none;
}
q::before,q::after {
	content: '';
	content: none;
}
strong,b {
	font-weight: bold;
}
i,em {
	font-style: italic;
}
del {
	text-decoration: line-through;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	max-width: 100%;
	height: auto;
}
span,a,ruby {
	font-size: 100%;
}
a,a:hover {
	text-decoration: none;
}
*,*::before,*::after {
	box-sizing: border-box;
}
a,a:focus,*:focus {
	outline: none;
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}
select::-ms-expand {
	display: none;
}
/*100vh指定時のiOSアドレスバー対応*/
html {
	height: -webkit-fill-available;
}


/* base */
body {
 font-size: 17px;
	font-family: 'Noto Sans JP', sans-serif;
	color: #333;
	background: #fff;
	-webkit-font-smoothing: antialiased;
	line-height: 1.8;
	overflow-x: hidden;
}


/* =========================================================
  ヘッダー
========================================================= */
.site-header {
	position: fixed;
	top: var(--headtop);
	left: 30px;
	right: 30px;
	z-index: 1000;
	background: #fff;
	box-shadow: 0 3px 16px rgba(0, 0, 0, 0.14);
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
 width: 85%;
 max-width: 1650px;
 margin: 0 auto;
}
.site-header.hidden {
	transform: translateY(calc(-100% - 26px));
}
.site-hd-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(20px, 2vw, 48px);
 padding: 12px 25px;
 margin: 0 auto;
 max-width: 1550px;
}
.ln-logo {
	display: block;
	flex: 0 0 auto;
}
.ln-logo img {
	height: clamp(50px, 5.2vw, var(--logoh));
	width: auto;
	display: block;
}
/* ナビ */
.ln-nav {
	display: flex;
	align-items: center;
	gap: clamp(20px, 3vw, 60px);
}
.ln-nav ul {
	display: flex;
	align-items: center;
	gap: clamp(14px, 1.4vw, 20px);
	list-style: none;
	margin: 0;
	padding: 0;
}
.ln-nav a:not(.ln-nav-cta) {
 font-size: 19px;
 font-weight: 700;
 line-height: 1;
	color: #1a1a1a;
 padding: 6px 12px 9px;
}
.ln-nav-cta {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	background: var(--blue);
	color: #fff;
 font-size: 18px;
 font-weight: 700;
 line-height: 1;
	padding: 16px 23px;
}
.ln-nav ul li.current_page_item a {
 background: #1a1a1a;
 color: #fff;
}
/* ハンバーガーメニュー */
#ln-burger {
 display: none;
 width: 55px;
 height: 55px;
 border: 0;
 background: var(--blue);
 color: #fff;
 align-items: center;
 justify-content: center;
 cursor: pointer;
 flex-direction: column;
 gap: 8px;
 position: relative;
 z-index: 1100;
}
#ln-burger .ln-bar {
 display: block;
 width: 30px;
 height: 2px;
 background: #fff;
 transition:	transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),	opacity 0.2s ease;
}
#ln-burger.is-open .ln-bar:nth-child(1) {
 transform: translateY(10px) rotate(45deg);
}
#ln-burger.is-open .ln-bar:nth-child(2) {
 opacity: 0;
}
#ln-burger.is-open .ln-bar:nth-child(3) {
 transform: translateY(-10px) rotate(-45deg);
}
#ys-menu-overlay {
 position: fixed;
 left: 0;
 right: 0;
 bottom: 0;
 top: 0;
 z-index: 900;
 overflow-y: auto;
 -webkit-overflow-scrolling: touch;
 background: url("assets/img/bg_sp-menu.jpg") no-repeat center / cover;
 opacity: 0;
 visibility: hidden;
 transition: opacity 0.3s ease;
}
/* 管理バー（ログイン中のみ表示される黒帯）分 */
body.admin-bar .site-header {
	top: calc(var(--headtop) + 32px);
}
@media screen and (max-width: 1060px) {
  body.admin-bar .site-header {
  top: 32px;
 }
}
@media screen and (max-width: 782px) {
  body.admin-bar .site-header {
  top: 46px;
 }
}
@media screen and (max-width: 600px) {
	#wpadminbar {
		position: fixed !important;
	}
}


@media (hover: hover) and (min-width: 961px) {
 .ln-nav a:not(.ln-nav-cta):hover,.ln-nav ul li.current_page_item a {
  background: #1a1a1a;
  color: #fff;
 }
 .ln-nav-cta:hover {
  background: #1a1a1a;
 }
 .ys-mobile-nav li a:hover {
  text-decoration: underline;
 }
}
@media screen and (max-width: 1320px) {
 .site-header {
  width: unset;
 }
 .site-hd-inner {
  padding: 12px 15px;
  margin: 0;
  min-height: 90px;
 }
 .ln-nav {
  gap: 20px;
 }
}
@media screen and (max-width: 1060px) {
 .site-header {
  left: 0;
  right: 0;
  top: 0;
 }
	.ln-nav {
		display: none;
	}
 /* スマホメニュー */
 #ln-burger {
		display: flex;
	}
 #ys-menu-overlay .ys-mobile-nav {
  padding: 22px 20px;
 }
 #ys-menu-overlay .ys-mobile-nav a {
  display: block;
  text-align: center;
  font-size: 19px;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
  padding: 19px 0;
  border-bottom: 1px solid #fff;
 }
 #ys-menu-overlay .ys-mobile-contact {
  padding: 50px 18px 40px;
  position: relative;
 }
 #ys-menu-overlay .ys-callout {
  top: 10px;
  left: 10px;
  transform: unset;
 }
 #ys-menu-overlay .ys-contact-grid {
  gap: 10px 20px;
 }
 #ys-menu-overlay .ys-tel,#ys-menu-overlay .ys-mail {
  background: #fff;
  padding: 40px 12px;
  text-align: center;
 }
 #ys-menu-overlay .ys-mail {
  padding: 35px 12px;
 }
 #ys-menu-overlay .ys-title {
  font-size: clamp(18px, 4vw, 20px);
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 25px;
 }
 #ys-menu-overlay .ys-tel .ys-title {
  margin-top: 10px;
 }
 #ys-menu-overlay .ys-mail .ys-title {
  margin-bottom: 18px;
 }
 #ys-menu-overlay .ys-tel-item {
  padding-bottom: 2px;
 }
 #ys-menu-overlay .ys-tel-label {
  font-size: clamp(15px, 4vw, 18px);
 }
 #ys-menu-overlay .ys-tel-num {
  font-size: clamp(25px, 4vw, 28px);
 }
 #ys-menu-overlay .ys-tel-hours {
  margin-top: 28px;
  font-size: clamp(13px, 4vw, 16px);
 }
 #ys-menu-overlay .ys-mail-btn {
  font-size: clamp(17px, 4vw, 18px);
  width: 100%;
  max-width: 250px;
 }
}
@media screen and (max-width: 960px) {
 .site-hd-inner {
  min-height: unset;
 }
}
@media screen and (max-width: 768px) {
 :root {
		--headtop: 0px;
		--headgap: 32px;
	}
 .site-header {
		left: 0;
		right: 0;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	}
	.site-header.hidden {
		transform: translateY(-100%);
	}
 .site-hd-inner {
		padding: 8px 10px 8px 15px;
	}
 .ln-logo {
  flex: 1 1 auto;
  min-width: 0;
 }
 .ln-logo img {
  height: auto;
  width: 100%;
  max-width: 220px;
 }
 /* スマホメニュー */
	#ln-burger {
		width: 50px;
		height: 50px;
  flex: 0 0 50px;
		flex-basis: 50px;
	}
	#ln-burger .ln-bar {
		width: 28px;
	}
}


/* =========================================================
  トップページ
========================================================= */
.site-shell {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

/* ----- main video ----- */
.ys-hero {
	position: relative;
	height: 900px;
	min-height: 850px;
	overflow: hidden;
	background: var(--navy) center 34% / cover no-repeat;
}
.ys-hero video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 34%;
	display: block;
}
#ys-hero-pattern {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

/* ----- キャッチコピー ----- */
#ys-catch {
	position: absolute;
	right: clamp(16px, 6vw, 96px);
	top: calc(var(--headbottom) + var(--headgap));
}
#ys-catch h1 {
	margin: 0;
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	color: #fff;
	font-size: clamp(38px, 3.4vw, 55px);
 line-height: 1;
	text-shadow: 0 4px 0 rgba(0, 0, 0, 0.5);
}
#ys-catch h1 span:not(.period) {
	writing-mode: vertical-rl;
	white-space: nowrap;
	background: rgba(0, 143, 255, 0.85);
	padding: clamp(10px, 1.3vw, 20px) clamp(10px, 1.3vw, 20px);
 margin-left: 0.15em;
}
#ys-catch h1 span + span {
	margin-top: 1.04em;
}
#ys-catch h1 span.period {
 display: inline-block;
 height: 26px;
}
@media screen and (max-width: 960px) {
	.ys-hero {
		min-height: 680px;
	}
}
@media screen and (max-width: 768px) {
	.ys-hero {
		margin-top: 66px;
  height: clamp(400px, 105vw, 640px);
		min-height: 400px;
	}
	#ys-catch {
		right: 14px;
  top: 20px;
	}
	#ys-catch h1 {
		font-size: clamp(26px, 5vw, 34px);
  text-shadow: 0 3px 0 rgba(0, 0, 0, 0.5);
	}
	#ys-catch h1 span:not(.period) {
		padding: 7px 10px;
  margin-left: 5px;
	}
 #ys-catch h1 span.period {
  height: 14px;
 }
}


/* ----- common ----- */
.site-main {
	flex: 1 0 auto;
}
.ys-wrap {
	max-width: var(--wrap);
	margin: 0 auto;
 width: 92%;
}
.ys-head {
	position: relative;
 padding-top: 35px;
}
.home .ln-h2-sub {
	position: absolute;
 bottom: 25px;
 z-index: -1;
}
.ln-en {
 font-size: 70px;
 font-weight: 800;
 line-height: 1;
	color: var(--blue);
 opacity: 0.35;
}
.ys-h2 {
	margin: 0 0 22px;
 font-size: clamp(34px, 4.4vw, 45px);
 font-weight: bold;
 line-height: 1.25;
	color: #000;
	letter-spacing: 0.05em;
 padding-left: 25px;
}
.ys-p {
	margin: 0 0 18px;
 font-size: var(--fs-body);
 line-height: 2;
	color: var(--body);
}
.ys-btn {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
 position: relative;
	gap: 30px;
	background: #1a1a1a;
	color: #fff;
 font-size: 18px;
 font-weight: 800;
	padding: 14px 20px 14px 30px;
	min-width: 200px;
 letter-spacing: 0.05em;
}
.ys-btn span {
 position: absolute;
 top: -14px;
 right: -14px;
 background: url("assets/img/btn-accent.png") no-repeat 0 0 / cover;
 width: 54px;
 height: 54px;
}
@media (hover: hover) and (min-width: 961px) {
 a.ys-btn:hover {
  background: var(--blue);
 }
}
@media screen and (max-width: 960px) {
 .ys-btn {
  width: 100%;
  min-width: 0;
  max-width: 260px;
 }
 .ys-p br.pc {
  display: none;
 }
}
@media screen and (max-width: 768px) {
 .ys-head {
  padding-top: 20px;
 }
 .home .ln-h2-sub {
  bottom: clamp(15px,3vw,20px);
 }
 .ln-en {
  font-size: clamp(40px,10vw,60px);
 }
 .ys-h2 {
  font-size: clamp(26px,6vw ,35px);
  padding-left: 12px;
  letter-spacing: unset;
  white-space: nowrap;
 }
}


/* ----- news ----- */
#ys-news-sec {
	background: #fff;
	padding: 40px 0 50px;
}
#ys-news-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}
.ys-news-card {
	display: flex;
	flex-direction: column;
}
.ys-news-card > a {
	border-bottom: 0;
	display: block;
}
.ys-news-thumb {
	position: relative;
	aspect-ratio: 224 / 140;
	overflow: hidden;
	background: #f5f8fa;
	border: 1px solid #ccc;
}
.ys-news-thumb img.cover,.entry-content .ln-news-thumb img.cover {
 display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* サムネなしの時 */
.ys-fallback,.entry-content .ln-news-thumb .ln-fallback {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
}
.ys-fallback img,.entry-content .ln-news-thumb .ln-fallback img {
	width: 28%;
	height: auto;
	opacity: 0.7;
}
.ys-news-tag {
	position: absolute;
	top: 0;
	right: 0;
	background: rgba(0, 0, 0, 0.7);
	color: #fff;
	font-size: 14px;
 line-height: 1;
	padding: 5px 10px 6px;
}
.ys-news-body {
	padding: 8px 5px 0;
}
.ys-news-date {
 font-size: 14px;
 font-weight: 800;
	color: #333;
}
.ys-news-title {
	margin: 0;
 font-size: 16px;
	color: #333;
 font-weight: 500;
 line-height: 1.6;
}
.ys-news-bottom {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 40px;
}
.ys-news-pagination {
	display: flex;
	gap: 12px;
}
.ys-news-page {
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid #808080;
	background: #fff;
	color: #555;
 font-size: 16px;
 line-height: 1;
	cursor: pointer;
}
.ys-news-page.is-active {
	background: #2b2b2b;
	color: #fff;
	border-color: #2b2b2b;
}
.ys-news-mores {
	position: absolute;
 right: 0;
}
.ys-news-more {
 font-size: var(--fs-md);
 font-weight: 700;
	color: #333;
	border-bottom: 1px solid #333;
	padding-bottom: 3px;
}
@media (hover: hover) and (min-width: 961px) {
 .ys-news-card a:hover .ys-news-title {
  color: var(--blue);
  text-decoration: underline;
 }
 .ys-news-card a:hover .ys-news-thumb img {
  opacity: 0.7;
 }
 .ys-news-pagination button:hover:not(.is-active) {
  color: var(--blue);
  background: #edf7ff;
  border-color: var(--blue);
 }
 a.ys-news-more:hover {
  color: var(--blue);
  border-color: var(--blue);
 }
}
@media screen and (max-width: 1060px) {
 #ys-news-grid {
  grid-template-columns: repeat(4, 1fr);
 }
}
@media screen and (max-width: 960px) {
  #ys-news-grid {
  grid-template-columns: repeat(3, 1fr);
 }
}
@media screen and (max-width: 768px) {
 #ys-news-sec {
  padding-bottom: 60px;
 }
 #ys-news-grid {
		grid-template-columns: 1fr 1fr;
  gap: 15px;
	}
 .ys-news-bottom {
  justify-content: left;
 }
 .ys-news-pagination {
  gap: 10px;
 }
}


/* ----- about ----- */
.ys-about {
	position: relative;
	overflow: hidden;
 padding: 50px 0 60px;
}
.ys-about::before,.ys-about::after {
	content: '';
	position: absolute;
 left: 0;
 width: 100%;
 pointer-events: none;
 z-index: 0;
}
.ys-about::before {
 top: 0;
 aspect-ratio: 1920 / 400;
 background: linear-gradient(	to bottom,	#dcecf3 95%,	#fff 100%);
 -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 220' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0 125 C100 132 200 140 300 139 C400 138 500 128 600 115 C700 101 800 84 900 76 C1000 69 1100 72 1200 84 C1300 96 1400 112 1500 114 C1600 114 1700 98 1800 80 C1840 74 1880 64 1920 50 L1920 220 L0 220 Z'/%3E%3C/svg%3E");
 mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 220' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0 125 C100 132 200 140 300 139 C400 138 500 128 600 115 C700 101 800 84 900 76 C1000 69 1100 72 1200 84 C1300 96 1400 112 1500 114 C1600 114 1700 98 1800 80 C1840 74 1880 64 1920 50 L1920 220 L0 220 Z'/%3E%3C/svg%3E");
 -webkit-mask-size: 100% 100%;
 mask-size: 100% 100%;
 -webkit-mask-position: top right;
 mask-position: top right;
 -webkit-mask-repeat: no-repeat;
 mask-repeat: no-repeat;
}
.ys-about::after {
 top: clamp(90px, 14vw, 340px);
 height: calc(100% - clamp(250px, 25vw, 320px));
 background-image: -moz-linear-gradient( 90deg, rgb(255,255,255) 0%, rgb(222,236,243) 100%);
 background-image: -webkit-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(222, 236, 243) 100%);
 background-image: -ms-linear-gradient( 90deg, rgb(255,255,255) 0%, rgb(222,236,243) 100%);
}
.ys-about .ys-wrap {
	position: relative;
	z-index: 1;
}
#ys-about-grid {
	display: grid;
	grid-template-columns: 1fr 490px;
	grid-template-areas: 'head crane' 'body crane' 'btns crane' 'pics crane';
	gap: 20px 30px;
	align-items: start;
}
.ys-about .ys-head {
 grid-area: head;
}
.ys-about .ys-h2 {
	margin-bottom: 0;
}
.ys-about-body {
	grid-area: body;
	max-width: 700px;
 padding-left: 10px;
}
.ys-about-body .ys-p:last-child {
	margin-bottom: 0;
}
.ys-about-btns {
	grid-area: btns;
	display: flex;
	flex-wrap: wrap;
 gap: 25px;
 justify-content: center;
}
.ys-pics {
	grid-area: pics;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	margin: 25px 0 0 clamp(-70px, -4.5vw, 0px);
}
.ys-pics img {
	width: 100%;
	aspect-ratio: 360 / 270;
	object-fit: cover;
	display: block;
}
.ys-pics img + img {
	margin-top: 38px;
}
.ys-crane-wrap {
	grid-area: crane;
}
#ys-crane {
	width: 100%;
	height: 640px;
	object-fit: cover;
	display: block;
}
@media screen and (max-width: 1060px) {
 #ys-about-grid {
  grid-template-columns: minmax(0, 1fr) clamp(320px, 34vw, 490px);
 }
 .ys-crane-wrap {
  margin-right: clamp(-50px,-4vw,0px);
 }
}
@media screen and (max-width: 960px) {
 .ys-about::before {
  top: 4%;
 }
 .ys-about::after {
  top: unset;
  bottom: 0;
  height: 85%;
  background-image: -webkit-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(222, 236, 243) 70%);
 }
	#ys-about-grid {
		grid-template-columns: 1fr 1.05fr;
		grid-template-areas: 'head head''pics crane''body body''btns btns';
  gap: 30px 10px;
	}
 .ys-about-body {
  margin: 0 auto;
  max-width: 820px;
  padding-left: 5px;
 }
 .ys-pics {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin: 0;
	}
	.ys-pics img + img {
		margin-top: 0;
	}
 .ys-crane-wrap {
		height: 100%;
  margin-right: 0;
	}
	#ys-crane {
		height: 300px;
  width: 100%;
  height: 100%;
  object-fit: cover;
	}
}
@media screen and (max-width: 768px) {
 .ys-about {
  padding: 40px 0;
 }
 .ys-about .ys-head, .ys-about .ys-about-body, .ys-about .ys-about-btns {
  width: 92%;
  margin: 0 auto;
 }
 .ys-about::before {
  height: 130px;
  aspect-ratio: 1920 / 600;
  -webkit-mask-size: 140% auto;
  mask-size: 140% auto;
 }
 .ys-about::after {
  height: 88%;
 }
 #ys-about-grid {
  width: 100vw;
  margin-left: calc((100% - 100vw) / 2);
  margin-right: calc((100% - 100vw) / 2);
 }
 .ys-about-body {
  max-width: 720px;
 }
 .ys-about-body .ys-p {
  margin-bottom: 20px;
  line-height: 1.7;
 }
}


/* ----- recruit ----- */
#ys-recruit-sec {
	padding: 60px 0;
}
#ys-recruit-grid {
	display: grid;
	grid-template-columns: clamp(400px, 35vw, 580px) minmax(0, 1fr);
	gap: clamp(25px, 2.5vw, 40px);
}
#ys-worker {
	width: 100%;
	height: 420px;
	object-fit: cover;
	object-position: 58% center;
	display: block;
}
.ys-recruit-body {
 margin-top: 20px;
}
.ys-recruit-body .ys-p {
	margin-bottom: 50px;
	max-width: 580px;
 padding-left: 10px;
}
.ys-recruit-btns {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
 gap: 30px;
}
@media (hover: hover) and (min-width: 961px) {
 a#ys-mynavi:hover img {
  opacity: 0.7;
 }
}
@media screen and (max-width: 1060px) {
 #ys-recruit-grid {
  align-items: center;
  grid-template-columns: clamp(320px, 35vw, 400px) minmax(0, 1fr);
 }
 #ys-worker {
  height: 280px;
 }
}
@media screen and (max-width: 960px) {
 #ys-recruit-grid {
		grid-template-columns: 1fr;
	}
	#ys-worker {
		display: none;
	}
 .ys-recruit-body .ys-p {
  max-width: 700px;
  margin: 0 auto 50px;
 }
 .ys-recruit-btns {
  justify-content: center;
 }
}
@media screen and (max-width: 768px) {
 #ys-recruit-sec {
  padding: 40px 0;
 }
}


/* ----- お問い合わせ ----- */
#ys-contact-sec {
	padding: 60px 0 40px;
}
#ys-contact-sec .ys-wrap {
 position: relative;
}
.ys-callout {
	position: absolute;
 top: -35px;
 left: 5%;
 transform: translateX(-50%);
 width: 172px;
 height: 93px;
	padding-bottom: 15px;
	background: url('assets/img/bubble.png') no-repeat center;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 14px;
 font-weight: 700;
 line-height: 1.6;
	color: #000;
 text-align: left;
}
.ys-contact-grid {
	display: grid;
	grid-template-columns: 1.63fr 1fr;
	gap: 20px;
}
.ys-contact-card {
	background: #f1f1f1;
	padding: 28px 20px 22px;
	text-align: center;
 height: 100%;
 box-sizing: border-box;
}
.ys-contact-title {
 font-size: 20px;
 font-weight: 700;
 letter-spacing: 0.05em;
	margin-bottom: 22px;
}
.ys-tel-row {
	display: flex;
	justify-content: center;
	align-items: baseline;
	gap: clamp(20px, 3vw, 31px);
	flex-wrap: nowrap;
	white-space: nowrap;
}
.ys-tel-item {
	border-bottom: 2px solid #333;
	padding: 0 4px 3px;
	display: flex;
	align-items: center;
	gap: 15px;
}
.ys-tel-label {
 font-size: 18px;
 font-weight: 700;
}
.ys-tel-num {
 font-size: 28px;
 font-weight: 700;
 line-height: 1;
}
.ys-tel-hours {
	margin-top: 25px;
	font-size: var(--fs-md);
 font-weight: 400;
}
.ys-tel-hours br.sp {
 display: none;
}
.ys-contact-card-mail {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.ys-mail-btn {
	background: #333;
	min-width: 280px;
 border: 2px solid #333;
 padding: 12px 20px 12px 30px;
}
@media (hover: hover) and (min-width: 961px) {
 a.ys-btn.ys-mail-btn:hover {
  background: #fff;
  color: #333;
 }
}
@media screen and (max-width: 1060px) {
 .ys-callout {
  transform: unset;
  left: -10px;
 }
 #ys-contact-sec .ys-callout {
  top: -60px;
 }
 .ys-contact-grid {
		grid-template-columns: 1fr 1fr;
	}
 .ys-tel-row {
		flex-direction: column;
		align-items: center;
		gap: 15px;
	}
 .ys-tel-hours br.sp {
  display: block;
 }
 .ys-mail-btn {
		gap: 20px;
	}
}
@media screen and (max-width: 960px) {
 #ys-contact-sec .ys-callout {
  top: -40px;
 }
 .ys-contact-grid {
		grid-template-columns: 1fr;
  gap: 10px;
	}
 .ys-contact-card {
  padding: 54px 15px 32px;
 }
 .ys-contact-card-mail {
  padding: 25px 15px 40px;
 }
	.ys-tel-row {
  flex-direction: unset;
		flex-wrap: wrap;
		white-space: normal;
	}
 .ys-mail-btn {
  max-width: 250px;
  min-width: unset;
  padding-left: 20px;
 }
}
@media screen and (max-width: 768px) {
 #ys-contact-sec {
  padding: 70px 0 50px;
 }
 .ys-callout, #ys-contact-sec .ys-callout {
  top: -45px;
 }
 .ys-contact-title {
  margin-bottom: 25px;
 }
 .ys-contact-card-mail .ys-contact-title {
  margin-bottom: 20px;
 }
}


/* =========================================================
  フッター
========================================================= */
.ln-footer {
	--farc: clamp(60px, 9vw, 120px);
	position: relative;
	overflow: hidden;
	flex: 0 0 auto;
 margin-top: 6em;
}
.ln-footer::before {
	content: '';
	position: absolute;
	z-index: 2;
 top: 0;
	left: 0;
 width: 100%;
 aspect-ratio: 1920 / 100;
 -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 100'%3E%3Cpath fill='black' d='M0 0 H1920 V8 C1770 38 1600 63 1440 78 C1280 91 1110 98 960 100 C810 98 640 91 480 78 C320 63 150 38 0 8 Z'/%3E%3C/svg%3E");
 mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 100'%3E%3Cpath fill='black' d='M0 0 H1920 V8 C1770 38 1600 63 1440 78 C1280 91 1110 98 960 100 C810 98 640 91 480 78 C320 63 150 38 0 8 Z'/%3E%3C/svg%3E");
 -webkit-mask-size: 100% auto;
 mask-size: 100% auto;
 -webkit-mask-position: top left;
 mask-position: top left;
 -webkit-mask-repeat: no-repeat;
 mask-repeat: no-repeat;
	background: #fff;
	pointer-events: none;
}
.ln-ft-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ln-ft-inner {
	position: relative;
	z-index: 3;
 width: 95%;
	max-width: var(--wrap);
	margin: 0 auto;
	padding: clamp(100px, 9vw, 131px) 0 0;
}
.ln-ft-logo {
	display: inline-block;
	margin-bottom: 16px;
 filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.3));
}
.ln-ft-logo img {
	width: auto;
	display: block;
}
#ln-ft-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(50px, 7vw, 60px);
	align-items: start;
 padding: 0 26px 35px;
}
/* 住所 */
.ln-ft-addr {
	display: flex;
	flex-direction: column;
	gap: 30px;
 padding-top: 17px;
}
.ln-addr-box {
 display: grid;
 grid-template-columns: 73px 1fr;
 column-gap: 15px;
 align-items: center;
}
.ln-ft-label {
 font-size: 16px;
 font-weight: 700;
	color: #fff;
	text-align: right;
 padding-right: 25px;
 position: relative;
}
.ln-ft-label::after {
 content: "";
  position: absolute;
 right: 0;
 top: 50%;
 transform: translateY(-50%);
 width: 1px;
 height: 50px;
 background: #fff;
}
.ln-ft-text {
 font-size: 16px;
 font-weight: 400;
	color: #fff;
 line-height: 1.7;
}
/* フッターメニュー */
.ln-ft-nav {
	max-width: 400px;
}
.ln-ft-nav ul {
 display: flex;
 flex-wrap: wrap;
 gap: 25px 32px;
}
.ln-ft-nav ul li a {
 font-size: 17px;
 font-weight: 700;
 line-height: 1.5;
	color: #fff;
	padding: 4px 4px 5px;
 border-bottom: 1px solid #fff;
}
/* コピーライト */
.ln-copy {
 font-size: var(--fs-note);
	color: #fff;
 line-height: 1;
	text-align: center;
 padding: 18px 0;
}
/* ページトップ */
.page-top {
	position: fixed;
	right: 1em;
	bottom: 3em;
	z-index: 555;
}
.page-top a {
 display: block;
 width: 45px;
 aspect-ratio: 1 / 1;
 background: rgb(0 0 0 / 30%);
 text-indent: -9999px;
 position: relative;
 z-index: 888;
 transition: all .1s;
}
.page-top a::before {
 content: "";
 border-top: 2px solid #fff;
 border-right: 2px solid #fff;
 width: 15px;
 aspect-ratio: 1 / 1;
 transform: rotate(-45deg);
 position: absolute;
 top: 20px;
 right: 15px;
}
@media (hover: hover) and (min-width: 961px) {
 a.ln-ft-logo:hover img {
  opacity: 0.7;
 }
 .ln-ft-nav ul li a:hover {
  color: #1a1a1a;
  background: #fff;
  border: none;
 }
 .page-top a:hover {
  background: rgb(0 0 0 / 80%);
 }
}
@media screen and (max-width: 1060px) {
 #ln-ft-cols {
  padding: 0 0px 35px 10px;
 }
}
@media screen and (max-width: 960px) {
	#ln-ft-cols {
		grid-template-columns: 1fr;
		gap: 30px;
  padding: 0 12px 40px;
	}
 .ln-ft-addr {
  margin-bottom: 30px;
 }
 .ln-ft-nav {
  max-width: unset;
 }
}
@media screen and (max-width: 768px) {
 .ln-footer::before {
  height: clamp(30px, 5vw, 40px);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 390 30' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0 0 H390 V2.4 C359 11.4 325 18.9 292.5 23.4 C260 27.1 225.3 29.4 195 30 C164.7 29.4 130 27.1 97.5 23.4 C65 18.9 31 11.4 0 2.4 Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 390 30' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0 0 H390 V2.4 C359 11.4 325 18.9 292.5 23.4 C260 27.1 225.3 29.4 195 30 C164.7 29.4 130 27.1 97.5 23.4 C65 18.9 31 11.4 0 2.4 Z'/%3E%3C/svg%3E");
 }
 .ln-ft-inner {
  padding-top: 80px;
 }
 .ln-ft-logo {
  max-width: 250px;
  margin-bottom: 0;
 }
 #ln-ft-cols {
  padding: 0 0 45px 5px;
 }
 .ln-ft-addr {
  margin-bottom: 10px;
 }
 .ln-addr-box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 8px;
 }
 .ln-ft-label {
  line-height: 1;
  padding: 0;
 }
 .ln-ft-label::before {
  content: "▼";
  margin-right: 5px;
  font-size: 13px;
 }
 .ln-ft-label::after {
  display: none;
 }
 .ln-ft-nav ul li a {
  padding: 0 3px 3px;
 }
 .ln-copy {
  font-size: 13px;
 }
}


/* =========================================================
  下層ページ
========================================================= */
/* ----- ページタイトル ----- */
.ln-page-hero {
	position: relative;
	overflow: hidden;
	background: var(--navy);
	padding-top: clamp(100px, 8.7vw, 116px);
}
.ln-page-hero-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ln-page-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(9, 48, 82, 0.82), rgba(11, 58, 96, 0.52) 55%, rgba(11, 58, 96, 0.34));
}
.ln-page-hero-inner {
	position: relative;
	max-width: var(--wrap);
	margin: 50px auto 30px;
	padding: 20px 20px 10px;
}
.ln-page-hero-en {
 font-size: 60px;
	font-weight: 800;
 line-height: 1;
	color: #8fc4ee;
	letter-spacing: 0.05em;
	text-transform: uppercase;
 opacity: 0.7;
	position: absolute;
 top: 0;
 z-index: 0;
}
.ln-page-hero-inner h1 {
 font-size: 45px;
 font-weight: 900;
	color: #fff;
	letter-spacing: 0.05em;
 line-height: 1;
 padding: 20px 0 25px 35px;
 position: relative;
 z-index: 1;
}
.ln-breadcrumb {
 font-size: 14px;
 font-weight: 500;
 line-height: 1;
	color: #c6dcee;
 width: 85%;
 margin: 0 auto;
}
.ln-breadcrumb a {
	color: #c6dcee;
}
@media (hover: hover) and (min-width: 961px) {
 .ln-breadcrumb a:hover {
  text-decoration: underline;
 }
}
@media screen and (max-width: 1060px) {
 .ln-page-hero {
  padding-top: 79px;
 }
}
@media screen and (max-width: 768px) {
 .ln-page-hero {
  padding-top: 66px;
 }
 .ln-page-hero-inner {
  margin: 30px auto;
  padding: 20px 10px 0;
 }
 .ln-page-hero-en {
  font-size: clamp(42px,11vw,50px);
  letter-spacing: unset;
 }
 .ln-page-hero-inner h1 {
  font-size: clamp(30px,6vw,38px);
  padding: clamp(6px,1vw,10px) 0 25px clamp(16px,4vw,25px);
  letter-spacing: unset;
 }
 .ln-breadcrumb {
  width: 88%;
 }
}


/* ----- 見出し ----- */
.entry-content h2 {
 font-size: 35px;
 font-weight: 700;
	color: var(--ink);
	line-height: 1.4;
 padding: 0 0 0 20px;
	margin: 0 0 35px 0;
 position: relative;
 z-index: 1;
}
.entry-content h2::after {
 content: "";
 position: absolute;
 bottom: 0;
 right: 0;
 left: 0;
 background: #c5daeb;
 height: 15px;
 z-index: -1;
}
.entry-content h3 {
	position: relative;
 font-size: clamp(22px, 2.5vw, 25px);
 font-weight: 800;
	color: var(--ink);
 line-height: 1.5;
 padding: 5px 0 5px 20px;
	margin: 45px 0 25px;
 letter-spacing: 0.02em;
 background: linear-gradient(to right, #deedff 30%, rgba(0, 0, 0, 0) 75%);
}
.entry-content h3::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 6px;
 height: 100%;
	background: var(--blue);
}
.entry-content h4 {
 font-size: 20px;
 font-weight: 700;
	color: var(--ink);
 margin: 30px 0 15px;
 position: relative;
 line-height: 1;
}
.entry-content h4::before {
 content: "";
 display: inline-block;
 width: 15px;
 height: 15px;
 background: var(--navy);
 margin: 0 5px;
}
.entry-content p {
 font-size: var(--fs-body);
 line-height: 1.8;
	margin: 0 0 18px;
}
@media screen and (max-width: 768px) {
 .entry-content .ln-eyebrow p {
  font-size: 38px;
 }
 .entry-content h2 {
  font-size: 29px;
  padding-left: 15px;
 }
 .entry-content h3 {
  margin-bottom: 20px;
 }
}

/* ----- base ----- */
.entry-content {
	padding: clamp(50px, 7vw, 80px) 0 clamp(60px, 8vw, 90px);
}
/* 先頭が全幅の色帯なら、本文上余白は帯の内側余白に任せる */
.entry-content:has(> .alignfull:first-child) {
	padding-top: 0;
}
.entry-content:has(> .alignfull:last-child) {
	padding-bottom: 0;
}
.entry-content > * {
	max-width: 1100px;
 width: 92%;
	margin-left: auto !important;
	margin-right: auto !important;
}
.entry-content > .alignfull {
 width: 100%;
	max-width: none;
 margin-top: clamp(50px, 6vw, 70px);
}
.entry-content > .alignfull:first-child {
	margin-top: 0;
}
/* 帯の直後の要素にも同じだけ上余白を与える */
.entry-content > .alignfull + * {
	margin-top: clamp(50px, 6vw, 70px);
}
.entry-content .alignfull > *,
.entry-content .alignfull > .wp-block-group__inner-container > * {
	max-width: 1100px;
 width: 92%;
	margin-left: auto;
	margin-right: auto;
}
.entry-content .alignfull > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
}
.entry-content .ln-info-cards > *,
.entry-content .ln-timeline > * {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}
.entry-content p.wp-block-paragraph a {
 color: #1279c6;
 text-decoration: underline;
}
@media (hover: hover) {
 .entry-content p.wp-block-paragraph a:hover {
  text-decoration: none;
 }
}



/* ----- テキスト（各ブロックstyle） ----- */
.entry-content strong {
	font-weight: 700;
	color: var(--ink);
}
.entry-content .is-style-lead,
.ln-lead {
 font-size: clamp(20px, 2.7vw, 26px);
 font-weight: 700;
 line-height: 1.5;
	color: var(--ink);
	letter-spacing: 0.02em;
}
.entry-content .is-style-note,
.ln-note {
 font-size: var(--fs-note);
 line-height: 1.5;
	color: var(--mute);
 margin: 10px 0 0;
}
.entry-content .is-style-intro,
.ln-intro {
 font-size: 16px;
}

/* ----- ボタン ----- */
.entry-content .wp-block-buttons a.wp-block-button__link,.entry-content .ln-btn a {
 display: inline-block;
 font-size: 18px;
 font-weight: 600;
 line-height: 1.5;
 color: #fff;
 background: var(--blue);
 padding: 12px 18px;
 border: 2px solid var(--blue);
}
/* .entry-content .is-style-ln-btn a {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	background: var(--blue);
	color: #fff;
 font-size: 18px;
 font-weight: 800;
	padding: 14px 20px 14px 30px;
 letter-spacing: 0.05em;
}
.entry-content .is-style-ln-btn a::after {
	content: '';
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--yellow);
} */
@media (hover: hover) and (min-width: 961px) {
 .entry-content .wp-block-buttons a.wp-block-button__link:hover,.entry-content .ln-btn a:hover {
  color: #1a1a1a;
  background: #fff;
 }
}
@media screen and (max-width: 768px) {
 .entry-content .wp-block-buttons a.wp-block-button__link,.entry-content .ln-btn a {
  font-size: 17px;
 }
}

/* ----- 表 デフォルト ----- */
.entry-content .wp-block-flexible-table-block-table > table tr th,
.entry-content .wp-block-flexible-table-block-table > table tr td {
 border: none;
 border-bottom: 1px solid #1766a4;
 padding: 17px 15px;
 font-size: 17px;
}
.entry-content .wp-block-flexible-table-block-table > table tr:first-child th,
.entry-content .wp-block-flexible-table-block-table > table tr:first-child td {
 border-top: 2px solid #005da7;
}
.entry-content .wp-block-flexible-table-block-table > table tr:last-child th,
.entry-content .wp-block-flexible-table-block-table > table tr:last-child td {
 border-bottom: 2px solid #005da7;
}
.entry-content .wp-block-flexible-table-block-table > table tr th {
 background: #e4f3ff;
 font-weight: 700;
 border-right: 4px solid #fff !important;
}
.entry-content .wp-block-flexible-table-block-table > table tr td {
 background: #fff;
}

/* ----- 表 ストライプ ----- */
.entry-content .wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(odd) td,
.entry-content .wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(odd) td {
 background: #e4f3ff;
}
.entry-content .wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(even) td,
.entry-content .wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(even) td {
 background: #fff;
}
@media screen and (max-width: 768px) {
 .entry-content .wp-block-flexible-table-block-table table.is-stacked-on-mobile tr th {
  border-right: none !important;
  border-bottom-color: #ddd;
  padding: 12px 0 6px 12px;
 }
 .entry-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table.is-stacked-on-mobile tr:last-child th {
  border-bottom: 1px solid #ddd;
 }
 .entry-content .wp-block-flexible-table-block-table table.is-stacked-on-mobile tr td {
  padding: 6px 12px 12px;
 }
 .entry-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table.is-stacked-on-mobile tr:first-child td {
  border-top: none;
 }
}

/* リスト */
.entry-content .wp-block-list {
	margin-top: 18px;
}
.entry-content .wp-block-list li {
	margin: 8px 0 0;
	position: relative;
	padding-left: 2rem;
}
.entry-content ul.wp-block-list li::before,.entry-content ul.wp-block-list.is-style-default li::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 3px;
	width: 11px;
	aspect-ratio: 1;
	display: block;
	margin: auto;
	background: var(--blue);
}
.entry-content ol.wp-block-list {
 counter-reset: num;
	list-style: none !important;
}
.entry-content ol.wp-block-list li {
 counter-increment: num;
	padding-left: 20px;
}
.entry-content ol.wp-block-list li::before {
 content: counter(num) ". ";
	position: absolute;
	left: 0;
	top: 0;
}
/* リストを2列にする */
.editor ul.column-2,
.editor ol.column-2 {
	display: flex;
	flex-wrap: wrap;
	column-gap: 60px;
}
.editor ul.column-2 > li,
.editor ol.column-2 > li {
	width: calc((100% - 60px) / 2);
}
@media screen and (max-width: 768px) {
	.editor ul.column-2 > li,
	.editor ol.column-2 > li {
		width: 100%;
	}
}


/* メディアテキスト */
.entry-content .wp-block-media-text {
	--media-text-gap: clamp(26px, 4vw, 56px);
	gap: 0;
}
.entry-content .wp-block-media-text + .wp-block-media-text {
	margin-top: clamp(56px, 7vw, 96px);
}
.entry-content .wp-block-media-text__media,
.entry-content .wp-block-media-text__content {
	padding: 0;
}
.entry-content .wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__media {
	padding-right: calc(var(--media-text-gap) / 2);
}
.entry-content .wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__content {
	padding-left: calc(var(--media-text-gap) / 2);
}
.entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
	padding-right: calc(var(--media-text-gap) / 2);
}
.entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
	padding-left: calc(var(--media-text-gap) / 2);
}
@media screen and (max-width: 768px) {
	.entry-content .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media,
	.entry-content .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		padding: 0;
	}
	.entry-content .wp-block-media-text.is-stacked-on-mobile {
		gap: 24px;
  grid-template-columns: 100% !important;
	}
 .entry-content .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
  grid-column: 1;
  grid-row: 1;
 }
 .entry-content .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
  grid-column: 1;
  grid-row: 2;
 }
}

/* ----- 動画 ----- */
.entry-content figcaption {
	margin-top: 10px;
	font: 400 var(--fs-note) 'Noto Sans JP';
	color: var(--mute);
	text-align: left;
}

/* ----- 区切り線 ----- */
.entry-content hr {
	border: 0;
	border-top: 2px solid var(--line);
 width: 150px !important;
	margin: 45px auto;
}


/* =========================================================
  パターン専用パーツ
========================================================= */
/* ----- 横並びカード ----- */
.entry-content .ln-info-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 16px;
}
.entry-content .ln-info-card {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
 padding: 18px 20px;
 background: #fff;
 border-left: 4px solid var(--blue);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.entry-content .ln-info-card p {
	margin: 0;
}
.entry-content .ln-info-card em {
 font-size: var(--fs-body);
 font-weight: 800;
	color: var(--blue);
	white-space: nowrap;
	font-style: normal;
}

/* ----- サムネイルクリックで画像切り替え ----- */
.js-img-main {
 width: 100%;
 margin-bottom: 10px;
 aspect-ratio: 4 / 3;
 overflow: hidden;
 position: relative;
 margin-bottom: 8px;
 border: 1px solid #ccc;
}
.js-img-main img {
 position: absolute;
 height: 100%;
 width: auto;
 top: 0;
 left: 50%;
 transform: translateX(-50%);
}
.js-img-sub {
 display: flex;
 flex-wrap: wrap;
 column-gap: 6px;
 row-gap: 6px;
 margin-bottom: 5px;
}
.js-img-sub figure {
 width: calc((100% - 15px) / 5);
 cursor: pointer;
 border: 1px solid #ccc;
}
.js-img-sub img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 opacity: 0.5;
}
.js-img-main .wp-block-group__inner-container,
.js-img-main figure,
.js-img-main .components-resizable-box__container {
 height: 100% !important;
}
.js-img-sub figure.current img {
 opacity: 1;
}

/* ----- 動画ギャラリー（YouTube・クリックで再生する軽量埋め込み） ----- */
.entry-content .ln-mvs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px 24px;
	margin-top: 0;
	margin-bottom: 0;
}
.entry-content .ln-mv,.entry-content .ln-mv .wp-block-image {
	margin: 0;
 width: 100%;
}
.entry-content .ln-mv-frame {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #0d1620;
	cursor: pointer;
}
.entry-content .ln-mv-frame img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
 margin: 0;
	transition:	transform 0.45s ease,	opacity 0.25s;
}
.entry-content .ln-mv-frame::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 1;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background: rgba(13, 22, 32, 0.62);
	transform: translate(-50%, -50%);
	transition: background 0.25s ease;
}
.entry-content .ln-mv-frame:hover::after {
	background: var(--blue);
}
.entry-content .ln-mv-frame::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	transform: translate(-36%, -50%);
	border-style: solid;
	border-width: 11px 0 11px 19px;
	border-color: transparent transparent transparent #fff;
}
.entry-content .ln-mv-frame:focus-visible {
	outline: 3px solid var(--blue);
	outline-offset: 2px;
}
.entry-content .ln-mvs iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	display: block;
	background: #0d1620;
}
.entry-content .ln-mv figcaption,.entry-content .ln-mv p strong {
 font-size: var(--fs-md);
 line-height: 1.6;
 font-weight: 700;
	color: var(--ink);
	/* text-align: left; */
 /* margin-top: 11px; */
}
.entry-content .ln-mv figcaption span,.entry-content .ln-mv p {
	display: block;
	font-size: var(--fs-note);
 line-height: 1.7;
 font-weight: 400;
	color: var(--mute);
 margin-top: 8px;
}
@media (hover: hover) and (min-width: 961px) {
 .entry-content .ln-mv-frame:hover img {
  transform: scale(1.045);
  opacity: 0.85;
 }
}
@media screen and (max-width: 960px) {
	.entry-content .ln-mvs {
		grid-template-columns: repeat(2, 1fr);
  gap: 24px 20px;
	}
}
@media screen and (max-width: 768px) {
	.entry-content .ln-mvs {
		grid-template-columns: 1fr;
  gap: 30px;
	}
}

/* =========================================================
  会社案内
========================================================= */
/* ----- ごあいさつ ----- */
.entry-content .is-style-sign {
 font-size: var(--fs-sm);
 font-weight: 400;
	color: #585858;
	display: flex;
	align-items: baseline;
 justify-content: flex-end;
	gap: 15px;
	margin: 35px 0 0;
	padding-top: 25px;
 border-top: 1px solid var(--line);
}
.entry-content .is-style-sign strong {
 font-size: clamp(23px, 2vw, 25px);
	letter-spacing: 0.04em;
}

/* ----- 保有機材一覧 ----- */
.ln-equipment-list {
	margin: 0 0 32px;
	overflow-x: auto;
}
.ln-equipment-list.ln-stacked {
 overflow-x: auto;
}
.ln-equipment-list > .wp-block-group:first-child {
 border-top: 1px solid #ddd;
}
.ln-equipment-list > .wp-block-group {
	display: grid;
	column-gap: 20px;
	margin: 0;
	padding: 12px 10px;
	border-bottom: 1px solid #ddd;
}
.ln-equipment-list > .wp-block-group:nth-child(odd) {
 background: #f0f0f1;
}
.ln-equipment-list > .wp-block-group.ln-equipment-head {
 border-bottom-width: 3px;
}
.ln-equipment-list.ln-cols-3 > .wp-block-group {
	grid-template-columns: 1.2fr 1fr 1fr;
	min-width: 620px;
}
.ln-equipment-list.ln-cols-4 > .wp-block-group {
	grid-template-columns: 1fr 0.9fr 1fr 1fr;
	min-width: 720px;
}
.ln-equipment-list.ln-cols-5 > .wp-block-group {
	grid-template-columns: 0.8fr 1fr 1.2fr 1.45fr 1fr;
	min-width: 860px;
}
.ln-equipment-list.ln-cols-6 > .wp-block-group {
	grid-template-columns: 0.7fr 0.85fr 1fr 1.35fr 1fr 0.8fr;
	min-width: 960px;
}
.ln-equipment-list > .wp-block-group p {
	margin: 0 !important;
 line-height: 1.2;
 overflow-wrap: anywhere;
}
.ln-equipment-list > .wp-block-group.ln-equipment-head p {
 font-weight: 600;
}
@media screen and (max-width: 960px) {
 .ln-equipment-list {
  overflow-x: visible;
 }
 .ln-equipment-list > .wp-block-group {
  min-width: 0;
  align-items: start;
  row-gap: 8px;
 }
 /* 4項目：1・3／2・4 */
 .ln-equipment-list.ln-cols-4 > .wp-block-group  {
  /* grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); */
  min-width: 0;
 }
 /* 5項目：1・3・5／2・4 */
 .ln-equipment-list.ln-cols-5 > .wp-block-group  {
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr) minmax(0, 0.8fr);
  min-width: 0;
 }
 .ln-equipment-list:not(.ln-cols-3,.ln-cols-4) > .wp-block-group p:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
 }
 .ln-equipment-list:not(.ln-cols-3,.ln-cols-4) > .wp-block-group p:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
 }
 .ln-equipment-list:not(.ln-cols-3,.ln-cols-4) > .wp-block-group p:nth-child(3) {
  grid-column: 2;
  grid-row: 1;
 }
 .ln-equipment-list:not(.ln-cols-3,.ln-cols-4) > .wp-block-group p:nth-child(4) {
  grid-column: 2;
  grid-row: 2;
 }
 .ln-equipment-list:not(.ln-cols-3,.ln-cols-4) > .wp-block-group p:nth-child(5) {
  grid-column: 3;
  grid-row: 1;
 }
}
@media screen and (max-width: 768px) {
 .ln-equipment-list > .wp-block-group {
  column-gap: 10px;
  row-gap: 6px;
  padding: 12px 4px;
 }
 /* 3項目 */
 .ln-equipment-list.ln-cols-3 > .wp-block-group  {
  grid-template-columns: 1.3fr 1fr;
  min-width: 0;
 }
 /* 4項目 */
 .ln-equipment-list.ln-cols-4 > .wp-block-group  {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
 }
 .ln-equipment-list > .wp-block-group p {
  font-size: clamp(14px,2.5vw,17px);
 }
 .ln-equipment-list > .wp-block-group p:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
 }
 .ln-equipment-list > .wp-block-group p:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
 }
 .ln-equipment-list > .wp-block-group p:nth-child(3) {
  grid-column: 2;
  grid-row: 1;
 }
 .ln-equipment-list > .wp-block-group p:nth-child(4) {
  grid-column: 2;
  grid-row: 2;
 }
}

/* 沿革 */
.entry-content .ln-timeline {
	--timeline-gap: clamp(18px, 3vw, 34px);
	position: relative;
	padding-left: calc(var(--pad) + var(--timeline-gap));
}
.entry-content .ln-timeline::before {
	content: '';
	position: absolute;
	left: var(--pad);
	top: 6px;
	bottom: 32px;
	width: 2px;
	background: #cfe0ee;
}
.entry-content .ln-timeline-item {
	position: relative;
	padding: 0 0 20px;
 margin-top: 15px;
}
.entry-content .ln-timeline-item::before {
	content: '';
	position: absolute;
	top: 6px;
	left: calc(-1 * var(--timeline-gap) - 5px);
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--blue);
	border: 2px solid #fff;
	box-shadow: 0 0 0 2px #cfe0ee;
}
.entry-content .ln-timeline-item p {
 margin: 0;
}
.entry-content .ln-timeline-item p.ln-timeline-year {
 font-size: var(--fs-lg);
 font-weight: 700;
	color: var(--blue);
}
@media screen and (max-width: 768px) {
 .entry-content .ln-timeline-item p.ln-timeline-year {
  font-size: 18px;
 }
 .entry-content .ln-timeline-item p {
  font-size: 16px;
 }
}


/* =========================================================
  事業紹介
========================================================= */
/* リスト2列 */
.entry-content ul.work-clm-2,
.entry-content ol.work-clm-2 {
	display: flex;
	flex-wrap: wrap;
	gap: 0 20px;
}
.entry-content ul.work-clm-2 > li,
.entry-content ol.work-clm-2 > li {
	flex: 1 1 calc((100% - 60px) / 2);
 min-width: 180px;
}
/* ----- 工事実績 ----- */
.entry-content .ys-works {
	display: grid;
	grid-template-columns: repeat(var(--wcols, 3), minmax(0, 1fr));
	gap: clamp(22px, 3vw, 34px) clamp(20px, 2.6vw, 30px);
	margin: 15px 0;
}
.entry-content .ys-work-thumb {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #eef2f5;
	border: 1px solid #e4e8ec;
}
.entry-content .ys-work-thumb img.cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.entry-content .ys-work-body {
	padding: 10px 10px 15px;
}
.entry-content .ys-work-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
 justify-content: space-between;
	gap: 15px;
}
.entry-content .ys-work-date {
 font-size: 16px;
 font-weight: 700;
 line-height: 1.5;
	color: #454545;
	letter-spacing: 0.03em;
}
.entry-content .ys-work-client {
 font-size: 13px;
 font-weight: 600;
 line-height: 1;
	color: var(--navy);
	background: #f0f0f1;
	border: 1px solid #ccc;
 padding: 4px 8px;
}
.entry-content .ys-work-title {
 font-size: clamp(17px,1.8vw,20px);
 font-weight: 600;
 line-height: 1.5;
 background: none;
 padding: 0;
	margin: 0;
}
.entry-content .ys-work-title::before {
	display: none;
}
.entry-content .ys-work-place {
 font-size: 15px;
 font-weight: 500;
 line-height: 1.5;
 color: #666;
 margin: 0;
}
.entry-content .ys-work-place {
 margin: 3px 0 0;
}
/* ----- 表彰歴カード ----- */
.entry-content .ys-work-card .js-img-main a {
 position: unset;
}
.entry-content .ys-work-card:has(.js-img-sub) .ys-work-thumb {
	display: flex;
	flex-direction: column;
 overflow: visible;
	aspect-ratio: auto;
	background: none;
	border: 0;
}
/* 上限最新12件 後の記事案内ボタン */
.entry-content .ys-works-more {
 font-size: 16px;
 font-weight: 700;
 line-height: 1.5;
 text-align: right;
	margin: 25px 0 0;
}
.entry-content .ys-works-more a {
	border-bottom: 1px solid #333;
	padding: 0 4px 3px;
}
.entry-content .ys-works-more a::after {
	content: '\00a0\2192';
	color: var(--blue);
}
@media (hover: hover) and (min-width: 961px) {
 .entry-content .ys-works-more a:hover {
  color: var(--blue);
  border-bottom-color: var(--blue);
 }
}
@media screen and (max-width: 960px) {
	.entry-content .ys-works {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media screen and (max-width: 768px) {
 .entry-content .ys-work-title {
  font-size: 17px;
 }
 .entry-content .ys-work-place,
 .entry-content .ys-work-term {
  font-size: 14px;
 }
 .entry-content .wp-block-media-text.is-stacked-on-mobile.work .wp-block-media-text__media {
  grid-column: 1;
  grid-row: 2;
 }
 .entry-content .wp-block-media-text.is-stacked-on-mobile.work .wp-block-media-text__content {
  grid-column: 1;
  grid-row: 1;
 }
 @media screen and (max-width: 450px) {
  .entry-content .ys-works {
   grid-template-columns: 1fr;
  }
  .entry-content .ys-work-meta {
   justify-content: space-between;
  }
  .js-img-sub figure {
   width: calc((100% - 15px) / 6);
  }
 }
}


/* =========================================================
  新着情報
========================================================= */
/* 絞り込みタブ */
.entry-content .ln-news-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 25px;
 justify-content: flex-end;
}
.entry-content .ln-news-tab {
	display: inline-flex;
 font-size: var(--fs-md);
 font-weight: 700;
 line-height: 1;
 color: #444;
	background: #f0f0f0;
	align-items: center;
	padding: 12px 22px;
}
.entry-content .ln-news-tab.is-current,
.ln-news-tab.is-current {
	background: #2b2b2b;
	color: #fff;
}
/* 一覧 */
.entry-content .ln-news-list {
 padding: 0;
}
.entry-content .ln-news-row {
	border-bottom: 1px solid var(--line);
 margin: 0;
}
.entry-content .ln-news-row:first-child {
	border-top: 1px solid var(--line);
}
.entry-content .ln-news-row .ln-news-inner {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	align-items: center;
	gap: 12px 20px;
	padding: 20px 8px;
}
.entry-content .ln-news-row:has(.award-photo) .ln-news-inner {
	grid-template-columns: 448px minmax(0, 1fr);
}
.entry-content .ln-news-row:nth-child(odd) .ln-news-inner {
 background: #f6f6f6;
}
.entry-content .ln-news-thumb:not(:has(.award-photo)) {
	display: block;
	width: 220px;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #f5f8fa;
	border: 1px solid var(--line);
}
.entry-content .ln-news-row:has(.award-photo) .ln-news-thumb {
 display: flex;
 gap: 8px;
 overflow: visible;
}
.entry-content .ln-news-row:has(.award-photo) .ln-news-thumb > a {
	display: block;
	flex: 0 0 220px;
	width: 220px;
	height: 165px;
	overflow: hidden;
	background: #f2f5f8;
	border: 1px solid var(--line);
}
.entry-content .ln-news-thumb > a.no-lightbox {
 cursor: default;
}
.entry-content .ln-news-body {
 display: grid;
 gap: 6px;
}
.entry-content .ln-news-meta {
 display: flex;
 align-items: center;
 gap: 20px;
}
.entry-content .ln-news-date {
 font-size: var(--fs-md);
 font-weight: 600;
	color: #676767;
	letter-spacing: 0.02em;
	white-space: nowrap;
}
.entry-content .ln-news-cat {
	font-size: var(--fs-tag);
 font-weight: 700;
 line-height: 1;
	color: #fff;
	background: #333;
	padding: 6px 11px;
	white-space: nowrap;
}
.entry-content .ln-news-title {
 font-size: var(--fs-body);
 font-weight: 500;
 line-height: 1.7;
	color: var(--ink);
	border-bottom: 0;
}
.entry-content .ln-news-info,
.entry-content .ln-news-excerpt {
 font-size: var(--fs-sm);
 color: #797979;
 font-weight: 500;
}
.entry-content .ln-news-info {
 display: flex;
 align-items: center;
 flex-wrap: wrap;
 gap: 8px 15px;
}
/* ページャー */
.entry-content .ln-pager {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-top: 40px;
}
.entry-content .ln-pager .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 38px;
 font-size: var(--fs-body);
 font-weight: 700;
 line-height: 1;
 color: #555;
	background: #f0f0f0;
	border: 1px solid var(--line);
}
.entry-content .ln-pager .page-numbers.current {
	color: #fff;
	background: #2b2b2b;
 border-color: #2b2b2b;
}
/* 記事詳細 */
.entry-content .ln-postmeta {
	display: flex;
	gap: 15px;
	align-items: center;
 justify-content: flex-end;
	margin-bottom: 25px;
}
.entry-content .news-back-btn.ln-btn {
 margin-top: 4em;
 text-align: center;
}
.entry-content .news-back-btn a {
 background: #333;
 border-color: #333;
}

@media (hover: hover) and (min-width: 961px) {
 .entry-content .ln-news-tab:hover:not(.is-current) {
  color: var(--blue);
  background: #e3ebf2;
 }
 .entry-content .ln-news-row a:hover {
  background: #eef5fa !important;
 }
 .entry-content .ln-news-row a:hover .ln-news-title {
  color: var(--blue);
  text-decoration: underline;
 }
 .entry-content .ln-pager a.page-numbers:hover {
  color: var(--blue);
  background: #edf7ff;
  border-color: var(--blue);
 }
}
@media screen and (max-width: 768px) {
 .entry-content .ln-news-tab {
  padding: 10px 12px;
 }
 .entry-content .ln-news-row .ln-news-inner {
  grid-template-columns: clamp(180px, 30cqi, 200px) minmax(0, 1fr);
  gap: 10px 15px;
  padding: 20px 10px;
 }
 .entry-content .ln-news-row:has(.award-photo) .ln-news-inner {
  grid-template-columns: 1fr;
 }
 .entry-content .ln-news-thumb:not(:has(.award-photo)) {
  width: 100%;
  margin: 0 auto;
  grid-row: 1 / 3;
 }
 .entry-content .ln-news-row:has(.award-photo) .ln-news-thumb > a {
  width: 100%;
  max-width: 200px;
  height: auto;
  aspect-ratio: 4 / 3;
  flex: unset;
 }
 .entry-content .ln-news-body {
  display: block;
 }
 .entry-content .ln-news-meta {
  justify-content: space-between;
 }
 .entry-content .ln-news-excerpt {
  display: none;
 }
 .entry-content .ln-news-info {
  margin: 6px 0 3px;
  gap: 2px 10px;
  line-height: 1.5;
 }
 @media screen and (max-width: 450px) {
		.entry-content .ln-news-row .ln-news-inner {
			grid-template-columns: 1fr;
		}
  .entry-content .ln-news-row:has(.award-photo) .ln-news-thumb {
   flex-direction: column;
  }
  .entry-content .ln-news-row:has(.award-photo) .ln-news-thumb > a {
   max-width: unset;
  }
	}
}

/* =========================================================
  採用情報
========================================================= */
.entry-content .ln-info-cards.clm-2 {
 grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 768px) {
 .entry-content .ln-info-cards.clm-2 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
 }
}


/* =========================================================
  お問い合わせ
========================================================= */
/* 電話カード */
.entry-content .ln-tel-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 15px;
}
.entry-content .ln-tel-cards > * {
	margin-block-start: 0;
	margin-block-end: 0;
	margin-top: 0;
	margin-bottom: 0;
}
.entry-content .ln-tel-card {
	background: #f0f0f0;
	padding: 30px 25px;
	text-align: center;
}
.entry-content .ln-tel-card p {
	margin: 0;
}
.entry-content .ln-tel-card strong {
	display: block;
 font-size: 18px;
 font-weight: 700;
	color: #333;
}
.entry-content .ln-tel-card em {
	display: block;
 font-size: 30px;
 font-weight: 800;
 line-height: 1.8;
	color: var(--ink);
	font-style: normal;
}
.entry-content .ln-tel-card .is-style-note {
 font-size: var(--fs-md);
	color: #555;
}
.entry-content .ln-tel-note {
 font-size: 15px;
	text-align: center;
	color: var(--mute);
 margin-bottom: 40px;
}

/* お問い合わせフォーム（Contact Form 7） */
.entry-content .wpcf7-form {
	background: #fff;
	border: 1px solid #e2e2e2;
	padding: clamp(25px, 4vw, 40px);
}
.entry-content .form_hidden {
 display: none;
}
.entry-content .wpcf7-form p {
	margin: 0;
}
.entry-content .wpcf7-form .wpcf7-form-control-wrap {
	display: block;
}
.entry-content .cf7-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.entry-content .cf7-grid p {
	display: contents;
}
.entry-content .cf7-grid br {
	display: none;
}
.entry-content .cf7-field {
	display: block;
}
.entry-content .cf7-mt {
	margin-top: 20px;
}
.entry-content .cf7-label {
	display: block;
 font-size: var(--fs-md);
 font-weight: 700;
	color: var(--ink);
	margin-bottom: 6px;
}
.entry-content .cf7-req {
	color: #d33;
	margin-left: 8px;
}
.entry-content .wpcf7-form input[type='text'],
.entry-content .wpcf7-form input[type='email'],
.entry-content .wpcf7-form input[type='tel'],
.entry-content .wpcf7-form select,
.entry-content .wpcf7-form textarea {
 font-size: var(--fs-body);
	width: 100%;
	color: var(--ink);
	background: #fff;
	padding: 12px;
 border: 1px solid #ccc;
 border-radius: 3px;
	box-sizing: border-box;
}
.entry-content .wpcf7-form select {
	background: url("assets/img/arrow_select.png") no-repeat right 12px center;
	padding-right: 35px;
 max-width: 400px;
}
.entry-content .wpcf7-form input:focus,
.entry-content .wpcf7-form select:focus,
.entry-content .wpcf7-form textarea:focus {
	border-color: var(--blue);
}
.entry-content .wpcf7-form textarea {
	resize: vertical;
}
/* プライバシーチェック */
.entry-content .cf7-agree {
 font-size: var(--fs-md);
 text-align: center;
	margin: 20px 0 25px;
}
.entry-content .cf7-agree .wpcf7-list-item {
	margin: 0;
}
.entry-content .cf7-agree label {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}
.entry-content .cf7-agree input[type='checkbox'] {
	width: 16px;
	height: 16px;
	flex: none;
	margin: 0;
}
.entry-content .cf7-agree a {
 text-decoration: underline;
}
.entry-content .cf7-agree .wpcf7-form-control-wrap {
 font-weight: 600;
 margin-top: 10px;
}
/* cloudflare */
.cf7-cloudflare {
 text-align: center;
}
/* 送信ボタン */
.entry-content .cf7-submit {
	position: relative;
 margin-top: 3em;
}
.entry-content .cf7-submit > p {
	text-align: center;
}
.entry-content .cf7-btn {
	display: inline-block;
 width: 100%;
 max-width: 300px;
}
.entry-content .cf7-submit .wpcf7-spinner {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
}
.entry-content .wpcf7-form input[type='submit'] {
 font-size: var(--fs-lg);
 font-weight: 700;
	color: #fff;
	background: #2b2b2b;
	padding: 12px 14px;
 width: 100%;
	border: 2px solid #2b2b2b;
	cursor: pointer;
	transition: background-color 0.2s;
}
@media (hover: hover) and (min-width: 961px) {
 .entry-content .cf7-agree a:hover {
  text-decoration: none;
 }
 .entry-content .wpcf7-form input[type='submit']:hover {
  color: #2b2b2b;
  background-color: #fff;
 }
}
@media screen and (max-width: 768px) {
	.entry-content .ln-tel-cards {
		grid-template-columns: 1fr;
	}
 .entry-content .ln-tel-card {
  padding: 20px 15px;
 }
 .entry-content .ln-tel-card strong {
  line-height: 1;
 }
 .entry-content .wpcf7-form{
  padding: 20px 18px;
 }
	.entry-content .cf7-grid {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
  js/アニメーション
========================================================= */
.js-lightbox {
	display: block;
	position: relative;
	overflow: hidden;
	cursor: zoom-in;
}
.js-lightbox::after {
	content: "";
	position: absolute;
	top: 6px;
	right: 6px;
	width: 22px;
	height: 22px;
	background: rgba(0, 0, 0, 0.4);
	border-radius: 3px;
	opacity: 0;
	transition: opacity 0.2s ease;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10px 10px;
}
@media (hover: hover) and (min-width: 961px) {
 .js-lightbox:hover::after {
  opacity: 1;
 }
}