/* concept ページ専用 CSS(水戸 2026-06-11)*/

/* === ブランドメッセージ(blockquote)=== */
section.message .brand-message {
    margin: 0;
    padding: 0;
    border: 0;
    quotes: none;
}
section.message .brand-message::before,
section.message .brand-message::after { content: none; }

/* === MESSAGE セクション === */
section.message p {
    display: inline;
    margin: 0 auto 2em;
    font-weight: 500;
    /* PC clamp:320=0.88rem / 768=0.94rem / 1280+=1rem */
    font-size: clamp(0.88rem, 0.84rem + 0.2vw, 1rem);
    letter-spacing: .05em;
    line-height: 3.5em;
    white-space: nowrap;
}

/* === “with imagination” SVG === */
.my-svg {
    display: block;
    width: 40%;
    height: auto;
    margin: 20% auto 0;
    transition: transform .1s;
    animation: blink 5s infinite, color-change 7s infinite;
}

/* === 動画再生フローティング ボタン === */
.floating-icon {
    position: fixed;
    right: 25%;
    bottom: 5rem;
    width: 4.3rem;
    height: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: opacity .5s ease, transform .5s ease;
}
.floating-icon:hover { animation: shake .5s ease-in-out; }
.floating-icon.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.floating-icon.hide {
    opacity: 0;
    transform: translateY(50px);
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-10px); }
    20%, 40%, 60%, 80% { transform: translateX(10px); }
}

/* === 動画オーバーレイ === */
.video-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgb(0 0 0 / 70%);
    opacity: 0;
    transform: scale(.9);
    transition: opacity 1s ease, transform 1s ease;
}
.video-overlay.active {
    display: flex;
    opacity: 1;
    transform: scale(1);
}

.video-wrapper {
    position: relative;
    width: 80%;
    margin: 2rem auto;
    aspect-ratio: 16 / 9;
}

#youtube-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.close-btn {
    position: absolute;
    top: -10px;
    right: -10px;
    background: #fff;
    border: 0;
    font-size: 2rem;
    cursor: pointer;
}

/* === SP === */
@media (max-width: 768px) {
    .my-svg { width: 65%; }
    section.message { display: flex; justify-content: center; padding: 8% 0 10%; margin: 0 auto 10%; }
    section.message p { font-size: .9rem; }
    .floating-icon { right: 10%; }
    .video-wrapper { width: 95%; aspect-ratio: 16 / 9; }
    .close-btn { font-size: 1.5rem; }
}

/* === ワイド === */
@media (min-width: 1200px) {
    .video-wrapper { max-width: 60rem; }
}
