:root {
 /* 初期値 */
	--nav_toggle-width: 0px;
}

body{
	overflow-x: hidden;
	cursor:default;
	background-color:#fff;
	color:#444
}
body.nav_open {
	overflow: hidden;
	touch-action: none;
}
h2,h3,h4{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Yu Gothic","游ゴシック体","Meiryo","メイリオ",sans-serif;}
#header_wrapper::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity: 0;
  transition: opacity .35s ease;
  background: linear-gradient(to bottom,
    rgba(63,33,33, 1) 0%,
    rgba(63,33,33, 0) 100%
  );
}
/* スクロール時にフェードイン */
.scroll #header_wrapper::before{
  opacity: 1;
}
#mainview_text{
	padding-bottom:128px;
	z-index:2;
}
#mainview_icons{
	max-width:320px;
	bottom:0;
}
.others #header_wrapper::before{
  opacity: 1;
  background: linear-gradient(to bottom,
    rgba(63,33,33,1) 0%,
    rgba(63,33,33, 0) 100%
  );
}
#contents_container{
	overflow: hidden; /* フォールバック（全ブラウザ） */
	overflow: clip;   /* 対応ブラウザではこちらが有効 */
}
a{color:#333;transition:color .4s ease}
.font_color-white{color:#fff}
.font_color-black{color:#000}
.font_color-red{color:#dd3333}
#header_title_wrapper{min-width:0}
#page_title_wrapper{background-color:#eee}
#page_title_bg_container{
	z-index:1;
}
#page_title_bg_container::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(63,33,33,.3);
  pointer-events:none; /* ←重要：操作を邪魔しない */
}
#page_title_container{
	z-index:2;
}

.title_h2,
.title_h3,
.title_h4{
	margin:1.2rem .4rem
}
.wpcf7Btn,
.more_link a{
	padding:.6em 1.8em;
	text-decoration:none;
	border-radius:.2em;
	transition:all .4s ease-in-out;
	cursor:pointer
}

#page_top{
	right:0;
	bottom:128px;
	width:48px;
	opacity: 0;
	z-index: -1;
	transition: opacity .7s, z-index .7s;
}

#global_nav{
	line-height:1.2;
}
.box-glow-black{
  box-shadow:
    0 0 8px rgba(0,0,0,.25),
    0 0 24px rgba(0,0,0,.2),
    0 0 48px rgba(0,0,0,.15);
}
.text-glow-black{
  text-shadow:
    0 0 6px rgba(0,0,0,.45),
    0 0 18px rgba(0,0,0,.25);
}
@media (min-width: 768px) {
	#mainview_icons{
		max-width:480px;
	}
}
@media (min-width: 1024px) {
	html {
		scrollbar-gutter: stable;
	}
	body {
		overflow-y: scroll; /* 常にスクロールバー表示 */
	}

	body.nav_open {
		height: 100vh;
		overflow: hidden; /* 実際のスクロールは止める */
	}
	a:hover{color:#f00}

	#global_nav > .menu-item > a{
text-shadow:
  .08em .08em .16em rgba(10,10,10,.3),
 -.08em .08em .16em rgba(10,10,10,.3),
  .08em -.08em .16em rgba(10,10,10,.3),
 -.08em -.08em .16em rgba(10,10,10,.3);
	}
	#mainview_text{
		padding-bottom:96px;
	}
	#mainview_icons{
		max-width:576px;
		bottom:20px;
	}
	.wpcf7Btn,
	.more_link a{
		padding:.4em 1.2em;
		transition:background-color .4s ease-in-out, color .4s ease-in-out
	}
}
@media (min-width: 1440px) {
	#mainview_text{
		padding-bottom:48px;
	}
	#mainview_icons{
		max-width:640px;
	}
}

/********** Navigation **********/

/************************************************
 * グローバルナビ PC版（1024px以上）
 ************************************************/
@media (min-width: 1024px) {

}

