html {
	font-size: 62.5%; /* 10px */
	scroll-behavior: auto !important;
	overscroll-behavior: none;
}
body, body *, body *::before, body *::after {
	outline:none;
	user-select: none;
}
/* =root
-------------------------------------------------------------- */
:root {
	--color-1: #0080cc;
	--color-2: #12242d;
	--color-3: #283135;
	--easing: cubic-bezier(.2, 1, .2, 1);
	--transition: .8s var(--easing);
	--circumference: 100;
}
/* =body
-------------------------------------------------------------- */
body {
	background:#FFF;
	color:var(--color-3);
	font-family:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	position: relative;
}
.inter {
	font-family: 'Inter', sans-serif;
	font-variation-settings: "wght" 500;
}
.inter_b {
	font-family: 'Inter', sans-serif;
	font-variation-settings: "wght" 700;
}
.inter_exb {
	font-family: 'Inter', sans-serif;
	font-variation-settings: "wght" 800;
}
#container *, #container *::after, #container *::before {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
img {
	display: block;
	width:100%;
	height:auto;
}

/* =responsive
-------------------------------------------------------------- */
.pc {
	display:none;
}
.sp {
	display:none;
}

/* =structure
-------------------------------------------------------------- */
#container {
	overflow: hidden;
	width:100%;
	position: relative;
}
#smooth-wrapper {
	overflow: hidden;
	height: 100%;
}
#smooth-content {
	will-change: transform;
}
.contents {
	padding: 0 10%;
}
/* ===== Smoother ON のときだけ有効にする ===== */
html.has-smoother #smooth-wrapper {
  overflow: hidden;
  height: 100%;
}
html.has-smoother #smooth-content {
  will-change: transform;
}

/* ===== Smoother OFF（Tablet/Smartphone）では“普通のページ”に戻す ===== */
html:not(.has-smoother) #smooth-wrapper {
  overflow: visible;
  height: auto;
}
html:not(.has-smoother) #smooth-content {
  will-change: auto;
  transform: none !important;
}

/* =ヘッダー
-------------------------------------------------------------- */
header {
	position: fixed;
	top:0;
	left:0;
	z-index:15;
	width:30rem;
	height:10rem;
	background:#FFF;
	border-radius: 0 0 2.5rem 0;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	transition: opacity 1s 1.2s cubic-bezier(0.19, 1, 0.22, 1);
}
header .logo {
	display: flex;
	justify-content: center;
	align-items: center;
	padding:2rem 4rem;
	width:100%;
}
header.show {
	opacity: 1;
}
header .logo img {
	transition:transform .3s ease;
}
header .logo:hover img {
	transform: scale(1.03);
}
header .name {
	position: absolute;
	top:50%;
	left:calc(100% + 5rem);
	width:100%;
	font-size:1.2rem;
	font-weight: 600;
	z-index:2;
	transform: translateY(-50%);
	clip-path: inset(100% 0 0 0);
	transition: clip-path 1s 1.2s cubic-bezier(0.19, 1, 0.22, 1);
}
header.show .name {
	clip-path: inset(0 0 0 0);
}
/* hamburger */
.hamburger {
	position: fixed;
	top:0;
	right:0;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	flex-direction: column;
	flex-wrap: wrap;
	width:12rem;
	height:10rem;
	cursor: pointer;
	z-index: 11;
	opacity: 0;
	transform-origin: center center;
	transition: opacity 1s 1.2s cubic-bezier(0.19, 1, 0.22, 1), transform .3s ease;
}
.gnav:hover .hamburger {
	transform: scale(1.03);
}
.hamburger .line {
	width:4.8rem;
	height:0.1rem;
	transform: scaleY(2);
	background: var(--color-1);
}
.hamburger .line1 {
	margin:0 0 1rem;
	transition: transform .3s ease, margin .3s ease;
}
.hamburger .line2 {
	transition: opacity .3s ease;
}
.hamburger .line3 {
	margin:1rem 0 0;
	transition: transform .3s ease, margin .3s ease;
}
.hamburger p {
	color:var(--color-1);
	font-size:1.6rem;
	margin:1rem 0 0 0;
	transition: margin .3s ease;
}
.gnav.show .hamburger {
	opacity: 1;
}
.gnav.open .hamburger .line1 {
	margin:-1px 0 0 0;
	transform: rotate(30deg) scaleY(2);
}
.gnav.open .hamburger .line2 {
	opacity:0;
}
.gnav.open .hamburger .line3 {
	margin:-1px 0 0 0;
	transform: rotate(-30deg) scaleY(2);
}
.gnav.open .hamburger p {
	margin:2rem 0 0 0;
}
.globalmenu {
	display:block;
	position: fixed;
	top:0;
	right:0;
	z-index:10;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	flex-direction: column;
	flex-wrap: wrap;
	width:12rem;
	height:10rem;
	background: #FFF;
	border-radius: 0 0 0 2.5rem;
	opacity: 0;
	transform-origin: top right;
	transition: opacity 1s 1.2s cubic-bezier(0.19, 1, 0.22, 1), width .6s cubic-bezier(0.19, 1, 0.22, 1), height .6s cubic-bezier(0.19, 1, 0.22, 1), border-radius .3s ease;
}
.gnav.show .globalmenu {
	opacity: 1;
}
.gnav.open .globalmenu {
	width:100%;
	height: calc(var(--vh, 1vh) * 100);
	border-radius: 0;
}

.menu_inner {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	align-items: start;
	column-gap: 5rem;
	opacity: 0;
	padding: 17rem 10% max(8rem, 12vh) 10%;
	width: 100%;
	height: 100%;
	visibility: hidden;
	pointer-events: none;
	transition: all .1s ease;
	background:#FFF;
}
.gnav.open .menu_inner {
	opacity:1;
	visibility: visible;
	pointer-events:all;
}
.menu_inner .thumb {
	grid-column: span 2;
	width:100%;
	height:100%;
	aspect-ratio: 2 / 1;
	border-radius: 3rem;
	position: relative;
	overflow: hidden;
	clip-path: inset(0 100% 0 0);
}
.menu_inner .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: 2 / 1;
	object-fit: cover;
}
.gnav.open .menu_inner .thumb {
	animation: headthumb 1s ease forwards;
}
@keyframes headthumb {
	0% {
		clip-path: inset(0 100% 0 0);
	}
	30% {
		clip-path: inset(0 100% 0 0);
	}
	100% {
		clip-path: inset(0 0 0 0);
	}
}
.head_menu_head {
	font-size: 3rem;
	color:var(--color-1);
	padding:4rem 0 2rem;
	clip-path: inset(100% 0 0 0);
}
.head_menu_wrap li {
	width: 100%;
	clip-path: inset(100% 0 0 0);
}
.gnav.open .head_menu_head,
.gnav.open .head_menu_wrap li {
	animation: headtxt 1s ease forwards;
}
@keyframes headtxt {
	0% {
		clip-path: inset(100% 0 0 0);
	}
	30% {
		clip-path: inset(100% 0 0 0);
	}
	100% {
		clip-path: inset(0 0 0 0);
	}
}
.head_menu_wrap li a {
	display: block;
	width:fit-content;
	font-size: 2rem;
	color:var(--color-1);
	padding:1rem 0 1rem 5rem;
	position: relative;
}
.head_menu_wrap li a::before {
	position: absolute;
	top:50%;
	left:1rem;
	content:'';
	width:1rem;
	height:1rem;
	border-radius: 50%;
	background: var(--color-1);
	transform: translateY(-50%);
	transform-origin: center center;
	transition:transform .4s ease, top .4s ease;
}
.head_menu_wrap li a:hover::before {
	top:48%;
	transform:scale(3.0);
}
.head_menu_wrap li a::after {
	position: absolute;
	top:48%;
	left:1rem;
	content:'';
	width:1rem;
	height:1rem;
	background: url(../img/icon_link.svg) no-repeat center center;
	background-size: 100% auto;
	margin:-2px 0 0 0;
	opacity:0;
	transition:transform .4s ease, opacity .4s ease, top .4s ease;
}
.head_menu_wrap li a:hover::after {
	top:48%;
	transform:scale(1.6);
	opacity: 1;
}


/* globalmenu */

/* =ローディング(仮)
-------------------------------------------------------------- */
#loading-screen {
  position: fixed;
  inset: 0;
  background: #FFF;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-1);
  font-size: clamp(7rem, 13vw, 9rem);
  transition: opacity 0.5s ease;
}
#loading-screen .in1 {
	display: block;
	width:fit-content;
	overflow: hidden;
	clip-path: inset(0 0 0 0);
	transform:translateY(0);
	transition: clip-path 0.5s ease, transform 2s ease;
}
#loading-screen .in2 {
	display: block;
	width: fit-content;
	transform: translateY(100%);
	animation:load .7s ease forwards;
}
#loading-screen.hide .in1 {
	transform:translateY(-50vh);
	clip-path: inset(0 0 100% 0);
}
#loading-screen.hide {
  opacity: 0;
  pointer-events: none;
}
@keyframes load {
	0% {
		transform: translateY(100%);
	}
	100% {
		transform: translateY(0);
	}
}

/* =トップ
-------------------------------------------------------------- */
.pin-spacer {
  pointer-events: none !important;
}
.pin-spacer > * {
  pointer-events: auto;
}
.mv {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: calc(var(--vh, 1vh) * 100);
	padding:1.5rem;
	position: relative;
	overflow: hidden;
}
.mv .mv_first_wrap,
.mv .mv_first_inner {
	width:100%;
	height:100%;
}
.mv .mv_inner {
	width:100%;
	height:100%;
	position: relative;
	overflow: hidden;
	will-change: width;
}
.mv .mv_inner::after {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.3);
	mix-blend-mode: multiply;
	z-index:2;
}
.mv .mv_inner video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index:1;
}
.mv .mv_text {
	position: absolute;
	top:50%;
	left:10%;
	transform: translateY(-50%);
	z-index:3;
}
.mv .mv_text .m_txt1,
.mv .mv_text .m_txt2 {
	font-size:12.2vw;
	line-height: 1em;
	color:#FFF;
	position: relative;
}
.mv .mv_text .m_txt1 span,
.mv .mv_text .m_txt2 span {
	position: relative;
	color:transparent;
}
.mv .mv_text .m_txt1 span::after,
.mv .mv_text .m_txt2 span::after {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:0%;
	height:100%;
	background: #FFF;
}
.mv .mv_text .m_txt3 {
	font-size:4.5vw;
	color:#FFF;
	letter-spacing: 0.04em;
	margin:2rem 0 0 0;
	overflow: hidden;
}
.mv .mv_text .m_txt3 span {
	display: block;
	transform: translateY(100%);
}
#container.animated.anim-armed .mv .mv_text .m_txt1 span::after {
	animation: mtxt 1.2s .3s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}
#container.animated.anim-armed .mv .mv_text .m_txt2 span::after {
	animation: mtxt 1.2s .5s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}
#container.anim-locked .mv .mv_text .m_txt1 span::after,
#container.anim-locked .mv .mv_text .m_txt2 span::after{
  animation: none !important;       /* ← 再走を完全無効 */
  /* ここで“最終状態”を直接指定して固定（例：マスクが消えた状態） */
  opacity: 1;
  transform: none;                  /* 例：mtxtの最終が translateY(0) 等ならそれ */
  /* もし keyframes が clip-path や width で消すなら、その最終値を指定 */
  /* clip-path: inset(0 0 0 0); など、あなたの mtxt の end に合わせて */
}
@keyframes mtxt {
	0% {
		width:0%;
	}
	50% {
		width:100%;
	}
	55% {
		clip-path: inset(0 0 0 0);
		width:100%;
	}
	100% {
		clip-path: inset(0 0 0 100%);
		width:100%;
	}
}

.mv_second_wrap {
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	overflow: hidden;
	z-index: 4;
	will-change: clip-path;
	clip-path: inset(0 0 100% 0);
}
.mv_second_wrap img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mv_third_wrap {
	position: absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
	z-index:4;
}
.mv_third_inner {
	width:100%;
	height:100%;
	transform: translateY(100vh); /* 下からスタート */
	will-change: transform;
	padding:0 15%;
}
.mv_third_inner .mv_third_head h2 {
	font-size:7vw;
	font-weight: 700;
	line-height: 1em;
}
.mv_third_inner .mv_third_head h2 span {
	display: block;
	width:fit-content;
	opacity: 0;
	transform: scale(0.9);
	padding:0 0 2rem 0;
}
.mv_third_txt p {
	opacity: 0;
	transform: scale(0.9);
	font-size:2.2rem;
	line-height: 2em;
	padding:8rem 0 0 0;
}
.mv_third_link {
	margin:8rem auto 0;
}
a.more {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size:2rem;
	color:var(--color-1);
	padding:2rem 0;
	position: relative;
	border-bottom:1px solid var(--color-1);
}
a.more::before {
	position: absolute;
	top:50%;
	right:3rem;
	content:'';
	width:1rem;
	height:1rem;
	border-radius: 50%;
	background: var(--color-1);
	transform: translateY(-50%);
	transform-origin: center center;
	transition:transform .4s ease;
}
a.more:hover::before {
	transform:scale(3.0);
}
a.more::after {
	position: absolute;
	top:50%;
	right:3rem;
	content:'';
	width:1rem;
	height:1rem;
	background: url(../img/icon_link.svg) no-repeat center center;
	background-size: 100% auto;
	margin:-2px 0 0 0;
	opacity:0;
	transition:transform .4s ease, opacity .4s ease;
}
a.more:hover::after {
	transform:scale(1.6);
	opacity: 1;
}

/* top_message */
.mv_inner.halfway {
	width:50%;
}
.top_message {
	position: absolute;
	top:0;
	left:0;
	z-index:5;
	width:100%;
	height: calc(var(--vh, 1vh) * 100);
	background:#000;
	opacity: 0;
	transform: translateX(75%);
	user-select: none;
	pointer-events: none;
}
.top_messe_inner {
	width:100%;
	height: calc(var(--vh, 1vh) * 100);
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	align-content: center;
	position: relative;
	padding:0 10%;
}
.top_messe_left {
	width:70%;
	aspect-ratio: 112 / 107;
	opacity: 0;
	transform: translateX(-100%);
}
.top_messe_left img {
	transform: scale(1.5);
	object-fit: cover;
	aspect-ratio: 112 / 107;
}
.top_messe_right {
	width:100%;
	opacity:0;
}
.top_messe_right h2 {
	font-size:6vw;
	color:var(--color-1);
}
.top_messe_right .text {
	font-size:2rem;
	color:#FFF;
	line-height: 2em;
	padding:3rem 0 0 0;
}
.top_messe_right .signature {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding:3rem 0 0 0;
	opacity:0;
}
.top_messe_right .signature img {
	width:25%;
}

/* =section
-------------------------------------------------------------- */
.sec1 {
	width:100%;
	height: calc(var(--vh, 1vh) * 100);
	padding:15rem 0;
}
.head_txt {
	font-size:5.5vw;
	color:var(--color-1);
	clip-path: inset(100% 0 0 0);
	transition:clip-path 1.5s ease;
}
.run .head_txt {
	clip-path: inset(0 0 0 0);
}
.sec1_layout {
	width:100%;
	height:100%;
	display: grid;
	grid-template-columns: 1fr;
}
.sec1_layout .box1 { order:0; padding:0 0 0 10%}
.sec1_layout .box2 { order:2; padding:0 10%}
.sec1_layout .box3 {
	width:100%;
	overflow: hidden;
	order:1;
	padding:3rem 0 0 0;
}
.sec1_layout .box3.is-swiper .box3_inner {
	width:auto;
	display: flex;
	flex-wrap: nowrap;
	transform: none;
}
.sec1_layout .box3.is-swiper .post_block {
	flex: 0 0 auto;
	width:auto;
	margin:0;
	padding:0 2rem;
}
.sec1_layout .box3 .post_block a {
	display: block;
}
.sec1_layout .box3 .post_block a figure {
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
	overflow: hidden;
	aspect-ratio: 16 / 9;
}
.sec1_layout .box3 .post_block a figure img {
	width:100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.sec1_layout .box3 .post_block time {
	display: block;
	width:100%;
	padding:2.5rem 0 0 0;
	font-size:1.8rem;
	color:var(--color-1);
}
.sec1_layout .box3 .post_block .title {
	display: block;
	width:100%;
	font-size:2.4rem;
	font-weight: 600;
	line-height: 1.5em;
	color:#000;
	padding:1rem 0 3rem 0;
}
/* ページネーションの軽いデザイン */
.sec1_layout .box3 .pagination {
	margin-top: 1rem;
	display: flex;
	justify-content: center;
}



.sec2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width:100%;
	height: calc(var(--vh, 1vh) * 100);
	padding:15rem 0;
	position: relative;
	overflow: hidden;
}
.sec2_layout {
	width:85rem;
	height:100%;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	flex-wrap: wrap;
	position: relative;
}
.sec2 .slidetxt {
	position: absolute;
	top:0;
	right:10%;
	z-index: 1;
	width:max-content;
	font-size:20vw;
	color:#d9ebf4;
}
.sec2_layout .box1 {
	position: absolute;
	top:50%;
	left:50%;
	z-index:2;
	width:50rem;
	transform:translate(-50%);
}
.sec2_layout .box1 img {
	opacity: 0;
	transform: scale(2);
	filter: blur(1rem);
}
.sec2_layout .box2 {
	position: relative;
	z-index:2;
	padding:25rem 5% 0;
	opacity: 0;
}
.sec2_layout .box2 p {
	font-size:2rem;
	line-height: 2em;
}
.sec2_layout .sec2_link {
	width:45rem;
	margin:6rem auto 0;
}

.sec3 {
	padding:0 0 12rem 0;
}
.sec3 .box2 {
	padding:6rem 0;
}
.sec3 .box2 .youtube_archive {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	column-gap: 4rem;
	row-gap: 4rem;
}
.sec3 .box2 .box {
	width:100%;
	aspect-ratio: 16 / 9;
	clip-path: inset(100% 0 0 0);
	transition: clip-path .5s ease;
}
.sec3.run .box2 .box {
	clip-path: inset(0 0 0 0);
}
.sec3 .box2 .box iframe,
.sec3 .box2 .box video {
	width:100%;
	height:auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* =page
-------------------------------------------------------------- */
.bg {
	width:100%;
	background: url(../img/bg.webp) repeat top left;
}
.page_head {
	padding:20rem 10% 12rem;
	width:100%;
}
.page_head .page_head_en {
	font-size:6rem;
	line-height: 1.2em;
	overflow: hidden;
}
.page_head .page_head_en span {
	display: block;
	width:fit-content;
	transform: translateY(100%);
	transition:transform .6s ease;
}
#container.animated .page_head_en span {
	transform: translateY(0);
}
.page_head h1,
.page_head .page_head_jp {
	display: block;
	font-size:2.6rem;
	font-weight: bold;
}
.page_head h1 span,
.page_head .page_head_jp span {
	display: block;
	width:fit-content;
	position: relative;
	color:transparent;
	transition: color .1s .7s ease;
}
.page_head h1 span::after,
.page_head .page_head_jp span::after {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:0%;
	height:100%;
	background: var(--color-1);
}
#container.animated .page_head h1 span,
#container.animated .page_head .page_head_jp span {
	color:var(--color-3);
}
#container.animated .page_head h1 span::after,
#container.animated .page_head .page_head_jp span::after {
	animation: mtxt 1.2s .3s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

/* aboutus */
.aboutus_mv {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 2rem;
	row-gap: 2rem;
	padding:0 2rem;
}
.aboutus_mv .div1 {
	grid-column: span 2;
}
.aboutus_mv .div2 {
}
.aboutus_mv .div3 {
}
.aboutus_mv .thumb {
	width:100%;
	overflow: hidden;
	border-radius: 3rem;
	aspect-ratio: 1 / 1;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	clip-path: inset(100% 0 0 0);
	transition: clip-path 1s ease;
}
.aboutus_mv .thumb img {
	width:auto;
	height:100%;
}
#container.animated .aboutus_mv .thumb {
	clip-path:inset(0 0 0 0)
}
.ourmission {
	padding:12rem 0;
}
.ourmission .box2 {
	padding:5rem 0 0 0;
}
.mission_wrap {
	background: #FFF;
	border-radius: 3rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	padding:4rem 0;
	margin:3rem auto;
}
.mission_wrap .mission_wrap_head {
	background: var(--color-1);
	color:#FFF;
	width:18.6rem;
	padding:1rem 0;
	text-align: center;
	border-radius: 5rem;
	overflow: hidden;
}
.mission_wrap .mission_wrap_head span {
	display: block;
	font-size:clamp(1.8rem, 1.4vw, 2.4rem);
	transform: translateY(100%);
	transition: transform .5s .2s ease;
}
.mission_wrap.run .mission_wrap_head span {
	transform: translateY(0);
}
.mission_wrap .mission_wrap_contents {
	padding:2rem 0 0 0;
	text-align: center;
	color:var(--color-3);
	width:100%;
}
.mission_wrap .mission_wrap_contents span {
	display: block;
	width:100%;
	font-size:2.4rem;
	font-weight:bold;
	clip-path:inset(100% 0 0 0);
	transition: clip-path .5s .2s ease;
}
.mission_wrap.run .mission_wrap_contents span {
	clip-path:inset(0 0 0 0);
}
.founder_message {
	padding:12rem 0 0;
}
.founder_message .slidetext {
	font-size:8rem;
}
.founder_message .slidetext span {
	color: var(--color-1);
}
.message_box {
	padding:8rem 0 0 0;
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
}
.message_box_lower {
	display: grid;
	grid-template-columns: 1fr;
	padding:4rem 0 0 0;
}
.message_box .shapeimg {
	width:60%;
	height:auto;
	margin:0 auto;
}
.message_box h2 {
	font-size:4rem;
	font-weight: bold;
	color:var(--color-3);
	line-height: 1.3em;
	position: relative;
	padding:8rem 0 0 0;
}
.message_box h2 span {
	display: block;
	opacity: 0;
	transform: translateY(15rem);
}
.message_box_lower .message_txt1 {
	opacity: 0;
	font-size:1.8rem;
	transition: opacity .4s ease;
}
.message_box_lower .meigi {
	opacity: 0;
	padding:6rem 0 0 0;
	font-size:1.8rem;
	text-align: right;
	transition: opacity .4s ease;
}
.message_box_lower.run .message_txt1,
.message_box_lower.run .meigi {
	opacity:1;
}

.date_of_activity {
	padding:15rem 0 15rem;
}
.datawrap {
	padding:8rem 0 0 0;
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 2rem;
	row-gap: 2rem;
}
.datawrap .databox {
	background: var(--color-1);
	border-radius: 2rem;
	padding:3rem 3rem 6rem;
	color:#FFF;
}
.datawrap .databox .num {
	font-size:1.6rem;
	padding:0 0 0 1.5rem;
	position: relative;
}
.datawrap .databox .num::after {
	content:'';
	position: absolute;
	top:50%;
	left:0;
	width:4px;
	height:4px;
	border-radius: 50%;
	background: #FFF;
	margin:-2px 0 0 0;
}
.datawrap .databox .data_title {
	font-size:2.6rem;
	font-weight: bold;
	padding:2rem 0 5rem;
}
.datawrap .databox img {
	padding:2rem 0;
}
.data_contents {
	display: flex;
	justify-content: center;
	align-items: end;
	flex-wrap: wrap;
}
.data_contents .amount {
	font-size:10rem;
	line-height: 0.7em;
	opacity:0;
	transition: opacity .4s .5s ease;
}
.data_contents .mugen {
	font-size:clamp(23rem, 12vw, 30rem);
	font-weight: 900;
	line-height: 0.5em;
	opacity:0;
	transition: opacity .4s .5s ease;
}
.databox.run .data_contents .amount {
	opacity: 1;
}
.databox.run .data_contents .mugen {
	opacity: 1;
}
.data_contents .note {
	font-size:1.2rem;
	padding:1.5rem 0 0 0;
}
.data_contents .amount_txt {
	font-size:clamp(3rem, 2.2vw, 3.6rem);
	font-weight: bold;
	padding:0 0 0 1rem;
	line-height: 1em;
}
.data_contents.con1 {
	justify-content: center;
}
.datawrap .databox .data_title.con1 {
	padding:2rem 0;
}
.data_contents .amount_txt.con1 {
	padding:0 1rem 0 0;
}

/* Challenge Forever */
.main_thumb {
	width:100%;
	clip-path: inset(100% 0 0 0);
	transition: clip-path .5s ease;
}
#container.animated .main_thumb {
	clip-path: inset(0 0 0 0);
}
.cf_wrap1 {
	width:clamp(40rem, 80%, 68rem);
	margin:0 auto;
	padding:12rem 0 0 0;
}
.cf_wrap1 .cf_txt {
	font-size:clamp(3.2rem, 2vw, 4.4rem);
	font-weight: bold;
	letter-spacing: 0.15em;
	text-align: center;
	color:var(--color-1);
	padding:0 0 1rem 0;
	overflow: hidden;
}
.cf_wrap1 .cf_txt span {
	display: block;
	transform: translateY(10rem);
	transition: transform .6s ease;
}
.cf_wrap1.run .cf_txt span {
	transform: translateY(0);
}
.cf_wrap1 .cf_logo {
	opacity: 0;
	transition: opacity .6s ease;
}
.cf_wrap1.run .cf_logo {
	opacity: 1;
}
.about_cf {
	padding:12rem 0;
}
.about_cf_wrap {
	display: grid;
	grid-template-columns: 45fr 55fr;
	column-gap: clamp(4rem, 4.6vw, 8.7rem);
	align-items: start;
	padding:8rem 0 0 0;
}
.about_cf_wrap h3 {
	display: block;
	font-size:3.6rem;
	font-weight: 900;
	color:var(--color-3);
}
.about_cf_wrap h3 .core {
	display: block;
	overflow: hidden;
}
.about_cf_wrap h3 .core .inner {
	display: block;
	transform: translateY(10rem);
	transition: transform .6s .4s ease;
}
.about_cf_wrap .left.run h3 .core .inner {
	transform: translateY(0);
}
.about_cf_wrap .right p {
	font-size:clamp(1.8rem, 1.25vw, 2.2rem);
	line-height: 2em;
	opacity: 0;
	transition: opacity .6s .5s ease;
}
.about_cf_wrap .right.run p {
	opacity: 1;
}
.postlink {
	width:clamp(32rem, 80vw, 40rem);
	margin:0 auto;
	padding:6rem 0 0 0;
}
.cf_nagasaki {
	padding:12rem 0 4rem;
}
.cf_nagasaki .cf_nagasaki_head {
	display: block;
	font-size:3.4rem;
	font-weight: 900;
	color:var(--color-3);
	padding:8rem 0 0;
}
.cf_nagasaki .cf_nagasaki_head .core {
	display: block;
	overflow: hidden;
}
.cf_nagasaki .cf_nagasaki_head .core .inner {
	display: block;
	transform: translateY(10rem);
	transition: transform .6s .4s ease;
}
.cf_nagasaki.run .cf_nagasaki_head .core .inner {
	transform: translateY(0);
}
.cf_ngk_contents {
	width:100%;
	height: calc(var(--vh, 1vh) * 100);
	overflow: hidden;
}
.cf_ngk_flex {
	width:600%;
	height: calc(var(--vh, 1vh) * 100);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.cf_ngk_contents .inner {
	width:100%;
	display: grid;
	grid-template-columns: 8rem repeat(5,1fr) 16rem repeat(3,1fr);
	column-gap:clamp(8rem, 6vw, 10rem);
	padding:13rem 10% 0;
}
.cf_ngk_contents .inner h4 {
	display: block;
	writing-mode: vertical-rl;
	font-size:clamp(3.6rem, 3vw, 5rem);
	font-weight: 900;
	color:var(--color-3);
}
.cf_ngk_contents .inner .cf_ngk_txt {
	font-size:clamp(1.8rem, 1.25vw, 2.2rem);
	line-height: 2em;
}
.cf_media {
	padding:12rem 0 15rem;
}
.medialist {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: clamp(3rem, 3vw, 6rem);
	padding:6rem 0 0 0;
}
.medialist .media_wrap {
	background:var(--color-1);
	border-radius: 3rem;
	padding:clamp(2.5rem, 2.3vw, 4rem);
	display: grid;
	grid-template-columns: 1fr;
	column-gap: clamp(2.5rem, 2.3vw, 4rem);
	color:#FFF;
	position: relative;
}
.medialist .media_wrap .thumb {
	width:100%;
	padding:2rem 0;
	border-radius:1.4rem;
	overflow: hidden;
	background-color: #FFF;
}
.medialist .media_wrap .thumb .thumb_inner {
	width:100%;
	height:100%;
	aspect-ratio: 16 / 9;
	position: relative;
}
.medialist .media_wrap .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.medialist .media_wrap .box1 {
	padding:2rem 0 0 0;
	display: flex;
	justify-content: flex-start;
	align-items: end;
}
.medialist .media_wrap .box1 .left,
.medialist .media_wrap .box1 .right {
	width:fit-content;
	font-size:clamp(1.6rem, 1.3vw, 2.1rem);
}
.medialist .media_wrap .box1 .right {
	padding:0 0 0 3rem;
}
.medialist .media_wrap .box2 {
	font-size:2.6rem;
	font-weight: 900;
	padding:1.5rem 0 2rem;
}
.medialist .media_wrap .box3 {
	font-size:1.4rem;
}
.modalbtn {
	cursor: pointer;
	transition: opacity .5s ease;
}
.modalbtn:hover {
	opacity: 0.5;
}
.modalbtn::before {
	content:'';
	position: absolute;
	top:-4rem;
	right:-4rem;
	width:12rem;
	height:12rem;
	background: var(--color-1);
	border-radius: 50%;
}
.modalbtn::after {
	content:'\f03d';
	position: absolute;
	top:-4rem;
	right:-4rem;
	width:12rem;
	height:12rem;
	display: flex;
	justify-content: center;
	align-items: center;
	color:#FFF;
	font: var(--fa-font-solid);
	font-size: 5rem;
	font-weight: 900; 
}
.modal {
	position: fixed;
	top:0;
	left:0;
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
	height: calc(var(--vh, 1vh) * 100);
	background: rgba(0, 0, 0, 00.9);
	z-index: 999;
	opacity: 0;
	user-select: none;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 1s ease;
}
.modal.show {
	opacity:1;
	visibility: visible;
	pointer-events: all;
}
.modal .inner {
  background: #fff;
  padding: 2rem;
  max-width: 100rem;
  width: 90%;
}
.modal .inner video {
	display: block;
	width:100%;
	height:auto;
}
.modal .inner .modal_close {
	position: absolute;
	top:4rem;
	right:4rem;
	z-index:1000;
	width:6rem;
	height:6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size:3rem;
	color:var(--color-1);
	border-radius: 50%;
	cursor: pointer;
}

/* goods */
.goods_head {
	padding:0 0 12rem 0;
}
.goods_head .inner {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 4rem;
	align-items: center;
}
.goods_head .inner h2 {
	display: block;
	font-size:6rem;
	font-weight: 900;
	color:var(--color-1);
}
.goods_head .inner h2 .core {
	overflow: hidden;
	display: block;
}
.goods_head .inner h2 .core .in {
	display: block;
	transform: translateY(10rem);
	transition: transform .6s ease;
}
#container.animated .goods_head .inner h2 .core .in {
	transform: translateY(0);
}
.goods_head .thumb {
	clip-path: inset(100% 0 0 0);
	transition: clip-path .6s ease;
}
#container.animated .goods_head .thumb {
	clip-path: inset(0 0 0 0);
}
.goods_wrap {
	padding:12rem 0 15rem;
}
.goods_wrap .announce {
	font-size:1.6rem;
	line-height: 2em;
}
.goods_list {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: clamp(3rem, 3vw, 6rem);
	padding:6rem 0 0 0;
}
.goods_list .goods_box {
	background:#FFF;
	border: 1px solid var(--color-1);
	border-radius: 3rem;
	padding:clamp(2.5rem, 2.3vw, 4rem);
	display: grid;
	grid-template-columns: 25fr 75fr;
	column-gap: clamp(2.5rem, 2.3vw, 4rem);
	position: relative;
	clip-path: inset(100% 0 0 0);
	transition: clip-path 1s .2s ease;
}
.goods_list .goods_box.run {
	clip-path: inset(0 0 0 0);
}
.goods_list .goods_box .thumb {
	width:100%;
	padding:2rem 0;
	border-radius:1.4rem;
	overflow: hidden;
	background-color: #FFF;
}
.goods_list .goods_box .thumb .thumb_inner {
	width:100%;
	height:100%;
	aspect-ratio: 16 / 9;
	position: relative;
}
.goods_list .goods_box .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.goods_list .goods_box .box1 {
	width:clamp(16rem, 11vw, 20rem);
}
.goods_list .goods_box .box1 img {
}
.goods_list .goods_box .box1 .right {
	padding:0 0 0 3rem;
}
.goods_list .goods_box .box2 {
	font-size:2.7rem;
	font-weight: 900;
	padding:1.5rem 0 2rem;
}
.goods_list .goods_box .box3 {
	font-size:clamp(1.5rem, 1.1vw, 1.8rem);
}
.goods_list .goods_box .box3 img {
	width:clamp(30rem, 22vw, 40rem);
}

/* npo */
.npo_wrap {
	padding:12rem 0;
}
.gaiyo_list {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 2rem;
}
.gaiyo {
	display: grid;
	grid-template-columns: 25fr 75fr;
	column-gap: clamp(3rem, 2.2vw, 4rem);
	background: #FFF;
	border-radius: 1rem;
	padding:2rem 4rem;
	font-size:clamp(1.8rem, 1.3vw, 2.2rem);
	line-height: 1.7em;
}
.gaiyo a {
	color:#000;
}
.member {
	padding:12rem 0 15rem 0;
}
.main_memberlist {
	padding:6rem 0 0 0;
	display: grid;
	grid-template-columns: 1fr;
	column-gap: clamp(4rem, 4.5vw, 8rem);
	row-gap: 4rem;
}
.main_memberlist .memberbox .thumb {
	width:50%;
	margin:0 auto;
	clip-path:inset(100% 0 0 0);
	transition: clip-path .5s ease;
}
.main_memberlist .memberbox.run .thumb {
	clip-path: inset(0 0 0 0);
}
.main_memberlist .memberbox .yakushoku {
	width:100%;
	font-size:clamp(2rem, 1.6vw, 2.6rem);
	padding:3rem 0 0 0;
}
.main_memberlist .memberbox .mem_name {
	width:100%;
	font-size:clamp(2.4rem, 1.8vw, 3rem);
	padding:1rem 0 0 0;
}
.main_memberlist .memberbox .ryakureki {
	width:100%;
	font-size:clamp(1.6rem, 1.1vw, 1.8rem);
	line-height: 1.7em;
	padding:2rem 0 0 0;
}
.collabo_member {
	padding:15rem 0 0 0;
}
.collabo_memberlist {
	padding:6rem 0 0 0;
	display: grid;
	grid-template-columns: repeat(4,1fr);
	row-gap: clamp(2rem, 1.8vw, 4rem);
	column-gap: clamp(2rem, 1.8vw, 4rem);
}
.collabo_memberlist .memberbox.wide {
	 grid-column: span 2;
}
.collabo_memberlist .memberbox .thumb {
	width:100%;
	margin:0 auto;
	clip-path:inset(100% 0 0 0);
	transition: clip-path .5s ease;
}
.collabo_memberlist .memberbox.run .thumb {
	clip-path: inset(0 0 0 0);
}
.collabo_memberlist .memberbox .category {
	width:100%;
	font-size:clamp(1rem, 0.7vw, 1.3rem);
	line-height: 1.3em;
	padding:2rem 0 0 0;
}
.collabo_memberlist .memberbox .mem_name {
	width:100%;
	font-size:clamp(1.5rem, 0.9vw, 1.7rem);
	line-height: 1.5em;
	padding:1rem 0 0 0;
}
.collabo_memberlist .memberbox .yakushoku {
	width:100%;
	font-size:clamp(1rem, 0.7vw, 1.3rem);
	line-height: 1.3em;
	padding:1rem 0 0 0;
}
.shichou_cmt {
	width:100%;
	font-size:clamp(1rem, 0.7vw, 1.3rem);
	line-height: 1.7em;
}

/* contact */
.contant_wrap {
	padding:0 0 15rem 0;
}
.contant_wrap .text {
	font-size:clamp(1.8rem, 1.2vw, 2.2rem);
	line-height: 2em;
}
.formwrap {
	padding:12rem 0 0 0;
}
.formwrap .form_inner {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	column-gap: clamp(3rem, 3vw, 5rem);
	row-gap: 4rem;
}
.formwrap .form_inner .box.wide {
	grid-column: span 2;
}
.formwrap .form_inner .box.height {
	display: none;
}
.formwrap .form_inner .box {
	position: relative;
}
.formwrap .form_inner .box p {
	position: absolute;
	top:-0.75em;
	left:2rem;
	z-index:2;
	font-size:clamp(1.8rem, 1.2vw, 2.2rem);
}
.formwrap .form_inner .box input[type="text"],
.formwrap .form_inner .box input[type="tel"],
.formwrap .form_inner .box input[type="email"],
.formwrap .form_inner .box textarea {
	display: block;
	width:100%;
	background: #FFF;
	border-radius: 1rem;
	font-size:clamp(2rem, 1.6vw, 2.6rem);
	line-height: 1.8em;
	padding:2rem;
	border:none;
}
.formwrap .formbtn {
	padding:5rem 0 0 0;
}
.formwrap .formbtn input[type="submit"] {
	display: block;
	width:clamp(30rem, 40vw, 40rem);
	background: var(--color-1);
	color:#FFF;
	text-align: center;
	font-size:clamp(2rem, 1.6vw, 2.6rem);
	padding:2.5rem 0;
	border-radius: 1rem;
	border:none;
	cursor: pointer;
	transition: opacity .4s ease;
}

/* other page */
.otherpagewrap {
	padding:0 0 15rem 0;
}
.otherpagewrap .text {
	font-size:clamp(1.8rem, 1.2vw, 2.2rem);
	line-height: 2em;
	padding:0 0 6rem 0;
}
.otherpagewrap h2 {
	display: block;
	font-size:clamp(3rem, 1.9vw, 3.6rem);
	font-weight: 900;
	color:var(--color-1);
	padding:0 0 6rem 0;
}
.otherpagewrap h2 .core {
	overflow: hidden;
	display: block;
}
.otherpagewrap h2 .core .in {
	display: block;
	transform: translateY(10rem);
	transition: transform .6s ease;
}
.otherpagewrap h2.run .core .in {
	transform: translateY(0);
}
.otherpagewrap ul {
	padding:0 0 6rem 0;
}
.otherpagewrap li {
	list-style: disc;
	font-size:clamp(1.8rem, 1.2vw, 2.2rem);
	line-height: 2em;
	margin:1rem 0 1rem 2rem;
}
.sitemap a {
	color:var(--color-1);
}
.sitemap .child {
	padding:0 0 0 3rem;
}
.sitemap .child a {
	display: block;
	font-size:90%;
}

/* =archive
-------------------------------------------------------------- */
.event_wrap {
	padding:0 0 15rem 0;
}
.event_activity {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	column-gap: 4rem;
	row-gap: 4rem;
}
.event_activity article {
	clip-path: inset(100% 0 0 0);
	transition: clip-path .5s .2s ease;
}
.event_activity article.run {
	clip-path: inset(0 0 0 0);
}
.event_activity article a {
	display: block;
}
.event_activity article figure {
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.event_activity article figure img {
	width:100%;
	height:auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.event_activity article time {
	display: block;
	font-size:clamp(1.4rem, 1.2vw, 2.1rem);
	color:var(--color-1);
	padding:2rem 0;
}
.event_activity article .title {
	display: block;
	width:100%;
	font-size:clamp(2rem, 1.5vw, 2.4rem);
	font-weight: 600;
	line-height: 1.5em;
	color:#000;
	padding:0 0 2rem 0;
}
.tablenav .pagenav {
	display: flex;
	justify-content: center;
	align-items: center;
	padding:6rem 0 0 0;
}
.tablenav .pagenav .page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	width:6rem;
	height:6rem;
	font-size:2.2rem;
	border:1px solid var(--color-1);
	background: #FFF;
	color:var(--color-1);
	border-radius: 1rem;
	margin:0 0.5rem;
	transition: background .4s ease, color .4s ease;
}
.tablenav .pagenav .page-numbers:hover {
	background: var(--color-1);
	color:#FFF;
}
.tablenav .pagenav .page-numbers.current {
	background: var(--color-1);
	color:#FFF;
}
.tablenav .pagenav .page-numbers.prev,
.tablenav .pagenav .page-numbers.next {
	width:10rem;
}

/* =single
-------------------------------------------------------------- */
.single {
	border-top:1px solid rgba(0,0,0,0.45);
}
.single_wrap {
	width:clamp(60rem, 90vw, 100rem);
	margin:0 auto;
	padding:12rem 0;
}
.single_wrap time {
	display: block;
	font-size:clamp(1.8rem, 1.4vw, 2.6rem);
	color:var(--color-1);
}
.single_wrap .post_title {
	display: block;
	font-size:clamp(3.2rem, 2.4vw, 4.5rem);
	font-weight: bold;
	line-height: 1.5em;
	padding:1rem 0 6rem;
}
.single_wrap h2 {
	display: block;
	font-size:clamp(2.6rem, 1.8vw, 3.2rem);
	font-weight: bold;
	color:var(--color-1);
	padding:0 0 6rem 0;
}
.single_wrap h3 {
	display: block;
	font-size:clamp(2.4rem, 1.7vw, 3rem);
	font-weight: bold;
	color:var(--color-1);
	padding:0 0 6rem 0;
}
.single_wrap h4 {
	display: block;
	font-size:clamp(2.2rem, 1.5vw, 2.6rem);
	font-weight: bold;
	color:var(--color-1);
	padding:0 0 6rem 0;
}
.single_wrap img {
	padding:0 0 6rem 0;
}
.single_wrap p {
	display: block;
	font-size:clamp(1.6rem, 1vw, 1.8rem);
	line-height: 2em;
	padding:0 0 6rem 0;
}
.single_wrap .imggrid {
	display: grid;
	padding:0 0 6rem 0;
}
.single_wrap .grid-2 {
	grid-template-columns: repeat(2,1fr);
	column-gap: 3rem;
	row-gap: 3rem;
}
.single_wrap .grid-3 {
	grid-template-columns: repeat(3,1fr);
	column-gap: 2rem;
	row-gap: 2rem;
}
.single_wrap .grid-4 {
	grid-template-columns: repeat(4,1fr);
	column-gap: 2rem;
	row-gap: 2rem;
}
.single_wrap .grid-column2 {
	grid-column: span 2;
}
.single_wrap .grid-row2 {
	grid-row: span 2;
}
.single_wrap .imggrid img {
	padding:0;
}
.single_wrap table {
	width: 100%;
	border-collapse: collapse;
	margin:0 0 6rem 0;
}
.single_wrap table th {
	width:fit-content;
	border:1px solid #ddd;
	background: #f5f5f5;
	padding:1.5rem;
	font-size:clamp(1.6rem, 1vw, 1.8rem);
	line-height: 1.5em;
	text-align: left;
}
.single_wrap table td {
	background: #FFF;
	border:1px solid #ddd;
	padding:1.5rem;
	font-size:clamp(1.6rem, 1vw, 1.8rem);
	line-height: 1.5em;
	text-align: left;
}
.control {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	align-items: center;
	column-gap: 5rem;
	padding:6rem 0;
}
.control .share {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.control .share a {
	display: block;
	width:fit-content;
	font-size:4rem;
	color:var(--color-1);
	margin:0 2.5rem 0 0;
	transition: opacity .5s ease;
}
.control .share a:hover {
	opacity: 0.5;
}

/* =footer
-------------------------------------------------------------- */
footer {
	background:var(--color-2);
	padding:12rem 10% 9rem;
	width:100%;
	position: relative;
}
.foot_inner {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 4rem;
}
.foot_logo a {
	display: block;
	width:37rem;
}
.foot_logo p {
	color:#FFF;
	font-size:1.6rem;
	line-height: 1.8em;
	padding:6rem 0 0 0;
}
.foot_menu_head {
	font-size: clamp(2.2rem, 1.5vw, 2.9rem);
	color:var(--color-1);
	padding:0 0 3rem 0;
}
.foot_menu_wrap li {
	width: 100%;
}
.foot_menu_wrap li a {
	display: block;
	width:fit-content;
	font-size: max(1.6rem, 1.1vw);
	color:#FFF;
	padding:1.5rem 0;
	position: relative;
}
.foot_menu_wrap li a::after {
	content:'';
	position: absolute;
	bottom:1rem;
	left:0;
	width:100%;
	height:2px;
	transform-origin: right;
	transform: scaleX(0) scaleY(0.5);
	background: #FFF;
	transition: transform .4s ease;
} 
.foot_menu_wrap li a:hover::after {
	transform: scaleX(1) scaleY(0.5);
	transform-origin: left;
}
.copyright {
	grid-area: 2 / 1 / 3 / 4;
	width:100%;
	font-size:1.6rem;
	text-align: center;
	color: var(--color-1);
	padding:5rem 0 0 0;
}
.copyright a {
	color:var(--color-1);
	position: relative;
	padding:0 0 1.5rem 0;
}
.copyright a::after {
	content:'';
	position: absolute;
	bottom:1rem;
	left:0;
	width:100%;
	height:2px;
	transform-origin: right;
	transform: scaleX(0) scaleY(0.5);
	background: var(--color-1);
	transition: transform .4s ease;
}
.copyright a:hover::after {
	transform: scaleX(1) scaleY(0.5);
	transform-origin: left;
}

#pagetop {
	position: fixed;
	z-index:80;
	bottom:4rem;
	right:4rem;
	width:6rem;
	height:6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	color:var(--color-1);
	border-radius:50%;
	background:#FFF;
	border: 1px solid var(--color-1);
	font-size:14px;
	cursor: pointer;
	transition: background-color .3s ease, color .3s ease, border .3s ease;
}
#pagetop:hover {
	border:1px solid #FFF;
	background: var(--color-1);
	color:#FFF;
}
.grecaptcha-badge { visibility: hidden; }
.bnr_foot {
	display:none;
}

/* ===== ScrollSmoother OFF（=スマホ/タブレット）での pin 高さ対策 ===== */
/* 動的 1vh を使って、ピン中のコンポーネントが常に実画面ぴったりになるよう補正 */
html:not(.has-smoother) .pin-fill {
  min-height: calc(var(--vh, 1vh) * 100);
}

/* クリッピングで pin が切れないように（transform pin のときに効く） */
html:not(.has-smoother) #container {
  overflow: visible;
  overflow-x: hidden;
}