:root {
    --main-color: #0096FF;
    --text-color: #333333;
    --max-width: 1000px;
}
html>iframe{
    display: non;
}

body {
    color:#333333;
    font-family: 'Yu Gothic UI',YuGothic,'Yu Gothic','Meiryo UI','Ã£Æ’Â¡Ã£â€šÂ¤Ã£Æ’ÂªÃ£â€šÂª', Meiryo,'Ã£Æ’â€™Ã£Æ’Â©Ã£â€šÂ®Ã£Æ’Å½Ã¨Â§â€™Ã£â€šÂ´Ã£â€šÂ·Ã£Æ’Æ’Ã£â€šÂ¯','Hiragino Sans','Ã¯Â¼Â­Ã¯Â¼Â³ Ã£â€šÂ´Ã£â€šÂ·Ã£Æ’Æ’Ã£â€šÂ¯',sans-serif;
}
header{
    background-color: #FFF;
}
.header-inner{
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 40px;
}
.header-text{
    color: #555;
    font-weight: normal;
    font-size: 12px;
    line-height: 1;
}
.header-back{
    position: absolute;
    left: 8px;
    font-size: 14px;
    background: #155dfc;
    color: #FFF;
    padding: 5px 14px;
    border-radius: 5px;
}
.main-image{
    width: 100%;
    background-color: #222;
}
.main-image img{
    width: 100%;
    display: block;
    margin: 0 auto;
    object-fit: contain;
    max-width: 1000px;
}
.section{
    padding: 64px 0;
    display: flex;
    justify-content: center;
}
#summary,#movie{
    background-color: #FFF;
}
#data,#group{
    background-color: #F8FAFC;
}
#join{
    background-color: #1451EF;
}
.content-inner{
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: var(--max-width);
    padding: 0 32px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: 24px;
}
.content-head{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
}
#join .content-head{
    color: #FFF;
}
.content-head-text{
    font-size: 32px;
}
.content-head-subtext{
    font-size: 14px;
    font-weight: normal;
}
.summary-text{
    font-size: 18px;
    line-height: 1.75em;
    text-align: center;
}
.data-wrap{
    width: 100%;
    display: flex;
    gap: 24px;
    align-items: flex-start;
    justify-content: space-around;
}
.data-item{
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    justify-content: center;
}
.data-icon{
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #AAA;
    border-radius: 100%;
}
.data-icon svg{
    aspect-ratio: 1/1;
    stroke: #FFF;
}
.data-icon._shopnum{
    background-color: #155DFC;
}
.data-icon._area{
    background-color: #00A63E;
}
.data-icon._employees{
    background-color: #9810FA;
}
.data-text{
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5em;
}
.data-subtext{
    color: #777;
    font-size: 14px;
}
.content-video{
    max-width: 640px;
    width: 100%;
}

.footer-logo {
    padding: 64px 0;
    text-align: center;
    margin: 0 auto;
}
.footer-bottom {
    padding: 16px 0;
    background: var(--main-color);
}
.footer-bottom-inner {
    max-width: var(--max-width);
    margin: 0 auto;
    display: flex;
    align-items: center;
}
.footer-bottom-text {
    width: 50%;
    color: #FFF;
    font-size: 12px;
    line-height: 1.5em;
}
.footer-bottom-nav {
    width: 50%;
    display: flex;
    justify-content: end;
    gap: 8px;
}
.footer-bottom-link {
    color: #FFFFFF;
    font-size: 12px;
}



.join-content {
    background: #FFF;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgb(0 0 0/25%);
}

.join-content-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

span.join-content-date-main {
    font-size: 32px;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 4px;
}

span.join-content-date-main>svg {
    stroke: #155DFC;
    width: 32px;
    height: 32px;
}

span.join-content-date-time {
    font-size: 24px;
}

.join-content-info {
    display: flex;
    gap: 24px;
}

.join-content-info-item {
    width: calc(100%/2 - 24px/2);
    background: #F8FAFC;
    padding: 24px;
    display: flex;
    gap: 16px;
    align-items: center;
}

.join-content-info-item>._icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #555;
    border-radius: 100%;
}

.join-content-info-item>._text {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.join-content-info-item>._text>._main {
    font-weight: bold;
    font-size: 20px;
}

.join-content-buttonWrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
}

a.join-content-button {
    padding: 1em 2em;
    background: #1451ef;
    color: #FFF;
    border-radius: 10px;
    font-size: 20px;
}

.join-content-info-item>._icon._green {
    background: #DBFCE7;
}

.join-content-info-item>._icon._green>svg {
    stroke: #00A63E;
}
.join-content-info-item>._icon._purple {
    background: #F3E8FF;
}

.join-content-info-item>._icon._purple>svg {
    stroke: #9810FA;
}
a.join-content-button.is-disabled {
    background: #AAA;
}

.shops {
    width: 100%;
    overflow: hidden !important;
    padding: 8px;
}
.swiper {
    width: 100%;
    overflow: visible;
}
.shop-item {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-decoration: none;
    color: inherit;
    background: #FFF;
    border-radius: 5px;
    box-shadow: 0 2px 8px rgb(0 0 0/25%);
    padding-bottom: 62px;
}
.shop-image {
    width: 100%;
    aspect-ratio: 15/6;
    object-fit: contain;
    background: #333;
}
.shop-name {
    font-size: 18px;
    font-weight: bold;
    padding: 0 16px;
    line-height: 1.25;
}
.shop-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 16px;
}
.shop-info-text {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.25;
}

.shop-info-text._blue>svg{
    stroke: #155DFC;
}
.shop-info-text._green>svg{
    stroke: #00A63E;
}
.shop-info-text._purple>svg{
    stroke: #9810FA;
}

.shop-button {
    padding: 12px;
    background-color: #1451EF;
    color: #FFF;
    text-align: center;
    border-radius: 8px;
    font-size: 14px;
    width: calc(100% - 32px);
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
}
@media (max-width: 768px) {
    .content-inner {
        padding: 0 16px;
    }
    .summary-text {
        text-align: left;
    }
    .data-wrap {
        flex-direction: column;
        align-items: center;

    }
    .section {
        padding: 32px 0;
    }

    .content-head-text {
        font-size: 20px;
    }

    .join-content-info {
        flex-direction: column;
    }

    .join-content-info-item {
        width: 100%;
    }

    span.join-content-date-main {
        font-size: 24px;
    }

    span.join-content-date-time {
        font-size: 16px;
    }
    .footer-bottom-inner {
        flex-direction: column-reverse;
        padding: 0 16px;
    }
    
    .footer-bottom-text {
        width: 100%;
    }
    
    .footer-bottom-nav {
        width: 100%;
        justify-content: center;
        margin-bottom: 16px;
    }
}