/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/


/* ====================================================================================
   CSS Coding Rules
　▼クラス・変数名
   - 全て小文字
   - 単語区切りはハイフン（kebab-case）
 　- ※WPやプラグインにより生成されるクラス名が他の表記方法をしている場合は許容

　▼CSSコメント規則
　大項目…上下に仕切り線。「共通パーツ」および「●●ページ」レベルの内容。
　中項目…下部のみ仕切り線。「具体的な共通パーツ」およびページ内のセクションレベルの内容。
　小項目・補足…1行コメントアウト /  /形式。都度、個別具体的なメモを残す際に使用。
　 ==================================================================================== */



/* ====================================================================================
 	 共通パーツ設定
 　==================================================================================== */
/* 
変数
========================================== */
/* カラー */
:root {

	/* primitive */
	--white:#FEFEFE;
	--black:#282828;
	--gray:#F0F0F0;
	--blue:#0A4DA6;
	--dark-blue:#2B4466;
	--red:#BF0413;
	--dark-red:#92020E;
		
	/* semantic */
	--font-color-default:var(--black);
	--background-color-default:var(--white);
	--main-color:var(--blue);
	--main-color-alternate:var(--dark-blue);
	--accent-color:var(--red);
	--accent-color-alternate:var(--dark-red);
}

/* フォントサイズ */
:root{
	--h1-font-size-default:48px;
	--h1-font-size-font-english:32px;
	--h2-font-size-default:40px;
	--h3-font-size-default:24px;
	--h3-font-size-num:32px;
}
@media (max-width:768px) {
	:root{
		--h1-font-size-default:24px;
		--h1-font-size-font-english:20px;
		--h2-font-size-default:26px;
		--h3-font-size-default:18px;
		--h3-font-size-num:20px;
	}
}

/* 余白 */
:root {
	--section-header-margin-top: 120px;
	--page-header-margin-bottom: 72px;
	--section-vertical-spacing: 80px;
}
@media (max-width:768px) {
	:root{
		--page-header-margin-bottom:36px;
		--section-vertical-spacing: 36px;
	}
}

/* 
配色
========================================== */

/* フォントデフォルト */
body {
	letter-spacing:0.03em;
	color:var(--font-color-default);
	background-color:var(--background-color-default) ;
}
.font-english{
	font-family: "Oswald", sans-serif;
	font-weight: 300;
}
p {
	line-height:2.00 !important;
	font-weight: 400;
}

/* 
ヘッダー設定
========================================== */
/* ヘッダーメニューのデフォルト装飾打消し */
.global-nav-list>li:before {
	display: none;
}
.global-nav-list>li .global-nav-name {
	font-weight: 400;
}
#site-header {
	position: fixed;
}
.page-id-26 .site-body,
.page-header {
	margin-top: 93.58px;	
} 

@media (max-width:768px) {
	.page-id-26 .site-body,
	.page-header {
		margin-top: 64px;	
} 
}
@media (min-width: 992px) {
.site-header {
	box-sizing: border-box !important;
	height: 93px !important;
}
.site-header-logo {
	padding-top: 0px !important;
}
.site-header-logo img {
	max-height: 90px !important;
}
}

/* 下層ページ見出し画像 */
.page-header {
    color: #fefefe;
	background-image: url(../../uploads/2025/10/header_background-scaled.jpg);
	padding: 24px 0;
}
@media (max-width:768px) {
	.page-header {
	padding: 12px 0;
}
}

/* 
パンくず設定
========================================== */
.breadcrumb {
	border: none !important;
	margin-bottom: var(--page-header-margin-bottom);
}
.breadcrumb-list li:after {
	content: '-';
}

/* 
ページ内コンテンツ デフォルトの上下余白の削除
========================================== */
.site-body{
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.main-section--margin-bottom--on {
	margin-bottom: 0 !important;
}


/* 
見出し設定
========================================== */
/* h1 */
h1.page-header-title {
  font-family: "Noto Sans JP", sans-serif; 
  font-style: normal;
  font-weight: 400 !important;
  font-size: var(--h1-font-size-default);
}
h1.page-header-title .font-english {
	font-size: var(--h1-font-size-font-english);
}

/* 中見出し・Fonts PluginでZen Old Mincho指定している */

/* デフォルトの装飾打ち消し */
h2,
h3,
h3:where(:not(.wp-block-post-title)):after {
	border: none !important;
}

/* h2 */
h2 {
	text-align:center;
	font-size: var(--h2-font-size-default);
	margin-top: var(--section-vertical-spacing) !important;
}
@media (max-width:768px) {
	h2 {
		margin-top: 30px !important;
		margin-bottom: 16px !important;
	}
}

.h2-upper {
	font-size: var(--_font-size); /* 本文と同等 */
}
.h2-highlighted {
	color: var(--accent-color);
}

/* h3 */
h3 {
	font-size: var(--h3-font-size-default);
	display: flex; 
	align-items: center;
	gap: 12px;
}
.h3-num {
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	font-size: var(--h3-font-size-num);
	color: var(--main-color);
}

/* 
リード文等改行位置の調整
========================================== */
.br-sp {
	display: none;
}
@media (max-width:768px) {
	.br-pc{
		display: none;
	}
	.br-sp{
		display: block;
	}
}



/* 
画像設定
========================================== */
img {
	border-radius: 5px;
	display: block;
	box-shadow: 0px 0px 4px var(--gray);
}
header img,
footer img {
	box-shadow: none;
}

/* 
テーブル表示設定
========================================== */
/* テーブルは上端揃え・各行の下線のみ表示 */
tr {
	padding: 32px 20px;
}
.wp-block-table td,
.wp-block-table th {
  border-top: none !important;
  border-right: none !important;
  border-left: none !important;
  border-bottom: 1px solid var(--gray) !important;
  padding: 32px 0;
  vertical-align: super;
  font-size: var(--_font-size); 
}
/* テーブル左列のみ色文字・左端の余白調整 */
.wp-block-table td:nth-of-type(odd) {
	color:var(--accent-color);
	width: 180px;
}
@media (max-width:768px) {
	.wp-block-table td,
	.wp-block-table th {
		padding: 12px 0;
	}
}

/* 
お問い合わせへの遷移ボタン表示設定
========================================== */
/* セクションタイトルを英字フォント変更 */
h2.contact-title{
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-size: 60px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}
@media (max-width:768px) {
	h2.contact-title{
	font-size: 36px;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	}
}

/* 背景画像・サイズ設定 */
.site-body-bottom {
	background-image: url(../../uploads/2025/10/contact_background.jpg);
	background-size:cover;
	color:#fefefe;
	padding:60px 0;
}
@media (max-width:768px) {
	.site-body-bottom {
		padding:30px 0;
	}
}
/* 余白調整 */
#block-9 {
	margin-top: 80px;
}
@media (max-width:768px) {
	#block-9 {
		margin-top: 30px;
	}
}
/* ボタン表示設定 */
.contact-btns{
	gap:0;
}
.contact-btns .wp-block-button {
	height:75px;
}
/* 電話でのお問い合わせ */
.contact-area-left,
.contact-area-left .tel-btn a{
	background-color:var(--white);
	color:var(--blue);
}
.contact-area-left p {
	border-bottom:1px solid var(--main-color);
	width:fit-content;
	margin:auto;
}
.contact-area-left .tel-btn a {
	border:2px solid var(--main-color);
}
.contact-area {
	padding:35px 0;
}
/* メールでのお問い合わせ */
.contact-area-right {
	background-color:var(--accent-color-alternate);
	color:var(--white);
}
.contact-area-right .mail-btn a{
	background-color:var(--white);
	color:var(--accent-color-alternate);
}
.contact-area-right p {
	border-bottom:1px solid var(--white);
	width:fit-content;
	margin:auto;
}
.contact-area-right .mail-btn a {
	border:2px solid var(--white);
}
/* footerとの余白詰め */
:where(.wp-block-columns){
	margin-bottom:0 !important;
}

/* 
フッター設定
========================================== */
.site-footer {
	color:var(--white);
	background:var(--black);
	border-top:none;
}

/* footerウィジェッドエリア表示調整 */
footer .row .col-lg-4 {
	max-width: 25% !important;
	flex-basis: 25%;
}
footer .row .col-lg-4:first-of-type {
	max-width: 50% !important;
	flex-basis: 50%;
}
@media (max-width:768px) {
	.row {
		flex-direction: column;
	}
	footer .row .col-lg-4,
	footer .row .col-lg-4:first-of-type {
		max-width: 100% !important;
		flex-basis: 100%;
	}
}

/* フッターリンクの文字・赤線の装飾 */
.site-footer a{
	color:var(--white);
}
.site-footer a::before {
	content: "-";
	color: var(--accent-color);
	margin-right: 3px;
}
.site-footer-copyright p:last-of-type{
	display:none;
}
@media (max-width:991px) {
	.widget_nav_menu div ul li a{
		padding-left: 0;
	}
}

/* 
背景塗りつぶしセクション
========================================== */
/* 親要素の左右の余白を無視して全幅塗りつぶし */     
.painted-100vw {
	margin-left: calc(-1 * (100vw - 100%)/2);
	margin-right: calc(-1 * (100vw - 100%)/2);
    box-sizing: border-box;
	background-color: var(--main-color-alternate);
	color: var(--white);
	padding: 60px 0 80px;
}
.painted-100vw h2 {
	margin-top: 0 !important;
}
@media (max-width:768px) {
	.painted-100vw {
		padding: 24px 0 48px;
	}
}

/* デフォルトのmax-widthをビューポート幅に関わらずvar(--max-width-default)で取得する設定 */
:root {
    --max-width-default: 1140px;
}
@media (min-width: 576px) {
	:root {
		--max-width-default: 540px;
	}
}
@media (min-width: 768px) {
	:root {
		--max-width-default: 720px;
	}
}
@media (min-width: 992px) {
	:root {
		--max-width-default: 960px;
	}
}
@media (min-width: 1200px) {
    :root {
        --max-width-default: 1140px;
    }
}

/* インナーセクションに他セクション同様のmax-width設定し表示崩れ防止 */
.painted-100vw-inner {
	max-width: var(--max-width-default);
}
.painted-100vw-inner div {
	margin-left:none !important;
	margin-right:none !important;
}
/* 
追従ボタン設定
========================================== */
.page_top_btn {
	background-color:var(--accent-color-alternate);
}


/* ====================================================================================
 	 TOPページ
 　==================================================================================== */


 /* 
FV
========================================== */
body.page-id-26 {
	/* background-image: url(http://★largo.local/wp-content/uploads/2025/11/BG-scaled.png); */
	background-image: url(/wp-content/uploads/2025/11/BG-scaled.png);
	background-size: 100% auto;
	background-position: top;
}
@media (max-width:768px) {
	body.page-id-26 {
		background-size: contain;
		background-position-y: calc(clamp(9.625rem, 0.083rem + 40.71vw, 19.625rem)/3);
	}
}

.wp-block-cover.alignfull.is-light {
	background-image: url(/wp-content/uploads/2025/10/top_img_0.jpg);
	background-position-x: right;
	background-position-y: top;
	background-repeat: no-repeat;
	background-size: 70% auto;
	/* min-height: 630px !important; */
	width: 100vw;
	height: clamp(19.688rem, 0.017rem + 40.93vw, 65.5rem);
	/* aspect-ratio: 1440/590 !important; */
	/* max-height: 1048px; */
	/* position: relative; */
}
.vk-mobile-nav {
	height: unset !important;
}

#post-26 .wp-block-cover.alignfull.is-light .wp-block-cover__inner-container {
	margin-left: 6%;
}
#post-26 .wp-block-cover.alignfull.is-light .wp-block-cover__inner-container p {
	font-family: "Zen Old Mincho", serif;
	font-size: clamp(1.188rem, 0.624rem + 1.17vw, 2.5rem);
	font-weight: bold;
}
#post-26 .wp-block-cover.alignfull.is-light .wp-block-cover__inner-container p .fv-white-bg {
	
	background-color: white;
}
@media (max-width:768px) {
	#post-26 .wp-block-cover.alignfull.is-light {
		min-height: unset !important;
		height: clamp(9.625rem, 0.083rem + 40.71vw, 19.625rem);
	}
	#post-26 .wp-block-cover.alignfull.is-light .wp-block-cover__inner-container .wp-block-column {
		flex-basis: 100% !important;
	}
}
@media (max-width:477px) {
	.br-fv {
		display: none;
	}
}

.highlighted-alternate {
	color: var(--main-color);
}

#post-26 .wp-block-cover.alignfull.is-light .wp-block-columns {
	margin-top: 0;
}

.h2-top {
	font-weight: 400;
	font-size: calc(var(--h2-font-size-default)*1.8);
}
.lead-head {
	font-family: "Zen Old Mincho", serif;
	font-weight: bold;
	font-size: var(--h3-font-size-default);
}

#post-26 .wp-block-columns {
	margin-top: calc(var(--section-vertical-spacing)*2);
	gap:60px;
}
@media (max-width:781px) {
	#post-26 .wp-block-columnse {
		gap:20px;
	}
	#post-26 .wp-block-columns.cl-reverse {
		flex-direction: column-reverse;
	}
}

#post-26 h3 {
	display: block;
	font-family: "Oswald", sans-serif;
	font-size: calc(var(--h3-font-size-default)*2.5);
	font-weight: 300;
	letter-spacing: 0.1em;
	line-height: 0.5;
	margin-block-end: 0 !important;
}
.highlighted {
	color: var(--accent-color);
}
#post-26 h3 .top-h3-sub {
	font-family: "Zen Old Mincho", serif;
	font-size: calc(var(--h3-font-size-default)*0.834);
	font-weight: bold;
	color: var(--main-color);
	line-height: 0.8;
}

#post-26 .wp-block-button__link {
	background-color: var(--white);
	color: var(--font-color-default);
	box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
}
#post-26 .wp-block-button__link:after {
	content: ">";
	color: var(--accent-color);
	margin-left: 8px;
}

#post-26 .painted-100vw {
	padding-top: 48px !important;
	padding-bottom: 48px !important;
	background-image: url(/wp-content/uploads/2025/12/cta_001.png);
	background-size: cover;
	background-repeat: no-repeat;
	margin-top: calc(var(--section-vertical-spacing)*2);
}
#post-26 .painted-100vw-inner{
	padding-bottom: 30px !important;
}
@media (max-width:768px) {
	#post-26 .painted-100vw-inner{
		max-width: 90% !important;
	}
}

#post-26 .painted-100vw h2 {
	font-size:calc(var(--h2-font-size-default)*1.5) ;
	margin-block-end:0 ;
	padding-bottom: 0;
	letter-spacing: 0.15em;
}
#post-26 .painted-100vw p {
	font-weight: 300;
}

#post-26 .painted-100vw .wp-block-button__link {
	background-color: var(--accent-color-alternate);
	color: var(--white);
	box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
	transition: .4s;
	padding: 20px 64px;
}
#post-26 .painted-100vw .wp-block-button__link:hover {
	background-color: var(--accent-color);
}
#post-26 .painted-100vw .wp-block-button__link:after {
	content: ">";
	color: var(--white);
	margin-left: 8px;
}

/* ====================================================================================
 	ラルゴについてページ
 　==================================================================================== */
 /* 
3つの心掛け
========================================== */
.dignity {
	margin-bottom: var(--section-vertical-spacing);
}
.dignity .wp-block-columns {
	padding: 60px 24px;
	gap:50px;
	border-bottom: solid 1px var(--gray);
}


 /* 
ラルゴの４つの強み
========================================== */
.four-strengths-content .wp-block-columns {
	gap: 60px;
}
.four-strengths-content .wp-block-columns:last-of-type {
	margin-top: 60px;
}
.four-strengths-content .wp-block-column {
	padding: 48px 32px;
	border: solid 1px var(--white);
	border-radius: 8px;
}
.four-strengths-content .wp-block-column h3 {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	border-bottom: solid 2px var(--accent-color) !important;
}
.four-strengths-content .wp-block-column .h3-num {
	color: var(--white) !important;
}
.table-deveoment {
	margin-bottom:var(--section-vertical-spacing);
}
@media (max-width:768px) {
	.four-strengths-content .wp-block-columns {
		gap: 24px;
	}
	.four-strengths-content .wp-block-columns:last-of-type {
		margin-top: 24px;
	}
	.four-strengths-content .wp-block-column {
		padding: 24px 16px;
	}
}


/* ====================================================================================
 	採用情報ページ
 　==================================================================================== */
 /* 
代表メッセージ
========================================== */
.greeting {
	margin-top: var(--section-vertical-spacing);
}
.greeting .wp-block-columns {
	width: max(1180px, 82%);
}
/* greeting セクション内のカラム比率調整 */
.greeting .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
  flex: 0 0 auto;        /* flex-grow / shrink の影響を止める */
  flex-basis: auto;      /* 一旦リセット */
}
/* 1つ目のカラム（左：社長写真） */
.greeting .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:first-child {
  flex-basis: 40%;
}
/* 2つ目のカラム（右：メッセージ） */
.greeting .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(2) {
  flex-basis: 60%;
}

/* 左カラム：社長写真 */
.greeting .wp-block-column .wp-block-image {
	width: 100%;
}
.greeting .wp-block-column .wp-block-image img {
	width: 75%;
	display: block;
	margin: 0 auto;
	box-shadow: none;
}

.greeting .wp-block-column:first-child p {
	margin-top: 30px;
}
.greeting-boss-upper {
	font-weight: 300;
	letter-spacing: 0.15em;
	padding-bottom: 6px;
	border-bottom: solid 1px var(--accent-color);
}
.greeting-boss-name {
	font-weight: bold;
	font-size: 28px;
	font-family: "Zen Old Mincho", serif;
	display: block;
	margin-top: 12px;
}

/* 右カラム：メッセージ */
.greeting-head {
	padding: 8px;
	color: var(--font-color-default);
	background-color: var(--white);
	border-radius: 2px;
	text-align: center;
}
.greeting .wp-block-column:nth-child(2) p {
	font-weight: 300;
}
/* 末尾の文 */
.recommendation {
	font-size: 28px;
	font-family: "Zen Old Mincho", serif;
	padding-bottom: 6px !important;
	border-bottom: solid 2px var(--accent-color);
	width: fit-content;
	margin: var(--section-vertical-spacing) auto;
}
@media (max-width:768px) {
	.recommendation {
		font-size: 14px;
		padding-bottom: 4px !important;
	}
}

/* ====================================================================================
 	企業情報ページ
 　==================================================================================== */
 /* 
3つの心掛け
========================================== */
.access-map h3 {
	border-bottom: solid 1px var(--main-color) !important;
}
.access-map {
	padding-bottom: var(--section-vertical-spacing);
}
@media (max-width:768px) {
	.access-map {
		padding-top: 0;
	}
}



/* ====================================================================================
 	お問い合わせページ
 　==================================================================================== */
 /* 
プログレスバー
========================================== */
/* デフォルトの装飾打消し */
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number,
.smf-progress-tracker__item[aria-current=false] .smf-progress-tracker__item__number {
	background-color: unset;
}
.smf-progress-tracker__item:after, 
.smf-progress-tracker__item:before {
	display: none !important;
}

/* 現在地：濃い背景+白抜き文字 */
.smf-progress-tracker__item[aria-current=true]  {
	background-color: var(--main-color-alternate);
}
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number,
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text {
	color: var(--white) !important;
}

/* 現在地以外：グレー背景+黒文字 */
.smf-progress-tracker__item[aria-current=false]  {
	background-color: var(--gray) !important;
}
.smf-progress-tracker__item[aria-current=false] .smf-progress-tracker__item__number,
.smf-progress-tracker__item[aria-current=false] .smf-progress-tracker__item__text {
	color: var(--font-color-default);
}

.smf-progress-tracker__item{
	flex-direction: row !important;
	justify-content: center;
	padding: 20px 0;
}
.smf-progress-tracker__item:nth-of-type(2){
	border-left: solid 2px var(--background-color-default);
	border-right: solid 2px var(--background-color-default);
}
.smf-progress-tracker__item__text {
	margin-top: 0 !important;
}
 /* 
入力フォーム上下の文章の調整
========================================== */
.smf-form p {
	margin: 32px 0;
}
 /* 
入力フォームの調整
========================================== */
.smf-item {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin-top: 6px;
}
.smf-item__col--label {
	width: 27%;
	background-color: var(--gray);
	padding: 12px 16px;
}
.smf-item__col--controls {
	width:72%;
}
.smf-form .smf-item__col--controls .smf-select-control {
	display: block !important;
}

/* data-validations="required" を含む項目に「必須マーク」を付与 */
.smf-item:has([data-validations~="required"]) 
.smf-item__label__text::after {
  content: "※必須";
  color: var(--accent-color);
  margin-left: 0.25em;
}
.smf-item__label__text {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
.smf-error-messages {
	margin: 0 0 16px;
}

@media (max-width: 768px) {
	.smf-item {
		flex-direction: column;
	}
	.smf-item__col--label, 
	.smf-item__col--controls{
		width: 100%;
	}
	.smf-item__col--label {
		margin-top: 12px;
	}
}
 /* 
ボタンの調整
========================================== */
.smf-action {
	margin: calc(var(--section-vertical-spacing)/1.5) 0;
}
.smf-action button {
	margin: 0 auto;
	display: block !important;
}
.smf-action .smf-button-control__control {
	padding: 24px 32px;
	font-size: 24px;
	color: var(--white);
	background-color: var(--main-color-alternate) !important;
	background-image: none !important;
	transition: .4s;
}
@media (max-width:768px) {
	.smf-action .smf-button-control__control {
		padding:12px 16px;
		font-size: 18px;
	}
}
.smf-action .smf-button-control__control:hover {
	background-color: var(--main-color) !important;
}
.smf-action .smf-button-control__control[data-action="back"] {
	background-color: var(--gray) !important;
	color:  var(--font-color-default)!important;
}
 /* 
cloudflare ウィジェット調整
========================================== */
.snow-monkey-forms-turnstile {
	display: block;
	width: 296px;
	margin: 0 auto 40px;
}
.snow-monkey-forms-turnstile div input {
	display: block;
	width: 282px;
}



/* ====================================================================================
 	 プライバシーポリシーページ
 　==================================================================================== */
/* .pp-table table td {
  vertical-align: super; /* 縦中央揃え */


.pp-table table td:nth-of-type(odd) {
	font-family: "Oswald", sans-serif;
	font-weight: bold;
	font-size: 16px;
	color: var(--main-color);
	width: 25px;
}

.cc-txt {
	margin-bottom: 0 !important;
}
.cc-table{
margin-bottom: var(--section-vertical-spacing);
}

.privacy-handling-header {
	font-weight:bold;
	color:var(--accent-color);
	margin-bottom:6px;
}
















