/**
Theme Name: Astra-child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap');



/* ===============================
   左側縦型ヘッダー設定
=============================== */

/* 左側ヘッダー全体は透過（クリックを通す） */
#vertical-header {
  pointer-events: none;
 width:180px!important;
}


/* ナビ部分だけクリック可能に */
#vertical-header nav,
#vertical-header a,
#vertical-header .menu,
#vertical-header .elementor-widget-nav-menu {
  pointer-events: auto;
}

/* TB&SP */
@media (max-width: 1024px) {
	#vertical-header {
		width:120px!important;}
	
    #vertical-header a {
		font-size:13px;}
		
		
	#vertical-header > div > div > div{
    margin: 0px -5px 0px 0px;
    padding: 40px 0px 0px 0px;
	}
}

@media (max-width: 921px) {
	#vertical-header {
		width:100px!important;}
	
    #vertical-header a {
		font-size:12px;
	}
}





/* ===============================
   ヘッダ＆ドロワー共通設定
=============================== */
@media (max-width:1024px){
  header.site-header{
    display:none !important; /* PCヘッダー非表示 */
  }
}

/* ===============================
   ハンバーガーアイコン（安定版）
=============================== */
@media (min-width:1025px){
	.hamburger {
		display:none;
	}
}

.hamburger {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999 !important;
  width: 32px;
  height: 24px;
  cursor: pointer;
  pointer-events: auto !important;
}
.hamburger span {
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  left: 0;
  background: #F7F6F5;
  border-radius: 2px;
  transition: all 0.35s ease;
}
.hamburger span:nth-child(1){ top: 0; }
.hamburger span:nth-child(2){ top: 10px; }
.hamburger span:nth-child(3){ top: 20px; }

/* ✕に変化 */
.hamburger.active span:nth-child(1){
  transform: rotate(45deg);
  top: 10px;
}
.hamburger.active span:nth-child(2){
  opacity: 0;
}
.hamburger.active span:nth-child(3){
  transform: rotate(-45deg);
  top: 10px;
}


/* ===============================
   ドロワーメニュー（右スライド）
=============================== */
.drawer-menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100vh;
  background: #111;
  color: #F7F6F5;
  transition: right 0.4s ease;
  z-index: 1000 !important;
  overflow-y: auto;
  pointer-events: none; /* ← 開く前はクリック無効 */
	padding-top:60px;
}
.drawer-menu.open {
  right: 0;
  pointer-events: auto;
}


/* タイトル下線 */
.drawer-title{
	border-bottom: 1px solid;
    padding-bottom: 10px;
	margin-right:20%;
}





/* コピーライトを下に固定 */
.copy-right{
  position: fixed;
  bottom: 10px;        /* ← ここで下からの距離を調整 */
  left: 0;
  width: 100%;
  font-size: 11px;
  text-align:center;
}


/* ドロワーが閉じている時は非表示 */
.drawer-menu .elementor-heading-title {
  display: none;
}
.drawer-menu.open .elementor-heading-title {
  display: block;
}

/* ===============================
   Elementor対策（上書きブロック）
=============================== */
.elementor .hamburger,
.elementor .hamburger span {
  all: unset; /* Elementorが余計なdisplay:flexなどを当てないようにリセット */
}
.elementor .hamburger {
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  width: 32px !important;
  height: 24px !important;
  cursor: pointer !important;
  z-index: 9999 !important;
}
.elementor .hamburger span {
  position: absolute !important;
  display: block !important;
  width: 100% !important;
  height: 2px !important;
  left: 0 !important;
  background: #F7F6F5 !important;
  border-radius: 2px !important;
  transition: all 0.35s ease !important;
}
.elementor .hamburger span:nth-child(1){ top: 0 !important; }
.elementor .hamburger span:nth-child(2){ top: 10px !important; }
.elementor .hamburger span:nth-child(3){ top: 20px !important; }

.elementor .hamburger.active span:nth-child(1){
  transform: rotate(45deg) !important;
  top: 10px !important;
}
.elementor .hamburger.active span:nth-child(2){
  opacity: 0 !important;
}
.elementor .hamburger.active span:nth-child(3){
  transform: rotate(-45deg) !important;
  top: 10px !important;
}


/* 強制クリック有効化 */
#menu-toggle-btn {
  position: relative;
  z-index: 9999 !important;
  pointer-events: auto !important; /* ←クリック受け取る */
}

/* 念のためドロワーを背面に */
.drawer-menu {
  z-index: 1000 !important;
  pointer-events: none;
}
.drawer-menu.open {
  pointer-events: auto;
}

/* Elementorのハンバーガー用コンテナ余白を消す */
#post-4804 > div > div > div.elementor-element.elementor-element-8049f56.e-con-full.e-flex.e-con.e-parent.e-lazyloaded,
#post-2784 > div > div > div.elementor-element.elementor-element-7122f39c.e-con-full.elementor-hidden-desktop.e-flex.e-con.e-parent.e-lazyloaded,
#post-2283 > div > div > div.elementor-element.elementor-element-5ff41f2e.e-con-full.elementor-hidden-desktop.e-flex.e-con.e-parent.e-lazyloaded,
#post-1615 > div > div > div.elementor-element.elementor-element-16c0eaf0.e-con-full.elementor-hidden-desktop.e-flex.e-con.e-parent.e-lazyloaded,
#post-2148 > div > div > div.elementor-element.elementor-element-3193d325.e-con-full.elementor-hidden-desktop.e-flex.e-con.e-parent.e-lazyloaded,
#post-3796 > div > div > div.elementor-element.elementor-element-35edaf4b.e-con-full.elementor-hidden-desktop.e-flex.e-con.e-parent.e-lazyloaded,
#post-4525 > div > div > div.elementor-element.elementor-element-660277d1.e-con-full.elementor-hidden-desktop.e-flex.e-con.e-parent.e-lazyloaded,
#post-8 > div > div > div.elementor-element.elementor-element-77afb4b5.e-con-full.elementor-hidden-desktop.e-flex.e-con.e-parent.e-lazyloaded{
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
}

/* ハンバーガー自体は固定配置なので消えない */
#menu-toggle-btn,
.hamburger {
  position: fixed !important;
  top: 20px;
  right: 20px;
}




/*カバー設定*/ 
/*HOME*/ 
.cover-section {
  position: relative;
}

.yorozuya{ 
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
  font-family: "Shippori Mincho", serif;
  font-size:48px;
  font-weight:400;
  color: #F7F6F5;
  letter-spacing: 0.2em;
  text-align: center;
  margin: 0;
  padding: 0;
}

@media(min-width:768px) and (max-width:1024px){
	.yorozuya{font-size:40px!important;} 
} 

@media(max-width:767px){
	.yorozuya{font-size:28px;} 
} 


/*HOMEの画像サイズ*/ 
@media(max-width:767px){
	#post-4804 > div > div > div.elementor-element.elementor-element-a8deaa4.e-con-full.e-flex.e-con.e-parent.e-lazyloaded > div > div img,#post-4804 > div > div > div.elementor-element.elementor-element-8e18c89.e-con-full.elementor-hidden-desktop.e-flex.e-con.e-parent.e-lazyloaded > div > div > img,#post-4804 > div > div > div.elementor-element.elementor-element-013fba2.e-con-full.equal-height-section.elementor-hidden-desktop.e-flex.e-con.e-parent.e-lazyloaded > div > div > img,#post-4804 > div > div > div.elementor-element.elementor-element-2b61e29.e-con-full.equal-height-section.elementor-hidden-desktop.e-flex.e-con.e-parent.e-lazyloaded > div > div > img,#post-4804 > div > div > div.elementor-element.elementor-element-c802a1e.e-con-full.equal-height-section.elementor-hidden-desktop.e-flex.e-con.e-parent.e-lazyloaded > div > div > img{
		width:100%;
		height: auto;
		aspect-ratio: 375 / 230;}
}



/* 親セクションをflex化して高さを揃える */
.equal-height-section {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch; /* ← 高さを揃えるポイント */
}

/* 左カラム（テキスト） */
.text-column {
  display: flex;
  flex-direction: column;
  justify-content: center; /* テキストを上下中央寄せ */
  padding: 80px 60px;
  flex: 1 1 50%;
  box-sizing: border-box;
}

.text-column .elementor-widget-container {
  max-width: 600px; /* テキスト幅の制限 */
  width: 100%;
}

/* 右カラム（画像） */
.image-column {
  flex: 1 1 50%;
  background-size: cover;
  background-position: center;
  min-height: 500px; /* 高さの最低値（好みで調整） */
}

/* モバイル時（縦積み） */
@media (max-width: 767px) {
  .equal-height-section {
    flex-direction: column;
  }
  .text-column, .image-column {
    flex: 1 1 100%;
    padding: 40px 20px;
    min-height: auto;
  }
}

#post-4804 > div > div > div.elementor-element.elementor-element-241634d.e-con-full.elementor-hidden-mobile.equal-height-section.elementor-hidden-tablet.e-flex.e-con.e-parent.e-lazyloaded > div.elementor-element.elementor-element-dcee672.e-con-full.text-column.e-flex.e-con.e-child,#post-4804 > div > div > div.elementor-element.elementor-element-9e3cb11.e-con-full.elementor-hidden-mobile.equal-height-section.elementor-hidden-tablet.e-flex.e-con.e-parent.e-lazyloaded > div.elementor-element.elementor-element-d03bf4e.e-con-full.text-column.e-flex.e-con.e-child{
	padding-left:5%;
}





/*JOURNALボタンPC*/ 
#post-4804 > div > div > div.elementor-element.elementor-element-de5b0f5.e-con-full.elementor-hidden-mobile.equal-height-section.elementor-hidden-tablet.e-flex.e-con.e-parent.e-lazyloaded > div.elementor-element.elementor-element-5aa5a62.e-con-full.text-column.e-flex.e-con.e-child > div.elementor-element.elementor-element-2292571.elementor-widget__width-initial.elementor-widget.elementor-widget-button > div > div > a > span > span.elementor-button-icon > svg{
	width:70px;
} 

/*JOURNALボタンタブレット＆SP*/ 
#post-4804 > div > div > div.elementor-element.elementor-element-1d55c12.e-con-full.equal-height-section.elementor-hidden-desktop.e-flex.e-con.e-parent.e-lazyloaded > div.elementor-element.elementor-element-007e60b.elementor-widget__width-initial.elementor-widget.elementor-widget-button > div > div > a > span > span.elementor-button-icon > svg{
	width:70px;
} 

#post-4804 > div > div > div.elementor-element.elementor-element-1d55c12.e-con-full.equal-height-section.elementor-hidden-desktop.e-flex.e-con.e-parent.e-lazyloaded > div.elementor-element.elementor-element-007e60b.elementor-widget__width-initial.elementor-widget.elementor-widget-button > div > div > a > span > span.elementor-button-text{ line-height:2; } /* 通常時：Elementorの“ボタン内アイコン”だけ対象にする */ #post-4804 .elementor-widget-button a.elementor-button .elementor-button-icon svg path{
	fill: #F7F6F5;
	transition:fill .3s ease;
} 

/* ホバー時：ボタンに乗った時だけ色変更 */ 
#post-4804 .elementor-widget-button a.elementor-button:hover .elementor-button-icon svg path {
	fill: #111212;
}

/*note表示*/ 
.note-latest-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 20px;
	margin-top: 20px;}
	
	.note-card {
		background: #fff;
		border: 1px solid #eee;
		border-radius: 10px;
		padding: 16px;
		transition: transform 0.2s ease, box-shadow 0.2s ease;
} 
	.note-card:hover {
		transform: translateY(-4px);
		box-shadow: 0 4px 10px rgba(0,0,0,0.08);
} 
	.note-card-content {
		text-align: left;
		font-family:'Zen Old Mincho', serif;
		color:#111212; 
} 
	.entry-content .note-card p.note-date{
		font-size: 13px;
		margin-bottom: 15px!important;}

	.note-title {
		font-size: 16px;
		font-weight:500;
		line-height: 1.4;
		margin: 0;
		font-family:'Zen Old Mincho', serif; 
} 


@media(max-width:767px){
#post-4804 > div > div > div.elementor-element.elementor-element-e13171b.e-con-full.e-flex.e-con.e-parent.e-lazyloaded > div{
	    width: 100%;
    aspect-ratio: 1 / 1;
	}
}





/*下層ページ共通*/


/*縦書きタイトル*/
	.vertical-text {
		writing-mode: vertical-rl;
		text-orientation: mixed;
		 white-space: nowrap;        /* ← 改行禁止 */
  　　　　word-break: keep-all;       /* ← 単語途中で折り返し防止 */
 　　　　 overflow-wrap: normal;      /* ← 英字の自動改行を防ぐ */
  　　　　display: inline-block;      /* ← テキストを1塊に扱う */
 　 　　　max-width: none !important; /* ← Elementorの幅制限を解除 */
  　　　　line-height: 1.8;           /* ← 縦方向の行間調整 */
		font-size: 50px;
		font-family: "しっぽり明朝", "Shippori Mincho", serif;
		letter-spacing: 0.2em; /* 文字間を少し広げるとバランス◎ */ 
		font-weight: 400; /* 必要に応じて変更 */ 
} 

@media(min-width:768px) and (max-width:1024px){ .vertical-text{ font-size:40px; } }


@media (max-width:767px) {
  .cover-section{
    position: relative; /* ← 絶対配置の基準を作る！ */}

  .vertical-text {
    position: absolute;
    bottom: -5vh;
    right: -95vw;
    font-size: 32px;
    color: #F7F6F5;
    text-align: right;
    padding: 0;
    margin: 0;
	
	  /* 🩵 ここがポイント */
    writing-mode: vertical-rl;   /* ← 縦方向に配置 */
    text-orientation: mixed;     /* ← 英字も縦に立てる */
    white-space: nowrap;         /* ← 改行禁止！ */
  }
}

/* CONCEPT */ 
/* 自己紹介画像 */ 
@media (max-width:767px) {
#post-3796 > div > div > div.elementor-element.elementor-element-31a5eac.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded > div > div.elementor-element.elementor-element-89f9313.e-con-full.e-flex.e-con.e-child > div.elementor-element.elementor-element-d5b69f5.elementor-widget.elementor-widget-image > div > img,#post-3796 > div > div > div.elementor-element.elementor-element-31a5eac.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded > div > div.elementor-element.elementor-element-613ee1f.e-con-full.e-flex.e-con.e-child > div.elementor-element.elementor-element-ee94ed8.elementor-widget.elementor-widget-image > div > img,#post-3796 > div > div > div.elementor-element.elementor-element-31a5eac.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded > div > div.elementor-element.elementor-element-19200e0.e-con-full.e-flex.e-con.e-child > div.elementor-element.elementor-element-7eb2022.elementor-widget.elementor-widget-image > div > img,#post-3796 > div > div > div.elementor-element.elementor-element-31a5eac.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded > div > div.elementor-element.elementor-element-99f8856.e-con-full.e-flex.e-con.e-child > div.elementor-element.elementor-element-26fc8fa.elementor-widget.elementor-widget-image > div > img{
	width:160px;
	aspect-ratio:1/1;
	}
}



/* レガシー */ 
.twae-wrapper .twae-content {
	box-shadow:none!important; }

.twae-vertical.twae-wrapper .twae-arrow {
	display:none;} 

.twae-wrapper .twae-icon { 
	width:20px!important; 
	height:20px!important;}

.twae-vertical.twae-wrapper{
	--tw-ibx-size: 20px;
} 

div.twae-content > div.twae-media.large > img{
	width: 498px; 
	height: auto;
	aspect-ratio:498/320;
} 

@media(max-width:1024px){
	div.twae-content > div.twae-media.large > img{
	width:300px!important;
	height:auto;
	} 
	
	#post-3796 > div > div > div.elementor-element.elementor-element-31a5eac.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded > div > div.elementor-element.elementor-element-33c3bd3.e-con-full.e-flex.e-con.e-child > div.elementor-element.elementor-element-b14d0a9.elementor-widget.elementor-widget-image > div > img
	{width:350px!important;
	} 

}

@media(max-width:767px){
	#post-3796 > div > div > div.elementor-element.elementor-element-0c11ad2.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded > div > div.elementor-element.elementor-element-55239d7.elementor-widget.elementor-widget-timeline-widget-addon > div{
        margin: 0px 0px 0px -10px;
        padding: 0px 30px 80px 0px;
	}	
	
div.twae-labels > div{
		margin-top:50px;
	}

	div.twae-content{
	--tw-cbx-padding: 0px 0px 0px 0px;
	}


  /* タイムライン線を左に固定 */
  .twae-timeline::before {
    left: 15px !important;    /* ← 中央から左端へ寄せる */
    transform: none !important;
  }

  /* 丸アイコンを線に揃える */
  .twae-story::before {
    left: 7px !important;     /* ← 線と丸の間を微調整 */
    transform: none !important;
  }

  /* ストーリー全体を線の右側に寄せる */
  .twae-story {
    margin-left: 30px !important; /* ← 左余白を確保して画像や文字が線にかぶらない */
    margin-right: 0 !important;
  }
 /* 左右のstoryを強制的に統一配置（ずれ防止） */
  .twae-wrapper.twae-both-sided .twae-story-left,
  .twae-wrapper.twae-both-sided .twae-story-right {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    margin: 0 10px 20px 37px !important; /* ← 左40pxは線分との余白 */
    transform: none !important;
  }

  /* 画像とテキストのブロックを左線に対してまっすぐ整列 */
  .twae-content {
    margin-left: 0 !important;
  }

  /* 年号も左寄せ */
  .twae-labels {
    justify-content: flex-start !important;
    margin-left: 5px !important;
  }
	
#twae-wrapper-55239d7 > div.twae-end,#twae-wrapper-55239d7 > div.twae-start{
		margin-left:7px;
	}
}



/* =========================================
   EVENT一覧（共通設定）
========================================= */
.display-posts-listing {
  padding: 40px 0;
  font-family: 'Zen Old Mincho', serif;
  color: #111212;
}

/* 各アイテム構造（左:画像 / 右:テキスト） */
.display-posts-listing .listing-item {
  display: grid;
  grid-template-columns: 160px 1fr; /* 画像:100px / テキスト:残り */
  column-gap: 60px;
  align-items: start;
  padding: 30px 0;
  border-top: 1px solid #111212;
}
.display-posts-listing .listing-item:last-child {
  border-bottom: 1px solid #111212;
}

/* 画像あり時 */
.display-posts-listing .listing-item a.image img {
  width: 160px;
  height: 106px;
  object-fit: cover;
  display: block;
}

/* NO IMAGE（疑似画像ボックス） */
.display-posts-listing .listing-item .no-image {
  width: 160px;
  height: 106px;
  background-color: #ccc;
  position: relative;
}
.display-posts-listing .listing-item .no-image::before {
  content: "NO IMAGE";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #555;
  font-size: 12px;
  letter-spacing: 0.1em;
  font-family: 'Zen Old Mincho', serif;
}

/* テキスト構成（日付→タイトル） */
.display-posts-listing .listing-item .text-wrap {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* 日付 */
.display-posts-listing .listing-item .date {
  display: inline-block;
  background: #E0E0E0;
  color: #111212;
  width: 110px;
  font-size:14px;
  text-align: center;
  padding: 4px 0;
  margin-bottom: 8px;
  font-family: 'Zen Old Mincho', serif;
  letter-spacing: 0.05em;
}

/* タイトル */
.display-posts-listing .listing-item .title {
  font-size: 18px;
  font-weight: 600;
  color: #111212;
  text-decoration: none;
  line-height: 1.4;
  font-family: 'Zen Old Mincho', serif;
  transition: color 0.3s ease;
}
.display-posts-listing .listing-item .title:hover {
  color: #555;
}

/* 本文・ダッシュ非表示 */
.display-posts-listing .listing-item .excerpt,
.display-posts-listing .listing-item .excerpt-dash {
  display: none !important;
}

@media (min-width: 767px) and (max-width:1024px) {
	.display-posts-listing {
		padding: 20px 0;}
}

/*スマホ対応*/

@media (max-width: 768px) { 
  .display-posts-listing .listing-item {
    display: grid;
    grid-template-columns: 108px 1fr; /* 左: 画像(またはNOIMAGE) / 右: テキスト */
    column-gap: 20px;
    padding: 20px 0;
    align-items: start;
  }

  /* 画像・NO IMAGE共通サイズ */
  .display-posts-listing .listing-item a.image img,
  .display-posts-listing .listing-item .no-image {
    width: 108px;
    height: 75px;
    object-fit: cover;
    border-radius: 2px;
    display: block;
    grid-column: 1;
  }

  /* ✅ NO IMAGE中央揃え（flexではなく、疑似要素だけで文字を出す） */
  .display-posts-listing .listing-item .no-image {
    background-color: #ccc;
    position: relative;
  }
  .display-posts-listing .listing-item .no-image::before {
    content: "NO IMAGE";
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 11px;
    color: #555;
    letter-spacing: 0.05em;
    font-family: 'Zen Old Mincho', serif;
  }

  /* 日付とタイトルを右列に配置 */
  .display-posts-listing .listing-item .date,
  .display-posts-listing .listing-item .title {
    grid-column: 2;
  }

  /* 日付 */
  .display-posts-listing .listing-item .date {
    margin-top: 0;
    width: 100px;
    height: 24px;
    font-size: 12px;
    padding: 0;
    background: #E0E0E0;
    text-align: center;
  }

  /* タイトル */
  .display-posts-listing .listing-item .title {
    font-size: 14px;
    line-height: 1.4;
    margin-top: 6px;
  }
}



/* =========================================
   トップページ（画像なし・左寄せ）
========================================= */
body.page-id-4804 .display-posts-listing .listing-item a.image,
body.page-id-4804 .display-posts-listing .listing-item .no-image {
  display: none !important;
}
body.page-id-4804 .display-posts-listing .listing-item {
  grid-template-columns: 1fr !important;
  column-gap: 0 !important;
  padding-left: 0 !important;
}
body.page-id-4804 .display-posts-listing .listing-item .date,
body.page-id-4804 .display-posts-listing .listing-item .title {
  margin-left: 0 !important;
}

/* =========================================
   ページネーション（WP-PageNavi）
========================================= */
.wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  margin-top: 40px;
  font-family: 'Zen Old Mincho', serif;
}
.wp-pagenavi a,
.wp-pagenavi span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background-color: #E0E0E0;
  color: #111212;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.3s ease;
}
.wp-pagenavi a:hover {
  background-color: #111212;
  color: #fff;
}
.wp-pagenavi span.current {
  background-color: #111212;
  color: #fff;
}


/* =========================================
   トップページ（page-id-4804）：ページネーション非表示
========================================= */
body.page-id-4804 .wp-pagenavi {
  display: none !important;
}

/* =========================================
   CONTACT
========================================= */
 /* 通常時 */ 
#wpforms-form-19 .wpforms-submit {
	background-color: #13171A;
	color: #F7F6F5;
	border: none;
	border-radius: 0px;
	padding: 10px 90px;
	box-shadow: none;
	transition: all 0.3s ease; margin-top:40px
} 
	.contact-button{
		color: #F7F6F5;
}
	@media(max-width:767px){
		#wpforms-form-19 .wpforms-submit {
			padding: 10px 35px;
			margin-top:30px }
}

/* ホバー時 */ 
	#wpforms-form-19 .wpforms-submit:hover{
		background-color: #E0E0E0; 
		box-shadow: none;} 
	
	#wpforms-form-19 .wpforms-submit.contact-button:hover{
		color:#111212;
		background-color:#E0E0E0!important;
		/* グレー */ box-shadow: none; } 


/* 横スクロールを防ぐ */
html, body {
  overflow-x: hidden;
}

/* セクションやコンテナが画面外にはみ出さないように */
.elementor-section, 
.elementor-container, 
.elementor-column, 
.elementor-widget-wrap {
  max-width: 100% !important;
  overflow-x: hidden !important;
}
