/* ---------------------------------------
    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;
    }
}