/* 画面サイズ共通数字 */
:root{
  --screen0: 1100px;
  --screen: 1200px;
  --screen2: 1350px;
}

/****************************************************************
* フォント用
****************************************************************/

.roboto-<uniquifier> {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

.roboto-condensed-<uniquifier> {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.oswald-<uniquifier> {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.noto-sans-sc-<uniquifier> {
  font-family: "Noto Sans SC", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/****************************************************************
 * リセット
****************************************************************/
.wp-block-group{
	margin-top:0;
}
.c-entry__header{
	display:none;
}
.l-contents__inner{
	padding-top:0!important;
}
/****************************************************************
 * テキスト
****************************************************************/
.txt01{
	font-size:16px;
	line-height:2em;
}

.map-p{
	font-size:18px;
	font-weight:500;
}

/* 中国語書体指定 */
.sc{
  font-family: "Noto Sans SC", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

@media screen and (max-width: 781px) {
/* スマホで左揃え */
.txt-c-to-l{
	text-align:left!important;
}
}

/****************************************************************
 * 見出し 
****************************************************************/
.midashi01{
	color:#0067b6!important;
	display:flex!important;
	flex-direction:column!important;
	margin-bottom:50px;
}
.midashi01 h3{
	margin-top:0!important;
}
.midashi01 h3{
	margin-bottom:15px!important;
  position: relative;
  padding-bottom: 20px!important;
  font-size: 60px!important;
	line-height:1.1em!important;
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800!important;
  font-style: normal;
}
.midashi01 h3::after {
  content: ""!important;
  position: absolute!important;
  left: 50%!important;
  bottom: 0!important;
  transform: translateX(-50%)!important;
  width: 100px!important;
  height: 9px!important;
  background: linear-gradient(
    to right,
    #0067b6 0 50%,
    #f6ab00 50% 100%
  )!important;
}
.midashi01 h2{
  font-size: 20px!important;
	line-height:1.5em!important;
	font-weight:500!important;
	margin-top:0!important;
}

.midashi01-02 h3::after {
  transform: translateX(0%)!important;
  left: 0%!important;
}
.midashi01-02 h2,
.midashi01-02 h3{
margin-left:0!important;
}
.midashi01-03 h3{
	margin-bottom:15px!important;
  position: relative;
  padding-bottom: 20px!important;
  font-size: 45px!important;
	line-height:1.5em!important;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}
.midashi01-04 h3{
	margin-bottom:15px!important;
  position: relative;
  padding-bottom: 20px!important;
  font-size: 40px!important;
	line-height:1.5em!important;
  font-family: "Noto Sans SC", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900!important;
  font-style: normal;
	font-feature-settings: "palt";
}
.letter-space{
	letter-spacing:0.3em;
	text-indent: 0.3em;
}

@media screen and (max-width: 991px) {

}
@media screen and (max-width: 781px) {
.midashi01-03 h3{
	font-size: 40px!important;
	line-height:1.4em!important;
	  padding-bottom: 25px!important;
}
.midashi01-04 h3{
	font-size: 30px!important;
	line-height:1.4em!important;
	  padding-bottom: 25px!important;
}
}
@media screen and (max-width: 480px) {
.midashi01{
	margin-bottom:30px;
}
.midashi01 h2{
  font-size: 18px!important;
}
.midashi01 h3{
	font-size: 50px!important;
}
.midashi01-03 h3{
	font-size: 38px!important;
	line-height:1.3em!important;
}
.midashi01-04 h3{
	font-size: 25px!important;
	line-height:1.3em!important;
}
}
/****************************************************************
 * 見出し h4
****************************************************************/
.midashi-h4-01{
	font-size:24px;
	line-height:1.5em;
	color:#0067b6!important;
	padding-bottom:20px;
	border-bottom:1px solid #0067b6;
}
@media screen and (max-width: 781px) {
.midashi-h4-01{
	text-align:center;
}
}

@media screen and (max-width: 480px) {
.midashi-h4-01{
	font-size:22px;
	font-feature-settings: "palt";
}
}

/****************************************************************
 * 見出し スラッシュh3
****************************************************************/
/* ===== 見出し帯（本社工場 / 第2工場 …） ===== */

h3.slash-title {
  /* 調整用の変数 */
  --band-width: 300px;  /* 青帯の長さ */
  --tab-width:  20px;   /* オレンジの長さ（思ったより短め） */
  --skew-angle: 30deg;  /* 右下がりの角度 */

  position: relative;
  display: block;
  padding: 10px 0 10px 20px;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  background: transparent;
  border-bottom: 2px solid #0067B6;
  z-index: 0;
}

/* 青い台形（右下がり） */
h3.slash-title::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--band-width);
  background: #0067B6;
  clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
  z-index: -1;
	margin-bottom:-1px;
}

/* オレンジの平行四辺形（青の右端にちょこっと） */
h3.slash-title::after {
  content: "";
  position: absolute;
  top: 0;

  /* ★ ここがポイント：少し左に食い込ませる */
  left: calc(var(--band-width) - var(--tab-width) - 22px);

  width: var(--tab-width);
  height: 100%;
  background: #F6AB00;
  transform: skewX(var(--skew-angle));
  transform-origin: left top;
  z-index: -1;
}

@media screen and (max-width: 480px) {
/* 480pxまでの幅の場合に適用される */
}
/****************************************************************
 * 見出し ラインh3
****************************************************************/
h3.line-title{
	color:#0067B6;
	border-bottom: 1px solid #0067B6;
	padding-bottom:10px;
	border-left: 7px solid #0067B6;
	padding-left:15px;
}

/****************************************************************
 * ボタン
****************************************************************/
.bottan01{
    display:block!important;
}
.bottan01 .smb-btn{
	font-size:16px;
	text-align:center;
    width:100%;
    display:block;
  position: relative;
  padding: 24px 56px 24px 24px; /* 右側は矢印の分を余白確保 */
  background: #0067b6;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  border-radius: 0;
  line-height: 1;            /* 行高固定で上下のブレを防止 */
  -webkit-font-smoothing: antialiased;
  transition: background-color .25s ease;
}
/* くの字 “＞” を borderで作る（絶対配置で上下固定） */
.bottan01 .smb-btn::after{
  content: "";
  position: absolute;
  right: 22px;               /* 好みで微調整 */
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(0,-50%) rotate(45deg);   /* 常に中央基準で45度 */
  transition: transform .25s ease;              /* translateXのみ変える */
  will-change: transform;
}

/* ホバー時：青を濃く＋矢印を “右へだけ” スライド */
.bottan01 .smb-btn:hover{
  background: #112e67;       /* ほんの少し濃く */
		filter: none;
}
.bottan01 .smb-btn:hover::after{
  transform: translate(3px,-50%) rotate(45deg); /* Yは-50%固定のまま */
}

.bottan01-small{
	margin-top:10px!important;
	max-width:300px;
	margin-left:0!important;
	margin-right:auto!important;
}
.bottan01-small .smb-btn{
	padding: 16px 56px 16px 26px!important; /* 右側は矢印の分を余白確保 */
}
.page-button{
margin-left:auto;
margin-right:auto;
	max-width:300px;
}
.page-button .smb-btn{
  padding: 24px 24px 24px 24px!important; /* 右側は矢印の分を余白確保 */
}

/****************************************************************
* テーブル
****************************************************************/
.table01{
	max-width:1350px;
}
.table01 .smb-information__item__label,
.table01 .smb-information__item__body{
	border-left:none!important;
	border-right:none!important;
}
.table01 .smb-information__item__label{
	background-color:#DFE6F2;
}


@media screen and (min-width: 782px) {
/* 782px以上の幅の場合に適用される */
.table01 .c-row .c-row__col:first-child{
	--_item-width:250px!important;
}
.table01 .c-row .c-row__col:last-child{
	--_item-width:calc(100% - 250px);
}
}

@media screen and (max-width: 781px) {
.table01{
	margin-bottom:-1px!important;
}
}
/****************************************************************
 * サイト説明をロゴの上に
****************************************************************/
.c-site-branding--has-logo {
  display: flex;
  flex-direction: column-reverse;
}

.c-site-branding__description{
	font-feature-settings: "palt";
	font-size:14px;
	margin-top:14px;
	margin-bottom:20px;
}
@media screen and (max-width: 1050px) {
.c-site-branding__description{
	font-size:13px;
}
}
/****************************************************************
 * サイト最上部　右ナビ（採用情報〜サイトマップのメニュー）
****************************************************************/
.p-header-sub-nav{
margin-bottom:-42px;
}
.p-header-sub-nav ul{
	column-gap:20px!important;
}
.c-row.c-row--middle.c-row--nowrap {
  align-items: flex-end !important;
}

/* 採用ボタン */
.p-header-sub-nav ul li:first-child{
	font-weight:700;
	background-color:#f69100;
	color:#fff;
	padding-left:10px;
	padding-right:10px;
	font-size:14px;
}

/****************************************************************
 * メイン　グローバルナビ
****************************************************************/
.l-header__content .c-container{
	max-width:var(--screen2);
}
.l-header--sticky-sm {
        box-shadow: none;
    }
.p-global-nav .c-navbar__item>a>span {
	font-weight:500;
	font-feature-settings: "palt";
}
.p-global-nav .c-navbar__item>a {
	margin-top:20px;
    padding-left:10px;
	padding-right:10px;
}

/* 三角形 */
.l-2row-header__row .p-global-nav .c-navbar__item:not(:first-child)>a>span,
.l-header__drop-nav .c-navbar__item:not(:first-child)>a{
  position: relative;
  padding-left: 1.3em; /* 三角形分の余白 */
	font-weight:700;
	font-size:16px;
}
/* 三角形 */
.l-2row-header__row .p-global-nav .c-navbar__item:not(:first-child)>a>span::before,
.l-header__drop-nav .c-navbar__item:not(:first-child)>a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 51%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 0.6em solid transparent;
  border-bottom: 0.6em solid transparent;
  border-left: 0.8em solid #0067b6;
  transition: transform 0.2s ease;
}
/* マウスオーバーで少し右へ */
.l-2row-header__row .p-global-nav .c-navbar__item:not(:first-child)>a>span:hover::before,
.l-header__drop-nav .c-navbar__item:not(:first-child)>a:hover::before{
  transform: translate(4px, -50%);
  border-left: 0.8em solid #f69100;
}

/* スクロール時 */
.l-header__drop-nav .p-drop-nav > .c-container{
	width:95%;
	max-width:95%;
}

.l-header__drop-nav .p-drop-nav > ul{
  gap: 18px; 
}

.l-header__drop-nav .c-navbar__item:first-child>a{
	font-weight:500;
}
.l-header__drop-nav .c-navbar__item:not(:first-child)>a{
	margin-left:0!important;
}
.p-drop-nav .c-container {
	padding:0!important;
}
/* 折り返しを止めて、1行で並べる */
.l-header__drop-nav .p-global-nav ul{
  display: flex;
  flex-wrap: nowrap;              /* ←折り返さない */
  justify-content: center;        /* 好みで space-between 等 */
  gap: 24px;                      /* 好みで */
}

.l-header__drop-nav .p-global-nav a{
  white-space: nowrap;            /* ←文字を折り返さない */
  word-break: normal;             /* break-word を潰す */
}

/* 中国語書体指定 */
.l-2row-header__row .p-global-nav .current-menu-item:last-child > a,
.l-header__drop-nav .current-menu-item:last-child > a,
.c-drawer__menu .c-drawer__item:nth-child(6) > a{
  font-family: "Noto Sans SC", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

@media screen and (max-width: 1250px) {
.l-2row-header__row .p-global-nav .c-navbar__item:not(:first-child)>a>span,
.l-header__drop-nav .c-navbar__item:not(:first-child)>a{
	font-size:14px;
}
}
@media screen and (max-width: 1045px) {
.l-2row-header__row .p-global-nav .c-navbar__item>a>span,
.l-header__drop-nav .c-navbar__item>a{
	font-size:13px!important;
}
}
@media screen and (max-width: 1023px) {
.c-site-branding__description{
	display:none;
}
}

/****************************************************************
 * メガメニュー
****************************************************************/
/* --- ホバー時：画像拡大 --- */
.c-navbar__submenu li a .snow-monkey-mega-menu__figure,
.c-navbar__submenu li.menu-item-1498 a .snow-monkey-mega-menu__figure,
.c-navbar__submenu li.menu-item-1499 a .snow-monkey-mega-menu__figure,
.c-navbar__submenu li.menu-item-1501 a .snow-monkey-mega-menu__figure,
.c-navbar__submenu li.menu-item-1502 a .snow-monkey-mega-menu__figure{
  overflow: hidden;
}
.c-navbar__submenu li a .snow-monkey-mega-menu__figure img,
.c-navbar__submenu li.menu-item-1498 a .snow-monkey-mega-menu__figure::before,
.c-navbar__submenu li.menu-item-1499 a .snow-monkey-mega-menu__figure::before,
.c-navbar__submenu li.menu-item-1501 a .snow-monkey-mega-menu__figure::before,
.c-navbar__submenu li.menu-item-1502 a .snow-monkey-mega-menu__figure::before{
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.c-navbar__submenu li a:hover .snow-monkey-mega-menu__figure img,
.c-navbar__submenu li.menu-item-1498 a:hover .snow-monkey-mega-menu__figure::before,
.c-navbar__submenu li.menu-item-1499 a:hover .snow-monkey-mega-menu__figure::before,
.c-navbar__submenu li.menu-item-1501 a:hover .snow-monkey-mega-menu__figure::before,
.c-navbar__submenu li.menu-item-1502 a:hover .snow-monkey-mega-menu__figure::before{
  transform: scale(1.15); /* 拡大 */
}


/* --- アンカーリンク　アクセス用 --- */
li.menu-item-1498 .snow-monkey-mega-menu__figure::before,
li.menu-item-1499 .snow-monkey-mega-menu__figure::before{
    background: url(https://chuomfg.com/wordpress/wp-content/uploads/2025/11/image-sum-access02.jpg) no-repeat 50% 50% / cover;
}

li.menu-item-1501 .snow-monkey-mega-menu__figure::before,
li.menu-item-1502 .snow-monkey-mega-menu__figure::before{
    background: url(https://chuomfg.com/wordpress/wp-content/uploads/2026/01/yangling-sum-access.jpg) no-repeat 50% 50% / cover;
}
/****************************************************************
 * ヘッダー上部　お問合せボタン
****************************************************************/
.contact-btn{
  position: relative;
  display: inline-block;
  padding: 16px 56px 16px 24px; /* 右側は矢印の分を余白確保 */
  background: #0067b6;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  border-radius: 0;
  line-height: 1;            /* 行高固定で上下のブレを防止 */
  -webkit-font-smoothing: antialiased;
  transition: background-color .25s ease;
}

/* くの字 “＞” を borderで作る（絶対配置で上下固定） */
.contact-btn::after{
  content: "";
  position: absolute;
  right: 22px;               /* 好みで微調整 */
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(0,-50%) rotate(45deg);   /* 常に中央基準で45度 */
  transition: transform .25s ease;              /* translateXのみ変える */
  will-change: transform;
}
/* ホバー時：青を濃く＋矢印を “右へだけ” スライド */
.contact-btn:hover{
  background: #112e67;       /* ほんの少し濃く */
}
.contact-btn:hover::after{
  transform: translate(3px,-50%) rotate(45deg); /* Yは-50%固定のまま */
}

/****************************************************************
* ページヘッダー
****************************************************************/
.page-header{
	color:#0067b6;
	max-height:285px;
	min-height:175px;
	height:30vw;
	display: flex!important;
	align-items: center;
	justify-content: center;
	position:relative;
}
.page-header .back-logo{
	position:absolute;
	opacity:0.4;
	bottom:0;
	right:5vw;
	height:75%;
	max-width:80%;
	display:flex;
	flex-direction:column;   /* 縦方向に並べる */
	justify-content:flex-end;/* 縦方向：下に寄せる */
	align-items:flex-end;    /* 横方向：右に寄せる */
}

.page-header .back-logo img{
	width:auto;
	max-height:100%;
}

.page-header-title h2{
	font-size:50px;
	font-weight:700;
	margin-top:0;
}
.page-header-title-long h2 {
	font-size:45px!important;
}
.page-header-title h2.single{
	font-size:45px;
	line-height:1.3em;
  padding-bottom: 1.1rem; /* ライン分の余白 */
}
.page-header-title h2.singleSC{
	font-size:40px;
}
.page-header-title h2.single::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 150px;            /* ラインの長さ */
  height: 2px;            /* 太さ */
  background: #0067b6;    /* お好みの色（ロゴの青など） */
}

.page-header-title h3{
	font-size:25px;
	font-weight:600;
  padding-bottom: 0.9rem; /* ライン分の余白 */
	margin-bottom:0.3rem;
}

.page-header-title h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 80px;            /* ラインの長さ */
  height: 2px;            /* 太さ */
  background: #0067b6;    /* お好みの色（ロゴの青など） */
}

@media screen and (max-width: 991px) {
.page-header-title h2{
	font-size:45px;
}
.page-header-title h2.single{
	font-size:40px;
}
.page-header-title h2.singleSC{
	font-size:35px;
}
.page-header-title-long h2 {
	font-size:45px!important;
}
.page-header-title h3{
	font-size:22px;
	  padding-bottom: 0.7rem; /* ライン分の余白 */
	margin-bottom:0.1rem;
}
}
@media screen and (max-width: 781px) {
.page-header-title h2{
	font-size:40px;
}
.page-header-title h2.single{
	font-size:35px;
}
.page-header-title h2.singleSC{
	font-size:30px;
}
.page-header-title-long h2 {
	font-size:35px!important;
}
.page-header-title h3{
	font-size:20px;
}
}
@media screen and (max-width: 480px) {
.page-header-title h2{
	font-size:35px;
}
.page-header-title h2.single{
	font-size:30px;
}
.page-header-title h2.singleSC{
	font-size:25px;
}
.page-header-title-long h2 {
	font-size:30px!important;
	letter-spacing:-.05em;
}
.page-header-title h3{
	font-size:18px;
}
}
/****************************************************************
* パンクズリスト
****************************************************************/
.bread-group{
	margin-top:0;
	margin-bottom:70px;
	padding-top:10px;
	padding-bottom:10px;
    padding-left: var(--_padding1);
	padding-right: var(--_padding1);
	margin-left:auto;
	margin-right:auto;
}
@media screen and (max-width: 991px) {
.bread-group{
	margin-bottom:70px;
}
}
@media screen and (max-width: 781px) {
.bread-group{
	margin-bottom:50px;
}
}
@media screen and (max-width: 480px) {
.bread-group{
	margin-bottom:30px;
}
}

/****************************************************************
* googleマップ
****************************************************************/
@media screen and (max-width: 781px) {
.map iframe{
	height:400px;
}
}
@media screen and (max-width: 480px) {
.map iframe{
	height:300px;
}
}
/****************************************************************
* トップ　ヒーロー：スライダー＋右側の青パネル
****************************************************************/
/* 親ラッパー */
.hero-wrap {
    position: relative;
}
/* スライダー */
body .hero-wrap .vk_slider_item{
	height:auto!important;
}

.hero-wrap .vk_slider_item_container{
	width:calc(100vw - ((100vw - var(--screen2)) / 2) - 15vw);
	margin-left:0!important;
	margin-right:auto!important;
	max-width:100vw;
	z-index:3;
}

.hero-wrap .vk_slider_item_container {
  position: relative;
}

.hero-wrap .vk_slider_item_container::after {
  content: "";
  position: absolute;
	bottom:0;
  inset: 0;                     /* 四方に広げる */
background: linear-gradient(
  to bottom,
  rgba(0,0,0,0),
  rgba(0,0,0,0.15)
);
  pointer-events: none;         /* クリック邪魔しない */
}

/* 青パネル */
.hero-panel {
	position: absolute;
    width: 50vw;
	right: calc((100vw - var(--screen2)) / 2);
	background-color: #1359a8;  /* 青地：お好みで */
  background-image:radial-gradient(rgba(255,255,255,0.2) 20%, rgba(255,255,255,0) 45%);
  background-size: 5px 5px; /* ドット間隔：調整可 */
}

/* キャッチコピー */
.hero-h2 {
	position: absolute;
	font-size:3vw!important;
	color:#fff!important;
	right: calc((100vw - var(--screen2)) / 2 + 4vw);
	 z-index: 10;
}

/* 高さ一式 */
.hero-slider,/* スライダー */
.hero-slider .wp-block-cover,/* 画像カバー */
.hero-panel/* 青パネル */{
	height:45vw!important;
	min-height:45vw!important;
}
.hero-panel {
	margin-top:6vw!important;
}
.hero-h2 {
	font-size:3.5vw!important;
	line-height:1.75em;
	bottom:-2vw;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
	font-feature-settings: "palt";
}

@media screen and (min-width: 1500px) {
.hero-wrap .vk_slider_item_container{
	width:calc(100vw - ((100vw - var(--screen2)) / 2) - 250px);
}
.hero-slider,/* スライダー */
.hero-slider .wp-block-cover,/* 画像カバー */
.hero-panel/* 青パネル */{
	height:650px!important;
	min-height:650px!important;
}
.hero-panel {
	margin-top:90px!important;
}
.hero-h2 {
	font-size:50px!important;
	bottom:-30px;
}
}

@media screen and (max-width: 1350px) {
.hero-wrap .vk_slider_item_container{
	width:80vw;
}
/* 青パネル */
.hero-panel {
	right:3vw;
}
/* キャッチコピー */
.hero-h2 {
	right:7vw;
}
}

@media screen and (max-width: 781px) {
.hero-wrap {
	margin-bottom:19vh;
	top:2vh;
}
/* 高さ一式 */
.hero-slider,/* スライダー */
.hero-slider .wp-block-cover,/* 画像カバー */
.hero-panel/* 青パネル */{
	height:60vh!important;
	min-height:60vh!important;
}
.hero-wrap .vk_slider_item_container{
	width:85vw;
}
.hero-h2 {
	font-size:7vw!important;
	line-height:1.5em;
	bottom:-5vh;
	right:10vw;
}
.hero-panel {
	margin-top:8vh!important;
    width: 80vw;
}
}
@media screen and (max-width: 480px) {

}
/****************************************************************
 * トップ　アバウトコラム
****************************************************************/
.koshi-back{
	display: flex;
	flex-direction: column;
	background-color: #ebf0f3!important; /* ベースの淡い色 */
	background-image:
    linear-gradient(#fff 1px, transparent 1px), /* 横線 */
    linear-gradient(90deg, #fff 1px, transparent 1px); /* 縦線 */
	background-size: 30px 30px; /* 格子間隔（縦 横） */
	padding:50px 20px;
}

.top-about-group p{
	font-size:18px;
	line-height:2em;
}

@media screen and (max-width: 1200px) {
.top-about-group p{
	font-size:16px;
}
}
@media screen and (max-width: 991px) {
.top-about-group .midashi01{
	margin-bottom:30px;
}
.top-about-group p{
	margin-top:0;
}
}

/****************************************************************
 * トップ　中央グループ
****************************************************************/
.top-chuo-group-group{
	max-width:calc(var(--screen)-20px);
	padding:20px;
}
.top-group-columns-two,
.top-group-columns-three{
	max-width:var(--screen);
}
.top-com-one .left{
	background-color:#E5F0F8;
	position: relative;
	display: flex!important;
align-items: center;
justify-content: center;
	 flex-direction:column;
	color:#0067b6;
	font-weight:700;
}
.top-com-one .wp-block-cover{
	min-height:auto!important;
	height:100%;
}

/* 右上の三角 */
.top-com-one .left::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 30px 0 0;              /* 大きさ */
	border-color: #0067b6 transparent transparent transparent;
}

.top-group-columns-two .top-com-one .left h4{
font-size:min(2.2vw,25px)!important;
	line-height:1.5em;
	margin-bottom:0;
}
.top-group-columns-three .top-com-one .left h4{
font-size:min(1.5vw,19px)!important;
	line-height:1.5em;
	margin-bottom:0;
}

.top-group-columns-two .top-com-one{
	aspect-ratio: 20 / 9;
}
.top-group-columns-three .top-com-one{
	aspect-ratio: 20 / 11;
}

/* 3カラム全体（WPのカラムブロック） */
.top-group-columns-three {
  align-items: stretch;          /* 全カラムの高さをそろえる */
}

/* 各カラムを「高さ可変の箱」にする */
.top-group-columns-three > .wp-block-column {
  display: flex;
}

/* 中身のカードを伸ばす */
.top-group-columns-three .top-com-one {
  display: flex;
  width: 100%;                  /* カラムいっぱいに広げる */
}

/* ボタン */
.top-com-one .smb-btn{
font-size:min(1.2vw,16px)!important;
  position: relative;
	margin-top:15%!important;
  background: #fff;
  color: #0067b6;
  text-decoration: none;
  font-weight: 700;
  border-radius: 0;
  line-height: 1;            /* 行高固定で上下のブレを防止 */
  -webkit-font-smoothing: antialiased;
  transition: background-color .25s ease;
	padding:0.8em 3em 0.8em 1em;
}
.top-group-columns-three .top-com-one .smb-btn{
font-size:min(1vw,14px)!important;
}
.top-com-one .smb-buttons{
	margin-top:0;
}
/* くの字 “＞” を borderで作る（絶対配置で上下固定） */
.top-com-one .smb-btn::after{
  content: "";
  position: absolute;
  right: 10%;               /* 好みで微調整 */
  top: 50%;
  width: 7%;
  height: 28%;
  border-top: 2px solid #0067b6;
  border-right: 2px solid #0067b6;
  transform: translate(0,-50%) rotate(45deg);   /* 常に中央基準で45度 */
  transition: transform .25s ease;              /* translateXのみ変える */
  will-change: transform;
}
.top-com-one .smb-btn:hover{
  background: #0067b6;
	color:#fff;
	filter: none;
}
.top-com-one .smb-btn:hover::after{
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.top-com-one .smb-btn:hover::after{
  transform: translate(3px,-50%) rotate(45deg); /* Yは-50%固定のまま */
}

/* --- ホバー時：画像拡大 --- */
.top-com-one .wp-block-cover {
  overflow: hidden;
}
.top-com-one .wp-block-cover img  {
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.top-com-one:hover .wp-block-cover img {
  transform: scale(1.15); /* 拡大 */
}

@media screen and (max-width: 781px) {
.top-group-columns-two,
.top-group-columns-three{
	gap:2vh;
}
.top-group-columns-two{
	margin-bottom:0;
}
.top-group-columns-three{
	margin-top:2vh;
}
.top-group-columns-two .top-com-one,
.top-group-columns-three .top-com-one{
	aspect-ratio: 25 / 10;
}
.top-group-columns-two .top-com-one .left h4,
.top-group-columns-three .top-com-one .left h4{
	padding-left:20px;
	padding-right:20px;
	font-size:min(4vw,20px)!important;
	line-height:1.5em;
	margin-bottom:0;
}
.top-group-columns-two .top-com-one .left h4 br,
.top-group-columns-three .top-com-one .left h4 br{
}
.top-com-one .smb-btn,
.top-group-columns-three .top-com-one .smb-btn{
font-size:min(3vw,14px)!important;
}
}
@media screen and (max-width: 480px) {
.top-group-columns-two .top-com-one,
.top-group-columns-three .top-com-one{
	aspect-ratio: 20 / 10;
}
.top-group-columns-two .top-com-one .left h4,
.top-group-columns-three .top-com-one .left h4{
	padding-left:20px;
	padding-right:20px;
	font-size:min(4.5vw,22px)!important;
	line-height:1.5em;
	margin-bottom:0;
}
.top-group-columns-two .top-com-one .left h4 br,
.top-group-columns-three .top-com-one .left h4 br{
}
}
/****************************************************************
 * グリッド　コンテンツ一覧
****************************************************************/
.grid-list-btn{
	text-align:left!important;
	margin-top:0!important;
	font-weight:700;
	font-size:16px;
  align-items: center;
  width: 100%;                      /* 調整可 */
  padding: 0;
	margin-top:-10px!important;
  background: #e5f0f8;               /* 左：薄い水色 */
  color: #0067b6;                    /* 文字色 */
  text-decoration: none;
  cursor: pointer;
  position: relative;
  transition: background .3s ease, color .3s ease;
}

/* テキスト側 */
.grid-list-btn,
.grid-list-btn p{
  margin: 0;
  padding: 12px 16px;
  line-height: 1.1;
  flex: 1;
}

/* 右端の四角（濃い青） */
.grid-list-btn::before{
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 42px;                       /* 幅調整可能 */
  height: 100%;
  background: #0067b6;               /* 濃い青 */
  transition: background .3s ease;
}

/* “＞”の border矢印 */
.grid-list-btn::after{
  content: "";
  position: absolute;
  right: 22px;                       /* 四角の中に良い感じで配置 */
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: transform .25s ease, border-color .25s ease;
  will-change: transform;
}


/* --- ホバー時：色反転＋矢印スライド --- */
.list-grid .wp-block-group:hover .grid-list-btn{
  background: #0067b6;               /* 全体を濃い青へ */
  color: #fff;                       /* 文字白に */
}

.list-grid .wp-block-group:hover .grid-list-btn::after{
  transform: translate(3px,-50%) rotate(45deg); /* 右へ3pxだけスライド */
}

.list-grid .wp-block-group:hover figure img{
	width:110%;
}

/* --- ホバー時：画像拡大 --- */
.list-grid .wp-block-group figure {
  overflow: hidden;
}
.list-grid .wp-block-group figure img  {
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.list-grid .wp-block-group:hover figure img {
  transform: scale(1.15); /* 拡大 */
}

@media screen and (max-width: 717px) {
.list-grid .wp-block-image{
	height:50vw;
}
}
/****************************************************************
 * 企業理念
****************************************************************/
.philosophy-text{
	font-size:30px;
	line-height:1.85em;
	font-weight:700;
}
@media screen and (max-width: 535px) {
.philosophy-text{
	font-size:5.5vw;
	font-feature-settings: "palt";
}
}
/****************************************************************
 * ご挨拶（ごあいさつ）
****************************************************************/
.message-name strong{
  font-family: "Yuji Syuku", serif;
  font-weight: 400;
  font-style: normal;
	font-size:26px;
	line-height:1.5em;
}

.message-group{
	background-color:#e5f0f8;
	padding:40px;
	line-height:2em;
	position: relative;
}
/* 左下の三角 */
.message-group::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 40px 40px 0;              /* 大きさ */
	border-color: transparent transparent #0067b6 transparent;
}

/* 右上の三角 */
.message-group::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 40px 0 0 40px;              /* 大きさ */
	border-color: #0067b6 transparent transparent transparent;
}
@media screen and (max-width: 781px) {
.message-group{
	padding:40px 20px;
}
.message-group::before {
  border-width: 0 30px 30px 0;              /* 大きさ */
}
.message-group::after {
  border-width: 30px 0 0 30px;              /* 大きさ */
}
}
@media screen and (max-width: 480px) {
.message-group{
	padding:40px 15px;
	line-height:1.8em;
}
.message-group::before {
  border-width: 0 20px 20px 0;              /* 大きさ */
}
.message-group::after {
  border-width: 20px 0 0 20px;              /* 大きさ */
}
}
/****************************************************************
 *中央製作所 会社概要　沿革
****************************************************************/

/* 中国語書体指定 */
.sc-table strong{
  font-family: "Noto Sans SC", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
	font-weight:400;
}
/****************************************************************
 *中央製作所 事業案内
****************************************************************/
.seisaku-feature-columns .wp-block-column{
	background-color:#ebf0f3;
	padding:50px 10px 40px 10px;
	line-height:1.5em;
	position: relative;
	display: flex!important;
	align-items: center;
	justify-content: center;
	font-size:24px;
	color:#0067b6;
	font-weight:700;
}
/* 右上の三角 */
.seisaku-feature-columns .wp-block-column::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 30px 0 0;              /* 大きさ */
	border-color: #0067b6 transparent transparent transparent;
}

/* 蛍光マーカー調整 */
body .seisaku-feature-columns .vk_highlighter {
    background-image: linear-gradient(transparent 50%, yellow 0)!important;
}

.seisaku-feature-columns .num{
	font-family: "Roboto Condensed", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	color:#B2D1E9;
	font-size:70px;
	margin-bottom:30px;
}

@media screen and (max-width: 991px) {
.seisaku-feature-columns .wp-block-column{
	padding:40px 10px 30px 10px;
	line-height:1.5em;
	font-size:20px;
}
.seisaku-feature-columns .num{
	font-size:60px;
	margin-bottom:20px;
}
}

@media screen and (max-width: 781px) {
.seisaku-feature-columns .num{
	font-size:65px;
	margin-bottom:25px;
}
.seisaku-feature-columns .wp-block-column{
	max-width:450px;
margin-left:auto;
margin-right:auto;
	font-size:23px;
}
}

@media screen and (max-width: 480px) {
.seisaku-feature-columns .wp-block-column{
	padding:40px 10px 30px 10px;
	line-height:1.5em;
	font-size:20px;
}
.seisaku-feature-columns .num{
	font-size:60px;
	margin-bottom:20px;
}
}
/****************************************************************
 * 中央製作所　工程の流れ
****************************************************************/
.seisaku-frow{
	background-color:#E5F0F8;
	padding:10px;
	position: relative;
	margin: 0 0 50px!important;      /* ▼の分だけ下に余白 */
}
.seisaku-frow h4{
	color:#0067B6;
	margin-bottom:0;
	font-size:28px;
	line-height:1.5em;
	margin-bottom:0.5em;
}
.seisaku-frow .inner{
	margin-top:0;
	background-color:#fff;
		display: flex;
}
.seisaku-frow .inner > .wp-block-column{
  align-self: stretch;   /* is-vertically-aligned-center を上書き */
}
.seisaku-frow .left{
	background-color:#0067B6;
	padding:20px;
	display: flex!important;
	align-items: center;
	justify-content: center;
	color:#fff;
	font-weight:700;
	font-size:18px;
}
.seisaku-frow .left .num{
	background-color:#fff;
	color:#0067B6;
	margin-top:10px!important;
	font-size:16px;
}
.seisaku-frow .right{
	padding:20px;
	display: flex!important;
	align-items: center;
	justify-content: flex-start;
}
.seisaku-frow .right ul{
	padding:0!important;
	margin-left:0!important;
}
.seisaku-frow .right ul li {
  position: relative;
  padding-left: 0.8em;
	margin-right:1.5em;
	display:inline-block;
	line-height:0.75em;
}
.seisaku-frow .right ul li.no-mark {
	padding-left: 0;
	color:#0067B6;
	font-weight:700;
}
.seisaku-frow .right ul li:not(.no-mark)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;           /* 縦位置を調整 */
  width: 6px;
  height: 6px;
  background: #0067b6;   /* 青色 */
  border-radius: 50%;    /* 丸くする */
}

/* 下向きの青い三角矢印 */
.seisaku-frow::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -35px;         /* ▼の高さ分だけ下にずらす */
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 50px 0 50px;        /* 高さ 20px, 幅 50px */
  border-color: #0067b6 transparent transparent transparent;
}

/* 最後の工程だけ矢印を消す場合 */
.seisaku-frow:last-child::after{
  display: none;
}
.seisaku-frow:last-child{
	margin-bottom:0!important;
}

@media screen and (max-width: 781px) {
.seisaku-frow .left{
	padding:10px 10px 15px 10px;
}
}
@media screen and (max-width: 480px) {
.seisaku-frow h4{
	font-size:22px;
	line-height:1.5em;
}
}

/****************************************************************
 * 中央製作所　設備一覧
****************************************************************/
.setsubi-grid .wp-block-image{
	aspect-ratio: 1/ 1;
}
.landscape-grid .wp-block-image{
	aspect-ratio: 115/ 65;
}

/* --- ホバー時：画像拡大 --- */
.setsubi-grid .wp-block-group figure,
.landscape-grid .wp-block-group figure{
  overflow: hidden;
}
.setsubi-grid .wp-block-group figure img,
.landscape-grid .wp-block-group figure img{
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.setsubi-grid .wp-block-group:hover figure img,
.landscape-grid .wp-block-group:hover figure img{
  transform: scale(1.15); /* 拡大 */
}
.setsubi-grid p{
	background-color:#e5f0f8;
	margin-top:0;
	height:50px;
	display: flex!important;
	align-items: center;
	justify-content: center;
	font-size:14px;
	font-weight:700;
	line-height:1.2em;
	color:#0067b6;
}

.map-coverPC01{
	height:60vw;
	max-height:700px!important;
}
@media screen and (min-width: 2029px) {
.map-coverPC01{
	height:35vw;
	max-height:1000px!important;
}
}

/****************************************************************
 * 中央機器　事業案内　主要製品紹介
****************************************************************/
.kiki-product-p01{
	background: #0067b6;
	margin-top:20px!important;
	padding:5px 0;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
}
.kiki-product-p02{
	border:1px solid #0067b6;
	margin-top:0!important;
	padding:30px 0;
	color: #0067b6;
	font-size: 16px;
	font-weight: 700;
}
@media screen and (max-width: 781px) {
.kiki-product-p01{
	margin-top:10px!important;
}
}
@media screen and (max-width: 480px) {
.kiki-product-p01{
	padding:0 0;
}
.kiki-product-p02{
	padding:10px 0;
}
}
/****************************************************************
 * 中央機器　事業案内　工程の流れフロー
****************************************************************/
/* 親コンテナ（横並び） */
.kiki-flow-columns {
  max-width: 100%;
  margin: 40px auto;
  display: flex;
  justify-content: space-between;
  gap: 30px;
}

/* 各工程ボックス */
.kiki-flow-columns > div {
  flex: 1 1 0;
  background: #e5f0f8;
  color: #0067b6;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  padding: 50px 10px;
  position: relative;
  box-sizing: border-box;
}

/* ▶ 右向きの三角矢印（PC） */
.kiki-flow-columns > div::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -24px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 0 16px 16px; /* 上 右 下 左 */
  border-color: transparent transparent transparent #0067b6;
}

/* 最後の工程は矢印なし */
.kiki-flow-columns > div:last-child::after {
  display: none;
}

/* =======================
   スマホ（縦並び）
   ======================= */
@media (max-width: 767px) {
.kiki-flow-columns {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

.kiki-flow-columns > div {
	  width: 100%;
	  margin-bottom: 0;
	  padding: 10px 10px;
	  font-size: 20px;
  }

  /* ▼ 下向き矢印（スマホ） */
.kiki-flow-columns > div::after {
    top: 112%;
    left: 50%;
    right: auto;
    transform: translate(-50%, 0);
    border-width: 14px 26px 0 26px; /* 上 右 下 左 */
    border-color: #0067b6 transparent transparent transparent;
  }

.kiki-flow-columns > div:last-child::after {
    display: none;
  }
}

/****************************************************************
 * 合資会社　ビジネス　グリッド
****************************************************************/
.goshi-bussiness-grid p{
	background-color:#ebf0f3;
	height:125px;
	position: relative;
	display: flex!important;
	align-items: center;
	justify-content: center;
	font-size:18px;
	line-height:1.5em;
	color:#0067b6;
	font-weight:700;
}
/* 左下の三角 */
.goshi-bussiness-grid p::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 20px 20px 0;              /* 大きさ */
	border-color: transparent transparent #0067b6 transparent;
}

/* 右上の三角 */
.goshi-bussiness-grid p::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 0 0 20px;              /* 大きさ */
	border-color: #0067b6 transparent transparent transparent;
}

@media screen and (max-width: 781px) {
.goshi-bussiness-grid p{
	height:75px;
}
}

/****************************************************************
 * 合資会社　ビフォーアフター
****************************************************************/
.before-after-columns{
	position: relative;
	gap:60px!important;
	background-color:#e5f0f8;
	padding:40px 50px 50px 50px;
}

.before-tab,.after-tab{
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
	font-size:30px;
	line-height:1em;
	padding:5px 15px;
	color:#fff;
	display:inline-block;
}
.before-tab{
background-color:#828282;
}
.after-tab{
background-color:#0067b6;
}

.before-after-columns .wp-block-column::before {
  content: "";
  position: absolute;
	top:50%;
  left: 50%;
  transform: translate(-50%, -25%);
  width: 0;
  height: 0;
  border-top: 40px solid transparent;
  border-bottom: 40px solid transparent;
  border-left: 30px solid #0067b6;
}

/* --- スマホ：縦並び + ▼に変更 --- */
@media (max-width: 768px) {
.before-after-columns .wp-block-column {
    flex-direction: column;
    gap: 20px;
  }

.before-after-columns .wp-block-column::before {
    border: none; /* リセット */
    width: 0;
    height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-top: 25px solid #0067b6;  /* ▼ */
    top: calc(50% - 15px);
    left: 50%;
    transform: translate(-50%, 0);
  }
.before-after-columns{
	padding:30px 25px 35px 25px;
}
}
@media screen and (max-width: 480px) {
.before-tab,.after-tab{
	font-size:20px;
	line-height:1em;
	padding:5px 15px;
}
}
/****************************************************************
 * 協同組合SEISAN　組合員の一つ目の表
****************************************************************/
.seisan-members-table01 td{
	border-color:#ccc!important;
	padding-top:20px!important;
	padding-bottom:20px!important;
	border-left:none!important;
}

.seisan-members-table01 td:last-child{
	border-right:none!important;
}
/****************************************************************
 * 楊凌楸欧汽車配件制作有限公司／楊凌工場
****************************************************************/
.partners-h4{
	font-size:24px;
	line-height:1.5em;
	color:#0067b6!important;
	padding-bottom:20px;
	border-bottom:1px solid #0067b6;
	max-width:750px;
}
.client-group{
	font-size:20px;
	font-weight:700;
	max-width:1100px;
	margin-left:auto;
margin-right:auto;
font-feature-settings: "palt";
}
.client-num{
	background-color:#0067b6!important;
	color:#fff;
}
.client-column{
	background-color:#DFE6F2;
	padding:20px;
}
.yangling-txt1{
	margin-top:15px!important;
	line-height:1.4em!important;
	font-weight: 700!important;
	color:#0067b6!important;
	font-feature-settings: "palt";
}
.yangling-txt2{
  font-size: 14px!important;
	line-height:1.5em!important;
  font-family: "Noto Sans SC", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500!important;
  font-style: normal;
	font-feature-settings: "palt";
	margin-top:10px!important;
	margin-bottom:30px!important;
}
.photo-center,
.photo-tate-up{
display: flex!important;
align-items: center;
justify-content: center;
}
.photo-tate-up img{
	height:100%!important;
	max-width:130%;
}

.photo-center02 img{
margin-top:-70px;
}

@media screen and (max-width: 980px) {
.client-group{
	font-size:16px;
}
.client-column{
	padding:10px;
}
}
@media screen and (max-width: 480px) {
.yangling-txt1{
	margin-top:14px!important;
}
.yangling-product-grid{
	--smb-grid--column-min-width: 150px!important;
}
}
/****************************************************************
 * 環境方針
****************************************************************/
.eco-columns .wp-block-column {
	position: relative;
	background-color:#e5f0f8;
	padding:30px 10px;
	display: flex!important;
	font-weight:700;
}
.eco-columns .wp-block-column p {
	margin-top:auto;
	margin-bottom:auto!important;
}
/* 右上の三角 */
.eco-columns .wp-block-column::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0 0;              /* 大きさ */
	border-color: #0067b6 transparent transparent transparent;
}

.kankyo-hozen{
	font-size:38px;
	  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
		color:#0067b6;
}
.policy-group{
	background-color:#e5f0f8;
	padding:50px 40px;
}
.policy-list{
	background-color:#fff;
	padding:30px 20px 30px 50px!important;
}
.policy-list li::before{
	background-color:#0067b6;
	color:#fff;
}
.eco-cover{
	padding:80px 0;
	margin-top:50px!important;
}
.eco-action-group{
	width:90%;
	max-width:650px;
	padding:50px 10px;
}
.eco-action-group h3{
	  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
	font-size:32px;
	line-height:1.5em;
	color:#0067b6;
	font-weight:900;
	position:relative;
	padding-bottom:15px;
}
.eco-action-group h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100px;            /* ラインの長さ */
  height: 3px;            /* 太さ */
  background: #0067b6;    /* お好みの色（ロゴの青など） */
}
.eco-table{
	max-width:500px;
	margin-top:30px;
}
.eco-table td{
	border:none!important;
	padding:0.2em!important;
}
.eco-table td:nth-child(odd){
	width:60px;
	  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
	font-size:32px;
	line-height:1.5em;
  font-weight: 900;
  font-style: normal;
	color:#0067b6;
}
.eco-table td:nth-child(even){
	font-size:20px;
	font-weight:500;
	line-height:1.5em;
}
.eco-columns{
	position:relative;
	margin-bottom:70px;
}

/* 下向きの青い三角矢印 */
.eco-columns::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -45px;         /* ▼の高さ分だけ下にずらす */
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25px 70px 0 70px;        /* 高さ 20px, 幅 50px */
  border-color: #0067b6 transparent transparent transparent;
}


@media screen and (max-width: 781px) {
.eco-action-group{
	width:85%;
	padding:30px 20px;
}
.eco-action-group h3{
	font-size:28px;
}
.eco-table td:nth-child(odd){
	width:40px;
	font-size:26px;
}
.eco-table td:nth-child(even){
	font-size:18px;
}
.eco-columns .wp-block-column {
	padding:20px 20px;
}
.eco-columns .wp-block-column p {
	text-align:left!important;
}
}
@media screen and (max-width: 480px) {
.eco-action-group{
	width:85%;
	padding:30px 20px;
}
.eco-action-group h3{
	font-size:26px;
}
.eco-table td:nth-child(odd){
	width:40px;
	font-size:24px;
}
.eco-table td:nth-child(even){
	font-size:16px;
}
.kankyo-hozen{
	font-size:7.5vw;
}
.policy-group{
	padding:40px 20px;
}
}


/****************************************************************
 * サイトマップ
****************************************************************/
/* ================================
   サイトマップ（.site-map-list）
   ================================ */

/* リスト初期化 */
.site-map-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* --- 1階層 ------------------------------------ */

/* 1階層 li */
.site-map-list > li {
  margin-bottom: 15px;
}

/* 1階層リンク（青枠ボタン） */
.site-map-list > li > a {
  display: block;
  padding: 15px 16px;
  border: 1px solid #0067b6;
  color: #0067b6;
  font-weight: 700;
  text-decoration: none;
  position: relative;
  line-height: 1.4;
}

/* ▶ マーク付与 */
.site-map-list > li > a::before {
  content: "▶";
  margin-right: 8px;
  color: #0067b6;
}

/* 1階層ホバー */
.site-map-list > li > a:hover {
  background: #e6f1fb;
}

/* --- 2階層 ------------------------------------ */

/* 2階層 ul */
.site-map-list > li > ul {
  list-style: none;
  margin: 16px 0 0 0;
  padding: 0 0 10px 18px;
}

/* 2階層 li（├└ 記号つき） */
.site-map-list > li > ul > li {
  position: relative;
  padding-left: 1.2em;
  line-height: 1.7;
  font-size: 0.95rem;
}

/* ├／└ の生成 */
.site-map-list > li > ul > li::before {
  content: "├";
  position: absolute;
  left: 0;
  top: 0;
  color: #0067b6;
}

/* 最後の項目だけ └ に変更 */
.site-map-list > li > ul > li:last-child::before {
  content: "└";
}

/* 2階層リンク */
.site-map-list > li > ul > li > a {
  text-decoration: none;
  color: #333;
}

/* 2階層ホバー */
.site-map-list > li > ul > li > a:hover {
  text-decoration: underline;
}

/* 外部リンク用（target="_blank" のみに適用） */
.site-map-list a[target="_blank"]::after {
  content: "↗";
  font-size: 0.85em;
  margin-left: 6px;
  color: #0067b6;
}
.site-map-list > li > a[target="_blank"]::after {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 0;
}

/* 中国語書体指定 */
.sitemap-sc > a{
  font-family: "Noto Sans SC", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
/****************************************************************
 * お問い合わせページ　電話問い合わせ
****************************************************************/
.contact-page-tel-box .wp-block-column{
	background-color:#e5f0f8;
	padding:40px 10px;
}
.contact-page-name{
	position: relative;
	font-size:20px;
	line-height:1.5em;
	padding-bottom:20px;
	margin-bottom:10px!important;
	font-weight:700;
}

.contact-page-name::after {
  content: ""!important;
  position: absolute!important;
  left: 50%!important;
  bottom: 0!important;
  transform: translateX(-50%)!important;
  width: 100px!important;
  height: 3px!important;
  background: #0067b6;
}

.contact-page-tel{
	margin-top:0;
	font-size:40px;
	line-height:1.25em;
	color:#0067b6;
	font-weight:900;
}
.contact-page-tel-box .contact-tel-group svg{
	font-size:30px;
	margin-bottom:-0.2em;
	color: #0067b6;
}
.contact-page-time{
	font-size:14px;
	line-height:1.5em;
	color:#0067b6;
	font-weight:700;
	margin-top:0!important;
}
@media screen and (max-width: 480px) {
.contact-page-tel{
	font-size:8.5vw;
}
.contact-page-tel-box .contact-tel-group svg{
	font-size:7vw;
}
}
/****************************************************************
 * フッター　ウィジェット　コンテンツの下
****************************************************************/
.l-contents__inner{
	padding-bottom:0!important;
}
.l-contents-bottom-widget-area{
	margin-top:0;
	max-width:none;
    margin-left: calc(-1 * var(--_container-margin-left));
    margin-right: calc(-1 * var(--_container-margin-right));
}
/****************************************************************
 * フッター　コンタクト／お問合せ
****************************************************************/
.contact-group02{
    width: 100vw;
    max-width: 100vw;
	margin: 100px calc(50% - 50vw) 0 calc(50% - 50vw);
	padding:0 20px!important;
	background-color: #ebf0f3; /* ベースの淡い色 */
	background-image:
    linear-gradient(#fff 1px, transparent 1px), /* 横線 */
    linear-gradient(90deg, #fff 1px, transparent 1px); /* 縦線 */
	background-size: 30px 30px; /* 格子間隔（縦 横） */
	padding-top:40px!important;
	padding-bottom:40px!important;
}

.contact-group02 .midashi01{
	margin-top:-5px;
}
.contact-txt-box{
	max-width:1000px;
	margin-left:0!important;
}
.contact-name{
	font-size:20px;
	line-height:1.5em;
	margin-bottom:0!important;
}
.contact-tel{
	margin-top:0;
	font-size:40px;
	line-height:1.5em;
	color:#0067b6;
	font-weight:900;
}

.contact-group02 .contact-tel-group svg{
	font-size:30px;
	margin-bottom:-0.2em;
	color: #0067b6;
}

.contact-time{
	font-size:14px;
	line-height:1.5em;
	color:#0067b6;
	font-weight:700;
	margin-top:0!important;
}
.contact-group-columns{
	max-width:1100px;
}

/* TOPお問合せ */
.contact-group01 .right{
	background-color: #ebf0f3; /* ベースの淡い色 */
	background-image:
    linear-gradient(#fff 1px, transparent 1px), /* 横線 */
    linear-gradient(90deg, #fff 1px, transparent 1px); /* 縦線 */
	background-size: 30px 30px; /* 格子間隔（縦 横） */
	padding:40px calc((100vw - var(--screen)) / 2) 40px 40px;
}
.contact-group01 .contact-group-columns{
	width:100vw;
	max-width:100vw;
	gap:0!important;
}
.contact-group01 .contact-group-columns .wp-block-cover{
	height:100%;
}
.page-id-17 #block-5{
	padding-bottom:0!important;
}
.contact-group01 .contact-tel{
font-size:min(2.5vw,40px)!important;
}
.contact-group01 .contact-tel-group svg{
margin-bottom:-0.2em;
font-size:min(2vw,35px)!important;
color: #0067b6;
}

.contact-group01 .contact-time{
font-size:min(1.6vw,15px)!important;
font-feature-settings: "palt";
}
.contact-name{
font-size:min(2.1vw,20px)!important;
}
.contact-group01 .midashi01,
.contact-group01 .midashi02{
	margin-bottom:0!important;
}

@media screen and (max-width: 1265px) {
.contact-group01 .right{
	padding:40px 30px 40px 30px;
}
}
@media screen and (max-width: 1040px) {
.contact-group02 .left{
	flex-basis:200px!important;
}
.contact-group02 h3{
	font-size:45px!important;
}	
.contact-group02 .contact-tel{
font-size:3.8vw!important;
	line-height:1.2em;
}

.contact-group02 .contact-tel-group svg{
font-size:3.2vw!important;
}
}
@media screen and (max-width: 991px) {
.contact-group01 .bottan01 .smb-btn,
.contact-group02 .bottan01 .smb-btn{
	font-size:1.5vw!important;
	padding: 20px 50px 20px 10px;
}
}
@media screen and (max-width: 781px) {
.contact-group01,
.contact-group02{
	margin-top: 70px;
}
.contact-group02 .contact-group-columns{
	gap:0;
}
.contact-group02 h3{
	font-size:60px!important;
}
.contact-group01 .contact-tel,
.contact-group02 .contact-tel{
font-size:40px!important;
	line-height:1.2em;
}
.contact-group02 .contact-tel-group svg,
.contact-group02 .contact-tel-group svg{
font-size:35px!important;
}
.contact-group01 .contact-time,
.contact-group02 .contact-time{
font-size:15px!important;
font-feature-settings: "palt";
}
.contact-name{
font-size:20px!important;
}
.contact-group01 .bottan01 .smb-btn,
.contact-group02 .bottan01 .smb-btn{
	font-size:16px!important;
	max-width:300px;
}
.contact-group01 .wp-block-cover{
	min-height:70vw;
}
}
@media screen and (max-width: 480px) {
.contact-group01,
.contact-group02{
	margin-top: 60px;
}
.contact-group01 .contact-tel,
.contact-group02 .contact-tel{
font-size:10vw!important;
}
.contact-group02 .contact-tel-group svg,
.contact-group02 .contact-tel-group svg{
font-size:8vw!important;
}
.contact-group01 .bottan01 .smb-btn,
.contact-group02 .bottan01 .smb-btn{
	font-size:16px!important;
	max-width:100%;
}
}
/****************************************************************
 * フッター　最下部
****************************************************************/
.l-footer {
    border-top: 0;
}
.fotter-navi01 ul,
.fotter-navi02 ul{
  display: flex;
  flex-wrap: wrap;         /* はみ出す場合は折返し */
  gap: 0.4em 1.2em;        /* 行間・列間の余白 */
  list-style: none;        /* 既定の黒丸を消す */
  padding-left: 0;
  margin: 0;
}

/* 各 LI の先頭に「・」を表示 */
.fotter-navi01 ul > li,
.fotter-navi02 ul > li{
  display: flex;
  align-items: center;
  position: relative;
	margin-top:0!important;
}

.fotter-navi01 ul > li::before,
.fotter-navi02 ul > li::before{
  content: '・';
  margin-right: 0.3em;     /* 文字とリンクの間隔 */
  line-height: 1;
	color:#0067b6;
}

/* リンクの基本調整（任意） */
.fotter-navi01 ul > li > a,
.fotter-navi02 ul > li > a{
  text-decoration: none;
  display: inline-block;
}
.fotter-navi-box{
	margin-bottom:0!important;
}
.fotter-logo{
	
}
.fotter-navi01 ul li{
	font-size:15px;
	font-weight:400;
}
.fotter-navi02 ul li{
	font-size:12px;
	font-weight:400;
}
.fotter-navi02{
	margin-top:15px!important;
}
.fotter-add{
	margin-top:20px!important;
	font-size:15px;
	font-weight:700;
}
.c-copyright{
	font-size:13px;
	line-height:1.3em;
	background:#0067b6;
	padding:15px 0;
}

/* 中国語書体指定 */
.fotter-navi01 ul > li:nth-child(6){
  font-family: "Noto Sans SC", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

@media screen and (max-width: 991px) {
/* 991pxまでの幅の場合に適用される */
}
@media screen and (max-width: 781px) {
.fotter-navi01 ul li{
	font-size:14px;
	font-weight:400;
}
.fotter-navi02 ul li{
	font-size:12px;
	font-weight:400;
}
.fotter-navi01 ul,
.fotter-navi02 ul{
	flex-direction:column;
	gap: 0.4em 1.2em;        /* 行間・列間の余白 */
}
}
@media screen and (max-width: 480px) {
/* 480pxまでの幅の場合に適用される */
}

/****************************************************************
 *お問い合わせフォーム
****************************************************************/
/* Snow Monkey Formsに必須マークをつける */
.smf-item__label__text {
    position: relative;
}
.smf-item__controls p{
	margin-top:5px;
}
.smf-item:has([data-validations~="required"]) .smf-item__label__text::after {
  position: absolute;
  top: 50%;
  right: -50px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 40px;
  height: 23px;
  border-radius: 0px;
  content: "必須";
  font-size: 12px;
  color: #fff;
  background: rgb(204, 0, 0);
}
.smf-item:not(:has([data-validations~="required"])) .smf-item__label__text::after {
  position: absolute;
  top: 50%;
  right: -50px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 40px;
  height: 23px;
  border-radius: 0px;
  content: "任意";
  font-size: 12px;
  color: #fff;
  background: #888;
}


/* Snow Monkey Forms 全体の placeholder に適用 */
.smf-form ::placeholder {
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; /* 任意のフォント */
  font-weight: 100; /* 太さ（400=通常, 700=太字など） */
  color: #999; /* 色 */
  opacity: 1; /* Safari対策（デフォで薄くなるのを防ぐ） */
}

.smf-button-control__control{
  position: relative!important;
  display: inline-block!important;
  padding: 16px 56px 16px 24px!important; /* 右側は矢印の分を余白確保 */
  background: #0067b6!important;
  color: #fff!important;
  text-decoration: none!important;
  font-weight: 700;
  border-radius: 0!important;
  line-height: 1!important;            /* 行高固定で上下のブレを防止 */
  -webkit-font-smoothing: antialiased;
  transition: background-color .25s ease!important;
	border:none!important;
}

/* くの字 “＞” を borderで作る（絶対配置で上下固定） */
.smf-button-control__control::after{
  content: "";
  position: absolute;
  right: 22px;               /* 好みで微調整 */
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(0,-50%) rotate(45deg);   /* 常に中央基準で45度 */
  transition: transform .25s ease;              /* translateXのみ変える */
  will-change: transform;
}
/* ホバー時：青を濃く＋矢印を “右へだけ” スライド */
.smf-button-control__control:hover{
  background: #112e67!important;       /* ほんの少し濃く */
}
.smf-button-control__control:hover::after{
  transform: translate(3px,-50%) rotate(45deg); /* Yは-50%固定のまま */
}


/* リキャプチャ非表示 */
.grecaptcha-badge { visibility: hidden; }




/****************************************************************
* PHPお問い合わせフォーム
****************************************************************/
:root{
  --text:#222;
  --muted:#6b7280;
  --fieldLine:#d1d5db;
  --focus:#2563eb;
  --required:#d32f2f;
  --optional:#7b8088;
  --radius:6px;

  --btn:#1f5fbf;
  --btnHover:#174d9a;
  --btnReset:#e5e7eb;
  --btnResetHover:#d1d5db;

  --rowGap:22px;
  --labelW:220px;
}

*{ box-sizing:border-box; }

.php-form{
  max-width: 1100px;
  margin: 28px auto;
  padding: 0 18px 36px;
}

.form__rows{
  display:flex;
  flex-direction:column;
  gap: var(--rowGap);
}

.row{
  display:grid;
  grid-template-columns: var(--labelW) minmax(0, 1fr);
  align-items:center;
  column-gap: 26px;
}

.row__label{
  display:flex;
  align-items:center;
  gap: 10px;
  font-size: 16px;
}

.row__label label{
  font-weight: 600;
}

.badge{
  min-width: 40px;
  height: 22px;
  padding: 0 8px;
  font-size: 12px;
  border-radius: 3px;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.badge--required{ background: var(--required); }
.badge--optional{ background: var(--optional); }

/* デフォ幅（行ごとに上書きする） */
.row__field{
  max-width: 520px;
}

/* 入力欄の幅バリエーション（行ごとに指定） */
.row--w-s  .row__field{ max-width: 360px; }
.row--w-m  .row__field{ max-width: 520px; }
.row--w-l  .row__field{ max-width: 760px; }
.row--w-xl .row__field{ max-width: 1100px; }

input, textarea{
  width:100%;
  border:1px solid var(--fieldLine);
  border-radius: var(--radius);
  padding: 14px;
  font-size: 15px;
}

input::placeholder, textarea::placeholder{
  color: var(--muted);
}

input:focus, textarea:focus{
  border-color: var(--focus);
  outline:none;
  box-shadow: 0 0 0 3px rgba(37,99,235,.15);
}

textarea{
  min-height: 220px;
  resize: vertical;
}

.row--textarea{
  align-items:flex-start;
}

/* 郵便番号の「〒」＋入力 */
.inline{
  display:flex;
  align-items:center;
  gap: 10px;
}
.inline__prefix{
  font-weight: 600;
}
.inline--zip input{
  max-width: 260px; /* 郵便番号が伸びすぎない用（任意） */
}

/* ラジオ（左寄せ＆詰め） */
.radios{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap: 12px 24px;     /* 間隔詰め */
}

.radio{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  white-space: nowrap;
}

.radio input{
  width: 16px;
  height: 16px;
}

/* 送信・リセット */
.actions{
  max-width: 500px;
  margin: 26px auto 0;
  display:flex;
  justify-content:center;
  gap: 16px;
}

.btn-submit,
.btn-reset{
  border: none;
  border-radius: 4px;
  padding: 12px 28px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}

.btn-submit{
  background: var(--btn);
  color: #fff;
}
.btn-submit:hover{ background: var(--btnHover); }

.btn-reset{
  background: var(--btnReset);
  color: #333;
}
.btn-reset:hover{ background: var(--btnResetHover); }

/* スマホ対応 */
@media (max-width: 720px){
  .row{
    grid-template-columns: 1fr;
    row-gap: 10px;
  }

  .row__field{
    max-width: 100%;
  }

  .actions{
    max-width: 100%;
  }

  .btn-submit,
  .btn-reset{
    width: 100%;
  }

  .radios{
    gap: 10px 16px;
  }

  .radio{
    white-space: normal;
  }
}

