/* ★★★　Common ★★★ */
.tmg10{
    margin-top: 10px;
}
.tmg15 {
    margin-top: 15px;
}
.tmg20 {
    margin-top: 20px;
}
.indent_m1 {
    margin-left: 1em;
    text-indent: -1em;
}

/* ★★★　Biography ★★★ */
/* ------------------------------------------------ */
.bio_container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    flex-flow: wrap;
}
.bio_item1 {
    width: 400px;
}
.bio_item1 img {
    width: 100%;
    object-fit: cover;
}
.bio_item2 {
    margin-top: 0px;
    margin-left: 20px;
    flex: 1;
}
.bio_prof {
    margin-top:5px;
    margin-bottom:10px;
}
.bio_text {
    display: inline-block;
    padding-top: 10px;
    /* word-break: break-word; */
    word-break: break-all;
}
.bio_kanji > li {
    list-style-type: disc;
}

/* ★★★　Works ★★★ */
/* ------------------------------------------------ */
.wok_container {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    height: 2800px;
    font-size: 0.95rem;
}
.wok_h2 {
    font-size: 1.3rem;
}
.wok_item {
    width: calc(50% - 30px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 30px;
}
.wok_item_media {
    padding-left: 13px;
}
.wok_item_media ul {
    list-style-type: disc;
    padding-left: 20px;
    list-style-position: outside;
}
.wok_item tr {
    height: 27px;
}
.wok_item td {
    vertical-align: top;
    border: none;
}
.wok_item_names {
    width: auto;
    padding-left: 5px;
}
.wok_item_names a {
    color: var(--body_fg);
    text-decoration: none;
}
.wok_item_names a:hover {
    text-decoration: underline;
}
.wok_item_indent1 {
    padding-left: 4.4em;
    text-indent: -4.4em;    
}
.wok_item_indent2 {
    padding-left: 6em;
    text-indent: -6em;    
}
.wok_item_indent3 {
    padding-left: 0.5em;
}

/* 誌面記事 */
#mag a {
    color: var(--body_fg);
    text-decoration: none;
}
#mag a:hover {
    text-decoration: underline;
}
#mag .c1 {
    width: 125px;
}
#mag .c2 {
    width: auto;
}

/* クリニック */
#clinic .c1 {
    width: 125px;
}
#clinic .c2 {
    width: auto;
}

/* 仕事区分 */
.wok_item_types {
    width: 160px;
    text-align: right;
}
.wok_types {
    display: inline-block;
    width: 45px;
    margin-left: 3px;
    text-align: center;
    font-size: 0.8rem;
}
.type_live {
    background-color: mediumvioletred;
    color: white;
    border: solid 1px black;
    border-radius: 3px;
}
.type_mv {
    background-color: darkgreen;
    color: white;
    border: solid 1px black;
    border-radius: 3px;
}
.type_rec {
    background-color: indigo;
    color: white;
    border: solid 1px black;
    border-radius: 3px;
}
.type_none {
    padding-left: 2px;
}

/* *** Lesson ★★★ */
/* ------------------------------------------------ */
.les_container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    flex-flow: wrap;
}
.les_h2 {
    font-size: 1.3rem;
}
.les_item1 {
    flex: 1;
}
.les_item1 div {
    padding-top: 10px;
}
.les_item1 > div > p {
    padding-left: 15px;
}
.les_item2 {
    width: 400px;
    margin-top: 0px;
    margin-left: 20px;
}
.les_item2 img {
    width: 100%;
    object-fit: cover;
}
.les_text {
    padding-top: 10px;
    word-break: break-all;
}

/* *** Equipment *** */
/* ------------------------------------------------ */
.equ_container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    flex-flow: wrap;
    font-size: 0.95rem;
}
.equ_item1 {
    width: 55%;
}
.equ_item1 img {
    width: 100%;
    padding-bottom: 1px;
}
.equ_item2 {
    width: calc(45% - 20px);
    margin-left: 20px;
}
.equ_drum_item {
    margin-bottom: 15px;
}
.equ_slider {
    margin-top: 15px;
    height: 300px;
}
.equ_slider div {
    height: 100%;
}
.equ_slider img {
    padding-right: 1px;
    height: 100%;
}

.list_disc {
    padding-top: 5px;
    list-style-type: disc;
}
.list_disc2 {
    list-style-type: disc;
}
.list_none {
    padding-left: 1.4em;
}

/* *** Videography *** */
/* ------------------------------------------------ */
.vdo_container {
    display: flex;
    width: 100%;
    padding-bottom: 10px;
}
.vdo_h2 {
    font-size: 1.2rem;
}
.vdo_h3 {
    font-size: 1.0rem;
}
.vdo_frame1 {
    width: 100%;
    max-width: 330px;
    height: 186px;
}
.vdo_frame2 {
    margin-left: 20px;
}
.vdo_frame1 > iframe {
    border-radius: 25px;
}

/* *** Goods *** */
/* ------------------------------------------------ */
.gds_container {
    width: 100%;
    background: linear-gradient(to bottom,rgba(40, 60, 60, 0.95) 30% , rgba(40, 40, 40, 0.95) 60%, #646e6e);  
    color: white;
}
.gds_container img {
    width: 100%;
}
.gds_container span {
    display: block;
}
.gds_container hr { 
    border: 0; 
    height: 1px;
    margin-top: 20px;
    margin-bottom: 20px;
    background-color: transparent;
    background-image: linear-gradient(to right, transparent, #ccc, transparent);
}

.gds_item_up {
    width: 100%;
}
.gds_item_dw {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    font-size: 0.8rem;
    padding-bottom: 30px;
}

.gds_items {
    display: flex;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}
.gds_item {
    margin-top: 15px;
    width: calc(50% - 40px);
    padding-left: 20px;
    padding-right: 20px;
}
.gds_item > img {
    width: 100%;
}
.gds_item_dwl {
    width: 50%;
    margin-top: 30px;
}
.gds_item_dwr {
    width: 50%;
    margin-top: 30px;
}
.gds_item_center {
    text-align: center;
}
.gds_item_center_v {
    text-align: center;
    vertical-align: middle;
}
.gds_explanation {
    width: 100%;
    text-align: center;
}
.gds_explanation span.head {
    font-size: 1.3rem;
    margin-top: 25px;
    margin-bottom: 15px;
}


/* 価格表示関連 ここから */
.gds_item_price_tag {
    margin-top: 10px;
    font-size: 0.8rem;
}
.gds_item_price {
    display: inline-block !important;
    color: crimson;
    font-size: 1.3rem;
    font-weight: bold;
    font-family: '';
}
.gds_item_price_ship {
    display: inline-block !important;
    font-size: 0.9rem;
}
.gds_item_price_caution {
    margin-top: 20px;
    font-size: 0.9rem;
}
.gds_item_price_memo {
    margin-top: 10px;
    font-size: 0.9rem;
}
/* 価格表示関連 ここまで */
/* コメント関連 ここから */
.gds_item_upcms {
    margin-left: auto;
    margin-right: auto;
    width: 75%;
    text-align: center;
}
.gds_item_upcm {
    max-width: 450px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
}
.gds_item_upcm > h3 {
    padding-bottom: 10px;
}
.gds_item_dwcms {
    margin-left: auto;
    margin-right: auto;
    width: 82%;
    text-align: left;
}
.gds_item_dwcms span {
    display: block;
}
.gds_item_dwcm {
    margin-bottom: 20px;
    padding-left: 20px;
    list-style-position: outside;
    list-style-type: disc;
}
/* コメント関連 ここまで */

/* 下段画像関連 ここから */
.gds_items_pic {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    padding-bottom: 30px;
}
.gds_item_pic {
    margin-left: auto;
    margin-right: auto;
    max-width: 300px;
}
/* 下段画像関連 ここまで */

.gds_purchase {
    display: inline-block;
    max-width: 240px;
    width: 50%;
    margin-top: 25px;
    padding: 5px 20px;
    border-radius: 8px;
    border: solid 1px red;
    text-decoration: none;
    text-align: center;
    color: #FFF;
    cursor: pointer;
    background-image: linear-gradient(45deg, darkorange 0%,  #f76a35 100%);
    font-size: 1.1rem;
  }
.gds_purchase:hover {
    background-image: linear-gradient(45deg, #ff9900 0%, darkorange 100%);
  }
.gds_purchase.disabled{
    pointer-events: none;
    color: darkgray;
    background-color: gray;
    background-image: none;
    border: solid 1px dimgray;
}

/* *** Schedule *** */
/* ------------------------------------------------ */
.sch_container {
    padding-bottom: 20px;
}
.sch_item_head {
    margin-bottom: 5px;
}
.sch_date {
    font-size: 0.9rem;
}
.sch_category {
    float: right;
    padding-top: 2px;
    padding-bottom: 1px;
    padding-left: 15px;
    padding-right: 15px;
    color: var(--body_bg);
    background-color: gray;
    border-radius: 4px;
    text-decoration: none;
    font-size: 0.75rem;
}
.sch_title {
    margin-bottom: 10px;
}
.sch_title a {
    color: var(--body_fg);
    text-decoration: none;
}
.sch_title a:hover {
    color: black;
    text-decoration: underline;
}
.sch_item {
    margin-bottom: 15px;
}
.sch_note {
    margin-top: 10px;
    margin-bottom: 10px;
}
.sch_next {
    width: 100%;
    max-width: 510px;
}
.sch_prev {
    width: 100%;
    max-width: 510px;
}

/* *** Discography *** */
/* ------------------------------------------------ */
.dis_container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    flex-flow: wrap;
    font-size: 0.9rem;
    justify-content: flex-start;
}
.dis_class {
    margin-top: 10px;
    padding-left: 10px;
    padding-right: 10px;
}
.dis_item {
    width: calc((100% / 4) - 30px);
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 15px;
    padding-bottom: 20px;
}
.dis_catch_frame {
    padding: 5px;
    background-color: white;
}
.dis_catch {
    width: 100%;
}
.dis_artist {
    margin-top: 5px;
    font-size: 0.95rem;
}
.dis_album {
    margin-top: 5px;
}
.dis_tag {
    display: inline-block;
    width: 40px;
    margin-top: 5px;
    margin-bottom: 5px;
    font-size: 0.85rem;
    background-color: lightgray;
    text-align: center;
    border: solid 1px gray;
    border-radius: 3px;
}

/* *** clinic *** */
/* ------------------------------------------------ */
.dcl_container {
    width: 100%;
    background: linear-gradient(to bottom,rgba(00, 30, 67, 0.95) 30% , rgba(40, 40, 40, 0.95) 60%, #26499d);  
    color: white;
}
.dcl_container img {
    width: 100%;
}
.dcl_container span {
    display: block;
}
.dcl_container hr { 
    border: 0; 
    height: 1px;
    margin-top: 20px;
    margin-bottom: 20px;
    background-color: transparent;
    background-image: linear-gradient(to right, transparent, #ccc, transparent);
}

.dcl_item_price_table {
    margin-top: 20px;
    width: auto;
    max-width: 100%;
}
.dcl_item_span {
    margin-top: 10px;
    text-align: left;
}
.dcl_item_span_nm {
    text-align: left;
}
.dcl_item_span_big {
    margin-top: 10px;
    text-align: left;
    font-size: 1.2rem;
    color: gold;   
}
.dcl_item_span_big_wide {
    margin-top: 10px;
    margin-left: 20px;
    margin-right: 20px;
    text-align: left;
    font-size: 1.2rem;
    color: gold;   
}
.dcl_buy_span {
    margin-top: 20px;
    text-align: left;
}
.dcl_addr_span {
    margin-top: 5px;
    text-align: left;
}
.dcl_addr_span_small {
    margin-left: 5px;
    text-align: left;
    font-size: 0.9rem;
}

.dcl_item_price_table td {
    border: none !important;
    text-align: left;
}
.dcl_item_price_memo1 {
    margin-top: 15px;
    text-align: left;
    font-size: 0.9rem;
}
.dcl_item_price_memo2 {
    text-align: left;
    font-size: 0.9rem;
}
.dcl_item_price_memo3 {
    text-align: left;
    font-size: 0.9rem;
    color: red;
    font-weight: bold;
}
.dcl_item_dw {
    padding-left: 20px;
    padding-right: 20px;
}
.ybs {
    filter: brightness(65%);
    max-height: 195px;
}
.ybs:hover {
    filter: brightness(80%);
}
.ybs_addr {
    margin-top: 25px;
    font-size: 0.95rem;
}
.ybs_url:link, .ybs_url:visited, .ybs_url:hover, .ybs_url:active {
    color: white;
}

.venue_addr {
    margin-top: 20px;
    margin-left: 20px;
    font-size: 0.95rem;
}
.venue_link {
    color: white;
}
.venue_link:link, .venue_link:visited, .venue_link:hover, .venue_link:active {
    color: white;
}

/* *** Contact *** */
/* ------------------------------------------------ */
.con_container {
    padding-bottom: 10px;
}
.con_frame1 {
    margin-bottom: 15px;
}
.con_frame2 > form > table > tbody > tr > th {
    border: none;
    text-align: left;
}
.con_frame2 > form > table > tbody > tr > td {
    border: none;
}
.con_frame2 > form > table > tbody > tr > .col-head {
    display: none;
}
.col-input {
    padding-bottom: 15px;
}
.con_name {
    width: calc(100% - 6px);
    max-width: 400px;
    border-radius: 3px;
}
.con_addr {
    width: calc(100% - 6px);
    max-width: 400px;
    border-radius: 3px;
}
.con_title {
    width: calc(100% - 6px);
    max-width: 400px;
    border-radius: 3px;
}
.con_text {
    width: calc(100% - 6px);
    max-width: 400px;
    height: 8em;
    border-radius: 3px;
}

/* レスポンシブ：横幅が狭いとき */
/* ------------------------------------------------ */
@media screen and (max-width: 970px) {
    .bio_item1 {
        margin-top: 0px;
        margin-left: 0px;
        width: 100%;
    }
    .bio_item2 {
        /* margin-top: -40px; */
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 10px;
        width: 100%;
    }
    /* .bio_item1 img {
        object-position: 0px -40px;
    } */
/* ------------------------------------------------ */
    .wok_container {
        margin-top: 10px;
        flex-direction: row;
        height: auto;
    }
    .wok_item {
        width: 100%;
    }
    .wok_item_types {
        width: 135px;
    }
    .wok_types {
        width: 40px;
        margin-left: 2px;
    }
/* ------------------------------------------------ */
    .les_item1 {
        width: 100%;
        margin-top: 10px;
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 20px;
    }
    .les_item2 {
        width: 100%;
        margin-left: 0px;
        margin-right: 0px;
    }
/* ------------------------------------------------ */
    .equ_item1 {
        width: 100%;
    }
    .equ_item2 {
        width: 100%;
        margin-left: 10px;
        margin-right: 10px;
    }
    .equ_slider {
        height: 180px;
        margin-bottom: 0;
    }
/* ------------------------------------------------ */
    .vdo_container {
        display: block;
        padding-top: 10px;
        text-align: center;
    }
    .vdo_frame1 {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    .vdo_frame2 {
        width: calc(100% - 20px);
        margin-left: auto;
        margin-right: auto;
        padding-left: 10px;
        padding-right: 10px;
    }
/* ------------------------------------------------ */
    .sch_container {
        padding-left: 10px;
        padding-right: 10px;
        padding-top: 13px;
    }
/* ------------------------------------------------ */
    .dis_container {
        font-size: 1rem;
    }
    .dis_item {
        width: calc((100% / 3) - 30px);
    }
    .dis_artist {
        font-size: 1rem;
    }
/* ------------------------------------------------ */
    .con_container {
        padding-left: 10px;
        padding-right: 10px;
        padding-top: 10px;
    }
}
/* レスポンシブ：横幅が狭いとき */
/* ------------------------------------------------ */
@media screen and (max-width: 440px) {
    .dis_item {
        width: calc((100% / 2) - 30px);
    }
    .gds_items {
        display: block;
        text-align: center;
    }
    .gds_item {
        width: 95%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
    }
    .gds_item_dwl {
        width: 100%;
    }
    .gds_item_dwr {
        width: 100%;
        margin-top: 0;
    }

    .ybs_addr {
        margin-top: 0;
    }
    .venue_addr {
        margin-top: 0;
        margin-left: 0;
    }
}