/*
Theme Name: AIHARA Transport Theme
Author: カワセミデザイン舎
Author URI: https://kawasemi-design.com/
Description: The X-T9 is designed on the premise of full site editing function, and the user can flexibly customize the header, footer, etc. This theme is mainly intended for use on business sites.
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
Version: 1.37.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: x-t9
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, full-site-editing, block-patterns, block-styles, threaded-comments

X-T9 WordPress Theme, (C) 2022-2025 Vektor,Inc.
X-T9 is distributed under the terms of the GNU GPL.
*/

:root {
    --wp--preset--color--primary: #006948;
    --wp--preset--color--primary-hover: #028C61;
    --wp--preset--color--primary-dark: #00452F;
    --wp--preset--color--primary-light: #16ED94;
    --wp--preset--color--secondary: #C8FF00;
    --wp--preset--color--accent-color: #F59F0A;
    --wp--preset--color--text-normal: #000000;
    --wp--preset--color--text-secondary: #777777;
    --wp--preset--color--text-hover: #006948;
    --wp--preset--color--theme-white: #FFFFFF;
    --wp--preset--color--theme-black: #000000;
    --wp--preset--color--bg-primary: #FAFAFA;
 
    --wp--preset--color--danger: #C00000;
    --wp--preset--gradient--gradient-01: linear-gradient(90deg, #006948 0%, #16ED94 100%);
    --wp--preset--gradient--gradient-02: linear-gradient(90deg, #006948 0%, #C8FF00 100%);
    --wp--preset--gradient--gradient-03: linear-gradient(90deg, #028C61 0%, #025038 100%);
    --wp--preset--font-size--small: clamp(12px, calc(12px + (100svw - 360px) * ( (14 - 12) / (1200 - 360)) ), 14px);
    --wp--preset--font-size--medium: clamp(14px, calc(14px + (100svw - 360px) * ( (16 - 14) / (1200 - 360)) ), 16px);
    --wp--preset--font-size--large: clamp(16px, calc(16px + (100svw - 360px) * ( (18 - 16) / (1200 - 360)) ), 18px);
    --wp--preset--font-size--x-large: clamp(18px, calc(18px + (100svw - 360px) * ( (20 - 18) / (1200 - 360)) ), 20px);
    --wp--preset--font-size--x-small: clamp(11px, calc(11px + (100svw - 360px) * ( (12 - 11) / (1200 - 360)) ), 12px);
    --wp--preset--font-size--xx-large: clamp(20px, calc(20px + (100svw - 360px) * ( (24 - 20) / (1200 - 360)) ), 24px);
    --wp--preset--font-size--xxx-large: clamp(24px, calc(24px + (100svw - 360px) * ( (28 - 24) / (1200 - 360)) ), 28px);
    --wp--preset--font-size--huge: clamp(28px, calc(28px + (100svw - 360px) * ( (32 - 28) / (1200 - 360)) ), 32px);
    --wp--preset--font-size--x-huge: clamp(32px, calc(32px + (100svw - 360px) * ( (40 - 32) / (1200 - 360)) ), 40px);
    --wp--preset--font-size--xx-huge: clamp(40px, calc(40px + (100svw - 360px) * ( (48 - 40) / (1200 - 360)) ), 48px);
    --wp--preset--font-size--xxx-huge: clamp(48px, calc(48px + (100svw - 360px) * ( (64 - 48) / (1200 - 360)) ), 64px);
    --wp--preset--font-size--4-x-huge: clamp(56px, calc(56px + (100svw - 360px) * ( (80 - 56) / (1200 - 360)) ), 80px);
    --wp--preset--font-size--5-x-huge: clamp(64px, calc(64px + (100svw - 360px) * ( (96 - 64) / (1200 - 360)) ), 96px);
    --wp--preset--font-size--6-x-huge: clamp(80px, calc(80px + (100svw - 360px) * ( (120 - 80) / (1200 - 360)) ), 120px);
    --wp--preset--font-family--system-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    --wp--preset--font-family--noto-sans-jp: 'Noto Sans JP', sans-serif;
    --wp--preset--font-family--barlow-condensed: 'Barlow Condensed', sans-serif;
    --wp--preset--font-family--poppins: 'Poppins', sans-serif;
    --wp--preset--spacing--20: clamp(0.25rem, 0.162rem + 0.376vw, 0.5rem);
    --wp--preset--spacing--30: clamp(0.5rem, 0.412rem + 0.376vw, 0.75rem);
    --wp--preset--spacing--40: clamp(0.75rem, 0.662rem + 0.376vw, 1rem);
    --wp--preset--spacing--50: clamp(1.25rem, 1.162rem + 0.376vw, 1.5rem);
    --wp--preset--spacing--60: clamp(1.5rem, 1.324rem + 0.751vw, 2rem);
    --wp--preset--spacing--70: clamp(1.75rem, 1.310rem + 1.878vw, 3rem);
    --wp--preset--spacing--80: clamp(2rem, 1.296rem + 3.005vw, 4rem);
    --wp--preset--spacing--10: clamp(0.2rem, 0.182rem + 0.075vw, 0.25rem);
    --wp--preset--spacing--85: clamp(2.5rem, 1.620rem + 3.756vw, 5rem);
    --wp--preset--spacing--90: clamp(3rem, 1.944rem + 4.507vw, 6rem);
    --wp--preset--spacing--100: clamp(4rem, 2.592rem + 6.009vw, 8rem);
    --wp--preset--border-radius--10: clamp(0.2rem, 0.182rem + 0.075vw, 0.25rem);
    --wp--preset--border-radius--20: clamp(0.25rem, 0.162rem + 0.376vw, 0.5rem);
    --wp--preset--border-radius--30: clamp(0.5rem, 0.412rem + 0.376vw, 0.75rem);
    --wp--preset--border-radius--40: clamp(0.75rem, 0.662rem + 0.376vw, 1rem);
    --wp--preset--border-radius--50: clamp(1.25rem, 1.162rem + 0.376vw, 1.5rem);
    --wp--preset--border-radius--60: clamp(1.5rem, 1.324rem + 0.751vw, 2rem);


	--wp--custom--radius--button: 100rem;

}

/**
 * AIHARA Transport Theme Styles
 * 
 * このファイルにはテーマのカスタムスタイルが含まれています。
 * ブロックのデフォルトスタイルはtheme.jsonで管理されています。
 */

 /* ==========================================================================
   Custom Properties (CSS Variables)
   ========================================================================== */
:root {
	--transition-base: all 0.3s ease;
	--transition-fast: all 0.15s ease;
	--transition-slow: all 0.6s ease;
	--shadow-sm: 0 0px var(--wp--preset--spacing--20) rgba(0, 0, 0, 0.08);
	--shadow-md: 0 0px var(--wp--preset--spacing--40) rgba(0, 0, 0, 0.15);
	--shadow-lg: 0 0px var(--wp--preset--spacing--50) rgba(0, 0, 0, 0.2);
	--shadow-xl: 0 0px var(--wp--preset--spacing--60) rgba(0, 0, 0, 0.25);
	--shadow-primary-md: 0 0px var(--wp--preset--spacing--40) rgba(22 237 148 /0.25);
}

 /* ==========================================================================
   全体
   ========================================================================== */
 /*スムーズスクロール*/  
:root {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    :root {
        scroll-behavior: auto;
    }
}
 /* ==========================================================================
   グラデーションのエラーを解消
   ========================================================================== */

.has-gradient01-gradient-background {
  background: var(--wp--preset--gradient--gradient-01) !important;
}
.has-gradient02-gradient-background {
  background: var(--wp--preset--gradient--gradient-02) !important;
}
.has-gradient03-gradient-background {
  background: var(--wp--preset--gradient--gradient-03) !important;
}

/* ==========================================================================
   ノイズグラデーション背景
   ========================================================================== */
/*
   .noise-filter .wp-block-cover__background:before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url(/wp-content/uploads/2025/12/filter-noise1.png );
    mix-blend-mode: screen;
}*/

/*強調箇所背景 装飾*/
/*
.blue-section .wp-block-cover__inner-container::before{
	position: absolute;
	content:'';
	background-image: url(/wp-content/uploads/2026/01/bg-accent_LeftTop.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	width: min( 50vw , 420px);
	aspect-ratio: 387 / 451;
	left: -2%;
	top:-2%;
	mix-blend-mode: lighten;
	opacity: .3;
	z-index: 0;
}
.blue-section .wp-block-cover__inner-container::after{
	position: absolute;
	content:'';
	background-image: url(/wp-content/uploads/2026/01/bg-accent_RightBottom.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	width: min( 50vw , 420px);
	aspect-ratio: 387 / 451;
	right: -2%;
	bottom:-2%;
	mix-blend-mode: lighten;
	opacity: .3;
	z-index: 0;
}
*/

/* ==========================================================================
   Button Styles
   ========================================================================== */

/* ボタン基本スタイル */
.wp-block-button__link,
.wp-element-button {
	--button-color:var(--wp--preset--color--primary);
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	transition: var(--transition-base);
	background-color: var(--button-color);
	color: var(--wp--preset--color--theme-white) ;
	position: relative;
}
.wp-block-button .has-background {
    overflow: hidden;
}

/* ボタンホバー効果 */
.wp-block-button__link:hover,
.wp-element-button:hover {
	/* transform: translateY(2px); */
	box-shadow: var(--shadow-primary-md);
	color: var(--button-color) ;
	background-color: var(--wp--preset--color--theme-white) ;
}
.wp-block-button__link.has-background:hover:where(:not(.has-primary-background-color)) {
    filter: unset;
}
.wp-block-button__link:active,
.wp-element-button:active {
	transform: translateY(0);
}

/* ボタンバリエーション: Outline */
.is-style-custom-outline .wp-block-button__link {
	--button-color:var(--wp--preset--color--primary);
	color:var(--button-color);
	background-color: transparent ;
	border: 2px solid var(--button-color);
}
.is-style-custom-outline .wp-block-button__link:hover {
	color: var(--wp--preset--color--theme-white) ;
	background-color: var(--button-color);
}

/* ボタンバリエーション: White */
.is-style-white .wp-block-button__link {
	--button-color:var(--wp--preset--color--theme-white);
	background-color: var(--button-color);
	color: var(--wp--preset--color--primary);
	border-color: var(--button-color) ;	
}
.is-style-white .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary) ;
    color: var(--wp--preset--color--theme-white);
}
/* ボタンバリエーション: CV */
.has-icon-envelope .wp-block-button__link {
	background:var(--wp--preset--gradient--cta-gradient);
	color: var(--wp--preset--color--theme-white);
}
.has-icon-envelope .wp-block-button__link:hover {
	filter: brightness(125%);
}


/* アイコン付きボタン（Font Awesome使用時） */
.wp-block-button__link::before,
.wp-block-button__link::after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-left: 0.25em;
}
.wp-block-button.has-icon-arrow .wp-block-button__link::after {
	content: "\f061"; /* 右矢印 */
}

.wp-block-button.has-icon-envelope .wp-block-button__link::before {
	content: "\f0e0"; /* メール */
	margin-left: 0em;
	margin-right: 0.25em;
}
.wp-block-button.has-icon-phone .wp-block-button__link::before {
	content: "\f095"; /* 電話 */
	margin-left: 0em;
	margin-right: 0.25em;	
}

/* ========================================
   Icon Circle 丸アイコン
   ======================================== */

/* Font Awesome プラグイン SVG 基本スタイル */
.wp-block-font-awesome-icon.icon-circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 100dvw;
	border-style: solid;
	transition: var(--transition-base);
	flex-shrink: 0;
	background-color: transparent;
}

.wp-block-font-awesome-icon.icon-circle svg {
	transition: color var(--transition-slow);
}

.wp-block-font-awesome-icon.icon-circle{
	width: calc(2 * var(--circle-icon-size));
	aspect-ratio: 1/1;
	border-width: calc((var(--circle-icon-size) / 8) - 1px );
	border-color: var(--circle-icon-color);
}
.wp-block-font-awesome-icon svg {
	font-size: var(--circle-icon-size) !important;
	width: var(--circle-icon-size);
	aspect-ratio: 1/1;
	color: var(--circle-icon-color) !important;
}

/* サイズバリエーション（SVG用） */
.wp-block-font-awesome-icon.icon-circle-xsmall {
	--circle-icon-size: var(--wp--preset--font-size--x-small);
}
.wp-block-font-awesome-icon.icon-circle-small {
	--circle-icon-size: var(--wp--preset--font-size--medium);
}
.wp-block-font-awesome-icon.icon-circle-medium {
	--circle-icon-size: var(--wp--preset--font-size--large);
}
.wp-block-font-awesome-icon.icon-circle-large {
	--circle-icon-size: var(--wp--preset--font-size--xx-large);
}
.wp-block-font-awesome-icon.icon-circle-xlarge {
	--circle-icon-size: var(--wp--preset--font-size--huge);
}

/* 色バリエーション（SVG用） */
/*プライマリ*/
.wp-block-font-awesome-icon.icon-circle-primary {
	--circle-icon-color: var(--wp--preset--color--primary);	
	--circle-icon-color-hover: var(--wp--preset--color--theme-white);	
}

/*BG03*/
.wp-block-font-awesome-icon.icon-circle-bg03 {
	--circle-icon-color: var(--wp--preset--color--bg-03);
	--circle-icon-color-hover: var(--wp--preset--color--theme-white) !important;
}

/*白*/
.wp-block-font-awesome-icon.icon-circle-white {
	--circle-icon-color: var(--wp--preset--color--theme-white);
	--circle-icon-color-hover: var(--wp--preset--color--primary) !important;
}

/*アクセント*/
.wp-block-font-awesome-icon.icon-circle-accent {
	--circle-icon-color: var(--wp--preset--color--accent);
	--circle-icon-color-hover: var(--wp--preset--color--theme-white) !important;
}

/*ホバー時のカラー*/
a:has(.wp-block-font-awesome-icon):hover .wp-block-font-awesome-icon {
	background-color: var(--circle-icon-color);
}
a:has(.wp-block-font-awesome-icon):hover .wp-block-font-awesome-icon svg {
	color: var(--circle-icon-color-hover) !important;
}

/* 塗りつぶしバリエーション（SVG用） */
/*プライマリ*/
.wp-block-font-awesome-icon.icon-circle-filled-primary {
	border-color: var(--wp--preset--color--primary);
	background-color: var(--wp--preset--color--primary);
}
.wp-block-font-awesome-icon.icon-circle-filled-primary svg {
	color: var(--wp--preset--color--theme-white) !important;
}
.wp-block-font-awesome-icon.icon-circle-filled-primary:hover {
	background-color: var(--wp--preset--color--primary-hover);
	border-color: var(--wp--preset--color--primary-hover);
}

/*アクセント*/
.wp-block-font-awesome-icon.icon-circle-filled-accent {
	border-color: var(--wp--preset--color--accent);
	background-color: var(--wp--preset--color--accent);
}
.wp-block-font-awesome-icon.icon-circle-filled-accent svg {
	color: var(--wp--preset--color--theme-white) !important;
}
.wp-block-font-awesome-icon.icon-circle-filled-accent:hover {
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}

/* リンク対応（SVG用） */
a .wp-block-font-awesome-icon.icon-circle {
	cursor: pointer;
}


/* アクセシビリティ（SVG用） */
.wp-block-font-awesome-icon.icon-circle:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

/* ==========================================================================
   セクションタイトル
   ========================================================================== */

.section-title-en {
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-size: var(--wp--preset--font-size--xxx-huge);
	font-style: italic;
	font-weight: 800;
	line-height: 1;
}

.section-title {
	font-size: var(--wp--preset--font-size--xx-large);
	font-weight: 900;
}

.section-description {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.5;
}

/* ==========================================================================
   スモールタイトル
   ========================================================================== */

.is-style-small-title{
	font-size: var(--wp--preset--font-size--huge);
	font-family: var(--wp--preset--font-family--barlow-condensed);
    font-style: italic;
    font-weight: 800;
    line-height: 1;
	position: relative;
	padding-left: 1em;
	text-transform: uppercase;
}

.is-style-small-title::before {
    position: absolute;
    content: '';
    inset: 0;
    margin: auto 0;
    width: .6em;
    aspect-ratio: 1/1;
    border-radius: 100dvw;
    background: var(--wp--preset--color--secondary);
}

/* ==========================================================================
   お知らせ
   ========================================================================== */

.wp-block-post:has(.article-list) {
	overflow: hidden;
	background-color: transparent;
	transition: var(--transition-base);
	position: relative;
}
.article-list:after{
	mix-blend-mode: multiply;
}
.wp-block-post-title{
	transition: var(--transition-base);
	word-break: auto-phrase;
}

/*リスト内の矢印アイコン*/
.article-list .icon-circle {
    position: absolute;
    right: var(--wp--preset--spacing--40);
}

/*不要aタグ削除*/
.wp-block-tiptip-hyperlink-group-block:empty,
.article-list .taxonomy-category > .wp-block-tiptip-hyperlink-group-block,
.article-list > .wp-block-tiptip-hyperlink-group-block{
	display: none !important;
}
.article-list .wp-block-tiptip-hyperlink-group-block{
	pointer-events: none
}
/*ホバー*/
.wp-block-post:has(.article-list)::after {
    content: '';
    position: absolute;
    bottom: 0;
    width: 0;
    height: 2px;
    transition: var(--transition-base);
    background-color: var(--wp--preset--color--primary);
    opacity: .7;
    z-index: 0;
}
.wp-block-post:has(.article-list):hover::after {
	width: 100%;
}
.wp-block-post:has(.article-list):hover .wp-block-font-awesome-icon {
	background-color: var(--circle-icon-color);
}
.wp-block-post:has(.article-list):hover .wp-block-font-awesome-icon svg {
	color: var(--circle-icon-color-hover) !important;
}
.wp-block-post:has(.article-list):hover .wp-block-post-title{
	color: var(--wp--preset--color--primary);
}

/*hyperlink-groupを全体に当てる*/
.wp-block-post {
  position: relative; 
}
.wp-block-post .is-style-card > .wp-block-tiptip-hyperlink-group-block{
	max-width: 100%;
}
.wp-block-post .wp-block-tiptip-hyperlink-group-block::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

/*ページネーション*/
.wp-block-query-pagination .wp-block-query-pagination-numbers > *,
.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .wp-block-query-pagination-next{
	font-size: var(--wp--preset--font-size--medium);
	font-family: var(--wp--preset--font-family--noto-sans-jp);
	width: calc(var(--wp--preset--font-size--medium) * 3 );
	aspect-ratio: 1/1;
	border:1px solid var(--wp--preset--color--primary) !important;
	border-radius: var(--wp--preset--border-radius--20);
	display: inline-flex;
  	align-items: center;
  	justify-content: center;
	background-color: var(--wp--preset--color--theme-white);
	transition: var(--transition-base);
	color: var(--wp--preset--color--primary);
}
.wp-block-query-pagination .page-numbers.current{
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--theme-white);
}
.wp-block-query-pagination .wp-block-query-pagination-numbers a.page-numbers{
	color: var(--wp--preset--color--primary) ;
}
.wp-block-query-pagination .wp-block-query-pagination-numbers a.page-numbers:hover,
.wp-block-query-pagination .wp-block-query-pagination-previous:hover,
.wp-block-query-pagination .wp-block-query-pagination-next:hover{
	color: var(--wp--preset--color--theme-white) ;
	background-color: var(--wp--preset--color--primary-hover);
	border-color:var(--wp--preset--color--primary-hover) !important;
}
.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .wp-block-query-pagination-next {
  text-indent: -9999px; /* テキスト「次のページ」を非表示 */
  overflow: hidden;
  position: relative;
}
/* 既存の矢印を非表示 */
.wp-block-query-pagination-previous-arrow,
.wp-block-query-pagination-next-arrow {
  display: none;
}
.wp-block-query-pagination-previous::before,
.wp-block-query-pagination-next::before {
  font-family: "Font Awesome 6 Free"; 
  font-weight: 900; 
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-indent: 0;
  font-size: var(--wp--preset--font-size--medium);
  color: currentColor
}
.wp-block-query-pagination-previous::before{
	  content: "\f060"; 	  
}
.wp-block-query-pagination-next::before{
	  content: "\f061"; 	  
}

/* ==========================================================================
   ノイズ背景
   ========================================================================== */

/*ノイズ背景*/
.bg-noise-filter {
    position: relative;
    isolation: isolate; /* 新しいスタッキングコンテキストを作成 */
}

/* 疑似要素でテクスチャレイヤーを追加 */
.bg-noise-filter::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('https://aihararikusou.jp/wp-content/uploads/filter-noise1.png');
    background-size: auto; /* または cover、contain、auto など */
    background-repeat: repeat; 
    mix-blend-mode: color-dodge;/* 必要に応じて調整 */
    pointer-events: none; /* クリックイベントを透過 */
    z-index: 0; /* 背景レイヤーとして配置 */
}

/* 子要素のスタッキングを確保 */
.bg-noise-filter > * {
    position: relative;
    z-index: 1; /* 疑似要素より前面に */
}

/* ==========================================================================
   斜め線 飾り
   ========================================================================== */

/* 装飾的な斜め線 ホワイト*/
.decoration-line::before,
.decoration-line::after {
    content: '';
    position: absolute;
    width: 130px;
    aspect-ratio: 1 / 3;
    background-image: url('/wp-content/uploads/parts-bg_WR.svg');
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    opacity: .25;
}
.decoration-line::before {
    right: 0px;
    top: -5%;
    transform: rotate(0deg);
}
.decoration-line::after {
    left: 0px;
    bottom: -5%;
    transform: rotate(180deg);
}

/* 装飾的な斜め線 グレー*/
.decoration-line-gray::before,
.decoration-line-gray::after {
    content: '';
    position: absolute;
    width: 130px;
    aspect-ratio: 1 / 3;
    background-image: url('/wp-content/uploads/parts-bg_GR.svg');
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    opacity: .8;
}
.decoration-line-gray::before {
    right: 0px;
    top: 5%;
    transform: rotate(0deg);
}
.decoration-line-gray::after {
    left: 0px;
    bottom: 5%;
    transform: rotate(180deg);
}

/* 子要素のスタッキングを確保 */
.decoration-line > *,
.decoration-line-gray > * {
    position: relative;
    z-index: 1; /* 疑似要素より前面に */
}

/* ==========================================================================
   Header & Navigation
   ========================================================================== */

/* ヘッダー */
.wp-block-group.is-style-header {
	inset: auto 0;
	position: fixed;
	z-index: 9999;
	max-width: 100%;
}
li.wp-block-navigation-submenu > .wp-block-navigation-item__content{
	padding-right: .25em !important;
}
.wp-block-navigation-submenu__toggle svg{
	transition: var(--transition-base);
}
.wp-block-navigation__submenu-container{
	border-radius: var(--wp--preset--border-radius--20);
	background-color: transparent !important;
	gap:2px;
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
    top: 80%;
	transition: var(--transition-base);
}
.wp-block-navigation .wp-block-navigation-item:hover .wp-block-navigation__submenu-container {
    top: 100%;
}

.wp-block-navigation__responsive-container-content{
	column-gap:1em;
	row-gap: 1.5em;
}
.wp-block-navigation__container{
	gap:0 !important;
}

/*ホバー*/
.wp-block-navigation-item{
	transition: var(--transition-base);
}
.wp-block-navigation-item:hover,
.current-menu-item {
	color: var(--wp--preset--color--primary-hover);
}

.wp-block-navigation__submenu-container .wp-block-navigation-item {
    background-color: var(--wp--preset--color--theme-white) !important;
	border-radius: var(--wp--preset--border-radius--20);
	box-shadow: var(--shadow-sm);
}

.wp-block-navigation__submenu-container .wp-block-navigation-item:hover {
	background-color: var(--wp--preset--color--theme-white) !important;
}

/*ホバー時にアンダーライン*/
@media ( 1080px < width ){
	.wp-block-navigation-item::after {
		transition: var(--transition-base);
		content: '';
		position: absolute;
		bottom: .5em;
		left: 5%;
		width: 100%;
		height: 2px;
		background-color: currentColor;
		transform: scaleX(0);
		transform-origin: left;
	}
	.wp-block-navigation-item:hover::after {
		transform: scaleX(.9);
	}
	.wp-block-navigation :where(.wp-block-navigation-item__content) {
		padding-top: 1em;
		padding-bottom: 1em;
	}
}

/*950px以下でハンバーガー強制*/
@media (min-width: 600px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: initial;
    }
}
@media (950px < width) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none;
    }
}
@media (width <= 950px)  {
  .wp-block-navigation__container, 
  .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-buttons {
    display: none;
  }
	header .wp-block-buttons.is-content-justification-center {
		width: 100%;
	}
	.wp-block-navigation__submenu-container .wp-block-navigation-item {
		box-shadow: none;
	}
	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
    	opacity: .95 !important;
	}
	.wp-block-navigation__responsive-container-close {
		right: 2rem;
		top: 2rem;
	}
}

/*ハンバーガー調整*/
.wp-block-navigation {
    gap:0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-left: 5vw;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: flex-start;
}

.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
    fill: var(--wp--preset--color--primary)
}
.wp-block-navigation .wp-block-navigation__responsive-container-open {
    border: 1px solid var(--wp--preset--color--primary);
    padding: 3px;
	border-radius: var(--wp--preset--border-radius--10);
}

/* ========================================
   Table スタイル 2色ライン
   ======================================== */

/* テーブルブロック全体 */
.wp-block-table.table-line-2color {
	width: 100%;
}

.wp-block-table.table-line-2color table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

.wp-block-table.table-line-2color tbody {
	width: 100%;
}

/* すべてのボーダーをリセット */
.wp-block-table.table-line-2color th,
.wp-block-table.table-line-2color td {
	border: none !important;
}

/* テーブル内フォント */
.wp-block-table.table-line-2color th {
		color: var(--wp--preset--color--primary);
		font-family: var(--wp--preset--font-family--noto-sans-jp);
		font-size: var(--wp--preset--font-size--medium);
		font-weight: 900;
		line-height: 1.5;
		text-align: left;
	}
	.wp-block-table.table-line-2color td {
		color: var(--wp--preset--color--text);
		font-family: var(--wp--preset--font-family--noto-sans-jp);
		font-size: var(--wp--preset--font-size--medium);
		line-height: 1.5;
		text-align: left;
	}

/* PC表示 */
@media (768px < width) {
	/* テーブル行 */
	.wp-block-table.table-line-2color tr {
		display: flex;
		width: 100%;
		align-items: stretch;
	}

	/* 見出しセル（th）- 上ボーダーのみ */
	.wp-block-table.table-line-2color th {
		width: 288px;
		flex-shrink: 0;
		display: flex;
		align-items: center;
		padding: 1.5em 0.75em;
		border-top: 1px solid var(--wp--preset--color--primary) !important;
		background-color: transparent;
	}

	/* データセル（td）- 上ボーダーのみ */
	.wp-block-table.table-line-2color td {
		flex: 1;
		display: flex;
		align-items: center;
		padding: 1.5em 0.75em;
		border-top: 1px solid var(--wp--preset--color--bg-04) !important;
		background-color: transparent;
	}

	/* 最後の行に下ボーダーを追加 */
	.wp-block-table.table-line-2color tr:last-child th {
		border-bottom: 1px solid var(--wp--preset--color--primary) !important;
	}

	.wp-block-table.table-line-2color tr:last-child td {
		border-bottom: 1px solid var(--wp--preset--color--bg-04) !important;
	}
}

/* SP表示 */
@media (width <= 768px) {
	.wp-block-table.table-line-2color tr {
		display: flex;
		flex-direction: column;
		width: 100%;
	}
	
	/* 見出しセル（SP）- 上ボーダーのみ、下ボーダーは絶対に付けない */
	.wp-block-table.table-line-2color th {
		width: 100% !important;
		padding: 1.5em 1em 0.5em 1em !important;
		border: none !important;
		border-top: 1px solid var(--wp--preset--color--primary) !important;		
	}
	
	/* データセル（SP）- 上ボーダーは絶対に付けない */
	.wp-block-table.table-line-2color tr td {
		width: 100% !important;
		padding: 0 1em 1.5em 1em !important;
		border: none !important;
	}
	/* データセル（SP）- 一番下ボーダーのみ */
	.wp-block-table.table-line-2color tr:last-child td {
		border-bottom: 1px solid var(--wp--preset--color--primary) !important;
	}
}

/* アクセシビリティ */
.wp-block-table.table-line-2color th:focus-visible,
.wp-block-table.table-line-2color td:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: -3px;
}

/* WordPressデフォルトスタイルのリセット */
.wp-block-table.table-line-2color table {
	border: none !important;
}

.wp-block-table.table-line-2color figcaption {
	margin-top: 1em;
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--small);
}

/* ==========================================================================
   フォーム
   ========================================================================== */

/*ラベル*/
.smf-item__label{
    font-weight: 700;
	line-height: 1.5;	
}
.smf-item__description {
    display: inline-block;
    color: #fff;
	line-height: 1;
    font-weight: 700;
	font-size: var(--wp--preset--font-size--x-small);
    background: var(--wp--preset--color--primary);
    padding: .4em .8em;
	border-radius:var(--wp--preset--border-radius--10);
	margin-top:0rem;
}
/*テキストエリア*/
input::placeholder{
	color:#bbb;
}
.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control  {
   border-width: 2px;
   border-radius: var(--wp--preset--border-radius--20);
   --_form-control-border-color: #eee;
}
.smf-form .smf-text-control__control:hover,
.smf-form .smf-text-control__control:active, .smf-form .smf-text-control__control:focus, .smf-form .smf-text-control__control:focus-within, .smf-form .smf-text-control__control[aria-selected=true],
.smf-form .smf-textarea-control__control:hover,
.smf-form .smf-textarea-control__control:active, .smf-form .smf-textarea-control__control:focus, .smf-form .smf-textarea-control__control:focus-within, .smf-form .smf-textarea-control__control[aria-selected=true]
 {
    --_border-color: var(--wp--preset--color--primary-hover);
}
/*フォーム送信ボタンSMF*/
.smf-action .smf-button-control__control{
	width: min(90%, 320px);
	border:none;
	border-radius: var(--wp--custom--radius--button);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1;
	padding:1em 1.5em !important;
	position:relative;
	transition:var(--transition-base);
	background: var(--wp--preset--gradient--gradient-01);
	filter:grayscale(100%);
	color:#fff;
	font-weight: 700;
}
button:hover[type='submit'] {
  background: var(--wp--preset--gradient--gradient-01);
	filter:grayscale(0%);	
}


/* ==========================================================================
   Hero Section
   ========================================================================== */
.hero-section{
	margin-top: calc(var(--wp--preset--spacing--70) * -1) !important;
}
.hero-title {
	font-size: clamp(40px, calc(40px + (100svw - 400px) * ( (60 - 40) / (1600 - 400)) ), 60px) !important;
}
.hero-title .sp-br{
	display: none;
}
.hero-title ,
.hero-description {
	word-break: auto-phrase;
}
@media (width < 600px) {
	.hero-image {
		min-height: 360px !important;
	}
	.hero-title .sp-br{
		display: block;
	}
}
@media (width < 1060px) {
	.hero-title ,
	.hero-description {
		text-align: center;
	}
}

/* ==========================================================================
   Why Choose Us Section
   ========================================================================== */

.feature-icon-wrapper {
	width: fit-content;
	height: 100%;
    aspect-ratio: 1 / 1;
}
.feature-icon {
	font-size: var(--wp--preset--font-size--x-huge);
}

/* ==========================================================================
   Services Section
   ========================================================================== */

.services-section-title {
	font-size: 64px;
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1;
}

.services-subtitle {
	font-size: 24px;
	font-weight: 900;
}

.service-button {
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 100rem;
}


.media-text-01 img{
	aspect-ratio: 3/2;
	border-radius: var(--wp--preset--border-radius--50);

}
.media-text-01 {
	column-gap: var(--wp--preset--spacing--60);
}
.media-text-01 .wp-block-media-text__content{
	padding: 0;
}

/* ==========================================================================
   バナーリンク
   ========================================================================== */

.banner-link .wp-block-cover__background {
    mix-blend-mode: multiply;
    background: var(--wp--preset--gradient--gradient-01);
	opacity: 1 !important;
	transition: var(--transition-slow);
}
.banner-link .wp-block-cover__image-background{
    filter: grayscale(1);
	transition: var(--transition-slow);
}

a:has(.banner-link):hover .wp-block-cover__background {
	opacity: .8 !important;
}
a:has(.banner-link):hover .wp-block-cover__image-background{
	filter: grayscale(0) ;
	transform: scale(102%);
}

/* ==========================================================================
   Recruit Component
   ========================================================================== */
.broken-layout.wp-block-cover{
	overflow: visible;
}
.broken-layout.wp-block-cover .wp-block-cover__image-background{
    left: initial;
	right: 0;
    max-width: 60%;
	border-radius: var(--wp--preset--border-radius--50) 0 0 var(--wp--preset--border-radius--50);
}
.broken-layout-text{
	font-feature-settings: "palt";
}
.broken-layout-heading{
	line-height: 1.25;
	font-size: clamp(40px, 10vw, 64px) !important;
	font-weight: 900;
	filter: drop-shadow(0px 0px .1em var(--wp--preset--color--bg-primary));
	/* word-break: auto-phrase; */

}
.broken-layout-description{
	filter: drop-shadow(0px 0px .15em var(--wp--preset--color--bg-primary));
	word-break: auto-phrase;
}
.gradient-in-heading {
  background: var(--wp--preset--gradient--gradient-01);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

@media (width <= 700px) {
	.broken-layout.wp-block-cover{
		margin-bottom: 240px;
	}
	.broken-layout.wp-block-cover .wp-block-cover__image-background{
		max-width: 100%;
		border-radius: 0;
	}
	.broken-layout-text{
		position: absolute;
		top: 20px;
	}
}

/* ==========================================================================
   Contact CTA Component
   ========================================================================== */

.contact-cta-wrapper {
  overflow: hidden;
}

/* 装飾的な斜め線（左下） */
.contact-cta-contents::before,
.contact-cta-contents::after {
    content: '';
    position: absolute;
    width: 130px;
    aspect-ratio: 1 / 3;
    background-image: url('/wp-content/uploads/parts-bg_WR.svg');
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    opacity: .25;
}
.contact-cta-contents::before {
    right: 0px;
    top: -25%;
    transform: rotate(0deg);
}
.contact-cta-contents::after {
    left: 0px;
    bottom: -25%;
    transform: rotate(180deg);
}



/* ==========================================================================
   Footer
   ========================================================================== */

.footer-description {
	font-size: 14px;
	line-height: 1.75;
}

.footer-heading {
	font-size: 16px;
	font-weight: 700;
}

.footer-contact {
	font-size: 14px;
	line-height: 1.75;
}

.footer-separator {
	background-color: rgba(255, 255, 255, 0.2);
}

.footer-copyright {
	font-size: 13px;
}


/* ==========================================================================
   Utility Classes
   ========================================================================== */

.has-inline-highlight {
	background-color: rgba(0, 0, 0, 0);
}
.hero-stat-item{
	margin-left: -1px !important;
}

/* レスポンシブ対応（必要最小限のメディアクエリ） 
@media (max-width: 768px) {
	.hero-title {
		font-size: clamp(32px, 8vw, 48px);
	}
	
	
	
	.hero-stat-number {
		font-size: 36px;
	}
	
	.hero-stat-unit {
		font-size: 24px;
	}
	
	.why-choose-section-title,
	.services-section-title,
	.company-section-title {
		font-size: 48px;
	}
	
	.recruitment-section-title,
	.contact-section-title {
		font-size: 56px;
	}
	
	.recruitment-heading,
	.contact-heading {
		font-size: 32px;
	}
	
	.company-heading {
		font-size: 28px;
	}
	
	.feature-card {
		padding: var(--wp--preset--spacing--50);
	}
	
	.recruitment-section {
		padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50);
	}
}
*/

/* ==========================================================================
   スクロール連動アニメーション
   ========================================================================== */

/*背景色が伸びて出現 共通*/
.bgextend.wp-block-media-text figure{
	animation-name:bgextendAnimeBase;
	animation-duration:1s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden; /* はみ出た色要素を隠す　*/
	opacity: 0;
}

@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;  
}
}

/*中の要素*/
.bgappear.wp-block-media-text img{
	animation-name:bgextendAnimeSecond;
	animation-duration:1s;
	animation-delay: 0.5s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes bgextendAnimeSecond{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}

/*--------- 左から --------*/
.bgappear.wp-block-media-text figure::before{
	animation-name:bgLRextendAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
	z-index:5;
    background: var(--wp--preset--gradient--gradient-01); /*伸びる背景色の設定*/
}

@keyframes bgLRextendAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	50% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}

/* ==========================================================================
   アニメーションプラグイン調整
   ========================================================================== */

/*移動距離調整*/
html:not(.no-js) [data-aos=fade-up] {
    transform: translate3d(0,16px,0) ;
}
html:not(.no-js) [data-aos=fade-right] {
        transform: translate3d(-32px, 0, 0);
    }



/* ==========================================================================
   装飾用トラック調整
   ========================================================================== */

.img-transport img{
	margin-bottom: clamp(-280px , -20vw , -120px) !important;
}

.img-transport-footer img{
	margin-top: clamp(-180px , -12vw , -120px) !important;
	margin-bottom: clamp(-64px , -3vw , -12px) !important;
}



