@charset "UTF-8";

/*!
Theme Name: ARTE Theme
Template:   simplicity2
Version:    20151225
*/

/* Simplicity子テーマ用のスタイルを書く */

/* 言語選択のデザイン調整 */
.language {
    position: absolute;
    right: 0;
    top: 0;
    margin-top: 40px;
    margin-right: 30px;
    font-size: small;
}

.language .choice li {
    display: inline-block;
    margin: 0px 3px;
}

@media screen and (max-width: 1110px) { 
    .language {
        position: relative;
        margin-top: 0px;
        margin-bottom: 10px;
        margin-right: 0px;
        text-align: center;
    }

    .language ul {
        margin: 0px;
        padding: 0px;
    }

    .language .choice li {
        margin: 0px 5px;
    }
}

/* 文字装飾パターンの追加 */
.small {
    font-size: small;
}

.small-bold {
    font-size: small;
    font-weight: bold;
}

.small-bold-red {
    color: #E50202;
    font-size: small;
    font-weight: bold;
}

.bold-orange {
    color: #eb6513;
    font-weight: bold;
}

.bold-blue {
    color: #0000ff;
    font-weight: bold;
}

/* 必須項目マークのデザイン調整 */
.small-red {
    color: #E50202;
    font-size: small;
}

/* divボタンのデザイン調整 */
.div-button a {
    text-decoration: none;
    background: -moz-linear-gradient(top,#A3A3A3 0%,#3B3B3B 50%,#242424 50%,#000);
    background: -webkit-gradient(linear, left top, left bottom, from(#A3A3A3),color-stop(0.50, #3B3B3B),color-stop(0.50, #242424),to(#000));
    color: #DDD;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border: 1px solid #000;
    -moz-box-shadow: 0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);
    -webkit-box-shadow: 0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);
    text-shadow: 0px -1px 0px rgba(000,000,000,1),0px 1px 0px rgba(255,255,255,0.2);
}

.div-button a:hover{
    background-color:#FFF;
    filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}

/* ヘッダー領域高さ調整 */
#h-top {
    min-height: auto;
}

@media screen and (max-width: 740px) { 
    #body {
        margin-top: 0px;
    }
}

/* ページタイトル（h1要素）のデザイン変更 */
h1 {
    position: relative;
    margin-left: -35px;
    margin-right: -29px;
    padding: 15px 15px 15px 30px;
    background: #e5e5e5;
    background: linear-gradient(#f5f5f5, #e5e5e5);
    box-shadow: 0 -1px 0 rgba(255,255,255,.8) inset;
    text-shadow: 0 1px 0 #fff;
}
 
h1:before,
h1:after {
    position: absolute;
    left: 0;
    bottom: -6px;
    content: '';
    border-top: 6px solid #555;
    border-left: 6px solid transparent;
}

@media screen and (max-width: 740px) { 
    h1 {
      position: relative;
      margin-left: 0px;
      margin-right: 0px;
	padding: .5em .75em;
	background-color: #f6f6f6;
	border: 1px solid #eee;
	box-shadow: 1px 1px 0 rgba(255, 255, 255, .5) inset, -1px -1px 0 rgba(100, 100, 100, .1) inset;
    }

    h1:before,
    h1:after {
      content: none;
    }
}

/* h3要素のデザイン変更 */
h3 {
    padding: .25em 0 .25em .75em;
    border-left: 6px solid #000;
}
.article h3 {
    /* margin-top: 0px; */
    /* margin-bottom: 0px; */
    padding: .25em 0 .25em .75em;
    border-bottom-style: none;
    font-size: initial;
}


/* コンテンツ表示領域下部の空白調整 */
.entry-content {
    margin-bottom: 0px;
}

#main .page {
    margin-bottom: 0px;
}

.footer-post-meta {
    display: none;
}

@media screen and (max-width: 639px) { 
    #main {
        margin-bottom: 0px;
    }
}

/* サイドバーウィジェットのデザイン調整 */
.textwidget .blog-card {
    min-height: initial;
}

.textwidget .blog-card-content {
    margin-bottom: 0px;
}

.textwidget .blog-card-excerpt {
    max-height: initial;
}

.textwidget .blog-card-excerpt p {
    margin-bottom: 10px;
}

.widget_ai1ec_agenda_widget .ai1ec-agenda-widget-view {
    max-width: initial;
}

.ai1ec-popover-inner .ai1ec-popup-excerpt {
    display: none;
}

/* 団体紹介画像のスマホ調整 */
@media screen and (max-width: 639px) { 
    .biography img.alignleft{
        display: block;
        float: none;
    }

    .biography img.alignright{
        display: block;
        float: none;
    }

    .article .biography img {
        padding: 0px 0px 20px 0px;
    }
}

/* 井上泰信氏受賞履歴デザイン調整 */
.biography .prize-list td {
    border-style: none;
    vertical-align: top;
}

/* ブログカードのデザイン調整 */
.biography .blog-card-excerpt {
    max-height: none;
}

.biography .prize-list .year {
    text-align: center;
    width: 70px;
}

/* コンサート情報のデザイン調整 */
.concert {
}

.ai1ec-actions {
    display: none;
}

.ai1ec-subscribe-container {
    display: none;
}
.concert .leaflet {
    display: inline-block;
    width: 300px;
    margin: 15px 10px 10px 0px;
    text-align: center;
}

.concert .leaflet img {
    box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.8);
}

.concert .detail {
    display: inline-block;
    width: 364px;
    vertical-align: top;
    margin-bottom: 10px;
}

.concert .detail_list {
    margin: 0px;
}

.concert .detail_list td {
    border: none;
}

.concert .detail_list a {
    text-decoration: none;
}

.concert .detail_list .title {
    width: 49px;
    font-size: 12.155px;
    font-weight: bold;
    color: #aaa;
    text-align: right;
    vertical-align: top;
}

.concert .detail_list .body {
    display: inline-block;
}

.concert .detail_list .access {
    font-size: smaller;
}

.concert .detail_list .ticket_detail {
    margin: 0;
}

.concert .detail_list .ticket_detail td {
    padding: 0;
}

.ai1ec-single-event {
    display: none;
}

.concert .program_list {
    width: 100%;
}

.concert .program_list td {
    padding: 10px 20px;
    border-top-style: solid; 
    border-left-style: none; 
    border-right-style: none;     
}

.concert .blog-card-excerpt {
    max-height: none;
}

@media screen and (max-width: 716px) {
    .concert .leaflet {
        width: 100%;
    }

    .concert .detail {
        width: 100%;
    }
}

@media screen and (max-width: 639px) { 
    .concert img.alignleft{
        display: block;
        float: none;

    }

    .concert img.alignright{
        display: block;
        float: none;
    }
    
    .concert .biography img {
        padding: 0px 0px 20px 0px;
    }
}

/**/
/* 購入ボタンのレイアウト調整 */
.concert .ticket-icon {
    margin: auto;
    text-align: center;
    width: 200px;
    position: relative;
}

.concert .ticket-icon a {
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.concert .ticket-icon img {
    vertical-align: middle;
}

/* 動画配信ページデザイン調整 */
.article .video h5 {
    background: #000;
    color: #fff;
    font-size: 10pt;
    height: 88px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    border-top: 5px dashed #fff;
    border-bottom: 5px dashed #fff;
    box-shadow: 0 0 3px 3px #000;
    text-shadow: 0 0 3px;
    padding: 5px; 
    margin: 0px;
}

/* 物販詳細画面のデザイン調整 */
.product .jacket-block {
    padding: 15px 10px 15px 0px;
    display: inline-block;
    text-align: center;
    width: 44%;
}

.product .jacket-block img {
    box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.8);
}

.product .pr-block {
    display: inline-block;
    vertical-align: top;
    width: 53%;
}

.product .pr-comment {
    height: 175px;
}

@media screen and (max-width: 639px) { 
    .product .pr-comment {
        height: auto;
    }
}

@media screen and (max-width: 550px) { 
    .product .jacket-block {
        padding: 15px 10px 0px 0px;
        width: 100%;
    }

    .product .pr-block {
        width: 100%;
    }
}

/* 購入ボタンのレイアウト調整 */
.product .sell-icon {
    text-align: center;
    width: 200px;
    position: relative;
}

.product .sell-icon a {
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.product .sell-icon img {
    vertical-align: middle;
}

@media screen and (max-width: 550px) { 
    .product .sell-icon {
        margin: auto;
    }
}

/* 曲目解説筆者表示レイアウト調整 */
.product .writer {
    text-align: right;
    font-style: oblique;
}

/* 物販詳細内部ブログカードのデザイン調整 */
.product .blog-card-excerpt {
    max-height: none;
}

.product .blog-card-excerpt .sp-warning {
    margin-bottom: 0em;
}

.product .blog-card-excerpt .sp-danger {
    margin-bottom: 0em;
}

/* 物販情報一覧用のスタイル */
.product-list {
    text-align: center;
    width: 100%;
}

.product-list .contents {
    display: inline-block;
    margin: 18px 11px;
    width: 29%;
    position:relative;
    -webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
       -moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
            box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}

.product-list .contents:before, .product-list .contents:after {
    content:"";
    position:absolute;
    z-index:-1;
    -webkit-box-shadow:0 0 20px rgba(0,0,0,0.8);
    -moz-box-shadow:0 0 20px rgba(0,0,0,0.8);
    box-shadow:0 0 20px rgba(0,0,0,0.8);
    top:0;
    bottom:0;
    left:10px;
    right:10px;
    -moz-border-radius:100px / 10px;
    border-radius:100px / 10px;
}

.product-list .contents:after {
    right:10px;
    left:auto;
    -webkit-transform:skew(8deg) rotate(3deg);
       -moz-transform:skew(8deg) rotate(3deg);
        -ms-transform:skew(8deg) rotate(3deg);
         -o-transform:skew(8deg) rotate(3deg);
            transform:skew(8deg) rotate(3deg);
}

.product-list .thumbnail {
    height: 156px;
}

.product-list .thumbnail img {
     border:1px solid #ccc;   
     padding:3px;
     background-color:#ffffff;
}

.product-list .thumbnail .no-image {
    width: 150px;
    height: 150px;
}

.product-list .title {
    font-size: smaller;
    text-align: left;
    height: 55px;
    position:relative;
    margin:0 -1px;
    text-align:center;
    background:#f0e800;
    -webkit-transform: rotate(-3deg) skew(-3deg);
    -moz-transform: rotate(-3deg) skew(-3deg);
    -o-transform: rotate(-3deg) skew(-3deg);
    -ms-transform: rotate(-3deg) skew(-3deg);
    transform: rotate(-3deg) skew(-3deg);
    text-shadow:1px 1px 0 rgba(255,255,255,1);
    box-shadow:	0 1px 2px 0 rgba(0,0,0,0.2),
                10px 0 0 0 #f0e800,
                -10px 0 0 0 #f0e800;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.product-list .contents div {
    font-size: smaller;
    text-align: left;
    height: 70px;
    padding: 10px 10px;
}

.product-list .contents p {
    font-size: smaller;
}

.product-list .sp-warning {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 0 10px 0;
}

.product-list .sp-danger {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 0 10px 0;
}

@media screen and (max-width:740px) {
    .product-list .contents {
        width: 80%;
    }
    .product-list .title {
        text-align: center;
    }
    .product-list .contents div {
        height: 40px;
        padding-top: 20px;
    }
}

/* 物販注文フォームのデザイン調整 */
.sales .mw_wp_form table {
    width: 100%;
}

.sales .mw_wp_form td {
    border-top-style: none; 
    border-bottom-style: solid; 
    border-left-style: none; 
    border-right-style: none; 
}

.sales .mw-number-form {
    width: 40px;
}

.sales .title {
    width: 86%;
    height: 61px;
}

.sales .count {
}

@media screen and (max-width:550px) {
    .sales .mwform-tel-field input[type="text"] {
        width: 80px;
    }
    .sales .title {
        font-size: small;
        width: 75%;
        height: 61px;
    }
    .sales .count {
        font-size: small;
    }
}


/* */

/* コンクール表示用のスタイル */
.competition table {
    width: 100%;
}

/* 出場者自由曲一覧のスタイル */
.competition .entry_table td {
    padding: .25em 1em .25em 1em;
}

/* 出場者自由曲一覧：一覧表のデザイン調整 */
.competition .entry_block {
    display: -webkit-flex;
    display: flex;
    /* -webkit-align-items: center; */
    /* align-items: center; */    
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    padding: 10px 0px;
}

.competition .entry_thumbnail {
    display: inline-block;
    padding: .25em 1em .25em 1em;
    text-align: center;
    width: 250px;
}

.competition .entry_thumbnail img {
    border: 4px double #ccc ;
}

.competition .entry_music {
    display: inline-block;
    width: 400px;
    padding: 0.25em 0em;
}

@media screen and (max-width:740px) {
    .competition .entry_block {
        display: block;
        -webkit-align-items: initial;
        align-items: initial;
    }

    .competition .entry_thumbnail {
        width: 90%;
    }

    .competition .entry_music {
        width: 100%;
    }
}

.competition .entry_member {
    margin-top: 1em;
    margin-left: 1em;
}

.competition .title {
    padding: .25em 0 .25em .75em;
    border-left: 6px solid #000;
}
.competition .m-title {
    padding: .25em 0 .25em 0;
    text-align: center;
    border-bottom: 3px double #ccc;
}
.competition .resp_block {
    text-align: center;
    .competition .resp_blockver
}
.competition .owner_block {
    padding: 0 .25em 0 .25em;
    display:inline-block;
}
.competition .block_1st {
    border-top: 1px #d9c87c solid;
    border-bottom: 3px #d9c87c solid;
}
.competition .block_2nd {
    border-top: 1px #c7d3d6 solid;
    border-bottom: 3px #c7d3d6 solid;
}
.competition .block_3rd {
    border-top: 1px #b69089 solid;
    border-bottom: 3px #b69089 solid;
}
.competition .block_width {
    width: 48%;
}
.competition .block_width_one {
    width: 100%;
    text-align: center;
}

/* タイムスケジュール用のスタイル */
.competition .schedule_block {
    display:inline-block;
    margin: 5px 40px 0px 40px;
    vertical-align: middle;
}
.competition .ticket td {
    border-style: none;
}
.competition .program h4 {
    margin-top: 0px;
    border-bottom:double 3px #000000;
}
.competition .program table {
    border-style: none;
}
.article .competition .only-program td {
    border: none;
}
.article .competition .program td {
    border: none;
    border-bottom: 1px #999 dotted;
}
.competition .program td {
    vertical-align: top;
    padding: 2px;
    border-top: 1px #999 dotted;
}
.competition .program-summary {
    font-size: smaller;
    line-height: 1.1em;
    margin-top: 0.5em;
}
.competition .program-list {
    margin-bottom: 0.5em;
}
.competition .program-detail {
    font-size: smaller;
    line-height: 1.1em;
}
/*  */
.competition .result_block {
    display:inline-block;
    margin: 5px 4px;
    vertical-align: middle;
}
.competition .block_name {
    width: 23%;
}
.competition .block_music {
    width: 47%;
}
.competition .composed {
    font-size: 15px;
}
.competition .block_vacant {
    margin: 32px 5px 32px 5px;
}
.competition .small_text {
    font-size: 0.8em;
}
.competition .text_right {
    text-align: right;
}
.competition .text_top {
    vertical-align: top;
}
.competition .text_orange {
    color: #eb6513;
}
.competition .result_block img {
    vertical-align: middle;
}
.competition .time_thumbnail img {
    border: 4px double #ccc;
}
.competition .body_indent {
    padding-left: 10px;
}
@media screen and (max-width:740px) {
/* タイムスケジュール用のスタイル */
    .competition .schedule_block {
        display:inline-block;
        margin: 5px 5px;
        vertical-align: middle;
    }
    .competition .resp_block {
        text-align: left;
        vertical-align: top;
    }
    .competition .owner_block {
        width: 100%;
        text-align: center;
    }
    .competition .m-title {
        padding: .25em 0 .25em .75em;
        border-bottom: 3px double #ccc;
    }
    .competition .div_btn {
        margin: .75em 0 .75em 0;
        position:relative;
        text-align: center;
        width:100%;
        height: 30px;
    }
    .competition .block_name {
        width: auto;
        width: 95%;
    }
    .competition .block_music {
        width: 95%;
    }
    .competition .composed {
        font-size: 20px;
    }
    .competition .smt-btn {
        display: block;
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:100%;
        color:#FFFFFF;
        text-decoration: none;
        background: -moz-linear-gradient(top,#A3A3A3 0%,#3B3B3B 50%,#242424 50%,#000);
        background: -webkit-gradient(linear, left top, left bottom, from(#A3A3A3),color-stop(0.50, #3B3B3B),color-stop(0.50, #242424),to(#000));
        color: #DDD;
        border-radius: 4px;
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        border: 1px solid #000;
        -moz-box-shadow: 0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);
        -webkit-box-shadow: 0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);
        text-shadow: 0px -1px 0px rgba(000,000,000,1),0px 1px 0px rgba(255,255,255,0.2);
    }
    .competition .name_flag {
        width: 98%;
    }
    .competition .block_1st {
        text-align: center;
    }
    .competition .block_2nd {
        text-align: center;
    }
    .competition .block_3rd {
        text-align: center;
    }
}

@media screen and (max-width: 1110px) { 
    .competition .div_btn {
        margin: .75em 0 .75em 0;
        position:relative;
        text-align: center;
        width:100%;
        height: 30px;
    }
    .competition .smt-btn {
        display: block;
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:100%;
        color:#FFFFFF;
        text-decoration: none;
        background: -moz-linear-gradient(top,#A3A3A3 0%,#3B3B3B 50%,#242424 50%,#000);
        background: -webkit-gradient(linear, left top, left bottom, from(#A3A3A3),color-stop(0.50, #3B3B3B),color-stop(0.50, #242424),to(#000));
        color: #DDD;
        border-radius: 4px;
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        border: 1px solid #000;
        -moz-box-shadow: 0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);
        -webkit-box-shadow: 0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);
        text-shadow: 0px -1px 0px rgba(000,000,000,1),0px 1px 0px rgba(255,255,255,0.2);
    }
}

/* コンクールタブ表示用のスタイル */
.competition .tabrow {
    text-align: center;
    list-style: none;
    margin: 0;
    padding: 0;
    line-height: 24px;
    position: relative;
    font-size: 12px;
}
.competition .tabrow:before {
    z-index: 1;
}
.competition .tabrow:after {
    position: absolute;
    content: "";
    width: 100%;
    bottom: 0;
    left: 0;
    border-bottom: 1px solid #AAA;
    z-index: 1;
}
.competition .tabrow li {
    margin: 0 10px;
    padding: 0 10px;
    border: 1px solid #AAA;
    background: #ECECEC;
    display: inline-block;
    position: relative;
    z-index: 0;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    background:      -o-linear-gradient(top, #ECECEC 50%, #D1D1D1 100%);
    background:     -ms-linear-gradient(top, #ECECEC 50%, #D1D1D1 100%);
    background:    -moz-linear-gradient(top, #ECECEC 50%, #D1D1D1 100%);
    background: -webkit-linear-gradient(top, #ECECEC 50%, #D1D1D1 100%);
    background: linear-gradient(top, #ECECEC 50%, #D1D1D1 100%);
    text-shadow: 0 1px #FFF;
    margin: 0 -5px;
    padding: 0 20px;
}
.competition .tabrow li:before,
.competition .tabrow li:after {
    position: absolute;
    bottom: -1px;
    width: 6px;
    height: 6px;
    content: " ";
    border: 1px solid #AAA;
}
.competition .tabrow li:before {
    left: -7px;
    border-bottom-right-radius: 6px;
    border-width: 0 1px 1px 0;
    box-shadow: 2px 0px 0 #ECECEC;
}
.competition .tabrow li:after {
    right: -7px;
    border-bottom-left-radius: 6px;
    border-width: 0 0 1px 1px;
    box-shadow: -2px 0px 0 #ECECEC;
}
.competition .tabrow li.selected {
    background: #FFF;
    color: #000;
    z-index: 2;
    border-bottom-color: #FFF;
}
.competition .tabrow li.selected:before {
    box-shadow: 2px 2px 0 #FFF;
}
.competition .tabrow li.selected:after {
    box-shadow: -2px 2px 0 #FFF;
}
.competition .tabrow a {
    color: #555;
    text-decoration: none;
}
.competition .tabrow .non-active {
    color: #CCCCCC;
}

@media screen and (max-width: 740px) {
    .competition .tabrow {
        position: initial;
    }

    .competition .tabrow:after {
        border-bottom: 0px;
    }
    .competition .tabrow li:before,
    .competition .tabrow li:after {
        content: initial;
    }

    .competition .tabrow li {
        display: block;
        position: initial;
        border-bottom-left-radius: 6px;
        border-bottom-right-radius: 6px;
        padding: 5px 20px;
    }

    .competition .tabrow li.selected {
        border-bottom-color: #AAA;
    }
}


.competition .div-block {
    display: block;
}

/* デフォルト非表示にするdivブロック用 */
.competition .div-none {
    display: none;
}

/*　コンクール概要のデザイン調整 */


/* ul, li 要素のデザイン調整 */
.competition .default, .default li {
    padding: 0px;
    margin: 0px;
}

.competition .default li {
    list-style-type: none !important;
    list-style-image: none !important;
    margin: 5px 0px 5px 0px !important;
}

.competition .default .normal-0 {
    padding-left: 0px;
}

.competition .default .normal-1 {
    padding-left: 20px;
}

.competition .default .normal-2 {
    padding-left: 40px;
}

.competition .default .normal-3 {
    padding-left: 60px;
}

.competition .default .normal-4 {
    padding-left: 80px;
}

.competition .default .normal-5 {
    padding-left: 100px;
}

.competition .default .indent-0 {
    position: relative;
    padding-left: 20px;
}

.competition .default .indent-0:after,
.competition .default .indent-0:before {
    margin-left: 0px;
}

.competition .default .indent-1 {
    position: relative;
    padding-left: 40px;
}

.competition .default .indent-1:after,
.competition .default .indent-1:before {
    margin-left: 20px;
}

.competition .default .indent-2 {
    position: relative;
    padding-left: 60px;
}

.competition .default .indent-2:after,
.competition .default .indent-2:before {
    margin-left: 40px;
}

.competition .default .indent-3 {
    position: relative;
    padding-left: 80px;
}

.competition .default .indent-3:after,
.competition .default .indent-3:before {
    margin-left: 60px;
}

.competition .default .indent-4 {
    position: relative;
    padding-left: 100px;
}

.competition .default .indent-4:after,
.competition .default .indent-4:before {
    margin-left: 80px;
}

.competition .default .indent-5 {
    position: relative;
    padding-left: 120px;
}

.competition .default .indent-5:after,
.competition .default .indent-5:before {
    margin-left: 100px;
}

.competition .default .triangle:before {
    content: ''; 
    display: block; 
    position: absolute; 
    box-shadow: 0 0 2px 2px rgba(255,255,255,0.2) inset;
    top: 3px; 
    left: 2px; 
    height: 0; 
    width: 0; 
    border-top: 6px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 9px solid #aaa;
}

.competition .default .check:after, .competition .default .check:before {
    content: ''; 
    display: block; 
    position: absolute; 
    top: 4px; 
    left: 8px; 
    height: 11px; 
    width: 4px; 
    background: #aaa; 
    border-radius: 10px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}

.competition .default .check:before {
    top: 8px; 
    left: 3px;
    height: 8px; 
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
}

.competition .default .circle:after {
    content: '';
    display: block; 
    position: absolute; 
    background: #aaa;
    width: 5px;
    height: 5px; 
    top: 7px; 
    left: 5px; 
    border-radius: 5px;
}

.competition .default .arrow:before {
    content: ''; 
    height: 0; 
    width: 0; 
    display: block; 
    border: 5px transparent solid; 
    border-right-width: 0; 
    border-left-color: #aaa; 
    position: absolute; 
    top: 5px; 
    left: 8px;
}

.competition .default .arrow:after {
    content: ''; 
    height: 2px; 
    width: 10px; 
    display: block; 
    background: #aaa; 
    position: absolute; 
    top: 9px; 
    left: 0px;
}

.competition .default .rhombus:after {
    content: '';
    display: block; 
    position: absolute; 
    background: #aaa;
    width: 9px;
    height: 9px; 
    top: 5px; 
    left: 5px; 
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    margin-left: 40px;
}

@media screen and (max-width: 639px) { 
    .competition .default .normal-1 {
        padding-left: 10px;
    }

    .competition .default .normal-2 {
        padding-left: 20px;
    }

    .competition .default .normal-3 {
        padding-left: 30px;
    }

    .competition .default .normal-4 {
        padding-left: 40px;
    }

    .competition .default .normal-5 {
        padding-left: 50px;
    }

    .competition .default .indent-0 {
        position: relative;
        padding-left: 10px;
    }

    .competition .default .indent-0:after,
    .competition .default .indent-0:before {
        margin-left: 0px;
    }

    .competition .default .indent-1 {
        position: relative;
        padding-left: 30px;
    }

    .competition .default .indent-1:after,
    .competition .default .indent-1:before {
        margin-left: 10px;
    }

    .competition .default .indent-2 {
        position: relative;
        padding-left: 40px;
    }

    .competition .default .indent-2:after,
    .competition .default .indent-2:before {
        margin-left: 20px;
    }

    .competition .default .indent-3 {
        position: relative;
        padding-left: 50px;
    }

    .competition .default .indent-3:after,
    .competition .default .indent-3:before {
        margin-left: 30px;
    }

    .competition .default .indent-4 {
        position: relative;
        padding-left: 60px;
    }

    .competition .default .indent-4:after,
    .competition .default .indent-4:before {
        margin-left: 40px;
    }

    .competition .default .indent-5 {
        position: relative;
        padding-left: 70px;
    }

    .competition .default .indent-5:after,
    .competition .default .indent-5:before {
        margin-left: 50px;
    }
}

/* 採点結果画像のデザイン調整 */
.competition .results_img  {
    box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.8);
}

/* コンクールのブログカードデザイン調整 */
.competition .blog-card-excerpt {
    max-height: none;
}

/* コンクールチラシのデザイン調整 */
.competition .leaflet {
    display: inline-block;
    width: 300px;
    margin: 15px 10px 10px 0px;
    text-align: center;
}

.competition .leaflet img {
    box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.8);
}

@media screen and (max-width: 716px) {
    .concert .leaflet {
        width: 100%;
    }
}

/* コンクールタイムテーブルのデザイン調整 */
.competition .detail {
    display: inline-block;
    width: 364px;
    vertical-align: top;
    margin-bottom: 10px;
}

.competition .detail_list {
    margin: 0px;
}

.competition .detail_list td {
    border: none;
}

.competition .detail_list a {
    text-decoration: none;
}

.competition .detail_list .title {
    width: 49px;
    font-size: 12.155px;
    font-weight: bold;
    color: #aaa;
    text-align: right;
    vertical-align: top;
}

.competition .detail_list .body {
    display: inline-block;
}

.competition .detail_list .access {
    font-size: smaller;
}

.competition .detail_list .ticket_detail {
    margin: 0;
}

.competition .detail_list .ticket_detail td {
    padding: 0;
}

.competition .detail_list .ticket_detail .price {
    text-align: right;
}

@media screen and (max-width: 716px) {
    .competition .detail {
        width: 100%;
    }
}

/* タイムスケジュール：演奏者写真のデザイン調整 */
.competition .program .players_block {
    display: inline-block;
    text-align: center;
    padding: 10px 5px;
}

.competition .program .players_block img {
    box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.8);
}

/* 審査結果：審査結果表示用のスタイル */
.competition .final_results .thumbnail {
    display: inline-block;
}

.competition .final_results img {
    box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.8);
}

.competition .final_results .list {
    display:inline-block;
    vertical-align: top;
    margin: 20px 0px 0px 0px;
}

@media screen and (max-width: 705px) { 
    .competition .final_results .thumbnail {
    }

    .competition .final_results img.alignleft{
        display: block;
        float: none;
    }

    .competition .final_results img.alignright{
        display: block;
        float: none;
    }
}

.competition .medal {
    /* サイズ指定 */        
    width: 50px;
    height: 50px;
    /* 角を丸くする */
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    /* 文字を上下中央に */
    text-align: center;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.competition .gold {
    /* 背景色 */
    border: 1px solid #cc9900;
    background: #ff9900;
    background: -webkit-gradient(linear, left top, right bottom, from(#cc9900), color-stop(0.2, #ffffcc), color-stop(0.6, #cc9900), color-stop(0.8, #ffffcc), to(#cc9900));
    margin: auto;
}

.competition .silver {
    /* 背景色 */
    border: 1px solid #666666;
    background: #ff9900;
    background: -webkit-gradient(linear, left top, right bottom, from(#333333), color-stop(0.5, #ffffff),to(#333333));
    margin: auto;
}

.competition .copper {
    /* 背景色 */
    background-color: #34ac98;
    border: 1px solid #6c2e16;
    background: #ff9900;
    background: -webkit-gradient(linear, left top, right bottom, from(#97461a), color-stop(0.3, #fbd8c5), color-stop(0.8, #6c2e16), to(#efdbcd));
    margin: auto;
}

.competition .organization_name {
    width: 40%;
}

.competition .song_title {
    width: 45%;
}

.competition .award_name {
    width: 8%;
}

@media screen and (max-width:740px) {
    .competition .organization_name {
        width: 90%;
    }

    .competition .song_title {
        width: 90%;
    }

    .competition .award_name {
        width: 90%;
    }
}

.competition .italic {
    font-style: italic;
}

.competition .large {
    font-size: large;
}

/* トップページスライダーバナーの調整 */
.metaslider #metaslider_container_775 .flexslider {
    margin: 0;
}

.metaslider-775 .flex-control-nav {
    position: relative;
    bottom: -10px;
    float: right;
    width: auto;
}

.metaslider-775 .flex-control-nav li a {
    margin: 0 3px;
}

.metaslider-775 .flex-control-paging li a {
    background: #d5d5d5;
    box-shadow: 1px 1px 5px #777 inset
}

.metaslider-775 .flex-control-paging li a:hover {
    background: rgba(0,0,0,0.5);
}

.metaslider-775 .flex-control-paging li a.flex-active {
    background: #db0028
}

.metaslider-775 .slides img {
    box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.8);
}

@media screen and (max-width: 639px) {
    .metaslider .caption-wrap .caption {
        font-size: small;
    }
}

@media screen and (max-width: 550px) {
    .metaslider .caption-wrap .caption {
        font-size: 10px;
    }
}

@media screen and (max-width: 400px) {
    .metaslider-775 .flex-control-nav {
        float: initial;
    }

    .metaslider .caption-wrap .caption {
        font-size: 8px;
    }
}

/* トップページメイン領域のデザイン調整 */
.page-id-2 #main {
    padding: 0px 29px;
    border: none;
}

/* トップページのブログカードのデザイン調整 */
.page-id-2 .internal-blog-card {
    border: 2px solid #000;
    box-shadow:1px 1px 1px 1px rgba(0, 0, 0, 0.4);
}

/* トップページ演奏会情報のデザイン調整 */
.ai1ec_wdget {
    display: inline-block;
    margin: 0px 6px;
    text-align: center;
    width: 320px;
    height: 365px;
    border: 2px solid #000000;
    box-shadow:1px 1px 1px 1px rgba(0, 0, 0, 0.4);
    border-radius: 15px 15px 10px 10px;
}

.ai1ec_wdget .group {
    background-color: #000;
    border-radius: 10px 10px 0px 0px;
}

.ai1ec_wdget .group a {
    text-decoration: none;
}

.ai1ec_wdget .group a:link,
.ai1ec_wdget .group a:visited,
.ai1ec_wdget .group a:hover,
.ai1ec_wdget .group a:active {
    color: #fff;
}

.ai1ec_wdget .thumbnail {
    height: 176px;
    overflow: hidden;
}

.ai1ec_wdget .thumbnail_no-image {
    height: 176px;
    overflow: hidden;
}

.ai1ec_wdget .title {
    height: 50px;
    padding: 0px 10px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.ai1ec_wdget .title a {
    color: #000;
    text-decoration: none;
}

.ai1ec_wdget .venue {
    height: 54px;
    padding: 0px 10px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.ai1ec_wdget .no-event {
    color: #888;
}

.ai1ec_wdget .italic {
    font-style: italic;
}

@media screen and (max-width: 1110px) { 
    .ai1ec_wdget {
        width: 210px;
        height: 325px;
    }

    .ai1ec_wdget .thumbnail {
        height: 114px;
    }

    .ai1ec_wdget .thumbnail_no-image {
        height: 114px;
    }

    .ai1ec_wdget .title {
        height: 75px;
    }

    .ai1ec_wdget .venue {
        height: 54px;
        font-size: small;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
    }

    .ai1ec_wdget .no-event {
        font-size: small;
    }
}

@media screen and (max-width: 740px) { 
    .ai1ec_wdget {
        display: block;
        width: 320px;
        height: auto;
        margin: auto;
        margin-bottom: 20px;
    }

    .ai1ec_wdget .thumbnail {
        height: 180px;
    }

    .ai1ec_wdget .thumbnail_no-image {
        height: auto;
    }

    .ai1ec_wdget .title {
        height: auto;
    }

    .ai1ec_wdget .venue {
        height: auto;
    }

}

@media screen and (max-width: 400px) { 
    .ai1ec_wdget {
        width: 98%;
    }
}

/* トップページ h2 のデザイン調整 */
.article h2 {
    border: none;
    border-bottom: 3px dotted #ccc;
    margin: 0px;
    padding: 0px;
    margin-bottom: 20px;
}

.top_ruby {
    color: #888;
}

@media screen and (max-width: 740px) { 
    .article h2 {
        padding-left: 10px;
    }

    .top_ruby {
        padding-left: 10px;
    }
}

/* トップページ新着情報のデザイン調整 */
div.wn-item .wn-cat {
/*  float: left; */
    display: inline-block;
    vertical-align: top;
    width: 120px;
    border-radius: 5px;
    color: #FFF;
    text-align: center;
    font-size: small;
    font-weight: bold;
    margin: 0px 10px;
}

div.wn-item .wn-kyoto {
    background: -moz-linear-gradient(top,#000000 0%,#000000);
    background: -webkit-gradient(linear, left top, left bottom, from(#000000), to(#000000));
}

div.wn-item .wn-tokyo {
    background: -moz-linear-gradient(top,#3c7bc7 0%,#2c5d98);
    background: -webkit-gradient(linear, left top, left bottom, from(#3c7bc7), to(#2c5d98));
}

div.wn-item .wn-competition {
    background: -moz-linear-gradient(top,#cb3d3a 0%,#9b2d2a);
    background: -webkit-gradient(linear, left top, left bottom, from(#cb3d3a), to(#9b2d2a));
}

div.wn-item .wn-other {
    background: -moz-linear-gradient(top,#9bc348 0%,#769535);
    background: -webkit-gradient(linear, left top, left bottom, from(#9bc348), to(#769535));
}

@media screen and (max-width: 1110px) { 
    div.wn-item .wn-article {
        width: 100%;
    }
}

/* トップページピックアップのデザイン調整 */
.article .pickup h3 {
    margin-top: 0px;
    width: 150px;
}

.contents_detail {
    float: right;
}

.contents_detail_bottom {
    display: none;
    margin: .75em 0 .75em 0;
    position: relative;
    text-align: center;
    width: 100%;
    height: 30px;
}

.contents_detail_bottom a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: #FFFFFF;
    text-decoration: none;
    background: -moz-linear-gradient(top,#A3A3A3 0%,#3B3B3B 50%,#242424 50%,#000);
    background: -webkit-gradient(linear, left top, left bottom, from(#A3A3A3),color-stop(0.50, #3B3B3B),color-stop(0.50, #242424),to(#000));
    color: #DDD;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border: 1px solid #000;
    -moz-box-shadow: 0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);
    -webkit-box-shadow: 0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);
    text-shadow: 0px -1px 0px rgba(000,000,000,1),0px 1px 0px rgba(255,255,255,0.2);
}

.top_ajmec {
    display: inline-block;
    width : 49%;
    vertical-align: top;
    margin-right: 14px;
}

.post-2 .top_ajmec .blog-card-wide {
    width: auto;
    margin: 0px 0px 15px 0px;
}

.post-2 .top_ajmec .blog-card-title {
    min-height: 33px;
}

.post-2 .top_ajmec .blog-card-excerpt {
    border-radius: 5px;
    background-color: #FCF8E3;
    padding: 10px;
    min-height: 57px;
}
.post-2 .top_ajmec .blog-card-thumbnail img {
    box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.8);
}

.top_video {
    display: inline-block;
    width : 49%;
    vertical-align: top;
}
.top_video .video-container {
    box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.8);
}

@media screen and (max-width: 1110px) { 
    .top_ajmec {
        width: 44%;
    }

    .top_video {
        width: 53%;
    }

    .post-2 .top_ajmec .blog-card-excerpt {
        display: none;
    }

    .post-2 .top_ajmec .blog-card {
        min-height: 107px;
    }

    .post-2 .top_ajmec img.blog-card-thumb-image {
        width: 77px;
        height: 77px;
    }
}

@media screen and (max-width: 740px) { 
    .article .pickup h3 {
        width: auto;
    }

    .contents_detail {
        display: none;
    }

    .contents_detail_bottom {
        display: block;
    }

    .top_ajmec {
        width: 100%;
    }

    .top_video {
        width: 100%;
    }

    .post-2 .top_ajmec .blog-card-excerpt {
        display: block;
    }

    .post-2 .top_ajmec .blog-card {
        min-height: 145px;
    }

    .post-2 .top_ajmec img.blog-card-thumb-image {
        width: auto;
        height: auto;
    }

    .top_video {
        margin-bottom : 20px;
    }

    .product_detail {
        margin: .75em 0 .75em 0;
        position: relative;
        text-align: center;
        width: 100%;
        height: 30px;
    }

    .product_detail a {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        color: #FFFFFF;
        text-decoration: none;
        background: -moz-linear-gradient(top,#A3A3A3 0%,#3B3B3B 50%,#242424 50%,#000);
        background: -webkit-gradient(linear, left top, left bottom, from(#A3A3A3),color-stop(0.50, #3B3B3B),color-stop(0.50, #242424),to(#000));
        color: #DDD;
        border-radius: 4px;
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        border: 1px solid #000;
        -moz-box-shadow: 0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);
        -webkit-box-shadow: 0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);
        text-shadow: 0px -1px 0px rgba(000,000,000,1),0px 1px 0px rgba(255,255,255,0.2);
    }
}

@media screen and (max-width: 400px) {
    .post-2 .top_ajmec .blog-card {
        min-width: initial;
    }

    .post-2 .top_ajmec .blog-card-excerpt {
        max-height: initial;
    }

    .post-2 .top_ajmec img.blog-card-thumb-image {
        width: 85px;
        height: 85px;
    }

    .top_ajmec .blog-card-thumbnail {
        float: initial;
        text-align: center;
    }
    
    .top_ajmec .blog-card-content {
        margin-right: 0px;
    }
    
    .top_ajmec .blog-card img.blog-card-thumb-image {
        display: initial;
        margin-bottom: 0px;
    }
}

/* トップページ物販情報のデザイン調整 */
.top_product .blog-card {
    display: inline-block;
    width : 32%;
    vertical-align: top;
}

.top_product .blog-card-title {
    height: 100px;
}

.top_product .blog-card-excerpt {
    float: left;
    max-height: 160px;
}

.top_product .blog-card-excerpt div {
    position: relative;
    min-height: 57px;
    background-color: #f2f2f2;
    margin-top: 10px;
    padding: 10px;
    position: relative;
    border-radius: 5px;
}

.top_product .blog-card-excerpt div:before {
    content: " ";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-width: 16px 16px 0 0;
    border-style: solid;
    border-color: #fff;
    border-top-color: #bfbfbf;
}

.top_product .blog-card-excerpt .sp-warning {
    float: left;
    width: 270px;
}

.top_product .blog-card {
    margin: 0px 0px 20px 8px;
}

.post-2 .top_product .blog-card-thumbnail img {
    box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.8);
}

@media screen and (max-width: 1110px) { 
    .top_product .blog-card {
        display: block;
        width : 100%;
        min-width: initial;
        min-height: initial;
    }
    .top_product .blog-card-content {
        margin-bottom: 0px;
    }

    .top_product .blog-card-title {
        height: auto;
    }

    .top_product .blog-card-excerpt {
        float: none;
        max-height: none;
    }

    .top_product .blog-card-excerpt div {
        display: block;
    }

    .top_product .blog-card-excerpt .sp-warning {
        margin-bottom: 10px;
        width: 85%;
    }

}

@media screen and (max-width: 400px) {
    .top_product .blog-card-thumbnail {
        float: initial;
        text-align: center;
    }
    
    .top_product .blog-card-content {
        margin-right: 0px;
    }
    
    .top_product .blog-card img.blog-card-thumb-image {
        display: initial;
        margin-bottom: 0px;
    }

}

/* 
 * 英語版ウェブサイトのスタイルはここから定義する
 */

/* TOPページの動画デザイン調整 */
.top_video_en .video-container {
    margin: auto;
    max-width: none;
}

/* TOPページのコンクール情報デザイン調整 */
.top_ajmec_en .blog-card {
    min-width: initial;
}

.top_ajmec_en .blog-card-content {
    margin-bottom: 0px;
}

.top_ajmec_en .blog-card-excerpt {
    max-height: none;
}

@media screen and (max-width: 400px) {
    .top_ajmec_en .blog-card-thumbnail {
        float: initial;
        text-align: center;
    }
    
    .top_ajmec_en .blog-card-content {
        margin-right: 0px;
    }
    
    .top_ajmec_en .blog-card img.blog-card-thumb-image {
        display: initial;
        margin-bottom: 0px;
    }
}

/* TOPページの物販情報デザイン調整 */
.top_product_en .blog-card {
    min-width: initial;
}

.top_product_en .blog-card-content {
    margin-bottom: 0px;
}

.top_product_en .blog-card-excerpt {
    max-height: none;
}

@media screen and (max-width: 400px) {
    .top_product_en .blog-card-thumbnail {
        float: initial;
        text-align: center;
    }
    
    .top_product_en .blog-card-content {
        margin-right: 0px;
    }
    
    .top_product_en .blog-card img.blog-card-thumb-image {
        display: initial;
        margin-bottom: 0px;
    }
}

/* チケット申し込み画面の確認修正ボタン */
.submit--orange {
  color: #fff;
  background-color: #eb6100;
  border-bottom: 5px solid #b84c00;
}
.submit--orange:hover {
  margin-top: 3px;
  color: #fff;
  background: #f56500;
  border-bottom: 2px solid #b84c00;
}
.submit--shadow {
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
  box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
}
.submit {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

/* =========================================
   Xアイコン - 他SNSアイコンと完全一致
   （黒背景＋白X、正方形、角丸20%）
   ========================================= */

/* UL/LI の並び基準を統一（他アイコンと高さがズレるのを防ぐ） */
.snsp,
.snsp li,
.snsp li a {
  line-height: 1;           /* 高さの基準を1に */
  vertical-align: middle;   /* 中央揃え（基本） */
}

.snsp .x-page {
  display:inline-block;
  margin: 0 0px; /* 他アイコンと左右間隔合わせ */
  vertical-align:middle;
}

/* 外側のボタン形状 */
.snsp .x-page .x-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 1.7em;           /* Facebookとほぼ同寸 */
  height:1.7em;
  background-color:#000;   /* 黒背景 */
  border-radius:20%;       /* 他アイコンと同じ角丸 */
  text-decoration:none;
  vertical-align:middle;
  line-height:1;
  transition:opacity .2s ease;
}

/* 中のXロゴ */
.snsp .x-page .x-link svg {
  width: 0.80em;
  height:0.80em;
  display:block;
  fill:#fff;               /* 白いX */
}

/* ホバー時（他SNSと同じ薄透明変化） */
.snsp .x-page .x-link:hover,
.snsp .x-page .x-link:focus {
  opacity:0.8;
  background-color:#000;   /* 常に黒維持 */
}

/* テーマによる強制色指定を打ち消し */
.snsp .x-page .x-link svg path {
  fill:#fff !important;
}

/* ===== Instagram をCSSだけで描画（icon-fontを無効化） ===== */

/* 並びのベース（必要なら調整） */
.snsp .instagram-page { display:inline-block; vertical-align:middle; }
.snsp .instagram-page a{
  display:inline-flex; align-items:center; justify-content:center;
  width:1.7em; height:1.7em; line-height:1; text-decoration:none;
}

/* スパン自体を描画キャンバスにする */
.snsp .instagram-page .icon-instagram-logo{
  position:relative; display:block; width:100%; height:100%;
  border-radius:20%;
  /* 右上の白いフラッシュ点＋本体グラデーション */
  background:
    radial-gradient(circle at 73% 27%, #fff 0 6%, transparent 7%),
    radial-gradient(circle at 30% 107%,
      #fdf497 0%, #fdf497 5%,
      #fd5949 45%, #d6249f 60%, #285AEB 90%) !important;

  /* 既存のアイコンフォント指定を無効化 */
  font: 0/0 a !important;           /* 文字を消す */
  color: transparent !important;
  text-shadow: none !important;
  background-clip: padding-box;
  overflow:hidden;
}

/* アイコンフォントが content で描く場合を打ち消し */
.snsp .instagram-page .icon-instagram-logo::before,
.snsp .instagram-page .icon-instagram-logo::after{
  /* いったん全テーマ指定より強くする */
  content:"" !important;
}

/* カメラ外枠（白い四角） */
.snsp .instagram-page .icon-instagram-logo::before{
  position:absolute; inset:0;       /* まず基準を確保 */
  width:55%; height:55%;            /* 実サイズ */
  left:50%; top:50%; transform:translate(-50%, -50%);
  border:2px solid #fff; border-radius:25%; box-sizing:border-box;
  z-index:1;
}

/* レンズ（白い円） */
.snsp .instagram-page .icon-instagram-logo::after{
  position:absolute;
  width:18%; height:18%;
  left:33%; top:33%;
  border:2px solid #fff; border-radius:50%; box-sizing:border-box;
  z-index:1;
}

/* ホバーで少し明るく */
.snsp .instagram-page a:hover,
.snsp .instagram-page a:focus{
  filter:brightness(1.1);
  opacity:.95;
}

/* ===============================
   Instagram アイコン（表示できていた版をベースに調整）
   =============================== */

.snsp .instagram-page .icon-instagram-logo {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 22%;
  background:
    radial-gradient(circle at 74% 26%, #fff 0 7%, transparent 8%) , /* フラッシュ点 */
    radial-gradient(circle at 30% 107%,
      #fdf497 0%, #fdf497 5%,
      #fd5949 45%, #d6249f 60%, #285AEB 90%) !important;
  font: 0/0 a !important;
  color: transparent !important;
  text-shadow: none !important;
  overflow: hidden;
}

/* カメラの外枠 */
.snsp .instagram-page .icon-instagram-logo::before {
  content: "" !important;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 60%;                /* 元の55%から少し大きくして公式比率に近づける */
  height: 60%;
  transform: translate(-50%, -50%);
  border: 2.5px solid #fff;  /* 少し太めの線で明瞭に */
  border-radius: 22%;        /* Instagram公式風の丸角 */
  box-sizing: border-box;
  z-index: 1;
}

/* レンズ部分（中央の円） */
.snsp .instagram-page .icon-instagram-logo::after {
  content: "" !important;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 32%;                /* 公式比率に近いレンズ径 */
  height: 32%;
  transform: translate(-50%, -50%);
  border: 2.5px solid #fff;
  border-radius: 50%;
  box-sizing: border-box;
  z-index: 1;
}

/* ホバー */
.snsp .instagram-page a:hover,
.snsp .instagram-page a:focus {
  filter: brightness(1.1);
  opacity: 0.95;
}


/* ===============================
   YouTube アイコン（CSSのみ・公式風）
   =============================== */

.snsp .youtube-page {
  display:inline-block;
  margin: 0 4px 0 0px;
  vertical-align:middle;
}

/* 外枠（赤い角丸四角） */
.snsp .youtube-page a {
  position: relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 1.7em;
  height: 1.7em;
  border-radius: 20%;
  background: linear-gradient(to bottom, #FF0000 0%, #CC0000 100%);
  text-decoration: none;
  vertical-align: middle;
  overflow: hidden;
  transition: opacity .25s ease, filter .25s ease;
}

/* 再生マーク（白い三角形） */
.snsp .youtube-page a::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-45%, -50%); /* 少し右寄りに */
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.35em 0 0.35em 0.55em;  /* 高さ×幅 */
  border-color: transparent transparent transparent #fff;
}

/* ホバー時：少し明るく */
.snsp .youtube-page a:hover,
.snsp .youtube-page a:focus {
  filter: brightness(1.2);
  opacity: 0.9;
}

/* ▼YouTube：テーマのアイコンフォントを無効化 */
.snsp .youtube-page .icon-youtube-logo {
  display: none !important;          /* スパン自体を非表示にして確実に潰す */
}
.snsp .youtube-page .icon-youtube-logo::before {
  content: none !important;
}

/* 念のため：ULにリストマーカーが出ないように */
.snsp { list-style: none; }

/* ▼YouTube（CSSのみ・公式風） */
.snsp .youtube-page a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7em;
  height: 1.7em;
  border-radius: 20%;
  background: linear-gradient(to bottom, #ff0000 0%, #cc0000 100%);
  text-decoration: none;
  vertical-align: middle;
  overflow: hidden;      /* 三角はボックス内に収める */
}

/* 再生三角（白） */
.snsp .youtube-page a::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translate(-42%, -50%);           /* わずかに右寄せ */
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.36em 0 0.36em 0.58em;       /* 高さ×幅（比率は公式寄り） */
  border-color: transparent transparent transparent #fff;
}

/* ホバー */
.snsp .youtube-page a:hover,
.snsp .youtube-page a:focus {
  filter: brightness(1.12);
  opacity: 0.95;
}



