@charset "UTF-8";
/**
 * Created with PhpStorm.
 * User: Satoshi
 * Date: 2025/02/09
 * Time: 21:06
 * To change this template use File | Settings | File Templates.
 */

/**
 * Custom Properties
 */
:root {
    --theme-color: #223a70;
}

/**
 * FOUNDATION
 */
body {
    position: relative;
    font-size: 4.5vw;
    font-family: serif;
    line-height: 1.6;
    background-color: #fff;
    color: var(--theme-color);
}
a:visited {
    color: inherit;
}
figure {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
iframe {
    box-sizing: border-box;
}


/**
 * LAYOUTS
 */
.lHeader, .lMain {
    margin: 0;
}
.lFooter {
    position: sticky;
    width: 100%;
    bottom: 0;
    margin: 0;
}

/**
 * COMPONENTS
 */
.cSection {
    margin: 0 0 10vw;
    padding: 0 5vw;
}

.cSection__heading {
    border-left: 2.5vw solid;
    height: 10vw;
    line-height: 10vw;
    margin: 0 0 5vw;
    padding: 0 0 0 2.5vw;
}

.cSection__description {
    margin-bottom: 3.25vw;
}

/**
 * PROJECTS
 */

/**
 * Title Banner Project
 */
.pTitleBanner {
    background-color: #fff;
}
.pTitleBanner__heading {
    padding-top: 5vw;
    padding-bottom: 4vw;
    border-top: solid 2.5vw;
    text-align: center;
}
.pTitleBanner__img {
    width: 100vw;
}
.pTitleBanner__txt {
    display: none;
    visibility: hidden;
}
.pTitleBanner__copy {
    display: block;
    width: 100%;
    height: 6vw;
    text-align: center;
    font-size: 4vw;
    border-top: 2px solid var(--theme-color);
    background-color: var(--theme-color);
    color: white;
}

/**
 * Hero Project
 */
.pHero {
    margin: 0 0 10vw;
}
.pHero__heading {
    display: flex;
    align-items: center;
}
.pHero__headingImg {
    display: block;
    margin-bottom: 8vw;
    width: 100vw;
    border-bottom: 2px solid;
}
.pHero__greeting {
    margin-bottom: 8vw;
    padding: 0 5vw;
}
.pHero__greetingText {
    margin-bottom: 8vw;
}
.pHero__movieContainer {
    margin-bottom: 8vw;
    padding: 0 5vw;
}
.pHero__movieSrc {
    width: 100%;
    height: 50vw;
    border: 2px solid;
}

/**
 * SNS Follow Project
 */
.pSnsFollow {
    display: flex;
    justify-content: stretch;
    width: 100%;
    padding: 0;
}
.pSnsFollow__item {
    display: flex;
    align-items: center;
    width: 10vw;
    height: 10vw;
}
.pSnsFollow__link {}
.pSnsFollow__img {
    width: 100%;
}

.pSnsFollow--footer {
    justify-content: space-around;
    padding: 2.5vw 2vw;
    border-top: 0.5vw solid;
    background: rgba(255, 255, 255, 0.85);
}
.pSnsFollow--footer .pSnsFollow__item {
    margin: 0 2.75vw;
}

/**
 * Event Board Project
 */
.pEventBoard {
    padding: 3.75vw 3.75vw 7.5vw;
    background-color: var(--theme-color);
    color: white;
}
.pEventBoard__heading {
    padding-bottom: 2.25vw;
    border-bottom: 2px solid;
    font-size: 6.25vw;
    text-align: center;
}
.pEventBoard__info {
    margin: 4vw 0;
}
.pEventBoard__name {}
.pEventBoard__data {
    margin-inline-start: 5vw;
}
.pEventBoard__content {}
.pEventBoard__content:last-child {
    margin-bottom: 2.5vw;
}
.pEventBoard__proviso {
    font-size: 3.75vw;
}
.pEventBoard__proviso:last-child {
    margin-bottom: 3vw;
}
.pEventBoard__mapContainer {
    height: 82.5vw;
}
.pEventBoard__map {
    width: 100%;
    height: 100%;
}

/**
 * Pic Slide Project
 */
.pPicSlide {
    width: auto;
    margin: 0 -5vw;
    overflow-x: auto;
}
.pPicSlide__pics {
    display: flex;
    flex-direction: row;
    width: 327vw;
    cursor: grab;
}
.pPicSlide__pics:first-child {
    margin-left: 4vw;
}
.pPicSlide__item {
    width: 75vw;
    height: 75vw;
    margin: 0 1vw;
}
.pPicSlide__container {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid;
}
.pPicSlide__pic {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/**
 * Footer Copyright Project
 */
.pFooterCopyright {
    text-align: center;
    background: var(--theme-color);
    color: white;
    display: flex;
    justify-content: center;
    padding: 1.25vw 0;
    font-size: 3.25vw;
}