@charset "UTF-8";

/* 設定共通部分
---------------------------------------*/
html {
font-size:100%;    /* 設定した文字サイスを正しく反映させる */
scroll-behavior: smooth;  /* ボタンを押した際にゆっくり画面が移動する */
}
/* 書体、行の高さ、文字色 */
body {
font-family:  "Roboto","Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic","sans-serif";
line-height: 1.7;
color: #5c432d;  /* 何も指定がないときの文字色 */
}
/* 以下は文字色の指定 */
.font-cafelatte {
    color: #d89d69;
}
.font-lightgray {
    color: #8a8785;
}
.font-darkred {
    color: #c30d23;
}
.font-orange {
    color: #dd7104;
}
.font-olive {
    color: #3ca002;
}
.font-green {
    color: #04912e;
}
.font-foggyaqua {
    color: #028b80;
}
.font-deep-foggyaqua {
    color: #03645c;
}
.font-purple {
    color: #8406aa;
}
.font-redpurple {
    color: #b30278;
}
a {
text-decoration: none; /* リンクタグの下線がつかない */
}
img {
max-width: 100%; /* 画像の大きさの指定 */
}
/* 設定共通部分ここまで
---------------------------------------*/

/* レイアウト共通部分
--------------------------------------- */
.wrapper {
    min-width: 375px;
    margin: auto;
    padding: 0 1rem;
}
.cover {
    background-size: cover;
    background-position: center bottom;
    height: 800px;
}

/* レイアウト微調整 */
.align-center {
    text-align: center;
}
.align-left {
    text-align: left;
}
.shift-down {
    padding-top: 2.5rem;
    padding-right: 1.5rem;
}
.slide-down {
    margin-bottom: 3rem;
}
.slide-to-up {
    margin-top: -31rem;
}
.slide-to-up-bit {
    margin-top: -1.25rem;
}


/* ボタン部分 */
/* Topページのボタン（Aboutへ飛ぶ） */
.btn-to-about {
    display: inline-block;
    font-size: 1rem;
    background-color: #b9b9b9;
    color: #fff;
    border-radius: 8px;
    padding: 1.5rem;
    margin-top: 1rem;
    transition: .5s;
}
.btn-to-about:hover {
    background-color: #04bb75;
/* Topページのボタン　(S.H.Gへ飛ぶ） */
}
.btn-to-shg {
    display: inline-block;
    font-size: 1rem;
    background-color: #b9b9b9;
    color: #fff;
    border-radius: 8px;
    padding: 1.5rem;
    margin-top: 1rem;
    transition: .5s;
}
.btn-to-shg:hover {
    background-color: #0472bb;
}


/* S.H,Gページのボタン（Homeにもどる） */
.btn-to-q-and-a {
    display: inline-block;
    font-size: 1rem;
    background-color: #b9b9b9;
    color: #fff;
    border-radius: 8px;
    padding: 1.5rem 2rem;
    margin-top: 3rem;
    margin-bottom: 1rem;
    transition: .5s;
}
.btn-to-q-and-a:hover {
    background-color: #a3b8e6;
}

/* お問い合わせ、メールボタン */
.btn-to-mail {
    display: inline-block;
    font-size: 1rem;
    background-color: #b9b9b9;
    color: #fff;
    border-radius: 8px;
    padding: 1.5rem 3.25rem;
    margin-top: 2rem;
    margin-bottom: 1rem;
    transition: .5s;
}
/* virtualページ　メールボタン */
.btn-to-mail-virtual {    
    display: inline-block;
    font-size: 1rem;
    color: #fff;
    background-color: #b9b9b9;
    border-radius: 8px;
    padding: 1.5rem;
    margin-top: 3rem;
    margin-bottom: 1rem;
    transition: .5s;
}
.btn-to-mail:hover,
.btn-to-mail-virtual:hover {
    background-color: #a8d136;
}
/* トップページへ戻るボタン */
.btn-to-top {
    display: inline-block;
    font-size: 1rem;
    background-color: #b9b9b9;
    color: #fff;
    border-radius: 8px;
    padding: 1.5rem;
    margin-top: 3rem;
    margin-bottom: 1rem;
    transition: .5s;
}
.btn-to-top:hover {
    background-color: #d89d69;
}
/* 上へのスクロールボタン */
.scroll-btn {
    text-align: right;
    margin-top: 4rem;
    margin-right: 3rem;
    margin-bottom: 1rem;
    transition: .6s;
}
.scroll-btn:hover {
    translate: 0 -14px;
}
/* ボタン部分ここまで */

/* 見出し */
.font-english {
    font-family: 'Roboto','sans-serif';
    font-weight: normal;
}
.page-title {
    font-size: 1.5rem;
    text-align: left;
    margin-top: 2rem;
    margin-left: 4rem;
    line-height: 1.2;
}
.page-title-2 {
    font-size: 1.25rem;
    font-weight: normal;
    text-align: center;
    margin-top: 1rem;
    line-height: 1.2;
}
.heading {
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.heading-medium {
    font-size: .9rem;
    font-weight: bold;
    text-align: center;
    margin-top: 2rem;
}
.heading-large {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.small-description {
    text-align: center;
    line-height: 1.4;
}
h2 p.small-font {
    margin-top: .25rem;
}
.subjection {
    font-size: 1rem;
    font-weight: bold;
}
.fold {
    margin-top: -.5rem;
    margin-left: -.3rem;
    margin-bottom: -.5rem;
}
.fold p{
    font-size: 1.2rem;
    text-align: 1.4;
}
.small-font,
.rule-small-font {
    font-size: .9rem;
    font-weight: normal;
    padding-top: 1rem;
}
.very-small-font {
    text-align: right;
    font-size: .6rem;
    line-height: 1.25;
    margin-top: -2rem;
    margin-right: 2rem;
}
span {
    color: #028b80;
    font-size: .85rem;
    font-weight: bold;
}
/* レイアウト共通部分ここまで
--------------------------------------- */


/* ヘッダー
-------------------------------------- */

.mobile-header {      /* header自体の設定、ロゴと並べて表示する形式のためflex */   
    align-items: center;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    padding: 0 2rem;
    width: 100%;
}
.logo {
    width: 180px;
    padding-top: 2rem;
}
p.home-small-font {
    font-weight: normal;
}
.hamburger-menu {            /* ハンバーガーメニュの位置 */        
    position: relative;
}
.hamburger-menu-input {      /* チェックボックスを非表示にする */   
    display: none;
}
.hamburger-menu-list {       /* ハンバーガーメニュクリックで表示される文字 */
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    position: absolute;
    margin-top: -2.5rem;
    padding-right: 3rem;
    transform: translateX(-100%);
    transition: 0.3s;
    top: 100%;
    width: 100%;
}
.header-list-item {  
    display: block;         /* メニューリスト項目に黒丸つけない、下線引かない */
    list-style: none;
    text-decoration: none;
}
.header-list {
    color: #432;
    font-weight: bold;
    margin-right: 20px;  
}
.header-list-link {           /* 同上、文字色など指定 */
    color: #0962ac; 
    display: block;
    margin-right: 20px;
    font-weight: bold; 
    text-decoration: none;
}
.header-list-link:hover {     /* 表示される文字にホバーした際の文字色 */
    color: #56ad1c; 
}
#hamburger:checked ~ .hamburger-menu-list {
    transform: translateX(0%);
    transition: 0.3s;
}
.desktop-header-list {
    display: none;
}
/* ヘッダーここまで
-------------------------------------- */

/* フッター
------------------------------------- */
.page-footer {
    background-image: url(../images/footer-s.webp);
    background-size: cover;
    background-position: center;
    padding-top: 6rem;
}
.copyright {
    background-color: #daba99;
    text-align: center;
    color: #432;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
/* Homeページのinfomation部分 */
.info {
    width: 100%;
    min-width: 375px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 2.5rem;
    padding-left: 2.5rem;
    border-spacing: 0;
}
.info th {
    text-align: left;
    font-weight: normal;
    padding: .5rem;
}
.info th,
.info td {
    border-bottom: 1px solid #c9c2bc;
}
.midashi-small {
    width: 70px;
    font-size: 1rem;
}

/* About,S.H.G,Virtualページ */
.sentence-about-footer {
    width: 330px;
    font-size: .75rem;
    line-height: 1.5;
    margin-right: auto;
    margin-left: auto;
    padding-top: 2rem;
    border-top: 3px dotted #c9c2bc;
}
.sentence-about-footer ul li {
    color: #5c432d;
    margin-left: 2rem;
}
/* Q＆Aページのおねがい部分 */
.request-q-and-a {
    max-width: 330px;
    font-size: .85rem;
    margin-top: -2rem;
    margin-right: auto;
    margin-left: auto;
    border-top: 3px dotted #c9c2bc;
}
.request-sentence {
    width: 330px;
    font-size: .75rem;
    margin-top: .5rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 2rem;
    line-height: 1.4;
}
/* Ruleページ：禁止事項の補足説明部分 */
.supplement {
    width: 330px;
    font-size: .75rem;
    margin-right: auto;
    margin-left: auto;
    padding-top: 1rem;
    border-top: 3px dotted #c9c2bc;
}
/* Accessページ：他会の紹介部分 */
.wrapper-nested {
    min-width: 375px;
    margin: auto;
    padding: 0 3rem;
}
.access-footer-sentence {
    width: 370px;
    font-size: .75rem;
    line-height: 1.4;
    margin-right: auto;
    margin-left: auto;
    padding-top: 2rem;
    border-top: 3px dotted #c9c2bc;
}
/* フッターここまで
------------------------------------- */

/* トップページここから
-------------------------------------- */
/* 背景画像 */
.cover-home {
    background-image: url(../images/cover-home-s.webp);
}
/* コンテンツ部分 */
.home-small-font {
    margin-top: 1rem;
    margin-left: -.3rem;
    font-size: .8rem;
}
.next-date {
    margin-top: -5rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 3rem;
}
.date {
    font-size: 1.3rem;
}
.description {
    width: 100%;
    min-width: 375px;
    font-size: 1rem;
    margin-top: 2rem;
    padding-bottom: 3rem;
}
.info-3w1h {
    margin: 0 auto;
}
.info-3w1h th,td {
    text-align: left;
    font-weight: normal;
    padding-bottom: .1rem;
}
.notes {
    text-align: center;
    font-size: .75rem;
    line-height: 1.5;
    margin-top: 1rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 3rem;
}
/* トップページここまで
-------------------------------------- */


/* Aboutページここから
-------------------------------------- */
.cover-about {
    background-size: cover;
    background-position: center bottom;
    height: 800px;
    background-image: url(../images/cover-about-s.webp);
}
.container {
    min-width: 375px;
    margin-top: -7.5rem;
    margin-right: auto;
    margin-left: auto;
}
.heading-medium-about {
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
    margin-right: auto;
    margin-left: auto;
    padding-top: 3rem;
}
.sentence-about {
    width: 360px;
    font-size: .85rem;
    line-height: 1.4;
    margin-top: .5rem;
    margin-right: auto;
    margin-left: auto;
}
.sentence-about ul li {
    list-style-type: none;
}
/* Aboutページここまで
-------------------------------------- */


/* Ruleページここから
-------------------------------------- */
/* 背景画像 */
.cover-rule {
    background-size: cover;
    background-position: center bottom;
    height: 800px;
    background-image: url(../images/cover-rule-s.webp);
}
/* ルールの部分 */
.ground-rule {
    width: 100%;
    min-width: 375px;
    margin: auto;
}
.sentence-rule {
    width: 320px;
    font-size: .85rem;
    margin-top: -.5rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 3rem;
    line-height: 1.4;
}
.rule-heading {
    width: 330px;
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.3;
    margin: -8rem auto 5rem;
}
.rule-heading-2 {
    width: 330px;
    font-size: .75rem;
    font-weight: normal;
    line-height: 1.3;
    margin: 8rem auto 2rem;
}
/* 禁止事項の部分 */
.prohibitions {
    width: 360px;
    margin-top: 1rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 2rem;
    border-top: 3px dotted #c9c2bc;
}
/* 禁止事項 見出し */
.notice {
    text-align: center;
    font-size: 1rem;
    font-weight: bold;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 1rem;
    padding-top: 1rem;
}
.headline {
    width: 130px;
    padding: .5rem;
    font-size: .75rem;
    font-weight: bold;
    line-height: 1.4;
}

/* 禁止事項の項目 */
.item {
    width: 360px;
    display: flex;
    margin-right: auto;
    margin-left: auto;
    border-bottom: 1px solid #c9c2bc;
}
.words {
    width: 360px;
    padding: .5rem;
    font-size: .75rem;
    line-height: 1.4;
}
.important {
    width: 360px;
    font-size: .75rem;
    margin-right: auto;
    margin-left: auto;
    padding: 1rem 0;
}
.important ul li {
    list-style-type: none;
}
/* Ruleページここまで
-------------------------------------- */


/* Q&Aページここから
-------------------------------------- */
.cover-q-and-a {
    background-size: cover;
    background-position: center bottom;
    height: 800px;
    background-image: url(../images/cover-q-and-a-s.webp);
}
.q-and-a {
    min-width: 370px;
    margin: -9rem auto 0;
}
.q-heading-medium {
    min-width: 360px;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.4;
    margin-top: 3rem;
}
.sentence-q-and-a {
    min-width: 330px;
    height: auto;
    font-size: .85rem;
    margin: 1rem auto 0;
    line-height: 1.4;
}
/* Q&Aページここまで
-------------------------------------- */


/* S.H.Gページここから
-------------------------------------- */
/* 背景画像 */
.cover-s-h-g {
    background-size: cover;
    background-position: center bottom;
    height: 800px;
    background-image: url(../images/cover-shg-s.webp);
}
.what-is-shg {
    min-width: 375px;
    font-weight: normal;
    margin: -7rem auto 0;
}
.sentence{
    max-width: 370px;
    font-size: .8rem;
    padding-left: 1rem;
    margin-top: 1rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 2.5rem;
}
span.emphasis {
    font-size: 1rem;
}

/* S.H.Gページここまで
-------------------------------------- */


/* Accessページここから
-------------------------------------- */
.cover-access {
    background-size: cover;
    background-position: center bottom;
    height: 800px;
    background-image: url(../images/cover-access-s.webp);
}
.access-info {
    margin-top: -7rem;
    padding-right: 2rem;
    padding-left: 2rem;
    font-size: .95rem;
}
.midashi {
    width: 100px;
}
/* 会場アクセス */
.location-map {
    margin-top: 3rem;
    margin-right: auto;
    margin-left: auto;
}
/* iframe */
iframe {
    width: 100%;
}
.e-mail {
    width: 375px;
    margin-top: 1rem;
    margin-right: auto;
    margin-left: auto;
    padding-top: .5rem;
}
/* Accessページここまで
-------------------------------------- */


/* Virtualページここから
-------------------------------------- */
.cover-virtual {
    background-size: cover;
    background-position: center bottom;
    height: 800px;
    background-image: url(../images/cover-virtual-world-s.webp);
}
.banner img {
    min-width: 330px;
    height: auto;
    margin: -1rem auto 2rem;
    border-radius: 16px;
}
.next-date-online {
    min-width: 375px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 3rem;
}
.next-date-online h3,h4 {
    margin-bottom: 1rem;
}
.grid {
    display: grid;
    gap: 2rem 1.5rem;
    grid-template-columns: repeat(2, 1fr);
    text-align: center;
    margin-bottom: 6rem;
}
.tag {
    overflow: visible;
    width: 100%;
    height: 100%;
}
.tag img {
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 16px;
    display: block;
}
.tag p {
    font-size: .875rem;
}
/* Virtualページここまで
-------------------------------------- */




/* デスクトップサイズの表示設定
------------------------------------- */

@media (min-width: 768px) {

    /* 見出し */
    .page-title {
        font-size: 2.25rem;
        font-weight: normal;
        text-align: center;
        margin-top: 5rem;
        margin-left: -1rem;
    }
    .heading-large {
        font-size: 1.75rem;
        margin-bottom: 3rem;
    }
    .heading-medium {
        font-size: 1rem;
    }
    .small-font {
        font-size: 1rem;
        font-weight: normal;
    }
    .small-description {
        font-size: 1.25rem;
    }
    .very-small-font {
        font-size: .7rem;
        line-height: 1.25;
        margin-top: 1rem;
        margin-right: 19rem;
    }

    /* レイアウト */

        /* 上に戻るボタン */
    .scroll-btn {
        margin-top: -.5rem;
        margin-right: 10rem;
        transition: .5s;
    }
    .scroll-btn:hover {
        translate: 0 -12px;
    }
        /* 微調整部分 */
    .shift-down {
        padding-top: 29rem;
        padding-right: 7rem;
    }
    .slide-to-up {
        margin-top: -23rem;
    }
    .slide-to-up-bit {
        margin-top: -3.5rem;
    }
    .parallel {
        display: flex;
        justify-content: center;
        gap: .5rem;
    }

    /* ヘッダー */
    h1 {
        margin-left: 6rem;
        margin-bottom: .5rem;
    }
    .logo {
        width: 240px;
    }
    .hamburger-menu-button {
        display: none;
    }
    .hamburger-menu-list {
        display: none;
    }
    .desktop-header-list {
        display: block;
        margin-top: -2rem;
    }
    .main-nav { 
        display: flex; 
        justify-content: center;  
        gap: 2rem;
        margin-top: 1.5rem;
    }
    .main-nav li {
        color: #5c432d;
        font-size: 1.5rem;
        font-weight: bold;
        list-style: none;
    }
    .main-nav a {
        color: #028b80;
    }
    .main-nav a:hover {
        color: #c30d23;
    }
    .sub {
        font-size: 0.8rem;
        font-weight: normal;
        margin-top: -.5rem;
    }

    /* フッター */
    .page-footer {
        background-image: url(../images/footer-l.webp);
        padding-top: 12rem;
    }
    .copyright {
        padding-bottom: 1.5rem;
    }
        /* Home(Top)ページのフッター部分 */
    .homepage-info {
        margin-top: -8rem;
        margin-bottom: 2rem;
    }
    .info {
        max-width: 560px;
        padding-right: 2rem;
        padding-left: 2rem;
        margin-bottom: .75rem;
    }

        /* Aboutページ、S.H.Gページ、Virtualページのフッター部分 */
    .sentence-about-footer {
        width: 500px;
        font-size: .85rem;
        margin-top: -4rem;
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 1rem;
        line-height: 1.4;
    }
        /* q-and-aページのフッター部分 */
    .request-q-and-a {
        max-width: 560px;
        font-size: 1.25rem;
        margin-top: -6rem;
        margin-right: auto;
        margin-left: auto;
        margin-bottom: .75rem;
        border-top: 3px dotted #c9c2bc;
    }
    .request-sentence {
        width: 520px;
        font-size: .85rem;
        line-height: 1.4;
        margin-right: auto;
        margin-left: auto;
        padding-left: 1rem;
    }
        /* Ruleページのフッター部分 */
    .supplement {
        width: 470px;
        font-size: .9rem;
        margin-right: auto;
        margin-bottom: 1.75rem;
        margin-left: auto;
    }
        /* Accessページのフッター部分 */
    .access-footer-sentence {
        width: 470px;
        font-size: 1rem;
        margin-top: -5rem;
        margin-bottom: 1rem;
    }

    /* Home （トップページ） */
    .cover-home{
        background-image: url(../images/cover-home-l.webp);
    }
    .fold {
        display: flex;
        justify-content: center;
    }
    .fold p {
        font-size: 1.75rem;
        font-weight: normal;
    }
    .home-small-font {
        font-weight: normal;
        font-size: 1.1rem;
        text-align: center;
    }
    .next-date {
        margin: auto;
        padding-top: 3rem;
        font-size: 1.25rem;
    }
    .date {
    font-size: 1.75rem;
    }
    .info th {
        padding-left: 2.5rem;
    }
    .midashi-small {
        width: 120px;
        font-size: 1rem;
    }
    .description {
        font-size: 1.25rem;
    }
    .notes {
        font-size: 1rem;
    }

    /* Aboutページ */
    .cover-about {
        background-image: url(../images/cover-about-l.webp);
    }
    .title-3 {
        font-size: 2rem;
        margin-top: 2rem;
    }
    .small-font {
        font-size: 1.1rem;
    }
    .container {
        width: 100%;
        max-width: 760px;
        margin-top: .5rem;
        padding-left: 4rem;
    }
    .heading-medium-about {
        font-size: 1.25rem;
    }
    .sentence-about {
       width: 430px;
       font-size: 1rem;
       margin-top: 1rem;
       margin-right: auto;
       margin-bottom: 1rem;
       margin-left: auto;
       line-height: 1.4;
    }

    /* Rule ページ */
    .cover-rule{
        background-image: url(../images/cover-rule-l.webp);
    }
    .rule-small-font {
       display: flex;
       justify-content: center;
       font-size: 1rem;
    }
    .ground-rule {
        width: 100%;
        max-width: 600px;
        margin-top: -2rem;
    }
    .ground-rule .heading {
        font-size: 1.5rem;
    }
    .sentence-rule {
        width: 100%;
        max-width: 500px;
        font-size: 1rem;
        margin-bottom: 5rem;
    }
    .notice {
        font-size: 1rem;
    }
    .headline {
        width: 110px;
        padding: .8rem .5rem;
        font-size: .9rem;
    }
    .words {
        width: 440px;
        padding: .8rem .5rem;
        font-size: .9rem;
    }
    .prohibitions {
        width: 520px;
        margin-top: 6rem;
        margin-right: auto;
        margin-left: auto;
        border-top: 3px dotted #c9c2bc;
    }
    .item {
        width: 500px;
        display: flex;
        margin-right: auto;
        margin-left: auto;
        border-bottom: 1px solid #c9c2bc;
    }
    .important {
        width: 460px;
        font-size: .85rem;
    }
    .rule-heading {
    margin: 0 auto 5rem;
    }
    .rule-heading-2 {
    width: 480px;
    font-size: .75rem;
    font-weight: normal;
    line-height: 1.3;
    margin: 8rem auto -4rem;
    }

    /* Q&Aページ */
    .cover-q-and-a {
        background-image: url(../images/cover-q-and-a-l.webp);
    }
    .q-and-a {
        max-width: 800px;
        margin-top: -3rem;
    }
    .q-heading-medium {
        max-width: 800px;
        font-size: 1.25rem;
        justify-content: left;
        margin-left: 10rem;
    }
    .sentence-q-and-a {
        width: 550px;
        font-size: 1rem;
        margin-right: auto;
        margin-left: auto;
        padding-right: 3.5rem;
        padding-left: 3.5rem;
        padding-bottom: .5rem;
        line-height: 1.4;
    }

    /* S.H.G ページ */
    .cover-s-h-g{
        background-image: url(../images/cover-shg-l.webp);
    }
    .what-is-shg {
        max-width: 660px;
        font-size: 1.5rem;
        margin-top: 1rem;
        margin-right: auto;
        margin-left: auto;
        padding-right: 2rem;
        padding-left: 2rem;
    }
    .what-is-shg .heading {
        font-size: 1.25rem;
        margin-top: 2rem;
        margin-bottom: 0;
    }
    .sentence {
        max-width: 720px;
        font-size: 1rem;
        margin-top: 1rem;
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 3rem;
    }
    .parallel-button {
        display: flex;
        justify-content: center;
        gap: 2rem;
    }
    span.emphasis {
    font-size: 1.25rem;
    }

    /* Access ページ */
    .cover-access {
        background-image: url(../images/cover-access-l.webp);
    }
    .access-info {
        padding-top: 6rem;
        font-size: 1.1rem;
    }
    .midashi {
        width: 120px;
    }
    .location-map {
        max-width: 700px;
        margin-right: auto;
        margin-left: auto;
    }
    .e-mail {
        width: 580px;
        padding-top: 1rem;
    }

    /* Virtual ページ */
    .cover-virtual {
        background-image: url(../images/cover-virtual-world-l.webp);
    }
    .bunner {
        min-width: 680px;
        max-width: 800px;
    }
    .next-date-online {
        margin-top : 2rem;
    }
    .next-date-online h3 {
        font-size: 1.5rem;
    }
    .next-date-online h4 {
        font-size: 1.25rem;
        margin-bottom: 3.25rem;
    }
    .grid {
        display: grid;
        gap: 3rem 2rem;
        grid-template-columns: repeat(3, 1fr);
        margin-top: 2rem;
        padding: 0 4rem;
        text-align: center;
    }
    .tag img {
        margin-bottom: .5rem;
    }
    .tag img:hover {
        transition-duration: 1.5s;
        transform: scale(1.25,1.25);
    }
    .tag p {
        font-size: 1rem;
    }
    .e-mail-virtual {
        display: flex;
        justify-content: center;
        gap: 2rem;
    }
    
    
}