@charset "UTF-8";

/* reset */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
    all: unset;
    display: revert
}

*,
*::before,
*::after {
    box-sizing: border-box
}

html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none
}

a,
button {
    cursor: revert
}

ol,
ul,
menu,
summary {
    list-style: none
}

ol {
    counter-reset: revert
}

img {
    max-inline-size: 100%;
    max-block-size: 100%;
    vertical-align: bottom;
    width: auto;
    height: auto;
}

table {
    border-collapse: collapse
}

input,
textarea {
    -webkit-user-select: auto
}

textarea {
    white-space: revert
}

meter {
    -webkit-appearance: revert;
    appearance: revert
}

:where(pre) {
    all: revert;
    box-sizing: border-box
}

::placeholder {
    color: unset
}

:where([hidden]) {
    display: none
}

:where([contenteditable]:not([contenteditable="false"])) {
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    overflow-wrap: break-word;
    -webkit-line-break: after-white-space;
    -webkit-user-select: auto
}

:where([draggable="true"]) {
    -webkit-user-drag: element
}

:where(dialog:modal) {
    all: revert;
    box-sizing: border-box
}

::-webkit-details-marker {
    display: none
}

s,del{
    text-decoration:line-through;
}


/* prset */


body {
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0;
    background-color: #f9f7fc;
    background-image: radial-gradient(#e3d9f6 1px, transparent 1px);
    background-size: 20px 20px;
}
.gradient-bg {
    background: linear-gradient(135deg, #fae307 0%, #ca8a00 100%);
}
.gradient-text {
    background: linear-gradient(135deg, #fae307 0%, #ca8a00 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.hover-lift {
    transition: transform 0.3s ease;
}
.hover-lift:hover {
    transform: translateY(-5px);
}
.section-divider {
    height: 2px;
    background: linear-gradient(135deg, #fae307 0%, #ca8a00 100%);
    margin: 3rem 0;
}
.card-shadow {
    box-shadow: 0 10px 30px rgba(102, 126, 234, 0.1);
}
.hero-text {
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
.core-value-card {
    transition: all 0.3s ease;
    border: 2px solid transparent;
}
.core-value-card:hover {
    border-color: #667eea;
    transform: translateY(-3px);
}


/* fv */
.fv {
    background: url(/img/bg-pc.png) center/cover no-repeat;
    height: 640px;
    position: relative;
    overflow:hidden;
    @media (max-width: 768px) {
        height:460px;
        background: url(/img/bg-sp.png) center/cover no-repeat;
    }
}

.fv-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 2em;
    text-align: center;
    filter:drop-shadow(4px 4px black);
    @media (max-width: 768px) {
        gap: 6vw;
    }
    h1{
        width:fit-content;
        @media (max-width: 1200px) {
            width:480px;
        }
        @media (max-width: 768px) {
            width:70%;
        }
    }
}

.fv-text {
    letter-spacing: 0.4em;
    color: #ffe38c;
    .fv-mission {
        font-size: 1.8em;
        font-weight: bold;
        &:after{
            content:"";
            display:block;
            height:1px;
            width:2em;
            background:#ffe38c;
            margin:0.8em auto;
        }
        @media (max-width: 768px) {
            font-size:4vw;
        }
    }
    .fv-name {
        font-size:16px;
        @media (max-width: 768px) {
            font-size:2.4vw;
        }
    }
}

.fv-orn{
    position: absolute;
    width:600px;
    height:auto;
    &.fv-orn-left {
        top: 0;
        left: 0;
    }
    &.fv-orn-right {
        transform: rotate(180deg);
        right: 0;
        bottom:0;
    }
    @media (max-width: 1200px) {
        &.fv-orn-left {
            left: -104px;
            top: -63px;
        }
        &.fv-orn-right {
            right: -160px;
            bottom: 0;
        }
    }
    @media (max-width: 768px) {
        width:360px;
        &.fv-orn-left {
        }
        &.fv-orn-right {
            right:-106px;
        }
    }
}

