@charset "UTF-8";
/*
Template: arkhe
Theme Name: Arkhe Child
Theme URI: https://arkhe-theme.com/ja/
Description: Arkhe用子テーマ
Version: 1.0.0
Text Domain: arkhe
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ----------------------------------------
   Opening Animation
---------------------------------------- */
.opening {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	transition: transform 0.8s cubic-bezier(0.76, 0, 0.24, 1),
	            opacity 0.6s ease 0.2s,
	            border-radius 0.8s ease;
	pointer-events: none;
}

.opening.is-done {
	transform: scale(0.92);
	opacity: 0;
	border-radius: 24px;
}

.opening.is-hidden {
	display: none;
}

.opening-text {
	font-family: 'Shippori Mincho', serif;
	font-size: clamp(1.2rem, 3vw, 2rem);
	font-weight: 500;
	letter-spacing: 0.15em;
	color: #1a2040;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.opening-text.is-show {
	opacity: 1;
	transform: translateY(0);
}

.opening-text.is-hide {
	opacity: 0;
	transform: translateY(-10px);
}

 @media (max-width: 999px) {
        .opening-text {
                margin-bottom: 60px;
        }
  }

/* FV text initial state */
.fv-rounded .is-style-fv-large {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}

.fv-rounded .is-style-fv-large.is-show {
	opacity: 1;
	transform: translateY(0);
}

/* ----------------------------------------
   Brand Message (SP)
---------------------------------------- */
@media (max-width: 599px) {
	.brand-msg {
		font-size: 1rem !important;
	}
}

/* ----------------------------------------
   FV Rounded Video
---------------------------------------- */
.fv-rounded {
	clip-path: inset(16px round 20px);
}

@media (max-width: 999px) {
	.fv-rounded {
		clip-path: inset(10px round 16px);
	}
}

.l-header[data-overlay="1"] {
	top: 32px;
}

/* ----------------------------------------
   Scroll Fade-in Up Animation
---------------------------------------- */
.fade-in-up {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in-up.is-show {
	opacity: 1;
	transform: translateY(0);
}

/* ----------------------------------------
   Top Message Section
---------------------------------------- */
.message-section .marquee-text {
	overflow: hidden;
	white-space: nowrap;
	font-family: 'Noto Serif JP', serif;
	font-size: clamp(3rem, 6vw, 5rem);
	font-weight: 900;
	color: rgba(10, 15, 36, 0.06);
	margin-bottom: 48px;
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

.message-section .marquee-text .marquee-inner {
	display: inline-block;
	animation: marquee 33s linear infinite;
}

@keyframes marquee {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.message-section .ark-block-column .wp-block-image img {
	border-radius: 20px;
	height: 500px;
	object-fit: cover;
}

/* ----------------------------------------
   OUR BUSINESS Marquee
---------------------------------------- */
.marquee-text-right,
.marquee-text-left {
	overflow: hidden;
	white-space: nowrap;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 900;
	letter-spacing: 0.1em;
	color: rgba(255, 255, 255, 0.12);
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

.marquee-text-right {
	margin-bottom: 48px;
}

.marquee-text-left {
	margin-top: 48px;
}

.marquee-text-right .marquee-inner {
	display: inline-block;
	animation: marquee 33s linear infinite;
}

.marquee-text-left .marquee-inner {
	display: inline-block;
	animation: marquee-reverse 33s linear infinite;
}

@keyframes marquee-reverse {
	0% { transform: translateX(-50%); }
	100% { transform: translateX(0); }
}

/* ----------------------------------------
   Hamburger Menu — Circle + 2 Dots
---------------------------------------- */
.c-iconBtn.-menuBtn {
	width: 36px;
	height: 36px;
	border: 1px solid var(--ark-color--main, #0047e5);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	padding: 0;
}

.c-iconBtn.-menuBtn .c-iconBtn__icon {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
}

.c-iconBtn.-menuBtn .arkhe-svg-menu {
	display: none;
}

.c-iconBtn.-menuBtn .c-iconBtn__icon::before,
.c-iconBtn.-menuBtn .c-iconBtn__icon::after {
	content: '';
	width: 2px;
	height: 2px;
	border-radius: 50%;
	background: var(--ark-color--main, #0047e5);
}

.c-iconBtn.-menuBtn .c-iconBtn__text {
	display: none;
}

@media (max-width: 999px) {
	.l-header__body.l-container {
		padding-right: calc(var(--ark-padding--container) + 12px);
	}
}

/* ----------------------------------------
   Footer Logo
---------------------------------------- */
.l-footer__widgets .l-container {
	align-items: stretch;
}

.w-footer.-widget2 {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-end;
}

.w-footer.-widget2 .wp-block-image img {
	height: 80px !important;
}
