@charset "UTF-8";


/*共通設定＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 */
*,
::before,
::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: #114756;
}

a:hover {
    opacity: 0.6;
    transition: color 0.3s;
    color: #1664c0;
}

/* ボタン */
a.btn {
    background: #fff;
    border: 1px solid #228bc8;
    box-sizing: border-box;
    height: 50px;
    padding: 10px 25px;
    color: #228bc8;
    font-size: 16px;
    text-align: center;
    transition-duration: 0.2s;
}

a.btn:hover {
    background: #228bc8;
    border: 1px solid #05639a;
    color: #fff;
}

a.btn:before {
    content: "";
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    /* border-width: 0 0 40px 50px; */
    border-color: transparent transparent #228bc8 transparent;
}


ul,
li {
    list-style: none;
}

.wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 5%;
}

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

.flex {
    display: flex;
}

body {
    font-family: 'Lato', sans-serif;
    /* background-color:#516C9D; */
    background-color: #f3f3f3;
    color: #4e4e4e;
}



/*index.html＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*header
------------------------------------------------------------ */
header {
    position: sticky;
    z-index: 9999;
    top: 0;
}

.page-header {
    padding: 10px;
    background-color: #ffffff;
    justify-content: space-between;
}

.header-logo {
    width: 300px;
    margin-top: 15px;
}

#pc-gnav.hidden {
    display: none;
}

.gnav {
    margin-top: 30px;
    margin-right: 20px;
}

.gnav-item {
    margin-left: 30px;
}

.gnav-link {
    padding-top: 30px;
    padding-right: 50px;
}

/* nav下段の日本語表記 */
#menu-instructor a:after {
    content: 'インストラクター';
    display: block;
    margin-top: 5px;
    font-size: 12px;
    text-align: center;
}

#menu-schedule a:after {
    content: 'スケジュール';
    display: block;
    margin-top: 5px;
    font-size: 12px;
    text-align: center;
}

#menu-price a:after {
    content: '料金表';
    display: block;
    margin-top: 5px;
    font-size: 12px;
    text-align: center;
}

#menu-event a:after {
    content: 'イベント';
    display: block;
    margin-top: 5px;
    font-size: 12px;
    text-align: center;
}

#menu-access a:after {
    content: 'アクセス';
    display: block;
    margin-top: 5px;
    font-size: 12px;
    text-align: center;
}


/*==================================================
ファーストビュー　スライダーのためのcss
===================================*/
.slider {
    position: relative;
    z-index: 1;
    /*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
    height: 100vh;
    /*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}

/*　背景画像設定　*/

.slider-item01 {
    background: url(../images/mv-top_01.jpg);
}

.slider-item02 {
    background: url(../images/mv-top_02.jpg);
}

.slider-item03 {
    background: url(../images/mv-top_03.jpg);
}

.slider-item04 {
    background: url(../images/mv-top_04.jpg);
}

.slider-item {
    width: 100%;
    /*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height: 100vh;
    /*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;
    /*背景画像をリピートしない*/
    background-position: center;
    /*背景画像の位置を中央に*/
    background-size: cover;
    /*背景画像が.slider-item全体を覆い表示*/
}

/*矢印の設定*/
.slick-prev,
.slick-next {
    position: absolute;
    z-index: 3;
    top: 42%;
    cursor: pointer;
    /*マウスカーソルを指マークに*/
    outline: none;
    /*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #fff;
    /*矢印の色*/
    border-right: 2px solid #fff;
    /*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {
    /*戻る矢印の位置と形状*/
    left: 2.5%;
    transform: rotate(-135deg);
}

.slick-next {
    /*次へ矢印の位置と形状*/
    right: 2.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/
.slick-dots {
    position: relative;
    z-index: 3;
    text-align: center;
    margin: -50px 0 0 0;
    /*ドットの位置*/
}

.slick-dots li {
    display: inline-block;
    margin: 0 5px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width: 8px;
    /*ドットボタンのサイズ*/
    height: 8px;
    /*ドットボタンのサイズ*/
    display: block;
    border-radius: 50%;
    background: #fff;
    /*ドットボタンの色*/
}

.slick-dots .slick-active button {
    background: #333;
    /*ドットボタンの現在地表示の色*/
}

/*section ダンススタジオ紹介
------------------------------------------------------------ */

.frist-introduction {
    display: flex;
    justify-content: space-around;
    max-width: 900px;
    margin: 0 auto;
}

#introduction{
    margin-top: 3rem;
}
.introduction-content {
    background-color: #fff;
   padding: 10% 8%;
}

#introduction h2 {
    text-align: center;
    margin-bottom: 2rem;
}

#introduction h2:after {
    content: "";
    display: block;
    height: 1px;
    max-width: 350px;
    margin: 0 auto;
    background: #000000;
}

.introduction-content-text p{
    line-height:2;
}




/*インストラクター紹介
------------------------------------------------------------ */

.wrapper900 {
    max-width: 900px;
    display: flex;
    justify-content: center;
}

#instructor h2 {
    padding-top: 150px;
    text-align: center;
    font-size: 36px;
}

#instructor h2:after {
    content: "";
    display: block;
    height: 1px;
    max-width: 400px;
    margin: 0 auto;
    background: #000000;
}

.grid-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    margin-top: 50px;
}

.grid-item span {
    display: block;
    text-align: center;
    font-size: 20px;
    margin-top: 5%;
}

/* インストラクター詳細のボタン */
.btn_instructor {
    display: flex;
    justify-content: center;
    margin-bottom: 100px;
}

.btn {
    display: inline-block;
    background-color: #f7f6f3;
    width: 200px;
    border: 1px solid #B9C5C4;
    border-radius: 10px;
    padding: 0.7rem 0;
    margin-top: 65px;
    position: relative;
    transition: .3s;
}

.btn::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: 2px solid #114756;
    border-radius: 10px;
    transform: scale(1.1);
    opacity: 0;
    transition: transform ease .3s, opacity .3s;
}

.btn:hover {
    color: #f7f6f3;
    background: #114756;
}

.btn:hover::before {
    transform: scale(1);
    opacity: 1;
}

/* swiper */
.swiper-btn {
    color: #114756;
}

/*aside
------------------------------------------------------------ */

#sidebar {
    padding: 50px 10px;
    margin: 0 20px;
    background-color: pink;
    margin: 5% 3%;
}

#sidebar h3 {
    padding-top: 30px;
    text-align: center;
}

/* sns */
.snslist {
    justify-content: center;
    padding: 20px;
}

/* sns aタグ */
.snslist-link:nth-child(n+1) {
    padding-left: 5px;
}

/* aside インフォメーション 
-------------------------------------------*/

/* aタグフワッと表示*/
.info-link {
    transition: color 0.3s;
    color: #4e4e4e;
}

/* info h3 */
.title {
    margin-bottom: 30px;
    border-top: 1px solid #000;
    max-width: 250px;
    margin-left: auto;
    margin-right: auto;
}

.info-item {
    padding: 30px 20px 10px 20px;
    margin-left: auto;
    margin-right: auto;
}

.info-itembox {
    border-top: 1px solid #a9a9a9;
    max-width: 250px;
    margin-left: auto;
    margin-right: auto;
}

#info-smallbox {
    border-top: none;
}

/* info datetime 日付 */
.updated entry-time {
    font-size: 12px;
}

/* article */
.entry-item {
    padding: 20px;
}

.entry-content.small {
    font-size: 11px;
    padding-top: 20px;
}

.entry-content small p {
    padding-top: 20px;
}

/* もっとみるボタン */
.btn_sidebar {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
}

a.btn {
    background: #fff;
    border: 1px solid #228bc8;
    box-sizing: border-box;
    height: 50px;
    padding: 10px 5px;
    color: #228bc8;
    font-size: 16px;
    text-align: center;
    transition-duration: 0.2s;
}

a.btn:hover {
    background: #228bc8;
    border: 1px solid #05639a;
    color: #fff;
}

a.btn:before {
    content: "";
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent #228bc8 transparent;
}



/*レッスンスケジュール
------------------------------------------------------------ */
#schedule {
    padding: 10% 0;
    background-color: #fff;
}

#schedule h2 {
    text-align: center;
    font-size: 36px;
}

#schedule h2:after {
    content: "";
    display: block;
    height: 1px;
    max-width: 350px;
    margin: 0 auto;
    background: #000000;
}

/* pcとspで画像差し替え */
.pc {
    display: block !important;
}

.sp {
    display: none !important;
}

#tab li {
    padding: 5px;
    margin-right: 10px;
    background: #4d4d4d;
    color: #fff;
    text-align: center;
    border: 1px solid #000;
    width: 100%;
    font-size: 14px;
}

.youbi {
    cursor: pointer;
}

.content-wrap {
    text-align: center;
    padding: 50px 30px 25px 30px;
}


/*料金表
------------------------------------------------------------ */

.wrapper-price {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 5%;
}

.sec {
    padding: 5% 0;
    background-color: #fff;
}

.sec-ttl {
    padding-top: 100px;
    margin-bottom: 2rem;
    font-size: 20px;
    text-align: center;
}

#pricelist {
    text-align: center;
}

.wrapper-price h3:after {
    content: "";
    display: block;
    height: 1px;
    max-width: 400px;
    margin: 0 auto;
    background: #000000;
}

.en.mont {
    padding-right: 30px;
    font-size: 36px;
}

.ja {
    font-size: 20px;
    padding-right: 30px;
}

.entry-price-table.price-table {
    margin-bottom: 5%;
}

.price-table table {
    width: 100%;
    font-size: 1.2rem;
    border-top: 1px solid #999;
    border-left: 1px solid #999;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

th.dark-grad {
    background: #4d4d4d;
}

.dark-grad {
    background: #4d4d4d;

}

.price-table .dark-grad {
    color: #fff;
}

.price-table table th,
.price-table table td {
    padding: 1em 5px;
    text-align: center;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
}

tbody {
    display: table-row-group;
    vertical-align: middle;
    border-color: inherit;
}

.price-table table {
    font-size: 1.4rem;
    line-height: 1.3;
}

.price-table th.back-glay {
    background-color: #f6f6f6 !important;
}


/*EVENT
------------------------------------------------------------ */
#event {
    padding: 10% 5%;
    background-color: #fff;
}

#event h2 {
    text-align: center;
    margin-bottom: 50px;
    font-size: 36px;
}

#event h2:after {
    content: "";
    display: block;
    height: 1px;
    max-width: 200px;
    margin: 0 auto;
    background: #000000;
}

.slide {
    display: flex;
    overflow: hidden;
}

.slider-image {
    flex: 0 0 auto;
    max-width: 300px;
    margin-right: 20px;
}

.slider-image img {
    display: block;
    width: 100%;
    height: auto;
}

@media screen and (max-width: 768px) {
    #event {
        padding-top: 30%;
        padding-bottom: 30%;
    }

    #event h2 {
        margin-top: 30px;
        margin-bottom: 30px;
        padding-top: 0;
        font-size: 23px;
    }

    #event h2:after {
        max-width: 100px;
    }

    .slider-content {
        margin-bottom: 50px;
    }

    .slider-image img {
        height: 150px;
    }
}


/*健康×ダンスについて
------------------------------------------------------------ */

#kenkou {
    padding: 10% 10%;

}

#kenkou h2 {
    text-align: center;
    font-size: 36px;
}

#kenkou h2:after {
    content: "";
    display: block;
    height: 1px;
    max-width: 400px;
    margin: 0 auto;
    background: #000000;
}

.label {
    padding-left: 10px;
}

.label-mito {
    text-align: center;
}

.hukidashi {
    max-width: 900px;
        margin: 0 auto;
        padding:2%;
    margin-top: 50px;
    margin-bottom: 50px;
}

/*吹き出し*/
.balloon_l,
.balloon_r {
    margin: 30px 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.balloon_r {
    justify-content: flex-end;
}

.faceicon img {
    max-width: 88px;
    height: auto;
    border-radius: 60px;
    position: relative;
    z-index: 0;
}

.balloon_r .faceicon {
    margin-left: 25px;
}

.balloon_l .faceicon {
    margin-right: 25px;
}

.balloon_r .faceicon {
    order: 2 !important;
}

.says {
    max-width: 500px;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding: 17px 13px 15px 18px;
    border-radius: 12px;
    background: #ffffff;
    box-sizing: border-box;
    margin: 0 !important;
    line-height: 1.5;
}

.says p {
    margin: 8px 0 0 !important;
}

.says p:first-child {
    margin-top: 0 !important;
}

.says:after {
    content: "";
    position: absolute;
    border: 10px solid transparent;
}

.balloon_l .says:after {
    left: -26px;
    border-right: 22px solid #ffffff;
}

.balloon_r .says:after {
    right: -26px;
    /* border-left: 22px solid #99dddd; */
    border-left: 22px solid #ffffff;
}

/* brの設定 */
.sp {
    display: block;
}


/*ふわっと表示*/
.kenkou__content.offs.effect {
    opacity: 0;
    transform: translate(0, 100px);

}

.kenkou__content.ons.effect {
    opacity: 1;
    transform: translate(0, 0);
    transition: all 2s ease;
}


/* contact
-------------------------------------------*/

#contact {
    background-color: #fff;
    padding: 8% 0;
}

#contact h2 {
    text-align: center;
    font-size: 36px;
}

#contact h2:after {
    content: "";
    display: block;
    height: 1px;
    max-width: 200px;
    margin: 0 auto;
    background: #000000;
}

.Form {
    margin-top: 80px;
    margin-left: auto;
    margin-right: auto;
    max-width: 720px;
}

.Form-Item {
    padding-top: 24px;
    padding-bottom: 24px;
    width: 100%;
    display: flex;
    align-items: center;
}

.Form-Item-Label {
    width: 100%;
    max-width: 248px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 18px;
}

.Form-Item-Label.isMsg {
    margin-top: 8px;
    margin-bottom: auto;
}


.Form-Item-Label-Required {
    border-radius: 6px;
    margin-right: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 48px;
    display: inline-block;
    text-align: center;
    background: #545454;
    color: #fff;
    font-size: 14px;
}

.Form-Item-Input {
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-left: 40px;
    padding-left: 1em;
    padding-right: 1em;
    height: 48px;
    flex: 1;
    width: 100%;
    max-width: 410px;
    background: #eaedf2;
    font-size: 18px;
}

.Form-Item-Textarea {
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-left: 40px;
    padding-left: 1em;
    padding-right: 1em;
    height: 216px;
    flex: 1;
    width: 100%;
    max-width: 410px;
    background: #eaedf2;
    font-size: 18px;
}

.Form-Btn {
    border-radius: 6px;
    margin-top: 32px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    padding-bottom: 20px;
    width: 280px;
    display: block;
    letter-spacing: 0.05em;
    background: #545454;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
}

.Form-Btn:hover {
    opacity: 0.6;
}

.Form-Item {
    padding-left: 14px;
    padding-right: 14px;
    padding-top: 16px;
    padding-bottom: 16px;
    flex-wrap: wrap;
}


/* アクセス
-------------------------------------------*/
#access {
    padding-top: 50px;
    padding-bottom: 50px;
    background-color: #fff;
}

#access h2 {
    text-align: center;
    font-size: 36px;
    margin-bottom: 30px;
}

#access h2:after {
    content: "";
    display: block;
    height: 1px;
    max-width: 160px;
    margin: 0 auto;
    background: #000000;
}
.wrapper900 {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 2%;
}

.access-content {
    justify-content: space-between;
}

.access-map iframe {
    padding: 50px 30px 50px 50px;
}

.address {
    padding-top: 50px;
}

.address h3 {
    padding-bottom: 50px;
}

.address-info {
    padding-top: 30px;
}

.address-info-text {
    padding-right: 20px;
}


/*footer
------------------------------------------------------------ */

footer {
    background-color: #4d4d4d;
    font-size: 14px;
    text-align: center;
    padding: 20px;
}

footer p {
    color: #fff;
    padding: 10px;
    text-align: center;
    font-size: 16px;
}


/*ハンバーガーボタン

------------------------------------------------------------ */

header .wrapper {
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
}


/*instructor.html＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

body {
    background-color: #b0e0e6;
}

.introduction {
    padding-top: 100px;
    padding-bottom: 100px;
}

.instructor_heading {
    text-align: center;
    font-size: 30px;
    font-weight: 900;
    margin-bottom: 100px;
}

.introduction-article {
    padding-top: 100px;
    padding-bottom: 100px;
}

.introduction-article:last-child {
    padding-bottom: 50px;
}

.introduction-inner {
    display: flex;
    justify-content: center;
}

.introduction-list__picture {
    margin-right: 30px;
}

.introduction-list__picture img {
    max-width: 300px;
}

.introduction-item {
    margin-left: 30px;
}

.introduction-heading {
    margin-top: 30px;
    margin-bottom: 45px;
}

.introduction-heading span {
    font-size: 45px;
    font-weight: 900;
}

.introduction-subheading {
    font-size: 25px;
}

.introduction-genre {
    font-size: 30px;
}

.lesson-info {
    background-color: #fff;
    margin-top: 5%;
    margin-right: 20%;
    margin-left: 20%;
    padding: 5%;
    border-radius: 20px;
}

/* .lesson-info h2 {
    border-bottom: solid #000;
} */

.lesson-info-content {
    margin-top: 30px;
}

.lesson-info-content p {
    margin-bottom: 1em;
}


/* マーカー下線アニメーション */
/* アニメーション前のスタイル */
.js-marker {
    display: inline;
    position: relative;
    background-image: linear-gradient(90deg, #ffff66, #ffff66);
    /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 0 30%;
    /* '30%'の部分にマーカーの太さを記入 */
    transition: all 1s ease-in-out;
    /* マーカーを引く速度を調整 */
    font-weight: bold;
    /* ついでに太字にしたい場合 */
}

/* アニメーション発火時 */
.js-marker.inview {
    background-size: 100% 30%;
    /* '30%'の部分は上で設定した太さに合わせる */
}



/*info-sidebar.html＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

body {
    background-color: #f3f3f3;
}

.wrapper1000 {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
}

.info-sidebar {
    padding-top: 100px;
    padding-bottom: 100px;
}

.information-heading {
    text-align: center;
    font-size: 36px;
    font-weight: 900;
    margin-bottom: 100px;
}


.info-sidebar h2 span {
    display: block;
    font-size: 15px;
}

.info-content_heading {
    text-align: center;
    font-size: 28px;
    margin-bottom: 2rem;
}

.info-content {
    background-color: #fff;
    padding: 15% 5% 0 5%;
}

.info-content-in {
    justify-content: center;
    margin-bottom: 150px;
}

.info-content-in:last-child {
    justify-content: center;
    margin-bottom: 0px;
}

.info-content-in_pic {
    margin-right: 20px;
}

.info-content-in_pic img {
    max-width: 300px;
    margin: 0 auto;
}

.info-right_box {
    margin-left: 20px;
    margin-bottom: 20px;
}

/* .info-right_box h2 {
    border-bottom: 1px solid #000;
} */

.info-right_textbox {
    margin-top: 30px;
    margin-bottom: 50px;
}

.info-right_textbox p {
    line-height: 2;
}

/* imgを左からふわっと表示=========================== */
.fadeLeft{
    animation-name:fadeLeftAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity:0;
    }
    
    @keyframes fadeLeftAnime{
    from {
        opacity: 0;
    transform: translateX(-100px);
    }
    
    to {
        opacity: 1;
    transform: translateX(0);
    }
    }








/* 予約ボタン */

.btn_info-sidebar {
    display: flex;
    margin: 0 auto;
    margin-bottom: 100px;
}

a.info {
    background: #d13209;
    border: 1px solid #d13209;
    box-sizing: border-box;
    height: 50px;
    padding: 10px 25px;
    color: #fff;
    font-size: 16px;
    text-align: center;
    transition-duration: 0.2s;
}

a.info:hover {
    background: #fff;
    border: 1px solid #d13209;
    color: #d13209;
}

a.info:before {
    content: "";

    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    /* border-width: 0 0 40px 50px; */
    border-color: transparent transparent #d13209 transparent;
}


/*モバイル版 768px
------------------------------------------------------------ */

@media screen and (max-width: 768px) {


    body {
        font-size: 14px;
    }

    /*header-------------------------- */
    .page-header {
        padding-top: 20px;
        padding-right: 10px;
    }

    .page-header h1 img {
        max-width: 200px;
    }

    .gnav {
        display: none;
    }

    .gnav-list {
        display: flex;
        flex-direction: column;
        padding: 10%;
    }

    .gnav-item {
        margin: 3% 5%;
        text-align: center;
    }

    /* nav下段の日本語表記 */
    #menu-instructor a:after {
        content: 'インストラクター';
        text-align: center;
    }

    #menu-schedule a:after {
        content: 'スケジュール';
        text-align: center;
    }

    #menu-price a:after {
        content: '料金表';
        text-align: center;
    }

    #menu-event a:after {
        content: 'イベント';
        text-align: center;
    }

    #menu-access a:after {
        content: 'アクセス';
        text-align: center;
    }

    /* ハンバーガー */

    .menu-btn {
        width: 50px;
        height: 50px;
        padding: 10px 5px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin-top: 10px;
    }

    .menu-btn:focus {
        outline: none;
    }

    .menu-btn span {
        background: #555;
        display: block;
        width: 100%;
        height: 2px;
        transition: all .3s;
    }

    .close span:first-child {
        transform: translateY(15px) rotate(-45deg);
    }

    .close span:nth-child(2) {
        opacity: 0;
    }

    .close span:last-child {
        transform: translateY(-12px) rotate(45deg);
    }

    #pc-gnav {
        display: none;
    }

    #pc-gnav.open {
        display: block;
        position: fixed;
        top: 55px;
        right: auto;
        left: 0px;
        bottom: 0;
        background-color: #f3f3f3;
        padding: 0 30px;
        z-index: 100;
        width: 100%;
        padding: 0;
    }


    /* ファストビュースライダー */
    .slider-item {
        height: 50vw;
        object-fit: cover;
    }

    .slick-dots {
        position: relative;
        z-index: 3;
        text-align: center;
        margin: -12px 0 0 0;
    }

    .slider {
        position: static;
        z-index: 0;
        height: auto;
    }


    /*ダンススタジオ紹介-------------------------- */

    .frist-introduction {
        display: block;
        margin: 30px;
    }

    #introduction{
        margin-bottom: 5rem;
    }
    
    .introduction-content h2 {
        font-size: 17px;
    }

    #introduction h2:after {
        max-width: 250px;
    }

    .introduction-content-text p {
        line-height: 2;
    }

    .introduction-article {
        padding: 0 5% 30% 5%;
    }

    .introduction-item {
        margin: 0 auto;
    }

    .introduction-list {
        flex-direction: column;
    }

    .introduction-list__picture {
        margin-right: 0;
        margin: 0 auto;
    }

    .introduction-heading {
        text-align: center;
        margin-bottom: 25%;
    }

    .introduction-heading span {
        font-size: 35px;
    }

    .introduction-genre {
        font-size: 25px;
        text-align: center;
    }

    .lesson-info {
        margin-top: 20%;
        margin-left: auto;
        margin-right: auto;
    }

    .lesson-info-content p {
        margin-bottom: 1em;
        font-size: 14px;
    }


    /*side bar------------------------- */
    #sidebar {
        margin: 0 auto;
        max-width: 500px;
    }

    /*インストラクター紹介------------------ */
    #instructor {
        padding-top:30%;
        padding-bottom: 30%;
    }

    #instructor h2 {
        margin-top: 30px;
        margin-bottom: 30px;
        padding-top: 0;
        font-size: 20px;
    }

    #instructor h2:after {
        max-width: 230px;
    }

    .grid-content {
        margin-top: 0px;
    }

    .btn_instructor {
        margin-bottom: 50px;
    }

    /*レッスンスケジュール------------------ */

    #schedule {
        padding-top:30%;
        padding-bottom: 30%;
    }

    #schedule h2 {
        padding-top: 0;
        margin-top: 30px;
        margin-bottom: 30px;
        font-size: 23px;
    }

    #schedule h2:after {
        max-width: 230px;
    }

    .content-wrap {
        padding: 20px 0;
    }

    .schedule-sp {
        display: flex;
        justify-content: center;
    }

    /* pcとspで画像差し替え */
    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }


    /*料金表-------------------------- */

    .en.mont {
        font-size: 23px;
    }
    
    .ja {
        font-size: 17px;
    }
    .sec-ttl {
        margin-bottom: 3rem;
    }

    .price-table table {
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }

    .price-table thead th {
        font-size: 1.2rem;
    }

    .price-table th.back-glay {
        font-size: 0.8em;
    }

    .cource-box {
        font-size: 0.8em;
    }

    .cource-box td {
        font-size: 0.5em;
    }

    /*イベント-------------------------- */

    #event {
        padding-top:30%;
        padding-bottom: 30%;
    }

    #event h2 {
        margin-top: 30px;
        margin-bottom: 30px;
        padding-top: 0;
        font-size: 23px;
    }

    #event h2:after {
        max-width: 100px;
    }

    .slider-content {
        margin-bottom: 50px;
    }

    swiper img {
        height: 150px;
    }

    /*健康×DANCE-------------------------- */
    #kenkou h2{
        margin-top: 30px;
        margin-bottom: 30px;
        padding-top: 0;
        font-size: 20px;
    }
    
    /*吹き出し*/
    .balloon_l,
    .balloon_r {
        margin: 30px 0;
        display: flex;
        justify-content: center;
        align-items: flex-start;
    }

    .says {
        max-width: 300px;
        font-size: 14px;
    }

    .faceicon img {
        max-width: 50px;
    }

    .hukidashi {
        padding-left: 2%;
        padding-right: 2%;
    }

    .label {
        padding-left: 0;
        font-size: 12px;
    }

    .label-mito {
        font-size: 12px;
        text-align: center;
    }

    .label-oni {
        font-size: 10px;
    }

    /*コンタクト-------------------------- */
    #contact h2{
        margin-top: 30px;
        margin-bottom: 30px;
        padding-top: 0;
        font-size: 23px;
    }

    #contact h2:after {
        max-width: 150px;
    }

    /*アクセス-------------------------- */
    #access h2 {
        margin-top: 30px;
        margin-bottom: 30px;
        padding-top: 0;
        font-size: 23px;
    }

    #access h2:after {
        max-width: 120px;
    }

    .access-content {
        flex-direction: column;
    }

    .address {
        padding-top: 0;
        display: flex;
        justify-content: center;
    }

    .address h3 {
        padding-bottom: 30px;
    }

    .access-map iframe {
        width: 100%;
        margin-top: 0;
        padding: 50px 30px;
    }


    /*footer-------------------------- */

    .footer-gnav-list {
        flex-direction: column;
    }

    .footer-gnav-item {
        margin-bottom: 7%;
    }

    .footer-gnav-link {
        padding-right: 0;
        font-size: 16px;
    }

    /*instructor.html========================================*/

    .introduction {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .instructor_heading {
        margin-bottom: 50px;
    }

    .introduction-heading {
        margin-bottom: 0;
    }



    /* info-sidebar.html========================================= */

    .info-sidebar {
        padding: 50px 2%;
    }

    .information-heading {
        font-size: 30px;
        margin-bottom: 50px;
    }

    .info-content-in {
        flex-direction: column;
        margin-bottom: 100px;
    }

    .info-content_heading {
        max-width: 550px;
        font-size: 19px;
        margin-bottom: 1rem;
    }

    .info-content-in_pic {
        margin: 0 auto;
    }

    .info-content-in_pic img {
        width: 100%;
    }


    .info-right_box {
        margin: 0 auto;
    }

    .info-detail {
        border: 1px solid #000;
        border-radius: 30px;
        min-width: 200px;
        max-width: 500px;
        padding: 2% 5% 2% 5%;
        margin-left: auto;
        margin-right: auto;
    }


    .info-detail_list dt {
        width: 50%;
        text-align: center;
    }

    .info-detail_list dd {
        text-align: center;
        width: 50%;
    }

    /* 予約ボタン */

    .btn_info-sidebar {
        display: flex;
        justify-content: center;
        margin-bottom: 100px;
    }

    a.info {
        background: #d13209;
        border: 1px solid #d13209;
        box-sizing: border-box;
        height: 50px;
        padding: 10px 25px;
        color: #fff;
        font-size: 16px;
        text-align: center;
        transition-duration: 0.2s;
    }

    a.info:hover {
        background: #fff;
        border: 1px solid #d13209;
        color: #d13209;
    }

    a.info:before {
        content: "";

        right: 0;
        bottom: 0;
        width: 0;
        height: 0;
        border-style: solid;
        /* border-width: 0 0 40px 50px; */
        border-color: transparent transparent #d13209 transparent;
    }
}



/*モバイル版 480px
------------------------------------------------------------ */
@media screen and (max-width: 480px) {

    .frist-introduction {
        flex-direction: column;
        margin-left: 30px;
        margin-right: 30px;
    }

    /*問い合わせ-------------------------- */
    .Form {
        margin-top: 40px;
    }

    .Form-Item-Label {
        max-width: inherit;
        display: flex;
        align-items: center;
        font-size: 15px;
    }

    .Form-Item-Label.isMsg {
        margin-top: 0;
    }

    .Form-Item-Label-Required {
        border-radius: 4px;
        padding-top: 4px;
        padding-bottom: 4px;
        width: 32px;
        font-size: 10px;
    }

    .Form-Item-Input {
        margin-left: 0;
        margin-top: 18px;
        height: 40px;
        flex: inherit;
        font-size: 15px;
    }

    .Form-Item-Textarea {
        margin-top: 18px;
        margin-left: 0;
        height: 200px;
        flex: inherit;
        font-size: 15px;
    }

    .Form-Btn {
        margin-top: 24px;
        padding-top: 8px;
        padding-bottom: 8px;
        width: 160px;
        font-size: 16px;
    }

}