/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

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

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;  
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}
/* ---------------------------------------
    common
--------------------------------------- */
.clear  {
    clear: both;
}

.wrap   {
    max-width: 1100px;
    margin: 0 auto;
    padding: 100px 0 110px;
}

.wrap_full  {
    margin: 100px auto 110px;
}

.sp {
   display: none; 
}

.tab    {
    display: none;
}

@media screen and (max-width: 1100px) {
    .wrap   {
        width: 100%;
        padding: 80px 40px;
    }
}

@media screen and (max-width: 770px) {
    .pc {
        display: none;
    }

    .tab    {
        display: block;
    }
}

@media screen and (max-width: 640px) {
    .wrap   {
        width: 100%;
        padding: 80px 16px;
    }

    .sp {
        display: block;
    }
}
/* ---------------------------------------
    botton
--------------------------------------- */
.btn {
    display: block;
    width: 230px;
    margin: 80px auto 0;
    padding: 14px 0;
    text-decoration: none;
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    border-radius: 32px;
    transition-duration: 1s;
}

.btn img    {
    display: inline-block;
    width: 22px;
    vertical-align: bottom;
    margin-right: 6px;
}

.btn.rental {
    background-color: #fafe92;
    color: #02c2c4;
}

.btn.tel,
.btn.contact    {
    width: 320px;
    padding: 20px 0;
    color: #fff;
    font-size: 2.0rem;
}

.btn.tel img,
.btn.contact img    {
    width: 26px;
    margin-right: 10px;
}

.btn.tel    {
    background-color: #fd6d92;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 8px 0;
}

.btn.tel span   {
    text-align: center;
    font-size: 2.3rem;
}

.btn.tel span small    {
    display: block;
    margin-top: 3px;
    font-size: 1.2rem;
}

.btn.contact    {
    background-color: #26b5e9;
}

.btn_area   {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

@media screen and (max-width: 640px) {
    .btn    {
        margin: 40px auto 0;
    }

    .btn_area   {
        flex-direction: column;
    }

    .btn.tel,
    .btn.contact    {
        width: 100%;
    }
}

/* ---------------------------------------
    font
--------------------------------------- */
html    {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size:62.5%;
    color: #3f4344;
}

h2  {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
    font-size: 2.6rem;
    line-height: 1.4;
}

h3 {
    font-size: 2rem;
    line-height: 1.4;
}

p,
li,
dt,
dd   {
    font-size: 1.6rem;
    line-height: 1.6;
}

.pink   {
    color: #fd6d92;
}

.blue   {
    color: #26b5e9;
}

@media screen and (max-width: 640px) {
    h2  {
        font-size: 2.0rem;
    }

    h3 {
        font-size: 1.6rem;
    }

    p{
        font-size: 1.6rem;
        line-height: 1.5;
    }
}

/*
font-family: 'Fredoka One', cursive;
font-family: 'M PLUS Rounded 1c', sans-serif;
*/

/* ---------------------------------------
    header
--------------------------------------- */
header  {
    max-width: 1100px;
    height: 100px;
    margin: 0 auto;
    position: relative;
    z-index: 99;
}

header h1 img   {
    width: 140px;
    margin-top: 6px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

header nav ul   {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 10px 0;
}

header nav ul li:nth-child(3)   {
    margin-right: 100px;
}

header nav ul li:nth-child(4)   {
    margin-left: 100px;
}

header nav ul li a  {
    display: block;
    height: 80px;
    width: 150px;
    padding: 7px 0 0;
    text-align: center;
    text-decoration: none;
    transition-duration: 1s;
    color: #26b5e9;
    border-left: 3px dotted #fd6d92;
}

header nav ul li:nth-child(3) a   {
    border-right: 3px dotted #fd6d92;
}

header nav ul li:nth-child(6) a {
    border-right: 3px dotted #fd6d92;
}

header nav ul li:nth-child(1) a::before   {
    content: "";
    display: block;
    width: 60px;
    height: 45px;
    margin: 0 auto 7px;
    background-image: url(../img/icon/icon_news.svg);
    background-repeat: no-repeat;
}

header nav ul li:nth-child(2) a::before   {
    content: "";
    display: block;
    width: 60px;
    height: 45px;
    margin: 0 auto 7px;
    background-image: url(../img/icon/icon_policy.svg);
    background-repeat: no-repeat;
}

header nav ul li:nth-child(3) a::before   {
    content: "";
    display: block;
    width: 50px;
    height: 45px;
    margin: 0 auto 7px;
    background-image: url(../img/icon/icon_class.svg);
    background-repeat: no-repeat;
}

header nav ul li:nth-child(4) a::before   {
    content: "";
    display: block;
    width: 50px;
    height: 45px;
    margin: 0 auto 7px;
    background-image: url(../img/icon/icon_teacher.svg);
    background-repeat: no-repeat;
}

header nav ul li:nth-child(5) a::before   {
    content: "";
    display: block;
    width: 50px;
    height: 45px;
    margin: 0 auto 7px;
    background-image: url(../img/icon/icon_access.svg);
    background-repeat: no-repeat;
}

header nav ul li:nth-child(6) a::before   {
    content: "";
    display: block;
    width: 50px;
    height: 45px;
    margin: 0 auto 7px;
    background-image: url(../img/icon/icon_mail.svg);
    background-repeat: no-repeat;
}

.drawer-hidden {
    display: none;
}

@media screen and (max-width: 1100px) {
    header nav ul li a  {
        width: 130px;
    }
}
  
@media screen and (max-width: 770px) {
    /* ハンバーガーアイコンの設置スペース */
    .drawer-open {
        display: flex;
        height: 60px;
        width: 60px;
        justify-content: center;
        align-items: center;
        position: relative;
        z-index: 100;/* 重なり順を一番上に */
        cursor: pointer;
        margin-left: auto;
    }
    
    /* ハンバーガーメニューのアイコン */
    .drawer-open span,
    .drawer-open span:before,
    .drawer-open span:after {
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background: #26b5e9;
        transition: 0.5s;
        position: absolute;
    }
    
    /* 三本線のうち一番上の棒の位置調整 */
    .drawer-open span:before {
        bottom: 8px;
    }
    
    /* 三本線のうち一番下の棒の位置調整 */
    .drawer-open span:after {
        top: 8px;
    }
    
    /* アイコンがクリックされたら真ん中の線を透明にする */
    #drawer-check:checked ~ .drawer-open span {
        background: rgba(255, 255, 255, 0);
    }
    
    /* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
    #drawer-check:checked ~ .drawer-open span::before {
        bottom: 0;
        transform: rotate(45deg);
    }
    
    #drawer-check:checked ~ .drawer-open span::after {
        top: 0;
        transform: rotate(-45deg);
    }
        
    /* メニューのデザイン*/
    .drawer-content {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 54px;
        left: 100%;/* メニューを画面の外に飛ばす */
        z-index: 99;
        background: #fff;
        transition: .5s;
    }
    
    /* アイコンがクリックされたらメニューを表示 */
    #drawer-check:checked ~ .drawer-content {
        left: 0;/* メニューを画面に入れる */
    }

    header  {
        height: 64px;
        width: 100%;
    }

    header h1 img {
        width: 190px;
        margin-top: 11px;
        left: 20px;
        transform: unset;
        -webkit-transform: unset;
        -ms-transform: unset;
    }

    header nav ul   {
        flex-direction: column;
    }

    header nav ul li    {
        height: 60px;
        border-bottom: 3px dotted #fd6d92;
    }

    header nav ul li a  {
        width: 200px;
        height: auto;
        margin: 0 auto;
        text-align: left;
        border-left: none;
    } 

    header nav ul li:nth-child(3)   {
        margin-right: 0;
    }

    header nav ul li:nth-child(4)   {
        margin-left: 0;
    }

    header nav ul li:nth-child(3) a {
        border-right: none;
    }

    header nav ul li:nth-child(6) a {
        border-right: none;
    }

    header nav ul li:nth-child(1) a::before,
    header nav ul li:nth-child(2) a::before,
    header nav ul li:nth-child(3) a::before,
    header nav ul li:nth-child(4) a::before,
    header nav ul li:nth-child(5) a::before,
    header nav ul li:nth-child(6) a::before {
        display: inline-block;
        margin-bottom: 0;
        vertical-align: middle;
        margin-right: 25px;
        margin-top: 3px;
    }

    header nav ul li:nth-child(1) a::before   {
        width: 50px;
        height: 45px;
        position: relative;
        top: 3px;
    }
    
    header nav ul li:nth-child(2) a::before   {
        width: 50px;
        height: 45px;
    }
    
    header nav ul li:nth-child(3) a::before   {
        width: 40px;
        height: 45px;
    }
    
    header nav ul li:nth-child(4) a::before   {
        width: 40px;
        height: 45px;
    }
    
    header nav ul li:nth-child(5) a::before   {
        width: 40px;
        height: 45px;
    }
    
    header nav ul li:nth-child(6) a::before   {
        width: 40px;
        height: 45px;
        position: relative;
        top: 3px;
    }
}
/* ---------------------------------------
    footer
--------------------------------------- */
/* ----- contact -----*/
article.contact {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 0 80px;
}

@media screen and (max-width: 1100px) {
    article.contact   {
        width: 100%;
        padding: 0 40px 80px;
    }
}

@media screen and (max-width: 640px) {
    article.contact   {
        width: 100%;
        padding: 0 16px 50px;
    }
}
/* ----- END contact -----*/
footer  {
    background: linear-gradient(to right, #fef5d2, #fff7a2);
}

footer nav  {
    background-color: #fef693;
    padding: 16px 0;
}

footer nav .top,
footer nav .bottom  {
    max-width: 1100px;
    margin: 0 auto;
}

footer nav .top  {
    padding-bottom: 26px;
    border-bottom: 2px solid #fff;
}

footer nav .bottom  {
    padding-top: 26px;
}

footer nav ul   {
    display: flex;
    flex-direction: row;
    justify-content:center;
}

footer nav ul li    {
    border-right: 1px solid #26b5e9;
}

footer nav ul li:last-child {
    border-right: none;
}

footer nav ul li a  {
    text-decoration: none;
    color: #26b5e9;
    padding: 0 20px;
}

footer p.copyright  {
    background-color: #26b5e9;
    text-align: center;
    padding: 10px 0;
    font-size: 1.4rem;
    color: #fff;
}

@media screen and (max-width: 640px) {
    footer nav ul   {
        flex-direction: column;
        text-align: center;
    }

    footer nav ul li    {
        margin-bottom: 6px;
    }

    footer nav ul li:last-child {
        margin-bottom: 0;
    }

    footer p.copyright  {
        font-size: 1.2rem;
    }
}

/* ---------------------------------------
    commo style 2023.03add
--------------------------------------- */

/*  Arrangement
	----------------------------------------------- */
	.align-r{ text-align:right; }
	.align-c{ text-align:center; }
	.align-l{ text-align:left; }
	.valign-t{vertical-align: top;}
	
	*.bl-center{margin:auto;}
	*.bl-left{margin-right:auto; margin-left:0 !important;}
	*.bl-right{margin-left:auto; margin-right:0 !important;}
	
	@include sp{
		.spalign-r{ text-align:right; }
		.spalign-c{ text-align:center; }
		.spalign-l{ text-align:left; }
	}
	
	/*----------------------------------------------------------
		margin / position
	--------------------------------------------------------- */
	
	*.height1em{min-height:1em;}
	*.height1_5em{min-height:1.5em;}
	*.height2em{min-height:2em;}
	*.height2_5em{min-height:2.5em;}
	*.height3em{min-height:3em;}
	*.height3_5em{min-height:3.5em;}
	*.height4em{min-height:4em;}
	*.height4_5em{min-height:4.5em;}
	*.height5em{min-height:5em;}
	
	*.sp-b1em{margin-bottom:1em;}
	*.sp-b2em{margin-bottom:2em;}
	*.sp-b3em{margin-bottom:3em;}
	*.sp-t1em{margin-top:1em;}
	*.sp-t2em{margin-top:2em;}
	*.sp-t3em{margin-top:3em;}
	*.sp-r1em{margin-right:1em;}
	*.sp-r2em{margin-right:2em;}
	*.sp-r3em{margin-right:3em;}
	*.sp-l1em{margin-left:1em;}
	*.sp-l2em{margin-left:2em;}
	*.sp-l3em{margin-left:3em;}
	
	*.sp-v0 { margin-top: 0px !important; margin-bottom: 0px !important; }
	*.sp-v5 { margin-top: 5px !important; margin-bottom: 5px !important; }
	*.sp-v10 { margin-top: 10px !important; margin-bottom: 10px !important; }
	*.sp-v15 { margin-top: 15px !important; margin-bottom: 15px !important; }
	*.sp-v20 { margin-top: 20px !important; margin-bottom: 20px !important; }
	*.sp-v25 { margin-top: 25px !important; margin-bottom: 25px !important; }
	*.sp-v30 { margin-top: 30px !important; margin-bottom: 30px !important; }
	*.sp-v40 { margin-top: 40px !important; margin-bottom: 40px !important; }
	*.sp-v50 { margin-top: 50px !important; margin-bottom: 50px !important; }
	*.sp-v60 { margin-top: 60px !important; margin-bottom: 60px !important; }
	*.sp-v70 { margin-top: 70px !important; margin-bottom: 70px !important; }
	*.sp-v80 { margin-top: 80px !important; margin-bottom: 80px !important; }
	*.sp-v90 { margin-top: 90px !important; margin-bottom: 90px !important; }
	
	*.sp-t0 { margin-top: 0px !important; }
	*.sp-t5 { margin-top: 5px !important; }
	*.sp-t10 { margin-top: 10px !important;}
	*.sp-t15 { margin-top: 15px !important;}
	*.sp-t20 { margin-top: 20px !important;}
	*.sp-t25 { margin-top: 25px !important;}
	*.sp-t30 { margin-top: 30px !important;}
	*.sp-t40 { margin-top: 40px !important;}
	*.sp-t50 { margin-top: 50px !important;}
	*.sp-t60 { margin-top: 60px !important;}
	*.sp-t70 { margin-top: 70px !important;}
	*.sp-t80 { margin-top: 80px !important;}
	*.sp-t90 { margin-top: 90px !important;}
	
	*.sp-b0 { margin-bottom: 0px !important; }
	*.sp-b5 { margin-bottom: 5px !important;}
	*.sp-b10 { margin-bottom: 10px !important;}
	*.sp-b15 { margin-bottom: 15px !important;}
	*.sp-b20 { margin-bottom: 20px !important;}
	*.sp-b25 { margin-bottom: 25px !important;}
	*.sp-b30 { margin-bottom: 30px !important;}
	*.sp-b40 { margin-bottom: 40px !important;}
	*.sp-b50 { margin-bottom: 50px !important;}
	*.sp-b60 { margin-bottom: 60px !important;}
	*.sp-b70 { margin-bottom: 70px !important;}
	*.sp-b80 { margin-bottom: 80px !important;}
	*.sp-b90 { margin-bottom: 90px !important;}
	
	*.sp-r0 { margin-right: 0px !important; }
	*.sp-r5 { margin-right: 5px !important;}
	*.sp-r10 { margin-right: 10px !important;}
	*.sp-r15 { margin-right: 15px !important;}
	*.sp-r20 { margin-right: 20px !important;}
	*.sp-r25 { margin-right: 25px !important;}
	*.sp-r30 { margin-right: 30px !important;}
	*.sp-r40 { margin-right: 40px !important;}
	*.sp-r50 { margin-right: 50px !important;}
	*.sp-r60 { margin-right: 60px !important;}
	*.sp-r70 { margin-right: 70px !important;}
	*.sp-r80 { margin-right: 80px !important;}
	*.sp-r90 { margin-right: 90px !important;}
	
	*.sp-l0 { margin-left: 0px !important; }
	*.sp-l5 { margin-left: 5px !important;}
	*.sp-l10 { margin-left: 10px !important;}
	*.sp-l15 { margin-left: 15px !important;}
	*.sp-l20 { margin-left: 20px !important;}
	*.sp-l25 { margin-left: 25px !important;}
	*.sp-l30 { margin-left: 30px !important;}
	*.sp-l40 { margin-left: 40px !important;}
	*.sp-l50 { margin-left: 50px !important;}
	*.sp-l60 { margin-left: 60px !important;}
	*.sp-l70 { margin-left: 70px !important;}
	*.sp-l80 { margin-left: 80px !important;}
	*.sp-l90 { margin-left: 90px !important;}
	
	*.sp-mt5 { margin-top: -5px !important; }
	*.sp-mt10 { margin-top: -10px !important;}
	*.sp-mt15 { margin-top: -15px !important;}
	*.sp-mt20 { margin-top: -20px !important;}
	*.sp-mt25 { margin-top: -25px !important;}
	*.sp-mt30 { margin-top: -30px !important;}
	*.sp-mt40 { margin-top: -40px !important;}
	*.sp-mt50 { margin-top: -50px !important;}
	
	*.sp-mb5 { margin-bottom: -5px !important; }
	*.sp-mb10 { margin-bottom: -10px !important;}
	*.sp-mb15 { margin-bottom: -15px !important;}
	*.sp-mb20 { margin-bottom: -20px !important;}
	*.sp-mb25 { margin-bottom: -25px !important;}
	*.sp-mb30 { margin-bottom: -30px !important;}
	*.sp-mb40 { margin-bottom: -40px !important;}
	*.sp-mb50 { margin-bottom: -50px !important;}
	
	*.sp-lr0 { margin-left: 0px !important;margin-left: 0px !important; }
	*.sp-lr5 { margin-left: 5px !important;margin-left: 5px !important;}
	*.sp-lr10 { margin-left: 10px !important;margin-left: 10px !important;}
	*.sp-lr15 { margin-left: 15px !important;margin-left: 15px !important;}
	*.sp-lr20 { margin-left: 20px !important;margin-left: 20px !important;}
	*.sp-lr25 { margin-left: 25px !important;margin-left: 25px !important;}
	*.sp-lr30 { margin-left: 30px !important;margin-left: 30px !important;}
	*.sp-lr40 { margin-left: 40px !important;margin-left: 40px !important;}
	*.sp-lr50 { margin-left: 50px !important;margin-left: 50px !important;}
	*.sp-lr60 { margin-left: 60px !important;margin-left: 60px !important;}
	*.sp-lr70 { margin-left: 70px !important;margin-left: 70px !important;}
	*.sp-lr80 { margin-left: 80px !important;margin-left: 80px !important;}
	*.sp-lr90 { margin-left: 90px !important;margin-left: 90px !important;}
	
	*.sp-lr3p{ margin-right:3%; margin-left:3%;}
	*.sp-lr4p{ margin-right:4%; margin-left:4%;}
	*.sp-lr5p{ margin-right:5%; margin-left:5%;}
	*.sp-lr10p{ margin-right:10%; margin-left:10%;}
	*.sp-lr15p{ margin-right:15%; margin-left:15%;}
	*.sp-lr20p{ margin-right:20%; margin-left:20%;}
	*.sp-lr30p{ margin-right:30%; margin-left:30%;}
	*.sp-lrAuto{ margin-right:auto; margin-left:auto;}	

	* .w10p{width:10% !important;}
	* .w20p{width:20% !important;}
	* .w30p{width:30% !important;}
	* .w40p{width:40% !important;}
	* .w50p{width:50% !important;}
	* .w60p{width:60% !important;}
	* .w70p{width:70% !important;}
	* .w80p{width:80% !important;}
	* .w90p{width:90% !important;}
	* .w100p{width:100% !important;}
	
	*.pd5{padding:5px;}
	*.pd10{padding:10px;}
	*.pd15{padding:15px;}
	*.pd20{padding:20px;}
	*.pd25{padding:25px;}
	*.pd30{padding:30px;}
	*.pd40{padding:40px;}
	*.pd50{padding:50px;}
	
	*.pd-lr5{ padding-right:5px; padding-left:5px;}
	*.pd-lr10{ padding-right:10px; padding-left:10px;}
	*.pd-lr15{ padding-right:15px; padding-left:15px;}
	*.pd-lr20{ padding-right:20px; padding-left:20px;}
	*.pd-lr25{ padding-right:25px; padding-left:25px;}
	*.pd-lr30{ padding-right:30px; padding-left:30px;}
	*.pd-lr40{ padding-right:40px; padding-left:40px;}
	*.pd-lr50{ padding-right:50px; padding-left:50px;}
	
	*.pd-lr3p{ padding-right:3%; padding-left:3%;}
	*.pd-lr4p{ padding-right:4%; padding-left:4%;}
	*.pd-lr5p{ padding-right:5%; padding-left:5%;}
	*.pd-lr10p{ padding-right:10%; padding-left:10%;}
	*.pd-lr15p{ padding-right:15%; padding-left:15%;}
	*.pd-lr20p{ padding-right:20%; padding-left:20%;}
	*.pd-lr30p{ padding-right:30%; padding-left:30%;}
	
	*.pd-v5{ padding-top:5px; padding-bottom:5px;}
	*.pd-v10{ padding-top:10px; padding-bottom:10px;}
	*.pd-v15{ padding-top:15px; padding-bottom:15px;}
	*.pd-v20{ padding-top:20px; padding-bottom:20px;}
	*.pd-v25{ padding-top:25px; padding-bottom:25px;}
	*.pd-v30{ padding-top:30px; padding-bottom:30px;}
	*.pd-v40{ padding-top:40px; padding-bottom:40px;}
	*.pd-v50{ padding-top:50px; padding-bottom:50px;}
	
	*.pd-t0 {padding-top: 0px !important; }
	*.pd-t5 {padding-top: 5px !important; }
	*.pd-t10 {padding-top: 10px !important;}
	*.pd-t15 {padding-top: 15px !important;}
	*.pd-t20 {padding-top: 20px !important;}
	*.pd-t25 {padding-top: 25px !important;}
	*.pd-t30 {padding-top: 30px !important;}
	*.pd-t40 {padding-top: 40px !important;}
	*.pd-t50 {padding-top: 50px !important;}
	*.pd-t60 {padding-top: 60px !important;}
	*.pd-t70 {padding-top: 70px !important;}
	*.pd-t80 {padding-top: 80px !important;}
	*.pd-t90 {padding-top: 90px !important;}
	
	*.pd-b0 {padding-bottom: 0px !important; }
	*.pd-b5 {padding-bottom: 5px !important;}
	*.pd-b10 {padding-bottom: 10px !important;}
	*.pd-b15 {padding-bottom: 15px !important;}
	*.pd-b20 {padding-bottom: 20px !important;}
	*.pd-b25 {padding-bottom: 25px !important;}
	*.pd-b30 {padding-bottom: 30px !important;}
	*.pd-b40 {padding-bottom: 40px !important;}
	*.pd-b50 {padding-bottom: 50px !important;}
	*.pd-b60 {padding-bottom: 60px !important;}
	*.pd-b70 {padding-bottom: 70px !important;}
	*.pd-b80 {padding-bottom: 80px !important;}
	*.pd-b90 {padding-bottom: 90px !important;}
	
	*.pd-r0 {padding-right: 0px !important; }
	*.pd-r5 {padding-right: 5px !important;}
	*.pd-r10 {padding-right: 10px !important;}
	*.pd-r15 {padding-right: 15px !important;}
	*.pd-r20 {padding-right: 20px !important;}
	*.pd-r25 {padding-right: 25px !important;}
	*.pd-r30 {padding-right: 30px !important;}
	*.pd-r40 {padding-right: 40px !important;}
	*.pd-r50 {padding-right: 50px !important;}
	*.pd-r60 {padding-right: 60px !important;}
	*.pd-r70 {padding-right: 70px !important;}
	*.pd-r80 {padding-right: 80px !important;}
	*.pd-r90 {padding-right: 90px !important;}
	
	*.pd-l0 {padding-left: 0px !important; }
	*.pd-l5 {padding-left: 5px !important;}
	*.pd-l10 {padding-left: 10px !important;}
	*.pd-l15 {padding-left: 15px !important;}
	*.pd-l20 {padding-left: 20px !important;}
	*.pd-l25 {padding-left: 25px !important;}
	*.pd-l30 {padding-left: 30px !important;}
	*.pd-l40 {padding-left: 40px !important;}
	*.pd-l50 {padding-left: 50px !important;}
	*.pd-l60 {padding-left: 60px !important;}
	*.pd-l70 {padding-left: 70px !important;}
	*.pd-l80 {padding-left: 80px !important;}
	*.pd-l90 {padding-left: 90px !important;}
	
	.radius3{border-radius: 3px;}
	.radius5{border-radius: 5px;}
	.radius10{border-radius: 10px;}
	.radius15{border-radius: 15px;}
	.radius20{border-radius: 20px;}
	.radius30{border-radius: 30px;}
	.radius40{border-radius: 40px;}
	.radius50{border-radius: 50px;}
	.o-hidden{overflow: hidden;}

.clm2-space,
.clm3-space,
.clm4-space {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.clm2-space .cmt, .clm2-space .caption,
.clm3-space .cmt,
.clm3-space .caption,
.clm4-space .cmt,
.clm4-space .caption {
  font-size: 0.8rem;
}

.clm2-space .clm {
  -ms-flex-preferred-size: 48.5%;
      flex-basis: 48.5%;
  max-width: 48.5%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.clm3-space::after {
  width: 32%;
  content: "";
  display: block;
}
.clm3-space .clm {
  -ms-flex-preferred-size: 32%;
      flex-basis: 32%;
  max-width: 32%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.clm4-space::after, .clm4-space::before {
  width: 24%;
  content: "";
  display: block;
}
.clm4-space::before {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.clm4-space .clm {
  -ms-flex-preferred-size: 24%;
      flex-basis: 24%;
  max-width: 24%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.imgBlockT {
-webkit-box-align: start;
    -ms-flex-align: start;
        align-items: flex-start;
}

.imgBlockB {
-webkit-box-align: baseline;
    -ms-flex-align: baseline;
        align-items: baseline;
}

.imgBlockC {
-webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
}

.imgBlockB, .imgBlockC, .imgBlockT {
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-line-pack: justify;
    align-content: space-between;
}

.imgBlockB.imgL .cont, .imgBlockC.imgL .cont, .imgBlockT.imgL .cont {
-webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
        order: 2;
-webkit-box-flex: 1;
    -ms-flex: 1;
        flex: 1;
}
.imgBlockB.imgL .img, .imgBlockC.imgL .img, .imgBlockT.imgL .img {
-webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
        order: 1;
margin-right: 1.5vw; /*flex:1;*/
}
.imgBlockB.imgL .img img, .imgBlockC.imgL .img img, .imgBlockT.imgL .img img {
max-width: 100%;
}

.imgBlockB.imgR .cont, .imgBlockC.imgR .cont, .imgBlockT.imgR .cont {
-webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
        order: 1;
-webkit-box-flex: 1;
    -ms-flex: 1;
        flex: 1;
}
.imgBlockB.imgR .img, .imgBlockC.imgR .img, .imgBlockT.imgR .img {
-webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
        order: 2;
margin-left: 1.5vw; /* flex:1;*/
}
.imgBlockB.imgR .img img, .imgBlockC.imgR .img img, .imgBlockT.imgR .img img {
max-width: 100%;
}

ul.clm2 {
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
ul.clm2 li {
max-width: 50%;
-ms-flex-preferred-size: 50%;
    flex-basis: 50%;
}

ul.clm3 {
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
ul.clm3 li {
max-width: 33%;
-ms-flex-preferred-size: 33%;
    flex-basis: 33%;
}

ul.clm4 {
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
ul.clm4 li {
max-width: 25%;
-ms-flex-preferred-size: 25%;
    flex-basis: 25%;
}

div.clm2 {
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
div.clm2 .clm {
max-width: 50%;
-ms-flex-preferred-size: 50%;
    flex-basis: 50%;
}

div.clm3 {
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
div.clm3 .clm {
max-width: 33%;
-ms-flex-preferred-size: 33%;
    flex-basis: 33%;
}

div.clm4 {
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
div.clm4 .clm {
max-width: 25%;
-ms-flex-preferred-size: 25%;
    flex-basis: 25%;
}

ul.clm2-space {
display: -ms-grid;
display: grid;
gap: 15px;
-ms-grid-columns: 1fr 15px 1fr;
grid-template-columns: 1fr 1fr;
}
ul.clm2-space li {
max-width: 100%;
}

ul.clm3-space {
display: -ms-grid;
display: grid;
gap: 15px;
-ms-grid-columns: 1fr 15px 1fr 15px 1fr;
grid-template-columns: 1fr 1fr 1fr;
}
ul.clm3-space li {
max-width: 100%;
}

ul.clm4-space {
display: -ms-grid;
display: grid;
gap: 15px;
-ms-grid-columns: 1fr 15px 1fr 15px 1fr 15px 1fr;
grid-template-columns: 1fr 1fr 1fr 1fr;
}
ul.clm4-space li {
max-width: 100%;
}
@media screen and (max-width: 770px) {
    ul.spclm1 {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
      }
      ul.spclm2 {
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
      }
      ul.spclm2 li {
        max-width: 50%;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
      }
      ul.spclm3 {
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
      }
      ul.spclm3 li {
        max-width: 33%;
        -ms-flex-preferred-size: 33%;
            flex-basis: 33%;
      }
      ul.spclm4 {
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
      }
      ul.spclm4 li {
        max-width: 25%;
        -ms-flex-preferred-size: 25%;
            flex-basis: 25%;
      }
      ul.spclm2-space {
        display: -ms-grid;
        display: grid;
        gap: 12px;
        -ms-grid-columns: 1fr 12px 1fr;
        grid-template-columns: 1fr 1fr;
      }
      ul.spclm2-space li {
        max-width: 100%;
      }
      ul.spclm3-space {
        display: -ms-grid;
        display: grid;
        gap: 12px;
        -ms-grid-columns: 1fr 12px 1fr 12px 1fr;
        grid-template-columns: 1fr 1fr 1fr;
      }
      ul.spclm3-space li {
        max-width: 100%;
      }
      ul.spclm4-space {
        display: -ms-grid;
        display: grid;
        gap: 10px;
        -ms-grid-columns: 1fr 10px 1fr 10px 1fr 10px 1fr;
        grid-template-columns: 1fr 1fr 1fr 1fr;
      }
      ul.spclm4-space li {
        max-width: 100%;
      }
      .spclm2-space {
        display: -ms-grid;
        display: grid;
        gap: 12px;
        -ms-grid-columns: 1fr 12px 1fr;
        grid-template-columns: 1fr 1fr;
      }
      .spclm2-space .clm {
        max-width: 100%;
      }
      .spclm3-space {
        display: -ms-grid;
        display: grid;
        gap: 12px;
        -ms-grid-columns: 1fr 12px 1fr 12px 1fr;
        grid-template-columns: 1fr 1fr 1fr;
      }
      .spclm3-space .clm {
        max-width: 100%;
      }
      .spclm4-space {
        display: -ms-grid;
        display: grid;
        gap: 10px;
        -ms-grid-columns: 1fr 10px 1fr 10px 1fr 10px 1fr;
        grid-template-columns: 1fr 1fr 1fr 1fr;
      }
      .spclm4-space .clm {
        max-width: 100%;
      }
      .spclm1 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
      }
      .spclm1 > * {
        width: 100% !important;
        -ms-flex-preferred-size: 100% !important;
            flex-basis: 100% !important;
        max-width: 100% !important;
      }
      .spclm2 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
      }
      .spclm2 > * {
        -ms-flex-preferred-size: 50% !important;
            flex-basis: 50% !important;
        max-width: 50%;
      }
      .spclm3 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
      }
      .spclm3 > * {
        -ms-flex-preferred-size: 33% !important;
            flex-basis: 33% !important;
        max-width: 33%;
      }

}
/* ---------------------------------------
    common
--------------------------------------- */
h2  {
    font-size: 3.4rem;
    letter-spacing: 4px;
    text-align: center;
}

h2 img  {
    width: 23px;
}

h2 img.left {
    margin-right: 10px;
}

h2 img.right {
    margin-left: 10px;
}

/* ----- bk illust ----- */
article.price,
article.rental,
article.sns {
    position: relative;
}

.bk_illust  {
    position: absolute;
}

/* ---------------------------------------
    mv
--------------------------------------- */
.mv {
    background: linear-gradient(to right, #fef5d2, #fff7a2);
    padding: 30px 0;
    margin-bottom: 50px;
    position: relative;
    z-index: 80;
}

.mv img.bk  {
    position: absolute;
    width: 100%;
}

.mv img.bk.top  {
    top: 0;
}

.mv img.bk.bottom  {
    bottom: -114;
}

.mv .mv_wrap    {
    max-width: 1300px;
    margin: 0 auto;
    padding: 110px 0 0;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.mv .img    {
    width: 56%;
    position: relative;
    z-index: 99;
}

.mv .details    {
    width: 44%;
    position: relative;
    z-index: 99;
}

.mv .img img    {
    width: 100%;
}

.mv .details .title {
    position: relative;
}

.mv .details .title img {
    width: 100%;
}

.mv .details .title p.blue  {
    width: 86%;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    font-weight: bold;
    font-size: 2.6rem;
    line-height: 1.6;
}

.mv .details .title p.blue img  {
    width: 210px;
}

@media screen and (max-width: 1240px) {
    .mv .details .title p.blue  {
        font-size: calc(1.1rem + 1vw ); width:90%;
    }
}


.mv .details .sub_title  {
    margin: 20px 20px 30px;
}

.mv .details .sub_title p.blue {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 10px;
}

.mv .details .sub_title p.blue span {
    font-size: 2.0rem;
}

.mv .details .sub_title p:nth-child(2)  {
    font-size: 1.4rem;
}

.mv .details .news  {
    margin: 0 20px;
    padding: 15px 20px;
    border: 2px solid #26b5e9;
    border-radius: 26px;
    background-color: #fff;
}

.mv .details .news h3   {
    color: #26b5e9;
    border-bottom: 3px dotted #26b5e9;
    padding: 0 10px 6px;
}

.mv .details .news h3 a {
    display: inline-block;
    text-decoration: none;
    font-size: 1.3rem;
    font-weight: normal;
    color: #3f4344;
    margin-left: 16px;
}

.mv .details .news h3 a img {
    display: inline-block;
    vertical-align: sub;
    margin-left: 3px;
}

.mv .details .news ul    {
    list-style: none;
    margin: 16px 16px 0;
}

.mv .details .news ul li a    {
    text-decoration: none;
    color: #3f4344;
}

.mv .details .news ul li:last-child {
    margin-top: 6px;
}

.mv .details .news ul li span.title {
    display: inline-block;
    margin-left: 16px;
}

/* ---------------------------------------
    coaching
--------------------------------------- */
article.coaching    {
    padding-top: 80px;
    margin-top:-30px;
    background-color: #fdd2d2;
    background-image:
        radial-gradient(#fdeef3 15%, transparent 15%),
        radial-gradient(#fdeef3 15%, transparent 15%);
    background-size: 40px 40px;
    background-position: 0 0, 20px 20px;
}

article.coaching h2 {
    color: #f85c84;
}

article.coaching .sub_title.fukidashi {
    position: relative;
    display: inline-block;
    margin: 30px 0;
    padding: 20px 10px;
    width: 100%;
    color: #555;
    font-size: 16px;
    background: #FFF;
    box-sizing: border-box;
    border-radius: 60px;
}

article.coaching .sub_title.fukidashi::before {
    content: "";
    position: absolute;
    top: -24px;
    left: 50%;
    margin-left: -15px;
    border: 12px solid transparent;
    border-bottom: 12px solid #FFF;
    z-index: 2;
}

article.coaching .sub_title p {
    text-align: center;
    font-size: 2.0rem;
}

article.coaching .sub_title p span  {
    position: relative;
    background: url(../img/top/coaching_wavyline1.png);
    background-repeat: no-repeat;
    background-position: right 10% bottom -4px;
    padding: 0 7px 10px;
}

article.coaching .classroom.list    {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 70px;
}

article.coaching .classroom section    {
    /* width: 30%; */
    width:100%;
    background-color: #fff;
    border-radius: 10px;
    padding: 30px 26px 30px;
    position: relative;
    text-align: center;
}

article.coaching .classroom section .icon   {
    background-color: #fff;
    padding: 12px;
    border-radius: 50%;
    width: 110px;
    height: 110px;
    text-align: center;
    position: absolute;
    top: -48px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 80;
}

article.coaching .classroom section.hythmic .icon img {
    width: 60px;
    position: relative;
    top: 2px;
}

article.coaching .classroom section.pianica_kids .icon img,
article.coaching .classroom section.pianica .icon img {
    width: 78px;
    position: relative;
    top: 10px;
}

article.coaching .classroom section img.photo,
article.coaching .classroom section h3   {
    position: relative;
    z-index: 90;
}

article.coaching .classroom section h3  {
    font-size: 2.4rem;
    line-height: 1.2;
    margin-bottom: 16px;
}

article.coaching .classroom section h3 span {
    display: block;
    font-size: 1.8rem;
}

article.coaching .classroom section h3 small    {
    display: block;
    font-size: 1.4rem;
}

article.coaching .classroom section.hythmic h3 {
    color: #f85c84;
    margin-top: 13px;
}

article.coaching .classroom section.pianica_kids h3 {
    color: #ff872b;
    margin-bottom: 6px;
}

article.coaching .classroom section.pianica h3 {
    color: #0083ca;
    margin-top: 13px;
}

article.coaching .classroom section img.photo   {
    /* width: 80%; */
    width:90%;
    margin-bottom: 16px;
}
@media screen and (max-width: 770px) {
    article.coaching .classroom section img.photo   {
        width:auto;
    }
}

article.coaching .classroom section p   {
    text-align: left;
    font-size: 1.5rem;
}

article.coaching .classroom section.piano   {
    width: 100%;
    margin-top: 100px;
}

article.coaching .classroom section.piano .details  {
    position: relative;
    z-index: 90;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

article.coaching .classroom section.piano .icon img {
    width: 52px;
}

article.coaching .classroom section.piano .img  {
    width: 20%;
}

article.coaching .classroom section.piano .img img  {
    width: 100%;
}

article.coaching .classroom section.piano .note {
    width: 80%;
    padding: 0 20px;
}

article.coaching .classroom section.piano h3    {
    color: #26b5e9;
    font-size: 2.6rem;
    text-align: left;
    margin-bottom: 10px;
}

article.coaching .classroom section.piano h3 span   {
    display: inline-block;
    margin-right: 10px;
}

article.coaching .classroom section.piano .recital  {
    margin-top: 60px;
    padding: 30px 60px;
    position: relative;
    border: 2px solid #26b5e9;
    border-radius: 20px;
}

article.coaching .classroom section.piano .recital img.title    {
    position: absolute;
    top: -46px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

article.coaching .classroom section.piano .recital .sub_title   {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
}

article.coaching .classroom section.piano .recital .sub_title .img_l,
article.coaching .classroom section.piano .recital .sub_title .img_r    {
    width: 16%;
}

article.coaching .classroom section.piano .recital .sub_title .img_l img,
article.coaching .classroom section.piano .recital .sub_title .img_r img    {
    width: 100%;
}

article.coaching .classroom section.piano .recital .sub_title .title {
    width: 68%;
    padding: 0;
}

article.coaching .classroom section.piano .recital h3 {
    font-size: 1.9rem;
    line-height: 1.4;
    color: #f85c84;
    text-align: center;
    display: inline-block;
    margin: 0 10px;
}

article.coaching .classroom section.piano .recital .note    {
    width: 100%;
    background-color: #e1f4fc;
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    margin: 30px 0 0;
    padding: 20px 30px;
    width: 100%;
    font-size: 16px;
    box-sizing: border-box;
    border-radius: 20px;
}

article.coaching .classroom section.piano .recital .note::before {
    content: "";
    position: absolute;
    top: -24px;
    left: 50%;
    margin-left: -15px;
    border: 12px solid transparent;
    border-bottom: 12px solid #e1f4fc;
    z-index: 2;
}

article.coaching .classroom section.piano .recital .note .right,
article.coaching .classroom section.piano .recital .note .left {
    width: 47%;
}

article.coaching .classroom section.piano .recital .note ul {
    list-style: none;
}

article.coaching .classroom section.piano .recital .note ul li  {
    color: #0083ca;
    text-align: left;
    font-size: 1.4rem;
}

article.coaching .classroom section.piano .piano_adult  {
    margin-top: 50px;
    padding: 20px 50px;
    background-color: #26b5e9;
    border-radius: 20px;
}

article.coaching .classroom section.piano .piano_adult h3   {
    color: #fff;
    text-align: center;
}

article.coaching .classroom section.piano .piano_adult h3 span  {
    font-size: 2.6rem;
    display: inline-block;
    position: relative;
}

article.coaching .classroom section.piano .piano_adult h3 img   {
    width: 110px;
    position: absolute;
    top: -40px;
    left: -110px;
}

article.coaching .classroom section.piano .piano_adult .note    {
    width: 100%;
    background-color: #fff;
    padding: 16px 50px;
    border-radius: 14px;
    position: relative;
}

article.coaching .classroom section.piano .piano_adult .note img    {
    position: absolute;
    top: -40px;
    left: -30px;
    width: 78px
}

/* ---------------------------------------
    price
--------------------------------------- */
article.price   {
    background-color: #beeafe;
    background-image:
    repeating-linear-gradient(-45deg,
    #afe4fb, #afe4fb 10px,
    transparent 0, transparent 26px);
}

article.price h2    {
    color: #26b5e9;
    margin-bottom: 60px;
}

article.price section   {
    background-color: #fff;
    border-radius: 30px;
    padding: 46px 50px;
    margin-bottom: 60px;
    position: relative;
    z-index: 90;
}

article.price section:last-child    {
    margin-bottom: 0;
}

article.price section .tag_list {
    position: absolute;
    top: -26px;
    left: 60px;
}

article.price section .tag_list img {
    width: 110px;
}

article.price section .tag_list img:nth-child(2)    {
    margin: 0 16px;
}

article.price section .tag_list img:last-child  {
    margin-right: 0;
}

article.price section img.point_img {
    width: 180px;
    position: absolute;
    top: -40px;
    right: 50px;
}

article.price section h3    {
    font-size: 2.8rem;
    line-height: 1.2;
    margin-bottom: 10px;
}

article.price section h3 span    {
    font-size: 1.8rem;
    margin-right: 6px;
}

article.price section .table    {
    margin-top: 30px;
}

article.price section .table p.title    {
    color: #fff;
    text-align: center;
    padding: 6px 0;
    border-radius: 10px 10px 0 0;
}

article.price section .table table  {
    width: 100%;
    border-spacing: 0;
    border-collapse: separate;
    border-radius: 0 0 10px 10px;
}

article.price section .table table th,
article.price section .table table td   {
    font-size: 1.6rem;
    padding: 20px;
    line-height: 1.6;
}

article.price section .table table th   {
    width: 260px;
    text-align: left;
    vertical-align: middle;
}

article.price section .table table tr:last-child th    {
    border-radius: 0 0 0 10px;
}

article.price section .table table td   {
    width: calc(100% - 260px);
}

article.price section .table table tr:last-child td    {
    border-radius: 0 0 10px 0;
}

article.price section .table table td small   {
    display: block;
    font-size: 1.4rem;
    margin-top: 5px;
}

article.price section .table table td div   {
    margin-bottom: 16px;
}

article.price section .table table td div:last-child   {
    margin-bottom: 0;
}

article.price section.attention {
    text-align: center;
    border: 3px solid #26b5e9;
    border-radius: 16px;
    padding: 46px 100px;
}

article.price section.attention h3 {
    position: relative;
    background: url(../img/top/price_wavyline_pink.png);
    background-repeat: no-repeat;
    background-position: right 10% bottom -4px;
    display: inline-block;
    padding: 0 0 10px;
    margin-bottom: 16px;
    font-size: 2.3rem;
}

article.price section.attention ul li   {
    text-align: left;
}

/* ----- accordion ----- */
.rhythmic_acd_check,
.piano_one_acd_check,
.piano_two_acd_check,
.piano_three_acd_check,
.pianica_kids_acd_check,
.pianica_kids_two_acd_check,
.pianica_kids_three_acd_check,
.pianica_one_acd_check,
.pianica_two_acd_check{
    display: none;
}

.rhythmic_acd_label,
.piano_one_acd_label,
.piano_two_acd_label,
.piano_three_acd_label,
.pianica_kids_acd_label,
.pianica_kids_two_acd_label,
.pianica_kids_three_acd_label,
.pianica_one_acd_label,
.pianica_two_acd_label {
    color: #fff;
    display: block;
    margin-bottom: 1px;
    padding: 6px 0;
    width: 200px;
    text-align: center;
    border-radius: 50px;
}

.rhythmic_acd_label::after,
.piano_one_acd_label::after,
.piano_two_acd_label::after,
.piano_three_acd_label::after,
.pianica_kids_acd_label::after,
.pianica_kids_two_acd_label::after,
.pianica_kids_three_acd_label::after,
.pianica_one_acd_label::after,
.pianica_two_acd_label::after {
    content: "▼";
    margin-left: 6px;
    transition: .2s;
}

.rhythmic_acd_content,
.piano_one_acd_content,
.piano_two_acd_content,
.piano_three_acd_content,
.pianica_kids_acd_content,
.pianica_kids_two_acd_content,
.pianica_kids_three_acd_content,
.pianica_one_acd_content,
.pianica_two_acd_content   {
    height: 0;
    opacity: 0;
    transition: .2s;
    visibility: hidden;
}

.piano_one_acd_content p    {
    margin-bottom: 10px;
}

.piano_one_acd_content p:last-child {
    margin-bottom: 0;
}

.rhythmic_acd_check:checked + .rhythmic_acd_label:after,
.piano_one_acd_check:checked + .piano_one_acd_label:after,
.piano_two_acd_check:checked + .piano_two_acd_label:after,
.piano_three_acd_check:checked + .piano_three_acd_label:after,
.pianica_kids_acd_check:checked + .pianica_kids_acd_label:after,
.pianica_kids_two_acd_check:checked + .pianica_kids_two_acd_label:after,
.pianica_kids_three_acd_check:checked + .pianica_kids_three_acd_label:after,
.pianica_one_acd_check:checked + .pianica_one_acd_label:after,
.pianica_two_acd_check:checked + .pianica_two_acd_label:after   {
    content: '▲';
}

.rhythmic_acd_check:checked + .rhythmic_acd_label + .rhythmic_acd_content,
.piano_one_acd_check:checked + .piano_one_acd_label + .piano_one_acd_content,
.piano_two_acd_check:checked + .piano_two_acd_label + .piano_two_acd_content,
.piano_three_acd_check:checked + .piano_three_acd_label + .piano_three_acd_content,
.pianica_kids_acd_check:checked + .pianica_kids_acd_label + .pianica_kids_acd_content,
.pianica_kids_two_acd_check:checked + .pianica_kids_two_acd_label + .pianica_kids_two_acd_content,
.pianica_kids_three_acd_check:checked + .pianica_kids_three_acd_label + .pianica_kids_three_acd_content,
.pianica_one_acd_check:checked + .pianica_one_acd_label + .pianica_one_acd_content,
.pianica_two_acd_check:checked + .pianica_two_acd_label + .pianica_two_acd_content   {
    height: auto;
    opacity: 1;
    padding: 16px 0 0;
    visibility: visible;
}

/* ----- color ----- */
article.price section.rhythmic h3,
article.price section.rhythmic p.memo,
article.price section.rhythmic strong   {
    color: #f85c84;
}

article.price section.rhythmic .table table {
    border: 2px solid #f85c84;
}

article.price section.rhythmic .table table th {
    border-bottom: 2px solid #f85c84;
    border-right: 2px solid #f85c84;
}

article.price section.rhythmic .table table tr:last-child th    {
    border-bottom: none;
}

article.price section.rhythmic .table table td  {
    border-bottom: 2px solid #f85c84;
}

article.price section.rhythmic .table table tr:last-child td    {
    border-bottom: none;
}

article.price section.rhythmic .table p.title,
article.price section.rhythmic .table .rhythmic_acd_label   {
    background-color: #f85c84;
}

article.price section.piano h3,
article.price section.piano strong   {
    color: #26b5e9;
}

article.price section.piano .table table {
    width: 100%;
    border: 2px solid #26b5e9;
}

article.price section.piano .table table th {
    border-bottom: 2px solid #26b5e9;
    border-right: 2px solid #26b5e9;
}

article.price section.piano .table table tr:last-child th    {
    border-bottom: none;
}

article.price section.piano .table table td  {
    border-bottom: 2px solid #26b5e9;
}

article.price section.piano .table table tr:last-child td    {
    border-bottom: none;
}

article.price section.piano .table p.title,
article.price section.piano .table .piano_one_acd_label,
article.price section.piano .table .piano_two_acd_label,
article.price section.piano .table .piano_three_acd_label   {
    background-color: #26b5e9;
}

article.price section.pianica_kids h3,
article.price section.pianica_kids strong   {
    color: #ff872b;
}

article.price section.pianica_kids .table table {
    border: 2px solid #ff872b;
}

article.price section.pianica_kids .table table th {
    border-bottom: 2px solid #ff872b;
    border-right: 2px solid #ff872b;
}

article.price section.pianica_kids .table table tr:last-child th    {
    border-bottom: none;
}

article.price section.pianica_kids .table table td  {
    border-bottom: 2px solid #ff872b;
}

article.price section.pianica_kids .table table tr:last-child td    {
    border-bottom: none;
}

article.price section.pianica_kids .table p.title,
article.price section.pianica_kids .table .pianica_kids_acd_label,
article.price section.pianica_kids .table .pianica_kids_two_acd_label,
article.price section.pianica_kids .table .pianica_kids_three_acd_label   {
    background-color: #ff872b;
}

article.price section.pianica h3,
article.price section.pianica strong   {
    color: #0083ca;
}

article.price section.pianica .table table {
    border: 2px solid #0083ca;
}

article.price section.pianica .table table th {
    border-bottom: 2px solid #0083ca;
    border-right: 2px solid #0083ca;
}

article.price section.pianica .table table tr:last-child th    {
    border-bottom: none;
}

article.price section.pianica .table table td  {
    border-bottom: 2px solid #0083ca;
}

article.price section.pianica .table table tr:last-child td    {
    border-bottom: none;
}

article.price section.pianica .table p.title,
article.price section.pianica .table .pianica_one_acd_label,
article.price section.pianica .table .pianica_two_acd_label   {
    background-color: #0083ca;
}

/* ----- illust ----- */
article.price .bk_illust    {
    z-index: 80;
}

article.price .star_1   {
    top: 10%;
    left: 30px;
}

article.price .star_2   {
    top: 32%;
    right: 26px;
}

article.price .star_3   {
    top: 50%;
    left: 40px;
}

article.price .star_4   {
    top: 60%;
    right: 30px;
}

article.price .star_5   {
    top: 77%;
    left: 36px;
}

article.price .dog_1    {
    top: 27%;
    right: 110px;
}

article.price .dog_2    {
    top: 53%;
    left: 100px;
}

article.price .dog_3    {
    bottom: -100px;
    right: 100px;
}


/* ---------------------------------------
    rental
--------------------------------------- */
article.rental  {
    background-color: #dcfef7;
    background-image:
    repeating-linear-gradient(-45deg,
    #c6fdea, #c6fdea 10px,
    transparent 0, transparent 26px);
}

article.rental h2    {
    color: #02c2c4;
    margin-bottom: 30px;
    font-size: 2.8rem;
}

article.rental h2 small {
    font-size: 2.2rem;
}

article.rental p.note   {
    text-align: center;
    margin-bottom: 16px;
}

article.rental div.note {
    background-color: #fff;
    border-radius: 16px;
    width: 630px;
    margin: 0 auto;
    padding: 20px 120px;
    position: relative;
}

article.rental div.note .bk_illust  {
    position: absolute;
}

article.rental div.note .onpu_1 {
    top: -16px;
    left: 30px;
}

article.rental div.note .onpu_2 {
    bottom: -20px;
    right: -10px;
}

/* ----- illust ----- */
article.rental .bk_illust    {
    z-index: 80;
}

article.rental .star_1   {
    bottom: 12%;
    left: 130px;
}

article.rental .star_2   {
    top: 22%;
    right: 360px;
}
/* ---------------------------------------
    sns
--------------------------------------- */
article.sns {
    background-color: #fffbc4;
    background-image: radial-gradient(#feeed4 15%, transparent 15%), radial-gradient(#feeed4 15%, transparent 15%);
    background-size: 40px 40px;
    background-position: 0 0, 20px 20px;
}

article.sns h2  {
    color: #f85c84;
    margin-bottom: 60px;
}

article.sns .sns_group,
article.sns .area.line,
.area.full.circle   {
    position: relative;
    z-index: 20;
}

article.sns .sns_group  {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 30px;
}

article.sns .sns_group .area {
    width: 100%;
}

article.sns .area p.title   {
    background-color: #fdd2d2;
    color: #26b5e9;
    font-weight: bold;
    text-align: center;
    border-radius: 16px 16px 0 0;
    padding: 6px 0;
}

article.sns .area .details  {
    background-color: #fff;
    border-radius: 0 0 16px 16px;
    padding: 20px 30px;
}

article.sns .sns_group .area .details   {
    min-height: 530px;
}

iframe#twitter-widget-0   {
    height: 487px !important;
}

article.sns .area.line   {
    margin-bottom: 30px;
}

article.sns .area.line .details {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

article.sns .area.line .details .img    {
    width: 53%;
    text-align: right;
}

article.sns .area.line .details .img img    {
    width: 90%;
}

article.sns .area.line .details .memo    {
    width: 47%;
    padding: 0 20px;
}

article.sns .area.line .details .memo p {
    font-size: 1.5rem;
    color: #26b5e9;
}

article.sns .area.circle .details    {
    padding: 20px 100px
}

article.sns .area.circle .details ul    {
    list-style: none;
}

article.sns .area.circle .details ul li    {
    margin-bottom: 6px;
}

article.sns .area.circle .details ul li:last-child  {
    margin-bottom: 0;
}

article.sns .area.circle .details ul li a   {
    text-decoration: none;
    color: #3f4344;
}

article.sns .area.circle .details ul li span.title {
    display: inline-block;
    margin-left: 16px;
}

/* ----- Instagram ----- */
.details.inst ul li {
    margin: 4px;
    display: inline-block;
}

.details.inst .jr-insta-thumb ul.thumbnails.jr_col_4 li {
    width: 30.5% !important;
}

.details.inst ul li img {
    width: 100%;
}

/* ----- illust ----- */
article.sns .music_1   {
    top: 100px;
    left: 40px;
    z-index: 10;
}

article.sns .music_2   {
    bottom: 200px;
    right: 40px;
    z-index: 10;
}

/* ---------------------------------------
    responsive
    tab
--------------------------------------- */
@media screen and (max-width: 1100px) {
    /* ---------------------------------------
        mv
    --------------------------------------- */
    .mv {
        margin-bottom: 0;
    }

    .mv .img    {
        width: 41%;
    }
    .mv .details {
        width: 56%;
    }

    .mv .mv_wrap    {
        padding: 30px 0 0;
    }

    .mv img.bk.bottom {
        bottom: -60px;
    }

    /* ---------------------------------------
        coaching
    --------------------------------------- */
    article.coaching .classroom section.piano .recital  {
        padding: 30px;
    }

    article.coaching .classroom section.piano .recital h3   {
        font-size: 1.8rem;
    }

    article.coaching .classroom section.piano .recital .note    {
        padding: 20px;
    }

    /* ---------------------------------------
        price
    --------------------------------------- */
    article.price section.attention {
        padding: 30px 60px;
    }

    /*----- illust -----*/
    article.price .bk_illust,
    article.rental .star_1,
    article.rental .star_2,
    article.sns .bk_illust    {
        display: none;
    }
    /* ---------------------------------------
        sns
    --------------------------------------- */
    article.sns .sns_group .area .details {
        min-height: 460px;
    }

    iframe#twitter-widget-0 {
        height: 415px !important;
    }
    /* ----- Instagram ----- */
    .details.inst ul li.GraphImage {
        margin: 6px;
    }
}

@media screen and (max-width: 770px) {
    /* ---------------------------------------
        mv
    --------------------------------------- */
    .mv .mv_wrap    {
        flex-direction: column;
    }

    .mv .img {
        width: 100%;
    }

    .mv .details    {
        width: 90%;
    }

    .mv .details .title p.blue  {
        top: 67%;
        left: 50%;
        transform: translate(-50%, -63%);
        -webkit-transform: translate(-50%, -63%);
        -ms-transform: translate(-50%, -63%);
        font-size: calc(2.5rem + 1vw); width:92%;
    }

    .mv .details .sub_title p.blue  {
        font-size: 2.4rem;
    }

    .mv .details .sub_title p.blue span {
        font-size: 2.8rem;
    }

    .mv img.bk.bottom {
        bottom: -46px;
    }

    /* ---------------------------------------
        coaching
    --------------------------------------- */
    article.coaching .sub_title p span  {
        padding: 0 7px 7px;
        display: inline-block;
        margin-bottom: 4px;
    }

    article.coaching .classroom.list    {
        flex-direction: column;
    }

    article.coaching .classroom section {
        width: 100%;
        margin-bottom: 90px;
    }

    article.coaching .classroom section:last-child  {
        margin-bottom: 0;
    }

    article.coaching .classroom section h3  {
        font-size: 3.0rem;
    }

    article.coaching .classroom section h3 span {
        font-size: 2.0rem;
        margin-bottom: 4px;
    }

    article.coaching .classroom section h3 small    {
        font-size: 2.0rem;
        margin-top: 4px;
    }

    article.coaching .classroom section.piano .details .note    {
        padding-right: 0;
    }

    article.coaching .classroom section.piano .recital .sub_title .img_l,
    article.coaching .classroom section.piano .recital .sub_title .img_r    {
        display: none;
    }

    article.coaching .classroom section.piano .recital .sub_title   {
        margin-top: 30px;
    }

    article.coaching .classroom section.piano .recital .sub_title .title    {
        width: 100%;
    }

    article.coaching .classroom section.piano .recital .note    {
        flex-direction: column;
        padding: 20px 80px;
    }

    article.coaching .classroom section.piano .recital .note .right,
    article.coaching .classroom section.piano .recital .note .left  {
        width: 100%;
    }
    /* ---------------------------------------
        price
    --------------------------------------- */
    article.price section .table_list   {
        flex-direction: column;
        margin-top: 30px;
    }

    article.price section .table_list .table    {
        width: 100%;
    }

    article.price section.pianica_kids h3 span  {
        display: block;
        margin-top: 4px;
    }
    /* ---------------------------------------
        sns
    --------------------------------------- */
    article.sns .area.circle .details {
        padding: 20px 40px;
    }

    article.sns .sns_group .area .details {
        min-height: 332px;
    }

    iframe#twitter-widget-0 {
        height: 295px !important;
    }
    /* ----- Instagram ----- */
    .details.inst ul li.GraphImage {
        width: 28%;
        margin: 5px;
    }
}

/* ---------------------------------------
    responsive
    sp
--------------------------------------- */
@media screen and (max-width: 640px) {
    h2  {
        font-size: 3.0rem;
    }
    /* ---------------------------------------
        mv
    --------------------------------------- */
    .mv .details {
        width: 96%;
    }

    .mv .details .title p.blue  {
        width: 94%;
        font-size: 1.8rem;
    }

    .mv .details .title p.blue img {
        width: 130px;
    }

    .mv .details .sub_title p.blue  {
        font-size: 1.8rem;
    }

    .mv .details .sub_title p.blue span {
        font-size: 2.0rem;
    }

    .mv .details .sub_title {
        margin: 20px 16px 30px;
    }

    .mv .details .news  {
        margin: 0 10px;
        border-radius: 15px;
    }

    .mv .details .news h3   {
        font-size: 2.0rem;
    }

    .mv .details .news ul   {
        margin: 10px 5px 0;
    }

    .mv .details .news ul li span.title {
        display: block;
        margin-left: 0;
    }

    .mv img.bk.bottom {
        bottom: -23px;
    }

    /* ---------------------------------------
        coaching
    --------------------------------------- */
    article.coaching    {
        padding-top: 0;
    }

    article.coaching .sub_title.fukidashi   {
        border-radius: 20px;
    }

    article.coaching .classroom section h3  {
        font-size: 2.6rem;
    }

    article.coaching .classroom section.piano .details  {
        flex-direction: column;
    }

    article.coaching .classroom section.piano .img,
    article.coaching .classroom section.piano .note  {
        width: 100%;
    }

    article.coaching .classroom section.piano .img img  {
        width: 80%;
    }

    article.coaching .classroom section.piano .note {
        padding: 0;
        margin-top: 16px;
    }

    article.coaching .classroom section.piano h3    {
        margin: 13px 0 16px;
        text-align: center;
    }

    article.coaching .classroom section.piano h3 span   {
        display: block;
    }

    article.coaching .classroom section.piano .recital img.title    {
        top: -35px;
        width: 321px;
    }

    article.coaching .classroom section.piano .recital {
        padding: 30px 16px;
    }

    article.coaching .classroom section.piano .recital .sub_title   {
        margin-top: 6px;
    }

    article.coaching .classroom section.piano .recital h3   {
        margin: 0;
        text-align: left;
    }

    article.coaching .classroom section.piano .recital .sub_title .title img    {
        display: none;
    }

    article.coaching .classroom section.piano .recital .note    {
        padding: 20px 16px;
    }

    article.coaching .classroom section.piano .piano_adult h3 span  {
        font-size: 2.4rem;
    }

    article.coaching .classroom section.piano .piano_adult h3 img   {
        top: -57px;
        left: -50px;
    }

    article.coaching .classroom section.piano .piano_adult  {
        padding: 20px 16px;
    }

    article.coaching .classroom section.piano .piano_adult .note img    {
        display: none;
    }

    article.coaching .classroom section.piano .piano_adult .note    {
        padding: 20px 16px;
    }
    /* ---------------------------------------
        price
    --------------------------------------- */
    article.price section   {
        border-radius: 20px;
        padding: 46px 20px;
    }

    article.price section h3 span   {
        display: block;
        margin-bottom: 6px;
    }

    article.price section .tag_list {
        left: -8px;
    }

    article.price section .tag_list img {
        width: 100px;
    }

    article.price section .tag_list img:nth-child(2) {
        margin: 0 6px;
    }

    article.price section img.point_img {
        display: none;
    }

    article.price section .table,
    article.price section .table_list {
        margin-top: 20px;
    }

    article.price section .table table th,
    article.price section .table table td {
        display: block;
        width: 100%;
        padding: 10px 16px;
    }

    article.price section.rhythmic .table table th   {
        border-right: none;
        background-color: #fdd2d2;
    }

    article.price section.piano .table table th {
        border-right: none;
        background-color: #c9ecff;
    }

    article.price section.pianica_kids .table table th  {
        border-right: none;
        background-color: #ffe2cc;
    }

    article.price section.pianica .table table th   {
        border-right: none;
        background-color: #e1f4ff;
    }

    article.price section .table table tr:last-child th {
        border-radius: 0;
    }

    article.price section.rhythmic .table table tr:last-child th    {
        border-bottom: 2px solid #f85c84;
    }

    article.price section.piano .table table tr:last-child th   {
        border-bottom: 2px solid #26b5e9;
    }

    article.price section.pianica_kids .table table tr:last-child th    {
        border-bottom: 2px solid #ff872b;
    }

    article.price section.pianica .table table tr:last-child th {
        border-bottom: 2px solid #0083ca;
    }

    article.price section.attention {
        padding: 30px;
    }
    /* ---------------------------------------
        rental
    --------------------------------------- */
    article.rental h2   {
        font-size: 2.0rem;
    }

    article.rental h2 small {
        font-size: 1.6rem;
    }

    article.rental p.note   {
        text-align: left;
    }

    article.rental div.note {
        width: 100%;
        padding: 20px 30px;
    }

    article.rental div.note .onpu_1 {
        left: 10px;
        width: 30px;
    }

    article.rental div.note .onpu_2 {
        right: -7px;
        width: 60px;
    }

    /* ---------------------------------------
        sns
    --------------------------------------- */
    article.sns .sns_group,
    article.sns .area.line .details  {
        flex-direction: column;
    }

    article.sns .area .details,
    article.sns .area.circle .details  {
        padding: 20px 16px;
    }

    article.sns .sns_group .area,
    article.sns .area.line .details .img,
    article.sns .area.line .details .memo    {
        width: 100%;
    }

    article.sns .sns_group .area:last-child {
        margin-top: 30px;
    }

    article.sns .area.line .details .img img    {
        width: 100%;
    }

    article.sns .area.line .details .memo   {
        padding: 0;
        margin-top: 16px;
    }

    .details.inst ul li {
        margin: 5px;
    }

    article.sns .area.circle .details ul li span.title   {
        display: block;
        margin: 0;
    }

    article.sns .sns_group .area .details {
        min-height: 420px;
    }

    iframe#twitter-widget-0 {
        height: 376px !important;
    }

}

@media screen and (max-width: 360px) {
    /* ---------------------------------------
        mv
    --------------------------------------- */
    .mv .details .title p.blue  {
        font-size: 1.7rem;
    }

    .mv .details .title p.blue img {
        width: 110px;
    }
    /* ---------------------------------------
        price
    --------------------------------------- */
    article.price section .tag_list img {
        width: 89px;
    }
}