@charset "UTF-8";

/* 基本色 */
:root {
    --text-dark-color: #444;
    --text-bright-color: #fff;
    --gray1-color: #eee;
    --gray2-color: #ddd;
    --gray3-color: #bbb;
    --gray4-color: #888;
    --gray5-color: #666;
    --icon-color: #fff;
    --icon-bk-color: #9bc;
    --accent-color: #9bc;
    --live-color: #9bc;
    --event-color: #9cc;
    --info-color: #f99;
    --large-width: 1000px;
    --middle-width: 800px;
}


/* 基本設定： フォントサイズ */
html {
 font-size: 62.5%; /* -> 10px */
}

/* 基本設定： ページ全体 */
body {
    font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    -webkit-text-size-adjust: 100%;
    margin: 0;
}

h1{
    color: #666;
    color: var(--gray5-color);
    padding-left: 0.5rem;
    border-bottom: dotted 0.15rem #ddd;
    border-bottom: dotted 0.15rem var(--gray2-color);
    font-size: 3.2rem;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.5rem;
}


/* スワイプスライダー */
@keyframes fade-in {
    from {
        opacity: 0;
        transform: translateY(100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.sw01{
    margin-top: 62px !important;
    text-decoration: none;
}
.sw02{
    text-decoration: none;
}

.swiper-container{
    width: 100%;
    height: 100%;
}

.swiper-slide{
    text-align: center;
    opacity: 0.6 !important;
    filter: blur(2px);
}
.swiper-slide-active{
    opacity: 1 !important;
    filter: blur(0px);
}

.swiper-slide img{
    max-width: 100%;
    height: auto;
}

.swiper-slide .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.swiper-slide .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.swiper-button-prev,
.swiper-button-next{
    outline: none;
}



/* 更新情報： 概要（画像＋テキスト） */
.update {
    color: #444;
    color: var(--text-dark-color);
    background-color: #eee;
    background-color: var(--gray1-color);
}

.update .text {
    padding: 20px;
}

.update h2 {
    position: relative;
    padding-bottom: 10px;
    margin: 0;
    font-size: 2.4rem;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.5rem;
}

.update h2:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #bbb, #bbb 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #bbb, #bbb 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.update a {
    display: inline-block;
    color: #444;
    color: var(--text-dark-color);
    text-decoration: none;
}

.update a:hover{
    opacity: 0.8;
}

.update table {
    width: 100%;
    border-collapse: collapse;
}

.update th,
.update td {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    border-bottom: dotted 1px #bbb;
    border-bottom: dotted 1px var(--gray3-color);
    font-size: 1.4rem;
    vertical-align: top;
}

.update th {
    padding-right: 1rem;
    text-align: left;
    word-break: keep-all;
}

@media (min-width: 768px) {
    .update .container {
        max-width: 1000px;
        max-width: var(--large-width);
        margin-left: auto;
        margin-right: auto;
    }

    .update .text {
        padding: 50px;
    }
    .update th {
        width: 80px;
}

}


/* トピック： 概要（アイコン＋テキスト） */
.topic .container {
    padding: 50px 0;
}

.topic .text {
    padding: 20px;
    text-align: center;
    color: #666;
    color: var(--gray5-color);
}

.topic h2 {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 1.6rem;
}

.topic p {
    font-size: 1.4rem;
    line-height: 1.5;
    opacity: 0.8;
}

.topic .more p{
    font-size: 1.4rem;
}

.topic a {
    color: #9bc;
    color: var(--accent-color);
    text-decoration: none;
    padding: 5px 15px;
    border: solid 1px #9bc;
    border: solid 1px var(--accent-color);
    border-radius: 15px;
}

.topic a:hover {
    color: #888;
    color: var(--gray4-color);
    text-decoration: none;
    border: solid 1px #888;
    border: solid 1px var(--gray4-color);
}

.topic .icon {
    display: inline-block;
    margin-bottom: 20px;
    font-size: 40px;
    width: 2em;
    line-height: 2em;
    border-radius: 50%;
    text-align: center;
    background-color: #9bc;
    background-color: var(--icon-bk-color);
    color: #fff;
    color: var(--icon-color);
}

@media (min-width: 768px) {
    .topic .container {
        display: flex;
        max-width: 1000px;
        max-width: var(--large-width);
        margin-left: auto;
        margin-right: auto;
    }

    .topic .text    {
        flex: 1;
    }
}


/* フッター */
footer {
    color: #444;
    color: var(--text-dark-color);
    background-color: #ddd;
    background-color: var(--gray2-color);
}

footer .container {
    padding: 40px 20px;
}


@media (min-width: 768px) {
    footer .container {
        display: flex;
        flex-wrap: wrap;
        max-width: 1000px;
        max-width: var(--large-width);
        margin-left: auto;
        margin-right: auto;
    }

    .footA {
        flex: 0 0 30%;
    }

    .footB {
        flex: 0 0 70%;
    }

    .footC {
        flex: 0 0 100%;
    }
}


/* フッターA： サイト情報 */
.footA {
    margin-bottom: 30px;
}

.footA h2 {
    margin-top: 0;
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 30px;
    letter-spacing: 0.2em;
}

.footA p {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 14px;
    color: #444;
    color: var(--text-dark-color);
}

.footA a {
    color: #444;
    color: var(--text-dark-color);
    text-decoration: none;
}

.footA img {
    color: #444;
    color: var(--text-dark-color);
    text-decoration: none;
}


/* フッターB： フッターメニュー */
.footB div {
    margin-bottom: 20px;
}

.footB h3 {
    margin-top: 0;
    margin-bottom: 10px;
    border-bottom: solid 1px #444;
    border-bottom: solid 1px var(--text-dark-color);
    font-size: 14px;
    color: #444;
    color: var(--text-dark-color);
}

.footB ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footB a {
    display: block;
    padding: 5px;
    color: #444;
    color: var(--text-dark-color);
    font-size: 12px;
    text-decoration: none;
}

.footB a:hover {
    background-color: #fff;
    background-color: var(--text-bright-color);
}

@media (min-width: 768px) {
    .footB {
        display: flex;
    }

    .footB div {
        flex: 1;
    }

    .footB div:not(:first-child) {
        margin-left: 40px;
    }
}


/* フッターC： コピーライト */
.footC {
    font-size: 12px;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    color: #444;
    color: var(--text-dark-color);
}


/* フッターD： SNSメニュー */
.footD {
    margin-top: 20px;
}

.footD ul {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footD a {
    display: block;
    margin-right: 8px;
    padding: 0;
    color: #444;
    color: var(--text-dark-color);
    font-size: 16px;
    text-decoration: none;
    border: solid 1px #444;
    border: solid 1px var(--text-dark-color);
    width: 2em;
    line-height: 2em;
    border-radius: 50%;
    text-align: center;
}

.footD a:hover {
    background-color: #fff;
    background-color: var(--text-bright-color);
}


/* ヘッダー */
header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    background-color: rgba(255,255,255,0.8);
}

.nohero header {
    position: static;
    border-bottom: solid 1px #ddd;
    border-bottom: solid 1px var(--gray2-color);
}


/* ヘッダーA: サイト名 */
.headA {
    display: inline-block;
    line-height: 60px;
    padding: 0 20px;
    font-family: 'Montserrat', sans-serif;
    color: #666;
    color: var(--gray5-color);
    font-size: 30px;
    text-decoration: none;
}


/* ヘッダーB： ナビゲーションメニュー */
.headB ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.headB a {
    display: block;
    margin: 10px;
    padding: 0px;
    color: inherit;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    letter-spacing: 0.1em;
}

.headB a:hover {
    color: #9bc;
    color: var(--accent-color);
}

@media (min-width: 768px) {
    header .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        max-width: 1000px;
        max-width: var(--large-width);
        margin-left: auto;
        margin-right: auto;
    }

    .headB ul {
        display: flex;
    }
}


/* ヘッダーC： トグルボタン */
@media (max-width: 767px) {
    /* 小さい画面用の設定 */
    header .container-small {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .headC {
        margin-right: 10px;
        padding: 0;
        border: none;
        outline: none;
        background: none;
        font-size: 28px;
        opacity: 0.5;
        cursor: pointer;
    }

    .headC:hover {
        opacity: 0.3;
    }

    .headB {
        display: none;
        text-align: center;
    }
}

@media (min-width: 768px) {
    /* 大きい画面用の設定 */
    .headC {
        display: none;
    }

    .headB {
        display: block !important;
    }
}


/* お問い合わせページ */
.post .container {
    max-width: 800px;
    max-width: var(--middle-width);
    margin-left: auto;
    margin-right: auto;
    padding: 30px auto;
}

.post img {
    max-width: 100%;
}

.post p {
    font-size: 1.4rem;
    padding: 0 10px;
}

.post article {
    margin: 20px 10px;
    padding: 20px;
    text-align: center;
    border: solid 1px #ddd;
    border: solid 1px var(--gray2-color);
}

.post article:hover{
    opacity: 0.8;
}

.post a {
    text-decoration: none;
}

.post i{
    display: inline-block;
    font-size: 35px;
    width: 2em;
    line-height: 2em;
    border-radius: 50%;
    text-align: center;
    background-color: #9bc;
    background-color: var(--icon-bk-color);
    color: #fff;
    color: var(--icon-color);
}

.post h2 {
    font-size: 1.6rem;
    color: #444;
    color: var(--text-dark-color);
}

.post .mail{
    font-size: 1.9rem;
    color: #9bc;
    color: var(--accent-color);
    margin-bottom: 0;
}


@media (min-width: 768px) {
    .post .contact {
        display: flex;
    }

    .post article {
        flex: 1;
    }

    .post article:first-child {
        margin-right: 20px;
    }
}


/* お問い合わせページ： 地図 */
.location iframe {
    width:100%;
    height: 400px;
    vertical-align: bottom;
}

.location h2 {
    margin: 0;
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #bbb;
    background-color: var(--gray3-color);
    color: #fff;
    color: var(--text-bright-color);
    font-size: 2.4rem;
    text-align: center;
}



/* コンテンツページ: パンくずリスト */
.bread{
    max-width: 800px;
    max-width: var(--middle-width);
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px;
    font-size: 0.9rem;
    color: #bbb;
    color: var(--gray3-color);
}

.bread ol {
    display: flex;
    margin: 0;
    padding: 5px;
    list-style: none;
}

.bread a {
    display: block;
    color: #bbb;
    color: var(--gray3-color);
    text-decoration: none;
}

.bread a::after {
    margin: 0 5px;
    content: '\f054';
    font-family: 'FontAwesome';
    opacity: 0.8;
}

.bread a:hover {
    opacity: 0.8;
}


/* ニュースページ */
.news .container {
    max-width: 800px;
    max-width: var(--middle-width);
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px;
}

.news article{
    margin: 0px 10px 50px;
    padding-bottom: 50px;
    border-bottom: dotted 1px #bbb;
    border-bottom: dotted 1px var(--gray3-color);
}

.news p {
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 0;
    padding: 0 15px;
}

.news h2{
    color: #666;
    color: var(--gray5-color);
    font-size: 1.8rem;
    padding: 0 10px;
    border-left: solid 0.5rem #9bc;
    border-left: solid 0.5rem var(--accent-color);
}

.news h3{
    font-size: 1.8rem;
    opacity: 0.8;
    margin: 0;
    padding: 0;
    text-align: center;
}

.news h4{
    font-size: 1.5rem;
    margin: 0 20px;
}

.news ul{
    margin: 20px;
    padding: 0;
    list-style: none;
}

.news li{
    margin: 0.5rem;
    padding-top: 0.5rem;
    padding-left: 1rem;
    line-height: 2rem;
    text-indent: -1rem;
    font-size: 1.4rem;
}

.news li:first-child{
    padding-top: 0;
}

.news li::before{
    margin: 0;
    display: inline-block;
    text-align: center;
    width: 1rem;
    font-family: FontAwesome;
    content: "\f111";
    font-size: 0.8rem;
    color: #9bc;
    color: var(--accent-color);
}

.news .news-info{
    margin: 50px 10px;
    padding: 0 ;
    border-left: solid 0.5rem #f99;
    border-left: solid 0.5rem var(--info-color);
    border-right: solid 0.5rem #f99;
    border-right: solid 0.5rem var(--info-color);
    color: #f99;
    color: var(--info-color);
    font-size: 1.2rem;
}

.news a{
    color: #9bc;
    color: var(--accent-color);
    overflow-wrap:break-word;
}

.news a:hover{
    color: #888;
    color: var(--gray4-color);
}

.news a::after{
    text-align: center;
    padding-left: 0.3rem;
    width: 1rem;
    font-family: FontAwesome;
    content: "\f0c1";
    color: #888;
    color: var(--gray4-color);
}

.news .more p{
    margin-top: 15px ;
    font-size: 1.2rem;
    white-space: nowrap;
}

.news .more a {
    color: #9bc;
    color: var(--accent-color);
    text-decoration: none;
    padding: 5px 15px;
    border: solid 1px #9bc;
    border: solid 1px var(--accent-color);
    border-radius: 15px;
}

.news .more a:hover {
    color: #888;
    color: var(--gray4-color);
    text-decoration: none;
    border: solid 1px #888;
    border: solid 1px var(--gray4-color);
}

.news .more a::after{
    display:none;
}

.news .none a::after{
    display:none;
}

.news .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.news .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 97%;
    height: 97%;
}

.news .attention{
    margin: 10px 20px;
    padding: 10px;
    border: solid 0.15rem #f99;
    border: solid 0.15rem var(--info-color);
    color: #f99;
    color: var(--info-color);
    font-size: 1.2rem;
}

.news .attention a{
    color: #f99;
    color: var(--info-color);
}

.news .attention a:hover{
    color: #888;
    color: var(--gray4-color);
}

.news .news-img {
    max-width: 100%;
    width:80%;
    height: auto;
}


/* バイオグラフィ：画像と説明 */
.biography .container {
    max-width: 800px;
    max-width: var(--middle-width);
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px;
}

.biography p {
    font-size: 1.4rem;
    line-height: 1.8;
}

.biography img {
    max-width: 100%;
}

.biography h2{
    color: #444;
    color: var(--text-dark-color);
    font-size: 1.6rem;
}

.biography a:hover{
    color: #444;
    color: var(--text-dark-color);
}


.biography .caption{
    font-size: 1.2rem;
    opacity: 0.5;
}

/* バイオグラフィ：プロフィール */
.team ul {
    display: flex;
    flex-wrap: wrap;
    max-width: 800px;
    max-width: var(--middle-width);
    margin: 50px auto;
    padding: 0;
    list-style: none;
    text-align: center;
}

.team li {
    flex: 1 1 100%;
    display: flex;
}

.team a {
    flex: 1;
    margin: 0 50px;
    padding: 0;
    display: block;
    color: #fff;
    color: var(--icon-color);
    background-color: #bbb;
    background-color: var(--gray3-color);
    font-size: 20px;
    text-decoration: none;
    width: 2em;
    line-height: 2em;
    border-radius: 50%;
}

.team a:hover {
    background-color: #9bc;
    background-color: var(--accent-color);
}

.team .photo {
    min-height: 150px;
    background-position: center;
    background-size: cover;
}

.team .text {
    margin: 10px auto;
}

.team h2 {
    font-size: 1.8rem;
}

.team p {
    font-size: 1.4rem;
    opacity: 0.8;
}

@media (max-width: 599px) {
.team li {
    flex: 1 1 50%;
    }
}

@media (min-width: 600px) {
.team li {
    flex: 1 1 25%;
    }
}


/* ライブスケジュール */
.live .container {
    max-width: 800px;
    max-width: var(--middle-width);
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px;
}

.live article{
    margin-bottom: 50px;
}

.live p {
    line-height: 1.8;
    padding: 0 15px;
}

.live img {
    max-width: 100%;
}

.live h2{
    padding: 10px;
    margin: 0;
    font-size: 1.8rem;
    border-radius: 6px;
}

.live h3{
    margin: 0;
    padding: 0;
    font-size: 1.4rem;
}

.live a{
    color: #9bc;
    color: var(--accent-color);
    overflow-wrap:break-word;
}

.live a:hover{
    color: #888;
    color: var(--gray4-color);
}

.live a::after{
    text-align: center;
    padding-left: 0.3rem;
    width: 2.5rem;
    font-family: FontAwesome;
    content: "\f0c1";
    color: #888;
    color: var(--gray4-color);
}

.live .none::after {
    display: none;
}

.live ul{
    margin: 20px;
    padding: 0;
    color: #444;
    color: var(--text-dark-color);
    list-style: none;
    font-size: 1.4rem;
}

.live li{
    margin: 0;
    padding-left: 1rem;
    padding-bottom: 0.5rem;
    line-height: 1.5;
    text-indent: -1rem;
}

.live li::before{
    display: inline-block;
    text-align: center;
    width: 1rem;
    font-family: FontAwesome;
}

.live .icon-calendar::before{
    content: "\f073";
}
.live .icon-place::before{
    content: "\f041";
}
.live .icon-clock::before{
    content: "\f017";
}
.live .icon-yen::before{
    content: "\f157";
}
.live .icon-users::before{
    content: "\f0c0";
}
.live .icon-ticket::before{
    content: "\f145";
}
.live .icon-thumbtack::before{
    content: "\f08d";
}
.live .icon-info::before{
    content: "\f05a";
}

.live .live-info{
    margin: 50px 10px;
    padding: 0;
    border-left: solid 0.5rem #f99;
    border-left: solid 0.5rem var(--info-color);
    border-right: solid 0.5rem #f99;
    border-right: solid 0.5rem var(--info-color);
    font-size: 1.2rem;
}

.live .live-info a{
    color: #f99;
    color: var(--info-color);
    text-decoration: none;
}

.live .live-info a:hover{
    color: #888;
    color: var(--gray4-color);
}

.live .live-info a:after{
    display: none;
}

.live .live-title{
    margin: 20px 0;
    padding: 0;
    text-align: center;
    border: double 0.3rem #ddd;
    border: double 0.3rem var(--gray2-color);
    font-family: 'Montserrat', sans-serif;
}

.live .live-title p{
    padding: 0;
    font-size: 2.0rem;
    letter-spacing: 0.2rem;
}

.live .liveA1{
}

.live .liveA1 h2{
    background-color: #9bc;
    background-color: var(--live-color);
    color: #fff;
    color: var(--text-bright-color);
}

.live .liveA2{
    opacity: 0.6;
}

.live .liveA2 h2{
    background-color: #9bc;
    background-color: var(--live-color);
    color: #fff;
    color: var(--text-bright-color);
}

.live .liveB1{
}

.live .liveB1 h2{
    background-color: #aaa;
    color: #fff;
    color: var(--text-bright-color);
}

.live .liveB2{
    opacity: 0.6;
}

.live .liveB2 h2{
    background-color: #aaa;
    color: #fff;
    color: var(--text-bright-color);
}

.live .remarks{
    margin: 10px 20px;
    padding: 10px;
    border: solid 0.15rem #888;
    border: solid 0.15rem var(--gray4-color);
    color: #888;
    color: var(--gray4-color);
    font-size: 1.2rem;
}

.live .attention{
    margin: 10px 20px;
    padding: 10px;
    border: solid 0.15rem #f99;
    border: solid 0.15rem var(--info-color);
    color: #f99;
    color: var(--info-color);
    font-size: 1.2rem;
}

.live .attention ul{
    margin: 0;
    padding: 0;
    color: #f99;
    color: var(--info-color);
    list-style: none;
    font-size: 1.2rem;
}

.live .attention li{
    margin: 0 0.5rem;
    padding-left: 1rem;
    text-indent: -1rem;
}

.live .attention li::before{
    margin: 0;
    display: inline-block;
    text-align: center;
    width: 1rem;
    font-family: FontAwesome;
    content: "\f06a";
}

.live .attention a{
    color: #f99;
    color: var(--info-color);
}

.live .attention a:hover{
    color: #888;
    color: var(--gray4-color);
}


/* イベントスケジュール */
.event .container {
    max-width: 800px;
    max-width: var(--middle-width);
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px;
}

.event article{
    margin-bottom: 10px;
}

.event p {
    line-height: 1.8;
    padding: 0 15px;
}

.event img {
    max-width: 100%;
}

.event h2{
    padding: 10px;
    margin: 0;
    font-size: 1.8rem;
    border-radius: 6px;
}

.event h3{
    margin: 0;
    padding: 0;
    font-size: 1.4rem;
}

.event a{
    color: #9bc;
    color: var(--accent-color);
    overflow-wrap:break-word;
}

.event a:hover{
    color: #888;
    color: var(--gray4-color);
}

.event a::after{
    text-align: center;
    padding-left: 0.3rem;
    width: 2.5rem;
    font-family: FontAwesome;
    content: "\f0c1";
    color: #888;
    color: var(--gray4-color);
}

.event ul{
    margin: 20px;
    padding: 0;
    color: #444;
    color: var(--text-dark-color);
    list-style: none;
    font-size: 1.4rem;
}

.event li{
    margin: 0;
    padding-left: 1rem;
    padding-bottom: 0.5rem;
    line-height: 1.5;
    text-indent: -1rem;
}

.event li::before{
    display: inline-block;
    text-align: center;
    width: 1rem;
    font-family: FontAwesome;
}

.event .icon-calendar::before{
    content: "\f073";
}
.event .icon-place::before{
    content: "\f041";
}
.event .icon-clock::before{
    content: "\f017";
}
.event .icon-yen::before{
    content: "\f157";
}
.event .icon-users::before{
    content: "\f0c0";
}
.event .icon-thumbtack::before{
    content: "\f08d";
}
.event .icon-ticket::before{
    content: "\f145";
}
.event .icon-info::before{
    content: "\f05a";
}

.event .event-info{
    margin: 50px 10px;
    padding: 0;
    border-left: solid 0.5rem #f99;
    border-left: solid 0.5rem var(--info-color);
    border-right: solid 0.5rem #f99;
    border-right: solid 0.5rem var(--info-color);
}

.event .event-info a{
    color: #f99;
    color: var(--info-color);
    text-decoration: none;
}

.event .event-info a:hover{
    color: #888;
    color: var(--gray4-color);
}

.event .event-info a:after{
    display: none;
}

.event .event-title{
    margin: 20px 0;
    padding: 0;
    text-align: center;
    border: double 0.3rem #ddd;
    border: double 0.3rem var(--gray2-color);
    font-family: 'Montserrat', sans-serif;
}

.event .event-title p{
    padding: 0;
    font-size: 2.0rem;
    letter-spacing: 0.2rem;
}

.event .eventA1 {
}

.event .eventA1 h2{
    background-color: #9cc;
    background-color: var(--event-color);
    color: #fff;
    color: var(--text-bright-color);
}

.event .eventA1 .subtitle{
    font-size: 1.2rem;
}

.event .eventA2{
    opacity: 0.6;
}

.event .eventA2 h2{
    background-color: #9cc;
    background-color: var(--event-color);
    color: #fff;
    color: var(--text-bright-color);
}

.event .remarks{
    margin: 10px 20px;
    padding: 10px;
    border: solid 0.15rem #888;
    border: solid 0.15rem var(--gray4-color);
    color: #888;
    color: var(--gray4-color);
    font-size: 1.2rem;
}

.event .remarks ul{
    margin: 0;
    padding: 0;
    color: #888;
    color: var(--gray4-color);
    list-style: none;
    font-size: 1.2rem;
}

.event .remarks li{
    margin: 0.5rem;
    padding-top: 0.5rem;
    padding-left: 1rem;
    line-height: 1.5;
    text-indent: -1rem;
}

.event .remarks li:first-child{
    padding-top: 0;
}

.event .remarks li::before{
    margin: 0;
    display: inline-block;
    text-align: center;
    width: 1rem;
    font-family: FontAwesome;
    content: "\f0c8";
}

.event .attention{
    margin: 10px 20px;
    padding: 10px;
    border: solid 0.15rem #f99;
    border: solid 0.15rem var(--info-color);
    color: #f99;
    color: var(--info-color);
    font-size: 1.2rem;
}

.event .attention ul{
    margin: 0;
    padding: 0;
    color: #f99;
    color: var(--info-color);
    list-style: none;
    font-size: 1.2rem;
}

.event .attention li{
    margin: 0 0.5rem;
    padding-left: 1rem;
    text-indent: -1rem;
}

.event .attention li::before{
    margin: 0;
    display: inline-block;
    text-align: center;
    width: 1rem;
    font-family: FontAwesome;
    content: "\f06a";
}

.event .attention a{
    color: #f99;
    color: var(--info-color);
}

.event .attention a:hover{
    color: #888;
    color: var(--gray4-color);
}

.event .event-remarks{
    margin: 20px 0;
    padding: 10px;
    border: solid 0.15rem #888;
    border: solid 0.15rem var(--gray4-color);
    color: #888;
    color: var(--gray4-color);
    font-size: 1.2rem;
}

.event .event-remarks ul{
    margin: 0;
    padding: 0;
    color: #888;
    color: var(--gray4-color);
    list-style: none;
    font-size: 1.2rem;
}

.event .event-remarks li{
    margin: 0.5rem;
    padding-top: 0.5rem;
    padding-left: 1rem;
    line-height: 1.5;
    text-indent: -1rem;
}

.event .event-remarks li:first-child{
    padding-top: 0;
}

.event .event-remarks li::before{
    margin: 0;
    display: inline-block;
    text-align: center;
    width: 1rem;
    font-family: FontAwesome;
    content: "\f0c8";
}

.event .event-attention{
    margin: 20px 0px 50px;
    padding: 10px;
    border: solid 0.15rem #f99;
    border: solid 0.15rem var(--info-color);
    color: #f99;
    color: var(--info-color);
    font-size: 1.2rem;
}

.event .event-attention ul{
    margin: 0;
    padding: 0;
    color: #f99;
    color: var(--info-color);
    list-style: none;
    font-size: 1.2rem;
}

.event .event-attention li{
    margin: 0 0.5rem;
    padding-left: 1rem;
    text-indent: -1rem;
}

.event .event-attention li::before{
    margin: 0;
    display: inline-block;
    text-align: center;
    width: 1rem;
    font-family: FontAwesome;
    content: "\f06a";
}


/* 折りたたみ */
.event details {
    padding: 0;
    margin: 0;
}

.event summary {
    margin-bottom: 0;
    padding: 0;
    cursor: pointer;
    outline: none;
    display: block;
    position: relative;
}

/* Chrome、Safari */
.event summary::-webkit-details-marker {
  display: none;
}

.event summary:hover{
    opacity: 0.8;
}

.event summary::after{
    box-sizing: border-box;
    font-family: 'FontAwesome';
    color: #fff;
    color: var(--icon-color);
    content: '\f078';
    display: block;
    height: 100%;
    padding: 0.9rem 15px;
    right: 0;
    top: 0;
    position: absolute;
    font-size: 16px;
}

.event details[open] .details-contents {
  animation: fadeIn 0.5s ease;
}
@keyframes fadeIn {
  0% {
    opacity: 0; /* 透明 */
    transform: translateY(-20px); /* 上から表示 */
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

.event details[open] summary {
}


/* リリース一覧ページ */
.release .container {
    max-width: 800px;
    max-width: var(--middle-width);
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px;
}

.release .rel-info{
    margin: 50px 10px;
    padding: 0;
    border-left: solid 0.5rem #f99;
    border-left: solid 0.5rem var(--info-color);
    border-right: solid 0.5rem #f99;
    border-right: solid 0.5rem var(--info-color);
    font-size: 1.2rem;
}

.release .rel-info a{
    color: #f99;
    color: var(--info-color);
    text-decoration: none;
}

.release .rel-info a:hover{
    color: #888;
    color: var(--gray4-color);
}


.rel-category{
    margin-top: 50px;
}

.rel-category h2 {
    position: relative;
    padding-left: 0.5rem;
    padding-bottom: 10px;
    margin: 0;
    font-size: 2.4rem;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.5rem;
}

.rel-category h2:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #bbb, #bbb 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #bbb, #bbb 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.rel-list ul {
    display: flex;
    flex-wrap: wrap;
    max-width: 800px;
    max-width: var(--middle-width);
    margin: 20px auto;
    padding: 0;
    list-style: none;
}

.rel-list li {
    flex: 1 1 100%;
    display: flex;
}

.rel-list a {
    flex: 1;
    margin: 10px;
    display: flex;
    border: solid 1px #ddd;
    border: solid 1px var(--gray2-color);
    color: inherit;
    text-decoration: none;
}

.rel-list a:hover {
    opacity: 0.8;
}

.rel-list .disc-img {
    flex: 3;
    position: relative;
    padding-top: 150px;
}

.rel-list .disc-img img {
    object-fit: contain;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    max-height: 130px;
    margin: 0;
    padding: 10px;
}

.rel-list .text {
    flex: 7;
    margin: 10px 20px;
}

.rel-list h2 {
    font-size: 1.8rem;
    padding: 0;
    margin: 0;
}

.rel-list h3 {
    font-size: 1.2rem;
    padding-left: 8px;
    margin: 0;
    opacity: 0.6;
}

.rel-list p {
    font-size: 1.4rem;
    opacity: 0.8;
    padding-left: 8px;
}

@media (min-width: 768px) {
.rel-list li {
    flex: 0 0 50%;
    }
}

@media (max-width: 384px) {
    .rel-list .disc-img img{
        margin: 5px;
        padding: 10px;
    }
}


/* リリース詳細ページ */
.discA {
    background-color: #ddd;
    background-color: var(--gray2-color);
    color: #444;
    color: var(--text-dark-color);
    margin-bottom: 50px;
}

.discA .disc-img {
    position: relative;
    padding-top: 420px;
}

.discA .disc-img img {
    object-fit: contain;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    max-height: 400px;
    margin: 20px 0;
    padding: 0;
}

.discA .text {
    padding: 20px;
}

.discA .text a::after{
    margin-left: 5px;
    content: '\f054';
    font-family: 'FontAwesome';
    opacity: 0.6;
}

.discA h2 {
    margin-top: 0;
    margin-bottom: 10px;
    padding: 0;
    font-size: 1.8rem;
}

.discA h3 {
    margin: 0;
    padding: 0;
    font-size: 1.4rem;
}

.discA p {
    font-size: 1.2rem;
}

.discA .sub {
    margin: 10px 0;
    padding: 10px 0;
    font-size: 1.2rem;
    line-height: 1.8;
    opacity: 0.8;
    border-top: dotted 1px #888;
    border-top: dotted 1px var(--gray4-color);
}

.discA ul{
    margin: 0;
    padding: 0 25px;
}

.discA li{
    list-style: decimal;
    font-size: 1.4rem;
}

.discA .link-btnA {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 10px;
    padding: 10px;
    border: solid 1px #ddd;
    border: solid 1px var(--gray2-color);
    border-radius: 6px;
    background-color: #888;
    background-color: var(--gray4-color);
    color: #fff;
    color: var(--text-bright-color);
    font-size: 1.4rem;
    text-decoration: none;
}

.discA .link-btnA:hover    {
    background-color: #9bc;
    background-color: var(--live-color);
    color: #fff;
    color: var(--text-bright-color);
}

.discA .link-btnB {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 10px;
    padding: 10px;
    border: solid 1px #ddd;
    border: solid 1px var(--gray2-color);
    border-radius: 6px;
    background-color: #888;
    background-color: var(--gray4-color);
    color: #fff;
    color: var(--text-bright-color);
    font-size: 1.4rem;
    text-decoration: none;
}

.discA .link-btnB:hover    {
    background-color: #9cc;
    background-color: var(--event-color);
    color: #fff;
    color: var(--text-bright-color);
}

.discA .link-btnC {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 10px;
    padding: 10px;
    border: solid 1px #ddd;
    border: solid 1px var(--gray2-color);
    border-radius: 6px;
    background-color: #888;
    background-color: var(--gray4-color);
    color: #fff;
    color: var(--text-bright-color);
    font-size: 1.4rem;
    text-decoration: none;
}

.discA .link-btnC:hover    {
    background-color: #f99;
    background-color: var(--info-color);
    color: #fff;
    color: var(--text-bright-color);
}

.discA .link-btnD {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 10px;
    padding: 10px;
    border: solid 1px #ddd;
    border: solid 1px var(--gray2-color);
    border-radius: 6px;
    background-color: #888;
    background-color: var(--gray4-color);
    color: #fff;
    color: var(--text-bright-color);
    font-size: 1.4rem;
    text-decoration: none;
}

.discA .link-btnD:hover    {
    background-color: #A18AE4;
    color: #fff;
    color: var(--text-bright-color);
}

.discA .link-btnE {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 10px;
    padding: 10px;
    border: solid 1px #ddd;
    border: solid 1px var(--gray2-color);
    border-radius: 6px;
    background-color: #888;
    background-color: var(--gray4-color);
    color: #fff;
    color: var(--text-bright-color);
    font-size: 1.4rem;
    text-decoration: none;
}

.discA .link-btnE:hover    {
    background-color: #F55100;
    color: #fff;
    color: var(--text-bright-color);
}


.discA span{
    padding-right: 8px;
}

@media (min-width: 600px) {
    .discA .container {
        display: flex;
        max-width: 800px;
        max-width: var(--middle-width);
        margin-left: auto;
        margin-right: auto;
        padding: 0 10px;
    }

    .discA .disc-img {
        flex: 1;
        margin: 20px 10px;
    }

    .discA .disc-img img{
        margin: 0;
        padding: 0;
    }

    .discA .text {
        flex: 1;
        padding: 5px;
        margin: 20px;
    }
}


/* リリース備考欄概要 */
.rel-data .container {
    max-width: 800px;
    max-width: var(--middle-width);
    margin-left: auto;
    margin-right: auto;
    padding: 0px 10px 50px;
}

.rel-data p {
    font-size: 1.4rem;
    line-height: 1.5;
    padding: 0 15px;
}

.rel-data img {
    max-width: 100%;
}

.rel-data h2{
    background-color: #fff;
    background-color: var(--text-bright-color);
    color: #666;
    color: var(--gray5-color);
    border: solid 1px #666;
    border: solid 1px var(--gray5-color);
    padding: 10px;
    margin: 0;
    font-size: 1.6rem;
    border-radius: 6px;
}

.rel-data a{
    color: #9bc;
    color: var(--accent-color);
    text-decoration: none;
    overflow-wrap:break-word;
}

.rel-data a:hover{
    color: #888;
    color: var(--gray4-color);
}

.rel-data .rel-info{
    margin: 50px 10px;
    padding: 0;
    border-left: solid 0.5rem #f99;
    border-left: solid 0.5rem var(--info-color);
    border-right: solid 0.5rem #f99;
    border-right: solid 0.5rem var(--info-color);
    font-size: 1.2rem;
}

.rel-data .rel-info a{
    color: #f99;
    color: var(--info-color);
    text-decoration: none;
}

.rel-data .rel-info a:hover{
    color: #888;
    color: var(--gray4-color);
}

.rel-data .rel-title{
    margin: 10px 0;
    padding: 0;
    text-align: center;
    border: double 0.3rem #ddd;
    border: double 0.3rem var(--gray2-color);
    font-family: 'Montserrat', sans-serif;
}

.rel-data .rel-title p{
    padding: 0;
    font-size: 2.0rem;
    letter-spacing: 0.2rem;
}

.rel-data .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.rel-data .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.rel-data .more p{
    margin-top: 15px ;
    font-size: 1.2rem;
    white-space: nowrap;
}

.rel-data .more a {
    color: #9bc;
    color: var(--accent-color);
    text-decoration: none;
    padding: 5px 15px;
    border: solid 1px #9bc;
    border: solid 1px var(--accent-color);
    border-radius: 15px;
}

.rel-data .more a:hover {
    color: #888;
    color: var(--gray4-color);
    text-decoration: none;
    border: solid 1px #888;
    border: solid 1px var(--gray4-color);
}

.rel-data .more a::after{
    display:none;
}

.rel-data ul{
    margin: 20px;
    padding: 0;
    font-size: 1.4rem;
}

.rel-data li{
    margin: 0;
    padding: 0;
    line-height: 1.5;
    list-style: none;
}

.rel-data li::before{
    margin-left: 10px;
    margin-right: 5px;
    content: '\f054';
    font-family: 'FontAwesome';
    color: #666;
    color: var(--gray5-color);
    opacity: 0.8;
}

.rel-data .remarks{
    margin: 10px 20px;
    padding: 10px;
    border: solid 0.15rem #888;
    border: solid 0.15rem var(--gray4-color);
    color: #888;
    color: var(--dark-main-color);
    font-size: 1.2rem;
}

.rel-data .attention{
    margin: 10px 20px;
    padding: 10px;
    border: solid 0.15rem #f99;
    border: solid 0.15rem var(--info-color);
    color: #f99;
    color: var(--info-color);
    font-size: 1.2rem;
}

.rel-data .attention ul{
    margin: 5px;
    padding: 0;
    color: #f99;
    color: var(--info-color);
    list-style: none;
    font-size: 1.2rem;
}

.rel-data .attention li{
    margin: 0 0.5rem;
    padding-left: 1rem;
    text-indent: -1rem;
}

.rel-data .attention li::before{
    margin: 0;
    display: inline-block;
    text-align: center;
    width: 1rem;
    font-family: FontAwesome;
    content: "\f06a";
    color: #f99;
    color: var(--info-color);
}

.rel-data .attention a{
    color: #f99;
    color: var(--info-color);
}


/* 配信リリース概要（画像＋テキスト） */
.rel-con{
    padding: 0;
    margin: 0;
}

.rel-con .text {
    padding: 20px;
    text-align: center;
    color: #444;
    color: var(--text-dark-color);
}

.rel-con img{
    max-width: 60%;
    height: auto;
    border: solid 1px #ddd;
}

@media (min-width: 768px) {
    .rel-con {
        display: flex;
        max-width: 1000px;
        max-width: var(--large-width);
        margin-left: auto;
        margin-right: auto;
    }

    .rel-con .text {
        flex: 1;
    }
}


/* ページトップ */
.page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background-color: #9bc;
  background-color: var(--icon-bk-color);
  opacity: 1.0;
  border-radius: 50%;
  }
.page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
.page_top a:before{
  font-family: 'FontAwesome';
  content: '\f077';
  font-size: 25px;
  color: #fff;
  color: var(--icon-color);
  position: absolute;
  width: 25px;
  height: 30px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}


/* ヘッダー：ナビゲーションメニュー２ */
.headB2 .menuA_wrap {
    transform: translate(0);
    z-index: 100;
    display: inline flow-root;
}

.menuA {
    max-width: 1000px;
    /* コンテンツ幅に合わせる */
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    letter-spacing: 0.05em;

}

.headB2 .menuA li {
    margin: 0 15px;
    text-align: center;
    list-style: none;
}

.headB2 .menuA li a {
    color: #444;
    color: var(--text-dark-color);
    text-decoration: none;
}

.headB2 .menuA li a:hover {
    color: #9bc;
    color: var(--accent-color);
}

/* 768px以上 */
@media screen and (min-width:768px) {
    .headB2 .pc-hidden {
        display: none;
    }
}

@media screen and (min-width: 768px) {
    /* ドロップダウンメニュー2階層目 */
    .headB2 .menuA li ul.second-menu {
        visibility: hidden;
        position: absolute;
        z-index: -1;
        top: 20px;
        margin: 0;
        padding: 0;
    }

    .headB2 .menuA li:hover ul.second-menu {
        visibility: visible;
        top: 35px;
        left: 225px;
        transition: all .3s;
    }

    .headB2 .menuA li:hover ul.second-menu li {
        width: 100px;
        height: 35px;
    }

    .headB2 .menuA li:hover ul.second-menu li a {
        display: block;
        color: #444;
        color: var(--text-dark-color);
        background-color: rgba(255,255,255,0.7);
        line-height: 35px;
    }

    .headB2 .menuA li:hover ul.second-menu li a:hover {
        color: #fff;
        color: var(--text-bright-color);
        background-color: rgba(153,187,204,0.7);
    }

    .headB2 .menuA .touch-btn {
        color: #bbb;
        color: var(--gray3-color);
    }
}


/* ハンバーガーメニュー*/
.headB2 .menuB_btn {
    display: none;
}
.headB2 .menuB_btn .menuB_bar {
    background-color: #444;
    background-color: var(--text-dark-color);
}

/* 768px以下 */
@media screen and (max-width: 768px) {
    .headB2 .menu_bg {
        width: 100%;
        height: 100%;
        position: fixed;
        z-index: 999;
        background-color: rgba(0, 0, 0, 0.3);
        display: none;
        top: 0;
        left: 0;
    }

    .headB2 .menuB_btn {
        display: block;
        border: none;
        padding: 5px;
        width: 50px;
        letter-spacing: 0.1em;
        cursor: pointer;
        position: fixed;
        top: 10px;
        right: 10px;
        z-index: 1001;
        text-align: center;
        outline: none;
        background-color: #fff;
    }

    .headB2 .menuB_btn.active .menuB_bar {
        width: 40px;
    }

    .headB2 .menuB_btn.active .menuB_bar1 {
        transform: rotate(30deg);
    }

    .headB2 .menuB_btn.active .menuB_bar2 {
        opacity: 0;
    }

    .headB2 .menuB_btn.active .menuB_bar3 {
        transform: rotate(-30deg);
    }

    .headB2 .menuB_bar {
        display: block;
        height: 2px;
        margin: 8px 2px;
        transition: all 0.5s;
        transform-origin: 0 0;
    }

    .headB2 .menuA_wrap {
        width: 250px;
        height: 100%;
        transition: all 0.5s;
        transform: translate(250px);
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1000;
        background-color: #fff;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .headB2 .menuA {
        display: block;
        position: relative;
        margin-top: 50px;
    }

    .headB2 .menuA li {
        height: auto;
        line-height: 45px;
        position: relative;
        border-bottom: solid 1px #ddd;
        border-bottom: solid 1px var(--gray2-color);
    }

    .headB2 .menuA li a {
        display: block;
        text-align: left;
        padding-left: 20px;
    }

    /* スマートフォン2階層目 */
    .headB2 .menuA li ul.second-menu {
        display: none;
        position: relative;
        padding: 0;
        z-index: 1001;
    }

    .headB2 .menuA li ul.second-menu li a {
        padding-left: 20px;
        background-color: #eee;
        background-color: var(--gray1-color);
    }

    .headB2 .menuA_wrap.open {
        transform: translate(0);
    }

    .headB2 .menuA .touch-btn {
        position: absolute;
        color: #bbb;
        color: var(--gray3-color);
        top: 0;
        right: 0;
        display: block;
        z-index: 10;
        width: 50px;
        height: 50px;
    }

}

.headB2 .menuC {
    margin: 20px 30px;
}

.headB2 .menuC ul {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

.headB2 .menuC a {
    display: block;
    margin-right: 8px;
    padding: 0;
    color: #444;
    color: var(--text-dark-color);
    border: solid 1px #444;
    border: solid 1px var(--text-dark-color);
    font-size: 16px;
    text-decoration: none;
    width: 2em;
    line-height: 2em;
    border-radius: 50%;
    text-align: center;
}

.headB2 .menuC a:hover {
    background-color: #ddd;
    background-color: var(--gray2-color);
}


.headB2 .pc-hidden .menuC {
    float: none;
}


/*NEW・UPマーク*/
.new-mark{
    position: relative;
}

.new-mark::before{
    content: 'NEW';
    position: absolute;
    color: #fff;
    color: var(--text-bright-color);
    background-color: #f99;
    background-color: var(--info-color);
    display: inline-block;
    padding: 0 5px;
    top: -5px;
    left: 10px;
    font-size:10px;
    font-weight: 900;
}

.up-mark{
    position: relative;
}

.up-mark::before{
    content: 'UP';
    position: absolute;
    color: #fff;
    color: var(--text-bright-color);
    background-color: #f99;
    background-color: var(--info-color);
    display: inline-block;
    padding: 0 5px;
    top: -5px;
    left: 10px;
    font-size:10px;
    font-weight: 900;
}

.new-mark2{
}

.new-mark2::after{
    content: 'NEW';
    color: #fff;
    color: var(--text-bright-color);
    background-color: #f99;
    background-color: var(--info-color);
    padding: 0 5px;
    font-size:10px;
    font-weight: 900;
    vertical-align: middle;
    margin: 0 5px;
}

.up-mark2{
}

.up-mark2::after{
    content: 'UP';
    color: #fff;
    color: var(--text-bright-color);
    background-color: #f99;
    background-color: var(--info-color);
    display: inline-block;
    padding: 0 5px;
    font-size:10px;
    font-weight: 900;
    vertical-align: middle;
    margin: 0 5px;
}

/*loading*/
#loading-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
  z-index: 9999;
}

.dot-pulse {
  --uib-size: 40px;
  --uib-speed: 1.3s;
  --uib-color: #ddd;
  position: relative;
  display: flex;
  align-items: center;
  justify-content:space-between;
  width: var(--uib-size);
  height: calc(var(--uib-size) * 0.27);
}

.dot-pulse__dot,
.dot-pulse::before,
.dot-pulse::after {
  content: '';
  display: block;
  height: calc(var(--uib-size) * 0.18);
  width: calc(var(--uib-size) * 0.18);
  border-radius: 50%;
  background-color: var(--uib-color);
  transform: scale(0);
    margin: 0 0.35rem;
}

.dot-pulse::before {
  animation: pulse var(--uib-speed) ease-in-out infinite;
}

.dot-pulse__dot {
  animation: pulse var(--uib-speed) ease-in-out
    calc(var(--uib-speed) * 0.125) infinite both;
}

.dot-pulse::after {
  animation: pulse var(--uib-speed) ease-in-out
    calc(var(--uib-speed) * 0.25) infinite;
}

@keyframes pulse {
  0%,
  100% {
    transform: scale(0);
  }

  50% {
    transform: scale(1.5);
  }
}

.completed {
  opacity: 0;
  visibility: hidden;
}
