@charset "UTF-8";@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
p {
    margin: 0px 0 ;
    line-height: 2.2em;
    text-align: justify;
    text-justify: inter-ideograph;
}

/*パソコンh2見出し上下狭く*/
@media screen and (min-width: 768px) {
	.post_content h2 { 
	font-size:1.5em;/*文字サイズ*/
	padding: 0.4em 1.1em;/*文字の上下 左右の余白*/
	 }
}
	
/*スマホh2見出し上下*/
@media screen and (max-width: 767px) {
  .post_content h2 {
    font-size: 1.2em; /* 文字サイズ */
    padding: 0.8em 0.9em; /* 文字の上下 左右の余白 */
  }
}

/* コンテンツの下の空白を詰める */
.l-content {
  margin-bottom: 0 !important;
}		
.l-footer__foot, .l-footer__widgetArea {
padding-bottom: 0.3em; 
padding-top: 0.3em; 
}
/*枠線　細い黒線*/
.waku {
padding:15px;
       border: solid 1px;
    border-color: black !important;
}


/*新着情報タイトル*/
.post_content h1 {
	display: none;
    font-size: 1.5em;
}
/*新着情報dt dd 文字色*/
div.whatsnew dt {
    color: black;
}
div.whatsnew dd {
    color: black !important;
/*	line-height:1.3em !important; */
}
div.whatsnew hr {
    border-color: #888 !important;
}
div.whatsnew dt {
    margin: -0.2 1.0em 0 0.3em;
    padding: 0;
    border: 0;
    color: Gray;
    font-weight: normal;
    white-space: nowrap;
}

/*フッター前の場合*/
/*新着情報タイトル*/
.swell-block-columns h1 {
  display: block !important;
    font-size: 1.5em;
}
/*新着情報dt dd 文字色*/
div .wp-block-cover .whatsnew dt {
    color: white;
	line-height:1.3em !important; 
}
div .wp-block-cover .whatsnew dd {
    color: white !important;
	line-height:1.3em !important; 
}
div.whatsnew hr {
    border-color: #888 !important;
}
div .whatsnew dt {
    margin: -0.4 1.0em 0 0.3em;
    padding:  -0.4em 0 0 0;
    border: 0;
    color: Gray;
    font-weight: normal;
    white-space: nowrap;
}




.tt1 {
padding: 5px !important;
background-color: rgb(157, 146, 122)!important;
	font-size:1.2em!important;/*文字サイズ*/}

/* ボックスのマージン再設定 */
.p15{
padding:150 15 15 15important;
margin:0;
}

.btp{
padding:0pximportant;
margin:0;
}

.smb-box {
  padding:0 ;
  margin-top:0;
}
/* もう少し濃いシャドウ */
.sdw1{
filter: drop-shadow(3px 3px 4px #ccc);
}

/* ボタン角丸 */
.is-style-btn_normal {
    --the-btn-radius: 6px !important;
}
.is-style-btn_normal a {
    color: #fff;
    font-weight: 700;
    transition: box-shadow .25s;
}
/* ボタン パディング等 */
[class*=is-style-btn_] {
    --the-fz: 1em;
    --the-width: auto;
    --the-min-width: 64%;
    --the-padding: .25em 1.0em;
    --the-btn-color: var(--color_main);
    --the-btn-color2: var(--color_main);/* メインカラーに設定 */
    --the-btn-bg: var(--the-btn-color);
    display: block;
    font-size: var(--the-fz);
    position: relative;
    text-align: center
}

/* ボタンを下に揃える */
.btn-bottom-list .swell-block-column {
	display: flex;
	flex-direction: column;
}
.btn-bottom-list .swell-block-button{
	margin-top: auto;
}
.swell-block-button__link {
		margin-left:10px !important;
}





/* フッター直前ウィジェット*/
.w-beforeFooter {
	margin-top:0 !important;
}
/* 記事スライダー　タグ*/
.c-postThumb__cat {
/*     background-color: #999;*/
    background-image: none !important;
    /* background-image: repeating-linear-gradient(-45deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .1) 6px, transparent 6px, transparent 12px); */
}
.p-postList__title {
    color: #999;
	font-size:14px !important;
}






/* /////////////////// 
 * 
.btn-bottom-list > .swell-block-column {
  display: flex;
  flex-direction: column;
}

.btn-bottom-list > .swell-block-column > .swell-block-button{
  flex-grow: 1;
  display: flex;
  align-items: flex-end;
	
}


#pr-block .wp-block-column {
	display: flex;
	flex-direction: column;
	border: solid 2px #704104;
	padding: 1rem;
	margin-bottom: 1.5rem;
	border-radius: 8px;
}
#pr-block .wp-block-buttons {
	margin-top: auto;
}





#pr-block .wp-block-column {
	display: flex;
	flex-direction: column;
	border: solid 2px #704104;
	padding: 1rem;
	margin-bottom: 1.5rem;
	border-radius: 8px;
}
#pr-block .wp-block-buttons {
	margin-top: auto;
}

 *  /////////////////////// */

/* /////////////////// 調整CSS /////////////////////// */
.lh10{
line-height:1.0em !important;
}
.lh11{
line-height:1.1em !important;
}
.lh12{
line-height:1.2em !important;
}
.lh13{
line-height:1.3em !important;
}
.lh14{
line-height:1.4em !important;
}
.lh15{
line-height:1.5em !important;
}
.lh16{
line-height:1.6em !important;
}
.lh17{
line-height:1.7em !important;
}
.lh18{
line-height:1.8em !important;
}
.lh19{
line-height:1.9em !important;
}
.lh20{
line-height:2.0em !important;
}

.mt0{
margin-top:0px !important;
margin-bottom: 0px !important;
}
.mt5{
margin-top:5px !important;
margin-bottom: 5px !important;
}
.mt10{
margin-top:10px !important;
margin-bottom: 10px !important;
}
.mt15{
margin-top:15px !important;
margin-bottom: 15px !important;
}
.mt20{
margin-top:20px !important;
margin-bottom: 20px !important;
}
.mt25{
margin-top:25px !important;
margin-bottom: 25px !important;
}
.mt30{
margin-top:30px !important;
margin-bottom: 30px !important;
}




.my0{
margin-left:0px !important;
margin-right: 0px !important;
}
.my5{
margin-left:5px !important;
margin-right: 5px !important;
}
.my10{
margin-left:10px !important;
margin-right: 10px !important;
}
.my15{
margin-left:15px !important;
margin-right: 15px !important;
}
.my20{
margin-left:20px !important;
margin-right: 20px !important;
}
.my25{
margin-left:25px !important;
margin-right: 25px !important;
}
.my30{
margin-left:30px !important;
margin-right: 30px !important;
}


.my40{
margin:0px 40px !important;
}
.my50{
margin:0px 50px !important;
}
.my60{
margin:0px 60px !important;
}
.my70{
margin:0px 70px !important;
}



.pt0{
padding-top:0px !important;
padding-bottom: 0px !important;
}
.pt5{
padding-top:5px !important;
padding-bottom: 5px !important;
}
.pt10{
padding-top:10px !important;
padding-bottom: 10px !important;
}
.pt15{
padding-top:15px !important;
padding-bottom: 15px !important;
}
.pt20{
padding-top:20px !important;
padding-bottom: 20px !important;
}
.pt25{
padding-top:25px !important;
padding-bottom: 25px !important;
}
.pt30{
padding-top:30px !important;
padding-bottom: 30px !important;
}


.py0{
padding-left:0px !important;
padding-right: 0px !important;
}
.py5{
padding-left:5px !important;
padding-right: 5px !important;
}
.py10{
padding-left:10px !important;
padding-right: 10px !important;
}
.py15{
padding-left:15px !important;
padding-right: 15px !important;
}
.py20{
padding-left:20px !important;
padding-right: 20px !important;
}
.py25{
padding-left:25px !important;
padding-right: 25px !important;
}
.                          30{
padding-left:30px !important;
padding-right: 30px !important;
}


.km0{
border-radius:0px !important;
}
.km5{
border-radius:5px !important;
}
.km10{
border-radius:10px !important;
}
.km15{
border-radius:15px !important;
}
.km20{
border-radius:20px !important;
}
.km25{
border-radius:25px !important;
}
.km30{
border-radius:30px !important;
}



/* display-postsのカード型を整える　Grid style */
.display-posts-listing.grid {
    display: grid;
    grid-gap: 16px;
}
 
.display-posts-listing.grid .title {
    display: block;
}
 
.display-posts-listing.grid img { 
    display: block; 
    max-width: 100%; 
    height: auto; 
}
 
@media (min-width: 600px) {
    .display-posts-listing.grid {
        grid-template-columns: repeat( 2, 1fr );
    }
}
 
@media (min-width: 1024px) {
    .display-posts-listing.grid {
        grid-template-columns: repeat( 3, 1fr );
    }
}



/*　　　カテゴリー一覧のマージン、枠線消す　　　*/
.p-termHead__desc {
    padding: 0em;
    width: 100%;
}
.p-termHead {
    border: none;
}
/*　　　カテゴリー一覧の投稿日を消す　　　*/
.p-postList__meta {
/*　　　    display: none;　　　*/
	}
.red{
color:#f00}  

/*　　　カテゴリー一覧のfix を解除　　*/
@media (min-width:600px) {
	.p-termHead {
display: block;
	}
}

// .box で使ったスタイルを継承
.widget-title {
    font-size: 4vw;
    font-weight: 700;
    margin-bottom: 1.5em;
    overflow: hidden;
    position: relative;    padding: .5em .75em;
    border-radius: var(--swl-radius--2, 0px);
    background: var(--color_main) !important;
    color: #fff;
}
/******************　　カレント設定 ******************　/
/* グローバルナビ
.c-gnav > li:hover > a, .c-gnav > .-current > a {
background: transparent;
background-color: #555;
color: #fff;
transition: all .25s;
} */
/*　　　.c-gnav > li:hover > a,
.c-gnav > .-current > a {
    background: none;
  color: #fff;
} */

/*　　カレント（投稿一覧もOK） */
.current-menu-item,
.current_page_item,
.current-menu-parent,
.current_page_parent,
.current_page_ancestor {
  background: var(--color_main);
/*　background: #1e73be; */
  color: #fff;
}



.c-spnav .current-menu-item,
.c-spnav .current_page_item,
.c-spnav .current-menu-parent,
.c-spnav .current_page_parent,
.c-spnav .current-menu-ancestor,
.c-spnav .current_page_ancestor {
  background: transparent;
  color: inherit;
}

.c-spnav .current-menu-item > a,
.c-spnav .current_page_item > a,
.c-spnav .current-menu-parent > a,
.c-spnav .current_page_parent > a,
.c-spnav .current-menu-ancestor > a,
.c-spnav .current_page_ancestor > a,
.c-spnav .current-menu-item > a .c-submenuToggleBtn,
.c-spnav .current_page_item > a .c-submenuToggleBtn,
.c-spnav .current-menu-parent > a .c-submenuToggleBtn,
.c-spnav .current_page_parent > a .c-submenuToggleBtn,
.c-spnav .current-menu-ancestor > a .c-submenuToggleBtn,
.c-spnav .current_page_ancestor > a .c-submenuToggleBtn {
  color: #fff !important;
}

.c-spnav .current-menu-item > a,
.c-spnav .current_page_item > a,
.c-spnav .current-menu-parent > a,
.c-spnav .current_page_parent > a,
.c-spnav .current-menu-ancestor > a,
.c-spnav .current_page_ancestor > a {
  background: var(--color_main);
}

.c-spnav .current-menu-item > a .c-smallNavTitle,
.c-spnav .current_page_item > a .c-smallNavTitle,
.c-spnav .current-menu-parent > a .c-smallNavTitle,
.c-spnav .current_page_parent > a .c-smallNavTitle,
.c-spnav .current-menu-ancestor > a .c-smallNavTitle,
.c-spnav .current_page_ancestor > a .c-smallNavTitle {
  color: #fff !important;
}

.c-spnav .sub-menu li:not(.current-menu-item):not(.current_page_item) > a {
  background: transparent;
  color: inherit !important;
}

.c-spnav .sub-menu li:not(.current-menu-item):not(.current_page_item) > a .c-smallNavTitle {
  color: inherit !important;
}

.c-spnav .current-menu-item > a .c-submenuToggleBtn::after,
.c-spnav .current_page_item > a .c-submenuToggleBtn::after,
.c-spnav .current-menu-parent > a .c-submenuToggleBtn::after,
.c-spnav .current_page_parent > a .c-submenuToggleBtn::after,
.c-spnav .current-menu-ancestor > a .c-submenuToggleBtn::after,
.c-spnav .current_page_ancestor > a .c-submenuToggleBtn::after {
  border-color: #fff !important;
  opacity: .5;
}

.c-spnav .sub-menu .current-menu-item > a,
.c-spnav .sub-menu .current_page_item > a {
  background: color-mix(in srgb, var(--color_main) 82%, #fff);
  color: #fff !important;
}

.c-spnav .sub-menu .current-menu-item > a .c-smallNavTitle,
.c-spnav .sub-menu .current_page_item > a .c-smallNavTitle {
  color: #fff !important;
}

/*　　　.current_page_ancestor a {
    background: #ffe3db;
}
.current_page_ancestor ul li a {
    background: #fff;
}
　　*/

/******************　　カレント設定（ここまで） ******************　/　　*/

.p-postList .p-postList__title {
    font-weight: 100;
    line-height: 1.2;
}
.rpwe-block h3 {
    background: none !important;
    clear: none;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    line-height: 1.5em;
}
.rpwe-summary {
    font-size: 11px!important;
    line-height: 1.4;
}

/*画像の高さを調整*/
img.vam2 { vertical-align: -2px; }

/*ブロークングリッドのテキスト部分背景を半透明に*/
.text-background01 {
background-color: rgba( 255, 255, 255, 0.8 )!important;
	padding: 1em!important; /*テキスト外側の余白を広げる*/
}
/*右のテキストを左に移動(PC)*/
@media (min-width: 768px) {
.text-group01 {
margin-left: -100px ;
}
}

.padtest {
	padding: 1em!important; /*テキスト外側の余白を広げる*/
}
.is-style-wide{
    border-color: #888 !important;
}
.mwkmr{
padding:0 10px 0 0;
margin:0 10px 0 0;
}
.mwkml{
padding:0 0 0 10px;
margin:0 0 0 10px;
}
.tte{
    font-size: 11px!important;
    line-height: 1.4;
}
.mwrk{
clear: none!important;
}
/*画像回り込み
.wp-block-image:after {clear: none;}
.post_content>* {clear: none;}
.post_content:after {clear: both;}*/
/*モバイル用
@media (max-width: 768px) {
.wp-block-image img{
width:100% ;
margin-bottom:10px;
}
}*/

/*回り込み解除モバイル用*/
@media screen and (max-width: 639px){
.alignleft {
    float: none;
  }
.pop{
    width: 100%!important;
}
}

.ttl_line1 {
  font-weight: bold;
  border-left: 5px solid #4c9ac0;
  /*border-bottom: 2px dashed #B4B4B4;*/
  padding: 0.25em 0 0.3em 0.5em;
}


	/* ヘッダーインナー（ナビメニュー）の高さ指定*/
	.l-header__inner {
		height: 64px;
	}
	/* タイトル背景画像の高さ幅指定*/
@media (min-width: 600px){
.l-topTitleArea {
min-height: 220px;
}
}

	/* ヘッダーロゴの高さ中央*/
@media (min-width: 960px) {
    .-series .l-header__logo {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        margin-right: 24px;
        padding: 0px 0; 
    }
}
	/* コンタクトフォームのラジオボタンを改行する*/
span.wpcf7-list-item {
display: block!important;
}

	/* Googleマップをモノクロにする*/
.google-map iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}
	/* ブログ一覧タイトル*/
h2.p-postList__title {
    font-weight: 700!important;
	font-size: 1.2rem!important;
    line-height: 1.2!important;
}
	/* ↑ブログスライダーのタイトルサイズは戻す　*/
.p-postSlider__swiper h2.p-postList__title {
    font-weight: 700!important;
	font-size: 1.0rem!important;
    line-height: 1.2!important;
}

.home .l-header .c-gnav>li>a:after {	/* homeのメニューのアンダーラインの太さと色*/
background:linear-gradient(transparent
100%, #fff 0%)!important;
}
/* .l-header .c-gnav>li:nth-child(4)>a:after {
    background: transparent;
}*/
.l-fixHeader .c-gnav>li>a:after {
background:linear-gradient(transparent
100%, #000 0%)!important;    
}

.l-header .c-gnav>li>a:after {	/* home以外のメニューのアンダーラインの太さと色*/
 background:linear-gradient(transparent
95%, transparent 0%)!important;
}

/* ナビメニューの上のヘッダーバーの透過 */
.l-header__bar {
	background: rgb(100 0 0 / 0%) !important;
}
/* home以外でヘッダーバーを消す */
:not(.home) .l-header__bar{
    display: none;
}
/* homeでヘッダーバーを表示 */
.home .l-header__bar{
display:block
}

/*ヘッダー内部ウィジェット*/
.w-header__inner {
  height: 160px; 
 position: absolute;
 top: -20px; right: 70px;
 padding-top: 0px;
 font-size: 0.9rem;
 color: #fff;
	  line-height: 1.0;
    z-index: 1;                /* 重なり順指定 */
  pointer-events: none;

}

/* メニューのアンダーライン復活との太さと色*/
.home .l-header .c-gnav>li>a:after {	/* homeのメニューのアンダーラインの太さと色*/
background:linear-gradient(transparent
2%, #fff 0%)!important;
}
/* .l-header .c-gnav>li:nth-child(4)>a:after {
    background: transparent;
}*/
.l-fixHeader .c-gnav>li>a:after {　/* 追従メニューのアンダーラインの太さと色*/
background:linear-gradient(transparent
0%, #000 0%)!important;
		bottom: 0.2em !important; /* 表示位置を少し上に変更 */
	height: 0.05em !important; /* 線太さを少し太めに変更 */

}
.l-header .c-gnav>li>a:after {	/* home以外のメニューのアンダーラインの太さと色*/
	background: rgb(0 0 0 / 100%) !important; /* 線の色を透過度のある水色に変更 */
	bottom: 0.2em !important; /* 表示位置を少し上に変更 */
	height: 0.05em !important; /* 線太さを少し太めに変更 */
}

.l-header .c-gnav > li.current-menu-item > a::after,
.l-header .c-gnav > li.current_page_item > a::after,
.l-header .c-gnav > li.current-menu-parent > a::after,
.l-header .c-gnav > li.current_page_parent > a::after {
  content: none !important;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */


/* ============================
   SWELL PCグローバルナビ用
   サブメニュー：上からむにゅっと ＋ 左端を親と揃える
   （通常ヘッダー + 固定ヘッダー 両方に適用）
   ============================ */
@media (min-width: 960px) {

  /* 親LIを基準にドロップダウンを出す */
  .l-header .c-gnav > li.menu-item-has-children,
  #fix_header .c-gnav > li.menu-item-has-children {
    position: relative;
  }

  /* --- サブメニュー共通：初期状態（通常ヘッダー ＋ fix） --- */
  .l-header .c-gnav > li.menu-item-has-children > ul.sub-menu,
  .l-header .c-gnav > li.menu-item-has-children > .sub-menu,
  .l-header .c-gnav > li.menu-item-has-children .c-dropdown__sub > ul.sub-menu,
  #fix_header .c-gnav > li.menu-item-has-children > ul.sub-menu,
  #fix_header .c-gnav > li.menu-item-has-children > .sub-menu,
  #fix_header .c-gnav > li.menu-item-has-children .c-dropdown__sub > ul.sub-menu {
    /* 左端を親メニューとピッタリ揃える */
    left: 0;
    right: auto;

    /* 右にずれる余白を消す */
    margin-left: 0;
    padding-left: 0;

    /* 「むにゅっ」と出すための初期状態 */
    display: block;              /* SWELL の display:none を上書き */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scaleY(0);        /* 上方向にペタンと畳んでおく */
    transform-origin: center top;
    transition:
      transform .4s ease,
      opacity .2s ease,
      visibility .2s ease;
  }

  /* --- ホバー / フォーカス時に表示（通常ヘッダー ＋ fix） --- */
  .l-header .c-gnav > li.menu-item-has-children:hover > ul.sub-menu,
  .l-header .c-gnav > li.menu-item-has-children:hover > .sub-menu,
  .l-header .c-gnav > li.menu-item-has-children:hover .c-dropdown__sub > ul.sub-menu,
  .l-header .c-gnav > li.menu-item-has-children:focus-within > ul.sub-menu,
  .l-header .c-gnav > li.menu-item-has-children:focus-within > .sub-menu,
  .l-header .c-gnav > li.menu-item-has-children:focus-within .c-dropdown__sub > ul.sub-menu,
  #fix_header .c-gnav > li.menu-item-has-children:hover > ul.sub-menu,
  #fix_header .c-gnav > li.menu-item-has-children:hover > .sub-menu,
  #fix_header .c-gnav > li.menu-item-has-children:hover .c-dropdown__sub > ul.sub-menu,
  #fix_header .c-gnav > li.menu-item-has-children:focus-within > ul.sub-menu,
  #fix_header .c-gnav > li.menu-item-has-children:focus-within > .sub-menu,
  #fix_header .c-gnav > li.menu-item-has-children:focus-within .c-dropdown__sub > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: scaleY(1);        /* むにゅっと下方向に開く */
  }

  /* 親とサブのあいだに“スキマ”があってホバーが切れないように */
  .l-header .c-gnav .sub-menu,
  #fix_header .c-gnav .sub-menu {
    margin-top: 0;
  }

  .l-header .c-gnav .sub-menu .current-menu-item,
  .l-header .c-gnav .sub-menu .current_page_item,
  .l-header .c-gnav .sub-menu .current-menu-parent,
  .l-header .c-gnav .sub-menu .current_page_parent,
  #fix_header .c-gnav .sub-menu .current-menu-item,
  #fix_header .c-gnav .sub-menu .current_page_item,
  #fix_header .c-gnav .sub-menu .current-menu-parent,
  #fix_header .c-gnav .sub-menu .current_page_parent {
    background: transparent;
  }

  .l-header .c-gnav .sub-menu .current-menu-item > a,
  .l-header .c-gnav .sub-menu .current_page_item > a,
  .l-header .c-gnav .sub-menu .current-menu-parent > a,
  .l-header .c-gnav .sub-menu .current_page_parent > a,
  #fix_header .c-gnav .sub-menu .current-menu-item > a,
  #fix_header .c-gnav .sub-menu .current_page_item > a,
  #fix_header .c-gnav .sub-menu .current-menu-parent > a,
  #fix_header .c-gnav .sub-menu .current_page_parent > a {
    background: color-mix(in srgb, var(--color_main) 72%, #fff) !important;
    color: #fff !important;
  }

  .l-header .c-gnav .sub-menu a:hover,
  .l-header .c-gnav .sub-menu a:focus,
  #fix_header .c-gnav .sub-menu a:hover,
  #fix_header .c-gnav .sub-menu a:focus {
    background: color-mix(in srgb, var(--color_main) 60%, #fff) !important;
    color: #fff !important;
  }
}




.l-fixHeader__inner {
  height: 64px !important;
}

.l-fixHeader .c-gnav > li > a {
  height: 64px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.l-fixHeader .c-smallNavTitle {
  line-height: 1.2;
}











  /* フッター背景画像 */



#footer.l-footer,
#footer.l-footer .l-footer__inner {
  background-image:
    linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.6)),
    url("http://gack.co.jp/toyo1/wp-content/uploads/sea-ocean_00020b.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

#footer.l-footer .l-footer__inner {
  background-color: transparent !important;
}

#footer.l-footer,
#footer.l-footer .l-footer__inner,
#footer.l-footer .l-footer__inner > * {
  background-color: transparent !important;
}


/* 投稿リストの上下マージン */
.-type-simple .p-postList__link {
    border-bottom: 1px solid var(--color_border);
    display: block;
    padding: .5em .25em;
    transition: background-color .25s;
}



 /* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
 /* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */



/* display-postsのカード型を整える　Grid style */
.display-posts-listing.grid {
    display: grid;
    grid-gap: 16px;
}
 
.display-posts-listing.grid .title {
    display: block;
}
 
.display-posts-listing.grid img { 
    display: block; 
    max-width: 100%; 
    height: auto; 
}
 
@media (min-width: 600px) {
    .display-posts-listing.grid {
        grid-template-columns: repeat( 2, 1fr );
    }
}
 
@media (min-width: 1024px) {
    .display-posts-listing.grid {
        grid-template-columns: repeat( 3, 1fr );
    }
}



/*　　　カテゴリー一覧のマージン、枠線消す　　　*/
.p-termHead__desc {
    padding: 0em;
    width: 100%;
}
.p-termHead {
    border: none;
}
/*　　　カテゴリー一覧の投稿日を消す　　　*/
.p-postList__meta {
/*　　　    display: none;　　　*/
	}
.red{
color:#f00}  

/*　　　カテゴリー一覧のfix を解除　　*/
@media (min-width:600px) {
	.p-termHead {
display: block;
	}
}

// .box で使ったスタイルを継承
.widget-title {
    font-size: 4vw;
    font-weight: 700;
    margin-bottom: 1.5em;
    overflow: hidden;
    position: relative;    padding: .5em .75em;
    border-radius: var(--swl-radius--2, 0px);
    background: var(--color_main) !important;
    color: #fff;
}





  /* 重ねスライダー */



/* =========================
   HOME HERO 完成版（一本化）
   ・青帯：右55% + 右端まで伸ばす
   ・スライダー：幅600px + 左寄せ
   ・ロゴ/文字：青帯の上（右側）に表示
========================= */

/* 土台 */
.home-hero{
  position: relative;
  width: 100%;
  max-width: none;
  padding: 40px 0 20px;
  overflow: hidden; /* 青帯のはみ出しは隠す */
}

/* 青帯（PC） */
@media (min-width:959px){
  .home-hero::before{
    content:"";
    position:absolute;
    top:-80px;
    right: calc((100vw - 100%) / -2);
    width: calc(65% + (100vw - 100%) / 2);
    height: calc(620px + 80px);

    background-image: url("https://gack.co.jp/wh33/wp-content/uploads/23383412_s-1.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    /* ▼ 台形にする核心部分 */
    clip-path: polygon(
      15% 0%,   /* 左上 */
      100% 0%,  /* 右上 */
      100% 100%,/* 右下 */
      0% 100%   /* 左下（←ここが左に張り出す） */
    );

    z-index:0;
  }
}










/* スライダー（前面） */
.home-hero .n2-ss-slider{
  position: relative;
  z-index: 1;
  margin: 0 auto;
}

/* PC：スライダー幅と左寄せ */
@media (min-width:959px){
  .home-hero .n2-ss-slider{
    max-width: 600px !important;
    transform: translateX(-240px) !important;
  }
}

/* SP：スライダー自然幅 */
@media (max-width:768px){
  .home-hero .n2-ss-slider{
    max-width: 92vw !important;
    transform: none !important;
  }
}

/* ロゴ＋文字（青帯の上） */
@media (min-width:959px){
  .home-hero .home-hero-brand{
    position: absolute !important;
    z-index: 5 !important;
    top: 218px !important;                  /* 上下はここだけ触る */
    left: calc(60% + 24px) !important;     /* 青帯開始(45%) + 内側余白 */
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    color: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .home-hero .home-hero-brand img{
    height: 156px !important;               /* ロゴサイズ */
    width: auto !important;
    display: block !important;
  }

  .home-hero .home-hero-brand p{
    margin: 0 !important;
    font-size: 36px !important;            /* 文字サイズ */
    line-height: 1.3 !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
  }
}


/* ===== ロゴを本気で大きくする（制限解除フルセット） ===== */

/* 親（グループ・figure）の制限を外す */
.home-hero .home-hero-brand,
.home-hero .home-hero-brand figure,
.home-hero .home-hero-brand .wp-block-image{
  max-width: none !important;
  width: auto !important;
}

/* ロゴ画像本体 */
.home-hero .home-hero-brand img{
  height: 140px !important;     /* ← ここを基準に拡大 */
  width: auto !important;       /* 比率維持 */
  max-width: none !important;
  object-fit: contain !important;
  display: block !important;
}


/* SP：ロゴ＋文字は左上に小さめ */
@media (max-width:768px){
  .home-hero .home-hero-brand{
    position: absolute !important;
    z-index: 5 !important;
    top: 12px !important;
    left: 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #fff !important;
  }
  .home-hero .home-hero-brand img{
    height: 36px !important;
  }
  .home-hero .home-hero-brand p{
    font-size: 13px !important;
  }
}

/* 電話行の上に余白（あなたの設定は残す） */
@media (min-width: 959px){
  .l-header__barInner{
    padding-top: 12px;
  }
}

/* ===== スマホ：スライダーを上に詰める ===== */
@media (max-width: 959px){
  .home-hero{
    padding-top: 0px !important;   /* ← 上の余白を詰める（0〜20pxで調整） */
  }

	
	
	/* ===== SP：スライダーが下がる原因をまとめて潰す ===== */

  /* home-hero 自体の余白 */
  .home-hero{
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Gutenbergのグループ内側コンテナが余白を持つことがある */
  .home-hero > .wp-block-group__inner-container{
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* 先頭ブロック（ショートコード/グループ）に margin が付くことがある */
  .home-hero > *:first-child{
    margin-top: 0 !important;
  }

  /* ショートコードブロック/Smart Sliderの外側ラッパー対策 */
  .home-hero .wp-block-shortcode,
  .home-hero .wp-block-group,
  .home-hero .n2-ss-align,
  .home-hero .n2-ss-slider{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* 最終手段：見た目で上げる（必要なら数値だけ調整） */
  .home-hero .n2-ss-align{
    transform: translateY(-18px) !important; /* -10〜-30で調整 */
  }
}
	
	
	
	
/* SP：post_content の上下マージンを消す（SWELL標準CSSの上書き） */
@media (max-width: 959px){
  .l-mainContent__inner > .post_content{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
	
/* 極小幅：#content（l-content/l-container）に入る上下paddingを強制ゼロ */
@media (max-width: 480px){
  body.home #content.l-content.l-container{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.home #content.l-content.l-container{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
	







	
	
	
	
	
	
	
	
@media (max-width: 959px){

  /* SPのhome-hero::before（高さ400pxなど）は止める */
  .home-hero::before{
    content: none !important;
    display: none !important;
  }

  /* 背景を置くための土台 */
  #body_wrap{
    position: relative;
    z-index: 0;
  }

  /* 背景：ページ先頭に貼り付け（スクロールで一緒に動く＝安定） */
  #body_wrap::before{
    content:"";
    position: absolute;   /* ★ fixed じゃなく absolute */
    top: 0;
    left: 0;
    width: 100%;
    height: var(--spHeroBgH, 1400px); /* JSが更新 */
    /* background-image: url("https://gack.co.jp/wh33/wp-content/uploads/23383412_s-1.jpg");  ←SP背景画像を非表示*/
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    z-index: -1;
    pointer-events: none;
  }

  /* ヘッダーは前面 */
  #header, #fix_header{
    position: relative;
    z-index: 10010;
  }
  #content, #main_content{
    position: relative;
    z-index: 1;
  }

  /* 下40pxはここで確定（背景はwrap先頭からなので必ず見える） */
  .home-hero{
    padding-bottom: 40px !important;
  }
}


.c-catchphrase {
  color: #000 !important;
}


@media (max-width: 959px){
  .spnon{ display:none; }
}

/* 英語フォント読み込み */
@font-face {
  font-family: 'Belanosima';
  src: url('https://gack.co.jp/wh33/wp-content/uploads/fonts/Belanosima-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ここが必須：実際に当てる */
.belar,
.belar *{
  font-family: 'Belanosima', sans-serif !important;
}


/* 背景を白にする */
.bg-white{
  background: #fff;
}




/* ===========================================
   3カラム横いっぱいにし、間を空ける調整
=========================================== */
/* ===== ここだけ触る：列間の幅 ===== */
:root{
  --hero3-gap: 56px;
}

/* ===== 最強上書き（SWELL/Gutenbergの24px固定を潰す）===== */
html body .wp-block-columns.hero-3cols{
  /* Gutenberg/SWELL系の“隙間変数”もまとめて上書き */
  --wp--style--block-gap: var(--hero3-gap) !important;
  --wp--style--block-gap-x: var(--hero3-gap) !important;
  --wp--style--block-gap-y: var(--hero3-gap) !important;
  --swl--block-gap: var(--hero3-gap) !important;
  --swl--column-gap: var(--hero3-gap) !important;

  /* 実プロパティも強制 */
  gap: var(--hero3-gap) !important;
  column-gap: var(--hero3-gap) !important;
  row-gap: var(--hero3-gap) !important;
}

/* 念のため：子カラム側で“間隔固定”されてても影響しないようにする */
html body .wp-block-columns.hero-3cols > .wp-block-column{
  margin: 0 !important;
}


:root{
  --hero3-gap: 56px;  /* 列間 */
  --hero3-pad: 0px;  /* 左右端の余白（必要なら） */
}

html body .wp-block-columns.hero-3cols{
  padding-left: var(--hero3-pad) !important;
  padding-right: var(--hero3-pad) !important;
}







/* =========================
   3カラムをずらす
========================= */
/* 3カラム下ずらし 回転は(-1deg)など */
@media (min-width: 960px){
  html body .wp-block-columns.hero-3cols > .wp-block-column:nth-child(1){
    transform: translateY(0px) rotate(-1deg);
  }
  html body .wp-block-columns.hero-3cols > .wp-block-column:nth-child(2){
    transform: translateY(24px) rotate(0.8deg);
  }
  html body .wp-block-columns.hero-3cols > .wp-block-column:nth-child(3){
    transform: translateY(48px) rotate(-0.6deg);
  }
}


/* =========================
   3カラムをカード化（白背景＋影）
========================= */
html body .wp-block-columns.hero-3cols > .wp-block-column{
  background: #fff;
  border-radius: 12px;          /* 角丸（好みで） */
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
  padding: 24px;                /* カード内余白 */
  transition: box-shadow .25s ease, transform .25s ease;
}

/* 影を上品に */
html body .wp-block-columns.hero-3cols > .wp-block-column{
  box-shadow:
    0 8px 20px rgba(0,0,0,.08),
    0 2px 6px rgba(0,0,0,.06);
}

/* ホバーで上に上がる */
@media (hover:hover){
  html body .wp-block-columns.hero-3cols > .wp-block-column:hover{
    box-shadow:
      0 18px 40px rgba(0,0,0,.18),
      0 6px 12px rgba(0,0,0,.10);
    transform: translateY(-4px);
  }
}



/* 画像の角丸（好みで） */
html body .wp-block-columns.hero-3cols > .wp-block-column figure{
  overflow: hidden;
  border-radius: 8px;
}





/* =========================
   下半分だけ背景色（SWELL完全対策版）
========================= */
@media (min-width: 960px){
/* 親ブロック */
.hero-bg-half{
  position: relative;
  padding-bottom: 120px;  /* カード用の余白 */
  
  /* ★これが超重要 */
  overflow: visible !important;
}

/* 下半分の背景 */
.hero-bg-half::after{
  content: "";
  position: absolute;

  left: 0;
  right: 0;
  bottom: 0;

  height: 55%;                 /* 下半分の高さ */
  background: #233E9A;         /* 背景色 */

  z-index: 0;
}

/* 中身は必ず前面に */
.hero-bg-half > *{
  position: relative;
  z-index: 1;
}


/* 横いっぱいになるよう上書き */

/* 青い下半分背景をブラウザ横いっぱいに */
.hero-bg-half::after{
  content: "";
  position: absolute;

  /* ▼ここがポイント：画面幅(100vw)で中央合わせ */
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);

  bottom: 0;
  height: 55%;            /* 好きに調整 */
  background: #233E9A;    /* 背景色 */

  z-index: 0;
}


/* 下半分を画像背景にする */
.hero-bg-half::after{
  content: "";
  position: absolute;

  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;

  height: 55%;  /* 下半分の高さ */
  
  background-image: url("https://gack.co.jp/wh33/wp-content/uploads/23383412_s-1.jpg"); /* ←画像パス */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  z-index: 0;
}

}







/* =========================================
   01（番号）を画像に重ねつつ、遅延表示させない版
   重要：top をマイナスにしない
========================================= */

/* カード側：01の“居場所”を作る */
html body .wp-block-columns.hero-3cols > .wp-block-column{
  position: relative;
  padding-top: 64px !important; /* ←「画像の上の空き」兼「01の居場所」(48〜80で調整) */
  overflow: hidden;             /* 角丸に沿って隠す（不要なら外してOK） */
}

/* 画像：01より後ろにする（念のため） */
html body .wp-block-columns.hero-3cols > .wp-block-column figure{
  position: relative;
  z-index: 1;
}

/* 番号（01）：カード内に収めて画像の上に重ねる */
html body .wp-block-columns.hero-3cols > .wp-block-column p:first-child{
  position: absolute;
  top: 16px !important;   /* ← ここで上下位置を調整（10〜24）※マイナス禁止 */
  left: 20px;

  margin: 10px 0 0 20px !important;
  padding: 0 0 0 0 !important;

  font-weight: 700;
  line-height: 1;


}




/* ===== 01を必ず画像より前に出す（確実版） ===== */

/* カード（基準） */
html body .wp-block-columns.hero-3cols > .wp-block-column{
  position: relative;
}

/* 画像側を下のレイヤーへ */
html body .wp-block-columns.hero-3cols > .wp-block-column figure,
html body .wp-block-columns.hero-3cols > .wp-block-column img{
  position: relative;
  z-index: 1 !important;
}

/* 01（最前面） */
html body .wp-block-columns.hero-3cols > .wp-block-column p:first-child{
  position: absolute;
	
  z-index: 9999 !important; /* ←強制的に最前面 */
}




/* タイトルの下から3カラム全体を下げる（確実に効く） */
html body .wp-block-columns.hero-3cols{
  padding-top: 40px !important;  /* ←下げたい量（例：30〜80） */
}


/* カードの上に余白を増やす（01の居場所を作る） */
html body .wp-block-columns.hero-3cols > .wp-block-column{
  padding-top: 56px !important; /* ←ここで“画像の上の空き”を調整（例: 48〜72） */
}
/* 01を下げて、カードからはみ出さないように */
html body .wp-block-columns.hero-3cols > .wp-block-column p:first-child{
  top: 16px !important;   /* ←下げる量（例: 10〜24） */
  left: 20px;
}
/* はみ出し防止（角丸に沿って隠れる） */
html body .wp-block-columns.hero-3cols > .wp-block-column{
  overflow: hidden;
}

/* 番号（01）専用：card-no だけに効かせる */
html body .wp-block-columns.hero-3cols > .wp-block-column{
  position: relative;
}

/* 01の位置と見た目 */
html body .wp-block-columns.hero-3cols .card-no{
  position: absolute;
  top: 16px;        /* 下げたい位置 */
  left: 20px;

  font-size: 56px;
  font-weight: 700;
  line-height: 1;

  color: #1f3fa6;
  opacity: 0.15;

  z-index: 3;
  pointer-events: none;

  margin: 0;        /* 段落の余計なマージンを消す */
}













/* =============================================== */
/* パッチワーク（モザイク） */
/* =============================================== */
.mosaic{
  display:grid;
  gap:0;                         /* 隙間なし */
  grid-template-columns: 2fr 2fr 1.2fr 1.2fr;
  grid-auto-rows: 180px;         /* 高さの基準（ここを調整） */
  grid-template-areas:
    "a b c c"
    "a b d e"
    "a b f f";
  overflow:hidden;
}

.mosaic .tile{ display:block; position:relative; overflow:hidden; }
.mosaic img{
  width:100%;
  height:100%;
  object-fit:cover;              /* 画像を枠に合わせてトリミング */
  display:block;
  transition:transform .25s ease;
}
.mosaic .tile:hover img{ transform:scale(1.03); }

/* 配置（エリア割当） */
.mosaic .t1{ grid-area:a; }
.mosaic .t2{ grid-area:b; }
.mosaic .t3{ grid-area:c; }
.mosaic .t4{ grid-area:d; }
.mosaic .t5{ grid-area:e; }
.mosaic .t6{ grid-area:f; }

/* スマホは崩れないように並び替え（例） */
@media (max-width: 959px){
  .mosaic{
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 140px;
    grid-template-areas:
      "a a"
      "b b"
      "c d"
      "e f";
  }
}









/* 全体：2列のモザイク */
.recruit-mosaic{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "img1 img2"
    "card1 card2";
  gap: 24px;
  position: relative;
}

/* 各パーツをエリアに割当 */
.recruit-mosaic__img1{ grid-area: img1; }
.recruit-mosaic__img2{ grid-area: img2; }
.recruit-mosaic__card1{ grid-area: card1; }
.recruit-mosaic__card2{ grid-area: card2; }

/* 画像をきれいに（比率固定＆角丸） */
.recruit-mosaic__img1 img,
.recruit-mosaic__img2 img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

/* 文字ブロックを“カード化”（白背景＋影） */
.recruit-mosaic__card1,
.recruit-mosaic__card2{
  background: #fff;
  border-radius: 10px;
/*   box-shadow: 0 12px 30px rgba(0,0,0,.12); */
  padding: 24px;
  position: relative;
  z-index: 2; /* 画像より前に */
}

/* ここが重ねのポイント：上に持ち上げる */
.recruit-mosaic__card1{
  transform: translateY(-40px); /* 好みで調整 */
}

.recruit-mosaic__card2{
  transform: translateY(-24px); /* 好みで調整 */
}

/* スマホ：1列にして重なり解除（崩れ防止） */
@media (max-width: 959px){
  .recruit-mosaic{
    grid-template-columns: 1fr;
    grid-template-areas:
      "img1"
      "img2"
      "card1"
      "card2";
  }
  .recruit-mosaic__card1,
  .recruit-mosaic__card2{
    transform: none;
  }
}









/* SWELL グリッドをモザイク化（recruit-mosaic を付けたものだけ） */
.recruit-mosaic{
  display: grid !important;
  grid-template-columns: repeat(4, 1fr); /* 4分割 */
  gap: 24px;
  align-items: stretch;
}

/* グリッド直下の各アイテム（画像/段落/グループ等）を「item」として扱う */
.recruit-mosaic > *{
  min-width: 0;
}

/* 1個目：左の大きい画像（横2） */
.recruit-mosaic > :nth-child(1){
  grid-column: 1 / span 2;
}

/* 2個目：右の大きい画像（横2） */
.recruit-mosaic > :nth-child(2){
  grid-column: 3 / span 2;
}

/* 3個目：右上のテキストカード（横2） */
.recruit-mosaic > :nth-child(3){
  grid-column: 3 / span 2;
}

/* 4個目：左下のテキストカード（横2）＋上に少し重ねる */
.recruit-mosaic > :nth-child(4){
  grid-column: 1 / span 2;
  transform: translateY(-40px);
  position: relative;
  z-index: 2;
}

/* テキストをカード化（必要なら） */
.recruit-mosaic > :nth-child(3),
.recruit-mosaic > :nth-child(4){
  background: #fff;
  border-radius: 10px;
  padding: 22px;
/*   box-shadow: 0 12px 30px rgba(0,0,0,.12); */
}

/* スマホは1列に戻して重ね解除 */
@media (max-width: 959px){
  .recruit-mosaic{
    grid-template-columns: 1fr;
  }
  .recruit-mosaic > :nth-child(1),
  .recruit-mosaic > :nth-child(2),
  .recruit-mosaic > :nth-child(3),
  .recruit-mosaic > :nth-child(4){
    grid-column: auto;
    transform: none;
  }
}





/* ====== 38寄せ（PC） ====== */
@media (min-width: 960px){

  /* グリッド本体 */
  .recruit-mosaic{
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "img1 img2"
      "cardL cardR";
    column-gap: 16px;
    row-gap: 24px;
    align-items: start;
  }

  /* 各要素の割当（順番：画像1, 画像2, 右下テキスト, 左下カード でもOK）
     ※順番が違うなら下の nth-child を入れ替えてください */
  .recruit-mosaic > :nth-child(1){ grid-area: img1; }
  .recruit-mosaic > :nth-child(2){ grid-area: img2; }
  .recruit-mosaic > :nth-child(3){ grid-area: cardR; }
  .recruit-mosaic > :nth-child(4){ grid-area: cardL; }

  /* 上段の画像を“同じ高さ”にして、写真をトリミング表示 */
  .recruit-mosaic > :nth-child(1) img,
  .recruit-mosaic > :nth-child(2) img{
    width: 100%;
    height: 420px;          /* ←ここが肝。好みで 380〜520px */
    object-fit: cover;
    display: block;
    border-radius: 2px;
  }

  /* 左下カード（縦文字とか入ってる白箱） */
  .recruit-mosaic > :nth-child(4){
    background: #f3f3f3;     /* スクショ38っぽい薄グレー */
    border-radius: 0;
    padding: 34px 28px;
    box-shadow: none;
    width: 62%;             /* ←左下カードは“細め”に */
    margin-left: 12%;       /* ←少し中央寄せ */
    transform: translateY(-120px);  /* ←画像に食い込ませる量 */
    position: relative;
    z-index: 3;
  }

  /* 右下（テキスト＋ボタン） */
  .recruit-mosaic > :nth-child(3){
    background: transparent; /* 右下は“白箱”にしないなら透明 */
    padding: 10px 0 0;
  }

  /* 右下を白箱にしたい場合は、↑の transparent を消してこれを使う
  .recruit-mosaic > :nth-child(3){
    background:#fff;
    border-radius: 12px;
    padding: 22px;
    box-shadow: 0 12px 30px rgba(0,0,0,.10);
  }
  */
}


/* ===== recruit-mosaic：実体のグリッド要素をまとめて上書き ===== */
@media (min-width: 960px){

  /* SWELL/WordPressの「内側ラッパー」まで全部ターゲット */
  .recruit-mosaic,
  .recruit-mosaic > .wp-block-group__inner-container,
  .recruit-mosaic .wp-block-swell-grid,
  .recruit-mosaic .swell-grid,
  .recruit-mosaic .swl-grid{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; /* まず2列を固定 */
    column-gap: 32px !important;
    row-gap: 24px !important;
    max-width: none !important;
    width: 100% !important; /* ←ここが重要（広がらない対策） */
  }

  /* 画像ブロック自体を“幅100%”に固定 */
  .recruit-mosaic .wp-block-image,
  .recruit-mosaic figure{
    width: 100% !important;
    max-width: none !important;
  }

  /* 画像も幅100%で表示 */
  .recruit-mosaic img{
    width: 100% !important;
    height: 420px;      /* 好みで調整 */
    object-fit: cover;
    display: block;
    border-radius: 12px;
  }
}





/* recruit-wrapper（75%）の中では alignwide を“普通の幅”に戻す */
.recruit-wrapper .alignwide{
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 念のため：モザイク自体も親幅にフィットさせて中央化 */
.recruit-wrapper .recruit-mosaic{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}









@media (min-width: 960px){
  .recruit-wrapper .recruit-mosaic > :nth-child(3){
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}




@media (min-width: 960px){
  /* 右下（あああ…） */
  .recruit-wrapper .recruit-mosaic > :nth-child(3){
    box-sizing: border-box;
    margin-left: -105px !important;              /* ←左へ食い込ませる量 */
    width: calc(100% + 40px) !important;        /* ←右端を保ったまま左だけ伸ばす */
  }
}








@media (max-width: 959px){
  .recruit-mosaic{
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .recruit-mosaic > *{
    transform: none !important;
    width: auto !important;
    margin: 0 !important;
  }
  .recruit-mosaic img{
    height: auto !important;
  }
}





@media (min-width: 960px){

  /* 左下ボックス内テキストを縦書き */
  .recruit-wrapper .recruit-mosaic > :nth-child(4){
    writing-mode: vertical-rl;   /* 縦書き（右→左） */
    text-orientation: upright;   /* 英数字も立てる */
    line-height: 1.8;
    letter-spacing: 0.05em;
  }

}


.recruit-wrapper .recruit-mosaic > :nth-child(4){
  padding-right: 140px;  /* 数値調整OK */
}


@media (min-width: 960px){

  .recruit-wrapper .recruit-mosaic > :nth-child(4){
    width: 80%;
    margin-left: 0;
    padding: 60px 40px 120px;
    background: #fff !important;
    box-shadow: none;
  }

}



@media (min-width: 960px){

  /* A画像-B画像の横の空きを強制で狭める（本体＋内側ラッパー） */
  .recruit-wrapper .recruit-mosaic,
  .recruit-wrapper .recruit-mosaic > .wp-block-group__inner-container,
  .recruit-wrapper .recruit-mosaic .wp-block-swell-grid,
  .recruit-wrapper .recruit-mosaic .swell-grid,
  .recruit-wrapper .recruit-mosaic .swl-grid{
    column-gap: 16px !important;  /* ←ここ */
  }

  /* もし「gap」が使われている場合にも効かせる保険 */
  .recruit-wrapper .recruit-mosaic,
  .recruit-wrapper .recruit-mosaic > .wp-block-group__inner-container,
  .recruit-wrapper .recruit-mosaic .wp-block-swell-grid,
  .recruit-wrapper .recruit-mosaic .swell-grid,
  .recruit-wrapper .recruit-mosaic .swl-grid{
    gap: 24px 16px !important;    /* 縦 24 / 横 16 */
  }

  /* 画像ブロック側の余計な左右マージンがあれば消す */
  .recruit-wrapper .recruit-mosaic .wp-block-image{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}






 /* 英語が切れないようになる */
@media (min-width: 960px){

  .recruit-wrapper .recruit-mosaic > :nth-child(4){
    writing-mode: vertical-rl;
  }

  .recruit-wrapper .recruit-mosaic > :nth-child(4) p{
    text-orientation: mixed;   /* ←これが重要 */
    word-break: break-all;     /* ←英語を折る */
  }

}




/* 
@media (min-width: 960px){
  .recruit-wrapper .recruit-mosaic > :nth-child(4){
    background: repeating-linear-gradient(
      to bottom,
      #f7f7f7 0px,
      #f7f7f7 50px,
      #eeeeee 50px,
      #eeeeee 100px
    ) !important;
    outline: 2px dashed #ff4da6 !important;
    outline-offset: -2px;
  }
}
 */
















@media (min-width: 960px){
  /* 左下内の英字っぽい要素が長い時の上限（保険） */
  .recruit-wrapper .recruit-mosaic > :nth-child(4) p{
    max-height: 460px;
    overflow: hidden;
  }
}




@media (min-width: 960px){

  /* 左下（いいい…）＝ recruit-mosaic__card2 の外側余白 */
  .recruit-wrapper .recruit-mosaic__card2{
    margin-top: 60px !important;   /* 上に食い込ませる量 */
    margin-bottom: 20px !important; /* 下の余白 */
    padding-top: 40px !important;   /* 上に食い込ませる量 */
    padding-bottom: 60px !important; /* 下の余白 */
  }

}





/*  */
/* ボタン */
.btn-left {
  text-align: left;
}




/* 1) リンク自体を「塗れる箱」にする（背景面を a に固定） */
#body_wrap .swell-block-button__link{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  z-index: 10 !important;
  pointer-events: auto !important;

  background: #3f7ad6 !important;  /* 通常：青 */
  color: #fff !important;
  border-color: #3f7ad6 !important;

  background-image: none !important;
  box-shadow: none !important;
}

/* 2) SWELLが被せる疑似要素を無効化（ここが本丸） */
#body_wrap .swell-block-button__link::before,
#body_wrap .swell-block-button__link::after{
  content: none !important;
  display: none !important;
}

/* 3) span側に背景が付いて邪魔するのを防ぐ */
#body_wrap .swell-block-button__link > span{
  background: transparent !important;
  color: inherit !important;
}

/* 4) hover：白に反転 */
#body_wrap .swell-block-button__link:hover{
  background: #fff !important;
  color: #3f7ad6 !important;
  border-color: #3f7ad6 !important;
}

/* 5) 矢印色も追従 */
#body_wrap .swell-block-button__link:hover::after{
  color: inherit !important;
}



/* 通常時も枠線を青で統一 */
#body_wrap .swell-block-button__link{
  border: 1px solid #3f7ad6 !important;
  box-sizing: border-box;
}



/* 矢印は a ではなく span に付ける（::after無効化対策） */
#body_wrap .swell-block-button__link > span::after{
  content: "→";
  display: inline-block;
  margin-left: .6em;
  transition: transform .25s ease;
}

/* ホバーで少し右へ */
#body_wrap .swell-block-button__link:hover > span::after{
  transform: translateX(4px);
}


/* ボタンの左マージンを0に */
#body_wrap a.swell-block-button__link{
  margin-left: 0 !important;
}




@media (max-width: 900px){

  /* グリッドをやめて、flexで確実に並べる */
  #body_wrap .sp-mosaic-fix .is-layout-grid{
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  /* 子要素の既存指定を無効化 */
  #body_wrap .sp-mosaic-fix .is-layout-grid > *{
    margin: 0 !important;
  }

  /* 画像2枚を横並び（50%ずつ） */
  #body_wrap .sp-mosaic-fix .is-layout-grid > figure{
    width: calc(50% - 5px) !important;
  }

  /* 縦書きだったブロック（4番目）を画像の下に */
  #body_wrap .sp-mosaic-fix .is-layout-grid > :nth-child(4){
    width: 100% !important;
    order: 2 !important;
  }

  /* 本文（ダミー文章）がもし5番目ならここで画像下に（必要なら） */
  #body_wrap .sp-mosaic-fix .is-layout-grid > :nth-child(5){
    width: 100% !important;
    order: 3 !important;
  }

  /* ボタンブロック（3番目）を一番下に */
  #body_wrap .sp-mosaic-fix .is-layout-grid > :nth-child(3){
    width: 100% !important;
    order: 4 !important;
  }

  /* 縦書き解除（テキスト横に） */
  #body_wrap .sp-mosaic-fix,
  #body_wrap .sp-mosaic-fix *{
    writing-mode: horizontal-tb !important;
  }
}




@media (max-width: 900px){

  /* 縦書きだったブロック（4番目）を全幅に */
  #body_wrap .sp-mosaic-fix .is-layout-grid > :nth-child(4){
    width: 100% !important;
    flex-basis: 100% !important;
  }

}




@media (max-width: 900px){
  #body_wrap .sp-mosaic-fix .is-layout-grid > :nth-child(4){
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}















/* ーーーーーーーーーーーーーーーーーー　画像に文字を回り込み　グループのアリア指定で可能にする　ーーーーーーーーーーーーーーーーーーーー */
.img-wrap-area .wp-block-image::after {
  clear: none;
}

.img-wrap-area > * {
  clear: none;
}

.img-wrap-area::after {
  content: "";
  display: block;
  clear: both;
}

/* 左寄せ画像 → 文字は右に回り込み */
.img-wrap-area .wp-block-image.alignleft {
  float: left;
  margin: 0 24px 16px 0;
  width: 40%;
}

/* 右寄せ画像 → 文字は左に回り込み */
.img-wrap-area .wp-block-image.alignright {
  float: right;
  margin: 0 0 16px 24px;
  width: 40%;
}

.img-wrap-area .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .img-wrap-area .wp-block-image.alignleft,
  .img-wrap-area .wp-block-image.alignright {
    float: none;
    margin: 0 0 16px 0;
    width: 100%;
  }
}

/* 英語を左に揃え、空きを詰める */
.en-text {
  text-align: left;
}

	
	
	
/* topにだけ電話画像を表示 */
.home-only-tel {
  display: none;
}
.page-id-2954 .home-only-tel {
  display: block;
}
	
	
/* top以外のタイトル文字大きさ */
@media (min-width: 600px) {
    .c-pageTitle {
        font-size: 2.0em;
    }
}


/* 影を付けたいブロックに has-shadow を付ける */
.has-shadow{
  box-shadow: 0 10px 25px rgba(0,0,0,.12);
  border-radius: 0px;
  background: #fff;
  padding: 20px;
}

/* ふわっと浮かせたい場合（任意） */
.has-shadow:hover{
  transform: translateY(-2px);
  transition: .2s ease;
}

/* トップのヘッダーを通常ページと同じ白いメニューに統一 */
.home .l-header {
  position: relative !important;
  height: 64px !important;
  background: #fdfdfd !important;
  color: #333 !important;
}

.home .l-header__bar,
.home .c-catchphrase,
.home .w-header__inner,
.home .home-only-tel {
  display: none !important;
}

.home .l-header__inner,
.home .l-header__logo,
.home .c-gnav,
.home .l-header__menuBtn,
.home .l-header__customBtn {
  height: 64px !important;
  color: #333 !important;
}

.home .c-headLogo__img.-top {
  display: none !important;
}

.home .c-headLogo__img.-common {
  display: block !important;
}

/* トップも通常ページと同じ黒いロールオーバー線を表示 */
.home .l-header .c-gnav > li > a::after {
  background: #000 !important;
  bottom: 0.2em !important;
  height: 0.05em !important;
}

/* other・fixのロゴとナビをトップと同じ左右位置に統一 */
@media (min-width: 960px) {
  #body_wrap:not(.home) .l-header__inner,
  .l-fixHeader__inner {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* メインビジュアル共通コピー */
.home .p-mainVisual {
  position: relative;
}

.home .p-mainVisual::after {
  position: absolute;
  z-index: 4;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .66) 46%, rgba(255, 255, 255, 0) 66%);
  pointer-events: none;
}

.home .p-mainVisual__textLayer {
  display: none !important;
}

.home-main-copy {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 8%;
  width: min(48%, 590px);
  color: #073a78;
  text-align: left;
  transform: translateY(-50%);
  pointer-events: none;
}

.home-main-copy::before {
  content: none;
}

.home-main-copy__title,
.home-main-copy__text {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  letter-spacing: 0;
}

.home-main-copy__title {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.48;
}

.home-main-copy__text {
  margin-top: 22px !important;
  color: #111;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.82;
}

@media (max-width: 959px) {
  .home .p-mainVisual::after {
    content: none;
  }

  .home-main-copy {
    top: 50%;
    left: 20px;
    width: calc(100% - 40px);
  }

  .home-main-copy::before {
    position: absolute;
    z-index: -1;
    inset: -20px -20px -20px -20px;
    content: "";
    background: rgba(255, 255, 255, .72);
  }

  .home-main-copy__title {
    font-size: 22px;
    line-height: 1.42;
  }

  .home-main-copy__text {
    margin-top: 14px !important;
    font-size: 11px;
    line-height: 1.65;
  }
}

/* 商品カードの画像比率を参考デザインに合わせる */
.product-grid .wp-block-image {
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #fff;
}

.product-grid .wp-block-image img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  aspect-ratio: 3 / 2 !important;
  object-fit: contain !important;
  object-position: center !important;
}

.product-lineup-section .product-grid .wp-block-image img {
  object-fit: cover !important;
}

/* 商品ラインナップ全体の淡いブルー背景 */
.home #content {
  position: relative;
}

.home #content::before {
  position: absolute;
  top: -64px;
  left: 50%;
  width: 100vw;
  height: 64px;
  content: "";
  background: #f2f8fc;
  transform: translateX(-50%);
  pointer-events: none;
}

.product-lineup-section {
  background-color: #f2f8fc;
  padding-top: 36px;
  padding-bottom: 48px;
}

/* 商品ラインナップ直前の見出しだけを参考デザインに合わせる */
.post_content > h2:has(+ .product-lineup-section) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 30px 20px 10px;
  color: #064a92 !important;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0;
  background: #f2f8fc !important;
  border: 0 !important;
  box-shadow: 0 0 0 100vmax #f2f8fc;
  clip-path: inset(0 -100vmax);
}

.post_content > h2:has(+ .product-lineup-section)::before,
.post_content > h2:has(+ .product-lineup-section)::after {
  position: static;
  flex: 0 1 44px;
  width: 44px;
  height: 1px;
  margin: 0;
  content: "";
  background: #1e73be;
  transform: translateY(-2px);
}

.post_content > h2:has(+ .product-lineup-section) br {
  display: none;
}

.post_content > h2:has(+ .product-lineup-section) + .product-lineup-section {
  margin-top: 0 !important;
  padding-top: 14px;
}

@media (max-width: 599px) {
  .post_content > h2:has(+ .product-lineup-section) {
    gap: 10px;
    padding: 24px 14px 8px;
    font-size: 18px;
  }

  .post_content > h2:has(+ .product-lineup-section)::before,
  .post_content > h2:has(+ .product-lineup-section)::after {
    flex-basis: 28px;
    width: 28px;
  }

  .post_content > h2:has(+ .product-lineup-section) + .product-lineup-section {
    padding-top: 10px;
  }

  .product-lineup-section {
    padding-bottom: 36px;
  }
}

/* 設計からアフターサポートまでの工程セクション */
.process-heading,
.process-lead,
.process-section,
.process-more {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  background: #e5f0f8 !important;
  box-shadow: 0 0 0 100vmax #e5f0f8;
  clip-path: inset(0 -100vmax);
}

.process-heading {
  display: block;
  padding: 34px 20px 8px;
  color: #064a92 !important;
  font-size: 26px;
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
  border: 0 !important;
}

.process-heading::before,
.process-heading::after {
  content: none !important;
}

.process-heading br {
  display: none;
}

.process-lead {
  padding: 0 20px;
  font-size: 14px;
  line-height: 1.8;
  text-align: center;
}

.process-lead-last {
  padding-bottom: 22px;
}

.process-section {
  padding: 0 0 20px;
}

.process-section > .wp-block-group__inner-container {
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
}

.process-section .product-grid .swell-block-columns__inner {
  gap: 0;
  overflow: visible;
}

.process-section .product-grid .swell-block-column {
  position: relative;
  padding: 0 22px 8px !important;
  overflow: visible;
  background: transparent !important;
  box-shadow: none !important;
}

.process-section .product-grid .wp-block-image {
  width: min(190px, 85%);
  aspect-ratio: 1;
  margin: 0 auto 14px !important;
  overflow: hidden;
  background: #fff;
  border-radius: 50%;
}

.process-section .product-grid .wp-block-image img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  border-radius: 50%;
}

.process-section .product-grid .swell-block-column > p:first-of-type {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px !important;
  color: #064a92 !important;
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0;
}

.process-section .product-grid .swell-block-column > p:first-of-type .swl-fz,
.process-section .product-grid .swell-block-column > p:nth-of-type(2) .swl-fz {
  font-size: inherit !important;
}

.process-section .product-grid .swell-block-column > p:first-of-type::before {
  display: inline-grid;
  flex: 0 0 28px;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  background: #064a92;
  border-radius: 50%;
}

.process-section .product-grid .swell-block-column:nth-child(1) > p:first-of-type::before { content: "01"; }
.process-section .product-grid .swell-block-column:nth-child(2) > p:first-of-type::before { content: "02"; }
.process-section .product-grid .swell-block-column:nth-child(3) > p:first-of-type::before { content: "03"; }
.process-section .product-grid .swell-block-column:nth-child(4) > p:first-of-type::before { content: "04"; }

.process-section .product-grid .swell-block-column > p:nth-of-type(2) {
  margin: 0 !important;
  font-size: 14px;
  line-height: 1.8;
}

.process-section .product-grid .swell-block-column:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  top: 80px;
  right: -13px;
  color: #064a92;
  font-size: 26px;
  line-height: 1;
  content: "→";
}

.process-more {
  justify-content: center;
  padding: 0 20px 32px;
}

.process-more .wp-block-button__link {
  min-width: 170px;
  padding: 10px 28px;
  color: #fff !important;
  font-size: 14px;
  background: #064a92 !important;
  border: 0;
  border-radius: 0;
}

@media (min-width: 768px) {
  .process-section .product-grid .swell-block-columns__inner {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .process-section .product-grid .swell-block-column {
    width: auto !important;
  }
}

@media (max-width: 767px) {
  .process-heading {
    padding: 28px 14px 8px;
    font-size: 22px;
  }

  .process-lead {
    padding: 0 18px;
    font-size: 13px;
    text-align: left;
  }

  .process-lead-last {
    padding-bottom: 20px;
  }

  .process-section .product-grid .swell-block-columns__inner {
    display: block !important;
  }

  .process-section .product-grid .swell-block-column {
    width: 100% !important;
    max-width: 360px;
    margin: 0 auto !important;
    padding: 0 24px !important;
  }

  .process-section .product-grid .wp-block-image {
    width: min(210px, 75%);
  }

  .process-section .product-grid .swell-block-column:not(:last-child)::after {
    position: static;
    display: block;
    margin: 16px auto 20px;
    font-size: 26px;
    text-align: center;
    content: "↓";
  }

  .process-more {
    padding-bottom: 28px;
  }
}

/* トップページ最下部のお問い合わせCTA */
.toyo-bottom-cta {
  margin-top: 36px;
  padding: 8px 24px;
  background: linear-gradient(90deg, #eff8ff 0%, #deeffc 50%, #eff8ff 100%);
}

.toyo-bottom-cta__inner {
  display: grid;
  grid-template-columns: 64px max-content 160px;
  gap: 14px;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  margin: 0 auto;
}

.toyo-bottom-cta__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background: #fff;
  border-radius: 50%;
}

.toyo-bottom-cta__icon svg {
  width: 34px;
  height: 34px;
  color: #005bac;
}

/* メールSVG線幅調整 */
.toyo-bottom-cta__icon svg * {
  stroke-width: 2;
}
.toyo-bottom-cta__text {
  margin: 0 24px 0 0 !important;
  color: #064a92;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0;
  text-align: center;
}

.toyo-bottom-cta__button {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: center;
  min-height: 33.75px;
  padding: 7px 16px;
  color: #fff !important;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none !important;
  background: #064a92;
  transition: background-color 0.2s ease;
}

.toyo-bottom-cta__button:hover {
  color: #fff !important;
  background: #04396f;
}

.toyo-bottom-cta__button span {
  line-height: 1;
}

@media (max-width: 767px) {
  .toyo-bottom-cta {
    padding: 14px 16px;
  }

  .toyo-bottom-cta__inner {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 10px;
    justify-content: center;
    max-width: 310px;
  }

  .toyo-bottom-cta__icon {
    width: 64px;
    height: 64px;
  }

  .toyo-bottom-cta__text {
    margin-right: 0 !important;
    font-size: 12px;
  }

  .toyo-bottom-cta__button {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, 180px);
  }
}

/* トップページ：納品実績・お知らせ */
.home-delivery-posts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.home-delivery-posts__item {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.home-delivery-posts__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.25s ease;
}

.home-delivery-posts__item:hover img {
  opacity: 0.8;
}

.home-news-posts {
  border-top: 1px solid #d8dfe6;
}

.home-news-posts__item {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  min-height: 34px;
  border-bottom: 1px solid #d8dfe6;
}

.home-news-posts__item time {
  color: #555;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

.home-news-posts__item a {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
  color: inherit;
  font-size: 14px;
  text-decoration: none;
}

.home-news-posts__title {
  min-width: 0;
}

.home-news-posts__arrow {
  flex: 0 0 auto;
  color: #064a92;
  font-size: 22px;
  line-height: 1;
}

.home-news-posts__item a:hover {
  color: #064a92;
}

@media (min-width: 768px) {
  .top-info-columns .home-news-posts + .wp-block-buttons {
    transform: translateY(-0.75px);
  }
}

@media (max-width: 767px) {
  .home-delivery-posts {
    gap: 6px;
  }

  .home-news-posts__item {
    grid-template-columns: 78px minmax(0, 1fr);
    min-height: 58px;
  }

  .home-news-posts__item time,
  .home-news-posts__item a {
    font-size: 12px;
  }
}

/* トップページ：納入実績・お知らせの見出し */
.post_content h2:has(+ .home-delivery-posts),
.post_content h2:has(+ .home-news-posts) {
  display: flex;
  align-items: center;
  gap: 18px;
  justify-content: center;
  margin: 0 0 24px !important;
  padding: 0 !important;
  color: #064a92 !important;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  background: transparent !important;
  border: 0 !important;
}

.post_content h2:has(+ .home-delivery-posts)::before,
.post_content h2:has(+ .home-delivery-posts)::after,
.post_content h2:has(+ .home-news-posts)::before,
.post_content h2:has(+ .home-news-posts)::after {
  position: static;
  flex: 1 1 auto;
  width: auto;
  height: 1px;
  margin: 0;
  content: "";
  background: #1e73be;
  transform: none;
}

@media (max-width: 767px) {
  .post_content h2:has(+ .home-delivery-posts),
  .post_content h2:has(+ .home-news-posts) {
    gap: 10px;
    margin-bottom: 18px !important;
    font-size: 18px;
  }
}







/* お問合せ メールアイコン調整（細線版） */
#header a[href*="contactus"] .ttl,
#fix_header a[href*="contactus"] .ttl{
  display: inline-flex;
  align-items: center;
  height: 14px;
  line-height: 14px;
}

#header a[href*="contactus"] .ttl::before,
#fix_header a[href*="contactus"] .ttl::before{
  content: "✉" !important;
  display: inline-block !important;

  font-size: 2.2em;        /* アイコンサイズ */
  font-weight: 100;        /* ← 線を細く */
  font-family: Arial, sans-serif;

  opacity: 0.55;           /* ← 線を軽く見せる */

  margin-right: 7px !important;
  line-height: 14px;

  transform: translateY(-2.7px);
  color: currentColor;
}
				
				
/* =====================================
   SWELLスペーサー 横幅いっぱい背景
===================================== */

.wide-spacer-blue{
  position: relative;
}

/* 横いっぱい背景 */
.wide-spacer-blue::before{
  content: "";
  position: absolute;

  width: 100vw;
  height: 100%;

  left: 50%;
  top: 0;
  transform: translateX(-50%);

  background: #e5f0f8; /* 好きな色 */

  z-index: -1;
}

/* 本体を前面へ */
.wide-spacer-blue{
  z-index: 1;
}

/* =========================================
   下部お問い合わせCTA 背景を横幅いっぱい
========================================= */

.toyo-bottom-cta{
  position: relative;
  background: transparent !important;
  z-index: 1;
}

/* 背景だけブラウザ幅へ */
.toyo-bottom-cta::before{
  content:"";
  position:absolute;

  top:0;
  bottom:0;

  width:100vw;
  left:50%;
  transform:translateX(-50%);

  background: linear-gradient(
    90deg,
    #e5f0f8 0%,
    #ffffff 100%
  );

  z-index:-1;
}
/* 下部CTA：グラデーションを薄い青1色にする */
.toyo-bottom-cta{
  background: #eff8ff !important;
}

/* もし横幅いっぱい用の疑似要素を使っている場合 */
.toyo-bottom-cta::before{
  background: #eff8ff !important;
}

/* =====================================
   納入実績・お知らせの中央間隔を広げる
===================================== */

@media (min-width: 960px){

  .top-info-columns .swell-block-columns__inner{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 86px !important; /* ← 中央の間隔 */
  }

  .top-info-columns .swell-block-column{
    width: auto !important;
    max-width: none !important;
  }

}

/* =====================================
   工程4カラムの横幅を上の本文幅に合わせる
===================================== */

@media (min-width: 960px){

  .process-section .product-grid,
  .process-section .product-grid .swell-block-columns__inner{
    max-width: 1050px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

}

/* =====================================
   SP：製品カード幅調整・中央配置
===================================== */
@media (max-width: 767px){

  /* カラム全体 */
  .product-lineup-section 
  .product-grid 
  .swell-block-columns__inner{
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    gap: 22px !important;
  }


  /* 1つずつの製品カード */
  .product-lineup-section 
  .product-grid 
  .swell-block-column{
    flex-basis: auto !important;
    width: 86% !important;
    max-width: 360px !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

}
@media (min-width:768px){

.product-lineup-section{
padding-top:60px;
padding-bottom:100px;
}
.process-section{
padding-bottom:60px;
}

}
